반응형

분류 전체보기 488

[220620] 잠실철교 ~ 한강 안양천합수부 50km 라이딩

최근 자전거 포스팅이 너무 없었다. 자전거는 따로 운동 어플을 켜서 기록하지도 않고, 힐링용으로 타다보니 더 그런 듯. 이번 포스팅은 글보단 사진이 더 많을 듯하다 ㅎㅎ JPA 스터디 끝나고 갈까말까 고민하다가, 22시에 출발! 참고로 나의 라이딩 평균 시속은 약 20~22km/h이다. 23:00 양화한강공원 직전 터널 (20km) 확실히 장마철 여름이라 그런지... 날씨가 너무 더웠어서 터널을 보자마자 반가웠다. 반가운 마음에 한 컷. 양화대교에는 미스터빈 사진들이 그려져있다. 기억날 듯 말듯... 어릴 때 자주 봤던 것 같은데 신기해서 찍어봤다. 미스터빈 그림들도 같이 찍으려했는데, 자전거 도로라 위험해서 못찍었다 ㅜㅜ 이제 여기까지 왔으니 자이언티 양화대교 노래 들으면서 가야지~ 23:25 안양천합..

[Codeforces] Round 800 Div.2 인생 첫 코포 후기

얼마 전에 인생 첫 코포를 응시해봤다. 처음 6판은 배치고사라고 한다. AB 또는 ABC를 풀 수 있지 않을까? 기대해봤지만... 두 예측 모두 틀렸다. A, C로 2솔했다ㅋㅋ 개인적으로 첫 코포 목표를 달성해서 좋았고, +468점이나 올라서 좋았다. 초록색, 또는 민트색 달 때까지는 꾸준히 한번 돌려봐야겠다. 백준이랑 다른 스타일이었다. 백준 대회 (ex. UCPC 등)들은 여러 알고리즘들을 골고루 물어본다면, 코포는 애드혹과 수학, 아이디어 쪽에 치중된 느낌? 개인적으로는 두 스타일 모두 좋다고 생각하며, 코포 스타일이 재밌을 때도 있고 백준대회 스타일이 재밌을 때도 있는 듯. 개인적으론 B가 정말 특수한 아이디어 쪽이었어서 나한테는 정말 어려웠다. B에 시간 쫓겨서 A만 1솔할 줄 알았는데, 막판에..

PS/Codeforces 2022.06.21

[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..

반응형