분류 전체보기 91

[ Spring ] AssertJ 정리 ( feat. 테스트 코드 작성하는 법 )

테스트 코드 작성법 BDD 스타일 given : 어떤 상황이 주어졌을 때 when : ~을 실행했을 때 then : 검증한 결과가 ~으로 나와야한다. ⇒ 3단계는 검증단계 : 실행 단계가 예상된 대로 동작하는지 검증 ⇒ 1,2단계는 실행단계 : 사용자 입력을 모방해 테스트 로직 실행 AssertJ란? assertion을 제공하는 자바용 단언문 라이브러리 Junit에서 제공하는 assertEQuals에 비해 에러 메세지와 테스트 코드의 가독성을 높여준다. //junit assertEquals(expected, actual); //AssertJ assertThat(actual).isEqualTo(expected); AssertJ import 정적 import를 하면 AssertJ의 다양한 API를 클래스 이..

Spring 2024.02.18

[ 알고리즘 ] 너비우선탐색 BFS - JAVA

[ 특징 ] 그래프 완전 탐색 시작노드에서 출발해 시작노드를 기준으로 가장 가까운 노드를 먼저 방문한다. 그렇기에 목표노드까지 경로가 여러 개일 경우 최단경로를 보장한다. 큐 or FIFO를 이용해 구현한다. [ 시간복잡도 ] O(V+E) [ 구현시 고려해야 하는 점 ] DFS와 동일하게 방문했던 노드는 다시 방문하지않는다. [ 큐로 알아보는 탐색 순서 ] 탐색순서 1 - 2 - 3 - 5 - 6 - 4

알고리즘 2024.02.16

[ Java ] 1차원, 2차원 배열 복사 - 깊은 복사와 얕은 복사

얕은 복사 - 복사 시 객체의 주소 값을 복사하여 동일한 주소 값을 가진다. - 즉 원래 배열의 주솟값을 가져오는 것 - 같은 곳을 가리키기 때문에 한쪽에서 데이터를 변경하면 다른 한쪽도 변경된 데이터에 접근할 수 있다. 깊은 복사 - 복사 시 객체의 데이터 자체를 복사하여 다른 주솟값을 가진다. - 즉 원래 배열을 그대로 가져오는 것 1차원 배열 복사 1. ' = ' 사용 [ 얕은 복사 ] 자바에서 객체를 ' = ' 을 통해 복사하게 되면 얕은 복사가 일어나 두 객체가 같은 곳을 바라보게 된다. 2. clone() 함수 사용 [ 깊은 복사 ] 만약 같은 공간을 가리키는 것이 아니라 배열의 값 자체를 복사하여 새로운 공간에 할당하고 주소를 받고 싶다면 배열의 clone() 함수를 사용하면 된다. 아래 코..

Java 2024.02.08

SSAFY 11기 웰컴킷 후기

SSAFY에서 2주간의 스타트캠프 후 본 수업과정 3주 차 진행하는 중... 정말 하루하루가 빠르게 지나간다. 벌써 1월 말이라니 1년이 금방 지나갈 것 같은 이 기분 정말 열심히 해야지 。゚(゚∩´﹏`∩゚)゚。 아무튼 시간을 거슬러 2주 전에 싸피 입학식 날이 있었다. 입과하고 언제 받나 오매불망 기다렸던 웰컴킷도 이 날 수령했다. 하늘색을 베이스로 한 정말 귀여운 박스 자랑하기 위해서 글 쓰는 중 ♡⸜(ˆᗜˆ˵ )⸝♡ 두근두근하며 열었던 상자! 박스를 열면 다양한 스티커들이 날 기다린다. 노트북 투명 케이스를 사서 거기에 붙이고 다녀야겠다. 우히히 ( 특히 1일 1 커밋 스티커... 제발 커밋 좀 해 나 자신... ) 귀여운 스티커를 들었더니 네...? 냅다 ꒪ㅁ꒪ 요런 얼굴이 나를 반겼다. 정말 당..

daily note 2024.01.29

2024.01.02 ~ 01.13

1월 2일, 새해를 맞이하고 바로 싸피에 출근해야 했던 나 사업장이라 보안때문에 카메라에 스티커를 붙이고 산다... 그래서 내부의 어떠한 것도 찍을 수도 없고 완전 맛있는 밥도 찍어서 자랑할 수가 없다. 。゜゜(´O`) ゜゜。 그리고 너무 슬픈게 나는 교육장까지 너무 멀어서 셔틀을 7시 34분에 타야 한다. 근데 셔틀 타는 곳까지 걸어가야 해서 7시에 출발해야 했던 첫날 (물론 이젠 짬(?) 차서 7시 10분에 나감) 두 번째로 슬펐던 건 싸피 갈 때도 어두운 데 집에 올 때도 어두웠다. 아래 사진은 놀랍게도 아침에 셔틀 타러 가면서 찍은 사진 ...ㅎㅎ 정말 햇빛 볼 시간이 점심시간에 식당 가는 그 시간뿐이었다. 저번 주에 시켰던 망곰이 굿즈가 도착했다. 지대 귀엽다. 저번에 망곰이 담요 때부터 느낀 ..

daily note 2024.01.14

[ 2023.12.30~2024.01.01 ] 새해기념 동해 여행

이번에도 새해는 동해에서 보내기로 결정한 우리 아침에 다이렉트로 7~8시간 운전하기엔 무리가 있다 판단해서 포항까지만 밤에 가서 하룻밤 자고 출발하기로 했었다. 그런데 포항까지도 3시간은 족히 걸렸던 ⁎●᷄⩊●᷅⁎... 다음날 일어나서 도착한 곳은 속초 중앙시장 원래 가려던 오징어 순대집은 오전인데도 웨이팅이 너무 길어서 ( 예상 웨이팅시간만 2~3시간 ㅋㅋ ) 시장에서 파는 오징어 순대를 먹으러 갔다. 개인적으로 이때까지 먹었던 오징어 순대는 너무 비리기도 했고 별로였어서 기대 안 했는데 정말 맛있었다. 다시 간다면 한 번쯤은 또 먹을 것 같은 그런 맛? 하지만 홍게라면은 절대 안 먹을 것이다... 너무 비린 맛이 강했다 ㅠㅠ 다음으로 새우튀김 집이 유명하다길래 가보았다. 튀김이 너무 크길래 튀김옷이 ..

daily note 2024.01.14

SSAFY 싸피 11기 전공자 합격 후기, 준비과정

과거 휴학하는 조건으로 걸었던 싸피 입과 + 바로 취업하기 싫었던 나 + 제대로 된 프로젝트 좀 해보고싶었음 + 웹 개발자를 꿈으로 하는 친구들을 사귀고 싶었음 + nodejs로 백엔드를 공부했어서 spring도 배우고 싶었음 + 공부를 하는데 달에 130만 원과 맛있는 밥을 준다...? 등등의 이유로 지원한 싸피 1지망이었던 광주로 입과 성공. ⸜(*ˊᗜˋ*)⸝ 많은 내용들이 대외비이기에 단순히 내가 어떻게 준비했는지만 작성해 보았다. 지원당시 나의 모습 학위 : 4년제 컴퓨터공학과 졸업 예정 학점 : 3.9x ( 인강 하나 F 받아서 날아가버린 4점대 。゜(`Д´)゜。 ) 프로젝트 경험 : 있음 어학 : 미제출 - 점수 엉망이어서 제출 안 했음 현장실습, 인턴 경험 x / 수상 내역은 있었지만 에세이..

기타 2024.01.07

Cookies, Session, Token, Web Storage 정리

[ Cookie ] 클라이언트의 브라우저에 저장되는 작은 크기의 문자열 (4KB) 쿠키의 특징 1. 도메인에 따라 제한되기에 다른 도메인에서 해당 쿠키에 접근이 불가능하다. 2. 만료기간이 있고 이는 설정 가능하다. = expires와 max-age로 설정이 가능하며 두 가지 모두 설정되어 있을 때는 expires는 무시된다. 3. 인증뿐만 아니라 여러 데이터 전달도 가능하다. ex. 웹페이지에 대한 언어설정 데이터를 쿠키에 담으면 서버가 이를 받아 유저가 설정한 언어로 변경해 준다. 쿠키의 종류 만료 기간에 따른 분류 영구쿠키 : 만료기간이 있으며 만료 기간이 끝난 후엔 삭제된다. 세션쿠키 : 만료기간이 없고 브라우저 종료 시 삭제된다. 소유자에 따른 분류 ( 직간접 방문의 차이 ) 퍼스트파티 쿠키 :..

기타 2023.11.25

Module not found: Error: Can't resolve 'zlib' in '/Users/yebeen/web/12_study-matching-service/sms/node_modules/body-parser/lib' 해결법

로그인 파트 구현하는데 갑작스럽게 아래에 나와있는 엄청난 양의 에러가 뜨기 시작했다. Compiled with problems: × ERROR in ./node_modules/body-parser/lib/read.js 19:11-26 Module not found: Error: Can't resolve 'zlib' in '/Users/yebeen/web/12_study-matching-service/sms/node_modules/body-parser/lib' BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need ..

기타 2023.11.10