전체 글 63

[AWS] CloudWatch, S3를 활용한 실습

미션 CPU 사용량 처리를 AWS CLI 기반으로 개발 개인이 어떤 경보를 발생시킬 것인지 선택 후 완성 S3 사용 예제 하나 완성 S3 기술 문서 보고 직접 구축 및 데이터 저장 test 완료 AWS 기사 또는 매뉴얼 하나 읽기 실습 1 CPU 사용량 처리를 AWS CLI 기반으로 개발 AWS CLI를 사용하여 CPU 사용량 경보 설정 공식 문서를 참고하여 실습했다. https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/US_AlarmAtThresholdEC2.html 아래와 같이 put-metric-alarm 명령을 사용하여 경보를 생성한다. aws cloudwatch put-metric-alarm --alarm-name cpu-m..

Infra 2024.02.28

@RequestBody와 @ModelAttribute를 언제 사용해야 할까?

Intro Spring Boot 프로젝트 진행 중 REST API로 개발하다가 Thymeleaf 사용 차 @Controller 어노테이션으로 변경한 일이 있었다. 모여서 회의하다가 Server Side Rendering와 Client Side Rendering에 대한 개념 등 조금 더 알아보기로 했다. 그 중 난 @RequestBody와 @ModelAttribute의 차이점과 언제 활용할 수 있는 지에 대해 알아본 내용을 바탕으로 팀 기술 문서 자료를 준비했다. 컨텐츠 주제 @RequestBody VS @ModelAttribute 차이점, 유사점 등등 각각 특징 등을 비교해서 포스팅 해주세요. 이때 해당 작업은 어떨 때 구분해서 사용 되는지에 대해서 설명해주고! 해당 작업을 사용한 예시 코드도 좀 부탁드..

Project 2024.02.26

[AWS] DynamoDB 테이블 생성 및 데이터 조회

Amazon DynamoDB란? Amazon DynamoDB는 완전관리형 NoSQL 데이터베이스 서비스로서 원활한 확장성과 함께 빠르고 예측 가능한 성능을 제공한다. DynamoDB는 분산 데이터베이스를 운영하고 크기 조정하는 데 따른 관리 부담을 줄여서 하드웨어 프로비저닝, 설정 및 구성, 복제, 소프트웨어 패치 또는 클러스터 크기 조정에 대해 걱정할 필요가 없게 한다. 또한 DynamoDB는 유휴 시 암호화를 제공하여 중요한 데이터 보호와 관련된 운영 부담 및 복잡성이 감소한다. https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.htmlW What is Amazon DynamoDB? - Amazon DynamoD..

Infra 2024.02.26

[AWS EC2] Docker로 Jenkins 설치 및 GitHub Webhook 설정

목차1. Intro2. AWS EC2 인스턴스 생성3. AWS EC2에 설치 및 환경 설정4. Jenkins 설정하기5. Jenkins 빌드 시 다운되는 현상6. 결과 Intro어제까지 VirtualBox의 Linux 환경에서 Docker를 사용하여 Jenkins를 설치했다. 오늘은 AWS EC2에서 Docker를 사용하여 Jenkins를 설치해본 후, GitHub Webhook을 설정하여 이벤트가 발생하면 자동으로 빌드가 되게 했다. AWS EC2 인스턴스 생성AWS I AM 계정을 받은 후 EC2 서비스에서 키 페어를 생성해줬다. 서비스 > EC2 > 키 페어 생성에서 해준다. 키 페어는 탈취 당하면 안 되기 때문에 온라인 상에 올리지 않도록 주의한다. 이제 EC2 인스턴스를 시작해보자. EC2 대시..

Infra 2024.02.21

[Trouble Shooting] Windows와 Linux의 파일 권한 차이

문제점 발생 Jenkins에서 파일 실행 권한이 없어서 gradlew 스크립트를 실행할 수 없는 문제 Windows에서 개발한 프로젝트를 github에 업로드 후 Jenkins에 다운로드 받은 -rw-r--r-- 1 jenkins jenkins 8692 Feb 20 05:12 gradlew 의 권한과 Windows에서의 rwxr-xr-x 1 Admin 197121 8692 Feb 20 09:17 gradlew* 권한이 달랐다. 그 이유는 Windows와 Unix 계열 운영체제(예: Linux, macOS)에서는 파일 권한 표현 방식이 다르기 때문이다. Windows에서는 **rwxr-xr-x**와 같이 표현하지 않는 대신에 파일 속성을 통해 권한을 설정하고 Unix 계열 운영체제에서는 **rwxr-xr-..

Infra 2024.02.20

[포트폴리오 특강] 회고

우리FISA 2기 Cloud Engineering 과정에서 진행된 포트폴리오 특강에 대한 회고를 해보려고 한다. 강의는 2월 29일 월요일 하루동안 진행되었으며 개발자 취준생에게 유익한 시간이었다고 생각한다. Intro 강의를 여는 질문이었던 '회사는 어떤 개발자를 뽑고 싶을까?'에 대한 답변을 서로 공유해보았다. 커뮤니케이션 능력이 좋은 사람, 개발을 잘 하는 사람, 개발에 대한 용어가 잘 정리되어 있는 사람과 같은 답변이 나왔다. 이런 질문을 계속 생각해보고, 내가 작성한 자기소개서도 이런 식으로 질문을 자꾸 던져봐야 한다고 하셨다. 협업 경험 1. 요즘 라이브 코딩을 하는 곳이 늘어나고 있는 추세다. 2. 면접에서 실무자와 실제로 같이 일하는 것처럼 페어 프로그래밍을 한다. 3. 현업에서 같은 화면..

TIL 2024.02.20

[Docker] 리눅스 환경에서 컨테이너 관리하고 실행하기

도커를 사용하여 여러 개의 컨테이너를 관리하고 실행해보았다. 이 실습은 세 개의 컨테이너를 사용한다. MySQL 컨테이너 (mysqldb): MySQL 데이터베이스를 실행하고 관리한다. fisa라는 데이터베이스에 activist, recipient, probono, probono_project라는 네 가지 테이블을 생성하고 데이터를 삽입한다. Oracle 컨테이너 (oracledb): Oracle 데이터베이스를 실행하고 관리한다. 이 컨테이너는 user01이라는 사용자와 관련된 설정을 사용하여 실행된다. Spring Boot 어플리케이션 컨테이너 (springbootapp): 스프링 부트 어플리케이션을 실행한다. 이 어플리케이션은 MySQL 데이터베이스와 연동하여 데이터를 조회하고 웹 페이지를 제공한다...

Infra 2024.02.16

프로그래머스 압축 Java - 최적화하기

https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2018 KAKAO BLIND RECRUITMENT 코딩테스트 연습 | 프로그래머스 스쿨 개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요! school.programmers.co.kr 위의 문제를 이전에 풀어봤을 땐 5일씩 붙잡고 풀었던 기억이 난다. 여러 가지 노하우가 쌓인 지금 Ha..

Algorithm 2024.01.25

[JavaScript] JSON 데이터 table 형태로 표현하기

DB에서 여러 건을 가져와서 html에 테이블 형식으로 출력하고자 한다. DeptController.java 우선 Controller에서 ObjectMapper를 사용해서 객체 타입의 데이터를 JSON 형태로 바꿔준다. @WebServlet("/dept") public class DeptController extends HttpServlet { DeptDAO dao = new DeptDAO(); protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { ObjectMapper objectMapper = new ObjectMapper(); S..

Web 2023.12.28

Spring Boot H2 Database 사용하기

실행 환경은 Windows, IntelliJ, Java 17, Spring Boot 3 버전, gradle 프로젝트를 사용했다. plugins { id 'java' id 'org.springframework.boot' version '3.2.1' id 'io.spring.dependency-management' version '1.1.4' } ... java { sourceCompatibility = '17' } resources 하위에 application.yml 파일을 만든 후 아래의 코드를 작성한다. spring: h2: console: enabled: true server: port: 8070 프로젝트 실행 후 Console 창에서 JDBC URL 을 찾아서 ctrl+C로 복사해둔다. 콘솔창에서 ..

Java 2023.12.27