분류 전체보기

    [37일차] 50일 포트폴리오 챌린지

    [37일차] 50일 포트폴리오 챌린지

    본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. https://bit.ly/43z0P6S 패스트캠퍼스 [직장인 실무교육] 프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공. fastcampus.co.kr JWT 토큰 관련된 인증은 대부분 로그인할 때 사용됩니다. 그 중에서도 JWT는 웹 표준을 따르고 있으며, JSON 객체를 사용하여 정보를 전달합니다. 그리고, 필요한 모든 정보를 한 객체에 담아서 전달하기 때문에 JWT 한 가지로 인증을 마칠 수 있습니다. JWT의 구조 위와 같이 헤더, 내용, 서명이 '.(dot)'을 구분자로 하여 JWT 토큰 1개를 이룹니다. 완성된 토큰은 다음의 형태를 가집니다. eyJhbGc..

    [32일차] 50일 포트폴리오 챌린지

    [32일차] 50일 포트폴리오 챌린지

    본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. https://bit.ly/43z0P6S 패스트캠퍼스 [직장인 실무교육] 프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공. fastcampus.co.kr Redis로 성능 개선 Redis에 대해서 더 자세하게 알아보기 전 캐시 서버(Cache Server)에 대해서, 데이터 베이스가 있는데도 Redis라는 인메모리 데이터 구조 저장소를 사용하는 이유는 무엇일까요? 데이터 베이스는 데이터를 물리 디스크에 직접 쓰기 때문에 서버에 문제가 발생하여 다운되더라도 데이터가 손실되지 않습니다. 하지만 매번 디스크에 접근해야 하기 때문에 사용자가 많아질수록 부하가 많아져서 느려질 ..

    [31일] 50일 포트폴리오 챌린지

    [31일] 50일 포트폴리오 챌린지

    본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. https://bit.ly/43z0P6S 패스트캠퍼스 [직장인 실무교육] 프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공. fastcampus.co.kr 1. 부트스트랩, jQuery 및 Handlebars 라이브러리 적용 의존성 추가 implementation 'pl.allegro.tech.boot:handlebars-spring-boot-starter:0.3.4' 메인 페이지 생성 실제로 사용할 Handlebars 파일을 생성한다. 다른 서버 템플릿 스타터 패키지와 마찬가지로 Handlebars도 기본 경로는 src/main/resources/templates가 된..

    [30일] 50일 포트폴리오 챌린지

    [30일] 50일 포트폴리오 챌린지

    본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. https://bit.ly/43z0P6S 패스트캠퍼스 [직장인 실무교육] 프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공. fastcampus.co.kr JPA Dirty Checking JPA Dirty Checking 코드에서 엔티티의 값만 변경했을 뿐인데, 데이터베이스 업데이트 쿼리가 발생한다? 이유는 Dirty Checking 덕분이며, Dirty란 상태의 변화가 생긴 정도를 의미한다 즉, Dirty Checking이란 entity 상태 변경 검사 JPA에서 트랜잭션이 끝나는 시점에 변화가 있는 모든 entity 객체를 데이터베이스에 자동으로 반영해준다 Dirt..

    [29일차] 50일 포트폴리오 챌린지

    [29일차] 50일 포트폴리오 챌린지

    본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. https://bit.ly/43z0P6S 패스트캠퍼스 [직장인 실무교육] 프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공. fastcampus.co.kr TestContainers TestContainers 사용 이유 https://www.testcontainers.org JPA 이용하여 CRUD 테스트 코드를 작성할 때 어떤 DB 환경이 좋을까? 운영 환경과 유사한 스펙의 DB(개발 환경 DB) 사용하기 인메모리 DB(ex: H2) 사용하기 Docker 이용하기 TestContainers를 이용하기 TestContainers는 운영환경과 유사한 DB 스펙으로 독립적인..

    [28일차] 50일 포트폴리오 챌린지

    [28일차] 50일 포트폴리오 챌린지

    본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. https://bit.ly/43z0P6S 패스트캠퍼스 [직장인 실무교육] 프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공. fastcampus.co.kr Kakao 주소검색 api 살펴보기 개발 가이드 | Kakao Developers 문서 (주소 검색 api) 외부 api 사용하기 전에 반드시 아래 내용을 검증 https://developers.kakao.com/terms/latest/ko/site-policies#quota (API 호출제한 반드시 확인) REST API 테스트 도구 활용하여 API 테스트 https://developers.kakao.com/ 카카오..

    [27일차] 50일 포트폴리오 챌린지

    [27일차] 50일 포트폴리오 챌린지

    본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. https://bit.ly/43z0P6S 패스트캠퍼스 [직장인 실무교육] 프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공. fastcampus.co.kr app, database, redis 도커파일 각각 작성 FROM openjdk:11 ARG JAR_FILE=build/libs/app.jar COPY ${JAR_FILE} ./app.jar ENV TZ=Asia/Seoul ENTRYPOINT ["java","-jar","./app.jar"] FROM redis:6 ENV TZ=Asia/Seoul FROM mariadb:10 ENV TZ=Asia/Seoul 도커를 이용..

    [26일차] 50일 포트폴리오 챌린지

    [26일차] 50일 포트폴리오 챌린지

    본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. https://bit.ly/43z0P6S 패스트캠퍼스 [직장인 실무교육] 프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공. fastcampus.co.kr 26일차 도커 및 도커 컴포즈 소개 도커란? 컨테이너를 사용하여 응용프로그램을 더 쉽게 만들고, 배포까지 실행할 수 있도록 설계된 도구이며 컨테이너 기반의 오픈소스 가상화 플랫폼 일반 컨테이너 개념에서 물건을 손쉽게 운송해주는 것처럼 어플리케이션 환경에 구애받지 않고 손쉽게 배포 관리를 할 수 있게 해준다 컨테이너 기반 배포 방식은 구글을 비롯해 대부분 서비스 회사가 컨테이너로 서비스 운영 중 따라서 AWS, Azur..

    [25일차] 50일 포트폴리오 챌린지

    [25일차] 50일 포트폴리오 챌린지

    본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. https://bit.ly/43z0P6S 패스트캠퍼스 [직장인 실무교육] 프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공. fastcampus.co.kr Git Flow 전략 Git을 사용하는 기본적인 명령어 Commit Push Pull Git Flow 전략 Git을 사용하여 개발하는 환경에서 Branch 간의 문제 없이 배포까지 안정적으로 할 수 있도록 Branch를 관리하는 전략이다. 주요 Branch Main(=Master): 배포(Release) 이력을 관리하기 위해 사용한다. 즉, 배포 가능한 상태만을 관리한다. Dev: 기능 개발을 위한 브랜치들을 병합하기..

    [24일차] 50일 포트폴리오 챌린지

    [24일차] 50일 포트폴리오 챌린지

    본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. https://bit.ly/43z0P6S 패스트캠퍼스 [직장인 실무교육] 프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공. fastcampus.co.kr Docker-Compose를 통해 MySQL 컨테이너 생성 및 데이터 삽입 docker-compose 파일 작성 docker-compose를 통해 mysql 컨테이너를 띄우기 위한 파일을 작성한다. # docker-compose.yml version: "3.8" services: mysql: container_name: mysql_local image: mysql:latest volumes: - ./db/conf.d:..