
앞으로 데브코스 과정을 진행하며 어떻게 공부할지 생각해 보았다.첫 번째로 기본적으로 실시간 강의가 진행되지만, 리뉴얼되기 이전 기수에서 강의로 사용되었던 LMS강의영상이 함께 제공되어서 반드시 함께 시청해야겠다고 생각했다.두 번째로 데브코스 백엔드 전공 수강생 6명으로
추가적으로 앞으로 공부한 내용과 데브코스 활동 내용등을 어떻게 정리하여 기록할 지 좀 고민해보았다. 데브코스 공식 활동 내용으로도 TIL(Today I Learned) 또는 WIL(Weekly I Learned)등 기록하는 활동이 있는데, 내 정리방식과 이를 가능한 함
사정에 따라 학습 계획과 이를 정리할 계획에 수정사항이 생겼다. 따라서 이를 따라 진행할 예정이다.학습계획 수정사항1\. 원래는 LMS강의로 진행하려 했으나, 실시간 강의를 중심으로 진행하기로 결정함. 따라서 아래 수정본과 같이 변경2\. 실시간 강의로 인해 필기하기

인텔리제이 좌측 디렉토리 표시 창에 현재 존재하는 패키지가 표시되지 않는 현상에 대한 트러블 슈팅이다.문제 상황처음에는 git pull이 적용이 안되는 문제인 줄 알았다. 그 경위는 다음과 같다.데브코스 스터디의 Organization을 fork한 리포지토리를 syn
구글링으로 나오는 대부분의 방법을 시도해보았는데도 해결되지 않는다면, 다음 글을 참고하기 바란다.인텔리제이 - 패키지가 표시되지 않는 현상
주마다 쓰려고 하는 건 아니고, 이번 주에 자바기초에 대해 들으며 새롭게 알게 된 내용들을 한 번 모아보고자 작성한다.스프링까지는 기본개념을 복습하려는 마인드로 듣고 있는데, 이 과정에서 새로 알게 된 것이나 잊고 있던 개념까지 정리가 되었고 많은 도움이 됐다. 이번주

Stream API를 이해하기 위한 순서에 따라 그 과정을 처음부터 낱낱이 열거해보겠다.대략적인 순서는 다음과 같다.1\. 함수형 인터페이스(Functional Interface)2\. 익명 객체(Anonymous Object)3\. 람다 표현식(Lambda Expre
스터디 활동 내용에 따라 매 주 목요일, 각자 공부한 내용을 정리하여 발표를 하고 있다.나는 Mutual Exclusion이 필요하게 된 배경(Assembly Code에서 일어나는 상황)과 primitive한 구현방법부터 Semaphore기법까지에 대해서 발표했다. 이
스프링 파트로 넘어가서, DI와 AOP에 대해 배웠다.우선 오늘 배운 DI에 대해서 정리하다 보니 자연히 DI, DIP, IoC 등등을 연관지어 정리하게 되었다. 그러던 중 어느 블로그에 라이브러리와 프레임워크의 차이를 IoC로 설명할 수 있다고 하는 글을 발견하게 되
1\. 라인에 breaking point 찍기2\. 디버그 실행 (벌레아이콘)3\. 한 줄씩 내려가거나, 호출한 메서드로 들어가며 탐색\- step over 버튼 : 다음 라인으로 넘어가기\- step into 버튼 : 안으로 들어가기 (해당 라인에서 호출한 메서드로)
현재 우테코의 프리코스를 진행하는 활동을 하고 있다.아마 2021년에 진행된 프리코스의 1주차 프로젝트이다.https://github.com/Anyeon00/java-baseball-precourse구현을 시작하고 보니, 프로그래밍 요구사항의 "함수(또는 메소
이 전의 프로젝트에서 SpringSecurity를 사용하다 CSRF에 대해 알아보게 되었고 글을 쓴 적이 있다. 오늘 LMS강의로 SpringSecurity파트 중 CsrfFilter를 공부했는데, 이전 글과 관련하여 더 쉽고 확실하게 정리할 수 있을 것 같아서 작성한

첫 번째는 오늘 스프링 강의를 듣다가 처음 알게 된 자바 기초 문법이 있었다.지역 변수는 자동 초기화가 되지 않는다는 것이었다.여기서 a는 0으로 자동 초기화가 되지만, b는 초기화되지 않아 컴파일에러가 발생한다.다른 변수타입도 마찬가지로 자동초기화가 되지 않는다. 진

프리코스 1주차 - 숫자야구 게임 구현이 끝났다.프리코스를 진행해보며 느낀 점이 몇 가지 있었다.첫 번째로 프로그래밍 요구사항인 "함수(또는 메소드)가 한 가지 일만 하도록 최대한 작게 만들어라"를 따르며 느낀 점이다. 나는 원래 메서드를 상당히 기능단위로 분리하는 편
SpringSecurity LMS강의를 보고나서, 예전에 아무것도 모르고 거의 배껴썼던 WelCheck프로젝트의 JWT구현 소스코드를 보며 개념을 정리해보았다. 그리고 그 내용을 ChatGPT한테 검증받아보았다.스프링시큐리티에서 원래 UsernamePasswordAut
컴파일 -> 오브젝트 파일 생성 -> 실행\* 오브젝트파일\- 확장자 : .o\- 코드 : 기계어컴파일 -> 바이트코드 파일 생성 -> 실행\* 바이트코드\- 확장자 : .class\- 코드 : 바이트코드\* javac로 컴파일, java로 실행 \_가상머신(JVM)에
JPA의 시작과 끝이라고 불리우는 만큼 중요한 개념인 N+1 문제에 대해 간단명료하게 정리해보려 한다.LAZY를 적용한 이후의 상황에 대한 내용이다.즉, 단일객체 필드를 조회하는 경우만약 Member를 조회한다면, Member를 조회하는 쿼리와 Member의 team을
링크 참고 https://sm-studymemo.tistory.com/141클라이언트의 페이징 요청을 처리하는데 필요한 정보가 담김int page, int size, Sort sort (시작페이지, 데이터갯수, 정렬기준)Page 구현체 : PageImpl요청에

2차 프로젝트 정보 (노션) 프로젝트 컨벤션 지속 성장가능한 소프트웨어를 만들어가는 방법 모듈은 이미 만들어져있으니 상관없고, 비즈니스로직과 레이어에 관해서 적용해보기 멀티 모듈 멀티모듈 개념 : https://jojoldu.tistory.com/123 각 모듈 역
Spring JPA Save() vs SaveAll() vs Bulk Insert 이 블로그 글을 이해하기 위해서 시작되었다.우선, 이 문장이 이해가 안갔다.save() 메서드의 특징은 @Transactional 로 감싸져 있어 프록시 기반 동작을 합니다.A. 예를 들
문제상황게시글 상세보기 기능을 구현하고 테스트해보았다. 그러자 다음과 같은 에러가 발생했다.
스터디내 다른 팀원들이 요새 동시성 제어에 대하여 하도 이야기를 해서 궁금해서 찾아보다가 여기까지 왔다.우선 트랜잭션이 동시에 일어날 수 있는 상태의 경우와, 그에 따른 문제와, 해결 방법이다.읽기-읽기 : 문제 없음 -> 아무것도 안함읽기-쓰기 : 문제 발생 가능 -
게시글인 Post와 댓글이 Comment가 양방향 연관관계를 가지고 있다. 그리고 Postman으로 댓글 작성 요청을 보낸 후 댓글 삭제 요청을 보내니, success 응답이 돌아왔다(에러로그도 전혀 뜨지 않았다). 그리고 댓글 조회 요청을 보내니 댓글이 그대로 남아있

문제상황게시글과 댓글이 양방향 연관관계를 가지고 있는 상태에서, 댓글이 추가되어 있는 채로 게시글을 삭제를 시도했을 때 나타나는 에러이다.org.springframework.dao.DataIntegrityViolationException: could not execut
이 글은 다음 두 클래스가 양방향 연관관계를 가지고 있는 상황을 가정한다. 양방향 연관관계 저장하는 법 상황 team1에 member1을 등록하려고 한다. 따라서 team1의 members에는 member1이, member1의 team에는 team1이 저장되어야 한다
영속화 영속화의 사전적 의미는 '사라지지 않고 지속되게 한다' JPA에서는, 영속성 컨텍스트에 올라와 있는 상태를 영속화되었다고 한다. (이후 트랜잭션이 끝나 commit 될 때 DB에 반영된다) 영속화시키는 메서드 em.persist(), em.find(), jpq
자바에서 보통 객체라 함은 클래스이다. 함수는 클래스 안에 속하므로, 객체의 부속품으로써만 존재하였다. 하지만 Kotlin에서는 함수가 객체가 될 수 있다.따라서 다음과 같은 프로그래밍이 가능하다.이는 JavaScript에서도 마찬가지로 자주 쓰이는 형태의 문법이다.K

데브코스를 진행하며 현재까지 두 번의 프로젝트가 진행되었다. 그리고 그에 따른 동료의 피드백을 교환하였다.
Controller와 Service와 Repository가 있다면, 여기서 Service가 외부 의존성을 가지지 않게 만들면 된다. 어떻게 외부 의존성을 사용하지 않게 만드느냐? 바로 인터페이스를 이용하면 된다. Service는 인터페이스를 이용해 구현하고, 해당 인터

개념 WebSocket 웹 환경에서 동작하는 통신 프로토콜로, HTTP를 업그레이드하여 전이중(Full-Duplex) 통신을 제공합니다. 일반적으로 클라이언트는 브라우저 또는 웹 클라이언트이고, 서버는 WebSocket 서버입니다. HTTP 요청을 통해 WebSocke
컨트롤러에서 @DetinationVariable 적용
프로젝트 중 생겼던 이슈에 대한 내용이다. 문제 상황 STOMP에서 특정 topic에서 여러 종류의 메시지들을 처리해야 하는 상황이었다. 다시 말해, 클라이언트가 특정 게임대기방에 참가 메시지, 준비완료 메시지, 게임시작 메시지를 발행한다. 그리고 컨트롤러에서는 DT
최종 프로젝트를 도와주신 멘토님과 마지막 멘토링이 있었다.최종 프로젝트와 그 외에 평소에 궁금했던 점들에 대해 질의응답하는 시간을 가졌다.최종 프로젝트와 관련한 이야기는 내가 프로젝트를 하면서 계속 이야기 했던 뻔한 내용이어서 생략하고, 내가 개인적으로 했던 질문을 기