Snippet은 ‘코드 조각’ 이라는 뜻입니다. 클라우드메이트에서 만든 Snippet 서비스를 소개하려고 합니다.

소개하려는 것: https://snippet.cloudmt.co.kr/

혼자서 이틀 정도 남는 시간을 할애해서 만든 서비스라 아직은 꽤나 엉성합니다.
베타 버전 수준으로 틈틈히 개선해나갈 예정입니다.
지켜봐주시고 동참해주시면 감사하겠습니다.


고통의 시작

검색을 하면 보통 세 가지 유형을 만납니다.

  1. StackOverflow, GitHub Issue
    • 여기서 답변을 볼 수 있으면 아주 감사함
  2. 블로그
    • 내가 원하는 코드도 있고, 왜 그렇게 동작하는지 설명도 간결하게 적혀있다면 베스트
    • 설명이 너무나 길지만 그래도 중간 어딘가에 내가 원하는 코드가 있긴 함
  3. 악성 블로그
    • 공식문서나 다른곳에 있는 글을 복붙해서 넣어두고, 정작 내가 원하는 코드는 없음

3번을 만나면 화나지만, 실은 2번의 2번 째 케이스를 만나도 꽤나 지칩니다.

내가 원하는건 그저 동작하는 짧은 코드 뿐이지만,
엄청나게 긴 글 속에 나에게 필요한 코드는
월리를 찾아라 마냥 숨어있는 경우도 있기 때문이죠

근데 클라우드 엔지니어링 하다보면 이런 케이스가 너무나 많음

아, 왜 코드만 있는데는 없지

가만 생각해보면 Gist가 있긴 하지만, Gist는 검색하기가 쉽지 않습니다.
Velog 같은 서비스도 결국은 블로그의 성격을 띄다보니 2번같은 경우가 종종 생깁니다.

그래서 그 가운데의 무언가가 있으면 괜찮지 않을까 하는 생각을 하게 됩니다.

설명을 쓸 순 있지만 매우 짧게만 쓸 수 있고
그렇기에 많은 내용을 담을 수 없어서 매우 짧은 코드만 올리게 되고,
태그를 붙여서 검색도 용이하고,
쉽게 복사나 다운로드가 가능하다면 좋겠다는 생각을 하게 됩니다.

그렇게 Snippet 이라는 서비스를 만들게 되었습니다.

사실 전신이 있었다

클라우드 엔지니어로 전직하며 Argo의 yaml 작성이 매우 짜증나서
회사 내부의 argo-easier 라는 서비스를 시험 제작하다가

Argo의 yaml만이 아닌 그냥 쿠버네티스 에코시스템의 모든 yaml 작성이 짜증난다는걸 깨닫고
https://kube.yaml.tlqkf.wtf 이라는 중간을 거쳐

이럴거면 yaml이 아닌 다른 모든 언어들에 대해 이 컨셉을 가져가면 어떨까 하며
Snippet이 되었습니다.

k8s는 검색 너무…

클라우드 엔지니어링에서 특히나 쿠버네티스쪽은 검색해도 뭐가 잘 안나옵니다.
그리고 나온다고 해도 설명이 너무나 길거나, 처음에 언급했던 3번 잼민티비 같은 케이스가 굉장히 많습니다.

너무 많이 당하다보니
“어떻게 동작하는지 이해하고싶지 않고 그냥 돌아가는 yaml이나 제발”
하는 생각이 간절하게 들었고,
나만 이런 생각을 하는 것이 아닐 것 같기에,
이런 니즈를 채워주는 서비스를 만들면 어떨까 하는 생각이 들었습니다.

사실 k8s쪽은 공유도 잘 안되는 것 같기도…

개발을 하다가 전직해서 그런지,
코딩은 하다가 검색하면 이것저것 잘 나오는데 비해
k8s 에코시스템의 yaml이나 IaC는 검색해도 안나와서 공식 문서를 보거나,
해당 가이드가 작성된 GitHub까지 타고 들어가서 예제를 뒤져봐야 하는 경우가 많았습니다.

yaml이나 IaC는 개발처럼 꾸준히 커밋이 이루어지는게 아니라,
한번 잘 만들어두면 별 일이 생기지 않는 한 손을 안대는 경우가 많기에 더 그런 것 같기도 합니다.

그래서 Snippet을 더 개발하려고 했었는지도 모르겠습니다.
제가 먼저 이것저것 공유하기 시작하면, 사람들이 여기에 같이 공유해주지 않을까 하며 말이죠.
(k8s 관련하여 도움이 필요하시면 언제든 클라우드메이트로 연락주세요.)

그래서 만든 서비스의 컨셉

Snippet코드 조각 이라는 뜻으로,
설명보다는 동작하는 코드 조각을 공유하자는 의미를 담고 있습니다.

  • 설명은 markdown으로 200자 제한
  • 코드를 작성하면 확장자를 인식해서 GitHub 처럼 언어별로 퍼센트를 매겨둠
  • 태그를 붙여서 검색이 용이하게 함
  • 복사, 다운로드가 가능하게 함

우선은 이렇게만 구현했고, 추후에 추가할 기능들은 아래와 같습니다.

  • 좋아요와 “안돼요” 기능.
    • 안돼요는 코드가 동작하지 않거나 잘못되어 있다면 꼭 그에 대한 설명을 달아야 누를 수 있음
  • gist나 codesandbox 처럼 embed 기능
  • 더 디테일한 검색

등을 계속 추가해나갈 예정입니다.

개발간 있었던 비하인드 스토리나 이야기들을 차차 풀어나가도록 하겠습니다.

‘클라우드를 클라우드답게’라는 미션을 가진 클라우드메이트는 고객의 더 나은 클라우드 운영을 위해 다양한 서비스도 개발하고 있습니다!

감사합니다.