기술

웹 동작 방식 사용자가 브라우저에 URL을 입력 브라우저는 DNS를 통해 서버의 진짜 주소를 찾음 HTTP 프로토콜을 사용하여 HTTP 요청 메세지를 생성함 TCP/IP 연결을 통해 HTTP요청이 서버로 전송됨 서버는 HTTP 프로토콜을 활용해 HTTP 응답 메세지를 생성함 TCP/IP 연결을 통해 요청한 컴퓨터로 전송 도착한 HTTP 응답 메세지는 웹페이지 데이터로 변환되고, 웹 브라우저에 의해 출력되어 사용자가 볼 수 있게 됨 TCP와 HTTP 차이 HTTP는 비연결형 프로토콜인 반면에 TCP는 연결형 프로토콜 HTTP는 단방향 통신만 가능한 반면에 TCP는 양방향 통신이 가능함 HTTP는 응용 계층(7) 프로토콜인 반면에 TCP는 전송 계층(4) 프로토콜 TCP와 UDP 차이 TCP는 연결형 서비스..
버블소트, 힙소트, 머지소트, 퀵소트, 삽입소트 버블소트는 서로 인접한 두 원소를 비교하여 정렬하는 알고리즘입니다. 0번 인덱스부터 n-1번 인덱스까지 n번까지의 모든 인덱스를 비교하며 정렬합니다. 시간복잡도는 O(n^2) 입니다. 힙소트는 주어진 데이터를 힙 자료구조로 만들어 최대값 또는 최소값부터 하나씩 꺼내서 정렬하는 알고리즘입니다. 힙소트가 가장 유용한 경우는 전체를 정렬하는 것이 아니라 가장 큰 값 몇개만을 필요로 하는 경우입니다. 시간복잡도는 O(nlog2n)입니다. 머지소트는 주어진 배열을 크기가 1인 배열로 분할하고 합병하면서 정렬을 진행하는 분할/정복 알고리즘입니다. 시간복잡도는 O(nlog2n)입니다. 퀵소트는 매우 빠른 정렬 속도를 자랑하는 분할/정복 알고리즘 중 하나로 합병정렬과 달..
자료구조와 알고리즘 자료구조는 데이터를 원하는 규칙 또는 목적에 맞게 저장하기 위한 구조이고, 알고리즘이란 자료구조에 쌓인 데이터를 활용해 어떠한 문제를 해결하기 위한 여러 동작들의 모임입니다. 스택, 큐, 트리, 힙 구조 설명 스택: 세로로 된 바구니와 같은 구조로 먼저 넣게 되는 자료가 마지막으로 나오게 되는 First-In Last-Out(FILO) 구조이다. 큐: 가로로 된 통과 같은 구조로 먼저 넣게 되는 자료가 가장 먼저 나오는 First-In First-Out(FIFO) 구조이다. 트리: 정점과 간선을 이용해 사이클을 이루지 않도록 구성한 Graph의 특수한 형태로, 계층이 있는 데이터를 표현하기에 적합하다. 힙: 최댓값 또는 최솟값을 찾아내는 연산을 쉽게 하기 위해 고안된 구조로, 각 노드..
OOP란 OOP는 현실 세계를 프로그래밍으로 옮겨와 현실 세계의 사물들을 객체로 보고, 그 객체로부터 개발하고자 하는 특징과 기능을 뽑아와 프로그래밍하는 기법입니다. OOP로 코드를 작성하면 재사용성과 변형가능성을 높일 수 있습니다. OOP의 5가지 설계 원칙 SRP(Single Responsibility Principle, 단일 책임 원칙) 클래스는 단 하나의 목적을 가져야 하며, 클래스를 변경하는 이유는 단 하나의 이유여야 한다. OCP(Open-Closed Principle, 개방 폐쇠 원칙) 클래스는 확장에는 열려 있고, 변경에는 닫혀 있어야 한다. LSP(Liskov Substitution Principle, 리스코프 치환 원칙) 상위 타입의 객체를 하위 타입으로 바꾸어도 프로그램은 일관되게 동..
JPA에서 Entity를 설계할때 주의점을 말해주세요. "JPA 엔티티 설계 시 주의해야 할 몇 가지 중요한 원칙들이 있습니다. 첫째, 엔티티에는 명확한 식별자를 부여해야 합니다. 모든 엔티티는 고유한 식별자를 가져야 하는데, 이는 데이터베이스 내에서 해당 엔티티를 구분하는 데 필수적인 요소입니다. 식별자는 변경되지 않는 값을 사용하는 것이 바람직합니다. 둘째, 엔티티 간의 관계는 신중하게 설계해야 합니다. 불필요한 연관 관계는 성능 저하를 초래할 수 있으므로, 실제로 필요한 관계만을 정의해야 합니다. 또한, 관계의 종류와 방향성(단방향, 양방향)을 적절하게 선택해야 합니다. 셋째, 가능한 한 지연 로딩(Lazy Loading) 전략을 사용하여 연관된 객체들을 필요할 때만 로드하도록 해야 합니다. 이는 ..
RDBMS vs NoSQL에 대해서 설명해주세요. "네, 우선 RDBMS는 구조화된 데이터를 테이블 형태로 저장하는 시스템으로, 각 테이블은 열(속성)과 행(데이터 레코드)로 구성됩니다. RDBMS의 가장 큰 특징은 데이터 간의 관계를 정의할 수 있다는 점입니다. 이러한 관계를 통해 데이터의 무결성을 보장하고 복잡한 쿼리를 통한 정교한 데이터 분석이 가능합니다. 대표적인 RDBMS로는 MySQL, PostgreSQL, Oracle 등이 있습니다. RDBMS는 거의 모든 형태의 애플리케이션에 사용될 수 있으며, 특히 거래 처리가 중요한 금융, 회계 시스템에서 널리 사용됩니다. 반면, NoSQL 데이터베이스는 비관계형 데이터를 저장하는데 초점을 맞추며, 다양한 데이터 모델(Key-Value, Document..
hihyuk
'기술' 태그의 글 목록 (5 Page)