본문 바로가기

전체 글290

ddl-auto 옵션 ddl-auto 옵션 종류 💡create : 기존 테이블 삭제 후 다시 생성 (DROP + CREATE) 💡create-drop : 종료 시점에 DROP (기능은 create와 동일) 💡update : 변경된 부분만 반영 💡validate : Entity와 Table이 정상적으로 매핑되었는지 확인 💡none : 사용하지 않음 주의 사항 운영 단계에서는 create, create-drop, update를 사용하면 안된다. 개발 초기 단계에서는 create, update를 사용한다. 테스트 단계에서는 update, validate를 사용한다. 스테이징과 운영 단계에서는 validate 또는 none을 사용한다. 운영 단계에서 create를 사용하면 안되는 이유는 기존의 DB 테이블을 삭제하고 다시 생성시키기.. 2022. 12. 23.
연속된 수의 합으로 특정 수를 만들 수 있는 경우의 수 Programmers Lv.2 '숫자의 표현' 문제를 풀다가 정말 간단한 풀이가 보여서, 관련 개념을 정리하려고 한다. 문제는 다음과 같다. 15라는 숫자가 주어지면, 15를 만들 수 있는 연속된 수의 합의 경우의 수들을 반환하면 된다. ex) number : 15 1 + 2 + 3 + 4 + 5 = 15 - 1️⃣ 4 + 5 + 6 = 15 - 2️⃣ 7 + 8 = 15 - 3️⃣ 15 = 15 - 4️⃣ 총 경우의 수 4가지로 4를 반환 내가 작성해서 제출했던 풀이는 다음과 같다. 주어진 숫자까지 반복문을 돌고, 그 내부에서 또 임시의 i를 만들어서 연속된 수의 합이 주어진 숫자가 되는 경우를 찾는 방법을 사용했다. 주어진 숫자가 15라고 가정하면, tempI는 1부터 5까지 더해질 것이고, 주어진 .. 2022. 12. 21.
2022. 12. 19. § 학습 전(계획) § ▶ 학습 목표는 무엇인가? 프로젝트 관리 프로젝트 개요 사용자 요구사항 정의서 프로젝트 설계 화면 정의서 테이블 명세서 API 명세서 ▶ 이미 알고 있는 내용은 무엇인가? Solo Project를 진행하면서, 간단하게 마주쳐본 것들이 몇 있다. FE 팀원들과 프로젝트를 진행하기에 앞서, 꼭 필요한 내용들이라고 생각하고 오늘 학습 또한 중요하게 여기며 집중 있게 학습하는 게 좋겠다. § 학습 후(점검 및 평가) ▶ 새롭게 배운 내용은 무엇인가? https://jaeyoungb.tistory.com/260 https://jaeyoungb.tistory.com/261 ▶ 다른 사람에게 설명할 수 있는가? 간략하게 절차에 대해 설명할 수 있을 것 같다. ▶ 아직 이해되지 않은 내용은 무엇.. 2022. 12. 19.
프로젝트 설계 화면 정의서 시스템이 제공하는 사용자 인터페이스의 전체 구조와 메뉴 형식, 화면 목록과 화면의 상세 설계 내역을 기술한다. 전체 시스템에 대한 인터페이스 구조를 메뉴 형식으로 기술한다. 화면 및 출력을 구분하여 목록으로 작성한다. 화면별로 상세 설계 내용을 기술한다. 테이블 명세서 최종적으로 설계된 테이블과 인덱스를 데이터베이스 공간에 매핑시키고 저장 공간 등의 물리 모델을 기술한다. 부서에서 운영하는 데이터베이스 목록 작성한다. 데이터베이스의 물리적 상세 내용을 기술한다. REST API (Representational State Transfer - Application Programming Interface) 모든 리소스에 대해 고유한 URI를 부여하고 HTTP Method를 사용하여 리소스를 제어할.. 2022. 12. 19.
프로젝트 기획 SRS(Software Requirements Specification) 소프트웨어가 무엇을 할 것이고, 어떻게 작동할 것으로 예상되는지를 설명하는 문서 제품과 관련된 모든 이해 관계자의 요구를 충족시키는데 필요한 기능을 설명 SRS는 한마디로 제품을 기획, 분석, 설계, 구현, 시험하는데 필요한 종합 설계도와 같다. 프로젝트 흐름 과업 발생 사업자 선정 및 계약 기획, 분석 설계 구현 시험 서비스 오픈 개발 관련 용어 솔루션 : 기업에서 개발한 제품을 의미 ex) 카카오톡, 배달의 민족에서 개발한 애플리케이션 SI(System Integration) : 시스템 구축을 의미 SM(System Management) : 시스템 운영 및 유지보수를 의미 SRS 구성 소개(Introduction) 목적(Purp.. 2022. 12. 19.
Git flow 브랜칭 전략 보다 효율적인 개발 프로젝트 코드 관리를 위해 브랜치의 종류를 나눠 관리하는 전략을 말한다. 대표적인 브랜칭 전략에는 Git flow가 있다. Git flow - https://nvie.com/posts/a-successful-git-branching-model/ 원조 Git flow에서 파생된 여러 Git flow 중 대표적인 것에는 Github flow, Gitlab flow가 있다. pre-project를 위한 Coz' Git flow 핵심 branch main branch : 사용자에게 언제든 제품으로 출시할 수 있는 branch dev branch : 개발 branch 보조 branch feature branch : 기능 개발, 리팩토링 등 다양한 작업을 기록하기 위한 branch .. 2022. 12. 17.
Git branch Git branch 기존 main branch에서의 작업은 유지하고 새로운 feature branch에서 코드 추가 및 수정 작업을 할 수 있다. branch 생성 및 변경 # feature라는 branch를 새로 생성하는 경우 git switch -c feature git checkout -b feature # 기존에 있던 main branch로 HEAD를 변경하는 경우 git switch main git checkout main branch 합치기 # 기능 개발이 진행 git commit -m "기능1의 세부 기능1" git commit -m "기능1의 세부 기능2" git commit -m "기능1 개발 완료" # 병합을 위해 main branch로 전환 git switch main # main b.. 2022. 12. 16.
Github Repository & Github Project 칸반 Gihub Repository 꼭 필요한 파일 README.md .gitignore LICENSE Project 관리 시 활용 가능한 Github 기능 Issue - 새로운 기능 제안 및 버그 제보 등의 이슈 Milestone - task card를 그룹화하는 데 사용 (Bare Minimum, Advanced Challenge, Nightmare 표시) Pull Request - 작업 내용을 branch에 합칠 수 있는지 확인하는 요청 Project - 업무 관리 도움 (칸반 보드 생성) Gihub Project 칸반 칸반 - 작업을 시각화하고, 업무의 병목 현상과 리소스 낭비를 해결하는 업무 관리 방법 칸반 실천법 6가지 업무 시각화 진행 중인 업무 제한 흐름 관리 명확한 프로세스 정책 피드백 루프 .. 2022. 12. 16.
Section 4 회고 Section 4 끄읏 Section 4 동안 배운 내용들은 다음과 같다. ● 인증/보안 기초 - Hashing, Cookie, Session, SQL injection, CSRF ● Spring Security - 인증(Authentication), 인가(Authorization), JWT 인증, OAuth2 인증 ● Spring WebFlux - Reactor ● Cloud - (Amazon Web Service - EC2, RDS, S3, Pipeline), Docker, Github Actions ● Solo Project - Todo Server Application Spring MVC와 관련된 내용을 완전히 정립하지 못한 채, Section 4를 들어갔던 것 같다. 설마 Section 3 내용.. 2022. 12. 14.