High Performance Browser Networking 혼자 공부하는 중인데, 학교 수업을 너무 게으르게 들은 업보를 청산하는 중........

Jaeyeol Lee
@kodingwarrior@hackers.pub · 243 following · 163 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
백엔드는 모르겠고, 프론트엔드 대상으로는 많이들 권장하는 책이던데 네트워크 교과목이 실제로 어떻게 도움되는지 얘기하려면 '이거 읽는데 드는 시간이 몇배는 줄어든다' 정도로는 확 체감되게 설명은 가능할 것 같다
High Performance Browser Networking 혼자 공부하는 중인데, 학교 수업을 너무 게으르게 들은 업보를 청산하는 중........
시스템 설계 면접 완벽 가이드 - 노련한 소프트웨어 엔지니어가 되기 위한 시스템 설계의 모든 것 (지용 탄 (지은이), 나정호 (옮긴이) / 위키북스 / 2025-05-15 / 35,000원) https://feed.kodingwarrior.dev/r/MgKsYb
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=363273501&partner=openAPI&start=api
Rust로 작성한 JPEG XL 디코더, jxl-oxide의 버전 0.12.0을 릴리스했습니다. https://github.com/tirr-c/jxl-oxide/releases/tag/0.12.0
CMYK 프로파일 등 복잡한 ICC 프로파일을 지원하기 위해 기존에 사용하던 Little CMS 2 (lcms2) 에 더해, Rust로 작성된 색 관리 시스템인 moxcms 지원을 추가한 것이 주요 변경사항입니다. CLI 툴의 기본 CMS는 아직 lcms2이지만 --cms moxcms
옵션으로 moxcms를 사용할 수 있습니다.
Gitkraken을 쓰는데 interactive rebase에서 커밋 내용까지 수정하는걸 GUI 내에서 하는 방법을 모르겠다ㅠㅠ
@bglbgl gwyng rebase는 CLI에서 하는게 훨씬 편하더라구요......
@kodingwarriorJaeyeol Lee 타이피스트 레이텍 에디터이지 않았어요? 이력서를 레이텍으로!?!
@ysh염산하 레이텍과는 완전 다른 신택스입니다. 비슷하긴 하지만요. 확실히 조판용 랭귀지로 찍어내니까 포매팅이 너무 깔끔하네요...
Typst로 이력서 쓰고 있는데 너무 재밌다...... 예전에는 Typst가 학습곡선이 있긴 했어서 에라 모르겠다하고 던졌는데, LLM이 알아서 잘 뽑아줌 + Typst 웹 에디터가 자동완성 기능을 잘 지원해주기도 하고 미리보기 기능도 제법 괜찮아서 도파민이 뿜뿜하고 뿜어져나옴
Excited to share that we just released ESMeta v0.6.0! Here's two new features that we're really excited about in this release. Since this is my personal account, I won't be introducing the entire toolchain, but if you're curious, check out on https://github.com/es-meta/esmeta/ (1/n)
- VimConf 제안서 작성
- PyCon KR CFP 자료 85퍼센트 정도 채워넣기 (바이브 코딩 관련)
- Fediverse 앱 개발
- 이력서 작성
- High Performance Browser Networking Part1 완주
- React 공식 문서 완주
???????????? 해커뉴스 100????
Creating your own federated microblog
Link: https://fedify.dev/tutorial/microblog
Discussion: https://news.ycombinator.com/item?id=43780785
Creating your own federated microblog
L: https://fedify.dev/tutorial/microblog
C: https://news.ycombinator.com/item?id=43780785
posted on 2025.04.24 at 05:37:57 (c=0, p=8)
Jaeyeol Lee shared the below article:
간단한 rpmbuild의 사용과 private rpm package 배포
Perlmint @perlmint@hackers.pub
마지못해 패키지를 만들어야 할 것 같은 사람을 위한 설명입니다. 제대로된 패키지를 만들고 싶은 경우에는 부족한 점이 많습니다.
대부분의 경우에는 프로그램을 직접 소스에서 빌드하는 일도 적고, 그걸 시스템 전역에 설치하는 일도 흔치는 않을 것입니다. 좋은 패키지매니저와 관리가 잘되는 패키지 저장소들을 두고 아주 가끔은 직접 빌드를 할 일이 생기고, 흔치 않게 시스템 전역에 설치할 일이 생길 수 있습니다. 어지간한 프로그램들은 요즈음의 장비에서는 별 불만 없이 빌드 할 만한 시간이 소요되나, 컴파일러처럼 한번 빌드했으면 다시는 하고 싶지 않은 프로그램을 다시 설치해야하는 경우도 있을 수 있습니다. 하필 이런 프로그램들은 결과물도 덩치가 매우 큽니다. 이럴 때는 최대한 간단하고 필요한 항목만 패키지에 넣어서 만들어두고 다시 활용하면 좋을 것이기에 이런 경우를 위한 rpmbuild에 대한 나름 최소한의 사용 방법을 정리해봅니다.
rpmbuild
rpmbuild는 rpm-build
패키지로 설치가 가능하며, 나름 단순하게 rpm으로 패키징을 할 수 있는 유틸리티입니다. spec파일에 패키지 정보, 빌드 명령, 설치 명령, 패키지가 포함해야 할 파일 목록을 작성해서 rpmbuild에 입력으로 넣어주면 빌드부터 시작해서 rpm패키지를 만들어줍니다. native 프로그램의 경우 디버그 심볼을 알아서 분리해서 별도의 패키지로 만들어주고, 필요한 의존성도 추정해서 명시해줍니다. 또한, 필요한 경우 하나의 spec 명세로 연관된 서브 패키지도(ex. 실행파일 패키지인 curl과 라이브러리 패키지 libcurl, 라이브러리를 사용하기 위한 개발 패키지 libcurl-devel) 같이 만들 수 있습니다.
작업 환경
rpmbuild는 기본으로 ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,BUILDROOT}
의 경로에서 동작하며 각 경로의 용도는 다음과 같습니다.
SOURCES
에는 압축된 소스코드가 위치합니다.SPECS
에는 패키지 정의인 spec파일을 둡니다.BUILD
밑에서 빌드 작업이 진행됩니다.RPMS
에 바이너리 rpm결과물이 생성됩니다.SRPMS
에는 소스 rpm결과물이 생성됩니다.BUILDROOT
는 패키징 하기 위해 빌드 결과물을 모으는 경로입니다.
spec파일
spec파일은 패키지를 어떻게 빌드하고 어떤 항목들이 패키지에 포함될지, 패키지의 이름, 설명 및 의존성 등의 메타데이터, 패키지 설치, 삭제시의 스크립트를 정의할 수 있습니다. 보통 시작 부분에는 메타데이터 정의로 시작하며, 다음과 같은 기본적인 형태를 취합니다. 나름 단순하게 만든 python을 위한 spec을 예시로 들어보겠습니다.
Summary: Python %{version}
Name: python-alternative
Version: %{version}
Release: 1%{?dist}
Obsoletes: %{name} <= %{version}
Provides: %{name} = %{version}
URL: https://www.python.org
Requires: libffi openssl
AutoReq: no
License: PSFL
Source: https://www.python.org/ftp/python/%{version}/Python-%{version}.tgz
BuildRequires: libffi-devel openssl-devel
BuiltRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%define major_version %(echo "%{version}" | sed -E 's/^([0-9]+)\\..+/\1/' | tr -d)
%define minor_version %(echo "%{version}" | sed -E 's/^[0-9]+\\.([0-9]+)\\..+/\1/' | tr -d)
%description
Python
%package devel
Summary: python development files
Requires: %{name} = %{version}-%{release}
%description devel
Python development package
%prep
%setup -q -n Python-%{version}
%build
./configure --prefix=%{_prefix}
%install
%{__make} altinstall DESTDIR=%{buildroot}
%{__ln_s} -f %{_bindir}/python%{major_version}.%{minor_version} %{buildroot}/%{_bindir}/python%{major_version}
%clean
%{__rm} -rf %{buildroot}
%files
%{_bindir}/python*
%exclude %{_bindir}/idle*
%{_bindir}/pip*
%{_bindir}/pydoc*
%exclude %{_bindir}/2to3*
%{_libdir}/libpython*
%{_prefix}/lib/libpython*
%{_prefix}/lib/python*
%{_mandir}/man1/python*
%files devel
%{_includedir}/python*
%{_prefix}/lib/pkgconfig/python*
%
로 매크로를 사용할 수 있으며, %package
, %description
, %files
같은 매크로는 인자를 주어서 서브 패키지를 정의하는데도 쓸 수 있습니다.
앞선 예제처럼 devel
이라고작성하면 메인 패키지이름 뒤에 붙여서 python-alternative-devel
가 되며, curl
- libcurl
과 같은 경우에는 메인의 이름은 curl
이고, 딸린 패키지를 정의할 때는 %package -n libcurl
과 같이 -n
옵션을 추가해서 지정할 수 있습니다. 몇몇 매크로는 단계를 정의하는 것과 같은 동작을 하며 다음과 같습니다.
%package
유사성을 보면 spec파일의 맨 첫부분은 메인 패키지의 %package
에 해당하는 것이 아닌가 싶습니다. <Key>: <Value>
의 형태로 메타정보를 작성합니다. 대부분은 Key를 보면 무슨 값인지 추측 할 만합니다.
나중에 설명할 %files
에서 나열한 파일을 rpmbuild가 분석하여 자동으로 패키지가 필요로 하는 의존성을 추정해서 추가 해 줍니다. python 스크립트, perl 스크립트, native 실행파일 등을 분석해서 알아서 추가해주는 것 같은데, 경우에 따라서는 틀린 의존성을 추가해주기도 합니다. 이 때는 AutoReq: no
를 설정하여 자동 의존성 추가를 막을 수 있습니다. 이 python-alternative 패키지는 /usr/local/bin/python%{version}
을 설치하는데 아마도 같이 포함되는 python 스크립트에 의해서 /bin/python
을 의존성으로 추정하여 요구합니다. 패키지 스스로가 제공하는 의존성은 미리 설치 되어있기를 요구하지 않게 동작하는 것 같으니 보통은 문제가 없습니다만, 이 경우에는 스스로 제공을 하지 않기 때문에 python을 설치하기 위해서 python이 필요한 경우가 발생하므로 AutoReq
를 껐습니다.
%prep
준비단계로 소스코드의 압축을 해제하고 필요한경우 패치를 적용합니다.
%setup
매크로를 이 안에서 보통 사용하며, %setup
은 Source
에 명시된 파일명의 압축 파일을 SOURCES
밑에서 찾아서 압축을 풉니다. 그리고 동일한 이름의 디렉토리로 이동을 합니다. 앞선 예제에서는 SOURCES/Python-%{version}.tgz
의 압축을 풀고 Python-%{version}
으로 이동을 합니다.
패치가 필요한 경우 보통 이 뒤에 패치를 적용하는 명령들을 추가 합니다.
%build
설정, 컴파일 등을 수행하는 단계입니다. 이곳에서 자주 하는 매크로로 %configure
, %make_build
등이 있습니다. %configure
는 configure를 prefix 및 기타 몇가지 일반적으로 쓰이는 옵션을 추가하여 실행해주며, %make_build
는 make
와 비슷하게 모든 타겟을 빌드 합니다. 예제에서는 둘다 안쓰고 있고, 심지어 실제 빌드는 안하는데 어쨌든 이후의 %install
까지 지나고나서 빌드 결과물만 맞는 위치에 만들어지면 대충 패키지를 만드는데는 별 문제는 없는 것 같습니다.
%install
여기서 빌드 결과물을 설치하는 명령을 작성합니다. 일반적으로 %make_install
을 사용하여 make install DESTDIR=%{buildroot}
와 비슷한 명령을 수행하여 %{buildroot}
밑에 빌드 결과물이 prefix를 유지하여 설치되게 합니다. 예제의
%{__ln_s} -f %{_bindir}/python%{major_version}.%{minor_version} %{buildroot}/%{_bindir}/python%{major_version}
을 보면 추정 할 수 있듯이, 패키지에 포함시킬 파일들을 %{buildroot}밑에 생성을 하면 되며, 추가적인 심볼릭 링크는 패키지를 빌드하는 시점에는 존재하지 않지만, 패키지를 설치하게되면 존재하게 될 %{_bindir}/python%{major_version}.%{minor_version}
를 향하는 것을 %{buildroot}
밑인 %{buildroot}/%{_bindir}/python%{major_version}
에 만듭니다.
%files
패키지에 포함될 파일 목록을 작성합니다. glob 양식으로 파일 목록을 작성할 수 있습니다. %{buildroot}
밑에 생성 되었지만 어느 %files
에도 포함되지 않은 파일이 있는 경우에는 빌드를 실패합니다. 그러므로 %exclude
를 사용해서 명시적으로 제외해줘야 합니다.
기타 매크로
rpmbuild에서는 기본으로 다양한 매크로를 제공하고 있습니다. --define "_libdir %{_prefix}/lib64"
와 같은 옵션을 실행시에 주어서 실행시점에 매크로를 덮어 쓸 수도 있고, 앞선 spec파일 내의 %define major_version
와 같이 다른 매크로와 셸 명령을 활용하여 매크로를 정의 할 수도 있습니다.
원하는 동작을 안하는 것 같은 경우에는 --show-rc
옵션을 사용하여 매크로가 어떻게 정의되어있는지 확인해 볼 수 있습니다.
빌드
rpmbuild의 매뉴얼을 보면 자세하게 나와있지만 가장 단순하게는
rpmbuild -bb <specfile>
로 바이너리 패키지를 빌드할 수 있습다. 이 때, 압축된 소스코드는 미리 SOURCES밑에 두어야 합니다.
private rpm package 배포
직접 비공개 패키지 저장소 프로그램을 실행하여 제공하는 방법도 있겠지만, 최대한 간단하게 할 수 있는 방법으로, rpm관련 패키지 설치 명령이 입력으로 http등의 URL도 받는 것을 활용하여 적당한 장비에서 http로 서빙을 해주면 됩니다.
간만에 필받아서 aider 커꾸(commit 꾸미기) 함.
gum 이라는 훌륭한 쉘꾸 도구 + git pretty format + delta 썼어요
# Define the git log format string with color formatting for better readability
local GIT_FORMAT="%C(bold yellow)Hash:%C(reset) %C(bold cyan)%h%C(reset) %C(dim white)(%cd)%C(reset)%n"
GIT_FORMAT+="%C(bold yellow)Author:%C(reset) %C(bold white)%an%C(reset) %C(dim white)<%ae>%C(reset)%n"
GIT_FORMAT+="%C(bold yellow)Message:%C(reset) %C(bold white)%s%C(reset)"
# Define the date format
local DATE_FORMAT="%Y-%m-%d %H:%M:%S"
# Perform the commit with aider and show a styled commit summary
aider --commit && \
gum style \
--border rounded \
--padding "0 2" \
--border-foreground 39 \
"$(git log -1 \
--pretty=format:"$GIT_FORMAT" \
--date=format:"$DATE_FORMAT" \
--color=always)" && \
# Show detailed changes using delta for side-by-side diff with line numbers
git show -1 --color=always --stat --patch | delta --side-by-side --line-numbers
스프레드시트도 FRP다-
🤔
Protocols such as ActivityPub are widely used and useful, but unfortunately are not the best option when efficiency is important. Messages are in plain JSON format, which is wasteful, and extensions by various implementations complicate the implementation.
XQ's focus on replacing JSON with Protocol Buffers seems misguided. While serialization efficiency matters, ActivityPub's fundamental bottlenecks are in its multi-hop network architecture and request patterns. Optimizing message format without addressing these core architectural inefficiencies is like polishing doorknobs on a house with structural issues. True performance gains would require rethinking the communication model itself.
DuckDB 인 액션 - SQL만 알면 되는 로컬 데이터 분석, DuckDB로 가볍게 시작한다 (마크 니드햄, 마이클 헝거, 마이클 시몬스 (지은이), 김의윤 (옮긴이) / 인사이트 / 2025-05-07 / 28,000원) https://feed.kodingwarrior.dev/r/qmINu5
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=362832219&partner=openAPI&start=api
내가 제일 좋아하는 프로그래밍 문법, "파이프라이닝"
------------------------------
- *파이프라이닝* 은 프로그래밍 언어에서 코드의 가독성과 유지보수성을 높이는 중요한 기능임
- *데이터 흐름을 왼쪽에서 오른쪽, 위에서 아래로 자연스럽게* 표현할 수 있게 해주는 방식
- Rust 와 같은 언어에서 파이프라이닝은 코드의 흐름을 명확하게 하고, IDE 의 자동 완성 기능을 통해 개발 생산성…
------------------------------
https://news.hada.io/topic?id=20473&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
랭체인으로 RAG 개발하기 : VectorRAG & GraphRAG - 현직 AI Specialist에게 배우는 RAG! 파이썬, 오픈AI, Neo4j로 실습하며 개념과 원리를 이해하고, 오픈AI와 딥시크 비교 분석까지! (서지영 (지은이) / 길벗 / 2025-04-25 / 29,000원) https://feed.kodingwarrior.dev/r/9pIEy7
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=362807100&partner=openAPI&start=api
미래의 기술은 'AI'가 아니라 '집중력'임
------------------------------
- LLM은 반복 작업 자동화와 브레인스토밍 등에 유용하지만, *맹목적인 의존은 문제 해결 능력 저하를 초래할 수 있음*
- 특히 *새로운 문제에 대한 LLM의 신뢰도는 낮아* , 인간 엔지니어의 판단력이 중요함
- 구글 같은 검색엔진은 탐색과 활용의 균형을 제공하지만, LLM은 즉시 ‘활용’(exploitation)만 유…
------------------------------
https://news.hada.io/topic?id=20458&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
쿼리 이거 뭔데 왜이러는데
@rangho_220우주스타 아이도루 랭호 🌠 않이 이게 대체 뭔 상황인데여 ㅋㅋㅋㅋㅋㅋ
Vibe 코딩은 저품질 작업에 대한 변명이 될 수 없어요
------------------------------
- *AI 기반 바이브 코딩* 은 혁신적이지만, *품질 없는 속도는 위험* 하다는 경고의 글
"더 빨리 움직이고, 더 많이 망가뜨려라"- 이 실리콘밸리의 오래된 슬로건을 비튼 표현은 최근 엔지니어링 커뮤니티에서 “vibe coding…
"vibe coding, 두 명의 엔지니어가 50명의 기술 부채를 만들어낼 수 있는 방식"
------------------------------
https://news.hada.io/topic?id=20449&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
와, 이거 진짜 짱이다 cc @joonnotnotJoon
바이브코딩을 하면서 느끼는게 몇가지 있는데,
- 내가 뭘 하고 싶은지, 뭘 생각하는지 명확하게 설명할 수 있는 능력이 더더욱 중요해짐.
- 그렇다는 것은 즉, 문서를 작성하는 능력이랑 커뮤니케이션이 능력이 중요함. LLM의 시대에서 Garbage in Garbage out은 절대진리
- 타이핑을 많이 해서 손에 익는 것도 중요하지만, 머리에 들어있는 정보량이랑 계획을 세우는 것도 못지 않게 중요해짐.
- 바이브코딩으로 타이핑하고 디버깅하느라 날아가는 시간이 절약되었다면, 그 시간에 앞으로 어떤 문제를 해결할지 고민하는데 시간을 더 들여야 함. 뭔가를 학습 중인 단계라면, 좀 더 많은 정보량이 머릿속에 들어올 수 있도록 해야 함.
뭐.... 손빠른 사람들의 시대가 갔다고는 하지만, 손빠른 사람들이 바이브코딩을 더 빠르게 하지 않을까 싶기도 하고 단위시간당 정보처리량이 더더욱 속도전에서 영향을 미치지 않을까 싶다. 리터러시는 말할 것도 없다.
@kodingwarriorJaeyeol Lee 참고로 Hackers' Pub은 Fresh 2.0 알파 버전을 미리 쓰고 있습니다. ㅎㅎㅎ Hackers' Pub 코드 참고하실 때 혼란스러우실까봐… Fresh 1.x랑 API가 꽤 달라졌어요.
@hongminhee洪 民憙 (Hong Minhee) 그건 생각보다 병목이 될 것 같지는 않아요. 오히려 ORM이 병목이 아닐까 싶습니다 ㅋㅋ.. Rails/Django 기준으로는 CLI로 들어가서 즉석으로 쉽게쉽게 데이터 조작이 가능했는데, 뭔가... 비빌 수 있는 방법이 당장은 안보이네요...
ttps://github.com/malkoG/pitch-connect/
일단 fedify를 응용한 프로젝트 하나 도즈어어언!!!!!
마이크로블로그 비슷한 기능을 하는건 2분기, 본래 목적에 맞게 기능하는건 3분기로 예상......
ttps://github.com/malkoG/pitch-connect/
일단 fedify를 응용한 프로젝트 하나 도즈어어언!!!!!
Jaeyeol Lee shared the below article:
소리치는 인터페이스
김무훈 @iamuhun@hackers.pub
사용자 인터페이스는 어떤 기능이 있는지 스스로 소리쳐서 알려주어야 합니다. https://www.frontend.moe/posts/screaming-interface/ 이전에 클린 아키텍쳐를 읽다가 얻은 인사이트를 정리하여 공유합니다.
@kodingwarriorJaeyeol Lee 으악! repomix도 솔직히 context window 차력쇼라고 생각합니다. 그것도 또 누가 쪼개주나요? 제발 필요한 context만 딱 골라서 넣어줬으면 좋겠어요.
@minhoryang repomix를 프롬프트로 던져놓고 어떤 기능이 어떤 부분과 연관있는지도 물어보면 툭툭 던져주던데 정제하는 작업 자체도 프롬프트로 되지 않을까 싶은 합리적인 의심이 들어요
터미널에 대해 궁금한 점이 생겨 자료를 찾다 보니 Windows Console Team에서 연재한 시리즈물을 발견했는데, 그 내용이 참 유익했다.
Windows Command-Line Series:
- Backgrounder
- The Evolution of the Windows Command-Line
- Inside the Windows Console
- Introducing the Windows Pseudo Console (ConPTY)
- Unicode and UTF-8 Output Text Buffer
콘솔 앱이 터미널과 입출력을 주고 받는 것을 공기처럼 당연하다고 생각했는데, 그 과정에는 커서 이동이나 개행 등과 같은 제어 문자를 렌더링하거나 SIGINT 같은 시그널을 발생시켜주는 처리가 존재했다. 터미널과 콘솔 앱이 서로 분리된 구조가 과거 물리 터미널로부터 비롯된 것도 흥미로웠고 말이다. 사실 이해 못 한 부분이 아직 많아서 다음에 또 읽어볼 생각이다.
배그로 설명하는 수학, 실험, 과학의 관계
수학: 배그에서 총을 쏠 때 총알 궤적
실험: 현실에서 총을 쏘면 배그와 동일한 총알 궤적이 나올까? 궁금한데? 쏴서 비교해보자!
과학: 실험 몇 번 해보니까 배그랑 현실이랑 총알 궤적이 같더라! 앞으로 총알 궤적 예측할 때는 배그켜서 확인하자!
Gemini 2.5 Pro and Flash now have the ability to return image segmentation masks on command, as base64 encoded PNGs embedded in JSON strings
I vibe coded an interactive tool for exploring this new capability - it costs a fraction of a cent per image https://simonwillison.net/2025/Apr/18/gemini-image-segmentation/
Jaeyeol Lee shared the below article:
웹 접근성이 UI 설계에 중요한 이유
김무훈 @iamuhun@hackers.pub
웹 접근성의 중요성과 WAI-ARIA 표준을 바탕으로 한 의미론적인 UI를 설계한 사례를 블로그에 공개했습니다.
전문성 검증이 필요한 분야이다 보니, 퇴고 과정에 접근성 전문가 @resistan 님의 도움을 받았습니다.
@kodingwarriorJaeyeol Lee 저는 잘 보이는데, 아마 팔로를 안 하셔서 타임라인에 안 뜨는 게 아닐까요?
@hongminhee洪 民憙 (Hong Minhee) 팔로를 하고는 있는데 이상하네요
토요일/일요일 각각 카테고리를 나눠서 작업하게 될 것 같습니다.
토요일
- Fedify를 이용해서 마이크로블로그를 만드는 튜토리얼을 완주하는 것을 도전해보려고 합니다.
이미 postgres 기반으로 데이터베이스 세팅해서 만들고 있는게 있긴 하지만, Vibe coding으로 쭉 이어나가다가 Fedify를 제대로 활용하는 방법에 대해 알지 못한 상황이라 중간에 삑사리나서 헤매고 있는 상황입니다.
큰 욕심은 안내고 천천히 튜토리얼을 정주행하면서 전반적으로 한 사이클 돌고 감을 잡는 것에 의미를 둘 생각입니다. 예제는 sqlite를 쓰고 있지만, 여기서도 배리에이션 안주고 최대한 예제를 충실히 따르면서 완주하고 배리에이션은 천천히 주려고 합니다.
일요일
- 지난주말에 작업했던 뉴스레터 서비스를 마저 작업할 것인데요. django 기반의 개발환경은 이미 세팅 완료 했습니다.
django admin에서 아티클 url을 수동으로 입력하고 langchain 기반으로 요약하는 기능 PoC로 나마 구현해보려고 합니다.
RE: https://hackerspub-ask-bot.deno.dev/message/0196468d-7fd8-7447-b2a6-e974c49e42b8
https://hackerspub-ask-bot.deno.dev/message/0196468d-7fd8-7447-b2a6-e974c49e42b8 살아는 있는데 이게 왜 해커스펍에 안보이지
@kodingwarriorJaeyeol Lee 어떤 연합 동아리에서 장고를 학생들에게 전파했더라고요 viva Django
@z9mb1wwj 너무 특정되네요 ㅋㅋ
학교 캡스톤에서 절반 넘는 팀이 장고를 사용하는 신세카이를 보셨나요? 나도 멋진거 만들고 싶은데 현실적인거 고려하니까 걍 crud 웹앱이 되어버려서 눈물 난다
@z9mb1wwj 훌륭하네요 (Django 좋아하는 사람)
확실히 문서에 잘 정리해놓으니까 AI랑 협업하기가 수월한 것 같음. 개인 프로젝트에도 잘 해놓으면 아주 좋겠구먼
@joonnotnotJoon Use Repomix
llms.txt 는 누가 쪼개주나?
@minhoryang repomix 같은걸 쓴다던가...?
가장 선호하는 JetBrains IDE가 AI 시대에 뒤쳐지고 있어서 안타까웠는데 AI assistant 와 Junie 업데이트로 이제 좀 쓸만해진 것 같다.
여전히 부족한 점이 많기는 하다.
Agent는 느리고, 현재 상태에 대한 가시성이 없어 계속 기다려야할지 중단하고 새로운 세션을 열어야 할지에 대한 판단이 안선다.
prompt를 별도 관리할 수 있게 한 점은 훌륭하나 포맷이나 디렉토리를 유저가 선택할 수 있게 했더라면 더욱 유용했을 것이다. 나는 prompt가 다른 에이전트와 공유 가능하길 원한다.
vscode copilot처럼 Claude로부터 mcp 서버 설정을 불러올 수 있다. 하지만 역시 현재 상태 가시성이 없어 제대로 mcp 서버와 인터랙션이 되고 있는지 확인하기 어렵다.
그럼에도 불구하고 Cursor 나 Copilot에 충분히 대항할만한 업데이트라 생각한다. 앞으로를 응원한다!
https://www.jetbrains.com/ko-kr/junie/
Concurrency in Haskell: Fast, Simple, Correct
Link: https://bitbashing.io/haskell-concurrency.html
Discussion: https://news.ycombinator.com/item?id=43679906
실무에 바로 적용하는 웹 접근성 가이드북 - 접근성의 개념부터 태그 의미 있게 사용하기, WAI-ARIA, 리액트 컴포넌트 만들기까지 (김남경, 곽규현 (지은이) / 제이펍 / 2025-05-01 / 42,000원) https://feed.kodingwarrior.dev/r/PJHgZJ
http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=362558470&partner=openAPI&start=api
멀티패러다임 프로그래밍 - 객체지향, 함수형, 명령형의 통합적 사고로 구현하는 소프트웨어 설계와 구현 (유인동 (지은이) / 한빛미디어 / 2025-04-21 / 38,000원) https://feed.kodingwarrior.dev/r/JDRhIG
http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=362548794&partner=openAPI&start=api
What Every Programmer Should Know about How CPUs Work • Matt Godbolt • GOTO 2024 https://lobste.rs/s/dbkvz5 #video #performance
https://www.youtube.com/watch?v=-HNpim5x-IE
PostHog 뉴스레터는 중소규모 팀 맞춤형(즉, 사이드프로젝트 물주는 사람들한테도 좋은..)으로 좋은 내용이 많아서 새 글이 올라올때마다 여기에도 자주 공유하고 싶음