하다하다 Prisma의 Rust PANIC도 다 보는구나
PANIC: called `Option::unwrap()` on a `None` value
억까 그만해!!!
@bgl@hackers.pub · 99 following · 124 followers
하다하다 Prisma의 Rust PANIC도 다 보는구나
PANIC: called `Option::unwrap()` on a `None` value
억까 그만해!!!
...는 TS 단에서 nullability 못잡고 요청보내면 이럴수가 있군요
하다하다 Prisma의 Rust PANIC도 다 보는구나
PANIC: called `Option::unwrap()` on a `None` value
억까 그만해!!!
@bglbgl gwyng 근데 암묵지는 암묵지라서 스스로 인식하기 어렵다고 하더라고요. 암묵지를 이끌어내는 전문가들이 따로 있다고 들었어요.
@hongminhee洪 民憙 (Hong Minhee)
@bglbgl gwyng 지나가다 관심 있는 주제가 보여 의견을 드려보아요. 사실 전문가가 전문성을 발휘하는 데에는 암묵지가 많아도 문제가 없는데, 전문성을 남에게 설명하거나 교육해야 할 때에는 어려움을 크게 높이는 요소가 됩니다. 그래서 홍님이 말씀하신 암묵지를 이끌어내는 전문가들은 인지 작업 분석(CTA) 같은 기법을 사용하기도 하는데요. bgl 님이 멘토링을 하고 계신다는 걸 보면 이미 어떤 식으로든 교육을 위해 암묵지를 많은 부분 명시지화 하셨을 것 같기도 해요. 물론 홍님 말대로 암묵지는 암묵지인 것일 수도 있겠지만요. 😅
@bglbgl gwyng 근데 암묵지는 암묵지라서 스스로 인식하기 어렵다고 하더라고요. 암묵지를 이끌어내는 전문가들이 따로 있다고 들었어요.
@hongminhee洪 民憙 (Hong Minhee) 저도 처음엔 제 스스로 인식못하는 암묵지들이 꽤 많을거라 막연히 기대했었는데요. 멘토링하면서 제가 아는걸 최대한 덤프떠서 전달하려고 노력하는 와중에, 대충 '하스켈 최고! 응애~' 정도로 요약이 되는걸 깨달아버려서 약간 허탈합니다.
Claude야. 오류나면 일단 주석 쳐서 지워버리고, 상수 그냥 다시 정의하는건 어디서 배워왔니
@perlmint 어디겠습니까... (뜨끔)
그동안 멘토링하면서 느낀게, 나한테 암묵지가 별로 없다는 것이다. 전문가는 암묵지가 많다는데, 나는 내 스스로가 매우 간단한 휴리스틱으로 동작한다고 느낀다. 난 전문가가 아닌건가? 내가 그동안 쌓아온 것은 암묵지라기보단 어떤 특정한 사안에 대한 강한 믿음들인거 같다.
bgl gwyng shared the below article:
박준규 @curry@hackers.pub
이 글은 톰 라비의 《어느 책중독자의 고백》을 인용하여 독자가 스스로를 "책중독자"로 진단해볼 수 있는 간단한 OX 테스트를 제공합니다. 모르고 같은 책을 두 번 산 적이 있는지, 표지 디자인만 보고 책을 구매한 적이 있는지 등 10가지 질문을 통해 독자 스스로가 책에 대한 애정을 어느 정도 가지고 있는지 되돌아보게 합니다. 이 테스트는 가벼운 마음으로 자신의 독서 습관을 재미있게 평가해보고, 책에 대한 애정을 다시 한번 확인하는 계기를 마련해줍니다.
Read more →gemini-cli 이것저것 만져보는 중인데, gemini-2.5-pro 의 코드 수정능력이 생각보다 괜찮아서 좀 더 써볼 것 같다. VSCode 의 Gemini Code Assist 보다는 만족감이 더 높다. 다만 이미지 분석 용도는 아닌 것 같고. 코딩 용도로 쓰면 괜찮을 것 같다.
@bglbgl gwyng 생각해보니 그런 것 같습니다. 역시 손발이 튼튼하면 머리가 고생을 안 한다!
@hongminhee洪 民憙 (Hong Minhee) 근데 저도 한 10년전에 파이썬 프로젝트할때 Django 대신 Flask 골랐었는데, 아마 홍민희님 글 읽고 그랬던거 같아요.
애초에 Deno 붙잡고 있는 것도 청개구리 같네…
@hongminhee洪 民憙 (Hong Minhee) 청개구리 스택을 골라놓고 피지컬로 돌파하고 계시는군요
새롭게 다시 태어난, 또 만들어버린 boilerplate. 이제는 진짜 monolithic 하고 Pocket Galaxy라는 이름에 걸맞는 boilerplate입니다.
Django + Vue(Vuetify) 조합이구요, nginx가 이것저것을 다 처리합니다.
백엔드는 /api에서 서빙하고, 기타 기본적인 static 캐싱이나 로깅 등 전부 기초적인건 제공합니다.
간단한 웹사이트 하나 만들겠다는게 어쩌다 여기까지 왔는지.... 암튼 이제는 진짜 최소한의 웹사이트 만들때 뚝딱 하면 만들수 있을것 같습니다 제발...
내부용 툴 만들때 애용해보세요.
오픈소스 소프트웨어라는 소프트웨어 개발 방법은 그동안 대성공을 거두어 오고 있습니다. 여기에는 여러 요인이 있지만, 중요한 요인 중 하나는 이것입니다. 상업 소프트웨어든 오픈소스 소프트웨어든 공평하게 프로그래머의 시간을 들인 만큼 개발된다는 것이지요. 능력 있는 소프트웨어 개발자가 시간을 기여하면 오픈소스 소프트웨어는 상업 소프트웨어만큼이나 빠르게 성장할 수 있었습니다.
하지만 AI 프로그래밍의 시대가 빠르게 다가오고 있습니다. 앞으로 소프트웨어 개발은 프로그래머의 시간만으로 개발되지 않습니다. 상업소프트웨어는 AI 프로그래밍을 적극적으로 사용하여 이전과 다른 생산성으로 개발되기 시작할 것입니다. 상업 소프트웨어와 달리 오픈소스 소프트웨어는 언제나 그럴 수는 없습니다. 프로젝트의 성장과 유지를 위해 훌륭한 프로그래머들의 시간을 들이는 것을 넘어서, 훌륭한 프로그래머들이 시간에 더해 비용까지 들여야 한다면요.
상업 소프트웨어와 오픈소스 소프트웨어 사이의 불균등한 생산성의 시대가 코앞까지 다가오고 있습니다.
문제는 여기서 그치지 않습니다. 오픈소스 프로젝트는 새 기여자를 얻기 더 힘들어져가고 있습니다. 왜냐하면 이제 'good first issue'라는 것은 의미가 없기 때문입니다. 그 정도로 쉬운 일은 새로운 기여자 대신 로봇이 해결할 가능성이 높고, 그 로봇은 새로운 기여자의 로봇일 수도 있습니다. 결국 AI 프로그래밍으로 기여하는 새 기여자는 이 프로젝트에 대해 거의 배우지 못하게 됩니다.
전통적인 오픈소스 생태계에서 'good first issue'는 단순히 쉬운 문제를 해결하는 것이 아니었습니다. 새로운 기여자가 프로젝트의 코드베이스를 이해하고, 개발 프로세스를 익히며, 커뮤니티와 소통하는 법을 배우는 학습 과정이었습니다. 하지만 AI가 이런 단순한 작업들을 대신 처리하게 되면, 새로운 기여자들은 진입 기회를 잃게 됩니다.
AI 프로그래밍은 완벽하지 않습니다. 숙련된 전문가가 숙련된 도메인에서 작업하는 것만큼 잘하지는 못합니다. 하지만 비숙련된 프로그래머가 처음 보는 프로젝트에서 작업하는 것보다는 잘할 때가 많습니다.
그러나 많은 오픈소스 소프트웨어는 바로 이런 비숙련 기여가 성장의 한 축을 차지합니다. 처음 프로젝트에 참여하는 개발자들의 작은 기여들이 모여 거대한 프로젝트가 됩니다. 그리고 이런 비숙련 기여의 일부는 손쉽게 AI가 대체할 수 있는 기여입니다.
다행히도 지금은 AI 프로그래밍의 초창기입니다. Gemini CLI가 무료 사용량을 제공하듯이, 앞으로 여러 회사들이 비슷한 기회를 제공할 것입니다. Claude, ChatGPT, Copilot 등 다양한 AI 도구들이 개인 사용자에게 무료 크레딧을 제공하고 있습니다.
이것은 오픈소스 프로젝트에 기여할 새로운 기회로 삼을 수 있을까요?
주의: 이 글은 아무 프로젝트에나 방문해서 AI로 적당한 코드를 생성한 다음 패치를 보내라는 뜻이 아닙니다.
AI 프로그래밍은 (아직은) 마법이 아닙니다. "이 프로젝트를 겁나 멋지게 만들 기능을 추가해주세요"라고 한다고 해서 그런 패치가 나오는 식으로는 동작하지 않습니다.
가장 좋은 방법은 프로젝트가 AI 친화적으로 준비되는 것입니다. 바로 작업할 수 있을 만큼 잘 정의된 이슈들이 있는 프로젝트라면, "nnn 번 이슈에 대해 작업해 주세요"라는 요청만으로도 누구나 기여할 수 있을 것입니다.
하지만 (적어도 아직은) 그런 프로젝트가 많지는 않을 것입니다.
대신 AI는 인간과 비대칭적으로 잘하는 기능이 있습니다.
이를테면 이슈에 minimal reproducible case가 보고되어 있지만 아직 구체적으로 발생하는 원인이 밝혀져 있지 않은 경우를 생각해봅시다. 버그를 고치는 사람이 해야하는 지루한 작업 가운데 하나는, 이 문제를 어떻게 수정할지를 생각하기에 앞서 이 문제가 어디서 발생하는지 찾는 것입니다. 디버거를 써야 할 수도 있고, 코드에 많은 trace log를 남겨야 할 수도 있습니다.
하지만 AI 코딩 에이전트는 테스트가 재현 가능하기만 하다면, 문제를 발생시키는 정확한 줄을 찾아내는 데 탁월합니다. 지치지 않고 정석적인 지루한 방법으로 꾸준히 로그를 추가하고 테스트를 다시 실행하면서 문제를 찾아내거든요.
어쩌면 문제의 원인이 아주 단순해서, 문제를 바로 수정할 수 있을지도 모릅니다! 그렇다면 패치를 제출해도 좋겠지요. 하지만 바로 수정하기까지는 어렵더라도 괜찮습니다. 버그 리포트와 실제 코드의 문제를 매핑하는 것은 그 자체로 지루하고 시간이 걸리는 일입니다. 이것을 대신하는 것으로도 큰 작업을 대신하는 것입니다.
주의: 모든 프로젝트가 AI 기여를 환영할 리는 없습니다. 충분히 유용하게 다듬어지지 못한 유형의 AI 기여는 스팸처럼 느껴질 가능성이 있음을 유의해야 합니다.
사실 누구나 자기 라이브러리를 뚝딱 만들어낼 수 있게 되었다는 점에서 오픈소스 프로젝트에 참여하는 사람들의 동기와 기여 방식 자체가 크게 뒤바뀔 가능성이 높습니다.
AI 프로그래밍을 누구나 거의 무료로 사용할 수 있는 시대가 올까요? 아마 어느 정도의 사용량까지는 그럴 것입니다. 그것이 얼마나 많은 양일지에 따라서 오픈소스 프로젝트의 미래는 크게 바뀌겠지요.
만일 정말로 AI 프로그래밍을 누구나 무제한적으로 사용할 수 있다면, 대규모가 아닌 대부분의 오픈소스 프로젝트에는 더이상 협력이 필요하지 않을 것입니다. 진정으로 '어떻게'보다 '무엇을'이 더 중요한 시대가 온다면, 프로젝트의 목표를 확고하게 가진 사람이 극한의 완성도까지 프로젝트를 밀어붙이는 편이 훨씬 좋은 결과를 만들겠지요.
그런 시대가 올지 오지 않을지 모르겠습니다. 하지만 그 전까지는, AI 프로그래밍이 누구에게나 주어지는 기회이지만 프로젝트를 단숨에 완성할만큼 주어지지는 않는 시대가 유지되는 동안에는, 다음 세대의 오픈소스 기여의 방법은 AI 프로그래밍 사용량을 기여하는 것이 하나의 큰 축이 될 것입니다.
bgl gwyng shared the below article:
고남현 @gnh1201@hackers.pub
이 글에서는 외부 개발 도구 사용이 제한된 환경에서 데이터베이스를 활용해야 하는 상황에 대한 해결책을 제시합니다. 필자는 Windows 운영체제에 기본 탑재된 ESENT (ESE) 데이터베이스를 활용하여 칼럼, 스키마, CRUD(생성, 읽기, 수정, 삭제) 기능을 추상화하는 API를 직접 구현했습니다. 이를 통해 개발자는 상용 데이터베이스 없이도 어플리케이션 개발에 필요한 데이터베이스 기능을 사용할 수 있게 되었습니다. 제시된 C# 코드 예제를 통해 ESENT 데이터베이스를 초기화하고, 데이터를 삽입하고, 조회하는 방법을 보여주며, 이를 통해 개발 생산성을 향상시킬 수 있음을 강조합니다.
Read more →나는 리액트에서 성능 자체가 떨어지는 부분보다(제대로 체감한적 없음), 성능을 고려해서 컴포넌트를 일부러 나눠야하는 점이 더 맘에 안든다.
클플 뭐 서비스 낼때마다 리전 맨날 Earth 요따구로 해두니까 우주진출 뒤의 클플을 상상하게 됨
아 9월부터 강의를 합니다 (교수가 되었습니다). 무슨 과목을 맡게될지는 모르겠지만 꿈에 그리던 기깔난... 마치 IoT로 도배된 집과도 같은 강의를 해보겠습니다 기대해주세요. 그리고 언젠가 이 경험들이 쌓여서 파이콘에서라도 발표하면 좋겠네요.
@theeluwin제이미 축하드립니다!!
리액트 작업하면 vs code 탭 두 개 한 화면에 브라우저 한 화면에 디자인 전달받아서 하면 figma나 시안 확인용 화면 하나에 모니터 세 개쯤은 있어야 하던데 노트북만 들고 카페에서 코딩하는 건 어떤 종류의 작업일까….
bgl gwyng shared the below article:
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
This post explores the enduring challenge in software programming of how to pass invisible contextual information, such as loggers or request contexts, through applications without cumbersome explicit parameter passing. It examines various approaches throughout history, including dynamic scoping, aspect-oriented programming (AOP), context variables, monads, and effect systems. Each method offers a unique solution, from the simplicity of dynamic scoping in early Lisp to the modularity of AOP and the type-safe encoding of effects in modern functional programming. The post highlights the trade-offs of each approach, such as the unpredictability of dynamic scoping or the complexity of monad transformers. It also touches on how context variables are used in modern asynchronous and parallel programming, as well as in UI frameworks like React. The author concludes by noting that the art of passing the invisible is an eternal theme in software programming, and this post provides valuable insights into the evolution and future directions of this critical aspect of software architecture.
Read more →해커스 펍은 아무래도 어텐션이 낮다 보니 채용 시장 이야기를 조금 해 보자면 (트위터는 왠지 채용 과정에서 아쉬운 경험을 하신 분들도 있을 것 같고, 해서) 새로운 프론트엔드 개발자분이 곧 합류하시는데 채용까지 이르는 데 까지 정말 많은 이력서 스크리닝을 해야 했다. 솔직히 말해 '옛날에 비하면' 뛰어난 개발자분들이 시장에 많은데 (공개적으로 이야기하기는 뭐한) 특정한 스타일의 비슷한 개발자분들이 아주 많다. 괜찮은 사람을 아무나 빨리 뽑는 채용 기조는 아니다 보니 정말 특출나게 뭔가 뛰어난 부분이 있는 분을 찾아야 한다는 압박감이 있었고, 이것때문에 좀 힘들었다.
블로그 글로도 적어봤습니다. 재현 환경 구성 하는거 너무 노가다인데 어떻게 잘 할까..
@bglbgl gwyng 저 관심 있는데 토요일은 좀 어렵고 일요일 가능해요!
@hongminhee洪 民憙 (Hong Minhee) 저도 일요일이 좋아요
주말에 튜사 모각코하실분 있나요~
안녕하세요 이번에 신입 개발자 취업에 성공하게 되었는데 두 회사중에서 고민중입니다.
두 곳 모두 프론트엔드 직무고, 최종 합격은 했는데 방향이 너무 달라서 글 올려봅니다!
많은 의견 주시면 감사드리겠습니다!
@oilpaintingkim 고민되시겠어요. 음… 결국 본인 성향과 어떤 걸 하고 싶으시냐에 따라 다를 것 같은데, 자기 주도적이신 편이라면 첫번째 회사가 좋을 것 같고요. 누군가 가르쳐 주는 사람한테 배우는 걸 좋아하시면 두번째 회사가 좋을 것 같아요.
@bglbgl gwyng 하, 내가 말하고 싶은 욕구 어떻게 참죠?
@curry박준규 대신 해커스펍에 씁시다ㅋㅋ
안녕하세요 이번에 신입 개발자 취업에 성공하게 되었는데 두 회사중에서 고민중입니다.
두 곳 모두 프론트엔드 직무고, 최종 합격은 했는데 방향이 너무 달라서 글 올려봅니다!
많은 의견 주시면 감사드리겠습니다!
뭔가를 잘 설명하는 방법에 대해 생각해봤는데. 일단 내가 어떤 내용을 말하고 싶은 욕구를 참아내야다. 어떤 재치있는 비유를 꼭 써야겠다거나, 아니면 '통찰'을 전달하고 싶다거나.
대신 상대방의 무지에 공감해야한다. 그 무지란게, 많은 경우 진짜 멍청해서 그런게 아니라, 대충 얼개는 파악하고 있음에도 뜬금없는 부분에서 뜬금없는 오해를 하고 있어서 완전한 이해를 막는다거나 하는 경우가 많다. 그래서 그 귀여운 멍청을 함께 디버깅해야한다. 요게 지식뿐만 아니라 공감능력이 필요한 부분.
크롬 개발자 도구의 네트워크 디버거에, 특정 상황에서(제 경우엔 400 Bad Request 에러 발생) 응답 본문이 빈 문자열로 표시되는 버그가 있는거 같습니다???
Arstechnica 에서 이런 글을 보았습니다.
A history of the Internet, part 2: The high-tech gold rush begins
제가 이것저것의 역사에 대하여 흥미가 많다는 말을 여기에 쓴 적이 있던가요? 게임이라거나 컴퓨팅이라거나 ...
사실 대강의 사연을 알고있던 저 2편보다는, 제가 모르던 사연이 더 많은 1편 An Ars Technica history of the Internet, part 1이 더욱 흥미로웠습니다.
그 와중에 글을 쓰는 방식과 디테일들이 마음에 들어서 글쓴사람을 클릭해보니 와우' -' 보물창고가 쨘 하고 나타나는 것이었습니다.
일단 처음에 눈에 띄여서 이 시리즈를 읽었습니다. 재미있었어요.
그래서 ARM의 원래 이름은 Acorn RISC Machine. 도토리 RISC 머신이었던 것입니다 ' -' ...
다음에는 Amiga 의 역사를 읽어볼 생각이에요. 두근두근.
Just learned of a self-hostable ticketing software called Pretix: https://pretix.eu/
It looks extremely full-featured.
미국의 이란 폭격 작전 Midnight Hammer를 "자정의 망치"로 번역했지만 정황을 고려했을 때 "아닌 밤중의 홍두깨"가 더 어울린다.
역시 하스켈을 가르친 덕택일테지...
마지막 멘티가 취직에 성공해서 기분이 좋구만
It's pretty unfortunate that NodeJS still doesn't have Fetch API based servers included while still being the most used JS runtime. This justifies server side libraries keep promoting Express usage by default on docs, which is not good considering that it's a NodeJS specific one.
@bglbgl gwyng 예전에는 MMO에 시즌제를 도입한다는 발상에 거부감이 있었습니다. 워낙에 MMO는 '계속해서 영원히 쌓아 간다'는 생각을 가지고 있었고 또 고객들도 그렇다고 생각했습니다. 그래서 서비스를 시작하는 순간부터 모든 걸 다 짊어지고 그 위에 컨텐츠를 쌓다 보니 너무 쉽게 복잡계 문제로 바뀌어 사실상 제어가 거의 불가능해졌습니다. 그래서 오래된 MMO일수록 시스템 전체를 다 뒤집는 행동을 하는 것이 아닐까 싶습니다. 최근에는 생각이 바뀌어 말씀하신 대로 시즌제? 버전업? 이전 버전 유지? 같은 정책이 정말 필요하지 않은가 하는 생각을 하고 있습니다. 장르가 조금 다르긴 하지만 디아블로 4의 시즌 서버와 영원 서버, 원스휴먼의 대담한 시즌제 운영을 보고 '너무 생각이 경직된 거 아닐까?' 싶었습니다. 말씀에 동의합니다.
@meWoojin Kim 말씀하신 '계속해서 영원히 쌓아 간다'는 감각은 여전히 중요한거 같아요. 시즌제로 하되 시즌을 완전 메타적으로 다루지말고 게임 내적인 설정과 어떻게 엮으면 도움이 되지않을까 싶네요. 또 계속해서 영원히 쌓다보면 예전에 쌓아놓은게 무가치해지는 문제가 있잖아요? 그래서 쌓은게 쌓은게 아닌게 되어버리는데, 시즌 보상을 어떻게 잘 설계하면 이 문제 또한 기존보다 더 잘 해결할수 있지 않을까요?
(돈 안되는 생각 그만 해야되는데, 그냥 놀이입니다.) 세상에 연산자가 (+), (*) 만 존재한다는 가정을 하고,
1 ( _ ) 0 = 1 이 나왔다면, (+)로 유추할 수 있고,
1 ( _ ) 1 = 1 이 나왔다면, (*)로 유출할 수 있고,
0, 1이 마치 ( _ )를 식별Identify해주는 신분증Identity이다란 의미에 따온 건 아닐까 하는 상상입니다. 물론 말씀대로 0이나 1이 어느 하나로 특정해주는 건 아니긴한데요. 뭐랄까 어원, 의미가 이랬던 것 아닌가 정도 생각입니다.
@bglbgl gwyng
@lionhairdino 그건 항등원 말고 다른값들도 다 가능하지않나요? 1 ( _ ) 3 = 4 1 ( _ ) 3 = 3하면 각각 +, *로 유추되겠죠. 똑같은(identical) 값이 나오게하는 값이라는 정의 자체와 부합하는 용어인데 필요이상으로 꼬아서 생각하고 계신게 아닌가 싶네요.
bgl gwyng shared the below article:
洪 民憙 (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 →보통 신분증같이 어떤 대상이 무엇이다를 확인해 줄 수 있는 것들을 Identity라 합니다. 왜 항등이 Identity일까 쓸데 없이 궁금함이 있었는데요. 다음과 같이 상상하면 얼추 그럴 수 있겠다 싶습니다.
더하기 연산자를 <+0> <+1> <+2> 로 정의해서
1 <+0> 2 = 3
1 <+1> 2 = 4
1 <+2> 2 = 5
라고 할 때, 지금 내가 쓰고 있는 더하기 연산자가 어떤 연산을 하는지 알려면 0과 연산을 해보면 알 수 있다.
1 <+2> 0 = 3
결과를 보고, <__> 안의 성질, 즉 연산의 고유 성질을 알아낼 수 있다.
1 <__> 0 = 1 이 나와야 항등원이니, 위의 말이 말그대로 항등원이란 건 아니고,
항등원Identity Element으로 연산의 고유 성질이 뭔지 볼 수 있는 도구가 될 수 있다는 걸 보이는 설명입니다.
이래서 항등원을 Identity Element라고 하는 것 아닌가... 하는 상상입니다.
#항등원 #Identity
@lionhairdino 연산은 정의하려면 아무렇게나 정의할수있고, 같은 항등원을 가지는 다른 연산도 여러개 만들수 있잖아요. 그래서 항등원 자체로 연산에 대해 뭔가 많은걸 알려준다고 보긴 힘들다고 생각합니다. a + b, max(a, b), a + b + ab 모두 0을 항등원으로 갖죠. 그냥 연산을 수행하기 전과 후가 identical해서 identity아닌가 싶네요.
@meWoojin Kim 저는 어떤 형태로든 시즌제를 도입해야한다고 생각합니다. 단순하게 생각해서, 사람들이 옛날에 했던거를 (약간의 변경만 포함해서) 다시 해도 충분한 재미를 느끼는데요. 이 방식을 전혀 활용하지않고 계속해서 새로운 컨텐츠를 제공해내겠다는게 많이 무모해보입니다. 저는 와우 클래식도 아~주 긴 시즌제로 볼수있다고 생각합니다.
소프트웨어 엔지니어링 가이드북 저자 게르겔리 오로스, 켄트백 둘다 페디버스 계정 있는걸 사이먼 윌라이슨 계정을 통해 알았다..... 페디버스에서 네임드 개발자 찾으라면 있긴 있는데, 사혼의 구슬 찾는듯한 이 묘한 기분
15年 전쯤인가, 當時 親하게 지내던 兄이 꽤 아는 게 많은 御宅였는데, 그 影響으로 나도 御宅가 되고 싶다고 생각했었다. 그런데 한 몇 個月 비슷하게 따라하려고 해도 흉내 낼 수가 없더라. 그래서 御宅 되기는 그 때 抛棄했다. 그래도 如前히 좋아하는 作品은 어릴 때 接했던 《エヴァンゲリオン》 시리즈 程度?
@hongminhee洪 民憙 (Hong Minhee)
저도 좀 비슷한 히스토리가 있어요. 중학생쯤 되면서 그동안 봐왔던 포켓몬같은 애니가 유치하게 느껴지고, 좀더 시리어스한 장르를 찾게 되었는데요. 그때 그런 수요를 맞춰주는 에반게리온, 페이트 이런거 재밌게 봤어요. 근데 그러고나서 더 딥다크한 애니를 찾진 않고 대신 마찬가지로 시리어스하고 좀더 핍진성 있는 미드/영드에 안착하게 되더라고요. 지금은 거의 범죄/공포/스릴러 드라마만 보고 살고있네요.
기분 좋은 일. 작업실에 밥 주는 성격 좋고 조심성 있는 고양이가 있는데 이 친구가 동네 최약체라 다른 큰언니한테 맨날 맞고 밥도 뺏기며 마주치면 도망가고 숨어다녔단 말임. 사실 양쪽 다 밥 주고 싶은데 큰언니는 자기가 우리를 다 차지하고 싶어서인지 최약체를 쫓아내려고 해서 맘에 안들었음. 그래서 최약체 전용 밥을 실내에서 따로 주기 시작했는데 최약체도 좀 컸고 또 건강상태가 좋아져서인지는 몰라도 이제 이전처럼 큰언니와 대면할 때 그냥 도망치지 않고 거리를 둔 채 위협하며 대면하는 단계까지 갔다. 오늘은 그 위협에 무서운 큰언니가 아주 천천히 시야 밖으로 사라졌고 그걸 보는데 너무 대견하게 느껴짐. 잘했어 최약체야.
bgl gwyng shared the below article:
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
LogTape 1.0.0 has been released, marking a significant milestone for this zero-dependency logging library designed for the modern JavaScript ecosystem. This release emphasizes API stability and introduces high-performance features such as non-blocking sinks for console, stream, and file logging, along with the `fromAsyncSink()` function for integrating asynchronous logging operations. New sink integrations include packages for AWS CloudWatch Logs and Windows Event Log, enhancing LogTape's versatility. The update also brings a visually appealing console logging experience with the `@logtape/pretty` package, and seamless integration with existing Winston or Pino setups through adapter packages. Key developer experience enhancements include programmatic access to log levels and improved browser compatibility. LogTape 1.0.0 streamlines logging infrastructure with a comprehensive package ecosystem, offering specialized packages for various logging needs. This release provides a stable and mature logging solution, making it easier to manage and optimize logging in JavaScript applications.
Read more →번아웃으로 아직 고생하는 가운데, 갑자기 삘이 와서 지난 1주간 170쪽짜리 소설을 Gemini로 써 버렸다. 소재가 너무 잔혹해서 (R-18G 수준) 그대로 공개하기에는 꺼려진다는 문제가 있을 뿐; 줄거리 자체는 내가 예상한 것 이상으로 잘 나왔는데 퇴고를 열심히 해서 그런 것 같다. 구체적으로 어떻게 된 거냐 하면,
이랬는데, 가장 곤란했던 건 역시 4였다. 왜냐하면 내용이 너무 길어서 텍스트 창에는 한 번에 안 들어가고(...), 잘라서 넣으면 이제 뭔 짓을 해도 앞부분을 까먹어 버렸기 때문이다. 최종적으로 동작한 방법은 소설을 최대 32KB 크기가 되도록 쪼갠 뒤 파일로 나눠어 업로드하고, 업로드가 끝난 뒤에 몇장까지 있는지 확인하고 뒤가 잘린 문장이 있는지 확인해서 뭔가 문제가 있으면 평가를 하지 않고 멈추라고 지시한 것. 혹시 이런 일 해야 하는 분은 참고하시길.
...뭐 이렇게 말하긴 했는데 사실 Flash한테 글 쓰기는 다 맡겼지만 세부적으로는 상당히 손을 많이 거쳤다. 한국어나 영어 번역이나 둘 다 그랬음. 나름 노력한 것도 있고 이 전체 내용을 다시 Flash한테 되먹였더니 찬사 일색(!!!!!)이라 진짠가 싶어서 어디 올려야 할 것 같긴 한데 소재가 소재다 보니 공개도 간단하지 않다는 게 곤란하다. 호옥시 관심 있으신 분께서는 메일로 pdf 파일을 보내 드리겠습니다.
코드에디터의 탐색기 동작을 이렇게 개선하면 좋겠다.
지금 큰 프로젝트에서 이파일 저파일 돌아다니다보면 너무 많은 디렉토리들이 expand되어서 필요한 디렉토리를 찾는게 어려워진다. 이때 expand되어 있는 디렉토리중에, 직접 탐색기안에서 찾아서 들어간 경우가 있고, Go to Definition나 방금 닫은 창 다시 열기 등의 간접적인 방법으로 expand된 경우가 있다. 후자의 간접적인 방식으로 열린 파일이 닫혔을때 이로 인해 열린 디렉토리 중 전자의 방식으로 열리지 않은 것을 자동으로 닫아줬으면 좋겠다. 일종의 가비지 컬렉트?
...인데 https://github.com/microsoft/vscode/issues/150869 똑같은 제안이 있었는데 업보트가 부족해서 나가리됐구나ㅠ