728x90

전체 글 198

EC2 서버에 환경변수 추가해 키값 안보이게 설정하기

EC2 서버에 환경변수 추가해 키값 안 보이게 설정하기 키값을 노출한 체로 깃허브에 커밋을 하면, AWS에서 경고 이메일을 날린다. 이때 해결 방법은 환경변수를 설정해 키값을 변수 처리 하는 방법이 있다. 1. 이 방식으로 하면 오류가 생기나 보다 https://cordcat.tistory.com/118 AWS EC2 인스턴스에서 환경변수 설정하는 방법 AWS EC2 인스턴스에서 .yaml 파일에서 불러오는 값 중 노출되면 안 되는 값들은 환경변수로 설정하는 것이 좋습니다. spring: datasource: url: jdbc:mysql://cordjg-database.c8izlkxyxcni.ap-northeast-2.rds.amazonaws.com:13306 cordcat.tistory.com 2. 직..

Back-End/Project 2024.02.04

게시판 만들고 새 글 작성하기

게시판 만들고 새 글 작성하기 폼데이터 : HTML 요소인 태그에 실려 전송되는 데이터 태그 : 웹 브라우저에서 서버로 데이터를 전송할 때 사용 태그에 실어 보낸 데이터는 서버의 컨트롤러가 DTO 객체에 담아 받습니다. DTO로 받은 데이터는 최종적으로 DB에 저장됩니다. 뷰 템플릿 페이지에 입력 폼을 만들기. 자바 .java 코드가 바뀔 때는 서버를 재시작해야 하지만, 머스테치 .mustache 코드가 바뀔 때는 망치 아이콘만 눌러 빌드해도 된다. 태그를 입력 할 때 데이터를 어디에 보낼지는 action 속성, 어떻게 보낼지는 method 속성으로 설정 - action 속성 URL 연결 주소를 적어 action="/articles/create"로 설정하는 것은, localhost:8080/article..

뷰 템플릿과 MVC 패턴

뷰 템플릿과 MVC 패턴 뷰 템플릿 : 화면 담당하는 기술, 웹 페이지를 하나의 틀로 만들고 변수를 삽입해 서로 다른 페이지로 보여줌 머스테치(mustache) : 뷰 템플릿을 만드는 도구, 뷰 템플릿 엔진 컨트롤러 : 클라이언트의 요청에 따라 서버에서 이를 처리하는 역할을 함 모델 : 데이터를 관리하는 역할을 함 뷰 : 웹페이지를 화면에 보여줌 resources > static html 파일 넣기 resource > templates 뷰 템플릿(mustache) 넣기 이 위치에 머스테치 파일을 저장하면 스프링 부트에서 자동으로 로딩한다. 머스테치 파일 제일 윗줄에 doc을 입력하고 tab키를 누르면 기본 html 코드가 자동 작성됩니다. => 뷰 템플릿 페이지 작성 완료 뷰 템플릿 페이지를 웹 브라우저..

2) 0-1 Knapsack Problem

0-1 Knapsack Problem Fractional Knapsack Problem - Greedy 0-1 Knapsack Problem - Dynamic - Backtracking - Branch and Bound 0-1 Knapsack Problem 0-1 knapsack 문제는 greedy 방식으로 optimal을 보장할 수 없다. 0-1 knapsack 문제의 optimal을 보장하기 위해서는 dynamic, backtracking, branch and bound 3가지 방식을 이용해야 한다. 1) Dynamic 동적 알고리즘은 먼저 입력 크기가 작은 부분 문제들을 모두 해결한 후에 그 해들을 이용하여 보다 큰 크기의 부분 문제들을 해경하여, 최종적으로 원래 주어진 입력의 문제를 해결하는 알고..

CS/알고리즘 2023.12.19

스프링부트 프로젝트 run 버튼 비활성화 되어있을 때 오류 해결방법

스프링부트 프로젝트 run 버튼 비활성화 되어있을 때 오류 해결방법 스프링부트 프로젝트를 clone 하거나, 작업 환경을 새로 만들 때 대부분의 경우 메인 파일의 run 서버가 비활성화되어 있는 것을 확인할 수 있을 것이다. 해결방법 4가지 1. File -> Setting -> Build, Execution, Deployment -> Build Tools -> Gradle - Gradle JVM이 17인지 확인하기, 아닐 경우 project sdk 17 선택 2. File -> Project Structure - Project에서 SDK 17 선택 - Language level을 SDK default로 선택 3. Gradle 탭 선택하고 설정 리프레시 아이콘 클릭, 서버 재시작 4. settings.g..

1) Fractional Knapsack Problem

Fractional Knapsack Problem Fractional Knapsack Problem - Greedy 0-1 Knapsack Problem - Dynamic - Backtracking - Branch and Bound Greedy 탐욕 알고리즘 greedy는 '욕심많은'이라는 뜻이다. greedy algorithm이란 선택의 순간마다 당장 눈앞에 보이는 최적의 상황만을 쫒는 방식이다. 배낭문제 배낭문제는 최소 비용으로 자원을 할당하는 문제이다. 조합론, 계산이론, 암호학, 응용수학 분야에서 기초적인 문제로 다뤄진다. 배낭문제 응용사례 - 버리는 부분을 최소화시키는 원자재 자르기 - 자산투자 및 금융 포트폴리오에서 최선의 선택 - Merkle-Hellman 배낭 암호 시스템의 키 생성 Fra..

CS/알고리즘 2023.12.18

14) Spring Boot 테스트 코드 작성하기

14) Spring Boot 테스트 코드 작성하기 1. 테스트 프로그램의 품질을 검증하는 것으로, 의도대로 프로그램이 잘 동작하는지 확인하는 과정입니다. 2. 테스트 코드 작성법 테스트 코드는 다음과 같이 3단계로 작성합니다. 1. 예상 데이터 작성하기 2. 실제 데이터 획득하기 3. 예상 데이터와 실제 데이터 비교해 검증하기 프로그램 코드가 테스트를 통과하면 지속적인 리팩터링으로 코드를 개선하고 통과하지 못하면 잘못된 부분을 찾아 고치는 디버깅을 합니다. 3. 테스트 케이스 테스트는 다양한 경우를 대비해 작성하는데, 이를 테스트 케이스라고 합니다. 테스트 케이스는 성공할 경우뿐만 아니라 실패할 경우까지 고려해 작성합니다. 더 나아가 성공1, 성공2, .. 실패1, 실패2, ... 와 같이 다양한 상황을..

13) Spring Boot 서비스 계층과 트랜잭션

13) Spring Boot 서비스 계층과 트랜잭션 1. 서비스 컨트롤러와 리파지터리 사이에 위치하는 계층으로, 서버의 핵심 기능(비즈니스 로직)을 처리하는 순서를 총괄합니다. 클라이언트가 요청을 보내면, 이를 컨트롤러가 받아 서비스로 전달하고, 서비스는 정해진 코드 흐름을 따라 처리를 진행. 이때 처리에 필요한 데이터는 리파지터리가 DB에서 가져와 서비스로 반환합니다. 이렇게 대부분의 웹 서비스는 컨트롤러와 리파지터리 사이에 서비스 계층을 두어서 역할을 분업합니다. 2. 트랜잭션 모두 성공해야하는 일련의 과정으로, 쪼갤 수 없는 업무 처리의 최소 단위입니다. 보통 트랜잭션은 서비스 단에서 관리합니다. 3. 롤백 트랜잭션 내부에서 실행에 실패하면 지금까지 수행한 것을 모두 폐기하고 진행 초기 단계로 되돌..

12) Spring Boot HTTP와 REST 컨트롤러

12) Spring Boot HTTP와 REST 컨트롤러 1. REST API REST는 HTTP URL로 서버의 자원을 명시하고 HTTP 메서드(GET, POST, PATCH/PUT, DELETE)로 해당 자원에 대해 CRUD(생성, 조회, 수정, 삭제)하는 것을 말합니다. API는 클라이언트가 서버의 자원을 요청할 수 있도록 서버 측에서 제공하는 인터페이스 입니다. 결국 REST API란 REST 기반으로 API를 구현한 것이라고 할 수 있습니다. 2. REST 컨트롤러 REST API로 설계된 URL 요청을 받아 처리하는 컨트롤러입니다. 일반 컨트롤러가 뷰 페이지를 반환한다면 REST 컨트롤러는 JSON이나 텍스트 같은 데이터를 반환합니다. 3. REST 컨트롤러의 특징 - @RestControll..

카테고리 없음 2023.11.29
728x90