전체 글

하루 한권 책으로 떠나는 개발여행
· MySQL
시스템 변수 시스템 변수(System variables) MySQL 서버는 가동하면서 설정 파일의 내용을 읽어 메모리나 작동 방식을 초기화하고, 접속된 사용자를 제어하기 위해 이러한 값을 별도로 저장해둔다. MySQL 서버에서는 이렇게 저장된 값을 시스템 변수(System variables)라고 한다. SHOW GLOBAL VARIABLES 명령어로 확인가능 이런 시스템 변수는 다음과 같은 형식으로 구성돼 있다. Cmd-Line : MySQL 서버의 명령행 인자로 설정 될 수있는지 여부를 나타낸다. Option File : 설정파일인 my.cnf(my.ini)로 제어할수 있는지 여부를 나타낸다. System Var : 시스템 변수인지 아닌지를 나타낸다. Var Scope : 시스템 변수의 적용 범위를 나..
볼트(Valut)를 사용한 정보 관리하기 들어가며 개발을 하다보면 properties,yml파일에 개인정보등이나 비밀번호 등을 작성한다. 하지만 이런 비밀정보가 그대로 노출되어 악의적인 곳에 사용할수있다. 그래서 볼트를 통해서 정보를 관리하는 방법을 알아보자. 프로젝트환경 springboot -version : 2.6.3 bulid : gradlejava -version : 11 IDE : IntelliJ _Ultimate 볼트 다운로드 및 실행 볼트 다운로드 자신의 운영체제의 맞게 다운로드를 한다.(windows 기준으로 작성) 다운 받은 zip 파일을 압축하여 자신의 사용하고자하는 위치에 두고 저장을한다. 그후에 Vault.conf 파일을 작성하여 추가한다. Vault.conf backend "inm..
스프링 시큐리티란 어떤 방식으로 동작할까? 스프링 시큐리리? 스프링 시큐리티는 인증, 인가를 지원하고 주요 공격으로 부터 어플리케이션을 보호해 주는 프레임워크이다. 시큐리티를 통해서 사용자 인증, 권한 부여, 보안 설정등을 손쉽게 관리할수있으며, 이를 통해 사용자의 민감한 데이터를 안전하게 관리및, 보호할수 있는스프링 기반의 보안 프레임워크이다. 인증(Authentication)이란? 인증은 특정 리소스에 접근하려고 하는 사용자가 누구인지를 확인할 때 사용한다. 흔히 우리가 로그인할때 아이디와 비밀번호를 통해 접속하는것을 인증이라고한다.(스프링 시큐리티는 기본적은 인증기능을 제공한다.) 인가(Authorization)란? 인가란 쉡게 말하자면 특정 페이지에 접속할때 권한을 설정해 특정기능을 사용여부를 판..
AJAX 사용하는방법 들어가며 스프링 부트를 사용하며 간단한 토이프로젝트를 만든후에 시큐리티를 적용한 로그인 페이지로 바꾸고있었다. 하지만 시큐리티를 적용하기전에는 AJAX를 사용하요 실시간으로 검증을 할수 있었는데. Security를 적용한후에는 사용이 안됬었다. 찾아보니 crsf설정을 해야했다. 그래서 어떻게 적용하는지 간단하게 알아보자 프로젝트환경 springboot -version : 2.6.3 bulid : gradlejava -version : 11 DB : Mysql_8.0.33 IDE : IntelliJ _Ultimate CRSF란 CSRF(Cross-Site Request Forgery)공격이란. 악성 웹 사이트 공격 유형이다. 간단하게 말하자면 사용자가 로그인한 상태에서 다른 사이트에 ..
JAR(Java Archive) 파일은 Java 애프릴케이션을 배포하고 실행하는데 사용되는 아카이브 형식이다. 서버를 배포하기 위해서는 jar파일로 만들어야한다. 만드는 방법 만들기전 패키지 구조 bootjar을 클릭하면 > Task :compileJava > Task :processResources > Task :classes > Task :bootJarMainClassName > Task :bootJar Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. BUILD SUCCESSFUL in 2s 4 actionable tasks: 4 executed 오후 5:15:22: Execution ..
키클록(KeyCloak) 다운로드방법 윈도우 기준 ※주의※ 키클록 공신 문서를 확인해보면 21이상 버전 부터는 자바 11 버전이 지원이 안된다고 나와있다.. 자바 11버전을 사용하려고 아래버전을 찾아봤는데... 찾을수가 없어서 사용하는 동안은 jdk를 17로 올려서 사용해야한다... 키클록 홈페이지를 접속하여 zip 파일로 다운로드를 받고 압축을 해제한다.. cmd실행하여 다운로드 받은 폴더로 이동하여 실행 ch.bat start-dev --http-port=9999 키클록을 실행하며 포트번호를 9999로 설정한다 그후에 http://localhost:9999를 접속하면 사진과 같은 화면이 뜬다면 성공이다.
버저닝이란 무엇인가? 버저닝이란? 버저닝 이란 API를 개발하면 시간에 따라 버전이 올라가는 것이 당연하다. 그로인해 새기능이 추가로 인해 변경될수 있다. 새 기술로 변경함에 따라 발견하지 못한 오류들이 갑작스럽게 나타날수있다. 그래서 기존 API를 사용자에게 안정적인 API를 제공하면서 새로운 버전의 API를 함께 제공하며 사용자가 원하는 API의 버전을 선택할수있는 기술을말한다. 다양한 API 버저닝 기법 URL버저닝 - URL에 버전 번호를 붙임 요청 파라미터 버저닝 - 버전 번호를 나타내는 HTTP 요청 파라미터를 추가 커스텀 HTTP 헤더 버저닝 = 버전을 구분할 수 있는 HTTP 요청 헤더를 추가 미디어 타입 버저닝 - 요청에 Accept 헤더를 사용해서 버전을 구분 프로젝트환경 springb..
· 오류관련
JPA를 매핑하던중 오류가 발생했다.. 그 오류는... org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl handleException WARN: GenerationTarget encountered exception accepting command : Error executing DDL " create table category_item ( category_Id bigint not null, item_Id bigint not null ) type=MyISAM" via JDBC Statement org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " create..
코드기록사
A steady developer