@lionhairdino 네, “부작용”을 “부정적인 효과” 정도로 받아들이는 사람들이 많나 싶어요.

lionhairdino
@lionhairdino@hackers.pub · 34 following · 33 followers
I run a blog on the topic of the Haskell language, mainly covering functional programming and Haskell-related discussions. If someone talks about these topics, I act like we're old friends, even if it's our first time meeting.
익숙한 정main, 부sub를 써서 정작용(주작용), 부작용을 같이 보여주면 "부"의 뜻을 인지하는데 도움을 줄 것 같긴 한데, side effect 얘기를 할 때 primary effect를 거론하는 자료도 드물고, 뭔지 궁금해하는 분들도 못봤습니다.(왜 안 궁금해할까요? ㅎㅎ)
어떤 논문은 Side-effect를 Computational Effect 전반을 가리키는 용어로 쓰고, 어떤 논문들은 Effect 중 mutation을 가리키는 용어로만 씁니다. 오래된 논문일수록 전자처럼 쓰고, 요즘은 후자로 자리잡아 가고 있다고 합니다.
그동안 본 번역은 부작용, 부수 효과 정도고, 그 외 생각해 본 번역은 "부차 효과"정도가 있습니다.
맥락에서 특별히 튀지 않으면, 저는 문장에서, 원어에 바로 연결되지 않는 단점이 있긴 하지만, 의미 전달에는 유리하다 생각하는 "비순수 효과"를 쓰기도 합니다. @hongminhee洪 民憙 (Hong Minhee)
개인적으로 영단어 “side effect”의 가장 적절한 번역은 “부작용”이라고 생각하고, 실제로 프로그래밍 이외의 분야에서는 여전히 이 번역어를 가장 많이 쓰는 것 같은데… 사람들이 “부작용”을 副作用이 아니라 否(?)作用이라고 착각하는 것을 염려해서인지 프로그래밍 분야에서는 “부수 효과” 같은 번역어를 더 많이 쓰는 듯하다. “부작용”의 “부”(副)는 “사장”–“부사장”할 때의 “부”인데 말이다.
"부작용으로 좋은 일이 생기지"가 어색한 느낌이라서, 번역어로 선택할 때 좀 고민되긴 합니다. @hongminhee洪 民憙 (Hong Minhee)
부끄럽지만 typst로 깎은 이력서와 포트폴리오를 공개합니다: https://github.com/gidongkwon/resume
게임 클라이언트에서 웹 프론트엔드로 커리어 전환을 하는 단계에 있습니다.
혹 피드백주실 것이 있다면 언제든지 좋아요...!
직링크는 아래:
이력서 - https://gidongkwon.github.io/resume/resume-gidongkwon.pdf
포트폴리오 - https://gidongkwon.github.io/resume/portfolio-gidongkwon.pdf
6분 40초짜리 음성 파일이 생성됐다. 자기 전에 잠깐 들어볼까! https://notebooklm.google.com/notebook/cf426268-caad-4b62-afc6-0b89795ab9d3/audio
와, 매우 자연스럽네요. 말투도, 번역도 굉장합니다. @holloJoonkyu Park
오오. joonkyu.site !!
@lionhairdino 다행히 여건이 괜찮아서 모두 출석할 수 있었습니다 ㅋㅋ 하스켈 재밌더라구요
앞으로 하스켈 얘기하며 친하게 지내요~~ @nyeongAn Nyeong (安寧)
프롬프트가 가문 대대로 전수하는 비기가 되는 건가요
많은 프로그래머가 아이디어를 시각화하기 위해 화이트보드나 종이에 손으로 필기를 한다. 기존에도 AI가 사용자의 필기를 기반으로 코드를 작성해주는 연구는 있었지만, 필기와 코드가 분리되어 있다는 한계를 벗어나지 못했다. Code Shaping은 단순히 스케치를 코드로 변환하는 툴이 아니라, 필기와 코드 편집이라는 두 워크플로우를 통합하는 툴. 사용자가 코드 위에 자유롭게 필기함으로써 코드를 편집할 수 있다. 코드를 한줄씩 작성하는 것이 아니라, 2차원 평면을 탐색하며 코드를 편집하기 때문에 피험자들이 선형적으로 인식했던 코드 작성을 공간적으로 감각하게 되었다고. https://programs.sigchi.org/chi/2025/program/content/189580
쉽게 접하지 못하는 정보들, 요약과 함께 알려주셔서 감사합니다. @parksbSimon Park
그로센딕이 김장을 할줄 알았다는 이야기는 알고 있었는데(한번 들으면 못까먹음), 이렇게 본격적일 줄은 몰랐다. 한국인인 나보다도 김치에 대해 더 잘 안다.
누군가 검색해보니 악랄하게 수학한 그로텐디크라고 나오네요. ㅎ. 함수형 프로그래밍을 파고 파고, 파다 보면 연결 고리가 있을지도 모르겠는 분이네요.@bglbgl gwyng
휴일인지 깜빡하고 출근해버렸다ㅋㅋ
ㅋㅋㅋㅋ
웃음만 남기는 댓은 잘 안다는데, 웃음만 나와서요
@bglbgl gwyng
업자를 위한 아주 인포멀한 모나드 설명

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의 도움을 받아 모노이드로 만들 수 있는 구조입니다.
※ "정교한" 내용이 아님을 강조하고 선입견이 생기지 않기 위해, 일부러 제목을 달지 않고, 반말(혼잣말)투로 썼습니다.
제목은
- 함수형
- 모노이드
- 모나드
순서 입니다.
이래서 이 분 강의를 좋아합니다.
음성 채팅하는 곳인가요? @alternativeAlternative_Talk
배포distribute 配布 (유사어 배치排置: 일정한 간격으로 벌여 놓다)
신문이나 책자 따위를 널리 나누어 주다
배치deploy 配置
군대를 전장에 배치하듯, 비즈니스 서비스에서 서버를 현장에 배치한다. 실전을 뛰게 배치한다.
"새로 만든 앱을 배치해서 사용자에게 배포했어"
프론트엔드하면서 하스켈 공부한다하면 역시 PureScript로 공부하는게 낫겠군.
제가 비슷한 테크를 타고 있는데요. purescript에서 할로겐 집적대다 대대적으로 ghcjs 변화가 있다해서 하스켈로 왔습니다. 근데 ghcjs 설치나 각 종 예시때문에 닉스 공부 중입니다. 개미 지옥 ㅎㅎㅎㅎ@kodingwarriorJaeyeol Lee
이런 용어집도 있었구나! 이거 설마 예전에 봤던 neo4j 책에서도 이 용어집을 참고했으려나!
여기 가로 스크롤 생깁니다~~ ㅎㅎ 준규님 가로 스크롤 보고좀 하겠습니다@hongminhee洪 民憙 (Hong Minhee)
'모나드는 모노이드 엔도펑터다'가 이제 무슨 뜻인지는 안다. '모노이드'라는게 >>=
보다는 join
을 쓸때 더 와닿는데, >>=
를 join
보다 한 30배는 더 자주 쓴다. 그래서 저 사실을 평소에 잘 느끼고 살진 못하는거 같다. 하지만 가끔 join
으로 타입을 눌러서 맞출때 개꿀따리란 생각이 들긴하다.
좀만 빨리 보셨다면, 저 안쫓겨 났을지도 모를텐데요...ㅋㅋ
@hongminhee洪 民憙 (Hong Minhee)
@xiniha Not All Heroes Wear Capes
힘들게 일하는데, 망토정도는 입어줘야 폼도 나고 티도 나지 않을까요. @bglbgl gwyng
@hongminhee洪 民憙 (Hong Minhee)
@xiniha
자녀계획 3명 정도로 계획하면?
.
.
.
.
.
.
.
.
미래애셋 ^^
@lionhairdino HLS 버전도 고정하고 쓰시면 됩니다
요즘 한참 닉스보고 있는데, 안그래도 닉스로 고정해보려고 합니다.
생각보다 훨씬 자세하게 명문화된 규칙이 있군요.! 공부하면서 이 예시 저 예시 보다 보면, 버전이 널뛰고, 그러다 보면 HLS 지원이 오락 가락하게 되어, 사실 각 잡고 프로젝트에 쓰는 것 아니면, 의존도가 높지 않게 되어버리더라고요. 그 이유가 버전 지원 때문이란 생각에, 미리 HLS 친화적인 버전을 골라낼 수 있나 했는데, 그러긴 어려울 것 같네요.
최신 HLS(Haskell Language Server) full 지원하는 GHC 버전은
9.12.2
9.10.1
9.8.4
9.6.7
9.4.8
라는데, 무슨 기준으로 살리고 버리고 하는 걸까요? 전혀 패턴이 안보이네요.
관리자분들이 쓰는 버전들 아닌가 몰라요.ㅎ
@ailrunAilrun (UTC-5/-4)
각 버전대의 최신 버전인가 보네요.
최신 HLS(Haskell Language Server) full 지원하는 GHC 버전은
9.12.2
9.10.1
9.8.4
9.6.7
9.4.8
라는데, 무슨 기준으로 살리고 버리고 하는 걸까요? 전혀 패턴이 안보이네요.
관리자분들이 쓰는 버전들 아닌가 몰라요.ㅎ
@ailrunAilrun (UTC-5/-4)
링크 첨부때문에 가로 스크롤이 생겼었는데 언제 시라졌데요.
@bglbgl gwyng
@lionhairdino 헤이즐넛의 나무, 그러니까 유럽개암나무가 이름의 어원이랍니다.
그냥 이름 뜻 얘기하시는 거구나. 하고 넘어갔는데 생각해보니 bgl님 까먹지 말라고 살 붙여주신 거군요. 친절도 하셔라 ㅎㅎ@ailrunAilrun (UTC-5/-4)
@bglbgl gwyng
@bglbgl gwyng
@lionhairdino 헤이즐넛의 나무, 그러니까 유럽개암나무가 이름의 어원이랍니다.
HLS의 윙맨 같은 기능을 전면에 특징으로 내세우는 건가요? @ailrunAilrun (UTC-5/-4)
@bglbgl gwyng
@lionhairdino
@bglbgl gwyng 너무 큰 비약인지는 모르겠으나 보면서
https://hazel.org/build/dev/ 이 떠오르네요. 편집기가 code를 맘대로 바꾼다는 측면에서 말이지요.
@lionhairdino 들여쓰기를 제외한 토큰을 구분하는 용도로 쓰이는 공백을 그냥 공백이라고 했네요.
들여쓰기가 물론 가독성은 좋지요. 근데 편집할때 불편을 주는 문제가 있고, 에디터가 좀 힘을써주면 양쪽의 장점을 다 취할수있다는 얘기였습니다.
에디터와 언어 문법 관계 얘기를 보다보니, parinfer 가 생각나네요. 이런 게 좀만 더 일찍 나왔더라면, 제가 Lisp를 지금보다는 잘하고 있었을지도 모르겠습니다. @bglbgl gwyng
ai코딩에선 리터럴 하스켈이 다른 역할을 할 수도 있지 않을까 싶어요. 의도를 써놓은 풍부한 자연어 주석을 보고, 맞는 코드가 나왔는지 자동 검증하는 상상을 해봤습니다.
엎드려자면 가슴쪽이 아프고, 누워서 자면 등이 아프고 으악
전 온찜 신봉자라 삐끗하면 2~3일 달고사는데요. 근육 문제고, 붓기가 없다면 온수담는 팩 하나 사서 틈틈히 온찜 해주면 좋습니다. 나이상 근육 문제일 것 같긴한데, 그래도 날짜가 길어지고 있으니 병원가셔야겠습니다. @kodingwarriorJaeyeol Lee (a.k.a. kodingwarrior)
@hongminhee洪 民憙 (Hong Minhee) 약간 딴 얘긴데, 저는 들여쓰기가 그냥 안좋은 문법요소 같습니다. 코드의 복붙을 unreliable하게 만들어버려서요. 반대로 space sensitive한 문법은 괜찮다고 생각합니다. 복붙시 문제가 생겨도 스페이스 한번 치면 해결되니까요. 들여쓰기 대신에 {} 쌍을 쓰게 만들되, 에디터에서 보여줄때 어떻게 알아서 예쁘게 보여주는게 낫다고 생각해요.
들여쓰기와 공백에 민감?한 게 다른 건가요?
하스켈은 들여쓰기가 슈거 문법 같은 거라 들여쓰기 없이 괄호와 세미콜론으로 작성할 수 있는데, 익숙해서 그런가 들여쓰기가 더 가독성이 높은 느낌도 듭니다. @bglbgl gwyng
디자인툴을 만들어서 공개를 하다니, 의외의 행보입니다. 최근 우수 인력들이 많이 모이고 있다는 소식을 종종 들었는데요. 너무 우수한 인력들이 모여서 "남는 재능"이 생겼나 상상될 정도로 의외네요. ㅎㅎ @hongminhee洪 民憙 (Hong Minhee)
서울 하스켈숲 워크숍 완주했습니다...! @eunmin 님의 친절한 설명과 세심한 준비에 감사합니다 🙇
이야, 개근상에 케익까지! 은민님이 준비 많이 하셨네요. 직장인이 한 번도 안 빠지고 하기 힘들겠다 싶은 스케줄이었는데, 여튼 축하드립니다~ @nyeongAn Nyeong (安寧)
리액트 공식 문서가 너무 잘 만들어져 있어서 정주행하면서 감탄하는중... 와...
나의 퀀트 투자 3개월 수익률... 첫 1개월은 10~15% 정도의 양호한 수익률을 유지하다가 트럼프가 무역전쟁을 시작하면서 나락에 빠졌다. 이런 상황에도 용기를 갖고 다음 3개월을 준비해야 한다...
투자금이 많이 물려있으면, 짧은 기간에 공포스러운 수치네요.@parksbSimon Park
Mastodon 호환 API를 구현할 계획에 대해 문의 주시는 분들이 종종 계십니다만, 아마도 Hackers' Pub은 앞으로도 Mastodon 호환 API를 구현하지는 않을 것 같습니다. 개인적으로 Mastodon 호환 API가 사용성이 많이 떨어진다고도 생각하고, 이미 Hackers' Pub 고유의 기능들 가운데 Mastodon 호환 API로 표현 불가능한 것들이 좀 있기 때문입니다.
장기적으로는 GraphQL을 이용해 웹 프런트엔드도 크게 개선하고, 모바일 앱까지 만드는 걸 염두에 두고 있습니다.
어떤식으로 성장할지 "시리즈 드라마" 보듯 보고 있습니다. 현재까지는 남들한테 소개할 만큼 재밌네요.@hongminhee洪 民憙 (Hong Minhee)
@lionhairdino 예를 들면 "다양한 시선에서 코드를 이해한다"가 지금 공개한 연작의 2 편에서 논건 대수를 통한 계산의 이해와도 밀접한 연관이 있다고 읽혔습니다. 원래 두번째 주제에 대해서 쓰다가 방향성을 틀었네요.
"여론에 따라" 함수형 추상 기계 관련 글을 쓰고 있었는데, 쓰다 보니 논리와 low-level data representation 이 보였다는 핑계 말씀이지요? 생각할 엄두조차 내지 못했던 주제들, 다 이해는 못하지만 감사히 보고 있습니다. SPJ, 와들러 교수님 등의 교양 수준 강의 활동들을 보다 보면, 왜 국내 교수님(고인물-댓가없이 입문자들에게 도움을 준다는 의미)들은 없나 아쉬운데, 엘룬님 글로 조금 달래지네요. @ailrunAilrun (UTC-5/-4)
에디터의 플러그인도 Nix로 관리하고 싶다. 에디터 쪽에서 지원을 해야하는데, 누군가 총대매고 해줄법도 한데...
빔으로 넘어 오신다는 말씀인가요?ㅎㅎ@bglbgl gwyng
말씀하신 것들을 보아 몇몇 분들은 실제 내용 측면에서는 논리와 저수준 자료표현에 더 관심을 가질 분들이 있는 것 같아 전자를 (먼저?) 다뤄보도록 하겠습니다. 2 편으로 나눠져 올라갈 예정입니다.
ㅋㅋㅋ 뭔가 “답정너" 느낌이 있는데요. 댓글 여론과 다른 ... 농담입니다. 전혀 불만 없이 기다리고 있겠습니다.@ailrunAilrun (UTC-5/-4)
@parameterfreak 예전에 정리해둔 아래 글을 참고해 보셔요!
처음 보는 분들이 직관적으로 알만한 이름짓기가 필요한가 싶습니다. ”연합 타임 라인 비노출“ 같은 지관적 이름이면 좋겠는데, 말이 이쁘지는 않네요@hongminhee洪 民憙 (Hong Minhee)
@parameterfreak
누가 야심한 시각에, 운동량 떨어지는 직업군이 바글 바글한 곳을 맛난 사진으로 채워놨네요.
@lionhairdino 그... 침대에 엎드려서 자서 그렇다네요...
그럼, 더더욱 운동하라는 알람이 울린 거로 봐야겠습니다. 그 정도 "행위"로 그 정도로 "버벅"일 나이는 아직 아닙니다. @kodingwarriorJaeyeol Lee (a.k.a. kodingwarrior)
완전한 검정 배경에 하얀 글자는 대비가 높아, 눈에 잔상이 남습니다. 눈의 피로를 덜기 위해 다크 모드를 주 톤으로 선택했다면, 대비를 적당 수준으로 낮춰야 합니다. 나이가 올라갈 수록 영향을 받습니다. 모르시는 분들이 많은 것 같습니다.
@lionhairdino 엎드려자서 그렇다네요...
고3이십니까, 이젠 그리 자면 안됩니다. @kodingwarriorJaeyeol Lee (a.k.a. kodingwarrior)
저는 해커스펍에 아직 따로 알림이 없으니, 자주 리프레쉬하면서 새 글이 있나 보는데, 다른 분들도 다 그렇게 하고 있는 건가요?
논리와 low-level data representation을 다뤄볼지, 아니면 함수형 추상 기계들(Turing Machine같은 것이지만 함수형을 위한 것들)을 다뤄볼지
둘 다 보고 싶지만, 하나만 골라야 되면, 함수형 기계 고르겠습니다. 독자 한 명의 한 표입니다. @ailrunAilrun (UTC-5/-4)
@lionhairdino 목도. ... 약간 뻐근하네요 크흡
해당 근육을 쓰는 일이 없었는데, 뻐근하다면 몸살이거나, 어딘가에서 신경을 누르거나 그럴 수 있는데요. 목 스트레칭 자주 해주고, 목 주변 잘 풀어주세요. 전 당연히 의료 지식은 없고요. 하도 개발자 직업병 리스트에 있는 거 다 거쳐가고 있어서리... @kodingwarriorJaeyeol Lee (a.k.a. kodingwarrior)
일어날때마다 늑골 주변 근육 중심으로 압박 받는것 갗은데 이거 무슨 증상이지 흠
목은 괜찮은가요. 계속되면 꼭 진료 받아 보시고, 운동하라는 강한 신호 떨어졌나 본데요. @kodingwarriorJaeyeol Lee (a.k.a. kodingwarrior)
앱 디자인을 참고하려고 쓰레드를 깔아봤는데, 볼수록 디자인이 참 좋다. 문외한이 봐도 뭔가 깔끔하고 고수들이 만든게 느껴진다.
근데 그 아름다운 디자인위에 뜨는 컨텐츠들기 그렇게 소음공해일수가 없다. 뭐 틱톡은 어처구니없어서 웃기기라도 하지 이건 정말...
한 3~4일 관심 없음, 관심 없음 열심히 눌렀더니, 그 후로 개발 얘기만 70~80프로 뜨는 것 같아요.
이 때가 좋았지. 신선한 내용들이 가득한데, 글도 잘 써놔서 이해도 곧잘 가고...