목록도도하게 개발하자 (97)
도도한 개발자
수개월간 꿈에 그리던 회사에 입사했습니다. 제가 취업할 수 있었던 것은 모두 주변 사람들 덕분입니다. 이 글을 계기로 제 주변의 소중한 분들께 감사 인사를 드리고 싶어요. 정말 감사합니다. 🐾 방황 소프트웨어, 흔히 말하는 컴퓨터 공학을 전공으로 삼아 좋은 학점을 목표로 공부했습니다. 그리고 졸업만 하면 어느 회사든 들어갈 수 있을 줄 알았습니다. 휴학 없이 달려 막학기가 되어서야 취준이라는 걸 하게 됐는데 그때서야 취업의 벽을 느끼게 되었죠. 운 좋게 들어간 회사도 있었지만 제가 맡은 업무는 QA였고 어느 한구석도 제 전공과 맞지 않아 바로 그만두었습니다. '이 길이 아닌가..?'라는 고민을 4년 반 정도 하고 나니 인생의 패배자가 된 기분이었습니다. 그러다 어느 날 지인의 소개로 우아한테크코스를 알게..
🐈⬛ 오늘 공부한 내용 IoC와 DI 카페인 혼잡도 갱신 성능 개선 충전소 상태 정보 갱신 성능 개선 백준 정원(Easy) 24049 🐾 느낀 점 & 배운 점 우리 카페인 프로젝트는 스케줄링을 사용해 충전소의 상태정보를 주기적으로 갱신하고 있다. 충전소 상태는 7분에 한 번, 혼잡도는 10분에 한 번 갱신한다. 스케줄링이 돌고 다음 주기가 시작되기 전에 모든 연산이 끝나면 정말 좋겠지만 그러지 못해서 상태정보를 갱신 작업이 계속 뒤로 밀리게 된다. 그래서 박스터와 이를 해결하고자 했다. 자세한 건 팀블로그에 작성할 건데 엄, 계획이라 첨부할 링크는 없다. 미션끝내고 적어봐야지. 오늘 TIL 끝 💭 감정회고 어라,, 오늘 인덱스 공부하기로 했는데..집가서 강의 쪼금 들어야겠따. 쪼금🥱
🐈⬛ 오늘 공부한 내용 13장 동시성 nGrinder로 부하 테스트 쿼리 정리 및 인덱스 설정 이유 작성 백준 1939 중량제한 MVC 미션 step2 리뷰 반영 🐾 느낀 점 & 배운 점 13장 동시성 동시성에 대한 오해 3가지 1. 동시성은 항상 성능을 높여준다. > 항상 그렇지 않다. 대기 시간이 아주 길어 여러 스레드가 프로세서를 공유할 수 있거나 여러 프로세서가 동시에 처리할 독립적인 계산이 많은 경우에만 높아진다. 2. 동시성을 구현해도 설계는 변하지 않는다. > 단일 스레드 시스템과 다중 스레드 시스템을 설계가 다르다. 무엇과 언제를 분리하면 시스템 구조가 많이 달라진다. 3. 웹 또는 EJB 컨테이너를 사용하면 동시성을 이해할 필요가 없다. > 컨테이너가 어떻게 동작하는지, 어떻게 동시 수..
🐈⬛ 오늘 공부한 내용 6. 객체와 자료구조 9. 단위 테스트 백준 앱 7579 MVC 미션 step2 시작 MVC 미션 코드리뷰 @Controller(value=), @RequestMapping(value=) 템플릿 메서드 패턴 🐾 느낀 점 & 배운 점 객체는 동작을 공개하고 자료를 숨긴다. 그래서 기존 동작을 변경하지 않으면서 새 객체 타입을 추가하기는 쉬운 반면, 기존 객체에 새 동작을 추가하기는 어렵다. 자료 구조는 별다른 동작 없이 자료를 노출한다. 그래서 기존 자료구조에 새 동작을 추가하기는 쉬우나, 기존 함수에 새 자료 구조를 추가하기는 어렵다. F.I.R.S.T 깨끗한 테스트는 다음 다섯 가지 규칙을 따른다. Fast: 테스트는 빨라야한다. Independent: 각 테스트는 서로 의존하..
본 게시물은 우아한테크코스 미션을 하면서 작성한 글입니다. 🐈⬛ @RequestMapping을 사용하면서... MVC 미션 코드리뷰 하면서 헷갈리는 개념을 발견했습니다. HandlerKey를 만들 때 생성자에 RequestMapping 어노테이션의 value와 http method를 인자로 넘겨줘야 하는데 이때 value는 요청이 처리되는 url 경로입니다. public static List keysByAnnotation(RequestMapping annotation) { List handlerKeys = new ArrayList(); String value = annotation.value(); // 여기 RequestMethod[] requestMethods = annotation.method();..
🐈⬛ 오늘 공부한 내용 3장 함수 MVC 강의 다시 듣기(Reflection, 웹 애플리케이션의 발전 과정, Servlet과 Servlet Container) 백준 - 평범한 배낭 SRP(Single Responsibility Principle) OCP(Open Closed Principle) 디미터의 법칙 주DB가 다운되면 부DB는 어떻게 승격이 되나? 샤딩을 했을 때 문제점이 뭘까? 하나의 서버 내에 DB포트를 다르게 해서 쓰기 전용, 읽기 전용으로 열면 성능상 어떤 이점이 있을까? 🐾 느낀 점 & 배운 점 3장 함수 아침에 일어나서 집 나오기 전까지 읽는다. "함수 당 추상화 수준은 하나로" 한 함수 내에 추상화 수준이 섞이면 읽기 어렵다. "위에서 아래로 코드 읽기: 내려가기 규칙" 한 함수 다..
🐈⬛ 오늘 공부한 내용 Reflection MVC 미션 시작 + 알고리즘 발가락 담그기 🐾 느낀 점 & 배운 점 오늘 강의 내용 분명 들었는데 잘 모르겠다. 디스패처 서블릿을 아직까지도 모르고 있다니, 반성하고 있다. 혼자 MVC 미션하는 거 진짜 무리라고 생각해서 주드 옆에 앉아서 물음표 살인마처럼 물어봤다. 목요일에 테코톡 있으신 분한테 죄송하지만, 당신은 천재니까 괜찮을거잖아요 그쵸? 이번 미션은 구현하는 것보다 미션에서 어떤 개념을 얻어가야 하는지가 더 중요한 것 같다. 일단 모르는 키워드 나오면 보이는대로 키워드 저장소에 적어놓긴하는데 꼭... 꼭...! 개념 정리 하리라. 박스터가 알고리즘 삼매경에 빠졌다. 제이는 두말할 것 없고. 원래 휘둘리지 않을라했는데 일요일에 데브매칭으로 뚜까 맞아서..
🐈⬛ 오늘 공부한 내용 인프라 아키텍쳐 개선 논의 Content-Type application/x-www-urlencoded application/json 즐거운 코드리뷰 🐾 느낀 점 & 배운 점 🌱 인프라 아키텍쳐 개선 논의 단일장애지점(SPOF)을 줄일 수 있도록 우리의 인프라 아키텍쳐를 어떻게 변경할 수 있는지에 대해 논의했다. DB의 경우 조회(Read)와 수정(Create, Update, Delete)용으로 나눠 조회나 수정에 의한 서버 다운에 대처할 수 있도록 했다. 그리고 우리의 프로그램은 스케줄링을 사용해서 주기적으로 데이터를 업데이트 해주는데 이를 batch 서버에 두면 좋을 것 같다고 생각했다. 음, 끗. 🌱 Content-Type 미션 요구사항으로 로그인이나 회원등록을 할 때 req..