개인 프로젝트21 리눅스로 개발환경 옮기기(Docker, Postgresql, Redis) -2 하.............됐다........ 네트워크나 도커에 대한 기본 지식이 없어서 연결만 하는데도 되게 힘들었다.근데 이 과정에서 정말 많은 걸 배울 수 있었다.redis, db, 메인 app 모두 실행됐다.계속 삽질 한 원인은 docker 컨테이너 내부에서 사용하는 port와 외부에서 매핑시켜주는 port 에 대한개념(포트포워딩)이 모자랐다. 그 때문에 DB쪽에서 계속 연결이 안 되어서 힘들었다.....그런데, db만 포트포워딩을 내부포트랑 다른 값으로 해줘야 에러가 안 나는 이유가 궁금해서 튜터님께 찾아가보니 redis도 지금 정상적으로 돌아가는게 아니라고 해주셨다. 아마 redis를 사용하려면 26379를 기본포트 6379로 포트포워딩 해줘야겠지? 그리고 docker는 일단 gradle boo.. 2024. 11. 29. 리눅스로 개발환경 옮기기(Docker, Postgresql, Redis) -1 service 계층에서 cache 기능을 사용해보고싶어서 redis를 설치하려니깐 윈도우에선 공식적으로 지원이 안 된다고 한다그래서 개발환경을 우분투로 옮겼다이래서 다들 맥이나 리눅스 쓰라고 하는건가,,, 싶었다음.. 근데 문제가 생겼다. 윈도우랑 리눅스랑 환경이 너무 달라서 스프링 실행 자체가 안된다.아 이럴 때 도커를 쓰는구나? 싶어서 도커를 설치했다. 노트북과 컴퓨터가 각각 다른 환경이라 벌써 협업을 경험할 수 있다.일단 도커파일이라는걸 만들어줬다. 고래가 상당히 귀엽다..어..이거 된 거 맞나? ㅋㅋ진지하게 뭐가 뭔지 하나도 모르겠지만 일단 뭔가가 되고는 있다.도커가 켜진건 맞나 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ알고보니 설치도 제대로 안 돼서 공홈에 들어갔다. 공홈에서 설치해야 되는 파일이 .. 2024. 11. 28. DB 구조 설계하기 패키지는 일단 이렇게 배치해봤다. github에서 다른 사람들 코드 배치 구조를 많이 참고한거라 왜 이렇게 나누는진 아직은 잘 모르겠다. 아마 가장 직관적이고 각 기능에 따라 잘 나누어져 있어서 그런 듯 하다. 그리고 Db 부분을 완성했다.@Entity@AllArgsConstructor@NoArgsConstructor@Getter@Builder@EntityListeners(AuditingEntityListener.class)public class BoardDb { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @NotBlank private String title; @NotBlank .. 2024. 11. 28. SpringBoot Swagger (API 명세서) + Spring security API 명세서에 포함되어야 하는 내용 1. API 이름과 설명 2. URL 및 HTTP 메서드 (GET /users, POST /users, DELETE /users, PUT /users) 3. 요청헤더: 요청에 필요한 인증 정보나 메타데이터파라미터: 쿼리 파라미터, 요청 Body에 들어갈 데이터 (JSON) 4. 응답 : HTTP 상태 코드 (성공 또는 실패) 5. 에러처리 : 실패시 반환되는 에러코드와 메세지 정의 (404) RESTFUL API 설계를 위해 정말 중요한 작업이지만, 일일이 작성하기 너무 귀찮다.Spring boot에서는 Swagger를 사용해 api명세서를 쉽게 작성할 수 있다. build.gradle에 의존성을 추가하면 된다.implementation 'org.springdoc.. 2024. 11. 27. postgresql+gradle+springboot 프로젝트 초기 설정 앞으로 두고두고 꺼내보려고 기록하는 초기 설정법 우선 spring initializr를 이용해서 gradle+spring 기본 파일을 만들고 압축을 해제한다.intellij같은 ide에서 열어준다. 개발 환경 세팅을 위해 application.properties 파일에 있는 내용을 다 지우고 개발용 세팅을 해준다. application-dev.properties 파일을 새로 만들고,# application-dev.propertiesspring.application.name=crudspring.main.web-application-type=servlet# ?? ?? ?? (???: 8080)server.port=8080# ?? ?? ?? ??logging.level.org.springframework=I.. 2024. 11. 27. 기존 코드에 Stream 반영하기 <5> ?????예?????? 아놔.. 까먹고 조회할 때 스트림 안썼다;;그래도 로직은 다 있으니까 바꾸는건 쉽... 쉬..public class OrderBuilder { private final List mainItem = new ArrayList(); private final List sideItem = new ArrayList(); private Coupon coupon; public boolean isEmpty() { return mainItem.isEmpty() && sideItem.isEmpty(); } public void addMain(MainMenuType type, int quantity, int taste){ for(MainMenuI.. 2024. 11. 25. 이전 1 2 3 4 다음