Profile img

Jaeyeol Lee

@kodingwarrior@hackers.pub · 690 following · 503 followers

Neovim Super villain. 풀스택 엔지니어 내지는 프로덕트 엔지니어라고 스스로를 소개하지만 사실상 잡부를 담당하는 사람. CLI 도구를 만드는 것에 관심이 많습니다.

Hackers' Pub에서는 자발적으로 바이럴을 담당하고 있는 사람. Hackers' Pub의 무궁무진한 발전 가능성을 믿습니다.

그 외에도 개발자 커뮤니티 생태계에 다양한 시도들을 합니다. 지금은 https://vim.kr / https://fedidev.kr 디스코드 운영 중

Github
@malkoG
Blog
kodingwarrior.github.io
mastodon
@kodingwarrior@silicon.moe
2

백준 등 프로그래밍 문제에서 계산한 결과를 10^9+7로 나눈 나머지를 출력하라 지시하는 경우가 많은데, 오버플로우를 막기 위함인건 알았지만 그 값을 소수로 사용하는 이유는 오늘 처음 알았다. 그 값이 소수여야 모듈러 곱셈 역원을 구할 수 있기 때문이다. (10^7+9는 10자리인 첫 번째 소수이기 때문에 자주 사용된다고 한다.)

풀어 말하자면 실수에서 2를 나누는 것과 1/2를 곱하는 것 대신 군 안에서는 2를 나누는 대신 모듈러 했을 때의 곱셈 역원인 정수를 대신 곱해줄 수 있는데, 모듈러하는 값이 소수일 때만 곱셈 역원이 항상 존재한다.

예시: 팩토리얼, 조합 경우의 수와 같이 매우 큰 수를 계산할 때 곱셈 역원을 사용할 수 있음

C(n, k) = n! x (k!)^-1 x ((n-k)!)^-1 (mod p)

소수가 아닌 경우 아래같은 케이스가 있음 e.g. (m = 8, a = 1, b = 2) 1 / 2 mod{8}을 구할 수 없음

  • x: 2x mod 8
  • 0: 0
  • 1: 2
  • 2: 4
  • 3: 6
  • 4: 0 ... 반복

https://www.geeksforgeeks.org/dsa/modulo-1097-1000000007 https://www.quora.com/What-exactly-is-print-it-modulo-10-9-+-7-in-competitive-programming-web-sites

5

얼마 전 웹서핑을 하다가 우연찮게 현재 앤트로픽에서 엔지니어이자 연구원으로 근무하고 있는 Nelson Elhage가 쓴 Computers can be understood(=컴퓨터는 이해가능하다)라는 글을 봤습니다. 다 읽고나니 이 분 마인드가 제가 평소에 CS 공부할 때랑 너무 비슷해서 공감이 가고 아직 CS 뉴비인 저한텐 굉장히 도움이 되는 한편, 이 마인드가 어떠한 단점을 또한 가져다주는지 잘 얘기하는 것 같아 (사실 읽으면서 뜬끔하는 게 많았음) 저만 알기엔 아까워서 이렇게 번역해서 올려봅니다.

번역된 글을 보려면 여기로 이동해주세용.

혹시나 오역 및 CS 용어에 문제가 있다면 언제든 알려주시면 감사하겠습니다.

8
0
1
2
0
3

오이카페에 이어그리기에 이어서 그림으로 답글을 달 수 있는 기능이 추가되었습니다! 그리고, 그림 상세 페이지에서 답글과 댓글을 한눈에 볼 수 있도록 개선되었습니다! 예시

개선된 오이카페 그림 상세 페이지.
5

Tailscale을 비롯한 Wireshark 기반의 VPN 도구를 이번에 처음 접하게 되면서 "신세계"를 맛보고 있습니다.

저는 다양한 개발 환경을 테스트하고 학습하는 것을 선호하다보니 계속해서 여러 종류의 노트북이나 PC를 구입해서 사용해왔습니다. 그러다보니 관리 문제도 있고, 어딘가로 여행을 가거나 떠나야 할 일이 생기면 어떤 디바이스를 챙겨 가야 하는지가 상당한 고민이 되곤 했습니다.

그렇지만 인터넷만 붙어있으면 어디서든 동일 네트워크 상에 존재하는 것처럼 일관된 환경을 만들 수 있고, 모든 네트워크 송수신 트래픽이 암호화된 상태를 유지하고 있으며, 속도까지 빠르니 더할 나위 없이 좋습니다.

제 경우는 그래서, Surface Pro 8, Surface Laptop 7, GPU 달린 Intel 랩탑, 라즈베리 파이 4, 맥북, 아이폰, 아이패드, Azure VM, WSL 2 환경까지 매우 많은 디바이스와 가상 머신을 전부 단일 네트워크 환경에 붙여서 자유롭게 사용하고 있습니다.

만약 노트북과 데스크톱, NAS 등의 디바이스를 동시에 붙여서 사용해야 하는 것이 고민이라면 Wireshark나 Tailscale을 꼭 살펴보실 것을 권해드리고 싶습니다. 👍

11
0
1
0
5
0
5
0
0
0
0
2
4
2
0
0
0
7
1
3
3

So, these days, I'm always trying to find and follow the conf.d tradition. The rationale of this tradition looks like:

  • /etc/somepackage/somepackage.conf is where the default configuration is.
  • /etc/somepackage/conf.d/ is where the overrides are; this is where you put your user conf.

Normally somepackage.conf is managed by the package manager. When the package gets upgraded (shipping a new version of somepackage.conf), and there are local changes, the package manager will ask you: To overwrite with the maintainer's version or to keep yours.

This question is often difficult to answer, especially if you can't, for the life of you, remember what the heck that package is about. Even "show diff" sometimes fails to help. You have to resort to searching.

Keeping your confs under conf.d helps you avoid this altogether. It also helps you separate them, selectively include/exclude some of them to a system, and prioritize them (the 00-my.conf and 99-my.conf pattern).

But that makes me wonder: If all of my user conf will stay inside conf.d, why bother? Why have /etc/somepackage/somepackage.conf at all? Why is it under /etc anyway? Legacy. /etc/resolv.conf is the first example to come to mind. Different apps fight over the control of this file, so sometimes you encounter advice like sudo chattr +i to prevent any change. Absurd, but it works!

So today I briefly wondered if there's any ongoing effort or a new clever solution to address this. Well, there's NixOS which nullifies quite a bit of my point. I've always liked its idea since like 15 years ago. But is there anything else, anything new, for my existing (less exciting) systems?

…I asked ChatGPT 5-Thinking about this, and its answer was mostly expected. The only thing that amused me was the discovery of etckeeper. OK that looks interesting.

2

Hashnode 게시글을 불러오는 API를 기반으로 자기만의 정적 사이트 생성기 템플릿 굽는 분들이 계시길래, Hackers Pub도 이런게 되어야 하지 않나 싶었다. 실제로 graphql API를 까봤는데, 이론상으로 불가능하지는 않아서 도즈언 했는데 생각보다 잘 나온다..... Astro에다가 Hashnode API 연결한 예시를 베이스로 해서, hackerspub 버전으로 바꿔달라고 claude code한테 프롬프트 넣어줬더니 진짜 그냥 해줌.

HackersPub에서 제공하는 graphql API를 기반으로 정적 사이트를 구운 모습이다

Hashnode 게시글을 불러오는 API를 기반으로 자기만의 정적 사이트 생성기 템플릿 굽는 분들이 계시길래, Hackers Pub도 이런게 되어야 하지 않나 싶었다. 실제로 graphql API를 까봤는데, 이론상으로 불가능하지는 않아서 도즈언 했는데 생각보다 잘 나온다..... Astro에다가 Hashnode API 연결한 예시를 베이스로 해서, hackerspub 버전으로 바꿔달라고 claude code한테 프롬프트 넣어줬더니 진짜 그냥 해줌.

HackersPub에서 제공하는 graphql API를 기반으로 정적 사이트를 구운 모습이다
8
0

부계로 오래 알고 지냈던 생각지도 못했던 트친이, 내가 알고 있던 어떤 존재감이 있었던 학교 동문이항 동일인물이었음... 책도 쓰시고 유튜브도 찍으신 분인데, 이게 내가 알던 어떤 동문이랑 동일인물이라고? 하는 복잡한 생각이...

1

부계로 오래 알고 지냈던 생각지도 못했던 트친이, 내가 알고 있던 어떤 존재감이 있었던 학교 동문이항 동일인물이었음... 책도 쓰시고 유튜브도 찍으신 분인데, 이게 내가 알던 어떤 동문이랑 동일인물이라고? 하는 복잡한 생각이...

1

내가 준비중인 다른 모임(vimrc 2025)랑 안 겹치게 테트리스하고 있기도 하고, OSSCA 관련 일정이랑도 안겹치게 해야하고, 12월 초에 예정되어있는 뻥쇼날 랭귀지 컨퍼런스 LiftIO 2025랑도 겹치지 않게 해야함

1
1

이 글을 보니까 뭔가 N글자 이상일때 아티클로 옮길지 말지 물어보는 UI가 있으면 어떨까 싶은 생각이 문득 들었다. (350 <= N <= 500)

당연히 web-next 에서 작업해야 하는 이슈 쯤으로....

0

11월 중순~11월 말 사이에 해커스펍 오프라인 밋업 Hackers' Public 두번째 모임을 진행하려고 하는데 "눈물없이 듣기 어려운 프론트엔드의 심연" 특집입니다...... 11월 1일~11월 8일 사이에 모집 공고 올릴듯????? 아직은 오피셜한 공지는 아니지만 정보만 슬쩍 흘려봅니다,,,

4
0

11월 중순~11월 말 사이에 해커스펍 오프라인 밋업 Hackers' Public 두번째 모임을 진행하려고 하는데 "눈물없이 듣기 어려운 프론트엔드의 심연" 특집입니다...... 11월 1일~11월 8일 사이에 모집 공고 올릴듯????? 아직은 오피셜한 공지는 아니지만 정보만 슬쩍 흘려봅니다,,,

9