개인적으로 영단어 “side effect”의 가장 적절한 번역은 “부작용”이라고 생각하고, 실제로 프로그래밍 이외의 분야에서는 여전히 이 번역어를 가장 많이 쓰는 것 같은데… 사람들이 “부작용”을 副作用이 아니라 否(?)作用이라고 착각하는 것을 염려해서인지 프로그래밍 분야에서는 “부수 효과” 같은 번역어를 더 많이 쓰는 듯하다. “부작용”의 “부”(副)는 “사장”–“부사장”할 때의 “부”인데 말이다.

bgl gwyng
@bgl@hackers.pub · 81 following · 91 followers
슈티를 함께 만들 팀을 만들고 있습니다. 관심 있으신 분, 또는 잘 모르겠지만 이야기를 나눠보고 싶은 분도 bgl@gwyng.com으로 편하게 연락주세요.
GitHub
- @bglgwyng
shootee
- www.shootee.io
부끄럽지만 typst로 깎은 이력서와 포트폴리오를 공개합니다: https://github.com/gidongkwon/resume
게임 클라이언트에서 웹 프론트엔드로 커리어 전환을 하는 단계에 있습니다.
혹 피드백주실 것이 있다면 언제든지 좋아요...!
직링크는 아래:
이력서 - https://gidongkwon.github.io/resume/resume-gidongkwon.pdf
포트폴리오 - https://gidongkwon.github.io/resume/portfolio-gidongkwon.pdf
요즘 잡일은 AI 시키고, 그사이 어려운 일을 AI랑 힘을 합쳐 해결해야하는 시대인데, 내가 하루종일 어려운일을 할 체력이 없어서 머리비우고 할수있는 잡일도 일정량 직접 한다. 파일 상하차라던가.
10만 토큰 안쪽으로 작은 요약을 만드는건 가능한데, IDE에 내장된 AI로 어디까지 되는지는 모르겠네요. Aider에서 Claude API를 그대로 썼을때 기준으로는 5만 토큰 제한때문에 Repomix 파일을 그대로 맥락에 포함하지는 않았어요.
그냥 Repomix는 웹에다가 던지고, 지시사항을 XML로 받아서 Aider가 순차적으로 실행하는 식으로 돌려왔어서요. Repomix 파일 던져놓고 어떻게 작업을 진행할지 알려달라고 하면 어느 파일의 어떤 부분을 수정하면되는지 잘 뽑아주긴 합니다.
@kodingwarriorJaeyeol Lee (a.k.a. kodingwarrior)
옵션을 바꿔가며 좀 돌려봤는데 제가 툴을 오해했네요. 의미를 파악해서 알아서 인덱스를 만들어주는게 아니군요.
Relay로 offline db sync를 하고 있었을땐, Relay가 Node의 Id나 Edge의 Cursor가 Opaque란 가정을 하고있는게 걸림돌이라고 느껴졌다. SQLite에 저장하려면 어차피 id로 부터 composite key를 구해야하고, 거기엔 또 order도 존재하는데 Relay는 이런데 전혀 무관심하다. 하지만 일반적인 웹사이트 렌더링에는 저런 가정이 전혀 무리가 없다.
@bglbgl gwyng 아뇨. 리포믹스는 ChatGPT, 클로드챗, 제미니챗한테 던지죠. 구조상 파일 자체가 토큰 수가 많아서요
@kodingwarriorJaeyeol Lee (a.k.a. kodingwarrior)
옵션을 조합해서 작은 요약을 만드는게 불가능한가요?
플러터앱을 repomix로 압축해놓고, GPT한테 던져서 소스코드 모양새 슥 보고 앱스토어에 소개할 내용 적어달라고 하니까 지가 알아서 던져주네.... 세상 너무 좋아짐....
@kodingwarriorJaeyeol Lee (a.k.a. kodingwarrior)
지금 .windsurfrules 쓰는거에서 쩔쩔매고있는데 혹시 repomix로 뽑아서 넣기도 하나요?
Signal같은건데 incremental update도 되고 GC도 가능한 무언가를 만들려고 했더니 이런 정의가 나왔다. 혹시 비슷한거 알고 계신분 있나요?
type Dynamic<Value, Delta> = {
read(): Value;
disconnect(): void;
updated: Observable<Delta>;
fork(): Dynamic<Value, Delta>;
};
그동안 Relay를 offline db sync 용도로 쓰고있었는데(첨부터 그러려고 했던건 아니고, API 두벌 만드는걸 피하다보니 그 역할도 떠맡음), 그래서 Relay가 킹론상 좋다는건 아는데 실질적으로 장점을 못누리고 살았었다. 근데 지금 추가하는 기능에서는 Relay를 본래 용도에 맞게 쓰고있는데, 설계 고민도 줄여주면서 코드가 쭉쭉 나온다.
@bglbgl gwyng 아, 전자를 가리키는 거였습니다. 타입을 못 맞춰서 몇 회를 이터레이트하네요… ㅋㅋㅋ
@hongminhee洪 民憙 (Hong Minhee) 아하 제 경험과 비슷하네요. 하스켈에서도 그렇고 타입을 한방에 맞추는건 참 잘하는데, 한방에 맞추는걸 실패했을때 둠루핑으로 쉽게 빠지는거 같아요. 이 현상이 구현이 틀렸을 때보다 타입이 틀렸을 때 더 심한 느낌입니다.
I wrote (with significant LLM assistance, see https://chatgpt.com/share/68143a97-9424-800e-b43a-ea9690485bd8) a proof of concept software tool to verify that a given estimate involving arbitrary positive parameters is true (up to constant factors): https://github.com/teorth/estimates . More discussion at https://terrytao.wordpress.com/2025/05/01/a-proof-of-concept-tool-to-verify-estimates/
Claude Sonnet 3.7이 JavaScript 코딩은 잘 하는 것 같은데, TypeScript 코딩은 별로네…
@hongminhee洪 民憙 (Hong Minhee) 제 관찰과 달라서 의외네요. TS 타입을 맞춰서 짜는걸 잘 못한다는 말씀인가요, 아니면 타입레벨 프로그래밍을 잘 못한다는 말씀인가요? 사실 저는 3.7이 후자를 그 이전의 모델과 달리 매우 잘해서 좀 놀랐습니다.
@bglbgl gwyng 근데 이제 사실 Deno도 Bun만큼 Node.js 호환성을 지원하긴 해요. 하지만 이미 Bun에게 사용자를 많이 뺏기긴 했으니 소 잃고 외양간 고치기긴 했죠.
@hongminhee洪 民憙 (Hong Minhee) 기억이 맞나 모르겠는데, Deno가 npm 모듈중에서 ESM + Only JS는 일찌감치 지원하지 않았나요? 이정도면 나름 최선을 다한건데...
흑흑… 안돼! (Hackers' Pub은 Deno로 돌아가고 있습니다…)
개인적으로는 Node.js 호환성만 좇고 있는 최근의 Deno 업데이트가 (현실적으로 쓰기 편해지는 것은 맞지만) 조금 실망스럽긴 하다. 그냥 처음의 기조 그대로 밀어붙였다면… 뭐, 오히려 지금보다도 덜 쓰였겠지? 어려운 문제긴 하네…
개인적으로는 Node.js 호환성만 좇고 있는 최근의 Deno 업데이트가 (현실적으로 쓰기 편해지는 것은 맞지만) 조금 실망스럽긴 하다. 그냥 처음의 기조 그대로 밀어붙였다면… 뭐, 오히려 지금보다도 덜 쓰였겠지? 어려운 문제긴 하네…
@hongminhee洪 民憙 (Hong Minhee) 저는 에전에 TS 스트립트 용으로 쓰려고 노력했었는데, 클라이언트 라이브러리가 돌아가는게 없어서 포기했었거든요. 그래서 바로 Bun으로 갈아타서 npm 패키지 썼었습니다. 저랑 비슷한 경로로 Deno 대신 Bun 쓰는 분들이 꽤 될거같아요.
그냥 Markdown 파서로 AST 만든 다음에 최상위 노드 기준으로 분할하게 만드는 중… 어떻게 번역 기능 만드는데 쪼개기(chunking) 로직 구현하는 게 제일 오래 걸리냐…
@hongminhee洪 民憙 (Hong Minhee) 오잉? 그냥 원본 마크다운 서식 존중해서 출력해 하면 말을 안듣나요?
취약점 관련 기여는 처음 해봤는데 새롭다
그동안 하던 앱/웹 작업이 아닌 라이브러리 개발이라서 verification이 훨씬 쉬워서 본격적으로 에이전틱하게 쓸수있었다. 테스트코드도 자동으로 쭉쭉 뽑으면서 나는 거의 관리감독만 한다. 에이전틱하게 쓸때의 생산성이 최소 10배는 되는데, 반대로 1/10의 생산성을 가지는 어시스턴트 모드에서의 좋고나쁨이 뭐가 그리 중요할까.
Windsurf 커서보다 불편하다고 계속 불평했는데, 그냥 과제하나 맡기고 에이전틱하게 쓰니까 똑같이 잘한다. AI 에디터에서 UI 개선한다고 아웅다웅하는게 참 부질없는거 같다. 빅테크에서 모델 개선하는동안 가만히 놀수는 없으니까 하는건가...
어릴때 알고리즘 문제풀면서 시꺼먼 터미널만 보다가 저기 있는 예시 따라해서 GUI 프로그램이 뜨는거보고 즐거웠던 기억이 난다.
RE: https://hackers.pub/@aioo/01968b3c-a3cb-78dc-b781-c25e01650ec3
이 사이트가 아직도 살아있구나. http://www.soen.kr/ (구 winapi dot co dot kr)
알고리즘 공부하시는 분과 이야기 나누다가 생각나서 오랜만에 들어가봤는데 여전한 모습이었다. 정올 공부할 때나 윈도 프로그램 개발할 때 자주 들락거리던 사이트인데 반가운 마음...
많은 프로그래머가 아이디어를 시각화하기 위해 화이트보드나 종이에 손으로 필기를 한다. 기존에도 AI가 사용자의 필기를 기반으로 코드를 작성해주는 연구는 있었지만, 필기와 코드가 분리되어 있다는 한계를 벗어나지 못했다. Code Shaping은 단순히 스케치를 코드로 변환하는 툴이 아니라, 필기와 코드 편집이라는 두 워크플로우를 통합하는 툴. 사용자가 코드 위에 자유롭게 필기함으로써 코드를 편집할 수 있다. 코드를 한줄씩 작성하는 것이 아니라, 2차원 평면을 탐색하며 코드를 편집하기 때문에 피험자들이 선형적으로 인식했던 코드 작성을 공간적으로 감각하게 되었다고. https://programs.sigchi.org/chi/2025/program/content/189580
.github/copilot-instructions.md, .cursorrules, .windsurfrules, CLAUDE.md… 이것 말고도 많이 있을텐데, 어차피 들어가야 하는 내용은 다 거기서 거기. 지금은 한 파일에 적고 심볼릭 링크로 같은 곳을 바라보게 하고 있지만, .editorconfig처럼 그냥 어떤 식으로든 표준화가 되었으면 좋겠다.
@hongminhee洪 民憙 (Hong Minhee) 결국 에디터 레벨에서 '.cursorrules나 .windsurfrules 같은 파일을 찾아서 거기에 쓰인 지침을 따라줘'라고 프롬프팅하게 될거 같습니다;;
.github/copilot-instructions.md, .cursorrules, .windsurfrules, CLAUDE.md… 이것 말고도 많이 있을텐데, 어차피 들어가야 하는 내용은 다 거기서 거기. 지금은 한 파일에 적고 심볼릭 링크로 같은 곳을 바라보게 하고 있지만, .editorconfig처럼 그냥 어떤 식으로든 표준화가 되었으면 좋겠다.
.windsurfrules를 채워넣었는데 이게 효과가 있는지 없는지 모르겠다. 혹시 좋은 방법 있나요? 이것도 어떤 잘알려진 방법을 따라 LLM이 쓰게하는거보다 더 잘할 방법이 없을거 같다.
그로센딕이 김장을 할줄 알았다는 이야기는 알고 있었는데(한번 들으면 못까먹음), 이렇게 본격적일 줄은 몰랐다. 한국인인 나보다도 김치에 대해 더 잘 안다.
bgl gwyng shared the below article:
업자를 위한 아주 인포멀한 모나드 설명

lionhairdino @lionhairdino@hackers.pub
1.
함수형에선, 스트림 [1,2,3]
에
(+1)
을 map
해서 [2,3,4]
를 만들고,
(+2)
를 map
해서 [3,4,5]
를 만드는 작업을,
(+2) ∘ (+1)
를 [1,2,3]
에 map
하는 걸로 표현할 수 있어야 한다.
(+1)
, (+2)
, ((+2) ∘ (+1))
함수들은 모두 Int -> Int
함수를 원하는 곳에 넣어 줄 수 있는 함수들이다.
위와 같이, 완벽하게 정보를 유지하진 않지만, 같은 "류"의 작업을 두 번 하는 것을, 한 번 작업하는 것으로 표현할 수 있는 경우도 있다. 예를 들어,
첫 번째 작업으로, "hello"
를 로그로 남기고,
두 번째 작업으로, " world"
를 로그로 남기는데,
이를 한 번의 작업으로, "hello world"
를 로그로 남기는 작업으로 표현할 수 있다.
여기는 로그를 남기는 횟수 정보는 필요 없고, 최종 로그만 필요하다는 인위적 정보 선택이 들어가 있다. 이 인위적 선택(여기선 로그 문자열을 합치는 것)을 수긍해야만 가능하다.
로그를 남기는 작업을 m
이라 부를 때, m a
를 받는 곳에 m (m a)
를 넘길 방법이 생긴다는 뜻이다. 달리 말하면, m (m a)
로 표현되는 작업을 인위적인 절차를 거쳐 m a
로 만들어도, 내가 필요한 정보는 사라지지 않는다는 뜻이다.
2.
무언가가 하나인데, 유심히 보면 하나가 아닌 경우, 이게 바로 모노이드다. mono
는 하나를 뜻하고, ~oid
는 "척"하는 걸 말한다. (예. 인간인 척 하는 휴머노이드) 하나인척 하는 게 모노이드다. 수학 책 앞 부분에서 이항 연산, 결합 법칙, 항등원이 있으면 모노이드라는 설명을 하는데, 그래서 모노이드가 뭐에 쓰는 물건인지는 한참 공부해야 알 게 된다.
(아래는 혼자만의 생각입니다.)
모노이드를 바라 보는 눈 중 하나로, "모든 대상을 이항 연산으로 표현"을 들 수 있다.
0
을 포함한 자연수들 0,1,2,3,...
들은, +
이항 연산과, 이 연산의 항등원 0
이 있으면, 모두 ○ + ○
한 가지 모양으로 표현할 수 있게 된다.
0
-> 0+0
1
-> 0+1
2
-> 0+(1+1) = 1+1
...
모노이드 구조이기에, 어딘가에서 ○ + ○
모양을 원한다면, 0,1,2,3,...
을 모두 넣어 줄 수 있다.
3.
"어딘가에서 m a
를 원한다면, m a, m (m a), m (m (m a)), ...
를 모두 넣어 줄 수 있다."를 위와 비교하며 보자.
위에서 얘기한 인위적 선택 작업을 join
으로 표현하면,
m (m a)
--join--> m a
m (m (m a))
--join--> m (m a)
--join--> m a
...
m
반복 작업을 모두 ○ --join--> ○
모양으로 표현할 수 있을 것만 같다. 그런데, 딱 하나는 표현하지 못한다. join
은 m
이 두 개 있는 걸, 하나로 만드는 작업이라, m
하나를 ○ --join--> ○
로 표현하지 못한다. m
을 join
이 들어간 모양으로 표현하려면, 자연수, +
에서 처럼 0
에 대응하는 것이 필요하다. m
하나를, m
두 개로 만들되, 최종 결과에 영향을 미치지 않는 pure
라는 작업을 만든다. 위 로그 작업을 예로 들면, 로그로 빈문자 ""
을 추가하는 작업을 pure
로 만든다. 그러면 이제야 비로소, 모든 반복된 m 을 join으로 표현할 수 있게 된다
m a
--pure--> m (m a)
--join--> m a
m (m a)
--join--> m a
m (m (m a))
--join--> m (m a)
--join--> m a
...
이제, join
절차가 항상 있는 m a
를 원하는 곳에 m a
도 m (m (m a))
도 넣어 줄 수 있게 되었다.
"hello"와 " world"를 남기던 두 개의 작업 합쳐, "hello world"를 남기는 하나의 작업으로 표현할 수 있게 되었다.
※ 지금 눈에 명확히 보이진 않지만, m 둘을 합성하는 연산을 .
이라 하면, .
만으론 모노이드 이항 연산 역할을 못하지만, join
의 도움을 받고, id 만으론 항등원 역할을 못하지만, pure
의 도움을 받아 모노이드 구조를 이룬다.
결론.
당연히 모든 내용이 담겨 있진 않고, 모나드를 무엇의 모노이드로 보는 내용을 비수학적으로 풀어 봤다. 모노이드는 모두를 하나의 모양으로 표현 할 수 있다는 걸, 보증해주는 거대한 개념이지만, 업자인 나에겐 "그렇게 해도 된다"는 정도의 느낌만 있다. (결합 법칙이 빠졌는데, 나중에 코드를 모듈화 하는 것과 연관지어 보면, 명확한 대응을 알 수 있다.)
모나드는, 조금 다르게 생긴 것을, 당장 필요한 요소만 잘 관리한다면 "같은 걸로 치자"를 멋지게(,어렵게) 형식화한 이론이다.
사족.
저와 대화를 나눠본 분들은 아시겠지만, 제가 비전공자라 용어 선택이나 개념 정의가 매우 인포멀해서 인상을 찌푸리는 경우도 자주 만듭니다. PL 전공자분들처럼 깊숙히 이론을 파고 싶은 게 아니라, 현실에 적용할 수 있을 만큼의 눈만 가지고 싶습니다. 현실을 모델링할 때, "인위적 정보 선택"을 해서 필요한 정보를 남길 수 있는 경우를 알아채는 눈을 길러야 되는데, bind
또는 flatmap
, return
또는 pure
가 있는 구조가 모나드라고만 배우면, 이런 눈을 가지는데 매우 오래 걸리는 것 같습니다.
비전공 업자분이 보셨다면, 얻어 가시는 아이디어가 있었으면 좋겠고, 전공자분이 보셨다면, 인포멀한 부분에 너무 인상 찌푸리지 마시고, 틀린 개념이 있다면, 부드럽게 조언을 해주시면 좋겠습니다.
※ 모나드 용어는 mono
와 triad
에 온 게 아닐까 의심한다는 설이 있습니다.(검색해 보면 근거는 미약해 보입니다.) 모나드는 join
, return
그리고 위에서 명시적 언급은 안했지만, 펑터의 fmap
, 이렇게 세 개 triad의 도움을 받아 모노이드로 만들 수 있는 구조입니다.
※ "정교한" 내용이 아님을 강조하고 선입견이 생기지 않기 위해, 일부러 제목을 달지 않고, 반말(혼잣말)투로 썼습니다.
제목은
- 함수형
- 모노이드
- 모나드
순서 입니다.
휴일인지 깜빡하고 출근해버렸다ㅋㅋ
웹 앱들이 카메라, 위치 등 권한을 어떤 방식으로 요청하고 있는지, 사용자가 이에 어떻게 반응하는지에 관한 연구. 많은 웹 사이트가 사용자에게 아무런 맥락없이 권한을 요청한다. 기본적으로 사용자에게 권한이 왜 필요한지 설명하면 허용률이 높아졌고, 긍정적인 톤으로 권한을 요청하면 허용률이 18% 증가한다. 텍스트만 보여주기 보다는 UI 요소가 있을 때 허용률이 더 높았는데, 오버레이(+41%) 또는 전체화면(+33%)으로 권한을 요청하면 허용률이 늘지만 사용자의 불만족도 높아졌다. https://programs.sigchi.org/chi/2025/program/content/188217
글이 좀 서툴러 보이더라도 ai 안 거치고 직접 쓴 글들이 글 맛이 있어서 좋긴하다.
방금 동탄에서 마을버스타는데 브레이크가 고장나서 다음버스로 갈아탔다. 근데 기사분이 회사쪽 관리자랑 통화하는데, 관리자가 일단 조심해서 차고지로 돌아와보라고 하는것이다. 정 안되면 렉카를 부르자고 했다.
이 무슨 개똘추같은... 안그래도 비까지 오는데 사고나면 누가 책임질건가. 암튼 그 기사님이 무사히 돌아가길 빈다.
In all my years of doing physics, I never figured out the intuitive meaning of the lagrangian (or the action). Why should the difference between kinetic and potential energy play such a prominent role? What separates kinetic from potential energy?
I was always afraid to ask this question, not to sound stupid. 😕
@bglbgl gwyng 이 글은 하스켈 학교에 공유하면 안 되겠군요!(들키니까)
@curry박준규 아마 거기 안계실겁니다ㅋㅋ
멘티를 서울숲하스켈에 보냈었는데, 거기갔다 왔더니 이제 JS 코드짤때 커링을 알아서 잘 활용한다. 사실 내가 그분께 주는 피드백이 '좀더 함수형으로 짜라' 이상도 이하도 아닌데(이거 들키면 안됨), 방법을 하나하나 가르치려니 너무 피곤해서 하스켈을 배우게 시켰다. 리턴 확실하구만.
@bglbgl gwyng 하스켈 툴링에 많이 익숙해져야겠군요 이런,,,
@kodingwarriorJaeyeol Lee 일단은 스타터 템플릿을 믿고, 요상한 이름의 설정들이 손짓하는걸 꾹참고 무시하고 나아가는걸 추천드립니다
@bglbgl gwyng 흠... 고민이 되네요. https://peerdh.com/blogs/programming-insights/using-ghcjs-for-haskell-to-javascript-compilation-in-web-applications-3 이런건 있는 것 같은데, Purescript By Example 같은 리소스는 어디 없나요?
@kodingwarriorJaeyeol Lee 저는 Reflex를 썼었는데 추천하기엔 약간 거시기한 부분이 있습니다(라이브러리의 자체의 문제는 아니지만요). miso가 이쪽으로 가장 인기있는거 같습니다.
@bglbgl gwyng 하스켈에 JS 컴파일도 있었어요????
@kodingwarriorJaeyeol Lee 넵 9.10인가에 추가되었어요. 첨에 궁금해서 Hello World 빌드해봤는데 20MB인가 떠서 휴지통 직행했는데요, GHC의 최근 체인지로그에 많은 개선이 공유되었습니다.
프론트엔드하면서 하스켈 공부한다하면 역시 PureScript로 공부하는게 낫겠군.
@kodingwarriorJaeyeol Lee 근데 그사이 하스켈의 JS 컴파일도 많이 개선되어서, 그냥 하스켈로 하는것도 괜찮다고 생각합니다. PureScript의 특장점이 따로 어떤게 있는지는 잘 모릅니다.
@bglbgl gwyng 네 러스트로 구현 중이에요
@joonnotnotJoon 약간 초치는거 같아서 죄송한데, 파싱 후에도 AST가지고 해야할 잡다구리한 일들이 있단 말이죠. 대표적으로 포매터? 본격적으로 언어를 위한 툴링을 만들려면 그런것들을 만들어야하는데, space/comment preserving을 지원하도록 업그레이드하는게 필요이상으로 고단할수 있습니다. 그래서 파서 컴비네이터 자체가 아니라 언어 개발이 목적이라면 type_sitter 요런걸 고려해보시는걸 추천드립니다. 제가 Rust를 할줄 몰라서 저걸 못썼는데 늘 부러웠어요.
파서 콤비네이터 패키지 이름을 pccc로 정했는데 생각해보니까 이게 개인통관부호의 약자였다
@joonnotnotJoon 무슨 언어로 만드시나요? 러스트?
'모나드는 모노이드 엔도펑터다'가 이제 무슨 뜻인지는 안다. '모노이드'라는게 >>=
보다는 join
을 쓸때 더 와닿는데, >>=
를 join
보다 한 30배는 더 자주 쓴다. 그래서 저 사실을 평소에 잘 느끼고 살진 못하는거 같다. 하지만 가끔 join
으로 타입을 눌러서 맞출때 개꿀따리란 생각이 들긴하다.
자녀계획 3명 정도로 계획하면?
.
.
.
.
.
.
.
.
미래애셋 ^^
Hacker's Pub에 어울리는 추가 기능이 뭔가 생각해봤는데, 프로그래밍 언어를 토픽으로 필터링할수 있음 좋겠다. Markdown의 코드블락으로(python
등) 상당히 커버되지 않을까?
```python``` 같은걸 의미하는 거였습니다
Hacker's Pub에 어울리는 추가 기능이 뭔가 생각해봤는데, 프로그래밍 언어를 토픽으로 필터링할수 있음 좋겠다. Markdown의 코드블락으로(python
등) 상당히 커버되지 않을까?
오픈 엑세스에 올라와 있는 논문들 중 소프트웨어 공학과 관련된 내용들을 편집하여 책으로 낸 것이다. 원문이 논문이라 그런지 몰라도 주장이 그렇게 혁신적이거나 새로운 것은 없다 다만 연구를 통해서 본인들의 주장에 대한 근거를 확보했다는 것이 유의미하다. 바꿔 말해 이 책에서 말하는 것들은 믿고 따라도 되는 어느 정도의 과학적 근거가 있는 이야기들. #독서
소프트웨어 엔지니어링 생산성 돌아보기
http://aladin.kr/p/7zTVn
@hongminhee洪 民憙 (Hong Minhee)
@xiniha Not All Heroes Wear Capes
@bglbgl gwyng 어떤 깨달음을 얻으셨나요!
@curry박준규 아직 소화하는 중입니다... 제품에 녹여보겠습니다
저는 소셜 서비스의 핵심이 ‘좋아요(Like
)’라고 생각합니다. 저는 제가 페이스북에서 처음으로 ‘좋아요’를 많이 받아서 너무 신났던 감정을 잊을 수 없습니다. 그리고 저는 지금도 ‘좋아요’의 노예⋯(사람들은 그런 너를 관종이라고 부른단다.)
@curry박준규 아덕분에 중요한걸 깨달았습니다.