목록분류 전체보기 (493)
규도자 개발 블로그
급식시절 꼭 학교에서 틀어주던 영화들 중 가타카가 있었는데 당시에 굉장히 재밌게 봤었던 기억이 있었지만 뭔가 유전자로 모든 걸 평가하는 사회에서 자신의 유전자를 숨기고 우주로 올라간다는 간단한 시놉시스밖에 생각이 나지 않아 다시 보게 됐다. 역시 명작은 명작이더라, 시간이 지나도 그 재미는 여전했다. 흐릿하게 있었던 "재미있었던 영화"라는 이미지가 지금에 와선 에단 호크와 주드 로, 그리고 우마 서먼의 젊었을 때 모습을 한 번에 볼 수 있으면서 과한 미장센 없는 SF가 이렇게도 재미있고 뜻깊을 수 있구나. 그리고 여전히 재미있구나! 하는 다채로운 생각과 함께 진해졌다. 하지만 급식시절 봤을 때 기억속에 전혀 없던 새로운 장면이 있었다. 바로 주인공 빈센트에게 우성 유전자 정보와 신원을 제공한 제롬의 자살..
놀란 감독의 영화들을 참 좋아한다. 비교적 최근에 나온 테넷은 거의 10번은 봤고, 인셉션도 한 여덟번은 본 것 같다. 왜 글을 놀란 감독의 영화들로 시작하냐면 인셉션 얘기를 하고 싶었고, 또 인셉션을 몇 번이나 봤지만 내 기억에 가장 강하게 남아있는 장면은 이것이기 때문이다. 글의 주제. 세상에서 가장 강력한 바이러스. 그것은 생각이기 때문이다. 아무래도 요즘 꼬비드가 세상 수많은 사람들의 인생을 실시간으로 조져놓고 있기도 하고, 내가 좋아하는 작가들의 책을 읽다보면 계속해서 이 장면이 오버랩되기 때문에 도저히 글을 남겨놓지 않고서는 베기지 못하는 지경이 다다랐다. 그래서 써보려 한다. 인류 문명의 발전사에 대해서 조금의 관심이라도 있는 사람은 알겠지만 인류는 "생각"으로 발전했다. 인간의 종특 중 하..
나눗셈은 두 가지의 의미를 갖고 있다. 그것이 바로 등분제와 포함제. 처음에 이 말을 들었을 땐 뭔가 싶었는데 알고나니까 확실히 우리나라 교육이 너무 학과적인 교육에만 치우쳐있구나 하는 생각이 들었다. 어쩌면 내가 나눗셈을 처음 배우는 초등학생 때 배웠는데 까먹은 것일 수도 있고. 굉장히 중요한 부분 같은데 배운 기억이 없어서 여기에다가 남겨두려 한다. 등분제 등분제란 간단하게 말하면 "전체를 모두와 똑같이 나누는 나눗셈"을 의미한다. 예를 들어 만두가 만두가 6개 있다. 3명에게 이 만두를 똑같이 나눠주려면 어떻게 해야할까? 바로 각 1명에게 2개씩 나눠주면 된다. 이것을 수학공식으로 표현하면 6 ÷ 3 = 2 가 된다. 사람의 말로 서술하자면 "6개의 물건을 3등분해서 가지면 1명당 2개가 된다"이다..
코로나때문에 실패했다. 캐나다 이민국도 코로나 시국으로 피해를 본 사람들을 위해 신체 재검 + 의료기록 제출을 하면 최대 1년까지 워홀비자를 연장해주는 등의 처리를 하고 있는데 그냥 안했다. 이시국이 언제 끝날지도 모르겠고 신검비도 수십만원에 달한다. 결국 비자요청비 + 신검비 + 어학연수 받는답시고 이케이케 저케저케 했던 시간과 돈 모두 한줌의 경험이 되었다. 원 계획대로였다면 이맘때쯤 미국 남부에 사는 지인을 만나고 있었을 것이다. 너무 아쉽다. 아쉽지만 뭐 경험이라 생각하고 정진해야지. 오늘 쓰는 이유는 오늘이 워홀비자 연장신청 만료일이기 때문이다. 캐나다 워홀은 코로나로 실패했고 이대로 Case close, 시행착오 카테고리에 들어가게 됐다.
언젠간 써야지 써야지 했던 글이 결국 쓰는 데에 반년이라는 시간이 걸렸다. 역시 생각났을 때 그 기분과 감성을 담아서 적는 게 가장 맞는 방식이었던 것 같은데. 약간 후회가 남는다. 아무튼 각설하고, 작년 11월 이런 메일을 받았다. 단순하게 말하자면 구글포토 유료화 할 거니깐 피해보지 말고 대비 잘 해두라는 얘기다. 십수년 전부터 구글 포토에 내 모든 추억을 담아왔던 나로서는 대안이 없기 때문에 구글 포토를 계속 쓸 것이다. 근데 이번 포스팅의 주제는 이것이 아니다. 이 구글포토 유료화의 기저에 깔려있는 기업의 의도를 읽는 것이다. 구글포토는 상당히 혁신적인 시스템이었다. 사진과 동영상의 무제한 클라우드라니. 역시 구글이다. 옳다구나 하고 썼다. 수백수천을 넘어 수만장의 사진과 수백개의 영상을 업로드해..
원래 CRUD(Create, Read, Update, Delete)는 데이터베이스를 배울 때 가장 먼저 배우는 개념이다. 수학의 대부분이 해체해보면 결국 사칙연산인 것처럼 데이터베이스에서 일어나는 일도 결국엔 CRUD중 하나이다. 그리고 요즘의 프로그램들은 대부분이 결국 DB와 함께 돌아가기 때문에 이 CRUD를 프로그래밍과 결부시켜서 얘기하기도 한다. 그러므로 이 CRUD는 데이터베이스와 프로그래밍에 있어서 기본 개념 중 하나라고 할 수 있을 것이다. 하지만 기본은 기본이다. 중요하긴 한데 이것만 해서는 개발자의 가치를 올릴 수 없다는 말이다. 예전에 어떤 글을 읽었는데 CRUD만 하다보면 개발자로서의 레벨업을 하기 힘들다는 얘기였나, 뭐 언제까지 CRUD만 하고 있을래! 이런 얘기였다. 쌍당히 공감되..
파이썬으로 여러 개의 웹소켓에 동시에 연결하기 토이프로젝트로 퀀트 프로그램을 하나 제작하고 있는데 맨 처음에는 각종 거래소에서 제공하는 api를 사용할까 하다가 초당 요청제한이라는 문턱에 걸렸다. 수학모델에 근거해서 전략의 타당성을 검토해야 하는데 수백종류의 암호화폐 데이터를 1초에 한번씩 api로 요청해 저장하려고 하니 터무니 없는 생각이긴 했다. 그렇다고 1분을 쪼개서 요청을 보내자니 엄청난 변동성의 암호화폐시장에서의 수학모델 분석에는 적절하지 않다는 생각이 들었다. 그래서 웹소켓을 찾아보니 다행스럽게도 거의 모든 거래소에서 웹소켓을 지원하고 있더라. 만약에 다양한 플랫폼, 혹은 한 플랫폼에서도 다른 웹소켓 라우트에서 필요한 정보가 있으면 여러개의 웹소켓에 연결할 필요가 있다. 그럴 때 사용하기 좋은..
내가 작성한 코드는 결국 누군가가 본다. 그게 비록 자기 자신일지라도. 난 코드를 쓸 때 가독성에 신경을 많이 쓴다. 위와 같은 생각을 갖고 있기 때문이다. 실제로 블로그에도 한 카테고리가 Clean Code만을 위해 만들어지기도 했고. 아무튼 그냥 생각을 글로서 남겨놓으려고 써봤다.
고대 그리스의 수학자 에라토스테네스가 만들어 낸 소수를 찾는 방법. 이 방법은 마치 체로 치듯이 수를 걸러낸다고 하여 '에라토스테네스의 체'라고 부른다. 내가 알고리즘 문제를 풀 때 소수가 필요한 부분에서 자주 사용했다. def prime_list(n): # 에라토스테네스의 체 초기화: n개 요소에 True 설정(소수로 간주) sieve = [True] * n m = int(n ** 0.5) for i in range(2, m + 1): if sieve[i] == True: # i가 소수인 경우 for j in range(i+i, n, i): # i이후 i의 배수들을 False 판정 sieve[j] = False # 소수 목록 산출 return [i for i in range(2, n) if sieve[..
Investing.com에서 실시간 환율 긁어오기 환율을 사용할 일이 생겨서 만들게 됐다. 원래 보통 이렇게 실시간 업데이트가 되는 페이지는 js를 이용해서 비동기갱신하기 마련인데 그래서 오랜만에 selenium과 phantomJS까지 셋팅을 했는데... 혹시나 해서 환율 조회 페이지에 가서 js를 끄고 새로고침해봤는데 가격이 그대로 오더라. 최초 요청시에는 현재 시세를 보여주고 실시간으로 element를 비동기 갱신하는 방식으로 제작된 것 같다. 덕분에 24시간 실시간 시세를 얻을 수 있게 됐다. 원래 만들기 전에 꼭 누가 만든 걸 찾아보곤 하는데 만들어진 예제가 전부 네이버 증권에서 파싱해서 가져오는 거였고, 그건 안타깝게도 업데이트가 느리다. 지금 글을 쓰는 현재(2021-04-13 19:29) 네..