이력서를 완성하고, 면접 본다고 오랜만에 정리하게 되었다. 코딩 테스트로 Oath 2를 이용한 로그인 시스템을 구현하게 되었는데, 앞으로도 종종 사용할 것 같으니 잊어버리기 전에 정리하기로 하겠다. 흔히 볼 수 있는 Naver, Google 등의 계정으로 특정 웹 혹은 앱에 로그인 하는 것이 Oath 2이다. 그 외에도 API를 가져와 사용할 수 있는 표준 기술이며 구현하기도 까다롭고, 보안상의 문제로 인해 Spring boot 나 API를 제공하는 서버는 SDK를 제공해주니 참고해서 만들면 된다. 참고로 이해 안하고 SDK만 가져다 쓰면 나중에 확장할 때 매우 격하게 삽질할 수 있으니 Oath 2의 구동 방식을 반드시 이해하길 추천한다. 1. Client는 특정 Server에서 제공하는 어떠한 데이터를..
열심히 로직을 구현하던 중 문제가 생겼다. 바로 "마일스톤이란 무엇인가?" 이다. 옷 만들다 개발로 넘어온 나로서는 `이슈 관리 시스템`이라는 것을 사용해 본 적이 없었고 검색을 통해 jira 또는 레드마인과 같은 이슈 관리 시스템이 있지만 생소하기만 할 뿐이었다. 어떤 특정한 이슈를 모아두고 그것을 정리하게 도와주는 프로그램? 정도로 인식하고 있는 상황에서 마일스톤을 직접 구현하려니 이놈이 대체 뭐하는 놈인지 알 수가 없었을뿐더러 미리 기능을 구현해놓은 이슈 기능도 어떤 녀석인지 알 수가 없게 되었다. 그냥 게시판 같은 거겠지~ 하고 구현했기 때문이다. 전체적인 그림도 안 그려졌고, 그래서 일단 주석으로 내가 뭘 구현해야 하는지부터 정리해봤다. 나름대로 열심히 쪼개서 적었는데 여전히 모르겠다. 결국, ..
한 번도 문제가 생긴 적 없는 곳에서 삽질하는 상황이 생겼다. 회원 정보 수정 페이지로 넘어가질 않는 것이었다. 문제는 구현 코드는 문제가 없는 것 같고.... 오늘은 머리도 아프고 도서관에서 퇴근하고 싶은 마음이 안드로메다까지 닿은 상태이니 빠르게 정리하겠다. @RequestMapping("/users")로 user에 해당하는 URL을 지정하였다. login 메서드에서 들어온 값으로 DB의 값을 호출해 담고, update를 보면 로그인이 되어있는지 확인 후 model에 담아 값을 넘겼다. 핸들바를 사용하여 로그인되었을 때는 Edit Members와 logout만 보이게 해놓고 로그아웃 상태일 경우 login과 join만 보이게 설정하였다. 그 후 실행한 결과 제대로 mapping이 안되고 Edit Me..
월요일부터 작업을 시작한 ims Project 기능 중 회원가입 기능 구현을 완료했다. 작은 기능이었고, 앞으로의 발전과 나의 도전 정신을 위하여 DTO와 Test를 적용했는데, 당장 atdd를 바로 구현하려니 시간이 너무 오래 걸렸고, 가장 중요한 것은 어떻게 접근해야 할지 감을 잡을 수가 없었다. 그래서 일단 익숙해지겠다는 생각으로 마스터의 코드와 구글의 검색을 통해 단위테스트라고 보는 게 사실상 맞는 test code를 구현하고, 통과하도록 진행했다. 이제 평소처럼 어떤 식으로 작업했는지 정리해보자. graphQl project와 큰 차이는 없는 userClass이다. @NoArgsConstructor은 파라미터가 없는 기본 생성자를 생성해주는 어노테이션이고, 혹시 특정 예외가 생겨 추가적인 생성자..
project를 진행하면서 @Autowired와 @Resource, @Inject에 대해 알아보았다. 근데 아무리 생각해도 궁금증이 남아 머리에서 재생되며 튀어나오길래 이야기를 나눠봤다. 주제 @Autowired와 @Resource의 장단점과 왜 spring에서는 @Inject를 대신하는 @Autowired는 제공하는데 @Resource를 대신하는 어노테이션은 없는 것인가? 뭔가 장단점은 모르겠으나 정리해보자면 "@Resource가 @Autowired보다 먼저 나왔다는 것이고 @Resource가 좀 더 무결하다는 느낌이 든다." "@Autowired spring bean에서 같은 type이 있으면 알아서 주입해주지만 동일 type이 두 개가 있으면 Qualifier로 지정해야 주입이 된다." 는 두 가지..
graphQL project를 진행하다가 resolver에서 막혀 도움 없이는 해결할 수 없는 상황까지 왔다. 시간은 흘러가고 코드를 봐도 시뻘건 에러만 보이니 이러다 5월이 될 것 같은 불길함이 올라와 취업 전에 완성하려고 마음먹었던 두 개의 project 중 하나인 이슈관리시스템을 만들기로 했다. Spring boot 2.1.4, MySQL 기반의 rest API로 만들 것이고, 완성 후 graphQL과 다른 점을 느끼고 경험하는 것이 최종 목표다. 평소처럼 spring Initialize에서 필요한 설정을 해준 프로젝트를 열어 추가로 필요한 dependencies와 yml을 설정하였다. 이미 graphQL project에서 경험해봤기 때문에 빠르게 설정 후 run을 했더니 쉽게 넘어가는 법 없다고 ..
왜 열심히 작업 순서 설계까지 다 하고 갑자기 로그인을 구현하나 싶을 거다. 어제 열심히 쉬었으니 오늘 카페에서 열심히 코딩하며 html 파일을 생성하는데 뭔가 느낌이 이상했다. "privacy는 사용하는 user의 기본 데이터를 가져오니까…. 그럼…. 회원 가입한 사용자가 필요하니……." 한마디로 정리하자면 작업 순서를 잘못 짰다. 그래서 작업하던 privacy를 잠시 중단하고, login 기능을 구현하기 시작했다. 일단 privacy class에 있는 몇몇 부분이 겹쳐서 그 부분은 나중에 수정하기로 하고 회원가입을 할 때 필요한 데이터를 받을 class를 생성했다. Repository를 생성하고, User의 이름으로 데이터를 호출할 수 있도록 하였다. Controller에서 바로 Repository를..
꾸준히 작업하던 중 임시로 적용해놨던 부분에 대한 에러가 다시금 콘솔 창에 띄워지는 장면을 목격하였다. 설정이 반이라지만 해볼 수 있을 만큼 해봤고 더는 뭘 해야 할지 알 수 없어서 전 기수분께 도움을 요청한 결과 10일이나 나를 괴롭히던 에러들을 해결할 수 있었다. 사실 바로 작성할 예정이었으나 위장이 뒤틀린 망자가 돼버린 나머지 회복하느라 좀 늦어졌다. 어째 됐던 본론으로 돌아가 살펴보자면 일단 맨 처음으로 확인한 에러는 MySql에 관한 것이었다. `java.sql.SQLException: Access denied for user ``@`localhost` (using password: NO) ` 뭐 대충 말하자면 사용자 권한이 없다는 거로 해석이 되는데 찾아보니 user `root`@localho..
- Total
- Today
- Yesterday
- JavaScript
- MySQL
- Spring
- Request Handler
- 개발
- 회고
- HTTP
- Java
- 모듈
- mapping
- 인텔리J
- 프로그래머스
- springboot
- homebrew
- Spring Boot
- 한 입 크기로 잘라먹는 리액트
- Gradle
- 스터디 회고
- body
- graphQL
- RequestHandler
- JAR
- 일지
- header
- @Autowired
- web
- 멀티모듈
- 자바스크립트
- 개발일지
- spring-boot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |