Profile img

Jaeyeol Lee

@kodingwarrior@hackers.pub · 670 following · 486 followers

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

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

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

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

갑자기 불현듯 하이텔이나 나우누리 같은 옛날 PC통신이 떠올라서 난 한 번도 그 시절을 겪어본 적이 없었는데 어떤 느낌일까 싶어서 해보고 싶어가지고 검색 해봤는데 생각보다 쉽게 사설 BBS를 접속하는 프로그램을 찾아내서 탐방했음. 미국은 사설 BBS가 아직 명맥을 이어가는 것 같은데 국내 거는 사실상 멸종한 것 같다...여튼 하니깐 어릴 때 친구네집 펜티엄 컴퓨터 갖고 스치듯 했던 MS-DOS 갬성이 엄청 느껴져서 하는 내내 헤벌레 미소 지으면서 했다 ㅋㅋㅋ 나갈 때 작별인사 페이지도 따로 있어서 살짝 감동 먹음 🥹

참고로 사용한 프로그램은 MuffinTerm이고 애플 계열 기기에서 돌아간다 (아이패드 포함). 접속한 BBS는 8bit-boyz라는 미국 레트로 컴퓨팅 커뮤니티다.

8bit-boyz BBS 접속 사진
7

해커스펍 오프라인 행사를 여니까 확실히 유입 효과도 활성화 효과도 동시에 있는 것 같음. 11월 중순~11월 말에는 프론트엔드 특집으로 생각하고 있는데 얼마나 많이 찾아오시게 될 지...!!

9

DDIA (Designing Data Intensive Application) 2판을 읽고 있다.

처음 빌딩블록 얘기부터 정리를 잘해주는듯..

DB: 데이터를 저장하여, 자신 또는 다른 애플리케이션이 나중에 다시 찾을 수 있도록 한다 (데이터베이스)

Cache: 비싼 연산의 결과를 기억하여 읽기 속도를 높입니다 (캐시)

Index: 사용자가 키워드로 데이터를 검색하거나 다양한 방법으로 필터링할 수 있도록 허용합니다 (검색 인덱스)

Stream: 이벤트와 데이터 변경이 발생하는 즉시 처리합니다 (스트림 처리)

Batch: 주기적으로 축적된 많은 데이터를 분석합니다 (배치 처리)

4
1
0
1

살짝 다른 차원에서 확장해서 바라보는 얘기이긴 한데 그냥 첨언하자면 언어학의 하위 분야인 화용론에서 전제(Presuppositions)라는 주제랑 연결되는 것 같네요. 댓글에 프랑스 왕은 머머리다 예문도 써주신 걸 보니 더욱 더 그런 것 같고요. 간단하게 설명드리자면, 일단 한국어 예문으로 하면 살짝 오해의 소지가 있어[1] 영어 예문을 갖고 쓰면 다음과 같이 생각해볼 수 있습니다.

  • P: The King of France is bald.[2]
  • Q: There exists an entity that is King of France.

이 때 P의 명제가 참일 수 있는 이유는 Q를 전제로 깔고 가기 때문입니다. 이렇게 Q를 전제로 갖고 가면 P에 부정을 넣어도 (The King of France is not bald 혹은 ¬(The King of France is bald)) 여전히 그 명제는 참입니다. 하지만 실제 현실에서 Q는 거짓입니다. 왜냐하면 오늘날 프랑스는 군주국가가 아니니깐요. 그럼에도 불구하고 P는 여전히 참을 진리값으로 가지죠.

따라서 실제로 전제를 이렇게 정의하기도 합니다 (Levinson, 1983, p. 175).

  • A sentence P sematically presupposes a sentence Q iff:
  • (a) P ⊨ Q
  • (b) ~P ⊨ Q

참고로 여기서 "⊨"는 "함의한다"를 지칭하는 기호입니다 (예: "하스켈은 함수형 언어다."란 문장은 "하스켈은 언어다"란 걸 함의하죠.).

그렇다면 Q가 전제되는 건 알겠는데, 이 진리값이 무엇이느냐에 대한 질문이 생길 수 있습니다. 이에 대해서 언어학자들은 보통 크게 두 가지로 봅니다. 하나는 참으로 간주하는 거고, 다른 하나는 참도 거짓도 아니다라고 보는 거죠. 전자같은 경우엔 어떻게 보면 기계적으로 바라보는 거고, 후자의 경우엔 참/거짓이라는 기존 이치논리(two-valued logic) 혹은 1 또는 0으로 하는 불 논리에서 확장해서 Kleene의 삼치논리(three-valued logic)로 가게 되죠.

참고로 전제 성립 여부 포함 화용론 전체에서 깔고 가는 가장 큰 가정이 하나 있는데, 이 경우에는 바로 해당 발화(utterance) P, 즉 '프랑스왕은 머머리다'라는 명제가 이루어질 때 화자와 청자가 프랑스에는 왕이란 개체가 존재한다(=Q)라고 암묵적으로 서로 동의한다라는 가정입니다.


  1. 사실 문제가 영어 관사 'The'에서 시작되기 때문이라서 그렇습니다. ↩︎

  2. 논리형으로 치환하면 다음과 같습니다: ∃x(KoF(x) & ∀y(KoF(y) → y=x) & Bald(x)) where KoF stands for "King of France". ↩︎

5
1
1

Jaeyeol Lee shared the below article:

Upyo 0.3.0: Multi-provider resilience and deployment flexibility

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

Upyo 0.3.0 introduces three new transports designed to enhance email delivery capabilities and reliability. The update focuses on multi-provider support and flexible deployment options. The new pool transport, via the `@upyo/pool` package, combines multiple email providers with routing strategies like round-robin, weighted distribution, and priority-based routing, ensuring high availability and cost optimization. Additionally, the `@upyo/resend` package integrates Resend, an email service provider known for its developer-friendly approach and intelligent batch optimization. For those needing self-hosting options, the `@upyo/plunk` package supports Plunk, offering both cloud-hosted and Docker-based self-hosted deployments. These new transports maintain Upyo's consistent API design, ensuring they can be easily integrated into existing workflows. This release expands Upyo's utility by providing more robust and adaptable email delivery solutions.

Read more →
3

OpenAI의 gpt-oss 모델에 이어, RAG (검색 증강 생성)에서 매우 중요한 역할을 하는 임베딩 모델을 Google에서 새롭게 오픈 소스로 공개헀습니다.

EmbeddingGemma라는 이름의 임베딩 모델로, 고성능 하드웨어 없이도 RAG를 구현할 수 있으면서, 한국어, 중국어, 일본어를 포함한 수많은 언어를 지원하도록 개발된 모델이어서 의미가 있습니다.

그래서 재빨리 File-based App과 Semantic Kernel용으로 개발된 sqlite-vec 확장 모듈을 붙여서 프로토타입 코드를 만들어봤는데, 잘 작동하는 것 같네요! :-D

https://forum.dotnetdev.kr/t/google-embeddinggemma-ollama-sqlite-vec-rag/13754

1
1
5
2

어제 해커스펍 모임 갔을 때는 컨디션도 안 좋고 다 원래 알던 사람들끼리만 얘기하는 것 같아서 우울했는데 집 와서 쓰러져 자고 일어나 생각해보니 진짜로 컨디션이 안 좋아서 그런 거였고 개발자들이 떠드는 걸 실제로 바로 옆에서 들을 수 있었음이 얼마나 감사했던가 하고 기분 좋아짐

0

여러 분들의 도움으로 대충 리퍼럴 사이드 프로젝트의 모양이 점점 더 갖춰지고 있습니다...

이제 https://referral.akaiaoon.dev/t/malkoG 하면 malkoG 깃허브 핸들에 추천사를 작성하실 수 있고요, https://referral.akaiaoon.dev/u/malkoG 하면 malkoG 깃허브 핸들에 추천하신 분들의 추천사를 작성하실 수 있습니다.

다음에는 /t/ 엔드포인트용 뱃지 이미지를 만들까봐요... buy me a coffee 처럼 말이죠. 예를 들면: "Buy Me A Coffee" 뭐 이런 이미지가 있으면 더 좋지 않을까요.

0
5
0
6
2
1
0
열지 마시오

종이 열 장을 돌돌 말도록 명령하는 말은 10 紙 마시오

엌ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

0
1
<iframe width="560" height="315" src="https://www.youtube.com/embed/D-w2HwG18vg?si=FDVbw9PCuoF7UBqt" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
0
<iframe width="560" height="315" src="https://www.youtube.com/embed/D-w2HwG18vg?si=FDVbw9PCuoF7UBqt" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
1
1
5
0

@kodingwarriorJaeyeol Lee X에 올려주신 초대장 덕분에 가입할 수 있었습니다. 환영해주시니 더 반갑네요! 혹시 질문 하나 드려도 될까요? 해커스펍의 활동은 웹브라우저상으로 이루어지나요? 혹시 지원하는 전용 어플리케이션이 있는지 궁금하네요? 또 이런 뉴비스러운 질문을 해도 괜찮은 장소가 있을까요? 이렇게 댓글로 질문 드리는게 좋은 방식인지도 의문스럽네요 ㅎㅎ...

@fpg123훈이

  1. 당장은 웹브라우저로 이용이 가능하고, 앱처럼 쓰고 싶다면 PWA 지원되니 그걸 쓰시는 것오 방법이에요.
  2. 전용 어플리케이션은 지원 계획은 있지만, 아직은 진행되지는 않았고... 진행되고 있는건 깃헙 리포지토리가 공개가 되고 있으니 거기서 확인하시면 됩니다.
  3. 통로는 찾아보면 많이 있겠지만, 해커스펍에서도 많이 공유해주세요 ㅋㅋ
1
0
7

튜사 입장 11시 30분 / 행사 준비 시작 2시 / 행사 시작 3시 / 행사 종료 6시 / 서베이 작성 완료 9시 / 감사 메일 발송 10시 15분 / 외부 연사자 추천 서베이 초안 작성 11시 20분

이렇게... 하루가 끝났다...

5
5
8
17
0
0
8
0
0
0
0
6
0
0

개발하다가 느낀 뻘 생각

연합우주 서비스를 호스팅한다는 관점에서 봤을때,

  • 팔로잉을 한다 -> 외부 인스턴스에서 오는 인바운드 트래픽을 수시로 맞을 준비를 한다.
  • 팔로워를 받는다 -> 아웃바운드 트래픽을 와다다다 쏠 준비를 한다.

이런 관점으로 볼 수 있는 것 같다.

외부 연합우주 인스턴스에 큐가 적게 쌓이게 하고 싶다면, 팔로우를 가능하면 하지 않는게 맞다..... 좀 감이 잡히는 것 같음

2