# tech-interview

83개의 포스트
post-thumbnail

구조 패턴 - Composite

정의복합 객체 그룹(전체)과 단일 객체를 동일하게 취급하거나 다룰 수 있게 해주는 방식으로, 재귀적 특성을 띄며 트리(tree) 구조에 가까운 패턴이다.복합체 패턴의 구조는 크게 3가지로 분류된다.1\. Base Component클라이언트가 Composition(복합체

2022년 6월 27일
·
0개의 댓글
·
post-thumbnail

구조 패턴 - Adapter

Adapter 패턴 정의 클래스의 인터페이스를 사용자가 기대하는 인터페이스 형태로 변환시키는 패턴입니다. 즉, 서로 일치하지 않는 인터페이스를 갖는 클래스들을 함께 동작시킵니다. 구현 방법 Class Adapter : 자바의 상속 (Ineheritance)을 이용

2022년 6월 19일
·
0개의 댓글
·
post-thumbnail

생성 패턴 - Prototype

정의Original 객체를 새로운 객체에 복사하여 필요에 따라 수정하는 메커니즘을 제공합니다.객체를 생성하는데 비용(시간과 자원)이 많이 들고, 비슷한 객체가 이미 있는 경우에 사용됩니다.Java 의 Cloneable을 구현하여, clone() 메소드를 정의 후 사용합

2022년 6월 8일
·
0개의 댓글
·
post-thumbnail

생성 패턴 - Builder

정의복잡한 객체를 생성하는 방법을 정의하는 클래스와 표현하는 방법을 정의하는 클래스를 별도로 분리합니다.이로 인해 서로 다른 표현이라도 이를 생성할 수 있는 동일한 절차를 제공하는 패턴입니다.빌더 패턴은 많은 Optional한 멤버 변수(혹은 파라미터)나 지속성 없는

2022년 6월 7일
·
0개의 댓글
·
post-thumbnail

생성 패턴 - Factory

객체 지향 디자인 패턴의 기본 원칙은 확장에 있어서는 열려 있어야 하며, 수정에 있어서는 닫혀 있어야 한다는 것이다. (OCP, Open Closed Principle)여기서 수정에 있어서 닫혀 있어야 한다는 말에 주목해보자.코드를 수정하지 않아도 모듈의 기능을 확장하

2022년 5월 31일
·
0개의 댓글
·
post-thumbnail

생성 패턴 - Singleton

정의애플리케이션이 시작될 때, 어떤 클래스가 최초 한 번만 메모리를 할당(static)하고 해당 메모리에 인스턴스를 만들어 사용하는 패턴즉, 하나의 인스턴스만 생성하여 사용하는 디자인 패턴이다.클래스의 생성자가 여러번 호출되어도, 실제로 생성되는 객체는 하나이며 최초로

2022년 5월 30일
·
0개의 댓글
·
post-thumbnail

Design Pattern

개발을 하다보면 이전에 사용했던 코드와 유사한 기능을 구현할때 이전의 코드를 들여다보는 경험을 종종 하게 됩니다.이때 이전의 코드를 그대로 복사하여 사용하기도 하고, 변형해서 쓰기도 하고, 혹은 상황에 맞지 않다고 판단하여 다른 방향의 구현을 고민하기도 합니다.디자인

2022년 5월 25일
·
0개의 댓글
·
post-thumbnail

MicroService Architecture (MSA)

정의마이크로서비스란 작고, 독립적으로 배포가능한 각각의 기능을 수행하는 여러개의 서비스로 구성된 프레임워크특징마이크로서비스는 오나전히 독립적으로 배포가 가능하다.다양한 기술 스택(개발 언어, 데이터베이스 등)이 사용 가능한 단일 사업 영역에 초점을 둔다.MSA는 API

2022년 5월 24일
·
0개의 댓글
·
post-thumbnail

3rd Party (써드 파티)

정의다른 회사 제품에 이용되는 소프트웨어나 하드웨어를 개발하는 회사를 말합니다.써드 파티는 프로그래밍을 도와주는 라이브러리 또는 플러그인을 만드는 외부 생산자를 뜻한다.ex) 컴퓨터 제조업체가 있는데, 그 업체의 자회사/하청업체가 아닌 독자적으로 컴퓨터의 주변 장치나

2022년 5월 23일
·
0개의 댓글
·
post-thumbnail

DevOps (데브옵스)

정의소프트웨어 개발자와 정보기술 전문가, 운영팀 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 의미한다.애플리케이션 개발 팀(Dev)과 해당 IT 운영 팀(Ops) 간의 원활하고 지속적인 커뮤니케이션, 협업, 통합, 가시성 및 투명성을 장려합니다.목적개발

2022년 5월 22일
·
0개의 댓글
·
post-thumbnail

Functional Programming

정의자료처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임을 의미한다.프로그래밍 패러다임 중 하나이다. 일련의 코딩 접근 방식이다.Procedual (절차적) → Object Oriented (객체지향) → Functional (

2022년 5월 19일
·
0개의 댓글
·
post-thumbnail

Agile (애자일) & Scrum (스크럼)

정의신속한 반복 작업을 통해 실제 작동 가능한 소프트웨어를 개발하여 지속적으로 제공하기 위한 소프트웨어 개발 방식입니다.협력과 피드백을 더 자주하고, 일찍하고, 잘하는 것 입니다.소프트웨어를 개발한 사람들 안에서의 협력을 말함 (직무 역할을 넘어선 협력)스스로 느낀 좋

2022년 5월 16일
·
0개의 댓글
·
post-thumbnail

TDD (Test Driven Development)

정의테스트케이스를 작성 후 실제 코드를 개발하여 리팩토링 하는 절차를 따른다.매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다.우리는 보통 개바할 때, 설계(디자인)를 한 이후 코드 개발과 테스트 과정을 순서대로 거치게 된다.하지만 TDD는 기존

2022년 5월 12일
·
0개의 댓글
·
post-thumbnail

클린코드 / 리팩토링 / 시큐어 코딩

정의코드를 작성하는 의도와 목적이 명확하며, 다른 사람이 쉽게 읽을 수 있어야 한다.가독성이 높은 코드가독성을 높이려면 다음과 같이 구현해야 한다.네이밍이 잘 되어야 함오류가 없어야 함중복이 없어야 함의존성을 최대한 줄여야 함클래스 혹은 메소드가 한 가지 일만 처리해야

2022년 5월 11일
·
0개의 댓글
·
post-thumbnail

Blocking / Non-blocking & Synchronous / Asynchronous

호출된 함수 가 호출한 함수에게 제어권을 건네주는 유무의 차이라고 볼 수 있다.함수 A,B가 있고, A 안에서 B를 호출했다고 가정해보자.이때 호출한 함수는 A고, 호출된 함수는 B가 된다. 현재 B가 호출되면서 B는 자신의 일을 진행해야 한다.(제어권이 B에게 주어진

2022년 5월 10일
·
0개의 댓글
·
post-thumbnail

HTTP - 쿠키 / 세션 / 캐시

클라이언트의 상태 정보를 가지지 않는 서버 처리 방식이다.클라이언트와 첫번째 통신에서 데이터를 주고 받았다 해도, 두번째 통신에서 이전 데이터를 유지하지 않는다.클라이언트가 서버에 요청(Request)을 했을 때, 그 요청에 맞는 응답(Response)을 보낸 후 연결

2022년 5월 4일
·
0개의 댓글
·
post-thumbnail

TLS / SSL HandShake

정의웹사이트와 브라우저 사이(또는 두 서버 사이)에 전송되는 데이터를 암호화하여 인터넷 연결을 보호하기 위한 표준 보안 프로토콜 입니다.이 기술은 해커가 개인 데이터나 금융 데이터 등의 전송되는 정보를 보거나 훔치는 것을 방지합니다.특징SSL은 우 통신 장치 사이에 H

2022년 5월 3일
·
0개의 댓글
·
post-thumbnail

HTTP vs HTTPS

정의HyperText Transfer Protocol (하이퍼 텍스트 전송 프로토콜)HTML과 같은 하이퍼미디어 문서를 인터넷 상에서 클라이언트와 서버가 주고 받을때 사용하는 규약특징전통적인 클라이언트-서버 모델클라이언트가 요청을 생성하기 위한 연결을 연다음, 응답을

2022년 5월 2일
·
0개의 댓글
·
post-thumbnail

UDP & TCP vs UDP

정의User Data Protocol 의 약자로 데이터를 데이터그램 단위로 처리하는 프로토콜이다.비연결형, 신뢰성 없는 전송 프로코톨이다.특징데이터를 패킷으로 나누고 반대편에서 재조립하는 과정을 거치지 않는다.즉, 수신자가 제대로 받던지 받지 않던 상관안하고 데이터를

2022년 4월 28일
·
0개의 댓글
·
post-thumbnail

TCP 3 & 4 way handshake

TCP header에는 Code bit (Flag bit)라는 부분이 있다. (빨간 테두리 박스)이 부분은 6bit로 이뤄져 있고 각각의 bit가 의미를 갖는다.URG - ACK - PSH - RST - SYN - FIN 의 순서로 되어있다.(혼잡제어 기능 향상을 위해

2022년 4월 27일
·
0개의 댓글
·