인파

You Can Become A

늦게 시작해도 누구든지 노력하면 개발자가 될수 있어요 !

공부한 내용을 정리합니다
개발 지식/HTTP 지식

🌐 HTTP 메서드 종류 & 요청 흐름 💯 총정리

HTTP Method 종류 HTTP 메서드란 클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식을 일컫는다. 쉽게 말하면 서버에 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법이다. HTTP 메소드의 종류는 총 9가지가 있다. 이 중 주로 쓰이는 메소드는 5가지로 보면 된다. 주요 메소드 GET : 리소스 조회 POST: 요청 데이터 처리, 주로 등록에 사용 PUT : 리소스를 대체(덮어쓰기), 해당 리소스가 없으면 생성 PATCH : 리소스 부분 변경 (PUT이 전체 변경, PATCH는 일부 변경) DELETE : 리소스 삭제 기타 메소드 HEAD : GET과 동일하지만 메시지 부분(body 부분)을 제..

category_image
인파_
2022.12.13
(0)
개발 지식/HTTP 지식

🌐 HTTP는 무엇일까요? - 기본 핵심 요약 총정리

HTTP 란? - Hyper Text Transfer Protocol HTTP는 서버와 클라이언트가 서로 데이터를 주고받기 위해 사용되는 통신 규약을 말일컷는다. 웹문서간에 링크를 통해 연결할 수 있는 프로토콜이며, 문서뿐 아니라 다음과 같은 여러 종류의 데이터들을 폭 넓게 전송할 수 가 있다. ​HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML(API) 거의 모든 형태의 데이터가 전송 가능 서버간에 데이터를 주고 받을 때 대부분 HTTP라는 프로토콜을 사용해서 통신한다고 보면 된다. 예를들어 인터넷 주소를 지정할때 http://www.naver.com 와 같이 시작하는 것은 www.naver.com 이라는 인터넷 주소가 가진 데이터 정보 등의 교환을 HTTP의 통신 규약대로 처리하라..

category_image
인파_
2022.12.12
(0)
개발 지식/WEB 지식

🌐 URL 구성 요소 & 요청 흐름 정리

URL 구성 이해하기 프로토콜 : https 호스트명 : www.google.com 포트번호 : 443 패스 : /search 쿼리 파라미터 : q=hello&hl=ko scheme 주로 프로토콜(어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙) 사용 예) http, https, ftp 등등 http는 80 포트, https는 443 포트를 주로 사용, 포트는 생략 가능 userinfo URL에 사용자 정보를 포함해서 인증 요즘은 거의 사용하지 않음 host 호스트명(www.google.com) 도메인명 또는 IP 주소를 직접 사용 가능 port 접속 포트 일반적으로 생략 가능 생략 시 http는 80, https는 443 포트 번호로 설정된다. 톰캣은 8080 포트를 사용 path 리소스 경로(pa..

category_image
인파_
2022.12.11
(0)
개발 지식/IT 용어 지식

👩‍💻 코드 리뷰 태그 - LGTM 이란?

LGTM 태그 LGTM 이라는 단어는 "Looks Good To Me"의 줄임말이다. LGTM은 2000년대부터 Google에서 시작된 코드 리뷰를 진행할 때 사용되었으며, 현재는 깃헙에서 코드 리뷰를 할때 전 세계적으로 통용되는 약어로 사용되고 있다. 만일 내가 PR(Pull Request)를 날리면 Reviewer or Committer들이 LGTM으로 답해줬다면 특별히 문제가 없음을 의미하게 된다. 카카오톡에서도 코딩하는 한별이 이모티콘에도 LGTM 관련된 이모티콘이 존재하기도 한다. 실무에서 쓰이는 약어 종류 ✍️ AFAIK ( as far as I know ) 내가 알기에는, 내가 기억하는 한 ✍️ IMO ( in my opinion ) 내 생각에는, 개인적인 의견 입니다만. ✍️ IMHO ( ..

category_image
인파_
2022.12.10
(0)
디자인 패턴/GOF +

💠 Dynamic Factory 디자인 패턴

Dynamic Factory Pattern Dynamic Factory 변형 패턴은 GOF의 Factory Method 패턴의 단점을 보완하기 위한 패턴이다. 기존 팩토리 메서드 패턴 오리지날 Factory Method 패턴의 가장 큰 단점은 제품 객체의 갯수마다 공장 서브 클래스를 1:1 매칭으로 모두 구현해야 된다는 점이다. 그래서 제품 객체가 50개면 공장 객체도 50개를 구현해야 한다. 이는 곧 클래스 폭발로 이어지며 코드 복잡도를 증가시킨다. interface Shape { void setColor(String color); void draw(); } class Rectangle implements Shape { String color; public void setColor(String colo..

category_image
인파_
2022.12.09
(0)
디자인 패턴/GOF +

💠 Enum Factory Method 디자인 패턴

Enum Factory Method Pattern Enum Factory Method 변형 패턴은 GOF의 Factory Method 패턴의 단점을 보완하기 위한 패턴이다. Factory Method 패턴의 가장 큰 단점은 제품 객체의 갯수마다 공장 서브 클래스를 모두 구현해야 된다는 점이다. 즉, 제품 객체가 50개면 공장 객체도 50개를 구현해야 된다는 말이다. 또한 기본적으로 팩토리 클래스는 한번 인스턴스화 하고 제품 객체를 생성하는 역할만 하면 되지 여러개 생성될수 있는 낭비적인 가능성이 있기 때문에 싱글톤을 일일히 적용하여야 하며 이로인해 코드가 복잡해진 다는 문제점도 있었다. 이러한 문제점을 Enum 으로 팩토리 메서드 패턴을 구성해 준다면, 일일히 서브 공장 클래스 구현 없이 하나의 enum..

category_image
인파_
2022.12.08
(0)
디자인 패턴/GOF

💠 팩토리 메서드(Factory Method) 패턴 - 완벽 마스터하기

Factory Method Pattern 팩토리 메소드 패턴은 객체 생성을 공장(Factory) 클래스로 캡슐화 처리하여 대신 생성하게 하는 생성 디자인 패턴이다. 즉, 클라이언트에서 직접 new 연산자를 통해 제품 객체를 생성하는 것이 아닌, 제품 객체들을 도맡아 생성하는 공장 클래스를 만들고, 이를 상속하는 서브 공장 클래스의 메서드에서 여러가지 제품 객체 생성을 각각 책임 지는 것이다. 또한 객체 생성에 필요한 과정을 템플릿 처럼 미리 구성해놓고, 객체 생성에 관한 전처리나 후처리를 통해 생성 과정을 다양하게 처리하여 객체를 유연하게 정할 수 있는 특징도 있다. 팩토리 메서드 패턴 구조 Creator : 최상위 공장 클래스로서, 팩토리 메서드를 추상화하여 서브 클래스로 하여금 구현하도로 함 객체 생..

category_image
인파_
2022.12.07
(0)
Language/Java

☕ 자바 Enum 열거형 타입 문법 & 응용 💯 정리

Enum 열거 타입 먼저 Enum은 "Enumeration"의 약자다. Enumeration은 "열거, 목록, 일람표" 라는 뜻을 가지고 있으며, 보통 한글로는 열거형이라고 부른다. 즉, 열거형(enum)은 요소, 멤버라 불리는 명명된 값의 집합을 이루는 자료형이다. 어렵게 생각할 필요 없이 상수 데이터들의 집합 으로 치부하면 된다. 먼저 Enum은 "Enumeration"의 약자다. Enumeration은프로그래밍을 하다보면 배열이나 리스트 ..등 여러개의 묶음 데이터를 다루는 일이 빈번하다. 이 묶음 데이터 중에는 데이터 주제에 따라 몇가지로 한정된 값만을 가지는 경우가 존재한다. 대표적으로는 '요일' 이나 '계절' 또는 '주사위' 같은 예제를 들 수 있다. 요일은 월,화,수,목,금,토,일 이렇게 7..

category_image
인파_
2022.12.06
(0)
디자인 패턴/GOF

💠 상태(State) 패턴 - 완벽 마스터하기

State Pattern 상태 패턴(State Pattern)은 객체가 특정 상태에 따라 행위를 달리하는 상황에서, 상태를 조건문으로 검사해서 행위를 달리하는 것이 아닌, 상태를 객체화 하여 상태가 행동을 할 수 있도록 위임하는 패턴을 말한다. 객체 지향 프로그래밍에서의 클래스는 꼭 사물 / 생물만을 표현하는 고체 형태의 데이터만 표현 할 수 있는게 아니다. 경우에 따라서 무형태의 행위 / 동작도 클래스로 묶어 표현할 수 있다. 그래서 상태를 클래스로 표현하면 클래스를 교체해서 ‘상태의 변화’를 표현할 수 있고, 객체 내부 상태 변경에 따라 객체의 행동을 상태에 특화된 행동들로 분리해 낼 수 있으며, 새로운 행동을 추가하더라도 다른 행동에 영향을 주지 않는다. 여기서 '상태' 란, 객체가 가질 수 있는 ..

category_image
인파_
2022.12.05
(0)
Language/JavaScript (WEB)

🌐 insertAdjacentHTML로 쉽게 append 하자

DOM에 텍스트로된 html 삽입하기 개발자들이 제이쿼리를 애용해왔던 이유중 하나가 바로 텍스트로 된 html문자열을 그대로 함수에 넣으면 바로 DOM에 추가/삽입이 된다는 점이었다. $('div').append('안녕하세요'); $('div').prepend('안녕하세요'); $('div').after('안녕하세요'); $('div').before('안녕하세요'); 바닐라 자바스크립트에서도 append, after 함수가 있지만, 매개변수로 문자열이 아닌 document.createElement("div") 통해 만든 node 객체 만을 받을수 있어, 코드가 길어지고 가독성이 안좋아 별로 사용성이 좋지 않았다. 물론 innerHTML 프로퍼티로 html형식의 문자열을 넣을수는 있지만 어느 위치에 넣을지..

category_image
인파_
2022.12.04
(0)
디자인 패턴/GOF

💠 템플릿 메소드(Template Method) 패턴 - 완벽 마스터하기

Template Method Pattern 템플릿 메서드(Template Method) 패턴은 여러 클래스에서 공통으로 사용하는 메서드를 템플릿화 하여 상위 클래스에서 정의하고, 하위 클래스마다 세부 동작 사항을 다르게 구현하는 패턴이다. 즉, 변하지 않는 기능(템플릿)은 상위 클래스에 만들어두고 자주 변경되며 확장할 기능은 하위 클래스에서 만들도록 하여, 상위의 메소드 실행 동작 순서는 고정하면서 세부 실행 내용은 다양화 될 수 있는 경우에 사용된다. 템플릿 메소드 패턴은 상속이라는 기술을 극대화하여, 알고리즘의 뼈대를 맞추는 것에 초점을 둔다. 이미 수많은 프레임워크에서 많은 부분에 템플릿 메소드 패턴 코드가 우리도 모르게 적용되어 있다. 디자인 패턴에서의 템플릿은 변하지 않는 것을 의미한다. 템플릿..

category_image
인파_
2022.12.02
(0)
디자인 패턴/GOF

💠 전략(Strategy) 패턴 - 완벽 마스터하기

Strategy Pattern 전략 패턴은 실행(런타임) 중에 알고리즘 전략을 선택하여 객체 동작을 실시간으로 바뀌도록 할 수 있게 하는 행위 디자인 패턴 이다. 여기서 '전략'이란 일종의 알고리즘이 될 수 도 있으며, 기능이나 동작이 될 수도 있는 특정한 목표를 수행하기 위한 행동 계획을 말한다. 즉, 어떤 일을 수행하는 알고리즘이 여러가지 일때, 동작들을 미리 전략으로 정의함으로써 손쉽게 전략을 교체할 수 있는, 알고리즘 변형이 빈번하게 필요한 경우에 적합한 패턴이다. 전략 패턴 구조 전략 알고리즘 객체들 : 알고리즘, 행위, 동작을 객체로 정의한 구현체 전략 인터페이스 : 모든 전략 구현제에 대한 공용 인터페이스 컨텍스트(Context) : 알고리즘을 실행해야 할 때마다 해당 알고리즘과 연결된 전략..

category_image
인파_
2022.12.01
(0)