쓰레드 시작하자.(프롤로그)
🎯 배경 쓰레드를 학습한게 몇번인지 모르겠다. 자면서도 생각했다. 내가 과연 쓰레드를 아는걸까?근데 왜 모르는 걸까? 비동기로 돌리는건 쉽게 하는데 왜 하는지도 모르고 이거 말고 더 좋은 방법이 있는지도 생각하지 않는다. 이게 정답이라 생각한다.개발자는 다양한 방식으로 문제를 해결을 해야 된다고 생각한다. 또, 상상속의 코드도 실험을 할 줄 알아야 한...
🎯 배경 쓰레드를 학습한게 몇번인지 모르겠다. 자면서도 생각했다. 내가 과연 쓰레드를 아는걸까?근데 왜 모르는 걸까? 비동기로 돌리는건 쉽게 하는데 왜 하는지도 모르고 이거 말고 더 좋은 방법이 있는지도 생각하지 않는다. 이게 정답이라 생각한다.개발자는 다양한 방식으로 문제를 해결을 해야 된다고 생각한다. 또, 상상속의 코드도 실험을 할 줄 알아야 한...
🎯 배경 지금까지 JVM에 대해 학습을 했다. 이제 마지막 gc부분만 학습하면 JVM에 대한 기본적인 내용은 다 공부한 느낌이 든다. 계획을 말하면, GC는 JVM의 힙메모리에서 동작을 하게 된다. 그러면 저번장에서 살펴본 힙메모리를 토대로 GC를 학습할 예정이다. 종류 저번장에서 힙메모리에 대해 학습을 하였다. 간략하게 복습하자면 힙메모리는 you...
🎯 배경 이제 3번째 챕터의 마지막이다. 생각을 해보면 백엔드와 프론트는 같은 프로젝트에 있어야 하나 분리를 해야 하나 고민을 하지 않는다. 당연하다는듯이 따로 만든다. 과연이게 정답일까? 잘 모르겠다. 분리시 일단 분리 하게 되면 프론트 포트와 백 포트의 충돌을 어느정도 감수를 해야 한다. 이때 발생하는 이슈가 CORS다.이 이슈에 대해 설명하는게...
🎯 배경 저번에 JVM에 대해 학습을 해봤다. 다른 메모리에는 스택,메소드 에리어, 네이티브 스택, pc 레지스터가 존재하는데, 힙 메모리는 조금 특별하다고 생각한다. 뭐랄까 다른 메모리는 그 자체로 설명이 가능한거 같다고 생각하지만 힙 메모리는 그렇지 않는거 같다. 이렇게 생각한 이유는 스택 구조, 메소드 에리어 구조 이런걸 공부하는걸 생각을 못했기...
🎯 배경 저번에 GIT을 사용하면 어떤 이점이 있는지 생각해보았다. 이제 CI/CD툴차례인거 같다. 그전에도 말헀던거 같은데 CI/CD툴은 배포지식이 없는 사람들도 배포가 가능하게 도와준다. 하지만 모든 인원들이 배포지식이 없지는 않을거 같다. 최상위 결정자 혹은 미들 계층인 사람들은 이에 대한 지식이 필요하다. 그래야 STEP BY STEP으로 생각...
🎯 배경 지금 고민을 해봐야할것이 CI/CD툴만 가지고 배포가 가능한지 생각해봐야 한다고 생각한다. 결론부터 말하자면 가능은하다. 하지만 일반적으로 CI/CD 서버와 서버 작성 서버는 서로 다르다. 그렇다는 얘기는 CI/CD 서버로 파일을 전송을 시켜야 된다는 이야기인데 그러면 개발자가 그 파일을 직접 옮겨야 하는걸까? 물론 그렇게 할 수 도 있곘지만...
🎯 배경 자바에서 제일 중요하다는게 무엇이냐고 물어보면 대부분 JVM이라고 말한다. 왜냐하면 JVM은 자바에서 핵심 동작이라 생각한다. 그런데 우리는 JVM에 대해 잘 알지 못한다. 왜냐하면 JVM을 몰라도 JAVA를 사용할 수 있기 때문이다. 그럼에도 불구하고 JVM을 학습하는 목적은 다른 지식을 학습 하기 위해서는 JVM을 아는것이 유리하기 때문이...
🎯 배경 이번장에서는 프로젝트를 배포해볼 예정이다. 그러기 위해서는 서버가 필요한데 나는 서버로 AWS클라우드를 선택하였다. 선택 이유는 2가지가 있다. 첫번째 이유는 현존하는 클라우드중에서 가장 친숙하기 때문이다. 그리고 두번째 이유는 많은 트래픽이 없으며, 배포할 파일도 크지 않기때문에 프리티어로 충분하다고 생각하였다. 그래서 AWS EC2를 사용...
🎯 배경 지금까지 회사 프로젝트 2개 사이드 3개를 진행하면서 느낀점을 간략하게 작성해보면 우리는 너무 best pratice로만 보고 개발을 한게아닌가 싶다. 하나의 기술을 선택할때도 수많은 고민이 존재해야되지만 어찌된 영문인지 모르겠지만, 항상 1~2가지의 방법으로만 고민을 했었던거 같다. 그렇다고 해서 문제가 발생해서 선택하지도 않았다. 뭔가...
🎯 배경 회사 프로젝트를 진행하면서 항상 3계층 아키텍처를 사용했습니다. 기존에는 자바 11과 스프링 부트 2.X 버전을 사용하고 있었는데, 어느 날 프로젝트의 버전을 자바 21과 스프링 부트 3.X 버전으로 업그레이드해야 했습니다. 버전을 올리면서 수많은 의존 관계가 뒤엉켜 있었습니다. 한땀한땀 의존 관계를 수정하는 작업을 해야 했고, 이 과정에...