일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 웹 애플리케이션
- 딕셔너리
- 톰캣9
- 서블릿의 응답
- 서블릿
- 톰캣
- Servlet
- 애너테이션
- 서블릿 생명주기
- 내장함수
- get방식
- 자료형
- 서블릿 동작 과정
- 서블릿 계층구조
- TDD강의
- HttpServletResponse
- HttpServletRequest
- 배치
- NextSTEP
- doHandle
- annotation
- 숫자형
- POST방식
- 넥스트스탭
- Python
- 리스트
- 오라클
- 튜플
- ORA-65096
- 파이썬
- Today
- Total
목록전체 글 (29)
괴발개발 공부하는 블로그
세션 방식을 택한 이유 저번 연습 프로젝트에서는 로그인 시 jwt 토큰 방식을 선택했다. 그리고 이번 프로젝트에서는 session 방식을 선택했다. 세션과 토큰 방식의 차이점을 찾아보면, 세션이 안정성이 높고 사이즈가 작아서 네트워크 부하가 작다는 등의 여러 장점이 나온다. 하지만 그런 이유보다는 '제대로 안써봐서' 써보기 위해 선택했다. 배우는 단계에서는 이것저것 다양한 기술을 구현해보는 경험도 중요하다고 생각했다. 토큰 방식을 사용했을 때의 문제점들 로그아웃이 애매하다. 일단 한 번 발급한 토큰은 무효가 안된다. 그래서 보통 redis에 블랙리스트를 사용하는데, redis 에 블랙리스트로 저장한다는 것은 결국 서버를 stateful 하게 사용하게 된다. 토큰의 tateless 한 장점이 없어진다. 나..
NextStep 에서 진행하는 TDD 클린코드 15기 강의를 끝냈다!! 정규 강의는 11월 17일까지였지만, 나는 더 늦게까지 해서 끝났다. ㅎㅎ 원래 매 주마다 회고를 작성하려고 했는데, 역시 부지런하지 못해서 마지막 후기만 작성하게 되었다. 소개 간략히 강의에 대해서 소개하자면, 8주간 4개의 미션을 하면 된다. 미션은 자동차 경주, 로또, 사다리타기, 볼링을 자바로 만들면 된다. 그런데 그냥 구현하는 것은 아니고 강의 제목과 같이 TDD와 클린코드 구현이다. 이게 정말 쉽지 않았다. 하나의 미션 안에 또 step이 1~4단계로 나뉜다. 각 스텝이 끝나면 리뷰어가 코드 리뷰를 해준다. 추천 이유 1. 강의 방식 일반적인 강의 방식이랑 완전히 다르다. 일반적으로 강사가 코드를 만드는 것을 따라치는 인터..
프로젝트를 하면서 로그인 인증 방식을 아무 생각 없이 Spring Security 와 jwt 토큰 방식으로 채택하고 구현했다. 정확히 말하면 다른 사람이 만들어둔 코드를 복붙했다. 그리고 jwt 토큰이 뭔데? 구조가 어떤데? 왜 세션을 안쓰고 토큰을 쓰는데? 라는 질문을 들었을 때 아무런 대답을 할 수 없었다. 내가 만드는 코드에 이유를 말하지 못하는 개발 방식과 공부 습관은 정말 위험하다는 생각이 들었다. jwt에 대해서 공부하였고, 내가 왜 이 방식을 선택했는지에 대해서 글을 남기려고 한다. 아직 spring security 까지 공부할 실력과 수준이 아니라고 판단되어 spring security 는 일단 프로젝트에서 걷어내기로 했다. JWT 란? Json Web Token 의 약자이다. JWT 는 ..
지금 로또 미션을 진행 중인데, 처음엔 TDD 로 진행하다가 결국엔 production 코드부터 작성하게 된다. 요구사항을 꼼꼼히 작성했음에도 어떤 클래스가 어떤 역할을 하는가? 를 명확히 하지 못하겠다. 멘토에게 PR 을 올리면서 이 부분에 대해 여쭤보았는데, - 가장 작은 역할 단위로 구분하여 기초가 되는 클래스부터 시작 - 어떤 역할, 어떤 객체가 필요할지 다이어그램 그려보기 를 추천해주셨다. 가장 작은 역할이라함은 로또 미션에서는 LottoNumber 이나 Money 정도 일 것 같다. 이게 개념은 이해하겠는데, 막상 코드를 짜려고 하면 쉽지가 않다. 미션 진행 속도가 많이 더뎌져서 조급해졌는데, 조급해하지 않으려고 노력 중이다...!
자동차 경주 미션을 끝내고 로또 미션으로 넘어갔다. 코드 리뷰를 처음 받아보았는데, 멘토님들이 내가 고민해볼 수 있도록 질문을 던져주는 것이 공부하는데 많은 도움이 됐다. TDD 는 4가지 미션으로 구성되어 있고, 한 개 미션 당 2주 정도 잡고 완주 해나간다. TDD를 하면서 계속 느끼는 점은 '내가 자바가 많이 부족하구나' 였다. 자바8의 람다, 스트림, 옵셔널, 함수형 인터페이스가 너무 힘들다. 또, 메소드 분리, 클래스 분리도 힘들다. 이것을 어떻게 분리해야 하는지? 에 대해서 생각하기가 어렵다. 객체지향에 대해 아직 익숙하지 않아서 그런 것 같다. TDD를 하면서 내가 무엇이 부족한지 깨달을 수 있는 포인트가 많은 점도 좋은 것 같다.
넥스트스탭에서 9월 19일부터 TDD 강의를 시작했다. 항상 강의 형식의 수업만 듣다가 미션 수행 방식은 처음이라 낯설었다. 1단계부터 요구사항에 대해 구현해나가며 완료하면 PR을 보내 코드리뷰를 받았다. 아무 생각 없이 코드를 짰었는데, 이 과정을 들으면서 코드에 대한 고민을 많이 하게 되었다. 특히 '의식적인 연습' 이 좋았다. 나의 컴포트 존을 벗어난 지점에서 훈련을 하는 것이다. 내가 가진 현재 능력에서 한 단계 위의 작업을 시도하여 훈련하는 것인데, 컴포트 존에 있는 편안함과 안정감을 벗어나는 것이 힘들었다. TDD 과정 뿐만아니라 알고리즘 문제를 풀면서도 많이 느낀 점이다. 알고리즘 공부를 시작한 지 2년 정도 되었지만, 난 아직도 난이도가 조금만 올라가도 풀지 못한다. 내가 풀 수 있는 문..
나는 2022.09.30 일자로 퇴사했다. 추석 끝나고 와서 딱 오전 근무만 하고 퇴근했다. 직장 동료들과 마지막 점심을 먹고 집으로 가는데 기분이 이상했다. 내가 퇴사한 이유는 몇 가지가 있다. 1. 커리어 2. 사수의 부재 3. 사람 사실 이전 회사의 잡플래닛이나 블라인드 후기를 보면 90% 이상이 비슷하다. 장점은 사람들 좋음, 일이 편함, 워라밸, 이직이 잘됨 단점은 연봉 그러나 내가 속한 팀은 장점이 전혀 맞지 않았다. - 일단 개발 언어가 vb, 마이크로소프트에서 이미 2008년에 지원이 끝난 언어였다. 레거시는 중요하지 않다. 개선해나가는 것도 나에겐 너무 가치있는 업무라고 생각하기 때문이다. 근데 회사는 그렇지 않았다. 솔직히 이게 가장 큰 퇴사 사유가 된 것 같다. - 코드 수정하고 pr..
예전에 썼던 글들을 다 정리하고 다시 시작하려고 한다. 복사 붙여넣기 말고 양질의 글을 써야지. 나는 2009년부터 지금까지 약 13년간 매일 일기를 써왔다. 그리고 그것으로 취준 자기소개서에서 꾸준함을 어필했다. 근데 중요한 점은 증거가 없다는 것이다.... 물론 나에게 10권이 넘는 일기장이 있지만, 그걸 면접장마다 들고갈 수도 없으니 결론은 증거가 없는 것이나 마찬가지 같다. 그래서 다시 블로그를 써보려고 한다. 다른 사람들에게 보여줄 수 있는 꾸준함의 증거를 만들어야지. 매일 일기를 써온 이유는 여러가지 이유가 있다. 1. 스쳐 지나가는 나의 일상들이 잊혀지는게 너무 아까웠다. 2. 스트레스 조절에 도움이 됐다. 그 당시에는 열받아서 썼는데, 시간이 지나고 다시 보면 띠용? 스러운 것들이 꽤 많았..