본문 바로가기

프로젝트 & TIL

(103)
68일차 - 레디스, 쿠버네티스 준비 레디스(Redis) 레디스란? (챗 GPT 답변) 레디스(Redis)는 인메모리 데이터 스토어(in-memory data store)로서 사용되는 오픈 소스 데이터베이스입니다. 영구적인 데이터 저장이 목적인 전통적인 데이터베이스와 달리, 레디스는 메모리에 데이터를 저장하여 빠른 읽기 및 쓰기 성능을 제공합니다. 레디스는 키-값(Key-Value) 구조를 사용하여 데이터를 저장합니다. 각 데이터는 고유한 키와 연결되어 있으며, 이 키를 사용하여 데이터를 조회하거나 업데이트할 수 있습니다. 레디스는 문자열(Strings), 해시(Hashes), 리스트(Lists), 집합(Sets), 정렬된 집합(Sorted Sets) 등 다양한 데이터 유형을 지원합니다. 또한, Pub/Sub(pub/sub) 메시징 시스템을..
67일차 - @SuperBuilder 엔티티 값 수정 시 @SuperBuilder 사용하기 @SuperBuilder(toBuilder = true) 어노테이션을 붙임으로써 상속 받은 속성의 값도 수정할 수 있다. - 상속하는 클래스, 상속 받는 클래스 모두 어노테이션을 붙여야 한다. Person 클래스 @SuperBuilder(toBuilder = true) public class Person { private String name; private int age; } Person 클래스를 상속 받는 Member 클래스 @SuperBuilder(toBuilder = true) public class Member extends Person { private String nickname; } toBuilder()를 통해 엔티티 값 수정하기 @Se..
66일차 - 스프링 로그인 된 객체 이용하기 스프링에서 로그인 된 객체 이용하기 1. Principal @Controller public class MemberController { private final MemberService memberService; @GetMapping("/mypage") @ResponseBody public String showMyPage(Model model, Principal principal) { Member member = memberService.findByUsername(principal.getName()); model.addAttribute("member", member); return "/member/mypage"; } } 2. Authentication @Controller public class Mem..
65일차 - 깃허브 협업, 아이콘 제작 기존 작업물을 새 리포지터리에 pull하기 기존 작업물이 열려 있는 인텔리제이에서 1. git remote add origin2 새_리포지터리_주소 2. git pull origin2 main 3. git remote remove origin2 GITHUB FLOW 협업 1. 새 브랜치 생성 -> git checkout -b enhancement-1 2. 작업 3. add, commit, push 4. PR 5. * 이미 새로운 작업이 반영되어 있는 경우 merge가 안 됨 6. 다시 인텔리제이로 돌아와서 git pull origin main 7. merge 성공, 브랜치 삭제 8. 인텔리제이에서도 브랜치 삭제 -> git checkout main, git branch -D enhancement-1, g..
64일차 - 젠킨스 설치, 파이프라인 프로젝트, 프로토타이핑 툴 젠킨스 설치 8081 포트 사용 docker run \ --name jenkins_1 \ -p 8081:8080 \ -e TZ=Asia/Seoul \ -v /docker_projects/jenkins_1/var/jenkins_home:/var/jenkins_home \ # 볼륨 설정 -v /var/run/docker.sock:/var/run/docker.sock \ -v /docker_projects/jenkins_1/data:/data \ -u root \ -d \ --restart unless-stopped \ jenkins/jenkins:jdk17 npm으로 proxy 처리 jenkins.나의 url / 172.17.0.1 / 8081 포트 / SSL jenkins 접속 jenkins.나의 url ..
62일차 - 젠킨스 개요 젠킨스(Jenkins) 젠킨스(Jenkins)는 지속적 통합(Continuous Integration, CI) 및 지속적 전달(Continuous Delivery, CD)를 지원하는 오픈 소스 자동화 도구입니다. 개발자들이 소프트웨어 개발 과정에서 반복적인 작업들을 자동화하여 개발 생산성과 품질을 향상시킬 수 있도록 도와줍니다. 젠킨스는 다양한 프로그래밍 언어와 프레임워크를 지원하며, 소스 코드 컴파일, 테스트 실행, 정적 분석, 배포 등의 작업을 자동화할 수 있습니다. 개발자들은 코드 변경을 버전 관리 시스템(Git, Subversion 등)에 커밋하면, 젠킨스는 이를 감지하고 지정된 작업들을 자동으로 실행합니다. 젠킨스는 사용자가 웹 인터페이스를 통해 다양한 작업을 구성하고 관리할 수 있습니다. 이 ..
61일차 - JSON 테스트, API 엔드 포인트, Swagger JSON 응답 결과 테스트 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; ... @Test void t001() throws Exception { // When ResultActions resultActions = mvc .perform( ... ) .andDo(print()); // Then resultActions .andExpect(status().is2xxSuccessful()) .andExpect(jsonPath("$.resultCode").value("Success")) // resultCode 값은 "Success"여야 한다. .andExpect(jsonPath("$.data.a..
60일차 - 톰캣, 프로그래머스 문제 풀이, Postman 톰캣 설치 https://tomcat.apache.org/download-10.cgi Apache Tomcat® - Apache Tomcat 10 Software Downloads Welcome to the Apache Tomcat® 10.x software download page. This page provides download links for obtaining the latest version of Tomcat 10.1.x software, as well as links to the archives of older releases. Unsure which version you need? Specification versi tomcat.apache.org 64-bit Windows zip 다운로드..