전체 글 170

AWS S3/code deploy로 CI/CD 구축기(플리보따리) 2023-12-16

결과 1. 우선 가장 많이 참고한 블로그이다 Spring Boot + GitHub Actions + AWS CodeDeploy를 활용한 CI/CD 구축 (tistory.com) Spring Boot + GitHub Actions + AWS CodeDeploy를 활용한 CI/CD 구축 서론 지금까지 매번 프로젝트를 구축할 때마다 이전 코드들을 번거롭게 봐가면서 CI/CD를 구축했었는데, 이번 기회에 한번 문서화를 해보고자 글을 작성하게 되었습니다. [CI/CD] CI/CD란?, 지속적 dkswnkk.tistory.com 이 블로그 없었다면 실패했을지도 모른다. 1. 마주했던 에러들 우선 블로그 첫 부분처럼 workflows에 직접 파일 추가해도 되지만 나는 Action에 들어가서 new workflow로 ..

개발 프로젝트 2023.12.15

포기하지말자

야심한 밤 도서관 2열이다 나는 여태 놀지 않았다고 생각했다 믿었던 곳에서 불합격 소식을 오늘 받았다 그나마 최종면접까지 갔던 DDD에서 떨어졌다 무엇인가 잘못되고 있다 내가 너무 안일했던거 같다 무조건 나의 부족함이다 연속적인 불합격에 내가 여태까지 해왔던 것에 대해서 회고를 하는 시간을 길게 가졌다 바꿔야 겠고 무엇을 해야할지 감이 잡혔다 애초에 내 직무는 Spring이다 이것만 파자 다른기술 다 필요없다 백엔드 직무 지원하면서 다른거 들먹이지 말자 1. 기능적인 비즈니스 로직을 포기하지않고 직접 구현하자 2. 사이드 프로젝트로는 솔직히 단순 CRUD 구현밖에 백엔드가 할수 있는게 없다 2.그래서 어려운 비즈니스 로직을 백엔드에서 구현하고 그것을 어떻게 검증하였는가에 초점을 맞추자 테스트 코드로빡세게..

MY HISTORY 2023.11.22

처음으로 코드를 구조적으로 짠 순간

"첫 번째 TDD 도전기" 지금까지 나는 단위 테스트를 코드의 정상 작동을 "확인"하는 수단으로만 활용했다. 그러나 이번 우테코미션에서는 TDD 방법론을 이용하여 구현하는 것이 핵심 요구사항이었다. TDD를 이전에 경험한 적이 없었기에, 관련 자료를 찾아보았다. TDD의 핵심은 세 가지 철칙이었다. 이 세 가지 규칙은 반드시 지켜야 했다. 1. 테스트 코드를 먼저 작성하여 컴파일은 통과하고 실행은 실패하도록 만들기 2. 실패한 테스트 코드가 성공하도록 실제 코드를 작성하기 3. 실패한 테스트 코드가 통과할 수 있을 정도로만 코드를 작성하기 이 세 가지 사이클을 모든 기능 구현에 반복적으로 적용해야 했다. 처음에는 이 과정이 막막했다. 그러나 테스트 코드를 먼저 작성하고, 인텔리제이의 alt+enter 기..

Programming 2023.11.01

파이썬 리스트 컴프리헨션 사용하기. (feat. 백준 10816번)

print(" ".join(str(dict[i]) if i in dict else '0' for i in list_nums)) 위의 코드를 보고 설명을 하겠다. 나도 처음에 이런 종류의 코드를 래퍼런스를 찾다가 발견했을때 상당히 당황했지만, list comprehension의 규칙을 안다면 쉽게 해석 할 수 있다. 결론부터 말하자면 이 코드는 파이썬의 리스트 컴프리헨션(list comprehension)과 조건부 표현식(conditional expression)을 사용한 것이다. 1. 리스트 컴프리헨션(list comprehension) : 리스트 컴프리헨션은 리스트를 생성하는 짧고 간결한 방법이다. 일반적인 for-loop보다 코드가 짧고 읽기 쉬우며, 때로는 실행 속도도 빠르다. `for i in l..

Spring JPA으로 서버 프로젝트 ERD만드는 법 2023-09-13

여태까지 2번의 프로젝트를 경험하면서 서버가 어떻게 만들어지고 Spring 과 JPA를 이용하여서 빠르게 개발하는지 나의 경험을 바탕으로 서술하려고 한다. 우선적으로 피그마를 보고 어떤 화면에 어떤 데이터가 들어갈지, 정의해야한다. 예를들어 만약 아래와 같은 화면이 있다면 그 화면에서 "어떤 Data" 를 화면상에 제공해줘야 할까 ? 라는 생각에서 출발하면 쉽게 ERD를 작성할수 있다. 이런 화면을 보고 맨 처음 생각해야 할 것은 어떤 data를 제공해야 되지? 이다. 우선 눈에 보이는 "흡연장소 지도" 라는 엔티티가 보인다. 즉, 지도 라는 엔티티를 만들고, 그 안의 프로퍼티로는 "장소" 들을 제공해주는 것이다. 또한 두번째로 중요한 개념은 어떤 엔티티가 필요한지 정했다면, 하나의 엔티티와 다른 엔티티..

개발 프로젝트 2023.09.13