목록분류 전체보기 (493)
규도자 개발 블로그
예전에도 몇번 말했듯, 난 원래 있는 개념을 조금 뒤틀어서 내식대로 이해하는 것을 좋아한다. 그래서 이번엔 흔적기관을 이용해볼 것이다. 인간에게는 쓰진 않지만 진화의 흔적으로 남은 부산물들이 존재한다. 그 종류는 맹장, 사랑니, 꼬리뼈 등등이 있겠다. 흔적기관의 특징이 뭐냐. 싫어도 들고 태어난다는 것이다. 하지만 사는데 필요하진 않다. 오히려 방해가 될 뿐이지. 가난이라는 것이 사람에게 남기는 생활양식 또한 이와 크게 다르지 않다. 내가 부제목에 달았던 가성비형 인간이라는 표상이 가난의 흔적기관이라는 단어를 가장 잘 표현할 수 있는 단어라고 생각한다. 왜냐. 내가 그랬고 부단 나 뿐만이 아니라 소위 가난했지만 어느정도 그 티를 벗어난 형편에 있는 사람들의 마음속 깊숙히 가난이라는 상처의 흔적이 마치 인..
옛말로도 고진감래, 흥진비래, 새옹지마, 전화위복 등등 비슷한 상황을 표현하는 말들이 참 많다. 그 이유는 당연히 사람의 일생을 보면 꾸준히 좋은 일도, 꾸준히 나쁜 일도 없었기 때문일 것이다. 하지만 막상 나한테 안좋은 일들이 연달아 벌어지면 사자성어고 격언이고 나발이고 다 남얘기처럼 느껴질 때가 있다. 그럴 때 내가 사용하는 방법이다. 한줄로 정리하자면 통계를 이용해 정신적 안정을 얻기 라고 할 수 있겠다. 구체적으로 적어보자면 이러한 논리의 전개이다. -> 일단 나는 로또에 당첨되지도 않았고, 번개도 맞아보지 않은 평범한 수준의 운을 타고난 사람이다. 평범한 수준의 운을 타고난 사람이라면 꾸준히 나쁜 일만 일어나지도 않을 것이고, 꾸준히 좋은 일만 일어나지도 않을 것이다. 좋은 일과 나쁜 일을 결국..
내가 jetbrain IDE에서 black 포매터를 사용하는 방법 개발할 때 주로 IntelliJ IDEA를 쓰곤 하는데 보통 파이썬을 사용하는 IDE는 IDEA와 PyCharm일테니 공통적으로 적용할 수 있다. shift를 두번 누르면 search everywhere가 켜지는데 여기에서 external tools를 검색해서 들어가면 설정창에서 External Tools를 설정할 수 있는 창이 열린다. 이렇게 말이다. 이 상태에서 +를 누르고 Name과 Description은 취향것 입력하고 Program에는 black formmater 실행파일을 지정하고, Arguments에는 "$FilePath$"를 입력한다. 그러면 이렇게 Search Everywhere에서 black을 바로 찾아서 적용할 수 있다..
Elixir의 Pipe연산자(|>)를 파이썬에서쓰기 위한 발악 Airflow를 사용하다가 이런 생각을 했다. Airflow의 DAG는 원래는 비트연산자인 >>(rshift)를 이용해서 로 Task의존성을 명시해서 그것을 시각화하여 보여주곤 하는데 이걸 이용하면 Elixir에서처럼 Pipe연산자를 만들 수 있지 않을까..? 바로 작업에 착수했다. 일단은 class Add: def __init__(self, num: int): self.num = num def __rshift__(self, other: 'Add'): return Add(self.num + other.num) def __str__(self): return str(self.num) 이런 함수를 만들어서 num1 = Add(1) n..
m1에서 redash를 호스팅하는 방법 redash도 python 기반의 어플리케이션이라서 airflow같이 간단하게 작동시킬 수 있을 줄 알았는데 생각보다 많은 프로그램들이 엮여들어있어서 m1 맥미니에서 호스팅하는 데에 꽤나 장애물이 있었다. 나중에 또 해매지 않기 위해 기록으로 남겨둔다. https://redash.io/help/open-source/setup 이곳이 다양한 환경에서 redash를 설치하는 방법에 대해 안내해주는 곳인데 대충 보면 계속 redash의 설치스크립트 저장소인 https://github.com/getredash/setup 이곳을 참조하라고 한다. 하지만 이 설치스크립트는 안내문구에서도 알 수 있다시피 ubuntu 18.04를 기준으로 필요한 모든 라이브러리, 애플리케이션 등..
전에 https://this-programmer.tistory.com/521 이런 글을 썼었는데 글에 써진 대로 원래 계획상으로는 월급이 나오려면 사려고 했었다. 근데 조금 생각해보니 그럴 필요까진 없었어가지고 그냥 쇠뿔도 단김에 금요일에 당근에서 물건을 찾고 사서 토요일에 집에 와서 바로 설치를 마쳤다. 내 퀀트 프로그램 서버의 여정이 여기서 마무리되길 바라는 바이다.ㅠ m1 맥미니 + 본가에 설치를 하게 된 여정은 아래와 같다. 1. macbook에 수집과 거래프로그램을 전부 설치 -> 개인용도로 맥북을 여기저기 가지고다닐 일이 많아서 그때마다 수집이 끊기고, 무선으로 연결할 때마다 ip가 바뀌어서 포트포워딩을 항상 바꿔줘야 했다. 2. microserver에 수집과 거래프로그램을 모두 마이그레이션 ..
긱뉴스에서 다뤘던 아티클이다. https://news.hada.io/topic?id=7085&utm_source=slack&utm_medium=bot&utm_campaign=T02VBL70FGV 간단한 자동화 기능을 제공해서 매월 백~천만원 버는 Micro SaaS들 | GeekNews QAPop: Quora에서 인기 질문을 찾아서 자신의 제품을 마케팅 해주는 툴BlackMagic: 트위터 배너를 실시간으로 바꿔줌EavesDrop: 온라인 커뮤니티를 모니터링해서 잠재 고객을 찾아줌DataFetcher: Airtable에 어 news.hada.io 위 주소로 들어가면 제대로된 기사를 볼 수 있다. 내가 특히나 이 기사를 좋아하는 이유는 여기에 진짜 비지니스 인사이트에 도움이 되는 것들이 있기 때문이다. 거..
요즘 가정이나 회사에서의 인터넷 환경은 보통 하나의 유무선 공유기를 통해서 여러대의 머신을 연결하는 형태이다. 그러다보니 해당 머신이 바깥으로 보내는 공용 ip가 무엇인지 알기 힘든 때가 있다. 당장 내 ip를 확인해봐도 공유기 내부에서 통신하기 위한 ip를 던져줄 뿐이다. 이건 터미널에서 ifconfig같은 명령어를 쳐봐도 마찬가지이다. 보통 그럴 땐 구글에 "내 ip"이런식으로 검색해서 퍼블릭 ip를 확인해서 입력하곤 한다. 하지만 역시 이런 불편함은 누군가 먼저 생각해놨고 해결해놨다. 대안은 바로 https://ipgrab.io/ 이 사이트이다. 접속하면 요청한 머신의 ip를 심플하게 한 줄의 텍스트로 반환해준다. 이게 왜 좋냐. 코드 내에서 파싱하기 좋다. import requests myip =..
작년 12월 초에 이직을 했다. 그래서 1월 2째 주까지는 커밋이 듬성듬성 내 머리숱처럼 있는 걸 볼 수 있다. 7월 초에 이직을 했다. 역시나 아직까진 듬성듬성 기간이다. 이직 후에 프로젝트를 파악하는 적응기간에는 아무래도 두뇌 여유용량이 없는지 개인 개발활동을 못하게 된다. 물론 이 기간에는 블로그 활동도 소극적이게 된다. 그런 만큼 블로그에 쓸 글들도 엄청나게 쌓여가고 있다. 틈틈히 만들고 있던 https://github.com/jujumilk3/fastapi-clean-architecture도 작업해야하고, fastapi contribute도 해야하고, 새로 알게된 아주 유용한 킹픈소스들인 redash와 drangoflyDB도 홍보해야 하고, 개발자 입장에서 본 매트릭스 트릴로지 + 4도 써야 하..
작년에 출판한 아주 따끈따끈한 책이다. 요즘 내가 포스팅에서 자주 언급하고 있는 인지과학적인 측면에서 프로그래밍 분야를 향해 제대로 발을 뻗어보는 책이라고 할 수 있겠다. 내가 그간 포스팅을 하면서 자주 인지과학적인 측면을 언급했는데 - 하나는 Elixir의 pipe 연산자( |> )가 사람이 글을 읽는 듯한 논리의 흐름을 프로그램에 그대로 녹여낼 수 있어서 가독성 좋은 코드를 작성하는 데 큰 이점이 있다는 점이었고, - 또 하나는 폴 그레이엄의 해커와 화가에서 나온 "해커와 화가"라는 챕터에서 화가가 세상을 보고 해체하는 법과 해커가 세상이나 코드를 보고 해체하는 법이 일맥상통한다는 점이었다. 그동안 읽고 써왔던 것들이 이런 내용이었기 때문일까, 뭔가 자연스럽게 이 책에 관심이 생긴 것 같다. 이 감상..