본문 바로가기

Programming22

[Git] .env 파일 gitignore 가 안될 때 결론부터 말하자면 "기존에 있던 .env 파일을 삭제해야한다." 1. gitignore에 .env 추가 # .gitignore .env .env.local .env.production .env.development 2. 기존 .env 파일 삭제 # Commit 해도 .env 파일은 삭제되지 않는다. 백업 필요 X. $ git rm .env --cached $ git commit -m "Your Commit Message" 2022. 3. 22.
[MyBatis] Spring Boot Gradle 에 MySQL 연동하기 개발의 끝은 블로그에 내가 겪었던 과정을 설명하는 것이라고 생각한다. 그도 그럴것이... 구글링을 통해 개발 과정을 쉽게 얻을 수 있다 하더라도, 블로그 글 마다 방법이 다르고, 내가 성공하기까지 겪은 과정 또한 그것들과 다르기 때문이다. 또한 나중에 언제 다시 반복해서 겪을지 모르는 상황에 대비해서 작성하고 넘어가는게 정신건강에 좋다. 그래서 오늘은 Spring Boot Gradle에 MyBatis를 통해 MySQL을 연동하는 과정을 기술해보겠다. 디렉토리 구조 경로는 원하는대로 설정한 뒤 설정만 잘 맞춰주면 된다 1. 의존성 추가 # build.gradle # 아래 mybatis 의존성 추가 dependencies { . . . implementation 'org.mybatis.spring.boot:.. 2022. 3. 3.
[JAVA] VSCode에 Spring Boot 설치 TL;DR 1. Spring Boot Extension 설치 2. Spring Boot 프로젝트 생성 https://start.spring.io/ 설정 설명 Project Maven & Gradle 중 선택. 현재 Gradle을 사용하는 추세라고 함. Language 언어 선택 Spring Boot 버전 정보 - SNAPSHOT(개발 중) / M(정식 릴리즈 X) / 아무것도 안붙었다면 정식 릴리즈 Metadata[Group] 도메인 명. 없다면 자유롭게 작성 가능. Metadata[Artifact] 빌드 결과물 이름 Metadata[Name] 프로젝트 이름 Metadata[Description] 프로젝트 설명 Packaging Jar(웹서버 X) / War(웹서버 O) Java 자신의 Java 버전에 .. 2022. 2. 26.
[JAVA] VSCode JAVA 개발환경 설정 TL;DR 1. VSCode Java 확장 설치 2. JDK 설정 3. Java Extension 활성화 2022. 2. 26.
[JAVA] 윈도우(window) JAVA SE 11 설치 TL;DR 1. JAVA SE 11 설치 프로그램 다운로드 (Oracle 계정 필요. 없다면 회원가입 진행 후 다운로드.) https://www.oracle.com/java/technologies/downloads/#java11 2. JAVA SE 11 설치 3. 환경변수 설정 4. 설치 확인 끝 2022. 2. 26.
[React] Modal 만들기 (React-Modal 사용 X) React에는 React-Modal 이라는 라이브러리가 존재한다. 그런데 사용법을 익히기도 귀찮았고(무엇보다 문서가 없었다), CSS 적용하기도 어려워서 그냥 직접 만들기로 했다. 생각보다 어려운 작업이 아니었다. 약간의 CSS 지식만 있다면 빠르게 구현할 수 있을 정도의 수준이지만, 이번 게시글에선 그 조차도 쉽게 설명해서 모두가 이해하도록 해보겠다. Index.js import React from 'react'; import ReactDOM from 'react-dom'; import Main from './components/main'; import './index.css'; ReactDOM.render( , document.getElementById('root') ); App.js 사용하지 않았다.. 2022. 2. 26.
[CSS] 다음카페 게시글 본문 꾸미기 1. 화면 좌우로 움직이기 PC (O) Mobile (O) 2. 댓글 닉네임 앞뒤로 문구 추가 PC (X) Mobile (O) 3. 전체 배경 이미지 삽입 // 해당 HTML 삽입 하단의 게시글은 노출되지 않으므로 // 모든 게시글을 작성 후 최하단에 HTML 삽입할 것. PC (O) Mobile (O) 4. 전체 단색 배경 삽입 // background의 rgb에 같은 색상 넣으면 단색. // 다른 색상 넣을 경우 그라데이션 적용. PC (O) Mobile (O) 5. 게시글 제목에 이미지 삽입 // 게시글 제목 길이 + 폰트 크기에 따라서 이미지 크기 변경. // font-size 값 직접 변경해가며 적당한 값 찾아야 함. PC (X) Mobile (O) 6. 본문 및 댓글 글자색 바꾸기 // 최초 .. 2022. 2. 25.
[MySQL] JSON 문자열 검색(조회) id program_json program_name 10824 {"channel":"tvN", "season":"1", "cast":["유재석", "조세호", ...]} You Quize On The Block 10825 {"channel":"JTBC", "season":"1", "cast":["강호동", "이수근", ...]} Knowing Bros 10826 {"channel":"OCN", "season":"1", "cast":["김재욱", "김동욱", ...]} Son the Guest ... ... ... 13514 {"channel":"tvN", "season":"3", "cast":["유재석", "이말년", ...]} You Quize On The Block 13515 {"channel":"S.. 2022. 2. 23.
[JWT] Auth 동작 분석 및 User 인증(Password 방식 변경) 커스텀 생성 사용중인 User 테이블의 Password 암호화 방식을 변경했다. 당연하게도 JWT가 401 Unauthorized를 내뱉기 시작했고, 이를 해결하기 위해 고군분투 했지만 아무리 검색해도 원하는 답이 나오지 않았다. 결국 JWT 라이브러리를 직접 분석하기 시작했고, 마침내 401 Unauthorized를 내뱉는 이유를 깨달았다. 해당 내용을 검색하니 그제서야 그토록 원했던 내용을 찾는데 성공했다(원인을 모르면 검색도 못한다는 사실을 뼈저리게 느꼈다). 이렇게 된 김에 JWT 분석 내용을 기록으로 남겨보고자 한다. 1. JWT 401 Unauthorized 원인 분석 원인은 간단하다. 변경 전 User 생성 방식은 password 알고리즘을 Bcrypt로 사용했는데, 변경 후에는 MySQL AES 알고리.. 2022. 2. 10.