아래 글은 2017년에 제 브런치에 올렸던 글을 기록 차원에서 블로그로 옮긴 글입니다.
개인 프로젝트를 어떻게 진행해야할지, 기술 블로그를 어떻게 진행해야할지 여쭤보시는 분들이 가끔 계신다.
outsider님이나 진유림님 같은 분들이면 모를까 내가 해드릴 이야기가 있을까 싶다.
그래서 조언이라기 보다는 내가 어떻게 개인 프로젝트를 진행하고, 블로그 글감을 구하는지 주절주절 쓰려고 한다.
사실 헛소리에 가깝다
부끄러움이 많아서 남들한테 얘기는 잘 안하지만, 난 정말 정말 착각쟁이이다.
뭔가 되게 사소한거 하나를 해도
이걸로 인해서 나에게 어마어마한 일이 벌어지지 않을까!?
라는 상상을 자주 한다.
다음은 최근에(2017년 5월경) 이런 착각들로 진행했던 내용들이다.
1. 마크다운을 티스토리에 포스팅 해주는 npm 패키지
취미로 하는 활동 중 하나가 세미나를 다니고 그 세미나의 후기를 남기는 것이다.
매번 후기를 마크다운으로 작성하고 이를 티스토리에 옮기는 것이 여간 불편한게 아니였다.
- 마크다운 파일로 작성
- HTML 파일로 전환
- HTML 내용 티스토리에 복사 & 붙여넣기
- 이미지는 하나 하나 업로드
이게 귀찮아서 Github에 마크다운 파일을 올리고 Github에서 렌더링된 결과를 전체로 긁어서 복사해서 티스토리 올리는 방법도 써보았다.
하지만 이렇게 되니 이후에 포스팅 썸네일이 노출되지 않는 이슈가 있었다.
(Github의 랜더링 결과이니 티스토리에서는 이미지 파싱을 못하더라)
그래서 이를 대신해줄 node 스크립트를 개발하기 시작했는데, nodejs에 대한 이해도가 낮아서 막힐때가 빈번했다.
계속 시간은 지나고 뭔가 진도는 나가지 않아서 그냥 그만할까 싶다가 이런 생각이 들었다.
그러나 문득 이런 생각들이 들었다.
"이거 잘되면 나 오픈소스 개발자가 되는건가?"
"어디가서 저 이거 만든 사람입니다 라고 소개할 수 있는건가!?"
"나도 이제 오픈소스 하나 가지는건가!?"
이것 때문에 정말 신나게 만들었다.
처음 목표로 했던 기능을 만들고, 이걸론 대박나기에 부족하단 생각에 추가 버전업을 하였다.
"아 이것참 이슈 너무 많이 올리면 어떡하나" 하는 생각과 함께 페이스북의 여러 그룹에 공유를 하였는데,
결론은?
나 혼자 잘쓰고 있다.
아무일도 일어나지 않았다.
아주 편안하게 지내고 있다.
2. 스프링 배치 정리
회사에서 스프링배치로 진행해야 할 일이 있었다.
스프링배치로 직접 작업하는 것은 처음이라 테스트 코드를 짜다가 문제가 발생하였다.
2~3시간 회사에서 삽질하다가도 해결이 안되서 기존 코드를 복사&붙여넣기 할까 하다가 문득,
"어 이거 혹시 스프링 배치 버그 아닌가?"
"뭐야 진짜야!? 이거 해결하면 스프링 프로젝트에 PR(Pull Request) 넣을수 있겠지??"
"나 스프링 프로젝트의 컨트리뷰터가 되는건가!!??"
라는 말도 안되는 상상을 하게 됐다.
"이야 이거 해결하면 진짜 짱짱이겠다" 라고 생각되니깐 완전 신나서 금요일 저녁에 어디 나가지도 않고 집에서 죽치고 이 이슈만 추적 했다.
그리고 당연하게도,
결국 내가 이상하게 코드를 작성해서 발생한 것임을 발견하였다.
PR은 물론이거니와 부끄러움만 가득 가지고, 이 과정을 블로그에 작성하였다.
Spring Batch에서 @StepScope 사용시 주의사항
3. IntelliJ 번역 플러그인
개발을 진행할때마다 구글번역, 네이버 사전을 펼쳐서 진행하는게 정말 번거로웠다.
그래서 나의 주력 개발도구인 IntelliJ에서 바로 번역해볼 수 있게 플러그인을 만들어야겠다고 생각했다.
근데 해도 해도 너무한게 자료가 너무 없더라.
처음 Gradle로 의존성 추가 하는것 조차 막혀서 며칠을 소비했다.
매 주마다 포스팅 1개 이상은 꼭 해왔었는데, 이것 때문에 블로그에 포스팅 하나 못하고 있으니 그만할까 싶었다.
그러다가 또 병이 도져서(!?)
"막 Jetbrains MVP 되는거 아니야?" (이런거 없습니다)
"Jetbrains 평생 라이센스 받는건가??"
"해외 컨퍼런스 초청되는거 아니야?" (IntelliJ 플러그인만 4천개가 넘습니다)
라는 착각을 하게 되었다.
저런 상상을 하니 꼭 만들고 싶어졌다.
신기하게도 하나도 이해 안되던 코드들도 계속 보니깐 어떻게 쫓아가지긴 하더라.
나 혼자서 "이건 진짜 대박이야"를 연신 외치며 1차 버전을 만들고 사내에 먼저 공유했다.
친절한 수홍님의 조언으로 추가 기능까지 구현하는데 정말 설레었다.
개발기간동안 쌓아놓은 설렘을 가득 안고 대망의 페이스북 공유를 진행하였다.
그리고 일주일이 지난 지금(2017.04년 기준) 약 40분이 받아주셨다..
현재(2020.05.03) 까지는 4,474 분이 받아주셨습니다.
감사합니다 :)
많다면 많을 수도 있겠지만 내가 생각했던 것과는 큰 차이가 나는 숫자이다.
아주 오래전에 봤던 영화 중 "내겐 너무 가벼운 그녀" 가 생각난다.
절세미녀가 아니면 사귀지 않는 "할 라슨" (남주인공)
그는 최면(?)이 걸려 절세미녀와는 거리가 먼 "로즈메리 샤나한" (여주인공)이 절세미녀로 보이게 된다.
열정적으로 사랑하던 할 라슨은 친구 덕에 최면이 풀리고, 실제 그녀는 본인의 이상형과는 너무나 큰 차이가 나는 것을 알게 된다.
할 라슨은 이후 어떤 결정을 했을까?
그는 다시 로즈메리를 찾아갔다.
처음으로 그녀의 본 모습을 본 할 라슨은 다음과 같이 이야기 한다.
당신 아주 예쁘군요
그녀와 진정한 사랑을 하고 난 뒤, 할 라슨은 정말로 그녀의 본 모습도 정말 아름다워 보였던 것이다.
위에서 언급했던 일들 모두 내가 상상했던 결과를 주지 않았다.
- 결국 유명한 npm 패키지가 되지 못했고
- 스프링 배치의 컨트리뷰터가 되지도 못했으며
- Jetbrains는 이런 플러그인이 있는지도 모를 것이다.
그럼에도 난 여전히 착각속에 살고 있다.
필요에 의해서 시작을 했지만,
끝까지 마무리 할 수 있었던 것은 결국 이런 착각 덕분이였다.
내가 착각하고 상상했던 모든 것들이 하나도 이루어지지 않을 수도 있다.
그럼에도 이런 착각이 좋다.
개발 할때 날 설레게 한다.
만약 개인 프로젝트나 블로그가 항상 흐지부지 끝난다면,
나처럼 기분좋은 상상을 해보는건 어떨까 하고 제안해본다.