일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AWS EKS
- kotlin spring
- IntelliJ
- 티스토리챌린지
- Java
- 정보처리기사실기 기출문제
- kotlin coroutine
- Kubernetes
- 공부
- CKA
- Pinpoint
- kotlin querydsl
- 기록으로 실력을 쌓자
- CloudWatch
- CKA 기출문제
- Spring
- Elasticsearch
- 정보처리기사 실기 기출문제
- aws
- AI
- PETERICA
- 오블완
- minikube
- Linux
- 코틀린 코루틴의 정석
- APM
- MySQL
- mysql 튜닝
- 정보처리기사 실기
- kotlin
- Today
- Total
목록전체 글 (785)
피터의 개발이야기
소스 수정 시 불필요한 뒤의 스페이스를 없애기 Preferences > Editor > General - Save Files 에서 Modified Lines 선택합니다.
오늘은 오전 1시에 퇴근하였다. 공부는 계속 해야한다. 3장 AWS Auto Scaling 3.1 Auto Scaling 그룹 AMI를 이용해서 똑같은 EC2를 자동으로 늘리고 줄여준다. 평균 CPU 사용량이 10분 동안 90% 이상을 넘어서면 Auto Scaling 그룹에서 인스턴스를 하나 더 생성한다. 트래픽이 몰리는 특정 시간에 얘약을 걸어 인스턴스를 증가하고 줄일 수도 있다. 우선 구성되어진 인스턴스의 환경(OS, 디스크 내용)을 스냅샷으로 생성해서 AMI를 생성한다. 기리고 인스턴스를 실행할 Auto Scaling 그룹을 생성한다. 시작 템플릿 생성 Auto Scaling 그룹 생성 화면 생성된 Auto Scaling 그룹 3.2 AWS Elastic Load Balancing을 이용한 서버 트..
이 글은 김태용,『 김태용의 쉘 스크립트 프로그래밍 입문』,제이펍(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 ㅁ 필터된 문자..
스프링 부트를 종료하기 위해서는 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..
AWS에서 Auto Scaling이란 말을 자주 듣게 됩니다. 운영 서버의 성능 향상에 관한 용어들 중 스케일 업(scale-up)과 스케일 아웃(scale-out)에 대해 공부를 하였습니다. 스케일 업 서버 자체의 성능을 향상 시키는 것입니다. 예를 들어, 성능이나 용량의 증가를 목적으로 서버에 CPU나 메모리를 업그레이드 하는 경우입니다. 서버 자체의 성능을 업그레이 하는 경우는 DB가 있다. 데이터의 병렬적 처리는 데이터의 정합성을 유지하기 매우 어렵기 때문입니다. 성능의 향상은 장비의 특성에 제한을 받기에 제한성이 있습니다. 스케일 아웃 기존의 서버와 같은 서버를 양적으로 확장하는 방법입니다. 비교적 단순한 작업을 동시 병렬적으로 수행할 경우 유리하다. 하나의 장비에서 처리하던 일을 여러 장비로 ..
회사 프로젝트 중에 PDF의 섬네일을 만드는 과정을 정리하였습니다. 어제는 PDF를 이미지로 만드는데 성공하였고, 오늘은 이미지를 100X100 사이즈의 Thumbnail로 만드는 작업을 진행하였습니다. gradle 추가 //thumbnail compile group: 'org.imgscalr', name: 'imgscalr-lib', version: '4.2' compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.8.1' compile group: 'commons-io', name: 'commons-io', version: '2.6' 이미지를 섬네일 이미지로 변경 public File thumbnailS3Upload(File f..
프로젝트 진행 중 PDF를 등록하면 첫장을 섬네일로 보여달라는 요청이 있었습니다. 기술 검토를 해야하는 부분이라 퇴근하고 집에서 공부할 겸 테스트한 내용 글로 남깁니다. Gradle 추가 compile group: ‘org.apache.pdfbox’, name: ‘pdfbox’, version: ‘2.0.13’ compile group: ‘org.apache.pdfbox’, name: ‘pdfbox-tools’, version: ‘2.0.13’ 소스 @Test void contextLoads() { try{ String filePath = "pdf_test.pdf"; File file = new File(filePath); ClassPathResource classPathResource = new Cla..
회사에서 급하게 프로젝트를 하나 진행하게 되었다. 기존에 구축되어 있던 애플리케이션을 재활용하여 새로운 서비스를 1주일만에 런칭해야했다. 12.21 2시에 회의를 통해 해야할 일 감을 받고, 바로 투입. 기존에 구축되어 있던 애플리케이션이 곧 종료될 것 같아서 개발계가 삭제되어 있는 상황이었다. 나는 Elastic Beanstalk를 잘 모른 상태에서 Elastic Beanstalk으로 구성된 운영서버를 개발계에 똑같이 만들려고 하고 있었다. 급한 김에 얼릉 책을 훓터보고 개발계 세팅을 시작하였다. 급하게 읽어서 이해를 못했던 나는 결국 EB로 생성된 인스턴스를 AMI로 복제하여 개발계를 세팅을 마무리 하였다. 아쉬웠다. 그래서 빨리 Elastic Beanstalk 장을 공부해서 정리해야겠다는 생각이 확..
2장 운영 서버 환경의 구성 2.1 운영서버 아키텍처의 이해 단일 구성 : 가장 기본적으로 단일 서버 구성이 있다. 하나의 서버에 애플리케이션과 데이터베이스가 함께 있다. 장애에 취약하고 서버자원의 효율성이 떨어진다. 데이터베이스 분리 : 네트워크를 이용하기 때문에 서비스 지연 시간과 보안을 고려해야한다. 하지만 스케일 아웃은 여전히 힘들다. 서버 단위의 로드 밸런스 : 로드 밸런스의 장점은 스케일 아웃이다. 일부 서버의 장애가 발생해도 가용 서버로 트래픽 분산을 통해 장애대응이 가능하다. L4장비를 사용한다. 서버 내 앱 단위의 로드 밸런스 : 로드 밸런스에 로드 밸런스를 두고 애플리케이션도 모듈별로 세분화하여 서버 자원의 효율성을 높이고 있다. 마이크로서비스의 장애 대응, 자원활용능력, 고트래픽에 대..
템플릿 리터럴은 내장된 표현식을 허용하는 문자열 리터럴입니다. 여러 줄로 이뤄진 문자열과 문자 보간기능을 사용할 수 있습니다. 이전 버전의 ES2015사양 명세에서는 "template strings" (템플릿 문자열) 라고 불려 왔습니다. Syntax `string text` `string text line 1 string text line 2` `string text ${expression} string text` tag `string text ${expression} string text` 사용법 템플릿 리터럴은 이중 따옴표 나 작은 따옴표 대신 백틱(` `) 을 이용합니다. 템플릿 리터럴은 또한 플레이스 홀더를 이용하여 표현식을 넣을 수 있는데, 이는 $와 중괄호( $ {expression} ) 로..
TDD 공부를 하면서 우연히 좋은 글을 보게 되었다. AWS환경의 로컬 테스트를 위한 방법으로 간단히 개념적으로 정리를 한다. 출처 : LocalStack Intro 우하한형제들의 기술 블로그 중 LocalStack을 활용한 Integration Test 환경 만들기 를 요약 정리한다. 로컬개발환경에서 AWS 서비스 사용에 따른 문제점 해결방법이 글의 주제이다. LocalStack은 오프라인에서 클라우드 앱을 개발하고 테스트할 수 있도록 도와준다. LocalStack은 AWS 클라우드 리소스의 기능을 에뮬레이션하여 제공하여 준다. localstack-utils 와 같은 라이브러리를 제공하여 junit 에서 쉽게 localstack 을 실행하는 방법도 제공하고 있다. DockerTestUtils 를 사용하..
자바 공부를 하는 중에 다른 분들의 github를 보다가 JAVA 문제를 풀어보는 분들이 있었다. 문제는 알고리즘을 짜거나 JAVA 문자열 처리 등 다양한 문제들이 있었다. 하나씩 풀면서 굳어있는 나의 머리를 다시 살려야겠다. 지금은 124 나라의 숫자 문제를 풀기 위해 JAVA프로젝트를 하나 만들었다. 공부한 내용은 Github에 있습니다.