Profile img

Juntai Park

@arkjun@hackers.pub · 65 following · 82 followers

中年(중년)中小企業(중소기업) 開發者(개발자), 90年代(년대) Console Gamer(콘솔 게이머). 좋은 하루를 繼續(계속)해 나아간다. 좋은 하루가 모이면 좋은 人生(인생)이 된다.

韓国人のプログラマー、40代、小学生の息子とゲームするのが幸せ😃💕龍が如く 、ゼルダの伝説、マリオ、ピクミン好き

「いい1日を続ける」
いい1日を続けていけば、いい人生になる!

threads
@rkjun
x
@rkJun
uri.life
@arkjun@uri.life
GitHub
@arkjun

Juntai Park shared the below article:

VitePress localSearchPlugin 버그 디버깅하기

Lee Dogeon @moreal@hackers.pub

이 글은 Zenn 트렌드 봇 제작 중 VitePress 로컬 검색 기능의 버그를 발견하고 수정하는 과정을 담고 있습니다. Fedify 문서에서 검색 기능이 제대로 작동하지 않는 것을 확인한 후, 코드 블록 내의 특정 마크다운 문법(`markdown-it-jsr-ref` 플러그인)이 문제임을 밝혀냈습니다. VitePress의 `localSearchPlugin.ts` 파일을 분석하여, 헤딩 내의 `<a>` 태그를 처리하는 정규식의 non-greedy한 특성이 버그의 원인임을 알아내고, 정규식에서 `?` 기호를 제거하여 문제를 해결했습니다. PR을 통해 수정 사항을 제안하고 빠르게 머지된 경험을 공유하며, 디버깅 과정과 PR 준비에 대한 회고와 함께 개선점을 제시합니다. 이 글은 문제 해결 과정과 디버깅 경험을 통해 독자들에게 인사이트를 제공합니다.

Read more →
3
9

Juntai Park shared the below article:

If you're building a JavaScript library and need logging, you'll probably love LogTape

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub

LogTape offers a novel approach to logging in JavaScript libraries, designed to provide diagnostic capabilities without imposing choices on users. Unlike traditional methods such as using debug packages or custom logging systems, LogTape operates on a "library-first design" where logging is transparent and only activated when configured. This eliminates the fragmentation problem of managing multiple logging systems across different libraries. With zero dependencies and support for both ESM and CommonJS, LogTape ensures minimal impact on users' projects, avoiding dependency conflicts and enabling tree shaking. Its universal runtime support and efficient performance make it suitable for various environments. By using a hierarchical category system, LogTape prevents namespace collisions, offering a seamless developer experience with TypeScript support and structured logging patterns. LogTape provides adapters for popular logging libraries like Winston and Pino, bridging the transition for users invested in other systems. Ultimately, LogTape offers a way to enhance library capabilities while respecting users' preferences and existing choices, making it a valuable consideration for library authors.

Read more →
10

실제로 Hackers' Pub은 Mac mini M4 깡통에서 돌아가는데, 아직 Asahi Linux가 M4를 지원 안 해서 macOS 안에 컨테이너 띄워서 돌리고 있어요. Asahi Linux가 M4 지원할 때까지 숨 참고 기다리는 중입니다…

2
4
7

내가 Git 쓰다가 왕대빵 커밋 똥히스토리 남기는 전형적인 패턴이다.

  1. 간단한 기능 A를 추가하려고 한다.
  2. A를 추가하려면 기존의 설계 B를 고쳐야한단걸 깨닫는다.
  3. B를 고친다.
  4. A를 추가한다.

이렇게 3, 4의 변경이 한데 들어가 있는 무근본 커밋이 탄생한다. 2 -> 3 사이에 stash를 하면 간단히 해결되는 문젠데 매번 까먹고 실천을 못한다.

5
11
16

@shiromadaraしろまだら @hongminhee洪 民憙 (Hong Minhee) 何年前か、韓国語訳で読みましたが、けっこう役に立ちました。 タイトルは就職の面接のためな本に見えますが、中身はシステムの設計について説明する本です。シリーズで第2弾も出たようですが、それはまだ読んでいませんね。

アレックス・シュウ
システム設計の面接試験
https://www.amazon.co.jp/システム設計の面接試験-アレックス・シュウ/dp/4802614063

2
1
6

요즘 '이건 잘못된 코드지만 당분간 고칠일이 없기를 기도하자'고 하며 넘어간 코드들에서 나온 버그들을 계속 고치는 중이다.

과거의 나의 정확한 안목에 뿌듯해하며 동시에 피눈물을 흘리고 있다.

8

이뿐만이 아니다. 예스24는 낙후된 시스템을 운용하는 것으로 전해진다. 단적인 예로 사이트 개발에 '닷넷 프레임워크'를 사용하고 있다. 닷넷 프레임워크는 현재는 잘 사용하지 않는 개발 언어로 윈도 서버에서만 운영 가능하기 때문에 개발자의 외면을 받고 있다.

닷넷 프레임워크는

  • 현재는 잘 사용하지 않는 -> 아님¹
  • 개발 언어로 -> 아님²
  • 윈도 서버에서만 운영 가능하기 때문에 -> 아님³
  • 개발자의 외면을 받고 있다 -> 일단 점유율은 아님¹

예를 확인 없이 내세운 기사네요 🙃

@nyeongAn Nyeong (安寧) .NET이랑 .NET Framework가 서로 다른 물건이예요. .NET은 .NET Core가 리브랜딩된 거고, 10년 전에 .NET Framework를 대체했습니다. .NET Framework는 Windows에서만 돌아가는 것도 사실이고요. .NET Core, 즉 현재의 .NET은 .NET Framework와 브랜드 측면에서는 연속성이 있지만, 기술적으로는 아예 새로 만들어진 구현입니다. 오픈 소스라는 점도 다르고요. 전반적으로 .NET Framework는 레거시 기술이 맞아요.

4

@chanjin65이찬진 님이 스레드에 올린 글 [1] 을 Hackers' Pub 에도 공유하려고 했는데, Hackers' Pub 에서 @chanjin65이찬진 님의 노트에 해당 글이 올라오지 않는다..


  1. 스레드의 페디버스 연동 기능이 개선되어, 페디버스 공유를 켜면 팔로우하는 페디버스 계정의 게시물들을 볼 수 있는 피드가 생겼고 페디버스 계정을 검색할 수 있다는 내용 ↩︎

0
1

Hackers' Pub에 로그인한 상태에서의 타임라인 구성을 조금 바꿔봤습니다. 기존의 “연합우주” 탭을 “피드”라고 수정했고, “연합우주” 탭과 “Hackers' Pub” 탭은 기본적으로 로그아웃했을 때의 “연합우주” 및 “Hackers' Pub” 탭과 동일한 타임라인이 표시되게 했습니다. 아직 팔로를 많이 하지 않은 분들에게는 “연합우주” 및 “Hackers' Pub” 타입라인이 새로운 콘텐츠를 발견하기 좋은 공간이 될 겁니다.

11
3
5

지금은 아니지만 내가 HHKB 레이아웃을 쓰고 터미널에서 이것저것 하는 것 때문에 vim 에 대해 관심을 가지는 동료들이 있었다. 가장 쉽게 적용할 수 있는 것은 예쁜 터미널 에디터였고 그 첫 후보로 nvchad 를 추천 또는 설치해주었다. https://nvchad.com/ vscode 에서 이걸로 당장 넘어오라고는 당연히 못하고 터미널에서 코드 읽어 볼 때 사용하라곤 했다. 몇몇은 vscode 에서 vim 플러그인을 설치해 사용하기 시작했다. lazyvim 과 nvchad 를 번갈아 가며 쓰고 있다. siduck 의 미감은 훌륭하다.

타이머 패널은 마우스로 드래그할 수 있다.
5

아까 멘토링 시간에, Next.js가 점점 Vercel에 종속적으로 변해가는 모습에 사용자들이 점점 이탈하지 않을까 하는 질문을 했어요. 그랬더니 아직은 걱정할 필요 없다고 3~5년은 더 갈 거라는데, 개인적으로는 아직 잘 모르겠지만 Vite같은 번들러조차도 지원하지 않는데 Deploy까지 Vercel에 모든 것을 맡겨야 한다고 하면... 눈에 보이는 사용자 이탈에 3년도 안 걸리지 않을까 하는 생각을 조심스럽게 하고 있어요.

4

종종 일 앞에 사람이 있다는 점을 간과하는 발언을 들을 때가 있다. 사람을 소울리스 코딩머신으로 취급한다거나, 부서의 상황을 배제하고 일만을 고려하는 의견들. 어느 정도는 일리가 있겠으나 성공적인 의사소통으로 평가하긴 어렵다.

3
2
6
2
7
9

Juntai Park shared the below article:

미리알림을 이용한 생활 루틴 자동화

제이미 @theeluwin@hackers.pub

이 글은 아이폰의 '미리알림' 앱을 활용하여 일상 및 업무 루틴을 자동화하는 방법을 소개합니다. ADHD 성향을 가진 저자는 주기적으로 해야 하는 일들을 잊지 않기 위해 '미리알림'을 통해 알림을 받고, 이를 통해 뇌의 인지 자원을 절약하고 효율성을 높입니다. 작업을 세분화하고, 완료 후 즉시 체크하는 방식을 통해 미루는 습관을 개선하고, 새로운 습관을 형성하는 데 도움을 받습니다. 또한, '미리알림'을 자주 확인하는 습관을 통해 중요한 일들을 잊지 않도록 관리하며, '구글 캘린더'와 일기장을 병행하여 전체적인 일정 관리와 자기 성찰을 돕습니다. 이 시스템은 루틴 관리를 자동화하고, 새로운 습관을 쉽게 만들 수 있도록 도와주는 유용한 방법입니다.

Read more →
7
3

지난번 read papers with me에 이어서... 이번에도 어차피 논문 읽을겸, 세미나 발표 준비하듯 피피티도 만들고, 영상도 촬영해봤는데요,

결국 촬영 + 편집에 오버헤드가 너무 많이 걸려서 이것도 그다지 좋은 방법이 아니었네요. 혹시라도 비슷한 생각 하신 분들은 참고하시길(...)

https://www.youtube.com/watch?v=X6yWfjBgHsg

4
3

예전에는 주로 Windows랑 Mac을 왔다 갔다 하면서 작업했는데, 요즘은 Mac mini랑 MacBook Air를 나눠서 쓰는 일이 많아지다 보니까, 슬슬 dotfiles 백업이나 공유가 필요하겠다~ 싶어졌다.

우선은 셸 히스토리를 백업하고 공유할 수 있도록 https://atuin.sh/ 를 설치해봤다. (@daidaisuke 님 블로그에서 우연히 본 건데, 감사합니다!)

6

これまでは主にWindowsとMacを行き来しながら作業してたんだけど、最近はMac miniとMacBook Airを使い分ける感じになってきて、dotfilesのバックアップとか共有がそろそろ必要かな〜と思い始めた。

とりあえず、シェルの履歴をバックアップ・共有できるように、https://atuin.sh/ を入れてみた。(@daidaisuke さんのブログでたまたま見かけたやつ。感謝です!)

2

루비온레일즈에서는 CoC라는 게 있습니다.
Convention over Configuration.
그러니까 설정보다 컨벤션을 더 중시하게 본다는 겁니다.
설정 파일에다가 이것저것 적는 것이 아니라 그저 관행대로 하면 알아서 동작하는 거.

예를 들어서 라우트에 articles란 이름의 경로를 만들면, 이 경로는 articles_controller.rb 와 자동으로 매핑이 됩니다.
그리고 articles_controllerindex 액션은 views/articles/index.html.erb 을 자동으로 찾아서 렌더링 합니다.
이를 위한 어떤 설정도 필요 없습니다. 그저 관행일 뿐입니다.
DB 의 테이블 이름과 모델 클래스의 이름이 항상 동일하다는 것도 CoC의 한 예입니다.

처음엔 이런 관행이 짜증 나기도 했습니다.
왜 모든 테이블 이름이 복수형이어야만 하지?
Person 모델이 있으면 당연히 테이블 이름도 person이어야 직관적이지 않나? 왜 people이라는 복수형을 강제하는 거지?
이런 생각으로 반항하며 대들 때마다 레일즈는 고통을 돌려주었습니다.

초반에는 Rails와 많이 다투면서 이런 고집스러운 녀석과는 같이 못 살겠다 생각을 했었습니다만...
그 장점을 받아들이고 나서 드디어 친하게 지낼 수 있게 되었습니다.
오히려 제약하고 강제하면서 코딩이 만사 편해질 수 있구나 하는 걸 배웠습니다.

그런데 이게 꼭 코딩 시에만 적용되는 것은 아니었습니다.
사내 문화에 이런 걸 적용한 회사도 있었습니다.

카카오에 처음 들어갔을 때 영어 닉네임을 정해야만 했습니다.
그 영어 닉네임은 사람들에게 불리는 내 호칭이기도 했지만, 내 이메일 주소가 되기도 했습니다. 사내 github 주소가 되었고 사내 게시판의 닉네임이 되었습니다.
동료의 메일 주소를 물어볼 필요가 없었습니다. 부르는 이름이 메일 주소니까.
저는 Windows 컴퓨터를 사용해왔지만 얄짤없었습니다. 모든 사람들에게 맥북이 지급되었습니다.
사람들의 자유를 너무 제약하고 강제하는 것 아닌가?

돌아보니 이런 문화들이 마치 레일즈의 CoC처럼 느껴집니다.
회사 문화를 처음 만든 사람들이 레일즈를 워낙 좋아해서 영향을 받은 거 아닌가 하는 의심마저 들었습니다.(웃음)
엄격하게 강제하지만 구성원들이 잘 따르기만 하면 모두가 편해지는 관례.

이런 것이 좋을 때도 있다는 사실을 이제는 받아들입니다.

9
9

Juntai Park shared the below article:

Sealed Secrets - 가볍게 적용 가능한 GitOps with Secret

01010011 @01010011@hackers.pub

Sealed Secrets는 Vault와 같은 외부 Secret 관리 시스템을 도입하기 어려운 소규모 조직에게 적합한 대안입니다. GitOps 배포 파이프라인에서 API 키와 같은 Secret 정보를 안전하게 관리하는 데 어려움을 겪는 경우, Sealed Secrets는 클러스터 내부의 Secret Controller와 클라이언트 측 유틸리티를 통해 Secret을 암호화하고 관리합니다. 이 방식은 Secret을 Git 리포지토리에 안전하게 저장할 수 있게 하여 GitOps 흐름을 유지하면서도 보안 리스크를 줄여줍니다. AES-256-GCM + RSA-4096 방식으로 암호화된 Secret은 공개 저장소에 저장해도 안전하며, 클러스터에서 복호화되어 애플리케이션에서 일반 Secret처럼 사용할 수 있습니다. Sealed Secrets는 완벽한 해결책은 아니지만, 중소 규모 서비스에서 보안과 자동화 사이의 균형을 맞추는 데 유용한 도구입니다.

Read more →
6

빨간 공이 n개, 초록 공이 100-n개 들어있는 불투명한 통이 있습니다. n은 0에서 100까지의 정수 중 균등하게 무작위로 선택됩니다. 통에서 첫 번째 공을 뽑았더니 빨간 공이 나왔습니다. 첫 번째 공을 꺼내두고 통에서 두 번째 공을 뽑을 때, 빨간 공과 초록 공 중 어느 공이 나올 확률이 더 높을까요 (혹은 두 확률이 같을까요)?

출처: https://x.com/littmath/status/1751648838501224790

2

소니의 플랫폼(PS5)에서 개발을 하면 필연적으로 파트너 사이트를 매우 빈번히 이용할 수 밖에 없는데, NDA에 걸릴 것들이 많아 내부의 이야기는 할애하더라도, 외부의 이야기인 사이트 크레덴셜 관리 폴리시에 관한 불평은 좀 해야겠다. 2개월마다 패스워드를 바꾸라고 요구하는 것도 적잖이 성가신 이야기이나, [[최근 사용한 24개의 패스워드]] 를 제외하고 변경할 것을 요구한다. 정기적으로 강제로 패스워드 변경을 요구하는 것이 실효적인 보안 향상 효과가 있는가에 대해서는 상당히 questionable하기도 하거니와, 내 최근 사용 패스워드의 해쉬 24개를 사이트가 쥐는 것은 상당히 어처구니가 없다.

파트너 웹사이트의 접근 조차 올해까지 IP whitelisting으로 운영되고 있었을 정도로 (올해 상반기에야 이 운영방침은 해제되었다) '실효성 없지만 제약은 강한 강박적 "보안" 조치들' 은 전형적인 일본 기업의 IT 운영 폴리시라고 하겠다.

8
5

@hongminhee洪 民憙 (Hong Minhee)

  • 이곳이 마음에 들어요. 만들어주셔서 감사합니다.
  • 마크다운이 된다니 만세입니다. 마스토돈에선 안되거든요.
  • 글 수정 기능 + 수정 내역 보기 가 있으면 좋겠다고 생각하고 있다는 점을 수줍게 염치없게 말씀드려봅니다. 저는 제가 써놓은 것에 오타가 있거나 주술호응이 틀렸다거나 하면 스트레스를 심하게 받거든요. 그런데 마스토돈에서 수정 기능을 써 보니까, 이게 많이 좋았어요.
6

@hongminhee洪 民憙 (Hong Minhee) @ranolp 구글크롬입니다. chrome://version/ 정보입니다.

  • Google Chrome 137.0.7151.69 (Official Build) (arm64)
  • Revision 0b41cf178df5ebd22252d11719fe2d784d31c266-refs/branch-heads/7151..
  • OS macOS Version 15.5 (Build 24F74)
  • JavaScript V8 13.7.152.13
  • User Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36

확장중에 키보드에 영향을 끼칠만한 건 Vimium 정도 일려나요. Hammerspoon 이란 맥용 앱도 쓰고 있긴 합니다.

1
2
1
3
0