@bglbgl gwyng 공동체와 잡 스케줄링을 통한 해법은 다 비슷한 것 같아요 😅
bgl gwyng
@bgl@hackers.pub · 99 following · 124 followers
GitHub
- @bglgwyng
@nyeongAn Nyeong (安寧) 이거 세팅하는 Nix 레시피 만들어서 공유하면 좋을거 같네요.
日本의 TypeScript 컨퍼런스인 TSKaigi 2026이 5月 22日(金)–23日(土)에 東京에서 開催된다고 합니다. 함께 가실 韓國 분 계실까요?
一旦 저랑 @2chanhaeng초무 님하고
@kodingwarriorJaeyeol Lee (a.k.a. kodingwarrior)
님이 같이 가실 것 같습니다.
사람들 모아서 협동조합 만들어서 공동출자해서 맥 스튜디오 클러스터 산 다음에 조합원끼리 라우팅 하는 건 어떨까? 🤔 라는 생각을 했는데
한편 1960년대:
@nyeongAn Nyeong (安寧) 오 사람 생각이 다 똑같네요ㅋㅋ
사람들 모아서 협동조합 만들어서 공동출자해서 맥 스튜디오 클러스터 산 다음에 조합원끼리 라우팅 하는 건 어떨까? 🤔 라는 생각을 했는데
한편 1960년대:
해커스펍 기여에 대한 생각...
해커스펍 안드로이드 앱 개발을 바이브코딩의 힘으로 불도저처럼 파바박 진도나가고 있는데, 해커스펍 웹 리뉴얼 버전이 만들어지는 것보다 모바일 앱이 소셜 기능 개발 한정으로는 빨리 만들어지지 않을까 싶은 생각이 든다.
API 뚫고 프론트엔드 붙이는 PR 작업하는 흐름이면 API 뚫은거에 대해서도 리뷰해야하고 UI/UX 리뷰도 들어가야 해서 어떤 기능이 추가되기까지의 주기가 길어질 수 밖에 없다. 안드로이드 앱도 iOS 앱도 GraphQL query/mutation이 추가되기를 기다리는게 병목인데, 웹 UI가 만들어지기를 손빨고 기다리는건 더한 병목이 된다.
하지만, API만 뚫어놓는 PR도 들어갈 수 있다면? 웹 프론트엔드 쪽 UI가 들어가기도 전에 모바일 앱에 해당 API를 활용하는 기능이 들어갈 수 있다. 지금 당장에도 멘션 자동완성 기능을 웹 리뉴얼보다 먼저 안드로이드 앱에 넣어버렸고, 웹 UI는 병렬적으로 리뷰단계에 있다.
사실은 해커스펍 기여하는데 있어서도 어떤 부분이 병목이 되고 있는지도 투명하게 공유될 수 있으면 좋겠다.
@bglbgl gwyng 주변사람들이 쓰면 어떻게 도움이되는거죠 ...
@hwisu김휘수 가령 제가 homebrew 패키징을 안해도 되겠지요..
https://yearit.com/note/vintage
개발자들이 골동품 소개하는 노트입니다.
제가 첫 글로 세진 전자 키보드를 올렸습니다. 대부분의 장비는 모두 버려졌는데, 용케 살아 남았네요.
글을 쓸 때는, 원하는 연도 주변을 클릭하고, 아래 연필을 누르면 됩니다.
vercel에서 skills 패키지 매니저도 내놓았다는데, homebrew도 그렇고 사람들이 foo add bar 로 뭔가 되는걸 너무 좋아하는듯..
zed에서 미묘한 버그를 발견해서 수정을 하려 했는데 빌드하려니까 xcode를 전체 설치해야 해서 안하기로 함
@joonnotnotJoon XCode를 피하시다니 현명하십니다.
Nix 유저들은 왜 자꾸 주변 사람들도 Nix를 쓰게 만드려고 하는지 아십니까? 그게 다 본인의 정신 건강을 위해서입니다.
안녕하세요! 오랜만입니다.
2/2(월)~2/6(금)까지 제주도에 있을 예정입니다.
혹시나 커피챗 가능하신 분 계실까 싶어 글 남깁니다😅
클라우드/데브옵스/보안에 관심있는 개발자입니다.
mail@leetekwoo.com 으로 연락주시면 감사하겠습니다. 좋은 하루 되세요!
GPT한테 질문하면 끝에 이어지는 후속 질문을 제안하는데, 사실 그건 GPT 본인이 하고싶은 이야기란걸 알수 있다
부트스트래핑!...은 아니지만 비슷한 느낌입니다. 이어잇 서비스 사용법을 이어잇으로 만들었습니다. 만들고 보니, 고칠게 한가득이지만, 매는 빨리 맞으라고 배웠습니다.
https://yearit.com/note/tutorial
https://x.com/math_rachel/status/2016232354608800254?s=46&t=I3_HxFRtjlCXCspThn61wA
바이브 코딩하면 긍정적인 몰입이 아니라 어두운 몰입(dark flow)에 빠진다는 이야기. 얼마전에 아르민 로나커도 비슷한 얘길했지. 결과물과는 별개로 바이브 코딩하고나면 머리가 바싹 마르는거 같아서 요즘 힘들다.
@bglbgl gwyng 저 스레드를 로컬에서 Amp Code로 가져와서 이어서 진행할 수가 있는데, 그럼 비공식 API라도 있지 않을까요?
@hongminhee洪 民憙 (Hong Minhee) Enterprise 버전에선 api를 제공한다는 안내가 있어서 일단 공식 api는 없는거 같아요.잠깐 네트워크 탭 훑어봤는데 못찾겠네요.
@bglbgl gwyng 이렇게 해 본 적 있습니다!
@hongminhee洪 民憙 (Hong Minhee) 아쉽게도 저 내용을 API로 긁을 방법은 없는거 같네요ㅠ
@bglbgl gwyng 네, 이론적으로는 그게 가능할 것 같습니다!
@hongminhee洪 民憙 (Hong Minhee) 근데 학습데이터로 쓰려면 세션데이터를 가지고 시스템 프롬프트부터 해서 재현을 할수있어야하는데, 거기까지 될지 모르겠네요. 혹시 ampcode 퍼머링크 남아있는 커밋 예제 있으신가요?
요즘 LLM 어시스턴트로 코딩을 하게 되면서, 작업 과정의 투명성 차원에서 세션 스레드를 공유한 뒤 퍼머링크를 커밋 메시지에 첨부하는 Amp Code의 방식을 OpenCode에서도 써볼까 고민중인데… 문제는 내가 프롬프트를 주로 한국어로 쓴다는 것. 프롬프트를 영어로 써야 할까…? 🤔
@hongminhee洪 民憙 (Hong Minhee) 앗 요러면, 모델들이 퍼블릭 레포에서 해당 퍼머링크를 감지해서 학습 데이터로 쓸수 있겠네요?
클로드 코드나 코덱스 등을 쓰면 작업한 데이터가 다시 각 모델의 학습에 쓰일거고 이러면 성능이 떨어지는 오픈웨이트 모델들이 격차를 따라잡는게 더 힘들어진다. 작업 내용을 export해서 오픈데이터셋 등에 쉽게 기여할 방법이 없을까?
opencode의 플러그인을 만들면 어떨까 생각이 들었다. 그리고 .sessions 같은 디렉토리에 넣어서 git history의 일부로 하고.
클로드 코드나 코덱스 등을 쓰면 작업한 데이터가 다시 각 모델의 학습에 쓰일거고 이러면 성능이 떨어지는 오픈웨이트 모델들이 격차를 따라잡는게 더 힘들어진다. 작업 내용을 export해서 오픈데이터셋 등에 쉽게 기여할 방법이 없을까?
조만간 revive coding 이란 제목으로 글을 써봐야겠다
작년 말부터 내가 코딩을 좋아하나? 잘 하나? 계속 할 수 있나? 의심이 들어서 괜히 다른 일을 열심히 해봤는데... 돌고 돌아 코딩을 너무 좋아한다는 걸 뒤늦게 깨달았다.
나도 몰랐는데 스스로 맘 속으로 시름시름 앓았었나보다. 왜 그런지 고민해보았는데, 퇴사하면서 했던 마지막 업무가 내가 해왔던 일 중 하나를 자동화 하는 것이었다. AI의 발전과 더불어 직업적 회의감을 느꼈던 것 같다. 스스로를 대체하는 직업이 지속 가능성이 있는가? 같은 고민을 했던 것 같다.
근데 농사도 지어보고 커피도 낋여보고 다른 일도 열심히 해봤는데, 퇴근하면 어느샌가 이맥스 켜고 Nix 짜넣어서 빌드 돌리더라. 생각해보면 코딩을 잘해서 시작한 것도 아니었고, 유망해서 시작한 것도 아니었다. 그냥 재밌으니까, "3D 업종"이라는 말을 들을 때부터 해왔다. 근데 이제와서 잘 못하나, 덜 좋아하나 같은 고민으로 그만두기에는 너무 코딩에 깊이 빠져버렸다는 걸, 작년이 끝나며 깨달은 것 같다.
LLM 인권(?) 떡밥 보다가 든 생각인데, 대부분의 사람들이 요즘 LLM에 마음이 있는지 없는지에 이렇게까지 무관시 하다는게 신기하다. 생각해봤자 피곤하고 답도 안나오니까 그냥 생각을 일찌감치 관둔건가? 나는 옛날부터 심리철학에 관심이 많았어서 이와 관련해 생각을 많이 해왔고, 나름대로 마음이 없다는 결론을 내려서 그렇게까지 존중은 안하고 있다. 동시에 마음이 있다면 잘 대해주는게 맞다고 생각하고 그렇게 할 것이다.
I'm uncomfortable with using language that evokes slavery in the context of AI/LLMs. Actually, not just for AI/LLMs, but for any subject at all.
So, I wrote a longer piece on this: https://writings.hongminhee.org/2026/01/ethics-of-small-actions/index.en.html.
AI/LLM에 對해 奴隸制를 聯想시키는 表現을 쓰는 것에 拒否感이 있다. 아니, AI/LLM이 아니라 어떤 對象에 對해서든.
These days, my friends with ADHD and I have started calling our condition AD4K, or even AD8K, because our symptoms feel so severe. 😂
위클리 미팅은 왜 매주하는걸까요? 너무 잦습니다.
오늘 가족과 함께 성당에서 하는 반려동물 축복식을 다녀왔다. 요즘 유행이라더라. 우리 강아지도 축복을 받았다. 나는 신앙이 딱히 없는데도 기분이 좋았다.
기도문 중에 우리 인간은 하느님의 창조물들을 잘 돌볼 의무가 있다 어쩌고 하는 부분이 있었다. 실제로 창세기에 하느님이 동물들을 만듬 담에 인간한테 얘들한테 이름을 짓고 돌보라는 내용이 나온다. 실제론 지구에서 유일하게 일반지능을 가진 종인 인간이 스스로에게 쓸데없이(?) 부여한 책무이다. 어찌보면 오만하다고도 볼수 있겠지만, 이 경우엔 그래도 좀 귀여운 형태인거 같다.
빨리 저런 라이센스가 제대로 잘 만들어져서 내 레포에 적용하고 싶다.
근데 그런 라이센스가 있다한들 AI 기업들이 그걸 존중할까 하는 걱정이 있는데. 한가지 긍정적인건 LLM들이 원본 데이터를 하도 잘 외워서(이게 꼭 긍정적이지만은 않다), 가령 유명한 소설 '위대한 개츠비'를 한번 읊어보라 하면 80% 정확도로 뱉더라 라던 연구가 있다. 그래서 라이센스를 어기고 학습에 사용한 코드가 있다면 검출은 쉬울지도?
모델 프로바이더 입장에서는 시스템 프롬프트에 '코드를 외웠다는 사실이 드러나지 않게하라' 같은걸 넣을수도 있겠다. 근데 또 모델이 나쁜짓을 하게 하면 딱 그지시만 따르는게 아니라 전반적으로 부작용이 생긴다는 연구가 있다(해당 연구에선 프롬프팅이 아니고 파인튜닝이었지만). 그래서 라이센스를 어기고 학습한다음 잡아떼기가 생각보다 어려운 일일수 있겠다.
내 구독 목록을 보는 SubList Me 를 소개합니다.
-
대 AI 시대라, 저도 AI 에이전트와 함께 개인적으로 장난감을 만들어 보았습니다.
-
Cloudflare에서 도메인을 샀고, 서버리스로 Pages와 Workers를 사용합니다.
-
Nextjs, Hono를 사용하고 있습니다.
-
선택UI 는 Installkit에서 영감을 받았습니다.
-
Hackers.pub 에 제일 먼저 공개하고 싶었고, 그러므로, 최초 공개입니다. 😅
-
많이 부족하고 아직 버그나 개선의 여지도 많지만
개밥먹기하면서 수정해 나가려고 합니다. -
소개 페이지: https://www.sublistme.com/
-
서비스 링크: https://app.sublistme.com/
소스는 요기
Been thinking a lot about
@algernonsmall rodent who dislikes browsers very much's recent post on FLOSS and LLM training. The frustration with AI companies is spot on, but I wonder if there's a different strategic path. Instead of withdrawal, what if this is our GPL moment for AI—a chance to evolve copyleft to cover training? Tried to work through the idea here: Histomat of F/OSS: We should reclaim LLMs, not reject them.
Been thinking a lot about
@algernonsmall rodent who dislikes browsers very much's recent post on FLOSS and LLM training. The frustration with AI companies is spot on, but I wonder if there's a different strategic path. Instead of withdrawal, what if this is our GPL moment for AI—a chance to evolve copyleft to cover training? Tried to work through the idea here: Histomat of F/OSS: We should reclaim LLMs, not reject them.
AI 企業이 F/OSS 코드로 LLM 訓練하는 걸 막을 게 아니라, 訓練한 모델을 公開하도록 要求해야 한다고 생각합니다.
撤收가 아니라 再專有! GPL이 그랬던 것처럼요.
訓練 카피레프트에 對한 글을 썼습니다: 〈F/OSS 史唯: 우리는 LLM을 拒否할 게 아니라 되찾아 와야 한다〉(한글).
그래프를 다루는 코드는 안전하게 짜기가 참 어려운데, 그렇다고 또 라이브러리화해서 재사용하기도 어려운거 같다. 둘중 하나라도 잡을 방법이 없을까? 후자에 대한 부분적인 아이디어는 있긴한데..
LogTape 2.0.0 released!
LogTape is a zero-dependency logging library for JavaScript/TypeScript that works across Deno, Node.js, Bun, and browsers.
What's new in 2.0.0:
lazy()for dynamic context:with()now supports values that are evaluated at logging time, not when the logger is created. Child loggers inherit the lazy wrapper, so they always see the current value.- Configuration from files: New
@logtape/configpackage lets you load logging configuration from JSON, YAML, or TOML instead of writing TypeScript code. - Better error logging: Pass
Errorobjects directly tologger.error(err)instead of wrapping them in properties. - Async lazy evaluation: Logging methods now accept async callbacks for expensive async operations.
isEnabledFor()method: Check if a log level is enabled before running expensive computations.- Time-based log rotation: Rotate logs daily, hourly, or weekly with automatic cleanup of old files.
- New integrations: Elysia framework support and log4js adaptor.
회사에선 AI를 쓰기가 왜 이렇게 싫은가? 곰곰이 생각해 봤는데 내 머릿속에 짜야 할 코드가 80%쯤 그려져 있는 상태에서 나 대충 이런 거 만들 건데 키보드 두드리기 귀찮으니까 네가 좀 짜줘 하는 거랑 아직 내 머릿속에도 코드가 30%쯤밖에 없는데 내가 뭘 해야 할지 나도 잘 모르겠지만 일단 네가 시작해봐 하는 거랑은 체감이 다른듯. 플러터도 몇 년 써서 익숙해지고 나면 아 귀찮아 AI가 대신 두드려주면 좋겠어 하게 될까.
자신의 한계점을 모를 때가 더 좋은 것 같다. 현실을 돌파하기 위해선 날 속일 때가 필요한데, 내 한계를 알면 한 풀 꺾이고 시작한다. 어떻게 모른척할까?
어떻게하면 mise 유저들을 Nix로 꼬실수있을까..
LLM한테 하나하나 뭘만들지 알려주기보다, SPEC.md 같은 파일을 만들고 거기를 수정하면 git diff를 떠서 그 변경분을 LLM이 반영하는 워크 플로우를 고민하고 있다. continuous한 AI 번역 솔루션을 생각하다보니 여기까지 왔네.
When building CLI tools, shell completion usually treats each option in isolation. But sometimes valid values for one option depend on another—like branch names depending on which repository you're targeting.
Wrote about how I solved this in Optique, a type-safe CLI parser for TypeScript.
https://hackers.pub/@hongminhee/2026/optique-context-aware-cli-completion
클로드 코드 스킬 잘쓰고싶은데 정말 모르겠다 ㅠㅠ…
- 클로드 코드 스킬이라는게 사실 agent랑 한 끗 차이라고 생각하기는 하는데 agent는 실행되면 눈에 보이는것과 달리 보이지도 않는다.
- 잘 발동도 안하는것 같길래, 무슨 히어로물에서 기술명 외치듯이 쓰다가...
- 이 방법 비슷하게도 사용해보고 있는데 잘안되는것 같기도하다.
- 클로드 코드 공식 문서에서 알게된 사실인데 커맨드 처럼 사용할 수 있기도해서 클로드 코드도 헷갈려하는 느낌이기도…
일단 심기 일전해서 description을 다시 재정비해봐야겠음.
@kanghyojun강효준 저도 아직 본격적으로 쓰고있진않지만, 대충 취지는 prompt를 (아껴써야하는) 컨텍스트에 필요할때 lazy하게 넣자 입니다. 언제 필요한지도 에이전트가 결정하고 알아서 읽습니다.
이번 주말+오늘 했던 약간의 야크셰이빙 공유
- vscode용 GUI git 확장을 구현하고 있다. (하는중)
- Claude Code를 모든 팀 멤버가 사용하기로 결정하면서 기획문서도 일단은 git으로 관리하고 있는데 꽤나 재밌게 일하고 있다. 그런데 프로그래머가 아닌 멤버에게 vscode를 설치해서 마크다운 작성과 Claude Code 클라이언트를 사용 유도했던 것은 괜찮은 접근일 수 있었으나, 결국 좋은 git GUI 플러그인들은 돈주고 쓰긴해야해서 고민이 되었다.
- 요즘 Remote desktop에 연결해서 주로 일을 하고 있는데, git kraken 같은 기존 강자(?)들도 remote에 ssh로 접속해서 하는등의 기능을 제공하지 않고 있다. workaround로 sshfs를 쓸 수 있으나 그 경우 git worktree를 사용하지 못하게됨.
- 건너편 자리 동료가 Intelij에선 다되고 GUI로 하는게 CLI보다 빠르면서 실수도 적지 않느냐라는 얘기를 하면서 놀리는데, 어느정도는 맞는 얘기라고 생각하기도 한다.
- 그래서 만들고 있다(!) 일단 맨날 쓰는 커맨드 위주로 만들고 있고 가장 중요한건 interactive rebase나 interactive add, split commit 같이 GUI에서 더 잘할 수 있는 일들까지 만드는게 목표.
- vscode로 kotlin +Spring 프로젝트 돌리다가, Kotlin 2.3.0 지원이 안되서 Language Runtime Server에 지원하도록 했다. (PR은 안 만들듯..)
- https://github.com/fwcd/kotlin-language-server 은 꽤 오래부터 있던 라이브러리인데, 매번 vscode에서 이거 사용해가지고 kotlin + spring 서버 돌리려니까 실패를 했었다.
- 오늘 Claude Code랑 같이 도전했더니 거의 성공했는데, kotlin-language-server가 kotlin 2.1.0을 지원하고있고, 우리 서비스는 2.3.0이라서 문제가 생긴다는 것을 발견했다.
- 그래서 그냥 간단하게 2.3.0만 지원하도록 하려고했는데, java 버전도 25로 올라갔으므로 기존 19버전에서 25버전으로 같이 올렸다.
- 별 패치는 없었지만 일단 잘 돌아간다.
- 너무 큰 버전업이라서 올리기 어려운것도 있지만, JetBrain에서 드디어 공식 라이브러리를 만들고 있는 중이므로 잠깐 버티는 용도로만 써야겠다. https://github.com/Kotlin/kotlin-lsp
- 참고로 우리 서비스는 gradle 멀티모듈을 사용하는데 이와 관련한 기능이 kotlin-lsp에서 지원되지 않기 때문에 사용할 수 가 없었다.
I've been working on a tricky problem in Optique (my CLI parser library): how do you make one option's value affect another option's validation and shell completion?
Think git -C <path> branch --delete <TAB>—the branch completions should come from the repo at <path>, not the current directory.
I think I've found a solution that fits naturally with Optique's architecture: declare dependencies between value parsers, then topologically sort them at parse time.
const cwdString = dependency(string());
const parser = object({
cwd: optional(option("-C", cwdString)),
branches: multiple(argument(
cwdString.derive({
metavar: "BRANCH",
factory: dir => gitBranch({ dir }),
defaultValue: () => process.cwd(),
})
)),
});Details in the issue:
https://github.com/dahlia/optique/issues/74#issuecomment-3738381049
나는 CLI툴이 MCP보다 LLM에게 나은 도구라고 생각하는데, CLI 툴은 bash로 조합이 되기 때문이다. 즉 코딩이 가능하다. 디렉토리의 파일들의 각 첫 50줄을 읽는 작업은 ls, head, xargs를 조합해 한반의 호출로 가능하다. 그에 반해 MCP의 Read 툴 같은건호출을 파일 갯수만큼 해야한다.
이는 bash가 충분히 좋은 프로그래밍 언어라던가 MCP에 조합성을 추가할수가 없다는 얘기는 물론 아니다.
나는 CLI툴이 MCP보다 LLM에게 나은 도구라고 생각하는데, CLI 툴은 bash로 조합이 되기 때문이다. 즉 코딩이 가능하다. 디렉토리의 파일들의 각 첫 50줄을 읽는 작업은 ls, head, xargs를 조합해 한반의 호출로 가능하다. 그에 반해 MCP의 Read 툴 같은건호출을 파일 갯수만큼 해야한다.
이는 bash가 충분히 좋은 프로그래밍 언어라던가 MCP에 조합성을 추가할수가 없다는 얘기는 물론 아니다.
Have you guys seen this?
여러분, 이거 보신 적 있나요?
마스토돈 스타일의 새로운 커뮤 플랫폼, 커뮹! 모바일 앱이 출시되었어요! 베타 테스트에 참여해주신 여러분, 커뮹!에서 활동해 주시는 여러분 모두 응원해주셔서 감사합니다 🐓📲🥰
iOS: https://apps.apple.com/us/app/commung/id6755352136
Android: https://play.google.com/store/apps/details?id=ng.commu
주말동안 Nix Flake의 워크스페이스 flakespace를 만들었는데, 구현이 너무 Hacky해서 솔직히 내가 만들어놓고도 쓸 맘이 안든다. 잡버그 고치느라 시간을 많이 버릴 걱정이든다. 일단 트라이는 해보겠다만.. Nix Flake가 자체적으로 워크스페이스 기능을 제공했으면 좋겠다.
합주실 창업과 시스템 구축 과정에 대한 후기를 남겨보았습니다.
- 1부: 계획과 준비 과정
- 2부: 예약, 운영 시스템 구현 상세
- 3부: 운영하며 느낀 점들
@bglbgl gwyng 저는 주로 모듈에서 모듈로 코드를 이동시키는 리팩터링을 할 때 그 이력이 버전 관리 시스템에 남지 않는 게 불편하다고 느꼈어요. 저장소를 나누면 한 쪽에서는 코드가 삭제된 걸로 되고, 다른 한 쪽에서는 코드가 추가된 걸로 되는데, 이러면 나중에 이 코드가 예전에 어떻게 작성되었는지 이력을 추적할 때 (커밋 메시지에 잘 적어두지 않는 한) 실마리가 사라지더라고요.
@hongminhee洪 民憙 (Hong Minhee) 오 그렇네요. 그 경우에, 그 두 모듈의 히스토리에 서로의 커밋 해시를 남기면 일단 정보는 다 보존할 수 있는것 같아요. git은 커밋 메시지가 커밋해시를 바꿔서 이렇게 못하지만 그렇지 않은 VCS의 경우엔, 실천은 둘째치고, 정보 보존은 가능해 보입니다.
모노레포를 쓸때 pnpm, cargo 등에 있는 워크스페이스를 많이들 쓴다. 근데 모노레포는 잠깐 제쳐두고, 워크스페이스가 뭐하는 기능일까? 워크스페이스는 여러개의 모듈을 동시에 작업할 때 쓰는 기능이다. 근데 어떤 모듈을 수정할 때 다른 모듈을 같이 수정해야 한다면, 걔들이 잘 정의된 모듈이 맞을까? 커플링이 있다면 그걸 제거하는게 정공법 아닌가?
여러 모듈을 동시에 고쳐야 하는 상황의 존재를 부정할 순 없다. 내 생각에 워크스페이스는 일시적으로 존재해야 하는 것이다. 사실 전혀 관계 없어 보이는 두 모듈을 어떤 뜬금없는 이유로 같이 고쳐야하는 경우도 종종 있다. 그럴때 잠깐 만났다 헤어지면 되는 것이다. 그러니까 워크스페이스는 서로 관계있는(관계 없어야 한다니깐) 모듈들이 천년만년 함께 모여있는 집이 아니라, 몇몇 모듈들이 잠깐 서로 용건이 생겼을 때 모이는 광장이어야 한다. 그런데 대부분의 경우 전자의 용례를 따르고 있다.









