분류 전체보기
ec2에서 nginx 설치한 뒤 웹페이지 배포
2018.05.03아직 전부 다 이해한 건 아니나 과정을 기억해둘 필요가 있을 듯 싶어 적어둔다. 0.내가 해야 했던 건 html로 웹페이지를 만든 뒤,이걸 EC2 우분투 서버에 올려서nginx(웹서버)를 이용해 배포(도메인은 godaddy에서) 1.웹페이지는 깃헙 프로젝트여서 EC2 를 만든 뒤 거기서 프로젝트를 clone 했다.EC2는 그냥 프리티어 우분투 사용 2.nginx 를 받고,$ sudo apt-get update$ sudo apt-get install nginx sites-available로 가서 default 파일을 수정해준다. 따로 설정파일 만들어도 됨.$ cd /etc/nginx/sites-available여기서 root 부분을 내 깃헙 프로젝트가 있는 디렉토리로 수정한다.만약 배포할 웹페이지 소스가 ..
canvas rotate 후 axis 조정
2018.02.19canvas를 rotate하거나 transform 하면 x축, y축도 돌아가 버린다. 뭐 그냥 보여주기만 할 거라면 축이 어디든 상관 없지만, 캔버스에 그림을 그리거나 할 때는 축을 다시 맞춰줄 필요가 있다. 이거 때문에 엄청 삽질함.. 그냥 let canvas = $('#canvas'+idx)[0]; let ctx = canvas.getContext("2d"); ... ctx.transform(0, 1, -1, 0, height, 0); ctx.drawImage(bgImg, 0, 0, width, height); ctx.setTransform(1, 0, 0, 1, 0, 0) 이렇게 transform> drawImage 과정을 거친 뒤, ctx.setTransform(1, 0, 0, 1, 0, 0); 해..
우분투에서 HeidiSQL 사용하기
2018.01.17wine installsudo apt-get install wine HeidiSQL 다운로드https://www.heidisql.com/download.php wine으로 HeidiSQL setup 파일 실행wine HeidiSQL_9.5.0.5196_Setup.exe 설치!
1 ≤ n ≤ 100 일때 nCr의 값이 1백만을 넘는 경우는 모두 몇 번?
2018.01.161,2,3,4,5 다섯 숫자 중에서 세 개를 고르는 것에는 다음과 같은 10가지 경우가 있습니다. 123, 124, 125, 134, 135, 145, 234, 235, 245, 345 조합론이라는 분야에서는 이것을 5C3 = 10 이라고 표시하며, 일반적인 식은 아래와 같습니다. nCr =n! r!(n−r)!, 단 r ≤ n 이고, n! = n×(n−1)×...×3×2×1 이며 0! = 1.이 값은 n = 23 에 이르러서야 23C10 = 1144066 으로 처음 1백만을 넘게 됩니다.1 ≤ n ≤ 100 일때 nCr의 값이 1백만을 넘는 경우는 모두 몇 번입니까? (단, 중복된 값은 각각 계산합니다) 간만에 풀었다.간단한데 문제를 자꾸 이해 못해서 몇 번 고침. from math import fact..
쉐라톤 피스트 칠면조 세트 후기(2017년)
2018.01.04가격: 150,000원인원: 7명 작년에 이어 올해도 칠면조 파티를 했다.작년보다 가격이 만원 올라서 16만원인데, 주문 이력이 있는 고객은 만원 할인해줘서 15만원에 먹었다. 구성은 이렇다.칠면조 구이(호주산)감자 매쉬, 칠리 소스, 크렌베리 소스, 무 피클,마카로니와 치즈단호박 시나몬 매쉬와 프랄린 스트루젤미니 양배추와 베이컨옥수수 콥메이플과 피칸 당근구운 호박과 건포도, 해바라기씨구운 감자와 군밤애플파이 구성 전체 샷.(애플파이는 따로 찍음) 깝데기 벗김. 칠면조가 작년보다 더 노릇하....(시커멓...)게 구워졌다. 시계방향으로, 치즈+마카로니, 단호박 시나몬 매쉬, 각종 구황작물단호박 매쉬가 좀 새로웠는데 그닥 달지는 않아서 손이 잘 가지 않았다.작년 포테이토 매쉬가 존맛이었다. 마침 동짓날이라..
소프트웨어 장인 정신
2017.11.16이라는 책을 감명 깊게 읽고 소프트웨어 장인 웹페이지를 찾아가 서명한 적이 있다. http://manifesto.softwarecraftsmanship.org/ 소프트웨어 장인 선언문은 이렇다. As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value: Not only working software,but also well-crafted software Not only responding to change,but also steadily..
[Codility] CountDiv
2017.11.140. 문제세 개의 integer A, B, K 가 있다. A와 B 사이에 있는 integer 중 K로 나누어 떨어질 수 있는 수의 개수를 구하여라. 1. 답변 문제는 쉬웠는데 예외 사항을 체크하지 못해 여러 번 돌려야 했다. A나 B가 0일 경우엔 아무 수로나 나누어 떨어지는데 이걸 그냥 넘어감 A가 K 이상일 경우, B가 K 이상일 경우를 나눠 몫을 구하고, A가 0일 경우엔 결과값에 1을 더했다. def solution(A, B, K): result = 0 if A >= K: result = B // K - (A-1) // K elif B >= K: result = B // K if A == 0: result += 1 return result 2. 결과
[Codility] MaxCounters
2017.11.130. 문제리스트 A와 N개의 카운터가 주어진다. 카운터는 처음에 모두 0으로 세팅되며, N이 5이면 카운터는 (0, 0, 0, 0, 0) 이다. 이때, 만약 1
[Codility] MissingInteger
2017.11.120. 문제 N개의 상수로 이루어진 리스트 A가 있다. 이때 A 안에 '없는' 가장 '작은' 자연수(0보다 큰)를 리턴한다. 1. 답변 def solution(A): if max(A) < 1: return 1 else: sorted_a = sorted(set([a for a in A if a > 0])) for idx, val in enumerate(sorted_a, 1): if idx != val: return idx return sorted_a[-1]+1 음 쉬웠음 시간복잡도 O(N) 혹은 O(N * log(N))
[Codility] FrogRiverOne
2017.11.100. 문제position 0에 있는 개구리가 하나 있다. 이 개구리는 X를 이동하여 X+1의 위치로 이동하고 싶어한다.(그러니까 A[0]에서 A[X+1]로 이동한다는 거) 리스트 A는 개구리가 건널 수 있는 잎의 위치리스트다. 배열의 index는 초(second)이고, value는 나뭇잎이 놓이는 위치이다. 그러니까, 개구리가 5로 이동하고 싶은데 리스트 A가 [1, 3, 1, 4, 2, 3, 5, 4] 면 6초가 지나야 개구리가 원하는 위치로 갈 수 있다는 거. 만약 배열이 [1, 3, 1, 3, 4] 이라면 개구리는 원하는 곳에 가지 못하고, 이럴 땐 -1을 리턴해야 한다. X와 A가 파라미터로 주어질 때, 개구리가 원하는 위치로 이동할 때까지 걸리는 시간을 구하라. 1. 답변 문제를 처음에 잘못 이..
[Codility] PermCheck
2017.11.090. 문제N개의 상수로 이루어진, 비어있지 않은 리스트 A가 있다. A 순열(permutation)은 1부터 N 까지의 중복되지 않는 숫자의 연속이다. 주어지는 리스트 A가 순열인지 판별하라. 1. 답변 이번 것도 난이도가 매우 낮았다. def solution(A): sorted_a = sorted(set(A)) if len(sorted_a) == len(A) and sorted_a[-1] == len(A): return 1 else: return 0 시간복잡도는 O(N) or O(N*log(N))
[Codility] FrogJmp
2017.11.070. 문제작은 개구리 하나가 X에서 Y(혹은 그보다 더 멀리)로 이동하고 싶어한다. 개구리는 매 점프마다 D만큼 이동한다. 개구리가 원하는 위치에 도달할 때까지 필요한 최소 점프 횟수를 구하라. 1. 답변 Codility에서 print()가 된다고 python3를 지원한다고 생각했던 게 오산이었다. 문제를 읽고 왜 이렇게 쉽지 하고 1-2분 만에 풀었는데, 정답률 44%.. python2와 python3의 round() 함수가 다른 값을 내놓는 다는 걸 처음 알았다.(python2를 쓴 적이 거의 없으니..) 처음 짰던 코드는 이렇다. def solution(X, Y, D): return int(round((Y - X) / D + 0.5)) 깨달음(?)을 얻고 난 뒤의 코드. 시간복잡도 O(1)def s..