자바(JAVA) 빌더(builder) 패턴
·
Language/Java
목차 1. 빌더(builder) 패턴이란? 2. 구현 코드 및 사용 예시 3. 정리 및 결론 1. 빌더(builder) 패턴이란? - 빌더 패턴이란, 디자인 패턴 중 생성 패턴의 한 종류로 다양한 구성의 인스턴스를 만드는데 유용하다. 예를 들어, 아래와 같은 class가 있다고 가정해보자. @AllArgsConstructor public class User { private String name; private int age; private String address; } 이 때, 만약 요구사항이 바뀌어 "address 없이 User객체 만들 수 있게 해주세요!" 라는 요청이 들어오게 된다면? 아.. 귀찮아 @AllArgsConstructor public class User { private String..
URI와 웹 브라우저 요청 흐름
·
WEB/URI
URI란? - Uniform Resource Identifier의 약자로서, URL과 URN을 포함한다. # URL? URN? - URL(Uniform Resource Locator)은 리소스가 어디 있는지에 대해 표현한다. - URN(Uniform Resource Name)은 리소스의 이름만으로 표현한다. # URN은 현재 잘 사용하지 않는다. 따라서 이 포스팅에서는 URL에 관해서만 간략하게 다루겠다. URL의 구조 - {scheme}://{userinfo}@{host}:{port}/{path}?{query}#{fragment} 의 형태로 구성된다. URL 영역 별 간단 정리 1. scheme - 주로 프로토콜을 사용한다. # 프로토콜? 어떤 방식으로 자원에 접근할 것인가를 정한 약속 규칙 ex) h..
PORT와 DNS
·
WEB/Internet Network
PORT - 같은 IP 내에서 프로젝트를 구분 ex) 한 컴퓨터로 게임과 음악 스트리밍을 동시에 하고 있다고 가정, PORT가 없다면 어떤 패킷이 게임이고 음악 스트리밍인지 구별할 수가 없음 - 패킷 정보에 IP, PORT 정보가 있기 때문에 상대편에서 미리 어떤 PORT로 데이터를 전송할지 알 수 있다. - 0 ~ 65535번의 포트까지 할당 가능 0 ~ 1023번까지는 잘 알려진 포트이기 때문에 사용하지 않는 것이 좋음. - 대표적인 PORT 번호 FTP - 20, 21 TELNET - 23 HTTP - 80 HTTPS - 443 DNS(도메인 네임 시스템, Domain Name System) - IP 주소를 기억하기 어려운 점, IP 주소가 변경됐을 떄의 문제를 동시에 해결할 수 있다. (일종의 전..
TCP, UDP
·
WEB/Internet Network
계층 구조 애플리케이션 계층 - HTTP, FTP 전송 계층 - TCP, UDP 인터넷 계층 - IP 네트워크 인터페이스 계층 #TCP는 IP만으로 해결이 안됐던 문제(데이터 손실 여부, 순서 보증 등)를 해결할 수 있다. TCP(전송 제어 프로토콜, Transmission Control Protocol)의 특징 1. 연결지향 - TCP 3 way handshake (가상 연결) 2. 데이터 전달 보증 (패킷 누락을 알 수 있음) 3. 순서 보증 - 신뢰할 수 있는 프로토콜 - 현재는 대부분 TCP 사용 # TCP의 특징들이 가능한 이유? - 전송 제어, 순서, 검증 정보와 같은 것들이 추가 되어있기 떄문 (그래서 TCP를 신뢰할 수 있는 프로토콜 이라고 한다) UDP(사용자 데이터그램 프로토콜, Use..
JIRA 간단 정리
·
DevOps/JIRA
JIRA의 용도 버그 추적 프로젝트 관리 JIRA 프로세스 별 간단 요약 To Do : 당일 작업할 내용 Ready : 시작 예정인 작업 In Progress : 현재 진행 중인 작업 Hold : 작업 중에 우선순위가 밀려 잠시 미뤄둔 작업 Complete : 이슈 처리 완료 Done : Complete 내용 최종 검토 및 허가 이슈 생성 요약 작성 (현재 나는 ${대분류 - 소분류 : 이슈요약} ) 기타 작성 (예정일 등) 설명 작성 작업 중간마다 작업로그 작성 (댓글로 업데이트 사항 입력) Complete
IP(인터넷 프로토콜)
·
WEB/Internet Network
IP의 역할 지정한 IP 주소(IP Adress)에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 IP의 간략한 동작 원리 출발지 IP, 목적지 IP, 기타... 의 정보와 보내고 싶은 전송 데이터를 담은 패킷을 인터넷 망에 던진다. 인터넷 망은 많은 노드(서버)들로 이루어져 있는데, 이 노드들은 정해진 규약을 따르고 있기 때문에 패킷에 담긴 출발지와 목적지를 다 이해 할 수 있다. 그렇게 노드들이 각자 경로를 설정하며 패킷이 목적지로 전달된다. IP의 한계 1. 비연결성 - 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 - 대상 서비스가 불능이여도 패킷을 보내는 입장에서 알 방법이 없음 2. 비신뢰성 - 중간에 패킷이 사라질 경우, 패킷이 순서대로 안 올 경우 - 패킷을 전..
블로그를 시작하며
·
Letters
나는 전자공학과 4학년에 재학 중이다. 그리고 아직은 예비 웹 개발자이다. 항상 Github과 기술 블로그를 꾸준히 업로드해야겠다고 생각했지만, 게을러서 학업에 지쳐 허술히 대했었다. 운이 좋게도 4학년 2학기 재학 중에 한 회사에 면접까지 합격해 현재 서류 검토와 채용검진만 남겨두고 있다. 정말 수학에 경기(?)를 일으킬 정도로 싫어했던 나였지만 지금 개발자로 입사를 앞둔 현재, 나중에 업무에 지칠 때 볼 용도로 짤막하게나마 내 성장기와 현재 심정을 기록해두려 한다. "글 쓰는 게 좋아" 난 언제나 틀에 갇혀 있는 것을 싫어했다. 앞서 말했다시피, 나는 수학을 정말 싫어한다. 아니, 혐오한다. 아마 초등학교 때부터 싫어했던 것 같은데, 반복적으로 계산 학습만 시키는 학습지 때문이 아니었을까 한다. (제..
potatoCompletion
₩$(WonDollar) 개발 지식창고