profile
잘못된 내용 PR 환영
태그 목록
전체보기 (298)도커(13)replace(11)docker(8)이미지(7)Map(7)Collection(7)BindingResult(7)배열 정렬(7)Thymeleaf(7)토큰(6)db(6)엔진엑스(6)set(6)validation(6)Token(6)로그인(6)build(6)login(5)2진법(5)API(5)arrays(5)메시지(5)security(5)try catch(5)Collection 정렬(5)시큐리티(5)메시지 관리(5)네이버(4)Message(4)@Valid(4)image(4)split()(4)ssh(4)DNS(4)소셜 로그인(4)연관관계(4)Binding Result(4)Naver(4)list 배열로 변환(3)플레그먼트(3)조건문(3)OAuth2.0(3)replaceAll(3)네이버 클라우드(3)JPA(3)환경변수(3)substring(3)https(3)@Validated(3)국제화(3)docker hub(3)REST API(3)oauth2(3)표현식(3)권한(3)template(3)spring mvc(3)TDD(3)git(3)타임리프(3)setting(3)message 관리(3)jdk(3)servlet(3)String Builder(3)검증(3)포맷(3)List(3)entity(3)oAuth(3)array 정렬(3)상속(3)인증서(3)rest template(3)서블릿(3)Builder(3)session(3)Database(3)데몬(2)unescape(2)탐색(2)변수(2)쿠키(2)sql(2)컨테이너(2)h2 에러(2)엔티티(2)utf 8(2)meta(2)escape(2)message code(2)application.yml(2)프록시 메니저(2)web page(2)조건식(2)Nginx(2)검색(2)mapping(2)MessageCodesResolver(2)공급자(2)FieldError(2)array(2)맵핑(2)보안(2)태그(2)MVC(2)extends(2)switch(2)프로젝트(2)옵저버 패턴(2)merge(2)설정(2)반복문(2)빌드(2)Dispatcher-Servlet(2)list array 로 변환(2)빌더 패턴(2)설치(2)access token(2)JavaScript(2)display(2)clone(2)instance(2)CREATE(2)template layout(2)Thread(2)iproute2(2)dockerfile(2)domain(2)flagment(2)H2(2)each()(2)host(2)아스키 코드(2)클론(2)배열(2)포트(2)publisher(2)code(2)메시지 코드(2)git-hub(2)메타(2)dependencies(2)구독(2)tag(2)claims(2)스넵샷(2)액션(2)클레임(2)ssl(2)ObjectError(2)ip(2)테이블(2)curl(2)validator(2)My SQL(2)구독자(2)Web Server(2)spring security(2)소문자로 변환(2)이넘(2)cookie(2)페이징(2)StringBuilder(2)vm(2)container(2)layout(2)도커파일(2)메시지 리졸버(2)spring-data-jpa(2)HTTP Servlet(2)update(2)stack(2)gradle(2)subscribe(2)logging(2)string buffer(2)WAS(2)bean(2)sql crud(2)google(2)Subscriber(2)math(2)check box(2)Message Resolver(2)json(2)매핑(2)String 특정 index 찾기(2)정렬(2)format(2)포트포워딩(2)노드(2)옵저버(2)framework(2)facebook(2)demon(2)인증(2)복호화(1)select 함수(1)css 정렬(1)index 포함 확인(1)세로 정렬(1)볼륨 설정(1)n : n(1)import 오류(1)queue(1)http crud(1)배포(1)비교연산자(1)대역폭(1)data 세팅(1)미러 사이트(1)ApplicationEvent(1)process(1)양식(1)최대공약수(1)제이솝(1)오류 코드(1)keytool(1)Session 사용하기(1)onpaste(1)선택 박스(1)heap(1)세션(1)ip 의 규칙(1)도커 파일(1)javac(1)message 코드(1)파일 업로드(1)message 생성(1)snapshot(1)Attributes(1)(1)onKeyup(1)(1)카카오(1)Schema Architecture(1)Gmail(1)include(1)modelattribute(1)BOM(1)엔드포인트(1)like(1)앱 비밀번호(1)인터넷의 역사(1)캐시서버(1)추상 객체(1)오류페이지(1)초기 웹 서버(1)브랜치 확인(1)Bean 생성(1)path(1)assertThat(1)SMPT(1)페이스북(1)Index(1)연관관계 맵핑(1)양방향(1)project(1)도메인(1)형변환(1)인스타(1)base entity(1)(1)람다(1)옵셔널(1)AuthenticationFailureHandler(1)Bean 조회(1)작업 금지 시간(1)cool time(1)(1)추상 클래스(1)many to many(1)구글(1)No Operation(1)@supports(1)마리아 db(1)조회할 빈이 2개 이상일 때(1)Locale(1)publishEvent(1)sequel pro(1)unless(1)status(1)권한 설정(1)소문자 변환(1)지메일(1)깃 허브(1)스트림(1)client(1)메트릭(1)인증 수정(1)set 특정 인덱스 삭제(1)DB System(1)input(1)th:block(1)text(1)어노테이션(1)Scanner(1)yaml(1)(1)run configuration(1)csrf(1)검증기(1)Firebase(1)나노세컨드(1)클라우드(1)요청 parameter(1)공유 api(1)null(1)사용법(1)multi check box(1)요일(1)Document(1)EXPLAIN(1)Long(1)메시지 코드 리졸버(1)access code(1)SQRT(1)util(1)권한 삭제(1)핸들러(1)Data Link Layer(1)Set List 로 변환(1)publish(1)쿼리디에스엘(1)메시지 조회(1)JOIN(1)ajax(1)IP주소(1)DB Language(1)마이크로 서비스(1)FCM(1)paging 정렬(1)텍스트 아이콘(1)H2 오류(1)char 와 동일한 숫자로 변환(1)보안 수정(1)enc(1)산술 연산(1)git init(1)reject(1)selinux(1)(1)프로메테우스(1)메모장(1)생성자 연쇄 호출(1)Shield IO(1)OSI(1)요청(1)오류 코드 설계(1)elvis(1)PK(1)set 특정 index 삭제(1)abstract(1)properties(1)디팬던시(1)apns(1)class(1)Network Layer(1)추상 class(1)PING(1)@NotBlank(1)String 특정 알파벳 삭제(1)XML(1)용량 확인(1)옵션(1)(1)Flex(1)&&(1)form 객체(1)decoding(1)DDD(1)gradlew(1)Database System(1)아이콘(1)SecurityFilterChain(1)test 의 법칙(1)엑세스 토큰(1)Wget(1)(1)도커 허브(1)스냅샷(1)toBuild(1)init(1)역순정렬(1)연관관계 매핑(1)JRE(1)도커 실행(1)tomcat(1)권한 부여(1)서버 실행 실패(1)common util(1)댓글(1)경로 변수(1)용량(1)기계어(1)인터넷(1)sql setting(1)firewalld(1)리터럴 대체(1)attrappend(1)결제(1)웹 서버(1)업로드(1)사용자 권한(1)EID(1)방화벽(1)utext(1)람다식(1)관계형 데이터(1)type error(1)실행(1)not blank(1)인스턴스(1)DBMS(1)try catch 효율(1)Querydsl(1)Node(1)Web Programming(1)find(1)JAVADOC(1)toCharArray()(1)Java 11(1)세팅(1)json object(1)지속 통합(1)Monolith Archtecture(1)거절된 값(1)서블릿 역사(1)프록시 매니저(1)모놀리스(1)입력 폼(1)toBuilder(1)회원가입(1)fragment(1)onAuthenticationFailure(1)Paging(1)라우터(1)authenticate(1)버전설정(1)msa(1)@NotNull(1)String 수정(1)href(1)validate(1)default(1)등급(1)principal(1)필드(1)그라파나(1)API 통신(1)LocalDate(1)인가 토큰(1)데이터 setting(1)application(1)Spring Framework(1)java 17(1)hidden field(1)그룹 함수(1)쓰래드(1)특정 index 삭제(1)캐스팅(1)Test 분류(1)접근 설정(1)fields(1)git staging(1)키페어(1)my sql 세팅(1)select(1)option(1)제이슨(1)instagram(1)consol(1)리눅스 접속(1)api 예외처리(1)시크릿 키(1)디팬던시스(1)build 패턴(1)Physical Layout(1)CNAME(1)제네릭(1)Application Layer(1)단위 Test(1)데이터베이스(1)value(1)Servlet 역사(1)null 객체(1)disabled(1)웹의 역사(1)attrprepend(1)Observer(1)pathing(1)continuous integration(1)State(1)Sort(1)HTTP protocol(1)this(1)사설 IP(1)쿼리 DSL(1)vhost(1)Sequel Pro 다운로드(1)rd(1)Surrogate key(1)추천(1)encoding(1)Pathvaliable(1)히든 필드(1)Size(1)체크박스(1)다대다(1)한글 깨짐(1)String 뒤집기(1)Session Layer(1)Web Application Server(1)선택자(1)PriorityQueue(1)CSS(1)Session 적용(1)Naver API(1)yum(1)댓글 개수(1)기본기능(1)주차(1)Spring Web MVC(1)repository(1)Data Base(1)JVM(1)시퀄 프로(1)날짜(1)Three - Schema Architecture(1)DevTools(1)typeMismatch(1)spring doc(1)LAB(1)erd(1)뱃지(1)Bean 속성(1)협업(1)SSR(1)sql 데이터 크기(1)EventListener(1)dependency(1)자연키(1)미해결(1)EL 표현식(1)Authorize(1)시계열(1)hosts(1)Spring EL(1)base(1)block(1)스웨거(1)암호(1)필터(1)cpu(1)memory(1)Workflows(1)inline(1)www(1)제곱(1)name(1)앵커(1)Elvis 연산자(1)onchange(1)배열로 변환 효율(1)date format(1)최소공배수(1)레스트 템플릿(1)th:inline(1)상속 관계(1)숫자 크기 비교(1)페이징 정렬(1)data(1)고정 ip(1)인풋(1)공인 IP(1)명령어(1)Markdown(1)마크다운(1)Table(1)암호화(1)입력 양식(1)기본키(1)http method(1)select 절(1)form(1)priauthorize(1)setter(1)super(1)인터넷의 탄생(1)type 검증 처리(1)sql 삭제(1)특정 String 수정(1)Cookie 적용(1)호버(1)WebDataBinder(1)프록시 서버(1)index 위치(1)Micro Service(1)Meta Data(1)pull(1)List 초기화(1)linked hash map(1)Array List(1)Configuration(1)환경설정(1)데이터 모델링(1)빌터(1)NOT NULL(1)type 검증(1)차이점(1)@EnbleMethodSecurity(1)aws(1)No Operation 연산자(1)@EnableWebSecurity(1)프록시 캐시(1)EnableMethodSecurity(1)Java(1)a record(1)th:error(1)(1)ip 확인하기(1)인터셉터(1)rejectValue(1)Micro Service Archtecture(1)인증 삭제(1)ignore(1)check boc(1)좋아요(1)End point(1)정적 캐싱(1)병렬 처리(1)spring 컨버터(1)Simple Icons(1)경로 변경(1)hasNext()(1)Groovy(1)빌더(1)Casting(1)select box(1)git-bash(1)splite(1)의존성(1)프론트 컨트롤러 패턴(1)유동 ip(1)W3C(1)그래프(1)CRUD(1)대문자로 변환(1)|| 초기화(1)@PrdAuthorize(1)EL(1)복수 value(1)홈브루(1)호스트(1)응답(1)Servlet Container(1)logout(1)hash map(1)select 실행 순서(1)Multi-core(1)텍스트 박스(1)FIRST(1)Monolith(1)Ids(1)배열 자르기(1)도커설치(1)동시성(1)Natural key(1)Exception Handler(1)if(1)정규화(1)init data(1)깃허브(1)키툴(1)ApplicationEventPublisher(1)JDBC(1)차트(1)반복(1)동적 캐싱(1)비밀번호 설정(1)ids.prev(1)대시보드(1)equals(1)Docker file(1)bite code(1)패턴(1)@MappedSuperclass(1)템플릿(1)DateTimeFormatter(1)개인 인증서(1)Error starting ApplicationContext(1)7 계층(1)Hibernate(1)Spring(1)스프링(1)컴포즈(1)가로 정렬(1)copyOfRange()(1)kakao(1)multi thread(1)이벤트(1)배열 순회(1)String Array 로 변환(1)생성자(1)오거니제이션(1)list arry 변환(1)range(1)apple developer(1)파일 찾기(1)multi-process(1)case(1)속성 추가(1)Listener(1)jdb(1)배열 비교(1)비교 연산(1)마우스(1)data setting(1)데이터 세팅(1)CGI(1)hover(1)hash set(1)Assert J(1)TreeSet(1)linked map(1)(1)연도(1)인가 코드(1)열거형(1)메시지 생성(1)연산(1)error code(1)vim(1)git clone(1)app config(1)message 조회(1)왜 long 을 사용해야하지?(1)errorclass(1)종료(1)최적화(1)제곱근(1)mvc cookie(1)EPEL(1)query parameter(1)정적웹(1)git add(1)다운로드(1)@SuperBuilder(1)빌드 패턴(1)메모리(1)Event(1)ci(1)String 배열로 변환(1)text box(1)유틸(1)텍스트 브라우저(1)러너(1)web brower(1)jar(1)순환 참조(1)h2 예외(1)정규화 3단계(1)labs(1)로그인 기능(1)linking(1)한글깨짐(1)예외 처리(1)classappend(1)stat(1)Cookie 사용(1)호스트 파일(1)String 특정 알파뱃 찾기(1)transport layer(1)toss payment(1)position(1)errors(1)Presentation Layer(1)색인(1)포트 변경(1)아마존(1)uuid(1)relationship(1)3진법(1)Spring Bean(1)String 특정 위치 찾기(1)foramt(1)대리키(1)application yml(1)양방향 연관관계(1)맴버 등급(1)HTTP 통신(1)thymeleaf 페이징(1)도커 상태(1)조건(1)jaypt(1)type 에러(1)contains()(1)sql 세팅(1)radio button(1)Runner(1)social-login(1)link(1)오류코드(1)npm(1)schema(1)기본생성자(1)도커 설치(1)라인(1)컨버터(1)리스너(1)LomBok(1)변수 표현식(1)matches(1)정적 웹(1)git commit(1)ddl auto(1)vi(1)git push(1)push(1)댓글 표시(1)개월(1)대문자 변환(1)checked(1)배열 복사(1)library(1)폴더명 변경(1)field(1)메시지 api(1)INSERT(1)상속관계 형 변환(1)radio(1)스코프(1)rebase(1)약수(1)http(1)상태(1)String 특정 index 삭제(1)command 객체(1)회원 등급(1)Elvis 연산(1)data model(1)@InitBinder(1)t(1)
post-thumbnail

Prometheus + Grafana 시작하기

/actuator 경로로 브라우저를 통해 들어가면 모니터링 되고있는 메트릭 정보를 확인할 수 있는 url 을 json 형식으로 제공 하고있다.안내하고 있는 url 중 prometheus url 로 접속해보면 프로메테우스가 조회한 메트릭 정보를 확인할 수 있다.text

7일 전
·
0개의 댓글
·
post-thumbnail

Docker compose

Docker application 의 서비스, 네트워크, 볼륨 등 의 설정을 yaml 형식으로 작성해 통합관리하는 파일version최신 버전에서는 사용하지 않는 명령어 이다.명시해줘도 되지만 최신버전에서는 생략가능Service컨테이너로 실행될 application 을

7일 전
·
0개의 댓글
·
post-thumbnail

ExceptionHandler 를 통한 예외처리

Rest Controller 를 구현할 때 비즈니스 로직 수행 중 문제가 발생할 경우 이를 핸들링 하기 위한 기능이다.서버의 문제인지 클라이언트의 문제인지 원인을 클라이언트에게 응답할 수 있다.만약 예외처리를 하지 않는다면 모든 exception 이 500 에러로 발생

2023년 5월 24일
·
0개의 댓글
·
post-thumbnail

Swagger api 적용하기

Swagger 는 REST 웹 서비스의 설계, 빌드, 문서화, 소비하는 일을 도와주는 오픈소스 프레임워크이다.간편하게 프로젝트에서 지정한 URL 들을 HTML 파일로 정리해준다.spring boot 3.x.x 부터는 spring doc 을 사용해야 한다.참고로 1.7.

2023년 5월 24일
·
0개의 댓글
·
post-thumbnail

GitHub Organizations 시작하기

git hub 의 계정은 개인 계정과 단체계정 (Organizations) 으로 나눌 수 있다.개인계정에서도 저장소를 만들어 다른 계발자와 협업이 가능하지만, 소유주 한명에게 의존적인 형태로 작업이 진행된다는 단점이 있다. \- Organizations 은 권한

2023년 5월 24일
·
0개의 댓글
·
post-thumbnail

Spring Boot 에서 email 보내기

Google 에서 앱 비밀번호 설정 → Google 메일 설정google → 계정관리 → 보안 → 2단계 인증 → 앱 비밀번호 설정앱 선택 : 메일기기선택 : 비밀번호16자리 기기용 앱 비밀번호를 저장해준다.Gmail → 우측상단 톱니바퀴 → 모든 설정 보기 → 전달

2023년 5월 23일
·
0개의 댓글
·
post-thumbnail

GitHub Action CD 구현

runner 는 github action 을 CD 하기 위해 워크플로우가 실행되는 환경을 제공하고,필요한 의존성을 설치하고 작업을 수행할 수 있도록 도와주는 실행환경이다.배포하려는 가상 instance 서버를 runner 와 연결해야한다.연결이 완료되면 instance

2023년 5월 23일
·
0개의 댓글
·

git hub action 으로 ci 하기

다양한 사람들과 협업을 할 때 에러 또는 테스트가 실패한 상태로 원격 branch 에 push 하지 않도록 막을 수 있다.즉, 기본적인 검증이 완료된 상태로 merge 할 수 있다.git hub action 설정파일을 관리하는 디렉토리이다.아래 경로에 원하는 파일을 생

2023년 5월 17일
·
0개의 댓글
·

JWT 유효성 검사와 디코딩

이전 포스딩의 토큰 생성에 이어서 토큰 유효성을 검증하고, 디코딩하는 method 를 구현했다.

2023년 5월 17일
·
0개의 댓글
·

JWT Access Token 생성하기

Map 을 JSON 으로 변환시켜주는 객체Claims (Client 정보) 를 Map 에 저장하기 때문에 변환 과정이 필요하다.Map<String, Object> claimsJWT 에 저장하려는 client 의 정보int seconds토큰의 만료 시간claims

2023년 5월 17일
·
0개의 댓글
·

JWT Secret Key 생성하기

시크릿 키 생성시크릿 키는 되도록 길게 만드는 것이 좋다.시크릿 키는 절대로 외부에 노출되어선 안된다.git ignore 나 암호화를 사용해 보안을 유지시키자🔗 Jaypt 로 암호화 하기시크릿 키의 존재 유무를 확인하는 test 케이스 생성시크릿 키는 applicat

2023년 5월 17일
·
0개의 댓글
·

JWT 시작하기

🔗 repositoryGradle - GroovyJava 17Spring boot 3.0.6JarDependenciesSpring WebLombokSpring Boot DevTools

2023년 5월 17일
·
0개의 댓글
·

JWT 의 역사

모바일 앱이 없던 시절엔 브라우저와 서버간의 통신이 대부분 이였다.클라이언트는 ID, PW 로 인증을 완료하고 브라우저에 저장된 세션값을 쿠키에 담아서 요청하는 방법으로 로그인을 유지했다.이렇게 하면 간단한 CPU 연산만으로 로그인을 유지시킬 수 있었다.모바일 앱은 기

2023년 5월 17일
·
0개의 댓글
·
post-thumbnail

토스 페이먼트 시작하기

🔗 Toss 개발자 센터🔗 spring boot 토스 페이먼츠 연동 샘플 공식 Git repository🔗 Spring boot 만 따로 분리한 Repository모바일에서 Toss 앱 가입개발자 센터에서 Toss 아이디로 로그인우측 상단에 내 개발자 정보 → A

2023년 5월 16일
·
0개의 댓글
·

Feign Client 로 HTTP 통신 하기

외부 서버와 통신을 하기위해선 HTTP 메시지를 이용해야 한다.기존에는 메시지를 작성하고 요청, 응답 받기 위해 RestTemplate 을 사용했었다.ReestTemplate 을 직접 사용할 때 매우 복잡하고, 응답 받은 값을 직접 하나하나 매핑해줘야 되는 점이 불편했

2023년 5월 16일
·
0개의 댓글
·

JWT 토큰 발급받기

JSON Web Token 라이브러리JWT 토큰을 발급받기 위해 사용했던 추상 객체로, Spring Security 라이브러리를 의존하면 사용할 수 있었다.2022 년 2월 21일에 업데이트된 Spring Security 5.7.0-M2 버전 이후부터 서비스가 종료되었

2023년 5월 14일
·
0개의 댓글
·

Spring Data JPA ‘delete’ 논리 에러

객체의 필드값 변화를 그래프로 만들기 위해서 Spring boot event 를 적용한 Snapshot 객체를 만들어 그래프를 구현하고 있었다.그래프는 일주일까지 기록되기 때문에 하나의 객체당 Snapshot 7 개의 객체만 있으면 되서,새로운 Snapshot 이 생성

2023년 5월 14일
·
0개의 댓글
·
post-thumbnail

Google Charts 로 차트 구현하기

객체의 변화를 Spring Event Lestener 를 통해 Snapshot 객체에 기록🔗 적용 방법기록한 Snapshot 객체를 List 에 담아 Model 을 통해 HTML 에 전달Google Charts 를 사용해 Snapshot 에 기록된 수치를 차트로 변환

2023년 5월 14일
·
0개의 댓글
·

쿨타임 구현하기

클라이언트가 특정 작업을 한 뒤,특정 시간동안 같은 작업을 하지 못하게 막기위한 기능이다.사용자 편의를 위해 다음 작업 가능시간까지 초단위로 보여줄 수 있는 기능도 구현하면 좋다.custom 을 사용해 원하는 금지 시간을 입력해준다.이렇게 구현하면 java 코드로 구현

2023년 5월 14일
·
0개의 댓글
·

도커파일로 생성한 이미지로 외부에서 서버 접속하기

작업 순서파일 생성build 폴더가 위치한 디렉토리에서 생성해야 한다.이미지 생성빌드가 완료되면 docker images 로 gram 이 생성되었는지 확인이미지 실행만약 환경변수가 있다면 -e 속성으로 환경변수를 추가해주면 된다.명령어 실행 후 docker ps 에 g

2023년 5월 3일
·
0개의 댓글
·