목록전체 글 (255)
Joonas' Note
Django에서 405 에러를 만났다.... \n \\n\\n
aws에서 nginx + uwsgi + django + mysql 환경으로 개발하다가 아래와 같은 에러를 만났다. 요약하면 결국 아래와 같은 에러라는 의미이다.... (1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) ... 정확히는 Python이나 Django에서의 인코딩 문제는 아니고, mysql에서 발생한 에러였다. 요청한 데이터와 DB의 collation이 서로 충돌한건데, 발생원인도 그렇다. 회원가입 form에서 한글 이름같은 UTF-8를 전송했을 때 위와 같은 에러가 발생했다. https://stackoverflow.com/a/2150335 에서 해결했는 데, mysql dat..
4년 만이다. 2017 ACM-ICPC 대전 예비소집과 본선을 위해 11월 10일에 팀원들과 함께 대전으로 갔다. (대회는 11일) PS 공부를 시작한 건 오래되었지만 항상 깊게 공부하지 못했다. 특히 3년 전에 참가했을 때보다 더 못한 실력으로 참가하게 되어서 자괴감이 너무 심했다.특히 올해는 킹갓갓갓엠페러분들이 너무 많이 참가하셔서 정신 못 차리고 사람들 구경하느라 바빴다. 예비소집 때 기본적인 세팅을 확인하는데, 이번 대회는 특이하게 우분투 16.04 LTS 환경으로 진행됬다. 미리 공지를 확인하고 이미지를 받아서 사용해봤지만 팀원 한 명이 우분투 사용을 힘들어해서 세팅에 신경을 많이 썼다. 예비소집이 끝나고 숙소를 잡으러 택시를 잡으려는데 택시가 진짜 1도 안보였다. 겨우 찾아도 빈차가 아니었고 ..
몇년 전부터 구현해보고 싶던 거였는데, 이러다가 대학을 졸업 전에 못할까봐 날잡고 했다. 근데 1시간만에 끝나버린건 함정hexagrid에 대한 구현을 다루고 있으며, 실제 개발에서는 어떻게 쓰이는 지 정확히 모른다. 그저 "이렇게 하면 되겠지?"라는 생각에서 출발했음을 알린다.2분 요약https://youtu.be/vxnnPselHKI 육각형을 하나의 칸으로 사용하는 벌집 형태의 2차원 평면을 게임에서 많이 찾아볼 수 있는데, 대표적으로 시드마이어의 문명 시리즈가 그렇다.개인적으로 이 벌집 모양을 많이 좋아하는 편인데, 매번 어떻게 구현했을까? 생각만 하고 정작 고민을 해보지 않았었다. 그러다 우연히 생각이 번뜩나서 개발 과정을 녹화해보면 재밌겠다 싶어서 진행했다.녹화 중간에 (엄청 빠르게 지나가지만....
[이전 블로그로부터 글 옮김]8/24(목)~25(금) 동안 진행된 삼성 대학생 우수 프로그래머 캠프를 다녀왔다. 캠프 참가 여부를 물어보는 별도의 메일이 왔었고, 대상은 S/W 역량테스트 pro 통과자 또는 타 대회 입상자들이라고 하더라. 좋은 기회인 것 같아서 큰 고민없이 일찍 신청했다.후기를 어디까지 자세히 적어야할지 모르겠어서, 그냥 의식의 흐름대로 적어볼까 한다. 전반적으로 장소의 이동이 잦았고, 회사의 분위기 설명이나 회사 소개를 자주 들었다. 그리고 밥은 아쉽지 않을 만큼 맛있었다.양재역에서 모여서 출발하는지라, 전주에서 출발하긴 꽤 먼 거리였기에 출발 시간을 정하기 애매했다. 같이 가는 친구랑 끝까지 고민하다가 친구는 24일 아침, 나는 23일 저녁에 출발하기로 했다. 24일 11시에 양재역..
[이전 블로그로부터 글 옮김]2018 카카오 블라인트 채용 테스트 1차에 참가했다. 요즘엔 기업들이 programmers.co.kr 같은 플랫폼을 사용하여 대회 또는 시험을 진행하는 같다. 제출이나 문제 설명은 codecademy 와 비슷한 방식이고, 문제를 제출하고 검사하는 방식은 TopCoder와 유사하게 class 나 어떤 함수의 반환으로 채점한다.1차 온라인 테스트는 https://programmers.co.kr/competitions/35/welcome-kakao 또는 https://welcomekakao.com 에서 진행되었다.5시간동안 총 7문제가 주어졌었는데, 문제는 난이도순이 아닌 것 같았다.1,2,3,6,7,5번 순서대로 풀었었고, 4번은 읽고 나니 테스트 종료 15분 정도 남았었다. ..
링크: https://www.acmicpc.net/problem/2887 모든 행성을 터널로 연결할건데, 그 비용의 합이 최소가 되게 만드는 최소 스패닝 트리 문제이다. 문제는 N이 너무 커서, 행성 사이의 간선을 전부 살피는 건 힘들다는 것이다. 두 행성 A와 B의 거리를 min(|xA−xB|,|yA−yB|,|zA−zB|) 로 정의했기 때문에 어떤 행성에서 가장 가까울 행성의 후보가 확 줄어든다. 행성 A에서 가장 가까운 행성 B는 |xA−xB|가 최소이거나 |yA−yB|가 최소이거나, |zA−zB|가 최소인 것 3개 중 하나이다. x,y,z마다 정렬하면 된다.
링크: https://www.acmicpc.net/problem/2718[이전 게시글로부터 글 옮김]2x1 크기의 타일로 4xN 크기의 타일을 채우는 경우의 수를 구하는 문제이다.문제를 작은 문제로 쪼개야하는 데 발상보다는 과정이 쉽게 떠오르지 않아서 해결하는 데 오랜 시간이 걸렸다.2xN 타일 크기의 문제와 똑같이 왼쪽부터 1줄씩 채워나가면서 완성해나간다. 하지만 이 문제는 높이가 4N이기 때문에 1줄을 채울 때 여러 개의 경우가 나온다. [그림 1] 한 줄의 상태를 비트로 표현할 때의 정수 외의 경우(1010 이나 0001 등의 형태)는 나올 수 없다. 왜냐하면 "이전의 줄의 모든 칸은 채워져있다."라는 가정에서 나타나는 상태이기 때문이다. 이 가정이 성립하지 않으면 타일은 채워질 수 없다. [그림 ..