반응형

분류 전체보기 486

[220614] 우아한테크코스 레벨2 후기

우아한테크코스 레벨2가 끝났다. 레벨2는 레벨1보다 짧은 기간동안 진행됐다. 그럼에도 불구하고 다들 레벨1보다 힘들어하는 모습들이 보였다. 나도 마찬가지였고. 개인적으로 나는 힘든 만큼 많이 성장했다고 생각한다. 레벨2 때엔 스프링, aws 배포, 프론트와의 협업 등을 했는데, 이 과정 속에서 나는 cs 공부의 필요성을 느끼기도 했고 새로운 경험들을 많이 할 수 있었어서 정말 좋은 기억으로 남아있다. 네트워크, 운영체제, 리눅스 명령어의 필요성을 레벨2에서 많이 느낄 수 있었다. 우테코와 함께 매주 1회 이상 러닝 인증, 알고리즘 스터디를 병행했던 것이 조금 힘들었긴 했지만, 둘 다 챙길 수 있었어서 만족스러웠다. 조금 아쉬웠던 점은, 우테코 후기 및 회고를 매주 작성하지 못했던 점이다. 레벨1 때에 비..

[H2] 맥에서 H2 database 실행하기 (feat. zsh: permission denied: ./h2.sh)

인텔리제이 테스트 환경에서는 기본으로 h2를 제공해주기 때문에, H2 database를 직접적으로 설치할 일이 많을지는 모르겠다. 하지만 인생은 어떻게 될지 모르니 혹시나 해서 기록해두려 한다. 1. h2 database 접속 후 설치 아래 링크로 들어가자. https://www.h2database.com/ H2 Database Engine (redirect) H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is free to use for everybody, source code is included Written in Java, but also available as native executa..

[220609] 장바구니 협업 미션 회고

사실 오늘 날짜는 6월 9일이 아니고 6월 14일이다. 하지만 실질적으로 데모데이가 6월 9일이었고, 방학식이 6월 10일이었기 때문에 제목에는 6월 9일이라 적었다. 장바구니 미션은 3기때까진 존재하지 않다가, 4기 때부터 처음으로 생겨난 미션이라 한다. 레벨3 부터 프론트 크루들과 작업하기 전에 미리 맛보기용으로 이 미션을 넣어준 듯하다. 포항항 장바구니 우리 팀 이름은 포항항 장바구니로 지었다.(포항항ꉂꉂ(ᵔᗜᵔ*)ㅋㅋㅋㅋ) 백엔드 크루 구성원은 정, 조시, 포키, 케이(나)로 이루어졌고, 프론트 크루 구성원은 유세지, 샐리로 총 6명으로 구성됐다. 그동안의 미션은 페어랑 함께 2인 또는 3인으로만 작업해왔었기 때문에, 6명이서 함께 작업하는 경험은 굉장히 신기했다. 특히 나는 프론트 크루들과 ap..

[BOJ] 백준 2240. 자두나무 (Gold V)

감각 유지 겸 찾아본 문제. 많은 사람들이 풀었는데, 나는 안풀었길래 한 번 시도해보았다. 문제는 아래와 같다. https://www.acmicpc.net/problem/2240 2240번: 자두나무 자두는 자두를 좋아한다. 그래서 집에 자두나무를 심어두고, 여기서 열리는 자두를 먹고는 한다. 하지만 자두는 키가 작아서 자두를 따먹지는 못하고, 자두가 떨어질 때까지 기다린 다음에 떨어 www.acmicpc.net 의식의 흐름 및 해설 매 초마다 자두를 가져가느냐, 안 가져가느냐에 따라 상태가 달라진다. 만약 같은 초에서 현재 움직인 횟수가 같은 경우, 그리고 위치가 같은 경우는 메모이제이션이 가능한 때이므로 dp로 풀 수 있다. 애초에 생긴 거부터가 dp처럼 생겼다. d[t][cnt][now]: 현재 t..

PS/BOJ 2022.06.09

[Spring] 테스트에서 test 스키마가 아닌 main의 스키마를 의존한다면? _ application.yml 설정

아래 그림과 같이 main과 test 패키지에서 따로 db를 생성해야 한다고 해보자. 테스트에서는 매번 drop table if exists를 해주지만, main에서의 schema.sql에서 drop table을 해줄 경우에 배포할 때마다 데이터들이 리셋되므로 정말 큰일나게 된다. 이렇게 테스트 때와 실제 실행에서의 schema.sql을 다르게 해주고 싶다면 어떻게 해야 할까? @Sql 어노테이션을 쓰는 방법으로 해결된다고들 하지만, 나는 그 방법으로 해결되지 않았다. test 클래스마다 @Sql 어노테이션으로 classpath prefix까지 붙여주면서 사용해보아도 자꾸 test_schema가 아닌 메인 패키지의 schema.sql을 의존했다. 아직도 이 부분은 명확한 이유를 모르겠다.. 그럼 어떻게 ..

[AWS] Mysql + 웹 애플리케이션 AWS에 자동 배포하기

스프링 웹 애플리케이션을 aws 인스턴스에 배포하는 방법은 지난 포스팅(329번 포스팅)에 작성했었다. 또, 자동 배포 스크립트를 생성하여 배포하는 방법도 334번 포스팅에 작성했다. https://kth990303.tistory.com/329 [AWS] AWS EC2를 이용하여 스프링 웹 애플리케이션 배포해보기 AWS는 아마존에서 개발한 클라우드 서비스 플랫폼이다. 여기서 클라우드 서비스란, IT 리소스(CPU, 메모리 등의 자원)를 인터넷으로 빌려주고 사용한 만큼의 비용을 받는 것을 의미한다. EC2는 Elasti kth990303.tistory.com https://kth990303.tistory.com/334 [AWS][Spring] Aws 우분투 인스턴스 웹 애플리케이션 자동 배포 스크립트 만들..

Infra/Aws 2022.06.08

[AWS][Spring] Aws 우분투 인스턴스 웹 애플리케이션 자동 배포 스크립트 만들기

지난 포스팅에서 github에 올린 웹 애플리케이션을 aws 인스턴스에 배포하는 방법을 알아보았다. https://kth990303.tistory.com/329 [AWS] AWS EC2를 이용하여 스프링 웹 애플리케이션 배포해보기 AWS는 아마존에서 개발한 클라우드 서비스 플랫폼이다. 여기서 클라우드 서비스란, IT 리소스(CPU, 메모리 등의 자원)를 인터넷으로 빌려주고 사용한 만큼의 비용을 받는 것을 의미한다. EC2는 Elasti kth990303.tistory.com 이번 포스팅에서는 터미널에서 특정 sh 파일을 실행하기만 하면 위 과정이 자동으로 이루어지는 작업을 기록해보려 한다. aws ec2 인스턴스는 이미 생성이 돼있다는 가정 하에 포스팅을 작성한다. 1. 셸 스크립트 (deploy.sh)..

Infra/Aws 2022.06.08

[Kotlin] Sealed Class를 이용한 무분별한 상속 확장을 방지하기

kotlin의 클래스와 메서드는 기본적으로 final이다. 따라서 어떠한 클래스의 상속을 허용하려면 클래스 앞에 open 변경자를 붙여주어야 한다. 상속을 사용하고 싶어서 open 변경자로 클래스를 열어주었는데, 외부에서 무분별하게 상속을 통해 기능을 확장시키는 건 막고 싶을 수 있다. 이러한 경우 Sealed Class를 이용하면 좋다. Sealed Class Operator 인터페이스의 구현체들인 Plus, Minus, Multi 클래스들이 있다. calc 함수는 when절을 이용하여 Plus, Minus, Multi인지 확인하고 결과를 반환하는 함수이다. 만약, 어떤 것에도 해당하지 않으면 else문을 작성해주어야 한다. else문이 없으면 위와 같이 컴파일 에러가 발생한다. 외부에서 Operato..

[AWS] 인텔리제이에서 AWS 인스턴스에 접속하기

그동안은 터미널에서 aws 인스턴스에 접속해왔었는데, 다른 크루들(ex. 디우, 아리, 소주캉)의 도움 덕분에 인텔리제이 IDE에서 aws 인스턴스에 접속하는 방법을 알아낼 수 있었다. (심지어 자동 빌드도 인텔리제이에서 가능하다.) 이번 포스팅에선 인텔리제이만으로 aws 인스턴스에 접속하는 과정을 기록해보려 한다. 선행사항 aws 인스턴스 생성이 돼있어야 함. aws 인스턴스 퍼블릭 IPv4 주소 파악 1. 인텔리제이 Tools -> Deploy -> Configuration 들어가기 위치는 위 그림을 참고하자. 2. 왼쪽 상단의 +를 클릭해서 연동을 시작하자 클릭하면 위와 같이 화면이 뜰 것이다. SFTP (Secure File Transfer Protocol) 프로토콜을 선택해주고 SSH confi..

Infra/Aws 2022.06.03

[ERROR][AWS] Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-200] 해결

aws 인스턴스에서 웹 애플리케이션을 구동시키던 도중 아래 에러가 발생했다. org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-200] 원인 및 해결 방법 원인은 이미 실행중인 포트에서 띄우려 해서 그런 것이었다. 해당 포트를 안전하게 죽여주고 다시 실행해주자. 1. 아래 명령어 입력 ps -ef | grep {프로세스명} 내가 실행하려는 애플리케이션이 이미 2664 pid에서 실행되고 있었다. 이 프로세스를 종료시켜주자. kill -15 {실행 프로세스 p..

Infra/Aws 2022.06.03
반응형