본문 바로가기

IT_Developers1149

Spring - 의존성 주입(DI) 이란? / 제어의 역전(IoC) 이란? Dependency Injection , Inversion of Control 를 알아보자 안녕하세요. 고코더 입니다. 오늘은 의존성 주입(Dependency Injection)을 다뤄봅니다. 스프링의 핵심 개념중에 하나 입니다. 스프링에서 가장 중요한 핵심입니다. 이 부분때메 자바 서블릿을 하다. 스프링을 만나면 헤매게 되는 이유입니다. 100프로 이해하려면 현업에서 장점을 마주칠때 이해가 조금씩 되나 머리속에 잘들어오지 않는 개념입니다. 그러므로 그냥 얘는 원래 이러구나라고 생각하면 될거 같습니다. ● 1. DI를 한줄로 요약하면 "객체간의 의존성을 외부에서 주입하는 개념" ● 2. 비유 최근에 생긴 오락실을 가니깐 동전 넣는 부분이 없습니다. 그래서 물어보니 목에 매는 카드를 하나 줍니다. 이걸 가.. 2020. 3. 19.
Spring - AOP 란? / 관점 지향 프로그래밍 / (1) 관점으로 본 AOP 안녕하세요. 고코더 입니다. OOP는 훌륭한 객체 프로그래밍입니다. 하지만 공통적으로 트랜잭션처럼 반복되는 중복코드가 생기는 단점이 있습니다. 중복코드를 좀 더 줄이고자 하여 탄생한게 AOP 입니다. Aspect Oriented Programming 의 약자입니다. 직역하자면 "관점 지향 프로그래밍" 이라고 할 수 있습니다. 오늘은 AOP가 어떤 관점이 있는지 알아봅니다. ● 1. AOP를 한줄로 정리하면? "애플리케이션 전체에 걸쳐 사용되는 기능을 재사용 하도록 지원하는 개념" ● 2. 비유 병원에 환자가 입원합니다. 맹장 수술이 필요하다고 합니다. 전날에 약을 먹고 금식을 지도하는걸 간호사가 합니다. 그리고 당일날 수술실에 환자를 눕히고 조명을 밝히고 수술 부위 소독과 매스까지 준.. 2020. 3. 19.
프레임워크란? - 정의, 비유, 장단점을 알아보자 Framework란? 안녕하세요. 고코더 입니다. 오늘은 좀 더 넓은 범위에 개념을 써봅니다. 프레임워크란 무엇인가? 항상 들어온 이 단어의 뉘앙스는 잘 알겠지만 정리하기 참 어려운 말입니다. 프레임워크 없는 개발을 찾는게 더 어려운 시대가 왔습니다. 이 단어에 대해 한번 다양한 방면으로 설명을 해보겠습니다. ● 1. 사전적 의미 "소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경" "복잡한 문제를 해결하거나 서술하는데 사용하는 기본 개념 구조" "특정한 목적에 사용되는 사고체계" "어떤 일에 대한 판단이나 결정 따위를 위한 틀." ● 2. 랄프 존슨(Ralph Johnson.. 2020. 3. 18.
OSI 7계층 - 상위, 하위 계층이란? 상위 하위 게층 안녕하세요. 고코더 입니다. OSI 계층을 함께 알아보았습니다. 그런데 다루지 못한게 하나 있네요. 바로 상위, 하위 구분 계층입니다. -> OSI 7 계층을 알아보자! - OSI 7 Layer 상세한 설명 그런데 이 계층은 7개로 나뉘지만 또 다시 두개로 나누기도 합니다. 바로 상위 계층과 하위 계층입니다. 계층 구분 그림을 보면 5,6,7 단계를 상위로 분류 하고 1,2,3,4를 하위로 분류합니다. 그래서 상위 계층, 하위 계층이라고 분류 합니다. 1. 상위 (L5, L6, L7) 사용자를 위한 계층으로 분류 합니다. 소프트웨어 형태로 구현되는 것이 일반적인 개념입니다. 2. 하위 (L1, L2, L3, L4) 컴퓨터를 위한 계층으로 데이터의 흐름 또는 전송을 담당하는 계층입니다. 하.. 2020. 3. 18.
OSI 7계층 - "응용 프로그램 계층" / Application Layer / L7 응용 프로그램 계층이란? 안녕하세요. 고코더 입니다. 드디어 최상의 계층인 응용 프로그램 계층까지 왔습니다. 이 부분은 사용자 계층을 말합니다. 현재 보고 계시는 HTTP를 통한 인터넷도 이 계층에 속합니다. 데이터를 생성하는 목적으로 사용자에게 인터페이스, 응용프로그램, 네트워크 서비스 등을 제공합니다. 표현 계층에서 만들어진 데이터 타입을 여기서는 사용자에게 보여주는 역할을 합니다. 예를 들면 이미지 데이터를 JPEG로 변환한 데이터를 이곳에서는 뷰어를 통해 인터페이스화 하여 모니터에 띄워주는 역할을 합니다. 지금 보고 계신 이미지도 표현계층에서 보내준 데이터를 응용 계층이 보여주고 있는 것입니다. 대표적인 프로토콜 HTTP 인터넷 상에서 정보를 주고 받을 수 있는 프로토콜 입니다. 주로 HTML 문.. 2020. 3. 18.
OSI 7계층 - "표현 계층" / Presentation Layer / L6 프레젠테이션 계층 알아보기 안녕하세요. 고코더 입니다. 표현계층은 응용계층과 세션계층 중간에서 정보로 넘겨주는 역할을 합니다. 응용프로그램이나 네트워크를 위해 데이터를 "표현" 하는 부분입니다. 암호화, 복호화 과정이 이 계층에서 처리됩니다. 데이터가 텍스트인지 이미지 파일인지 구분하여 우리가 볼 수 있는 형태로 표현하는게 바로 표현계층의 일입니다. 표현계층 대표적인 프로토콜 1. SSL SL(보안 소켓 계층) 디지털 인증서 입니다. 서버 또는 웹사이트 간에 암호화된 연결을 수립 2. ASCII 특수문자, 숫자, 문자에 번호를 이용하여 컴퓨터에서 처리하기 쉽게 만든 코드 미국표준협회(ANSI)에서 개발 3. JPEG Joint Photograph Experts Group 정지 화상을 위해서 만들어진 손실.. 2020. 3. 18.
OSI 7계층 - "세션 계층" / Session Layer / L5 세션 계층을 알아보기 안녕하세요. 고코더 입니다. 세션(Session)의 사전적 의미는 다양 합니다. 회의, 학기, 활동, 법원, 기간등 다양합니다. 뜻의 공통점은 대화 가능한 그룹들을 짓는 형식입니다. 이처럼 세션은 대화 가능한 송신과 수신이 있다는 뜻입니다. 이번 계층부터는 어플리케이션과 관련된 계층이라고 생각할 수 있습니다. 대화 관리자(dialog controller)로 통신장치들 간의 상호작용을 유지하고 동기화 합니다. 세션계층에서는 응용프로그램간의 대화를 유지하기 위한 구조를 제공합니다. 응용프로그램간의 연결, 유지, 종료 입니다. 분실데이터의 복원을 동기화 지점을 두어 상위계층의 오류로 인한 데이터 손실을 복원합니다. 전송 계층의 연결과 유사하게 보이지만 더 상위의 논리적 연결이다. 사용자 .. 2020. 3. 18.
OSI 7계층 - "전송 계층" / Transport Layer / L4 전송 계층을 알아봅니다. 안녕하세요. 고코더 입니다. 전송 계층에서는 사용자들이 데이터를 주고 받는 역할을 합니다. 데이터를 주는 쪽은 송신자이고 받는 자는 수신자라고 하는데 이 사이에 신뢰성 있는 데이터를 주고 받을 수 있게 합니다. 이를 대표하는 프로토콜은 연결형 TCP와 비연결형 UDP가 있습니다. - 송신자와 수신자를 연결하는 통신서비스 - TCP와 UDP가 있다. - 전송되는 단위는 세그먼트이다. - 패킷을 주고 받을때 포트를 사용한다. 전송 프로토콜 1. TCP Trasmission의 약자를 사용하는 이 연결 방식은 IP를 사용하는 프로토콜 입니다. TCP는 복잡하지만 신뢰성이 높은 방법입니다. 대부분 이 프로토콜을 사용하게 됩니다. 데이터를 여러 개의 패킷으로 나누고 도착지에서 해당 데이터를.. 2020. 3. 17.
OSI 7계층 - "네트워크 계층" 이란? / Network Layer / L3 네트워크 계층을 알아보자 안녕하세요. 고코더 입니다. 이번 시간에는 네트워크 계층을 알아보려고 합니다. 우리가 자주 듣고 일상 생활에서도 접하는 IP가 바로 이 계층 입니다. 데이터를 도착지까지 안전하고 빠르게 전달하는 일을 합니다. 이런 일을 라우팅이라고 합니다. 이 일을 하는 장비 라우터가 이 계층에서는 가장 중요한 장비입니다. ● 1. L3가 하는 중요한 역할 1. 라우팅 네트워크 계층에서 가장 중요한 장비라고 말씀 드렸습니다. 네트워크 상에서 통신 데이터를 보낼 경로를 선택하는 과정입니다. 라우팅 알고리즘으로는 비적응형(Non-adaptive), 정적(static), 적응형(Adaptive), 동적(dynamic) 알고리즘 으로 나뉩니다. 2. 혼잡 제어(Congestion control) 패킷이.. 2020. 3. 17.