Computer Science
-
Linked ListComputer Science/DataStructure 2019. 11. 19. 00:27
- 선형 자료구조 - 순차적 접근방식 ( O(n) ) - 삽입, 삭제가 빠르다 ( O(1) ) - 다음 노드를 가리키는 주소를 저장할 공간 필요 Linked List는 순차적으로 모인 데이터들의 모음이다. 흔히 각각의 데이터를 Node(노드), 각 노드는 다음 차례의 노드의 reference(주소)를 갖고 있다. 대표적으로 두 가지 유형이 있는데, Singly Linked List: 내 다음 노드(next node)의 주소만을 갖고 있다. Double Linked List: 내 이전(previous)과 다음의 주소를 갖고 있다. Linked List를 사용하기 위해서는 시작과 끝의 주소를 알아야 하는데 이를 head와 tail이라 부른다. Performance Linked List의 대부분의 연산은 O(..
-
Socket 통신Computer Science/Network 2019. 9. 23. 20:54
Socket 이란 소켓(Socket)의 사전적 정의는 구멍, 연결, 콘센트 등이다. 가정에서 사용하는 콘센트의 돼지코와 코드를 생각하면 쉽게 이해할 수 있다. 네트워크 프로그래밍적으로 생각해보면 프로그램이 네트워크에서 데이터를 송수신 할 수 있도록 네트워크 환경에 연결할 수 있게 만들어진 연결부 혹은 창구가 바로 소켓이다. 콘센트에도 220v, 110v 등 규격이 있듯이 소켓도 통신 프로토콜 규격에 맞게 만들어져야 한다. 소켓은 특히 OSI 7 계층의 4계층인 TCP 상에서 동작하는 소켓을 주로 사용하는데 흔히 "TCP 소켓", "TCP/IP 소켓" 이라 부른다. Socket Programming 소켓으로 네트워크 통신 기능을 구현하기 위해서는 기본적으로 다음에 대한 이해가 있어야 한다. 클라이언트 소켓..
-
ORM (Object Relational Mapping)Computer Science/Database 2019. 9. 17. 10:52
Object Relational Mapping에 대해 알아보자. 말 그대로 객체 - 관계를 매핑시켜주는 녀석인데, 쉽게말해 객체와 데이터베이스의 데이터를 자동으로 매핑 해주는 것을 말한다. 이를 통해 복잡한 쿼리를 줄일 수 있고 OOP 개발 자체에 더 집중할 수 있다. 장점 객체지향적인 코드로 더 직관적이고 비즈니스 로직에 더 집중할 수 있다. SQL 쿼리 대신 직관적인 코드로 데이터를 조작할 수 있어서 객체 모델에 더 집중할 수 있다. 선언문, 할당, 종료 같은 부수적인 코드가 없거나 급격히 줄어든다. SQL의 절차적, 순차적 접근이 아닌 객체지향적 접근으로 생산성이 증가한다. 재사용 및 유지보수의 편리성이 증가한다. ORM은 독립적으로 작성되어 있고, 객체들을 재활용 할 수 있다. 때문에 모델에서 가..