전체 글

내일배움캠프 Kotlin & Spring 백엔드 1기 수료 후 솔직한 취업 후기를 써봅니다. 내일배움캠프 참여 전저는 비전공자입니다. 이공계 전공도 아닌 찐 문과생입니다.22년도 하반기에 국비지원 학원을 다니며 처음 Java를 접했습니다. 수료 후 금융권에 취업했지만 낙후된 기술에 실망하고 '찐 개발자가 되고 싶다!'는 생각에 23년 하반기 내배캠 Kotlin 과정을 수강했습니다. 개발자가 되기로 결심한 이유대학 졸업 후 오랜 기간 시험을 준비하다 취업으로 방향을 틀었고, 문과 직무 인턴 체험 중에 PPT를 만들다가 현타가 와서 다른 직무를 찾게 되었습니다. 당시 유튜브에 개발 교육 광고가 엄청 자주 떴고, 시험 삼아 무료 JavaScript 강의(노마드코더)를 들었는데 너무 재미있어서 개발자가 되기로 ..
컨테이너에서 작업한 데이터는 컨테이너 내부에만 존재하므로 유지되지 않습니다. 이를 유지하기 위해 Docker Volume 을 사용하거나 Bind Mount 방식을 사용합니다. 컨테이너를 삭제해도 저장된 데이터를 유지할 수 있습니다. Volume과 Mount Volume 은 파일과 디렉토리를 보관하는 데이터 저장소입니다. 다만 하드디스크처럼 물리적인 저장소가 아니라 논리적인 저장소입니다. Volume을 만들고 이를 Mount해야 사용할 수 있습니다. 참고 https://medium.com/@su_bak/volume-이란-무엇일까-a9a33f262615 Docker Volume Docker에 의해 생성되고 관리되는 Volume입니다. 호스트의 파일 시스템에서 디렉토리를 생성하고 마운트해 데이터를 저장합니다...
· Git
Issue Templates 만들기 Repository 의 Settings - General 탭 - Features - Set up templates 클릭합니다. Bug report, Feature request, Custom template 등... 마크다운 형식으로 템플릿을 작성하고 default branch 에 commit 합니다. 이후 Issue 생성 시 커밋한 템플릿들을 선택할 수 있습니다. 참고 https://amaran-th.github.io/Github/[Github] Issue & PR Template 설정하기/ Pull request 와 Issue 연관시키기 Pull request 시 close 키워드를 이용해 Issue를 연관시킵니다. 예. close #1 또는 development ..
· Git
remote: Write access to repository not granted. 제가 생성한 repository를 collaborator로 등록된 팀원분께서 pull 하려고 하니 이런 에러가 떴습니다. 추정되는 원인collaborator 로 등록되지 않음해당 브랜치가 protected branch임SSH key가 잘못됨세 가지 원인으로 추정하는데요. 위에 해당하면 해결 방법은 아래 링크를 참고하세요! https://i-bsd.com/write-access-to-repository-not-granted/ 팀원분은 세 가지에 모두 해당되지 않았습니다. 1) 팀원분이 collaborator로 등록되었고 2) pull 하려는 branch가 organization 계정이 아니라 branch에 ruleset을..
내일배움캠프 Kotlin & Spring 챌린지반 세션 - 변경에 유연한 프로그래밍 강의를 정리했습니다. 객체지향 프로그래밍에서 변경에 유연한 프로그램을 만들기 위해서는 캡슐화가 중요하고, 이를 위해서 DI가 필요한 이유를 흐름에 따라 서술했습니다. 1. 객체지향 프로그래밍은 여러 객체들이 협력해나가는 방식으로 프로그래밍합니다. 2. A객체가 B객체에게 협력을 요청하는 것은 의존한다는 것입니다. A객체 내부에서 B객체의 메소드를 호출하거나, B객체를 생성하는 등 A객체를 만들기 위해 B객체가 필요한 경우를 말합니다. 이때 A객체는 요청을 보내는 객체, 클라이언트 객체입니다. 객체지향 프로그래밍은 협력을 기반으로 하므로 의존성이 반드시 필요합니다. 3. 의존성은 변경을 전파합니다. 예를 들어 B객체의 메소..
· Web
Swagger UI로 생성한 API 문서는 프로젝트를 로컬에서 작업하는 경우 로컬에서만 확인할 수 있습니다. 그럼.. 로컬에서 작업한 개인 프로젝트의 API 문서를 다른 사람들이 볼 수 있게 하고 싶으면 어떡하죠?ㅠㅠ 개인 프로젝트의 GitHub README 파일에 API 명세를 링크하고 싶어서 이리저리 찾아보다.. 아주 쉬운 방법을 찾았습니다! API 문서를 JSON 으로 저장 1. Swagger UI 로 생성한 API 문서 화면에 진입합니다. http://localhost:포트 번호/swagger-ui/index.html 예) http://localhost:8080/swagger-ui/index.html 2. API title 밑에 작은 글씨로 링크된 /v3/api-docs 를 클릭합니다. (또는..
· Web
이전에 Date, Calendar 대신 LocalDate, LocalDateTime을 사용하라는 글을 쓴 적이 있습니다. [Java] Date, Calendar와 LocalDate, LocalDateTime 차이 그런데 개발한 서비스의 사용자가 한국이 아닌 다른 나라에 산다면.. LocalDateTime만으로는 살짝 부족할 것입니다. 예를 들어.. 한국에 사는 강 씨가 글을 등록하고 30분 뒤, 영국에 사는 Law 씨가 글을 등록했습니다. 홈 화면에서 작성일 기준 내림차순으로 글이 정렬된다면 Law 씨의 글이 먼저 떠야 합니다. 하지만 LocalDateTime으로만 개발했다면... 작성자: 강 내용: 동원 작성일: 2023-12-28 10:00 작성자: Law 내용: Jude 작성일: 2023-12-28..
· Web
API 문서를 자동으로 생성해주는 Swagger를 Spring에서 적용하는 법을 간단하게 정리했습니다. 이전엔 Postman을 썼는데, 보기 좋게 문서화가 된다는 점에서는 Swagger가 훨씬 유용한 것 같습니다ㅎㅎ 1. build.gradle.kts 의 dependencies 에 springdoc 의 springdoc-openapi-starter-webmvc-ui 패키지를 추가합니다.dependencies { ... ... implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0") ... ... } Sync Now해주고 조금 기다린 뒤.. application을 run합니다. 2. 아래 링크로 접속해 OpenAPI definiti..
· Web
Kotlin으로 DTO를 만들 때는 데이터 전달에 특화된 data class를 사용합니다. 그럼 Entity는? Entity와 data class 기본적으로 Entity Class는 Entity manager를 통해 상태가 변경되기도 하고, 자체적으로 도메인의 요구사항을 구현한 함수를 포함하기도 합니다. 데이터 전달의 용도 그 이상이기 때문에 data class보다는 일반 class가 적합합니다. 그리고 결정적으로.. Hibernate 공식 문서에서 이를 권장하지 않습니다. https://docs.jboss.org/hibernate/orm/5.4/userguide/html_single/Hibernate_User_Guide.html#entity-pojo-final A central feature of Hi..
· Git
터미널 1. 사용자 이름 입력 git config --global user.name 예) umin 2. 깃허브 계정 이메일 주소 입력 git config --global user.email 예) adorecamus@tistory.com + 줄바꿈 설정 (참고 [Git] LF will be replaced by CRLF 경고 해결하기) git config --global core.autocrlf input GitHub 맥에서는 패스워드를 통한 사용자 인증이 불가능하기 때문에 GitHub에서 personal access token 을 발급 받습니다. 이미 발급 받은 토큰이 있다면 해당 토큰을 사용하면 됩니다. 1. GitHub 로그인 후 settings 페이지 이동 - 왼편 제일 하단 Developer Se..
adorecamus
재미있게