profile
Strengthen the core.

M1 맥북 MySQL 설치 및 설정

기존 윈도우 환경에서 xampp 를 통한 MySQL 설치, SQLYog 나 Workbench 를 통해 DB 작업을 했었다. 그러나 M1 맥북 구매 후, homebrew 를 통한 MySQL 설치와 새로운 SQL tool 인 Sequel Pro 를 알게 되었고, 바로 설치

2022년 11월 24일
·
0개의 댓글
·

필터, 인터셉터 직접 구현하며 느낀 것들

Spring Security 를 활용해 로그인 과 관련한 부분을 구현해보았는데, 쿠키 및 세션, 필터, 인터셉터 등 로그인 기능 구현에 필요한 개념들을 학습해보았고 이를 정리해보려 한다. 단순 개념 설명, 이론 정리는 이미 노션 페이지에 개인적으로 기록하고 있어서, 블

2022년 11월 16일
·
0개의 댓글
·

데이터 삭제 시 발생하는 오류 정리

✅ 현재 상황OptionGroup 과 Option 을 중간테이블을 두어 일대다, 다대일 관계로 풀어내었다.OptionGroup 에서 Option 에 대한 정보를 갖고 있을 때(중간테이블), OptionGroup 을 삭제할 때 에러가 발생한다.Foreign Key로 다른

2022년 9월 29일
·
0개의 댓글
·

중간테이블에 값 추가하기, 버튼 클릭 에러 수정하기

✅ 알게 된 점처음에 무엇이 잘못되었는지 모르겠어서 몇 시간을 찾아보고, form 형태로 넘기지 않고 @RequestParam 으로도 바꿔보고 등 다양한 방식을 시도했다.그러다, 팀원 중 한 분의 도움으로 debug 하는 방법에 대해서 좀 더 알게 되었고, 설정해 둔

2022년 9월 14일
·
0개의 댓글
·
post-thumbnail

프로젝트 패키지 구조 관리

프로젝트를 진행하면서, 패키지 구조를 어떻게 할 지에 대해 고민을 해보았다. 다양한 방법들이 있지만 팀원들끼리 정한 방식은 도메인을 기준으로 Controller, Service, Repository 를 담고그 안에는 form 패키지를 두어 dto 같은 것들을 담아두는

2022년 9월 14일
·
0개의 댓글
·

DB 구조 수정, 엔티티 명 수정 (많은 오류가 발생했다...)

✅ 문제점과 해결책 제시기존에는 메뉴 옵션만 존재해서, 한 메뉴가 가질 수 있는 옵션들을 그룹핑 할 수 없었다.옵션그룹 엔티티를 새롭게 추가해서, 옵션그룹과 옵션을 다대다 관계로 맺어줬다.다대다인 이유는, 옵션 하나가 여러 옵션에 속할 수 있고, 옵션그룹이 여러 옵션들

2022년 9월 6일
·
0개의 댓글
·

API 기반 세부 기능 설명, GitHub 오류 해결, 메뉴 생성 개발

API 를 바탕으로, 기능별 분류로그인, 회원가입메뉴판 crud주문 확인 기능매장 관리 기능카테고리 crud유저 닉네임설정 + 메뉴판 조회기능장바구니 crud + 주문주문 내역 확인 + 주문 취소첫 번째 스프린트에서는 메뉴판 CRUD와 카테고리 CRUD를 진행MenuF

2022년 9월 6일
·
0개의 댓글
·

이미지 파일 업로드, DB에 파일 저장하기

method="POST" enctype="multipart/form-data" 는 파일 업로드 시 반드시 필요한 폼 속성이다.@RequestParam 으로 폼의 input 태그의 name 속성 값이 바인딩된다.String genFileDirPath; 라는 변수로 아래

2022년 9월 6일
·
0개의 댓글
·
post-thumbnail

API 명세와 데이터베이스 모델링

✅ API 설계를 우선적으로 진행.마인드맵으로 구상한 기능들에 대해 url 매핑을 진행.크게 Customer, Admin 으로 나누어 진행\-> 맨 앞에 /customer 또는 /admin 으로 구분.✅ DB 모델링DB 모델링은 ERDCloud를 통해 진행했다. DB

2022년 8월 29일
·
0개의 댓글
·
post-thumbnail

프로젝트 소개

프로젝트를 계획하고 설계하기 전에 가장 우선적으로 여겨야 할 것은 프로젝트의 시작 동기라고 생각한다. 구체적으로 왜 이 프로젝트를 시작했는지, 구체적으로 어떠한 편의를 주고 싶어 기능들을 기획했는지를 생각해봐야, 프로젝트의 방향성이 잡힌다.✅ 코로나19로 인해 점점 증

2022년 8월 29일
·
0개의 댓글
·

SOLID 5 원칙, 다형성을 지향하는 객체지향 개발

뭔가 단순히 프로젝트 내용을 열거하는 것보다, 실제로 개발해보면서 마주친 에러들, 어려운 내용들을 정리해보자.✅ 테스트 코드 작성 방법을 given, when, then 으로 나눠서 작성해보자.단일 책임 원칙이 잘 지켜진 설계이다 ! 🤔 회원 도메인, 주문 도메인처럼

2022년 8월 9일
·
0개의 댓글
·

Controller, Service, Repository

Controller 안에서 사용하는 비즈니스 로직들이 다른 Controller 의 핸들러 메서드에 재사용될 수 있다. 즉, 재사용되는 코드를 따로 빼놓지 않으면 엄청나게 많은 중복이 발생할 수 있다.각자의 역할에 충실하게 설계함으로써, 각 클래스가 어떤 부분을 맡고 있

2022년 8월 7일
·
0개의 댓글
·

GET 방식과 POST 방식

request 는 HttpServletRequest 클래스의 객체로, 해당 메서드를 사용하면 GET 방식인지 POST 방식인지 확인할 수 있다.해당 프로젝트에서는 Rq 클래스(커스텀 라이브러리)를 통해 rq.getMethod(); 를 사용했다.다음과 같이 분기문을 하나

2022년 8월 7일
·
0개의 댓글
·

HttpServlet, Http 요청 처리하는 DispatchServlet

HttpServlet 클래스사용자 요청을 처리하는 doGet, doPost 메서드는 모두 HttpServletRequest , HttpServletResponse 객체를 매개변수로 갖고 있다. \- 이 두 객체는 서블릿과 클라이언트 사이를 연결해주는 중요한 객체이

2022년 8월 6일
·
0개의 댓글
·
post-thumbnail

LIKELION🦁 TIL(2022-06-30)

scanf 함수를 호출할 때, 두 번째 인자로 변수의 주소 값을 넘기는 이유는 ??내가 생각한 정답 input 은 스택 메모리에 쌓여있는데, 주소값으로 매개변수를 넘겨주지 않으면 새로운 지역변수가 스택 메모리에 쌓인다. 따라서, input 변수의 실제 주소값을 매개

2022년 6월 30일
·
0개의 댓글
·
post-thumbnail

LIKELION🦁 TIL(2022-06-29)

int a10; ⇒ 8byte 짜리 a레퍼런스 변수 메모리 공간 과 40byte 정수 배열 공간.a 는 a0 의 첫 번째 byte 를 가리킨다.a 는 8byte 짜리 ‘포인터 변수’ 이다.arr\[0] 와 \*arr 는 같다.arr\[9999] 와 \*(arr +

2022년 6월 30일
·
0개의 댓글
·
post-thumbnail

LIKELION🦁 TIL(2022-06-28)

git rm —cached \[파일명] ⇒ git add 삭제 (index에서 그냥 지워버리는 것)특정 파일을 제외할 때 사용하자.git resotre a ⇒ 파일 수정되었을 때, 그 이전으로 바꾸는 코드서버 시작하기 npm run startcat .gitignore

2022년 6월 30일
·
0개의 댓글
·
post-thumbnail

LIKELION🦁 TIL(2022-06-27)

main() 함수가 스택에 쌓이고, change() 함수가 스택에 쌓인다.main() 함수는 4byte, change() 함수도 4byte.main() 함수와 change() 함수 주소 거리 차이는 얼마 나지 않는다. 이를 이해하고 풀어야 함.&x , x의 실제 주소는

2022년 6월 30일
·
0개의 댓글
·
post-thumbnail

LIKELION🦁 TIL(2022-06-24)

사용자가 C언어로 작성 → ‘컴파일러’가 컴파일(번역) → 기계어로 전달.Untitled만약 밑에서부터 차례대로 메모리를 할당받지 못한다면, 나중에 큰 데이터가 들어왔을 때 들어올 공간이 없다.. (메모리를 방어적으로 사용해야, 공간을 효율적으로 사용할 수 있다.)🐤

2022년 6월 26일
·
0개의 댓글
·
post-thumbnail

LIKELION🦁 TIL(2022-06-23)

프로그램 카운터 → 현재 실행 중인 소스코드 라인명령어 레지스터 → 현재 실행 중인 명령어메모리 주소 레지스터 → 타겟(목표)메모리 데이터 레지스터 → 타겟에서 가져온 데이터 or 타겟에 넣을 데이터어큐뮬레이터 → 계산 값. cpu에서 계산 과정 중 발생하는 데이터 저

2022년 6월 23일
·
0개의 댓글
·