본문 바로가기

728x90
반응형

전체 글

(41)
[데이터베이스] 데이터베이스 기초 데이터베이스 시험대비 SQL 주요 특징 4가지 관계형 DBMS에 접근하는 유일한 언어 ANSI-SQL 미국 산업 표준화 기구 SQL english like 비절차적언어 SQL 분류, 카테고리 DDL : Data Definition Language CREATE, ALTER, DROP, TRUNCATE, RENAME DML : Date Manipulation Language INSERT, UPDATE, DELETE, MERGE Query : 질의어 SELECT DCL : Data Control Language GRANT, REVOKE TCL : Transaction Control Language COMMIT, ROLLBACK, SAVEPOINT Connection, Session user가 login 할 때..
[안드로이드] Coroutine AsyncTask 손쉬운 비동기 프로그래밍 메모리 누수 등 문제 대체제로 코루틴 권장 루틴 메인루틴 서브루틴 코루틴 프로그램의 흐름 코루틴과 스레드 메모리 구조의 차이 할당 / 공유 수행 방식의 차이 선점형 / 비선점형 → 코루틴은 동시성은 있지만 병행성은 없다. 실제로 두개 이상의 스레드에서 병렬적으로 실행되지는 않는다. 다만, 스레드 전환이 빠르다. 코루틴의 장점 메모리 / 오버헤드 → 코루틴은 분리된 stack 메모리를 사용하지 않고 공유된 Heap 을 사용하므로 Context Switching 을 할 필요가 없으므로 사용하는 메모리가 적어지고 오버헤드도 줄어든다 → 하나의 스레드 안에서 여러개의 코루틴을 사용할 수 있으므로 불필요하게 스레드를 여러개 생성할 필요가 없어진다. 코루틴의 사용 susp..
[안드로이드] 안드로이드 HTTP 통신과 역사 안드로이드 HTTP 통신 소켓 연결 소켓 : 네트워크 상의 프로그램 사이에서 일어나는 양방향 통신 중 한 쪽의 엔드 포인트 클라이언트와 서버가 특정 포트를 통해 연결을 계속 유지 → 동영상 스트리밍, 온라인 게임 HTTP 연결 정의 HyperText Transfer Protocol 80번 포트를 사용하여 웹 상에서 정보를 주고 받을 수 있는 프로토콜 동작 방식 클라이언트가 서버에 헤더와 바디로 이루어진 메시지를 요청 서버는 이 요청을 처리하고 응답코드와 함께 응답을 반환 특징 Connectionless Stateless → 용건이 있을 경우만 연결하고 용건이 끝나면 연결을 끊음 → 서버가 클라이언트를 식별할 수 없으므로 클라이언트를 기억해야할 경우 세션 또는 토큰을 이용 RESTful API REpres..
[안드로이드] 싱글턴 패턴 (Singleton Pattern) 싱글턴 패턴 // java public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { // 생성자는 외부에서 호출못하게 private 으로 지정해야 한다. } public static Singleton getInstance() { return instance; } public void say() { System.out.println("hi, there"); } } 클래스의 인스턴스를 단 하나만 만들어야 하는 경우 // kotlin object DBHandler {...} var dbHandler = DBHandler class DBHandler private constructor(con..
[객체지향의 사실과 오해] 5장. 책임과 메시지 5장. 책임과 메시지 의도는 “메시징”이다. 훌륭하고 성장 가능한 시스템을 만들기 위한 핵심은 모듈 내부의 속성과 행동이 어떤가보다는 모듈이 어떻게 커뮤니케이션하는가에 달려있다. - 엘런 케이 명확한 책임과 역할을 지닌 참가자들이 협력에 참여해야 한다는 것이다. 이것은 객체의 세계에서도 마찬가지다. 훌륭한 객체지향의 세계는 명확하게 정의된 역할과 책임을 지닌 객체들이 상호 협력하는 세계다. 역할과 책임이 흐릿할수록 발작을 일으키는 객체를 도와줄 어떤 협력자도 찾지 못할 것이다. 자율적인 책임 설계의 품질을 좌우하는 책임 객체지향 공동체를 구성하는 기본단위는 ‘자율적인’ 객체다. 객체들은 애플리케이션의 기능을 구현하기 위해 협력하고, 협력 과정에서 각자 맡은 바 책임을 다하기 위해 자율적으로 판단하고 행동..
[클린코드] 공통관심사항(cross-cutting concern)과 AOP(Aspect Oriented Programming) 공통 관심 사항 (cross cutting concern) 과 AOP (aspect oriented programming) 어플리케이션은 다양한 공통 기능을 필요로 한다. 로깅과 같은 기본적인 기능에서부터 트랜잭션이나 보안과 같은 기능에 이르기까지 어플리케이션 전반에 걸쳐 적용되는 공통 기능이 존재한다. 이들 공통 기능들은 어떤 특정 모듈에서만 필요로 하는 것이 아니라, 어플리케이션 전반에 걸쳐 필요한 기능이다. 또한, 이런 공통 기능들은 어플리케이션의 핵심 비즈니스 로직과는 구분되는 기능이다. 핵심 비즈니스 기능과 구분하기 위해 공통 기능을 공통 관심 사항(cross-cutting concern)이라고 표현하며, 핵심 로직을 핵심 관심 사항(core concern)이라고 표현한다. 공통 관심 사항들을 ..
[객체지향의 사실과 오해] 4장. 역할, 책임, 협력 4장. 역할, 책임, 협력 💡 우리 모두를 합친 것보다 더 현명한 사람은 없다. - 켄 블랜차드 인간이 어떤 본질적인 특성을 지니고 있느냐가 아니라 어떤 상황에 처해 있느냐가 인간의 행동을 결정한다. 즉, 개인이 처해 있는 정황 또는 문맥이 인간의 행동 방식을 결정한다는 것이다. 인간의 행동을 결정하는 문맥은 타인과의 협력이다. 협력이라는 문맥을 무시한채 각 개인의 반응을 독립적으로 예상하고 관찰하는 것은 무의미하다. 협력에 얼마나 적절한지에 따라 행동의 적합성이 결정되며 협력이라는 문맥이 인간의 행동 방식을 결정하는 것이다. 객체의 세계에서도 협력이라는 문맥이 객체의 행동 방식을 결정한다. 중요한 것은 개별 객체가 아니라 객체들 사이에 이뤄지는 협력이다. 객체지향 설계의 전체적인 품질을 결정하는 것은 ..

728x90
반응형