분류 전체보기 152

[Kernel360] E2E 프로젝트 '생생' 후기

서론 Kernel360에서 진행한 E2E 프로젝트가 11.24(금) 부로 종료되었다. 총 4개의 프로젝트(Boot-up, 해커톤, E2E, Final) 중 두 번째로 규모가 큰 프로젝트인데, 회고와 리뷰 겸 후기를 작성하고자 한다. E2E 프로젝트는 5주간 이뤄지는 것으로, MVP를 뽑아내는 과정이라고 생각하면 된다. E2E 프로젝트의 목표는 다음과 같다. Front-End부터 Back-End까지의 구현 기술을 협업으로 경험해보는 프로젝트로 기획, 설계 개발, 배포까지 구현한다. 웹서비스 전체를 구현하는 것을 목표로 서비스 요청 WAS와 DB를 활용한 처리 서버의 응답을 화면에 보여주기까지 구현하고 이를 배포하도록 한다. 달성 과제 - GitHub 을 활용하여 프로젝트와 이슈를 관리한다. - CRUD와 ..

일상/Kernel360 2023.12.19

[Spring Batch] @JobScope, @StepScope

서론 프로젝트를 진행하며 막바지에 간단하게 스프링 배치를 찍먹할 겸, 적용하기로 했다. 강의와 예제를 참고하면서 코드를 작성하는데, 강의에서 @JobScope 와 @StepScope 라는 어노테이션이 사용되었다. 강의에서 안알려주길래 궁금해서 찾아봤다. 참고 https://heekng.tistory.com/178 [Spring Batch] @JobScope와 @StepScope @JobScope와 @StepScope Scope란? 스프링 컨테이너에서 빈이 관리되는 범위 singleton, prototype, request, session, application이 있으며 기본은 singleton으로 생성된다. 스프링 배치 스코프 @JobScope, @StepScope @Bean @JobSc heekng.t..

[Mock] Mock, 도대체 뭐야? (Feat. 테스트코드)

이 글은 Notion에서 작성 후 재편집한 포스트입니다. 서론 프로젝트를 진행하며 본격적으로 테스트코드를 작성하기 시작했다. 강의를 보면서 대부분의 강의에서 모킹(Mocking)을 활용한 테스트코드 작성을 하던데, 아무리 봐도 DB 커넥션이 없는것이다. 내가 생각한 테스트코드는 DB에 직접 CRUD 작업을 거쳐서 하는것으로 알고있었는데... 그게 아니었다. 본 포스팅에선 테스트코드의 목적과, 가상 맵핑을 도와주는 Mock 프레임워크에 대해 알아보도록 하자. 참고 https://happy-coding-day.tistory.com/entry/Mock-%EA%B0%9D%EC%B2%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C-%EC%99%9C-%EC%8D%A8%EC%9..

Backend/Test 2023.11.01

[Kernel360] 해커톤 프로젝트 정리

이 글은 Notion에서 작성 후 재편집한 포스트입니다. 개요 Kernel360에서 진행한 해커톤 프로젝트 정리 포스트입니다. 주제 클라이머들을 위한 클라이밍 커뮤니티 개발기간 4일 사용 기술 및 도구 Backend : Java 17, Springboot 2.7.16, JPA, Spring Security DB : MySQL Frontend : Thymeleaf 협업 툴 : Notion, Figma 주요 기능 1. 로그인/회원가입 2. 게시글/댓글 crud 기능 담당 내용 1. ERD 기초 작성 2. 네이밍 컨벤션 작성 3. 와이어프레임 제작 기여도 1. 서비스 개발에 필요한 DB 기반 구축 2. 클린 코드 작성을 위한 네이밍 컨벤션 작성 3. 이슈 컨벤션 작성 4. 이해도 향상을 위한 화면 설계 GIT..

일상/Kernel360 2023.10.31

[Kernel360] Boot-Up 프로젝트 정리

이 글은 Notion에서 작성 후 재편집한 포스트입니다. 개요 Kernel360에서 진행한 Boot-up 프로젝트 정리 포스트입니다. 1~2일차 : 위치 기반 밥 같이먹기 서비스, 에브리-잇(Evereat!) 3일차 : 전세계 맛집 리뷰 서비스, 삼식(samsik) GIT 주소 https://github.com/Kernel360/boot-up1-evereat GitHub - Kernel360/boot-up1-evereat Contribute to Kernel360/boot-up1-evereat development by creating an account on GitHub. github.com https://github.com/Kernel360/boot-up1-samsik GitHub - Kernel36..

일상/Kernel360 2023.10.31

[MySQL, JPA] Schema-validation: missing column [컬럼명] in table [테이블명]

목차 문제 사항 JPA + MySQL 환경에서 작업을 진행하는 도중, 다음과 같은 에러가 발생했다. Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested except..

Backend/DB 2023.10.26

[Kernel360] 부트캠프 해커톤 후기

이 글은 Notion에서 작성 후 재편집한 포스트입니다. 서론 패스트캠퍼스에서 주관하는 백엔드 부트캠프인 Kernel360 을 수강중이다. 경력이 있음에도 불구하고 부캠을 한 이유는 다음과 같다. 자바로만 업무를 진행해서 자바 생태계 백엔드로써 필수 덕목인 스프링 역량 부족과 관련 프로젝트 경험 부족 지금까지 살아온 개발자로서의 삶과 서비스 기업에서 일하는 '찐 개발자'의 삶을 비교해보고 싶었음 Redis, Kafka, Docker 등과 같은 Spring 이외에 서비스기업에서 필요로하는 미들웨어 역량도 강화가 필요했음 1과 같은 이유로, 관련 프로젝트를 진행하며 코드 품질을 높이는데 집중, 이를 통해 서비스 기업으로 이직 성공이 목표 본 부트캠프는 세가지가 없다고 한다. 경쟁, 교육, 정답. 실제로 부캠..

일상/Kernel360 2023.10.26

[인프콘 2023 이벤트] 인프콘 2023, 보내줘!!!!!

서론 웹 개발자들이 그렇게 환장한다는 인프콘. 이번 인프콘 2023도 추첨이라 열심히 신청을 눌렀지만 안타깝게도 탈락했다. 안타까운 마음을 금할 수 없던 와중 인프런 홈페이지에 나타난 이벤트.. 이건 .. 해야해!!!! 내 시간표 https://www.inflearn.com/infcon-2023/schedule/share?id=72643&hash=fhrek%40304b8b1a&name=%EA%B3%A0%EB%8F%84%EB%86%8D 고도농 님의 인프콘 시간표는? - INFCON 2023 보고 싶은 세션들로 시간표를 만들어 친구와 공유해 보세요! - 인프런이 만드는 IT인의 축제, 인프콘으로 초대합니다. 인프콘과 함께 배우고 나누고 성장하세요. 다양한 발표 세션, 핸즈온, 네트 www.inflearn.c..

일상 2023.08.01

[JUnit5, IntelliJ] 테스트 코드 기반으로 알고리즘 문제풀이 프로젝트 패키지 구조 관리하기

목차 이 글은 Notion에서 작성 후 재편집한 포스트입니다. 서론 옛날부터 패키지 구조를 어떻게 해야 효율적으로 관리할 수 있을까? 에 대한 관심이 정말 많았다. 많은 사람들이 코딩테스트, 혹은 알고리즘 역량 강화를 위한 문제풀이를 많이 한다. 그 때 마다 메인함수를 작성하자니, 손이 많이 가고, 기존 코드는 주석 처리하고.. 이런게 굉장히 비효율적이라고 생각했다. 그래서 어떻게 관리하시는지들 개발자 톡방에 물어봤다. 테스트 코드를 활용해본다 라.. 생각지도 못한 방법이었다. 어차피 개발을 한다면 테스트코드는 많이 작성하게 되어있으니, 이런 사소한 부분도 체득시키면 테스트 코드 환경에 익숙해질 것 같아서, 바로 적용해봤다. JUnit5와 IntelliJ 환경에서 진행했다. JUnit 적용 방법은 아래 ..