전체 글

프로그래머로 거듭나는 발자취
gitignore란 Git에서 특정 파일이나 폴더를 추적하거나 커밋하지 않도록 설정하는 파일이다. 크게 불필요한 파일, 보안 유지, 협업을 위하여 사용된다. ex) React 프로젝트의 node_Modules, API 키, 운영체제 및 IDE에 따라 생성되는 파일 등 (실제로 협업을 진행하며 모두 겪어봄) .gitignore 사용법 .git 이 존재하는 프로젝트 최상위 디렉터리에 .gitignore를 생성한다. gitignore 파일 생성 사이트를 통해 프로젝트에 맞게 생성하여 붙여넣는다. https://www.toptal.com/developers/gitignore 추후 .gitignore 적용하기 이번 포스팅의 주된 이유이다. git repository에 프로젝트를 이미 생성한 뒤에 .gitignor..
1. SecurityContext Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); CustomUser custom = (CustomUser) authentication == null ? null : authentication.getPrincipal(); 스프링 시큐리티는 SecurityContext라는 인터페이스에 인증 정보를 저장하기 때문에 Principal을 이용하여 유저의 name을 가져올 수 있지만, Controller의 코드가 지저분해지고, 정보가 한정적이다. 2. @AuthenticationPrincipal Spring Security 3.2부터 @AuthenticationPrincip..
문제 > Oracle을 MySQL로 마이그레이션 하는 과정 중 아래와 같은 오류가 발생했다. Caused by: jakarta.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; 환경 Spring Boot 3.2.0 (JPA) Mysql 8.0.33 IntelliJ (커뮤니티) Window 1. 기본키 생성 전략 GenerationType JPA를 사용하더라도 db별로 약간의 차이가 존재한다. 특히 Entity에서 Id값을 생성해 주는 기본키생성전략이 그것이다. Oracle에선 SEQUENCE, MySQL에서는 IDENTITY 전략을 주로 사용하여 애노테이션을 다음과 같이 ..
MySQL 접속 mysql -u root -p Enter password: '비밀번호'​ database 조회 및 유저 조회를 위한 database 변경 show databases use mysql;​ 유저 조회 및 생성 select host, user from user; create user '계정아이디'@'localhost' identified by '비밀번호';​ 스키마 생성 (db) create schema 'db명'; use 'db명'​ 권한부여 grant all privileges on 'db명'.* to '계정아이디'@locahost;​ 5-1. 위의 명령문에서 ERROR 1410 (42000):You are not allowed to create a user with GRANT 가 뜰 경우..
캐시 기본 동작 검증 헤더와 조건부 요청 1 검증 헤더와 조건부 요청 2 캐시와 조건부 요청 헤더 프록시 캐시 캐시 무효화 캐시 기본 동작 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. 인터넷 네트워크는 매우 느리고 비싸다. 브라우저 로딩 속도가 느리다. 느린 사용자 경험 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다. 비싼 네트워크 사용량을 줄일 수 있다. 브라우저 로딩 속도가 매우 빠르다 빠른 사용자 경험 캐시 시간 초과 캐시 유효 시간이 초과하면, 서버를 통해 데이터를 다시 조회하고, 캐시를 갱신하다. 이때 다시 네트워크 다운로드가 발생한다. 검증 헤더와 조건부 요청1 캐시 시간 초과 캐시 유효 시간이 초과해서 서버에 다시 요청하면 다음 두가지 상..
Coffebara
차곡 차곡 모듈화