일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 정보처리기사 실기
- Kubernetes
- aws
- Pinpoint
- 정보처리기사실기 기출문제
- IntelliJ
- 코틀린 코루틴의 정석
- PETERICA
- CloudWatch
- mysql 튜닝
- Elasticsearch
- CKA 기출문제
- APM
- MySQL
- 티스토리챌린지
- kotlin coroutine
- AWS EKS
- 공부
- 정보처리기사 실기 기출문제
- AI
- minikube
- Java
- kotlin spring
- Linux
- CKA
- Spring
- 오블완
- 기록으로 실력을 쌓자
- kotlin
- kotlin querydsl
- Today
- Total
목록공부 (24)
피터의 개발이야기
회사에서 구글 OAuth와 Apple OAuth를 위한 백엔드 개발을 하였습니다. 그러면서 예전에 개발하였던 SSO과 차이점을 경험하게 되었습니다. 제가 경험했던 SSO에 대해 되짚어보며 OAuth에 대해서 설명을 하도록 하겠습니다. SSO란 무엇일까요? Single Sign On의 약자로, 한번의 로그인으로 여러 어플리케이션을 사용하는 기술을 말한다. 각 어플리케이션의 로그인/인증부분을 한 군데로 통합하여 관리하는 방법이다. 혹은 인증된 토큰을 이용하여 다른 어플리케이션도 로그인처리를 해준다. 기억의 회상, SSO 사용했던 이유 기존에 이미 A서비스가 있었습니다. 그리고 A서비스를 기반으로 한 플러스 상품으로 2개의 어플리케이션이 추가가 되었습니다. 서비스 확장 시 기획단계에서 요구사항으로 SSO를 요..
컨트롤에서 리다이렉션을 시키는 방법을 포스팅해 보았습니다. package com.peterica.swagger.controller; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.spri..
오늘은 Slack과 연동하는 방법에 대해서 포스팅해보도록 하겠습니다. 고객에게 푸시를 통해 알람을 보낼 수 있지만, 어드민을 사용하는 영업팀에서는 자체 어플이 있지 않는한 Slack의 알림을 통해 상황을 빠르게 확인 할 수 있다. 슬랙연동에는 여러 방법이 있다. 크게 프론트앤드에서 연동하는 방법이 있다. 프론트 개발자 분이 설명해 주시는 참조할만한 블러그가 있다. [API] 슬랙(Slack) API 완벽 정리하기 백엔드에서 연동하는 방법에는 별다른 SDK없이 프론트와 마찬가지로 RestTemplate로 통신하는 방법과 slack에서 제공되는 SDK를 이용하는 방법이 있다. 자세한 내용은 slack의 개발자 가이드를 참조하면 좋다. Slack SDK for Java 우선 RestTemplate로 구현한 소..
로컬에 개발환경을 구축하면서 사용하였던 bootJar 실행 shell문을 정리하였습니다. 로컬환경 세팅 이유Intellij에서 개발한 것을 개발계에 올리기 직전에 로컬에서 테스트하기 위해 환경을 구성하였습니다.로컬에 PinPoint를 구축하여서,프론트개발자가 로컬에서 테스트 진행 시 모니터링 및 버그확인이 아주 쉬웠습니다. 로컬 빌드 방법Intellij에서 bootJar 빌드를 마치면 jar파일이 생성되고,쉘을 통해 jar 복사 및 SpringBoot 재가동하는 쉘을 만들었습니다. Shell의 개요크게 3개 파트로 구성하였습니다. - 재사용을 위한 환경세팅 부분, - function 선언부분 - case문으로 실행 분기를 하는 부분입니다. bootJar.sh의 내용#!/bin/bash# app..
if 문은 참과 거짓의 경우에만 사용할 수 있으며, 다중 if 문을 사용하여 여러 개의 조건을 주는 경우에는 프로그램이 복잡해진다. 여러 개의 조건인 경우 case문을 사용하는 것이 간결하고 편리하다. case 문의 기본 문법 case 파라미터 in 조건1) 명령어1;; 조건2) 명령어2;; *) 조건1과 조건2가 아닌 경우 esac 조건 예제 #!/bin/bash echo "값을 입력하세요." read param case $param in # 패턴 ??02??) echo "2월이군요";; # or 조건 Yes | yes | Y | y) echo "Yes!!";; [nN]*) echo "n 또는 N으로 시작, 정규식";; b?) echo "b로 시작하는 2글자";; c*) echo "c로 시작하는 모든 ..
백엔드 개발과 프론트 개발을 위해 꼭 필요한 요소는 상호 소통일 것 입니다. 예전에 일했던 프로젝트에서는 프로세스를 관리하는 프로그램을 가지고 있었다. 기획단계에서 어플리케이션의 프로세스를 정의하고 그 프로세스에 코드를 부여하여, 그 프로세스에 대한 전문양식을 프로세스 관리 시스템에서 확인 할 수 있었다. 그래서 백엔드 개발자와 프론트 개발자들은 그 프로세스 전문 코드 양식과 설명에 따라 프로그램을 개발하였고, 오류나 기획단계에서 데이터 설계에도 큰 도움의 되었다. 이와 비슷한 swagger는 RestController 어노테이션을 기준으로 내부의 API를 자동 분석하여 HTML 문서로 제공하는 오픈소스이다. swagger는 백엔드가 개발한 API들의 논리적 설명과 전문들의 정의를 볼 수 있다. 또한 바..
오늘은 Mybatis연동을 정리합니다. gradle 설정 //DataBase Mybatis mysql implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.0.0' compile group: 'org.mybatis', name: 'mybatis', version: '3.4.6' compile group: 'org.mybatis', name: 'mybatis-typehandlers-jsr310', version: '1.0.2' compile group: 'org.mybatis', name: 'mybatis-spring', version: '1.3.2' compile group: 'mysql', name: 'mysql-connector-..
단축키: command + alt + o 적용 전 적용 후 Intellij 설정 변경 > Preferences > Editer > General > Auto Import 에서 Optimize imports on the fly를 체크한다. 편집을 하면 자동의 불필요한 Import가 정리가 된다.
ㅁ 들어가며 정말 많이 쓰는 기능이다. 로그를 분석하거나 설정값을 간단히 확인하기 위해서 사용한다. 예를 들어, 사용자의 접속 시간대나 접속한 URL 정보를 확인 할 때에 Access.log을 grep으로 찾을 때에 유용하다. grep을 잘 이용하면 시스템 로그 분석이 아주 쉬워진다. grep 기능에 대해서 정리해 보자! 주요기능은 파일 내용이나 콘솔상의 출력 내용에서 특정 문자열을 필터하여 보여준다. ㅁ 파일에서 xception 필터 > grep xception auth.log 특정 에러가 있을 때에 Exception의 문자열에서 xception으로 검색한다. Exception, exception이 필터된다. ㅁ 대소문자 구분없이 검색 > grep -i exception auth.log ㅁ 필터된 문자..
스프링 부트를 종료하기 위해서는 ProcessID를 찾아야 한다. grep + ps > ps -ef | grep app_key | grep -v grep process id를 kill의 인자로 대입하여 실행 > kill $(ps -ef | grep java | grep otr_auth | awk '{print $2}') 쉡 스크립트에서 backtick(`)를 이용해서 kill을 실행할 수 있다. > kill `ps -ef | grep java | grep otr_auth | awk '{print $2}'` pgrep grep과 ps의 결합형태이다. >kill `pgrep java` Boot 실행 시 pid 생성방법 Spring pid 옵션 #applicaion.properties에 추가 spring.pi..