1.1 디자인 패턴 : 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 "규약"형태로 만들어 놓은 것 1.1.1 싱글톤 패턴(Singleton Pattern) : 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 : 객체의 인스턴스가 오직 1개만 생성되는 패턴 : 보통 DB연결 모듈에 많이 사용 장...
디자인패턴 : 싱글톤패턴에 등장한 SOLID원칙에 대해 정리했다. 출처 : haero_kim님 글 SOLID 객체 지향 설계 : 소프트웨어 작업에서 프로그래머가 소스 코드가 읽기 쉽고 확장하기 쉽게 될 때까지 소프트웨어 소스 코드를 리팩토링하여 코드 냄새를 제거하기 위해 적용될 수 있는 지침 >1. SRP(Single Responsivility Princ...
1.1.2 팩토리 패턴(Factory Pattern) : 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴 : 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴 > - 상위 클래스와 하위 클래스가 분리되기 때문에 느슨한 결합을 가짐 > - 상위 클래스는 인...
SE(Standard Edition) 및 EE(Enterprise Edition)은 Java 프로그래밍 언어로 애플리케이션 서버를 프로그래밍하기 위해 폭넓게 사용되는 플랫폼 자바 프로그래밍 언어의 플랫폼 > 1. 표준 에디션의 자바 플랫폼(Java SE) >2. 엔터프라이즈 에디션의 자바 플랫폼(Java EE) >3. 마이크로 에디션의 자바 플랫폼(Jav...
- 동기 : 어떤 요청을 보낸 뒤, 그 요청의 결과값을 얻기까지 작업을 멈춤 >- 비동기 : 어떤 요청을 보낸 뒤, 그 요청의 결과값을 얻기까지 멈추지 않고 다른 일을 수행하는 것 Process : 프로세스 즉, 프로세스란 현재 실행중인 프로그램을 의미 (완전히 독립적인 수행단위) Thread : 스레드 스레드는 공통적으로는 code, data, h...
Garbage Collection : 가비지 컬렉션 : 자바의 메모리 관리방법 중 하나로 JVM의 Heap 영역에서 동적으로 할당했던 메모리 영역 중 필요없게 된 메모리 영역을 주기적으로 삭제하는 프로세스 C나 C++에서는 가비지 컬렉션 없이 프로그래머가 수동으로 메모리 할당과 해제를 하나하나 해줘야하지만 Java는 JVM에 탑재되어 있는 가비지 컬렉터가...
DI(Dependency Injection) Dependency 공부를 하다보면 의존성 의존성 굉장히 자주 나옴 근데 "A가 B에 의존한다" 라는 표현은 나한테 굉장히 개솔개솔 추상적인 표현이다. 토비의 스프링에서 의존관계에 대해 정의한 글에는 >의존대상 B가 변하면, 그것이 A에 영향을 미친다. 라고 나와있는데 설명하면 B의 기능이 추가 또는 변경되거...
사실 나는 객체를 그냥 간단하게 현실세계에 존재하는 것을 일반화 시킨 것?! 속성과 행위를 가진 클래스!! 정도로만 이해하고 있었다. 오늘 포스팅을 통해 객체지향에 대해 제대로 파볼 예정임ㅎ 객체 객체란 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미하며 값을 저장 할 변수와 작업을 수행 할 메소드를 서로 연관된 것들끼리 묶어 만든 ...
정처기하면서 "물데네전세표응" 이라고 그냥 순서를 외우기만 했는데 막상 각 계층에서 하는 일이 뭔지는 몰라서 정리하게 됐습니다~>< OSI 7 계층 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것 국제표준화기구(ISO)에서 네트워크 간 호환을 위해 표준 네트워크 모델로 만든 것 OSI 7단계로 정의한 이유는 통신이 일어나는 과정을 단계별로 파악하기 ...
OSI 7 계층에 대해 공부하던 중 전송 계층에서 TCP의 3-Way Handshake를 발견! 저게 뭔지 알아보기 전 tcp/udp에 대해 자세히 알아보도록 하겠습니당 들어가기 전, 전송 계층 다시 알아보기 4계층 전송 계층(Transport Layer) 양 끝단의 사용자들이 신뢰성 있는 데이터를 주고 받을 수 있도록 해 상위 계층들이 데이터 전달의 유...
들어가기 전 패킷 통신이 등장하기 전, 컴퓨터 간 데이터 통신은 '회선 교환'방식을 통해 이루어졌다. 회선 교환 방식은 통신을 하고자하는 두 호스트가 데이터를 전송하기 전에 미리 데이터 이동 경로를 하나하나 설정해두는 방식인데 이때, 미리 설정해둔 경로는 두 호스트만을 위한 전용 경로가 되고, 이 경로를 통해 통신의 처음부터 끝까지 모든 데이터가 왔다갔다 ...
오늘은 JVM에 대해 파헤쳐보장😗 지난번 글에서 JVM과 Java의 동작원리에 대해 정리했는데 너무 짧기도하고 그것만 봐서는 이해가 잘 안가서 정리하게됐다. > https://velog.io/@posasac/Java2.-JVM%EA%B3%BC-Java-%EB%8F%99%EC%9E%91%EC%9B%90%EB%A6%AC JVM 용도와 정의 JVM에는 2가지...
3 way handshake까지 오기위해 OSI 7, TCP/UDP, TCP/IP를 열정적으로 정리했다! 이제 드디어 시작 데이터 전송 TCP는 연결 지향 프로토콜이다. 예를 들어, A와 B사이트가 데이터를 전송하려면 2개의 TCP는 두 사이트 사이 연결을 설정 양 방향으로 데이터를 교환 연결 종료 위의 과정을 통해 진행이된다. 하지만 이 과정은 물리...
오늘도 돌아온 TCP 요즘 네트워크만 보는데 볼수록 너무 재미있다. 역시 전공은 전공인가 TCP는 패킷 교환방식 네트워크에서 패킷들이 안전하게 이동할 수 있도록 신뢰성을 보장해주는 프로토콜인데 지난번 정리를 통해 TCP가 그놈의 신뢰성 신뢰성을 보장하기 위해 3 way handshake로 전송 전 연결을 설정하고 전송이 끝나면 4 way handshake...
오늘도 네트워크 HTTP와 HTTPS에 대해 알아보자! HTTP : Hyper Text Transfer Protocol 서버/ 클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜 즉, 인터넷에서 하이퍼 텍스트를 교환하기 위한 통신 규약으로 80번 포트를 사용하고 있다. HTTP 서버가 80번 포트에서 요청을 기다리고 있으며, 클라이언트는 80번 포트로...
채용 공고를 보면 RESTful API 설계가 가능하신 분 이라는 말을 자주 봤다. 그래서 오늘은 이거에 대해서 정리 시작 REST REST 개념 REpresentational State Transfer 자원의 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보를)를 주고 받는 모든 것 HTTP URI를 통해 자원을 명시하고, HTTP Method(P...
우리는 매일매일 웹 브라우저를 열고 SNS나 뉴스, 쇼핑몰 등을 방문한다. 주소창에 URL을 입력하거나 페이지 링크를 클릭하면 해당 링크로 이동할 수 있는데 그 뒤에서는 과연 어떤일이 일어날까?!?!? 실제 면접에서도 나오는 단골 질문 이라고 하니 한번 알아보자!
이전에 HTTP 통신 정리하면서 공개키와 대칭키에 대해 조금 정리했었는데 안보니깐 또 까먹었다. 기술 면접에서 PKI가 뭐냐, 모바일 인증서의 신뢰성을 어떻게 확보할 수 있냐는 질문에 네?...??라고 대답해버린 나를 위해 다시 정리하기로 마음먹었다. 인증성 보장 대칭키 vs 공개키(비대칭키) 대칭키 : 암호화 복호화에 사용되는 키가 서로 같다. 공개키 ...
쿠키와 세션은 HTTP의 특성이자 약점을 보완하기 위해 사용된다.기본적으로 HTTP 환경은 Connectionless(비연결성), stateless(무상태성)한 특성을 가지기 때문에 서버는 클라이언트가 누구인지 매번 확인해야한다.이 특성을 보완하기 위해 쿠키와 세션을
SSO 인증 과정에 대해 알아보기 전, 지난 글에서 세션과 쿠키의 차이에 대해 알아보았는데! 이를 이용한 사용자 인증이 어떻게 이뤄지는지에 대해 먼저 알아보자 > 웹은 많은 사람들이 편리하게 접근하고 공유할 수 있는 공간이다. >하지만, 공유하고싶지 않은 데이터에 대해 허가된 사용자만 접근할 수 있도록 하는 공간도 필요하다. 로그인 없이도 공용으로 사...
오늘은 SSO 인증에 대해서 알아보자. SSO 통합인증(Single Sign-On : SSO)은 SSO는 한 번의 사용자 인증으로 다수의 애플리케이션 및 웹사이트에 대한 사용자 로그인을 허용하는 인증 솔루션이다. > 많은 기업들이 대형화되고 여러 사이트들을 통합 관리하게 되면서 SSO를 사용하고 있다.(ex) 통합 로그인) SSO를 사용하면 개인 입장에...
웹 사이트 로그인 시 자주 볼 수 있는 화면이다. 복잡한 사이트 회원가입 없이 네이버, 카카오 , 구글 등의 계정이 있으면 서비스를 이용할 수 있어 나도 자주 사용하는데 이렇게 외부 서비스에서 인증을 가능하게 하고 그 서비스의 API를 이용할 때 사용되는 프로토콜이 바로 OAuth이다. OAuth OAuth(Open Authorization)는 인터넷...