-
결과가 아닌 과정을 즐겨라.Life/Personal Development 2024. 10. 16. 10:06
과정을 즐기면 행복하다. 결과는 순간은 불과하고 대부분은 과정이기 때문에 결과만을 집중하면 기나긴 노력의 과정이 힘들어진다. 2024년 철인3종 경기를 준비할 때, 과정을 즐기는 것이 큰 도움이 되었다. 기본 코스 기준으로 수영, 자전거, 달리기를 각각 한시간 정도를, 다 합하면 대략 세시간을 참아내야 했다. 더 나아가 몇개월간 훈련을 꾸준히 해야했다. 결승점만 생각하면 고통의 세시간이고 힘든 몇개월이겠지만, 땀 흘리는 자체를 즐기니 철인3종의 모든 시간이 다 행복했다. 과정에 집중하면 더 나은 결과를 얻는다. 운동에서 더 나은 기록을 내려면 자세와 동작이 좋아야 한다. 온전히 현재의 자기 상태와 행위에 집중해야 -즉, 과정에 충실해야- 잘못된 자세를 바로잡을 있다. 황영조 선수가 "달리기 자세를 생각하..
-
2023년 회고Life/Personal Development 2024. 1. 1. 10:57
경주마와 차안대 (주도적으로 일하기) 연초에 웨이브에서 티빙으로 이직했다. 웨이브 때 팀원이 10달 먼저 와서 일하고 있었다. 회사 전반적인 적응과 업무를 그 친구(이후 A라 하겠다)가 이끌어주었고, 나는 그에게 많이 의존했다. A는 비교적 규모가 큰 프로젝트를 진행하고 있었다. 나에게 프로젝트의 단위 업무를 부탁했다. 단위 업무라 함은, 일의 방향과 방법, 적절한 부서와 소통은 A가 처리하고 개발(구현) 업무에만 집중하면 되었다. 어찌보면 편했다. 차안대가 씌어진 경주마처럼 A가 그려준 트랙을 따라서 앞만 보고 달리기만 하면 되었다. 3분기 A가 이직을 하면서 그가 진행하던 여러 프로젝트의 대부분을 내가 인계받았다. 곧바로 프로젝트의 현황 파악을 하면서 내 역량이 더 들어갈 수 있었던 미진한 부분, 방..
-
2022년 회고Life/Personal Development 2023. 1. 3. 12:29
희생적 리더십의 성공 2022년 초 공개할 새로운 기능("A+"라고 하자)을 얼마 앞두고 팀원이 긴급회의를 요청했다. 팀원a : 팀장님 A+는 기한 내에 어렵겠습니다. 그냥 A(A+ 아래 단계)만 하시죠. 나 : 목표대로 나가보자. 내가 뭘 도와주면 할 수 있겠어. 팀원a : 플랜 B로 X를 준비해 주세요. 그러면 해보겠습니다. 그는 밤새우다시피 하여 A+를 완료하였다. 지금 돌이켜보건대, 팀원a는 보완재인 X 없이도 해냈을 것이다. 실패에 대한 불안감을 줄여준 것이 도움이 되었을까? (물론 보완재 X는 오픈 초기에 유용하게 쓰였다.) 이 외에도 팀원b가 해결하지 못하는 버그를 밤새우며 같이 디버깅을 해주었다. 평소 같으면 충분히 잘 해낼 일인데, 일정에 쫓기면 잘 보이던 문제도 안 보이게 마련이다. 이..
-
이맥스 멈춤 현상 해결로 알아보는 디버깅 기술Programmer/Emacs 2022. 9. 21. 00:49
이맥스에서 컴파일(M-x compile)이나 검색(M-x rgrep)을 하면 결과를 다른 버퍼(예를 들면, 컴파일 출력은 *compilation* 버퍼)에서 표시한다. 단순히 보여주기만 하는 것이 아니라 오류나 검색 위치로 바로 가기도 지원한다. 오류(또는 검색) 출력 위에 커서를 이동하고 엔터를 누르면 다른 윈도우에 커서가 가르키는 파일을 열고 해당 위치로 이동한다. 문제 없이 잘 동작하는 바로 가기 기능이 갑자기 수 분 동안 멈추는 현상이 발생했다. 이를 해결하지 못하면 개발 생산성에 급격한 저하가 발생할 수 밖에 없다. 따라서 무조껀 이것을 해결하고. 본연의 업무 중 하나인. 개발 업무를 진행해야 했다. 얼마간 멈추고 CPU를 과도하게 사용하는 상황이라면 CPU 프로파일링(profiling)으로 접..
-
poetry 1.2.0의 bash completion 오류와 대응 방법Programmer/Programming 2022. 9. 6. 12:09
poetry version 1.2.0 업그레이드 이후, 터미널을 열면 아래와 같은 오류가 뜬다. line 40: syntax error near unexpected token `clear' line 40: ` (cache clear)' 로그인쉘이 기동할 때, poetry의 bash의 자동 확장 기능 스크립트를 실행하면서 발생하는 오류이다. 문제의 원인부터 말하자면, /usr/local/Cellar/poetry//etc/bash_completion.d/poetry의 bash 자동 확장 스크립트의 case 패턴에 공백이 들어갔기 때문이다. 해결 방법은 이 공백을 처리해주면 된다. 두가지 방법을 제기할 수 있는데, 하나는 패턴을 쌍따옴표(”)로 감싸는 방법과 case "$com" in # ... skip ....
-
암호화 확장자, 인코딩, 표준 관계 정리Programmer/Etc 2022. 5. 26. 23:25
PKI 암호화의 일반적인 개념은 개발자라면 당연히 알고 있을 것이다. HTTPS 서버 설정에서 DRM 등 여러 분야에서 이 개념을 사용한다. 다만, 실무에서는 개념만으로는 충분하지 않다. 실제로 접하게 될 다양한 파일의 확장자와 형식, 내용을 알고 있어야 한다. 확장자와 형식, 내용에 대한 개별적이고 단편적인 정보는 검색하면 찾을 수 있다. 문제는 이렇게 공부하면 외워야 하는 정보의 양만 많아지고 쉽게 잊어버린다. 전체 목록과 각각의 관계를 알면 이해도 쉽고 잘 잊어버리지 않는다. 아쉽게도 한눈에 볼 수 있도록 설명한 문서를 찾지 못하였다. 그리하여 확장자, 인코딩, 표준을 한 눈에 볼 수 있도록 표 하나에 정리해서 공개한다. .DER .PEM .CRT .CER .KEY .P7B .P7C .PFX .P1..
-
이맥스 버퍼, 윈도우, 프레임 그리고 새로운 기능 탭Programmer/Emacs 2022. 5. 10. 21:04
이맥스 27.1의 다중 편집 UX에 새로운 기능인 탭이 포함되었다. 이 글에서는 이맥스의 기존 다중 편집 UX인 버퍼, 윈도우, 프레임에 대해서 간단하게 설명하고, 탭을 사용해 본 후기와 기존 방법과 비교, 개인적인 추천 방법까지 소개하겠다. 버퍼는 이맥스와 외부 I/O를 연결하는 인스턴스로 편집 중인 텍스트, 열려 있는 파일, 이맥스에서 구동한 프로세스 입출력 등과 연결되어 있다. 이 버퍼는 윈도우를 통해서 사용자에게 보여진다. 버퍼가 윈도우를 통해서 안보이더라도 후면에 여전히 존재하며 자신의 기능을 수행한다. 윈도우는 디스플레이 공간(프레임)을 전부 차지하여 하나만 보여질 수도 있고, 타일처럼 여러 개로 분할된 공간으로 표시될 수도 있다. 요즘 UI 개념으로 보자면 화면 분할과 같다. 프레임은 GUI..
-
구루 개발자의 개발 방법Life/Software Engineer 2021. 11. 29. 08:52
나는 실무를 제대로 안해본 사람들이 실무이야기를 하는 것에 대한 거부감을 가지고 있다. 실무는 그냥 천방지축 얼렁뚱땅 빙글빙글 돌아가는 전문가들의 일상인데 조은, John Cho 조은, John Cho(@euncho__) 님 | 트위터 @euncho__ 님 언뮤트하기 @euncho__ 님 뮤트하기 팔로우 @euncho__ 님 팔로우하기 팔로잉 @euncho__ 님 팔로우 중 언팔로우 @euncho__ 님 언팔로우하기 차단됨 @euncho__ 님이 차단됨 차단 해제 @euncho__님 차단 해 twitter.com 조은님의 트윗을 읽고, 구루 개발자에 대한 환상을 가졌던 내가 떠올랐다. 그런 개발자라고 생각되는 분을 만나고 바뀐 내 생각을 적었다. 이 트윗의 반응이 꽤 좋았다. 그리하여 블로그에 옮겨 적는..