
7. 개발 언어(Java 위주) [C언어 포인터 란?] 포인터는 어떤 변주의 주소값을 저장하는 변수입니다. 포인터의 선언은 변수명 앞에 *을 붙이면 가능하고, 어떤 변수의 주소값을 얻기 위해서는 &를 붙이면 됩니다. #include int main() { int* p = NULL; int num = 10; p = # printf("포인터 p의 값: %d \n", p); printf("num의 주소: %d \n", &num); return 0; } [Java의 장점과 단점] 장점 JVM 위에서 동작하기 때문에 운영체제에 독립적이다. 가비지컬렉터가 메모리를 관리해주기 때문에 편하다. 단점 JVM 위에서 작동하기 때문에 실행 속도가 상대적으로 느리다. 다중 상속이나 타입에 엄격하는 등 제약이 있는 것이..

6. 데이터베이스 [인덱스(index) 란] 인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조이다. 만약 우리가 책에서 원하는 내용을 찾는다고 하면, 책의 모든 페이지를 찾아보는 것은 오랜 시간이 걸린다. 그렇기 때문에 책의 저자들은 책의 맨 앞 또는 맨 뒤에 색은을 추가하는데, 데이터베이스의 index는 책의 색인과 같다. 데이터베이스에서도 테이블의 모든 데이터를 검색하면 시간이 오래 걸리기 때문에 데이터와 데이터의 위치를 포함한 자료구조를 생성하여 빠르게 조회할 수 있고록 돕고 있다. 만약 index를 적용하지 않는 컬럼을 조회한다면, 전체를 탐색하는 Full scan이 수행된다. Full Scan은 전체를 비교하여 탐색하기 때문에 처리 속..

5. 운영체제 [Byte Ordering 란?] Byte Ordering이란 데이터가 저장되는 순서를 의미합니다. Byte Ordering의 방식에는 빅엔디안(Big Endian)과 리틀엔디안(Little Endian)이 있습니다. Big Endian MSB(Most Signigicant Byte)가 가장 낮은 주소에 위치하는 저장 방식 네트워크에서 데이터를 전송할 때 주로 사용됨 가장 낮은 주소에 MSB가 저장되므로, offset=0인 byte를 보면 양수/음수를 바로 파악할 수 있다. Little Endian MSB가 가장 높은 주소에 위치하는 방식 마이크로 프로세서에서 주로 사용된다. 가장 낮은 주소에 부호값이 아닌 데이터가 먼저 오기 때문에, 바로 연산을 할 수 있다. [메모리 란?] 메모리는 컴..

4. 네트워크 [웹 동작 방식] 1. 사용자가 브라우저에 URL을 입력 2. 브라우저는 DNS를 통해 서버의 진짜 주소를 찾음 3. HTTP 프로토콜을 사용하여 HTTP요청 메세지를 생성함 4. TCP/IP 연결을 통해 HTTP 요청이 서버로 전송됨 5. 서버는 HTTP 프로토콜을 활용해 HTTP 응답 메세지를 생성함 6. TCP/IP 연결을 통해 요청한 컴퓨토로 전송 7. 도착한 HTTP 응답 메세지는 웹페이지 데이터로 변환되고, 웹 브라우저에 의해 출력되어 사용자가 볼 수 있게 됨. [TCP와 UDP 차이] - TCP는 연결형 서비스로 3-way handshaking 과정을 통해 연결을 설정합니다. 그렇기 때문에 높은 신뢰성을 보장하지만 속도가 비교적 느리다는 단점이 있다. - UDP는 비연결형 서비..