개발(93)
-
04.09 TIL (테스트 코드)
테스트코드 회원가입 작성해서 성공했을 때 조금은 머리속에서 정리가 된거 같았지만, 로그인에서는 바로 오류.. @Test public void 유저로그인() { String email = ""; String password = ""; // given Member member = Member.builder() .email("c@naver.com") .password(passwordEncoder.encode("@rjsgh1212")) .nickname("tester") .loginType(LoginType.USER) .build(); memberRepository.save(member); TokenDto tokenDto = new TokenDto("access_token", "refresh_token"); w..
2023.04.09 -
04.08 TIL (테스트 코드)
우선 테스트 코드를 작성 전에 테스크 코드에 대해 알아보았습니다. 소프트웨어를 테스트하는 유형은 여러 가지가 있습니다. 소프트웨어 테스트 방법은 유형, 목적, 방법 등에 따라 최적화된 테스트 방법을 채택해야 합니다. 그 중에서도, 가장 많이 사용되고 있는 단위 테스트(Unit Test), 통합 테스트(Integration Test) 2개를 정리합니다. 단위 테스트(Unit Test) 프로그램에서 테스트를 할 수 있는 가장 작은 단위를 실행하여 단위가 정상적으로 흘러가는지를 테스트하는 것을 말합니다. 단위 테스트(Unit Test)를 진행합니다. 단위 테스트(Unit Test)의 크기가 줄어들면, 단위(Unit)의 복잡도가 줄어들기 때문에, 최소한 단위(Unit)는 가장 작은 크기로 진행을 합니다. 일반적..
2023.04.09 -
04.07 (Refactoring)
우리가 런칭하는 사이트에 검색 기능 로딩 시간이 길어서 Refactoring을 하기로 결정을 하였습니다. @Transactional(readOnly = true) public Page getPosts(String category, Sort sort, String lat, String lng, int page, int size, Member member) { List postResponseDtos = new ArrayList(); Pageable pageable = PageRequest.of(page, size); List posts = postRepository.findByCategory(category); // 위도, 경도 Double usrtLat = Double.parseDouble(lat); Do..
2023.04.07 -
04.06 TIL (Nginx)
Nginx란 무엇일까? 트래픽이 많은 웹 사이트의 확장성을 위해 개발된 경량의 고성능 웹서버라고 한다. 아파치 웹서버에서 트래픽이 감당이 어려운 문제를 해결하기 위해 등장했다고 한다. 동시 접속 처리에 특화된 웹서버로, 클라이언트로부터 http 요청을 받아 요청에 해당하는 파일을 http 통신을 통해 응답해주는 프로그램 정적 컨텐츠 호스팅, 리버스 프록시, 캐싱, 로드밸런싱, 미디어 스트리밍 등 유용한 여러 역할을 수행한다고 한다. 1.Reverse Proxy ? 대부분의 WAS 는 Web Server 기능을 제공하므로 Reverse proxy 가 없이 내부 WAS 가 직접 서비스를 제공해도 되지만 이렇게 구성하는 이유중 여러가지가 있다. 리버스 프록시의 웹서버를 리소스의 앞 단에 위치 시킴으로, DB와..
2023.04.07 -
04.04 TIL (SSE)
SseEmitter은 어떻게 작동하는지 이해하기 힘들었기에 정리해놔야 겠다는 생각이 들었... public SseEmitter subscribe(Long memberId, String lastEventId) { // emitter 에 고유값을 주기위해 String emitterId = makeTimeIncludeUd(memberId); Long timeout = 10L * 1000L * 60L; // 10분 // 생성된 emitterId를 기반으로 emitter 를 저장 SseEmitter emitter = emitterRepository.save(emitterId, new SseEmitter(timeout)); // 전달이 완료되거나 emitter의 시간이 만료된 후 레포에서 삭제 emitter.onC..
2023.04.07 -
04.03 TIL
카카오 소셜로그인 삽질 6일차.... 카카오 맘편히 쉽겠다 생각하고 시작한게 문제의 시작 첫날에 localhost:8080에서 index파일로 테스트를 했을 때 성공해서 프론트 분들께 넘겼드렸으나, 로컬에서는 토큰을 받지만 프론트에서는 토큰을 못받으셨음 그래서 리다이렉트uri를 프론트서버 localhost:3000으로 맞춰드리고 했으나 토큰을 2번 요청으로 오류가 발생하지만 실행은 되었습니다. 그래서 팀원 회의를 통해 어느정도 기능구현과 CSS가 자리잡고 다시 해보기로 했습니다 그래서 어느 정도 구현이 완료되고 프론트 서버 배포 후 거기에 리다이렉트uri를 프론트 서버와 맞추자마자 500오류의 시작 여기서부터 삽질 시작... 우선 카카오 Service 로직 @Slf4j @Service @RequiredA..
2023.04.03