오도원입니다.

건강과 행복을 위하여

반응형

컴퓨터공학 81

Error Code: 2013. Lost connection to MySQL server during query

1. Error 2013 쿼리문을 실행했을 때, 다음과 같은 화면이나 하단 로그창에서 로딩아이콘만 계속 돌아가다가 2013에러가 발생할 때가 있다. 다음 에러는 해당 쿼리의 수행시간이 너무 오래걸려서 서버에서 끊어버린것이다. 본인은 계속 중간에 멈춰버려서 해당 쿼리문을 될 때까지 실행하다가 다음과 같은 문제가 발생했다. AWS RDS의 cpu 점유율이 100%를 찍은 것이다. 왜이렇게 됐나 살펴보니깐 문제를 발견했다. 서버에서 끊어버린 쿼리문은 데이터베이스 내에서는 계속해서 수행중이라는 것이다. 다음 쿼리는 작업중인 프로세스를 확인하는 쿼리다. show processlist; 해당 쿼리가 Execute 상태라는 것을 알 수 있다. 이때부터 문제가 발생했다. 쿼리가 안 끝나서 실행중인데 똑같은 쿼리를 실행..

조엘 테스트

https://zetawiki.com/wiki/%EC%A1%B0%EC%97%98_%EC%8A%A4%ED%8F%B4%EC%8A%A4%ED%82%A4 조엘 스폴스키 - 제타위키 다음 문자열 포함... zetawiki.com 1 한국어 1. 소스 컨트롤을 사용하는가? 2. 한번에 빌드를 만들어낼 수 있는가? 3. 일별 빌드(daily build)를 만드는가? 4. 버그 데이터베이스가 있는가? 5. 새 코드 작성 전에 버그를 고치는가? 6. 최신 스케줄이 있는가? 7. 설계서(spec)가 있는가? 8. 프로그래머들에게 조용한 작업 환경이 제공되는가? 9. 돈으로 살 수 있는 최고의 도구를 사용하는가? 10. 테스터가 있는가? 11. 면접시에 코딩시험을 보는가? 12. 무작위 사용성 테스트(hallway usab..

컴퓨터공학 2020.07.12

19년 9월 2주차 : 신에게는 아직 12척의 배가 남았사옵니다

1. 문제 - 난이도 ★ 12척의 배가 주어졌을 때, 대장선을 제외한 11척을 이용해 최적의 진형을 찾는 것이다. 2. 입력 11 * 11의 행렬이 주어지며, aij는 i번째 배가 진형의 j번째 위치했을 떄의 전투력을 뜻한다. 3. 출력 첫번째 줄에 최적의 진형을 이루었을 때의 합을 구한다. 두번째 줄에는 아군의 진형을 첫번째부터 순서대로 출력한다. 최적의 진형이 여러개인 경우 사전순으로 앞선 진형을 출력한다. 4. 알고리즘 문제는 11척의 배를 순서대로 나열할 때, 그 능력치가 최대가 되는 순서를 찾는 문제이다. 가장 간단한 방법은 역시 완전탐색이다. 1번배가 1번자리에, 2번배가 2번자리에, ... , 11번 배가 11번자리에 들어가는 진형부터, 1번배가 11번자리에 2번배가 10번자리에, ..., ..

19년 9월 2주차 : 애틋한 친구

1. 문제 - 난이도 ★ 거리가 가장 먼 친구를 찾아보자. 2. 입력 첫번째 줄에는 사람 수 N이 주어진다. 두번째 줄부터 N + 1번째 줄까지 i번째 사람의 위치 정보가 좌표로 주어진다. 3. 출력 가장 애틋한 친구의 번호를 구분하여 낮은 번호부터 출력한다. 4. 알고리즘 이중 반복문을 이용하여 모든 친구들 사이의 거리를 비교하여 가장 거리가 먼 친구를 출력한다. 5. 코드 # 입력 처리 N = int(input()) friends = [list(map(int, input().split())) for _ in range(N)] # 거리 구하는 함수 def dist(x, y): return (x[0] - y[0])**2 + (x[1]-y[1])**2 max_list = [] # 가장 거리가 먼 친구 저장..

19년 9월 1주차 : 환상의 조합

1. 문제 - 난이도 ★★ 팀원들의 능력치가 주어졌을 때 홍현이의 능력을 포함한 그 합이 S가 되게하는 환상의 조합을 구하라. 2. 입력 첫번째 줄에는 사람 수 N과 팀원들의 능력합 S가 주어진다 두번째 줄부터 N명의 사람들의 능력치가 주어진다. 첫번째로 주어지는 능력은 홍현이의 능력이다. 3. 출력 최고의 팀을 만들 수 있는 경우의 수 출력, 팀원은 최소 1명 이상이어야 한다. 즉, 홍현이 혼자 팀을 구성할 수 있다.. 4. 알고리즘 : 완전 탐색 홍현이를 포함하는 부분집합의 합이 S가 되는 경우의 수를 찾는 문제이다. 집합 A의 크기가 n일 때 공집합을 포함한 부분집합의 개수는 2^n개이다. 따라서 문제는 O(2^N)시간안에 풀 수 있다. 완전 탐색은 두가지 방법이 있다. 1. 재귀 함수 2. 비트 ..

투 포인터(two pointer)

출처 : 한국 코드페어 비타알고 시즌2 투 포인터(two pointer) 1. Two Pointer 정렬된 배열에서 두 개의 인덱스를 사용하여 원하는 값을 찾는 기법 투 포인터는 정렬된 배열에서 2개의 포인터(인덱스)를 이용하여 두 포인터가 가리키는 값과 찾고자 하는 값(key값)을 비교한 뒤 포인터를 조정하여 원하는 결과를 얻어내는 기법이다. 대표적인 예로 '배열 내 합이 S가 되는 순서쌍 찾기'가 있다. for(int i = 0; i < n; ++i){ for(int j = i + 1; j < n; ++j){ if(data[i] + data[j] == S) cout

19년 9월 1주차 : 수의 비밀

1. 문제 - 난이도 ★ 해당 수가 2^k인지 판별하는 것이다. 2. 입력 10^18 이하의 자연수가 주어진다. 3. 출력 2의 거듭제곱이면 Yes, 아니면 No를 출력한다. 4. 알고리즘 먼저 바로 떠오르는 생각은 2로 계속 나누다가 나머지가 0이면 2의 거듭제곱이고 1이면 2의 거듭제곱이 아닌 수이다. 그러나 입력값을 보면 절대로 안된다는 것을 알 수 있다. 그렇다면 다른 방법으로 접근해야한다. 바로 비트연산이다. 2의 거듭제곱은 딱 한 비트만 1인 수이다. 위와 같이 2의 거듭제곱은 비트 하나만 1이다. 해당 수를 n이라고 했을 때, n & -n은 n에서 켜져있는 가장 아래의 비트만 켜진 수이다. 따라서 2개 이상이 켜져있다면 n과 n & -n은 절대로 같을 수 없다. 그러나 2의 거듭제곱과 같이 ..

19년 9월 1주차 : 시공의 폭풍 속으로

1. 문제 - 난이도 ★ 시공의 폭풍은 5대5 대결게임이다. 당신의 팀원들이 선택한 4명의 영웅번호와 당신이 선택하고자 하는 5명의 영웅번호가 주어질 때, 이미 팀원이 선택한 영웅이 아닌 영웅의 수를 구하라. 2. 입력 첫줄에 팀원이 선택한 4명의 영웅 번호가 주어진다. 두번째 줄에는 당신이 선택하고자 하는 5명의 영웅번호가 주어진다. 3. 출력 당신이 선택하고자 하는 영웅들 중에서 팀원이 선택하지 않은 영웅의 수를 출력한다. 4. 알고리즘 선택하고자하는 영웅리스트를 돌면서 팀원 리스트에 없으면 카운트를 1증가시킨다. 본인은 파이썬의 filter() 함수를 사용했다. x = list(map(int, input().split())) y = list(map(int, input().split())) n = l..

데이터 AI 사이언티스트로서의 개발 진로

https://www.youtube.com/watch?v=8mjeJpHtLVQ 실제로 DSC를 처음 시작할 때 머신러닝에 관심을 가지는 가장 큰 이유는 '멋있어보인다.'이었다. 물론 하다가 막히니깐 관심이 없어졌고, 그렇게 열정도 식었다. 현재 내가 컴퓨터 공학을 전공으로 하지만 컴공에서 확실하게 정한 분야는 없다. 프론트, 백, 클라우드, 네트워크, 머신러닝 등 여러가지의 분야가 존재하지만 나는 뭐를 해야할지 모르겠다. 그러는 와중에 송호연님의 이 영상을 보고 어느정도 진로를 정하게 되었다. 해당 영상의 골자는 이것이다. 일단 개발을 잘해야한다. 컴공이면 꼭 머신러닝 모델링은 한번씩 해본다. 그러면서 여러 머신러닝 관련 지식들을 가볍게 알게되고 관심을 가지게 된다. 물론 나는 관심이 없어졌지만, 데이터..

컴퓨터공학 2020.06.01
반응형