2022년 회고 (2) 풀스택 국비교육 수강기
·
💬 Smalltalk
케케묵은 지난글 👇 2023.02.01 - [💬/회고] - 2022년 회고 (1) 커뮤니티 기획자가 개발자를 꿈꾸게된 이야기 매우 늦었고 내용이 별거 없어서... 조금 부끄럽지만... gitpage에 있던 글을 끌고 왔습니다. 국비 교육 과정을 듣기로 한다 2022년 6월~10월 : 국비교육 수강 사실 지금 생각해보면 조금 가벼운 선택이었다. 즉, 도망갈 곳을 만들어 놓은 선택이었다. 어차피 커리어에서 1년정도 쉬기로 한거, 돈도 더 들지 않겠다 주말에는 지인의 카페에서 계속 알바를 하고 평일에는 9시부터 6시까지 풀스택 국비교육과정을 듣기로 한 선택말이다. 선택의 기준은 아주 간단했다. 시작하기에 부담이 없을 것, 곧 언제든 다시 돌아갈 수 있을 것 교육과정은 취업을 하기 유리할 것 (범용적일 것) 여..
S3 업로드를 비동기로 처리하고 싶어요✊ : 반환이 있는 @Async를 사용할 때 주의할 것들....
·
🌱 Spring
이 글은 Secondhand 프로젝트를 하며 트러블 슈팅하고 학습한 내용을 정리한 글입니다. 시작하며 Secondhand에 글을 작성할 때는 최대 10장의 이미지를 업로드할 수 있습니다. 이 기능을 구현하고 나서 가장 마음에 걸렸던 부분이 있는데요, 바로 이 10장의 이미지가 하나의 스레드에서 동기적으로 처리된다는 것입니다. 꽤 고화질인 이미지를 10장 한번에 처리를 하면 3초정도 소요되기도 합니다 👀.... 계속 마음에 걸렸던 코드라 이참에 리팩토링을 해보기로 했습니다. 개선 해보자 기존 로직 및 문제점 분석 원래 코드와 시퀀스 다이어그램을 먼저 공유하자면 다음과 같습니다. @Override public List uploadItemDetailImages(List request) throws ImageH..
이제 어엿한 취준생이 되었구나...! : 2023년 6~10월 회고
·
💬 Smalltalk
들어가며 마지막 회고글이 6월 들어갈 때 즈음이었으니 딱 5개월만입니다. 간만에 새벽까지 테스트코드를 짜다가 갑자기 취준 생활에 대한 기록을 하고싶어져 이렇게 회고 글을 작성하기 시작합니다. 너무 오랫동안 '글'을 쓰지 않았어서 생각 좀 글로 옮겨보고 싶기도 하고요. 근 5개월동안 정말 많은 것이 있었다고 생각했는데, 요약하고보면 별로 없는 것 같기도합니다. 5개월간 한 것 6월 : secondhand 프로젝트 시작, 코드스쿼드 수료 7월 : DB 스터디 사작, JPA 스터디 시작, 데이터 크롤링 파트타임 시작 8월 : 데이터 크롤링 파트타임 종료, 원티드 프리온보딩 백엔드 인턴십(6주) 진행 9월 : 데이터 라벨링을 위한 API 개발, DB 스터디 종료, JPA 스터디 종료 10월 : 본격적인 취준 기..
🔐 비밀번호 암호화해보자 (Feat: Spring)
·
🌱 Spring
해당 글에서 구현 언급한 코드는 practice-member-api 에서 확인 가능합니다. 시작하며 초반 연습용 프로젝트에서 회원가입을 구현하며 그냥 일반 텍스트로 회원 비밀번호를 관리해왔습니다. 하지만 보안상 비밀번호를 이렇게 평문으로 저장하는 일은 반드시 지양되어야 합니다. 마침 회원가입과 Jwt 토큰을 사용하는 인증/인가는 매우 자주 쓰는 로직이라 나만의 라이브러리를 만들고 싶었는데요. 원티드 프리온보딩 백엔드 미션이 딱 기본 회원가입 + jwt 토큰 방식의 인증인가 + 게시판 REST API라서 이참에 이 비밀번호 암호화를 구현해보기로 했습니다💪 Spring Framework 는 Spring Security 라는 하위 프레임워크에서 이러한 보안 인증인가 를 편리하게 제공해주고 있지만 해당 암호화 ..
DockerDesktop 탈출 : `Docker.raw`삭제, OrbStack
·
🔧 Tools
발생 상황 M1 256GB 사용중에 특별히 큰 파일이나 응용프로그램이 없음에도 시스템 용량이 매우 크다는 것을 발견했습니다. 소프트웨어 업데이트를 하기 위해서는 용량 확보가 반드시 필요했습니다. 대용량파일과 시스템 파일을 뒤지다가 발견한 `Docker.raw` 이 굉장히 용량이 크다는 것을 발견하였습니다. 발생 원인 `Docker.raw` 파일은 Docker Desktop 애플리케이션을 사용하기 위한 파일입니다. 컨테이너 이미지, 볼륨 데이터 및 컨테이너 런타임과 관련된 모든 데이터를 저장합니다. 만약 Docker Desktop을 사용중이라면 해당 파일을 수정하거나삭제하는 것은 애플리케이션 이용에 지장을 줄 수 있습니다. 직접적인 조작보다는 Docker Desktop을 이용하여 조작하는 것을 추천합니다...
안 읽은 채팅 구현기 : STOMP의 ChannelInterceptor 를 사용하여
·
🌱 Spring
이 글은 당근마켓을 모티브로 한 프로젝트 Secondhand 구현시 이슈 사항을 정리한 글입니다. 들어가며 Secondhand 프로젝트를 진행할 때 가장 마지막에 구현했던 기능인 ‘아직 안 읽은 채팅’에 대해 백엔드 개발자 2명이 한 고민과 구현 과정을 정리해보았습니다. 채팅 시스템은 처음 이 프로젝트를 시작할 당시에 BE는 물론 FE, iOS에게도 굉장히 큰 과제였습니다. 유저간 실시간 채팅을 어떻게 구현할 것이며, 어떻게 DB에 저장할 것인가도 어려운 미션이었는데요. (이것에 대해서는 추후에 따로 글을 적어보기로…) 산넘어 산… “안 읽은 채팅을 어떻게 구현할 것인가”는 다른 의미로 어려웠던 미션이었습니다. 전자는 “새로운 기술을 어떻게 도입할 것인가”라는 고민에 가까웠다면 후자는 채팅 도메인에 대한..