본문 바로가기

전체 글

(11)
실전 프로젝트 1. 시작 드디어 우리는 실전프로젝트 주차로 들어가게 되었다. 지금까지 블로그를 적고 싶었지만, 이것저것 정신없는 와중에 챙기질 못했다. 그래도 지금부터라도 다시 적는다는 마음으로 적어봐야겠다. 우리조는 커핑이라는 웹사이트를 만들고 있다. 커핑은 근처 지역에서 좋아하는 원두를 찾아 음료를 즐길 수 있는 원두 기반 카페 검색 서비스이다. 2. 유저 플로우 3. 백엔드 역할 분담 나는 여기서 카카오로그인, 회원가입, 로그아웃 기능을 맡았다. 앞으로 내가 구현하면서 겪었던 트러블 슈팅들을 적어보겠다.
스프링 과제 - 연관관계 트러블슈팅 1. 트러블 게시물과 댓글의 연관관계를 설정했다. 댓글은 게시물이 있어야 달 수 있기 때문에 게시물이 삭제되면 같이 삭제가 되어있어야 한다. 하지만 게시물을 삭제했을때 댓글 객체가 삭제되지 않고 남아있어 오류가 발생했다. 2. 해결 과정 연관관계에서 "orphanRemoval = true"를 넣어주며 해결했다. comment는 memo의 자식객체이다. memo게시물이 삭제가 되면 댓글도 같이 삭제가 되어야하는데, memo게시물을 삭제했을때 댓글 객체는 NULL상태로 남아있다. 이 NULL상태를 delete 삭제해주는 것이 "orphanRemoval = true"이다. >> NULL값으로 변한 객체 - 고아객체 >> 고아객체를 delete해주는 메소드 -->"orphanRemoval = true"
항해 주특기 스프링 스프링 주 LV1과제 -로그인 기능이 없는 게시물 만들기가 스프링 1주차 과제로 주어졌다. 정말 아무것도 모르는 상태에서 만들려고 하니까 어려움이 많았다.. -과제를 진행하면서 중요했던 부분 어려웠던 부분을 정리하겠다. ENTITY를 그대로 반환하지 말고 DTO에 담아서 반환하기 Entity - DB 테이블과 매핑되는 클래스로 데이터베이스의 테이블에 존재하는 컬럼들을 필드로 가지는 객체 - 데이터베이스의 persistent의 목적으로 사용되는 객체 -> requset나 response 값을 전달하는 클래스로 사용x - 여러 서비스나 로직들이 Entity 클래스를 기준으로 동작하기 때문에 변경하지 않는게 좋다. - Setter 메소드 사용 지양 -> 변경되지 않는 인스턴스에 대해서도 setter로 접근이 ..
객체 프로그래밍이란?? - 프로그래밍에서 필요한 데이터 추상화 => 상태,행위 가진 개체 만듬 = > 객체들간의 상호작용을 통해 로직 구성
항해 99 알고리즘 주 -서론- 오늘부터 자바 알고리즘 주차가 시작된다. 프로그래머스 0~1레벨 문제들을 각조원끼리 페어프로그래밍을 했다. 알고리즘 문제들을 풀면서 조원들에게 많은 도움을 받았고, 새로 배운 알고리즘 기술들, 라이브러리들이 있었다. 오늘 TIL에서는 알고리즘 문제중 새로 알게 된 것, 어려웠던 부분을 적어볼 것이다. -문자열을 정수로 바꾸기(프로그래머스)- 이 문제는 문자열 s를 매개변수로 받아와 int형으로 변환해서 반환하는 문제이다. 언뜻보면 쉬어 보일수도 있는데, 신경써야 할 부분들이 있다. 우선 코드를 살펴보면서 부족했던 부분, 새롭게 알게된 부분을 살펴보자. -문제점과 해결- 우선 헤메었던 부분은 (-부호)를 신경쓰는 곳이다. 여기서 어떻게 이 부호를 떠와야지?? 하는 의문이 생겨 구글링 한 결과 su..
항해 온보딩 3~4일차 SQL -START- 어제 블로그를 못썼기 때문에 오늘 한꺼번에 몰아 쓰게 되었다.. 앞으로 하루하루 블로그 쓰기를 습관화해서 항해를 나아가야 할 것 같다.. 이번 포스팅에서는 SQL 문제를 풀면서 주로 어려웠던 부분, 헷갈렸던 부분을 다룰 것이다. -흉부외과 또는 일반외과 의사 목록 출력하기 이 문제는 난도가 높지는 않은 문제였지만, 새로운 함수를 발견해서 포스팅하게 되었다. 바로 DATE_FORMAT 함수이다. [DATE_FORMAT 함수는 날짜의 성질을 가지고 있는 칼럼의 형식을 수정해 주는 함수이다.] 함수 형식 - DATR_FORMAT(날짜필드,'%y-%m-%d') '%y-%m-%d' -> %y = 년도 (뒤에 2자리 표기) %m = 월 - 월 숫자(00 ~ 12) %d = 일(00 ~ 31) % 이후..
컨텍스트 스위칭(Context Switching) - 컨텍스트 스위칭 여러 개의 프로세스 실행되고 있을 때, 기존에 실행되던 프로세스 중단→ 다른 프로세스 실행 *즉 CPU에 실행할 프로세스를 교체하는 기술 -PCB 컨텍스트 스위칭은 PCB라고 하는 메모리의 별도 공간에 process 상태값 저장 후 해당 값들을 찾는 방법으로 구현. PCB는 프로세스가 실행 중인 상태를 스냅숏 찍어 저장하는 공간. -작동 순서 a라는 프로세스 - running , b라는 프로세스 ready라고 가정 1. 스케줄러가 a프로세스 실행 중단 후 b 프로세스 실행할 것 요청 2. a프로세스에서 Stack의 데이터 위치 가리키고 있는 Stack pointer의 값과 다음 실행해야 하는 코드의 주소값을 가지고 있는 Program Counter의 값을 PCB에 저장 3. a프로세스..
HTTP 프로토콜 HTTP(Hyper Text Transfer protocol) - 서버/클라이언트 모델을 따라 데이터를 주고받기 위한 프로토콜 ºTCP/IP(컴퓨터 사이의 통신 표준 및 네트워크의 라우팅 및 상호연결에 대한 자세한 규칙을 지정하는 프로토콜 스위트) 위에서 작동한다. º 어떤 종류의 데이터든지 전송할 수 있도록 설계 º HTTP로 보낼 수 있는 데이터는 HTML문서,이미지,동영상,오디오,텍스트문서 등 여러 종류가 있다. º Hypertext(링크) 기반으로 데이터를 전송하겠다. → 링크기반으로 데이터에 접속 하겠다는 의미를 가지고 있다. 작동 방식 → 클라이언트에서 요청을 보내면 서버는 요청을 처리해서 응답하는 방식이다.