본문 바로가기

전체 글

(160)
[AWS] 1년 무료 프리티어 계정에 요금 청구됨 지난 달 AWS 계정을 생성하고 1년동안 특정 서비스를 무료로 이용할 수 있게 됐다. 그런데 오늘 새벽 AWS에서 요금 청구가 발생했다는 결제 알림과 이메일이 왔다. 금액은 원화로 7천원 정도 되는 적은 금액이었지만 분명 가입할 때 크게 사용하지 않는 이상 요금이 발생하지 않다고 들어서 당황스러웠다. 자기 계정(화면 젤 위 우측) - 결제 및 비용 관리 - 청구 및 결제 - 청구서 항목에서 확인할 수 있다. 청구서에서 요금이 발생한 항목은 총 2가지다. Route 53과 IPv4 Addresses. 우선 Amazon Route 53 HostedZone - $0.50 per Hosted Zone for the first 25 Hosted Zones는 이전에 프론트엔드 서버(netflify)와 연결을 위해 ..
[DB 설계] PK에 더 적합한 자료형은 varchar? bigint? PK(Primary Key)는 bigint 타입으로 설정하는 게 좋다. 회원 db를 설계할 때 email이나 사용자가 설정하는 id를 pk로 사용할까 했는데(varchar 타입), ERDCloud에서 db설계한 자료를 참고하니 대부분 pk를 bigint 자료형으로 써서 왜 그런걸까 찾아봤다. pk는 변하지 않는 값을 써야한다.id나 email이 아무리 변하지 않고 중복되지 않는 값이라 하더라도, 혹시 모를 상황에 이를 변경할 경우가 발생하기 때문에 pk로 잘 쓰지 않는다.join 시 연산속도가 더 빠르다.pk는 다른 테이블에 fk로 활용되는 경우가 많은데, 이때 varchar보다 bigint가 저장공간을 덜 차지한다.join 연산이 좋으면 인덱스 성능도 더 좋다. 대표적으로 위 두가지 이유가 있었다.처음..
[AWS] spring boot 연결 - 오류 "Port 8080 was already in use" EC2로 서버를 구축하면서 스프링 프로젝트를 연결했는데, 처음 연결할 때는 수월하게 진행이 됐으나 코드를 변경하고 재배포하면 변경 내용이 적용되지 않는 경우가 발생했다.nohup.out 파일을 확인해보니 "Port 8080 was already in use" 오류가 있었다. 구글링을 통해 찾아보니 8080 포트가 종료되지 않고 계속 열려있어서 새로운 걸로 덮어씌워지지 않는 것 같았는데 왜 그런지는 잘 모르겠다. 수동으로 8080포트를 종료하고 다시 실행하는 방법으로 오류를 해결했다.리눅스에서 아래 명령어를 작성하면 젤 오른쪽에 [pid]/java 형태가 출력되는데, 여기서 pid를 확인할 수 있다.netstat -ano | grep 8080 찾은 pid를 kill 명령어를 통해 종료한다.kill -9 [..
[16, 17일차] 08 그래프 : 08-3 위상 정렬, 08-4 다익스트라 함께 푼 문제 [백준 / 그래프] 1766 : 문제집 (python) 문제 설명 문제 민오는 1번부터 N번까지 총 N개의 문제로 되어 있는 문제집을 풀려고 한다. 문제는 난이도 순서로 출제되어 있다. 즉 1번 문제가 가장 쉬운 문제이고 N번 문제가 가장 어려운 문제 delicious-kimchi.tistory.com [백준 / 그래프] 1446 : 지름길 (python) 문제 설명 문제 매일 아침, 세준이는 학교에 가기 위해서 차를 타고 D킬로미터 길이의 고속도로를 지난다. 이 고속도로는 심각하게 커브가 많아서 정말 운전하기도 힘들다. 어느 날, 세준이는 이 delicious-kimchi.tistory.com 위상 정렬 사이클이 없는 방향 그래프에서 노드 순서를 찾는 알고리즘 시간복잡도 O(V + E) ..
[백준 / 그래프] 1446 : 지름길 (python) 문제 설명 문제 매일 아침, 세준이는 학교에 가기 위해서 차를 타고 D킬로미터 길이의 고속도로를 지난다. 이 고속도로는 심각하게 커브가 많아서 정말 운전하기도 힘들다. 어느 날, 세준이는 이 고속도로에 지름길이 존재한다는 것을 알게 되었다. 모든 지름길은 일방통행이고, 고속도로를 역주행할 수는 없다. 세준이가 운전해야 하는 거리의 최솟값을 출력하시오. 입력 첫째 줄에 지름길의 개수 N과 고속도로의 길이 D가 주어진다. N은 12 이하인 양의 정수이고, D는 10,000보다 작거나 같은 자연수이다. 다음 N개의 줄에 지름길의 시작 위치, 도착 위치, 지름길의 길이가 주어진다. 모든 위치와 길이는 10,000보다 작거나 같은 음이 아닌 정수이다. 지름길의 시작 위치는 도착 위치보다 작다. 출력 세준이가 운전..
[백준 / 그래프] 1753 : 최단경로 (python) 문제 설명 문제 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 입력 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 주어진다. 셋째 줄부터 E개의 줄에 걸쳐 각 간선을 나타내는 세 개의 정수 (u, v, w)가 순서대로 주어진다. 이는 u에서 v로 가는 가중치 w인 간선이 존재한다는 뜻이다. u와 v는 서로 다르며 w는 10 이하의 자연수이다. 서로 다른 두 정점 사이에 여러 개의 간선이 존재할 수도 있음에 유의한..
[백준 / 그래프] 1766 : 문제집 (python) 문제 설명 문제 민오는 1번부터 N번까지 총 N개의 문제로 되어 있는 문제집을 풀려고 한다. 문제는 난이도 순서로 출제되어 있다. 즉 1번 문제가 가장 쉬운 문제이고 N번 문제가 가장 어려운 문제가 된다. 어떤 문제부터 풀까 고민하면서 문제를 훑어보던 민오는, 몇몇 문제들 사이에는 '먼저 푸는 것이 좋은 문제'가 있다는 것을 알게 되었다. 예를 들어 1번 문제를 풀고 나면 4번 문제가 쉽게 풀린다거나 하는 식이다. 민오는 다음의 세 가지 조건에 따라 문제를 풀 순서를 정하기로 하였다. N개의 문제는 모두 풀어야 한다. 먼저 푸는 것이 좋은 문제가 있는 문제는, 먼저 푸는 것이 좋은 문제를 반드시 먼저 풀어야 한다. 가능하면 쉬운 문제부터 풀어야 한다. 예를 들어서 네 개의 문제가 있다고 하자. 4번 문제..
[백준 / 그래프] 2252 : 줄 세우기 (python) 문제 설명 문제 N명의 학생들을 키 순서대로 줄을 세우려고 한다. 각 학생의 키를 직접 재서 정렬하면 간단하겠지만, 마땅한 방법이 없어서 두 학생의 키를 비교하는 방법을 사용하기로 하였다. 그나마도 모든 학생들을 다 비교해 본 것이 아니고, 일부 학생들의 키만을 비교해 보았다. 일부 학생들의 키를 비교한 결과가 주어졌을 때, 줄을 세우는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의미이다. 학생들의 번호는 1번부터 N번이다. 출력 첫째 줄에 학생들을 앞에서부터 줄을 세운 결과를 출력한다...

반응형