전체 글
-
[후기] 코틀린 인 액션후기/책 후기 2025. 2. 5. 22:51
https://product.kyobobook.co.kr/detail/S000001804588 Kotlin in Action | 드미트리 제메로프 - 교보문고Kotlin in Action | 코틀린이 안드로이드 공식 언어가 되면서 관심이 커졌다. 이 책은 코틀린 언어를 개발한 젯브레인의 코틀린 컴파일러 개발자들이 직접 쓴 일종의 공식 서적이라 할 수 있다. 코틀product.kyobobook.co.kr 작년에 지인에게 추천 받아 구매한 코틀린 인 액션 책 내 팀에서도 코틀린을 사용해서 멘토님께 물어봤더니 다들 추천해주는 국룰 책인 것 같다. 책 내용은 팀 코드에 사용되지 않은 내용은 효율상 건너뛴 것도 쬐끔 있다. 책에 대한 평가를 간단하게 요약해보자면.. [1] 자바 유경험자에게 추천하는 기본서- 책..
-
[Network] GSLB (Global Server Load Balancing)공부/컴퓨터 네트워크 2025. 1. 31. 23:03
알고 있어야하는 내용- DNS- Load Balancing 위 내용과 관련된 내용은 생략해서 적었다. 왜 GSLB가 나오게 됐을까?나름대로 이해한 내용을 정리해보았다. 물리적인 거리의 한계유럽에서 살고 있는 사용자가 티스토리에 접속한다고 가정해보자. 사이트가 마법처럼 뿅하고 바로 접속되는 것이 아니니 어떤 과정을 거칠 것이다. 마침 티스토리의 데이터센터가 한국에만 있다고 해보자. 보통 우리가 네트워크 패킷을 주고 받았을 때의 과정을 공부했던 것을 간단하게 이야기하자면 사용자 컴퓨터에서 시작해 유럽의 어느 통신사 DNS에 도착할테고, 해당 DNS는 어떤 과정을 거쳐서 티스토리의 IP 주소를 알려줄 것이다. 이때 IP 주소는 티스토리의 데이터센터가 한국에만 있다고 가정했으니 한국의 IP 주소를 받을 것이다...
-
[OS, Java] Zero Copy백엔드/Java 2024. 7. 31. 19:15
올해 4월달쯤에 간단하게 공부하다가 넘어간 것 같은데, 이번에 제대로 공부할 기회가 생겼다. Zero Copy는 CPU를 사용하지 않고, 디스크/메모리에 저장된 정보를 다른 메모리에 저장하는 방식으로 기존 전통적인 데이터 복사 방식보다 더 성능이 좋은 방식이다. * 이번 내용은 운영체제 이론, 소켓에 대해 알고 있어야한다. (소켓 관련 글) 1. Zero Copy 이전에 사용하는 방법 운영체제에서 사용자 - 커널 공간이 따로 나뉘어져 있는 그림을 많이 봤을 것이다. 코드를 동작할 때, 동작 원리를 깊숙히 들어가면 system call이 호출되는 형식이다. 데이터 복사도 마찬가지로 system call을 사용해서 유저 영역과 커널 영역을 넘나들게 된다. 데이터 복사에서 제일 많이 사용하는 곳은 여러가..
-
[Java] ReentrantLock백엔드/Java 2024. 7. 22. 16:39
몇 주 전에 가상 스레드를 공부하기로 했는데, 생각보다 공부할게 너무 많아서 잘못 건드렸다는 생각이 많이 든다. 포스팅을 적어도 2주에 한 번씩은 하자고 생각했는데, 2주는 무슨 거의 한 달이 된 상황... 그래서 야금야금 분할정복하듯이 키워드를 적어보려고 한다. * 운영체제에 있는 내용은 안다고 가정하고 글을 작성함* CAS 알고리즘에 대해 알고 있으면 좋다 (CAS 알고리즘 포스팅 글) 1. Synchornized자바의 락은 모니터 개념을 사용하고 있다. 모니터란 특정 순간에 하나의 스레드만 객체 인스턴스에 접근할 수 있는 뮤텍스라고 생각하면 된다. 예를 들어서 메서드에 synchronized를 적용하면 인스턴스 메서드에 락이 걸리고, synchronized(객체 인스턴스)를 적용하면 객체 인스턴스..
-
[DB] NoSQL 스토리지 엔진 발전 과정공부/데이터베이스 2024. 6. 23. 22:48
1학기에 Hadoop 수업을 들었는데, 가장 마지막 수업의 제일 마지막 내용에 SSTable이 나왔다. 수업에서는 Hadoop Ecosystem 중 하나인 HBase에서 쓰이는데, SSTable에 대해 더 찾아보니까 NoSQL Storage Engine 발전 과정과 관련이 있었다. 이번 포스팅은 RDB에 사용되는 알고리즘인 B-Tree에 대해 알고 있는 상태로 글을 읽어야 더 도움이 된다. 왜냐하면 B+Tree는 읽기 성능이 좋은 기술이고, LSM Tree는 쓰기 성능이 좋은 기술이라 RDB와 NoSQL의 대표적인 차이점이니 생각해보면서 읽어보면 더 많은 내용을 얻어갈 수 있다. 1. Append Only File (AOF)우선 시작하기 전에 글에 나오는 데이터는 로그 데이터이고, key-value..
-
2024 팀네이버 신입 공채 Tech 최종 합격 후기후기/활동 후기 2024. 6. 17. 20:24
1. 일정 타임라인4학년 1학기를 함께 보낸 네이버... 서류 접수24.03.05 ~ 24.03.18서류 결과24.03.21코딩테스트, 기업 문화 적합도 검사24.03.22 ~ 24.03.24코딩테스트 결과24.04.09기술 역량 인터뷰 (1차 면접)24.04.16 ~ 24.04.26기술 역량 인터뷰 결과24.05.03종합 역량 인터뷰 (2차 면접)24.05.16 ~ 24.05.29최종 결과24.06.14 2. 서류 작성자소서 내용은 3문항이 있었습니다. 1번, 2번은 필수이고, 3번 문항은 선택입니다. 1. 다음 중 본인의 가장 자신 있고 희망하는 분야를 한 가지 선택해 주세요. ■ Front-End ■ Back-End ■ Android ■ iOS ■ Data ■ 공통 선택한 분야에 관심을 갖게 된..
-
[Network] WebSocket공부/컴퓨터 네트워크 2024. 6. 14. 16:22
1. 웹소켓에 대한 간단한 정보인터넷에 널리 알려진 내용부터 잠깐 살펴보고 가자. 먼저 웹소켓이 없었을 때부터 이야기할 예정이라 웹소켓만의 특징을 먼저 알고 있는 상태에서 읽는게 도움이 된다. - HTTP와 같은 Application 계층의 프로토콜이다.- 데이터를 양방향으로 주고 받을 수 있다. 그래서 서버가 먼저 데이터를 보낼 수 있다.- HTTP / HTTPS에서 Upgrade, Connection 헤더를 사용해 웹소켓을 사용할 수 있다. 이번 포스팅은 소켓에 대해 알고 있어어한다. 아래 글을 보고 먼저 소켓에 대해 이해를 한 다음 글을 보는게 좋다.https://hello70825.tistory.com/598 [Network, OS] Socket, I/O Multiplexing, Event Lo..
-
[Network, OS] Socket, I/O Multiplexing, Event Loop공부/운영체제(OS) 2024. 6. 7. 16:57
Socket → I/O Multiplexing → Event Loop 순서로 공부한 내용이다.따로따로 내용을 분리하기엔 서로 연결된 내용이 많아서 한 번에 작성했다. 0. UNIX 철학Everything is a file 객체지향에서 "모든 것은 객체로 이루어져 있다"처럼 UNIX 운영체제의 철학은 "모든 것은 파일로 이루어져 있다"이다.소켓이든, 프로그램이든, 파이프라인이든 모든게 파일로 이루어져 있다는 것이다.이 내용을 기억해두면 좋은게 '추상적 개념'이 아닌 '파일'이라는 관점으로 보아야 수월하게 이해하는데 도움이 된다. 1. 소켓이란?[1] 개념소켓은 운영체제가 제공하는 인터페이스로 애플리케이션 계층의 프로그램이 네트워크 서비스를 사용할 수 있게하는 역할을 한다. TCP/IP 4계층으로 이..