일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- IntelliJ
- 기록으로 실력을 쌓자
- Linux
- minikube
- Spring
- 공부
- Elasticsearch
- Pinpoint
- Java
- 정보처리기사실기 기출문제
- aws
- mysql 튜닝
- 티스토리챌린지
- AI
- 오블완
- CloudWatch
- kotlin querydsl
- kotlin coroutine
- 코틀린 코루틴의 정석
- CKA
- 정보처리기사 실기 기출문제
- kotlin
- CKA 기출문제
- MySQL
- APM
- AWS EKS
- kotlin spring
- Kubernetes
- PETERICA
- 정보처리기사 실기
- Today
- Total
목록PETERICA (590)
피터의 개발이야기
ㅁ 개요 ㅇ 젠킨스를 플러그인 적용 및 기타 재시작이 필요한 경우가 있을 때 젠킨스 재기동 방법을 정리하였습니다. ㅁ 재기동을 위한 사전 준비작업 ㅇ Jenkins 관리 > Update shutdown preparation 메뉴로 이동한다. ㅇ 안전한 재기동을 위해 신규 빌드나 파이프라인 작업들의 실행을 방지한다. ㅇ Reason에 "재기동 이유를 남기면 다른 페이지에 경고표시가 됩니다."라고 입력하였다. ㅇ 빌드 대기 목록에는 Jenkins가 종료 중임을 표시 하고 배치 파이프라인은 작동이 되지 않았다. ㅇ 상단에 재기동 이유가 경고로 표시되었다. ㅁ Restart ㅇ http://localhost:8080/restart을 직접 호출하여 Restart페이지로 접근한다. ㅁ Safe Restart ㅇ ..
ㅁ 들어가며ㅇ nginx를 이용한 BlueGreen 배포 방식이다.ㅇ 두개의 port를 이용해 spring을 기동시키고, nginx를 통해 port를 switch하기 때문에 중단시간이 1초 미만이다.ㅇ 새로운 Spring 프로세스의 health check를 위해 status 200을 return하는 /health/check API가 필요하다. ㅁ Shell script#!/bin/bash# 프로세스명readonly PROC_NAME="appName"# jar 파일readonly DAEMON="/home/peterica/server/appName*.jar"# srping.pid.filereadonly PROC_PID="/home/peterica/server/server.pid"# spring.active..
서론회사에서 Intercom을 사용하고 있습니다. 고객과의 상담 내용을 백업하고자 Intercom API를 연동하는 작업을 정리하였습니다.백업의 필요성Note를 보면 Conversation(대화방)은 2년동안의 데이터만 확인 할 수 있어 과거 상담내역은 따로 백업을 해야합니다. 그리고 저장된 상담내용은 1. 고객과의 분쟁에서 사실관계 입증을 하고 2. IBM 왓슨으로 만들 자동상담 시스템을 위한 학습데이터가 됩니다.Intercom data back-up을 위한 용어의 정의Conversation : 대화방, 각각의 conversation ID가 있음.Conversation parts : 카톡으로 따지면 하나의 버블, Conversation > Transcript > 여기서 오간 하나하나의 대화를 Par..
서론 개발 프로젝트에서 Apple로그인을 적용하였습니다. 프론트 개발자와 협업하여 Apple로그인을 구현하였고, 이 포스팅은 백엔드의 입장에서 정리를 해 보았습니다. 앱에서 APPLE로그인 성공 후 인증된 appleToken을 가지고 서버에서 처리하는 과정입니다. 인증과정 APP에서 인증하고 API Server에서 또 인증? 상식적으로 이해가 되지 않았다. 앱에서 apple Token이 생성되었다면, 이미 로그인 성공인데, API 서버에서 그 인증 토큰을 다시 검증해야하는 과정이 이해가 되지 않았다. 하지만 앱으로부터 appleToken을 받을 때에 이 요청이 탈취될 수 있는 것이다. 그래서 요청을 탈취한 사용자가 정보를 도용할 수 없도록 서버에서 인증과정을 한번 더 거쳐야 한다. Gradle 세팅 //..
if문 기본 문법 if [ 조건 ] then 조건이 참일 경우 실행 elif [ 조건 ] then 조건이 참일 경우 실행 else 조건이 거짓일 경우 실행 fi 비교연산자 #!/bin/bash echo "비교연산자: 같으면" if [ "조건"="조건" ] then echo "참" else echo "거짓" fi echo "비교연산자: 다르면" if [ "조건"!="조건" ] then echo "참" else echo "거짓" fi echo "비교연산자: 널이 아니면" if [ -n "" ] then echo "참" else echo "거짓" fi echo "비교연산자: 널이면" if [ -z "" ] then echo "참" else echo "거짓" fi 조건들은 문자열이어야 한다. 산술연산자 #!/b..
이 글은 김태용,『 김태용의 쉘 스크립트 프로그래밍 입문』,제이펍(2009), 402~418p 을 보고 정리한 내용입니다. 공부하면서 더 자세한 블러그는 아래에 링크 참조하였습니다. awk란 데이터를 조작하고 리포트를 생성하기 위해 사용하는 언어입니다. Alfred Aho, Peter Weinberger, Brian Kernighan 3명이 만들었는데 이들의 이름 이니셜을 가져와서 awk라고 부릅니다. awk는 파일에서 레코드를 선택하고, 선택된 레코드에 포함된 레코드 값을 핸들링하거나 데이터화 합니다. 선택의 방법으로 패턴 탐색과 처리를 위한 명령어로 간단하게 파일에서 결과를 추려냅니다. 데이터화 방법으로 선택된 값을 가공하여 원하는 결과물을 만들어 냅니다. awk가 할 수 있는 일 파일의 특정필드만 ..
ㅁ 들어가며 정말 많이 쓰는 기능이다. 로그를 분석하거나 설정값을 간단히 확인하기 위해서 사용한다. 예를 들어, 사용자의 접속 시간대나 접속한 URL 정보를 확인 할 때에 Access.log을 grep으로 찾을 때에 유용하다. grep을 잘 이용하면 시스템 로그 분석이 아주 쉬워진다. grep 기능에 대해서 정리해 보자! 주요기능은 파일 내용이나 콘솔상의 출력 내용에서 특정 문자열을 필터하여 보여준다. ㅁ 파일에서 xception 필터 > grep xception auth.log 특정 에러가 있을 때에 Exception의 문자열에서 xception으로 검색한다. Exception, exception이 필터된다. ㅁ 대소문자 구분없이 검색 > grep -i exception auth.log ㅁ 필터된 문자..
ㅁ 들어가며 코드 작성 중 간단히 자바 테스트를 진행하였습니다. @SpringBootTest를 가동시켰는데, Failed to load ApplicationContext이 발생하면서 테스트를 진행할 수 없었습니다. 스프링이 특정 value 빈을 생성하려는데, 설정 파일을 찾지 못하엿습니다. 테스트 코드에서 ActiveProfile을 어떻게 지정하는 방법을 찾으면서 그 방법에 대해서 정리해 보았다. 이 원문을 보고 정리하였습니다. @Profile 빈을 특정 프로파일에 매핑합니다. @Component @Profile("dev") public class DevDatasourceConfig 프로파일 이름을 "!dev"로 하면 dev 프로필이 활성화되지 않은 경우에만 활성화가 됩니다. XML로 프로필 선언 Pro..
하루의 경험들을 기록하고 기억하며, 보다 나은 내일의 백엔드 개발자를 꿈굽니다. 이동욱님 처럼 소소하게 개발에 대한 지식을 쌓아가고 싶다. 블로그용 Github도 만들었다. ㅇ 신규 규격의 블로그 팻말
프로그래밍 설명 중에 명령형 프로그래밍과 선언형 프로그래밍에 대해 자주 접하게 된다. 선언형은 '무엇'을 할 것인지를 말하고, 명령형은 무언가를 작업하기 위한 '방법'을 뜻한다. Declarative(선언) 선언형의 대표적인 언어는 HTML,SQL 이 있다. HTML 웹페이지는 제목, 본문, 폰트, 그림과 같이 "무엇"을 보여줄 것인지를 묘사하고 있다. HTML은 브라우저에 어떻게 글을 표시를 위 코드를 이해 정의내리고 있다. 이 코드 구문이 어떻게 동작하는지에 대해 신경쓰지 않고 이를 사용한다. SQL SELECT * FROM Users WHERE Country='KOREA’; 데이터 처리를 "어떻게" 처리하는 것보다 "무엇을" 수행하는 지에 더 집중되어 있다. 다르게 설명하면, DB는 선언적 SQL을..