전체 글(78)
-
[최종프로젝트] 테스트 코드 작성
멤버를 구현한 뒤로 junit으로 테스트 코드를 작성하였습니다. 테스트를 하다보니 제가 아는 테스트 외에 다른 테스트가 있다는 것을 알게 되었습니다. 저는 아래와 같이 @SpringbootTest를 붙여 테스트에 필요한 의존성을 Springboot Container를 이용하여 주입시켰습니다. @SpringBootTest class MemberServiceImplTest { @Autowired private MemberService memberService; @Autowired private BoardService boardService; @Autowired private MemberRepository memberRepository; @Autowired private FileStore fileStore; ..
2023.02.18 -
[최종 프로젝트] 멤버 구현 완료
제가 맡은 멤버 백엔드의 기능을 완성하였습니다. 금일부터 계속 프론트 엔드 작업을 하고 있었는데(사실 결과물을 Thymleaf로 출력하는 것과 다를게 없었습니다.) 회원가입과 로그인을 하지 않으면 기능이 잘 동작하는 지 확인할 수가 없었습니다. 하지만 과정에서 브라우저가 어떻게 토큰을 가지고 있고 처리하는 지 하나도 모른다는 생각이 들었습니다. 크롬은 토큰을 어디에 저장할지 찾아보니 1. 쿠키 2. 로컬 스토리지 / 세션 스토리지 에 저장되는 것 같습니다. 이것을 구현하기 전에 우선 회원가입이 되는 지 확인이 필요했습니다. 하지만 HTML form 태그에서 데이터 값이 서버로 잘 넘어오나 에러가 발생하였습니다. e = rawPassword is null 이러한 에러 로그가 서버에서 잡혔습니다. 확인해보니..
2023.02.14 -
[최종 프로젝트] 중간 정리
프로젝트를 시작한 지 일주일이 되어갑니다. 그동안 Member를 맡아 개발하면서 제가 부족한 점을 다시 한번 느낄 수 있었습니다. 1. MatchingLog와 Member 테이블의 연관관계 내 매칭 로그를 조회하기 위해서 MatchingLog라는 테이블을 Member에서 OneToMany 연관관계로 걸어주었습니다. 하지만 점차 회의와 개발을 진행하다보니 매칭로그에 남아있는 정보가 사실상 회원 식별자(id)와 매칭 식별자(id) 외에 필요한 정보가 없었습니다. 만약 더 필요하다고 해도 DTO와 같이 데이터 전송 전용 객체를 만들어 담아주면 되겠다는 생각을 했습니다. 따라서 현재는 MatchingLog라는 테이블을 지웠습니다.(또 Matching 파트에 문제가 생겨 한동안은 신경쓰지 않을 것 같습니다.) 2..
2023.02.12 -
내일배움캠프 최종 프로젝트
어제부터 최종 프로젝트를 시작하였습니다. https://github.com/arkt0956/game_matching_service GitHub - arkt0956/game_matching_service Contribute to arkt0956/game_matching_service development by creating an account on GitHub. github.com 주제는 게임 팀 매칭 서비스입니다. 즐겜(가볍게 즐기는 유저)와 빡겜(진지하게 즐기는 유저) 모드와 수준에 따라 매칭하여 디스코드 채널을 만들어 주는 서비스입니다. https://chief-scraper-478.notion.site/fedf7e81c9e9437eb4357f4734304fab 즐겜빡겜 [ㅈㄱㅃㄱ] A new to..
2023.02.07 -
컬렉션 자료구조
List 컬렉션 List 인터페이스 메소드 boolean add(E e) - 객체를 맨 끝에 추가 void add(int index, E element) - 해당 인덱스에 객체를 추가 set(int index, E element) - 인덱스의 객체를 새로운 객체로 바꿈 boolean contains(Object o) - 객체가 저장되어 있는 지 확인 E get(int index) - 주어진 인덱스에 저장된 객체를 리턴 isEmpty() - 컬렉션이 비어 있는지 조사 int size() - 저장되어 있는 전체 객체 수를 리턴 void clear() - 저장된 모든 객체를 삭제 E remove(int index) - 주어진 인덱스에 저장된 객체를 삭제 boolean remove(Object o) - 주어진 ..
2023.02.01 -
스레드
스레드는 코드의 실행 흐름. 프로세스 내에서 처리하는 작업의 단위로도 볼 수 있음(코드에 따라) 멀티 태스킹에 포함되는 개념 프로그램 단위의 멀티 태스킹 = 멀티 프로세스 프로그램 내부에서의 멀티 태스킹 = 멀티 스레드 자바에서는 메인 스레드가 존재. 이 메인 스레드가 main() 메소드를 찾아 실행한다. 싱글 스레드는 메인 스레드가 종료되면 프로세스도 종료된다. 하지만 멀티 스레드에서는 실행중인 스레드가 하나라도 있다면 프로세스는 종료되지 않는다. 메인 스레드가 작업 스레드보다 먼저 종료되더라도 작업 스레드가 계속 실행 중이라면 프로세스는 종료되지 않는다. 작업 스레드 생성 방법 1. 직접 생성 Thread thread = new Thread(Runnable target); // 또는 Thread th..
2023.02.01