본문 바로가기

분류 전체보기26

밑바닥부터 6개월만에 네카라쿠배가기 집필 후기 서론 취업 후엔 블로그를 거의 안썼는데, 정보글은 회사 위키에 쓰는 것도 있었고, 퇴근 해서는 크몽 전자책을 썼다. 한 개지만, 최근 입소문을 타기 시작한 건지 꽤나 많이 팔리고 있다. (현재 200권을 향해 달리고 있다!) 밑바닥부터 6개월만에 네카라쿠배 합격했던 방법 (책 제목: 6개월만에 네카라쿠배 합격하기) https://kmong.com/self-marketing/464273/7GY0g36Tsj 밑바닥부터 6개월만에 네카라쿠배 합격했던 방법 | 35000원부터 시작 가능한 총 평점 5점의 전자책 67개 총 작업 개수 완료한 총 평점 5점인 Taler의 전자책, 취업·이직 전자책 서비스를 12개의 리뷰와 함께 확인해 보세요. 전자책, 취업·이직 전자책 제공 등 35000원부터 시작 가능한 서비스 .. 2023. 5. 15.
Gradle 파헤치기 - 1. Gradle과 구성 요소 자바 프로젝트를 구성할 때 빌드를 gradle로 선택해 생성하면, build.gradle, gradlew, gradlew.bat 등 다양한 gradle 관련 파일들을 볼 수 있다. 그냥 이렇게 구성해라 하는 튜토리얼만 봤지 이게 뭔지 궁금해본 기억은 없다. 프로젝트를 진행할 때도 슬슬 고민을 해볼 때인 것 같다는 생각이 들었고, 이번 기회에 한 번 파헤쳐봤다. 1. Gradle이란? 우리가 생성하는 Java 코드들(.java 파일들)이 실행 가능한 소프트웨어로 변환되기 위해서는 빌드 과정을 거쳐야 한다. 빌드는 소스 코드를 컴파일 할 뿐만아니라 dependency를 추가해주고 실행가능한 bundle(묶음 파일)을 생성한다. 빌드 과정은 컴파일 → 링킹 → 패키징 → 테스트로 이루어진다. 이렇게 빌드를 끝.. 2022. 11. 30.
[Spring DB] HikariCP는 왜 다른 CP보다 훨씬 빠를까? 2022.09.06 - [Spring/DB Migrator] - [DB Migrator] Spring Boot에 2개 이상의 DataSource 붙이기 [DB Migrator] Spring Boot에 2개 이상의 DataSource 붙이기 2022.08.30 - [Spring] - [DB Migrator] Spring Boot와 함께하는 DB Migrator 프로젝트 - 1 [DB Migrator] Spring Boot와 함께하는 DB Migrator 프로젝트 - 1 이전에 인턴십을 진행했던 회사에서는 Spring에서 NestJS로의 리팩토링 taler.tistory.com 과거 포스팅인 위의 멀티 데이터소스 글을 다시 돌아보며 보강작업을 하던 중 그래서 왜 HikariCP가더 빠른지에 대해서 궁금해졌다.. 2022. 11. 24.
Java의 Error, Exception, 그리고 Checked와 Unchecked 자바는 오류가 발생하거나 발생할 여지가 있는 여러 상황에 대한 예외를 예비해두었다. IllegalArgumentException이나 NullPointerException 등이 이 예외의 예시이다. 또한, Try - catch를 통해 예외를 처리할 수 있음을 우리는 알고 있다. 필자는 보통 어떻게 코드를 구성해야 클린하게 예외를 처리할지에 집중했지, 예외 그 자체에 대해서는 간과하곤 했다. 하지만 여러 경험을 통해 다양한 Exception을 마주하게 됐고, 오류나 예외에 대해서도 공부할 필요성을 느꼈다. 그렇게 정리한 내용을 함께 봐보자. Error와 Exception의 차이 Error와 Exception은 비슷한 것 같지만 다르다. 혼용하기도 하고, 다른 줄 몰랐던 사람도 있을 것이다. 차이점은 문제의 .. 2022. 11. 22.
대용량 트래픽 처리를 위한 쿠팡의 백엔드 전략 엿보기 - 2. Cache Layer (Look aside Cache) 2022.10.24 - [학습/대용량 트래픽을 처리의 노하우] - 대용량 트래픽 처리를 위한 쿠팡의 백엔드 전략 엿보기 - 1. About Core Serving Layer 대용량 트래픽 처리를 위한 쿠팡의 백엔드 전략 엿보기 - 1. About Core Serving Layer 쿠팡의 대규모 트래픽을 다루는 백엔드 전략 정리 첫 번째 챕터, 쿠팡의 현재 상황 및 대용량 트래픽을 처리하는 최전선인 Core Serving Platform의 역할에 대해 다룬다. 먼저 쿠팡이 직면한 트래픽이 taler.tistory.com 해당 글에 이은 두 번째 챕터, Cache Layer에 대해서 다룬다. 사실 지금에 와서 대부분의 고성능 Service Solution으로 Cache는 정해진 답에 가깝다. 따라서 이번 챕.. 2022. 11. 12.
왜 Generic에 Primitive Type은 사용하지 못할까? 자바에서 Generic을 사용하다보면 알겠지만, Generic에는 오직 객체만 사용할 수 있다. 다시 말해, int, long, boolean 등의 primitive type들은 generic에 사용할 수 없다. 그 이유가 무엇일까? Generic은 초기 자바에는 포함되지 않았고, Java5부터 추가됐다. 처음부터 존재했던 기능이 아니기 때문에, Generic이 없었을 때의 Java 버전과 호환성을 갖춰야 했다. 이로 인해 Generic의 구현은 Type 삭제를 통해 이루어졌다. 즉, 모든 generic 타입은 컴파일타임에 object로 변환되고, Generic을 포함하는 클래스는 올바른 타입을 갖는 객체로써 변환된다. 예를 들자면 public class Container { private T data;.. 2022. 10. 25.