안녕하세요. 최근에 기업의 개발자에 대한 수요가 많아지고 언론에 의해 개발자의 높아져가는 연봉에 대한 이슈가 많아지니 코딩 학원들과 교육과정들이 많이 생겨났음을 실감하고 있습니다. 그리고 저도 프로그래머스 데브코스에서 신입 개발자가 되고 싶은 취준생들과 함께 하고 있는데요! 정말 많은 사람들이 개발자라는 직업에 대해 흥미를 갖고 구직을 하고 있는 걸로 보여집니다. 저 또한 몇년전에는 이러한 구직자중 하나였는데요! 그때의 저를 회상하며 캐치 커리어콘에서 신입 개발자 취업준비생을 위한 연사를 진행하게 되었습니다. https://www.catch.co.kr/CatchClass/CareerCon 캐치 커리어 콘ㅣ캐치 캐치 커리어 콘은 구직시장에서 꼭 알아야할 HOT 키워드를 선정하여 캐치의 인사이트를 전달하는 ..
안녕하세요. 회사에서 단순 API 개발 업무를 하다가 동시성 이슈를 맞딱뜨리게 되었고, 동시성 처리에 대해 알아보던중, 병럴(parallel)이라는 키워드를 종종 보곤하여(ex, parallelstream) 두가지 개념에 대해서 정리하고자 합니다. 우선 두가지를 직관적인 표로 비교해서 보겠습니다. 동시성(Concurrency) 병렬성(Parallelism) 여러 작업이 동시에 실행되고 있는 것처럼 구현되는 것 여러 작업이 실제로 동시에 실행되고 있는 것 싱글 코어 환경에서 단일 프로세스 내에 멀티 스레드를 동작하여 구현 멀티 코어 환경에서 멀티 프로세스(단일 스레드) 혹은 멀티 스레드를 활용하여 처리. 빠른 시간에 하나씩 많은 것을 처리 한번에 많은 것을 처리 논리적인 부분 물리적인 부분 예시) 커피 추..
안녕하세요. 오늘은 제 인텔리제이 프로젝트에 구글 자바 스타일 가이드를 적용시켜 코드를 통일화할 수 있는 방법을 소개하고자 합니다. 평소에는 팀원들간의 약속된 코드를 유지하는게 더 중요하다고 생각하고 스타일 가이드에 대한 다소 불필요하지 않나? 라는 생각이 있었으나 최근에는 생각이 바뀌어 강한 규칙을 통해 코드의 일관성을 유지하는 방법이 좀 더 탄탄한 개발조직에는 필요하다는 것을 느껴가고 있습니다. 이직이 잦은 개발자라는 직업의 특성상 계속해서 새로운 개발자분이 오실때마다 코드 스타일을 공유하고 코드리뷰때마다 비즈니스 로직이나 불필요한 로직이 아닌 코드 스타일을 리뷰하는 것이 매우 불필요하다는 생각이 들기도 했었는데 마침 다행이라고 생각했습니다. 우선 제 생각은 여기까지로 하고 적용하는 방법을 공유드리겠..
이번 포스팅에서는 스프링 프레임워크에서의 트랜잭션 관리에 대해 자세히 알아보고 @Transactional 어노테이션에 대해서 살펴보겠습니다. 트랜잭션 관리에 대해서는 매우 방대한 분량이므로 두개의 섹션으로 구분하여 진행하도록 하겠습니다. Spring Transaction Management : 스프링이 트랜잭션 관리하는 방법에 대해 깊게 탐구합니다. @Transactional 어노테이션 : 해당 어노테이션의 사용법과 주의사항에 대해서 탐구합니다. Spring Transaction Management 트랜잭션은 완전히 성공하거나 완전히 실패하는 일련의 논리적 작업단위입니다. 은행 계좌이체를 생각해보시면 됩니다. 여기서 작업단위는 A의 계좌에서 출금하는 금액과 B의 계좌에서 입금하는 금액입니다. 둘중 하나라..
오늘은 오랜만에 개발글이 아니라 새벽감성을 가지고 키보드를 잡아본다. 최근에 면접준비(이직준비가 아닌 좋은 개발자와의 면접, 인터뷰를 진행하기 위한)를 위해 괜찮은 채널을 하나 발견했고, 누워서 유튜브 알고리즘에 의해 아래 영상을 보게되었다. https://www.youtube.com/watch?v=8MbXyX3rMfs&t=540s 뭐 주제는 당연히 지금 내가 쓸 내용과 관련이 있지만 전혀 나와의 경험과는 맞지 않았다. (하지만 결론에 대해서는 흐름이 일치했다.) 지금 나는 해당 주제에 대해서 나의 이야기해보려 한다. 최근에 나에게서 많은 관성들이 무너졌다. 코로나 확진자가 하루 최대 60만까지 치솟으면서 잠시 헬스장 이용을 중단했을 때부터는 운동과 관련된 관성이 무너졌고, 직장인으로써의 월급 관리 및 ..