TIL은 Today I learned의 약자로, 매일매일 배운 내용을 기록하는 것
TIL을 '같이' 작성해보자!
주제 별로 나눠서 배운 것들을 정리해서 올리는 TIL도 있지만, 나는 이렇게 하면 얼마 못가고 흐지부지될 것 같았다. 그래서 나는 각잡고 쓰는 느낌이 아닌, 그냥 가볍게 오늘 공부한거나 경험한 것 등 형식에 구애받지 않고 가볍게 쓰는 방향으로 정했다.
어떻게 보면 일기처럼 보일 수도 있는 이 TIL을 꾸준히 작성할 수 있을까 고민하던 때에, 동네 친구들과 얘기하다가 TIL을 같이 쓰면 동기부여도 되고 좋을 것 같다고 생각하게 되었다. (동네 친구들도 다 컴공이다 ㅋㅋ)
그래서 만들었다. 이름하야 Self-Driven-Development
각자 자기주도개발을 해서 개발자국을 남기자고 저렇게 지었다.
그렇게 처음에는 동네 친구들과 나 포함 3명이 모였는데, 대학교 친구들까지 불러들여서 지금은 총 5명이서 TIL을 매일 작성하고 있다.
5월부터 지금까지 꾸준히 작성하면서 느낀 장점들이 많다.
장점 1. 블로그 회고 글 작성 시 좋음
이전에 가천 익스텐션 회고 글을 썼었다. 개발하면서 겪었던 문제들과 고민들, 그리고 해결방법들을 TIL에 적어놓으니 회고할 때 참고하면서 작성할 수 있었다. 이전에 회고 글을 쓸 때 항상 겪었던 것들이 그 때 어떤 고민을 했고 어떻게 해결했는지 기억이 안나는 것이었다. 이런 부분에 있어서 되게 좋았다고 느꼈다.
장점 2. TIL을 쓰면서 얻어가는게 많음
자기 전에 TIL을 쓰면서 오늘 뭐했지 하며 쭉 정리해본다.
내가 어떤 부분에서 고민했고 어떻게 해결하려고 시도했는지를 작성하면서 레퍼런스들을 읽고 링크 걸어두고 한다. 근데 이 과정에서 의외로 그땐 안 보였던 부분이 보이게 되고 해결할 때가 많았다.
문제에 대한 원인을 분석하는 과정에서 해결의 실마리를 찾게 되는 것 같다. (그래서 TIL을 쓰다보면 1~2시간이 훌쩍 지나간다..)
장점 3. 루틴
TIL을 작성한 뒤로 하루 루틴이 생겼다.
TIL에 꼭 들어가는 것이 오늘 한 일과 내일 할 일이다. 투두리스트 처럼 할 일들을 기록하고 있어서 계획대로 공부하고 TIL 적는 게 루틴이 되었다.
사실 전에도 투두 리스트 어플들을 많이 써봤는데, 길게 가지 못했다. 점점 귀찮아지고 체크 표시를 누르는 걸 까먹게 돼서 꾸준히 안하게 된다..
근데 이렇게 다같이 TIL을 작성하니 동기부여도 되고 어제 쓴 TIL 보고 이어서 공부할 수 있어서 꾸준히 할 수 있었다. 그리고 난 깃허브를 매일 들어가기 때문에 까먹을 일도 없다 😂
TIL 블로그를 만들어보자!
전에 썼던 TIL들을 보면서 언제 어떤걸 썼는지 확인하기 쉽지 않았다. 깃허브 레포에서 하나하나 눌러봐서 찾아봐야 했다.
그래서 이걸 블로그로 만들어서 편하게 보고 쉽게 찾을 수 있게 하고 싶었다.
🤔뭐로 만들지?
몇 가지 선택지가 있었다.
1차 시도 - Astro
주변에서 Astro가 좋다고 하길래 한번 찍먹해보았다. 근데 아직 문서가 많이 부족하고 러닝 커브가 좀 있을 것 같았다. 이거 쓸 바에 그냥 익숙한 Next.js로 하는 게 낫다고 판단해서 바로 접었다..
2차 시도 - Docusaurus
TIL 블로그를 만들기 전에 보고 감탄했던 블로그가 있다.
조성현님의 블로그인데, 보니까 Docusaurus로 만들어져 있었다. 들어가보면 메인 페이지부터 인터랙티브하고 하나의 위키처럼 관리되고 있어서 인상 깊었다.
Docusaurus는 페이스북에서 만든거라 React-Native 나 Jest 같은 공식 문서들이 Docusaurus를 사용하고 있었고, 토스의 Slash 또한 이걸 사용하고 있다.
이렇게 공식 문서 형태나 블로그 형태 등 다양하게 할 수 있고, 기본 템플릿이 제공되기 때문에 이 Docusaurus를 사용해서 만들어보기로 했다.
Github page로 배포
공식 문서가 잘 되어있고 배포하는 방법도 친절하게 나와있어 금방 만들 수 있었다. 위에서 말한 문서의 레포지토리도 참고해서 만들었다.
과정은 여기서 볼 수 있다.
고민
기존 TIL 레포 -> 블로그 레포로 옮기면 TIL 쓰는 멤버들의 흐름이 끊기지 않을까 하는 걱정이 있었다.
그래서 기존 TIL 레포와 블로그 레포를 연결하는 방법을 생각했다.
- 멤버들은 기존처럼 TIL 레포에 올린다.
- Github Actions로 하루에 한번 블로그 레포에 TIL들을 푸시한다.
- 푸시되면 블로그 레포에서 Deploy가 된다.
해결
다행히 찾아보니 다른 레포에 푸시하는 action이 존재했다.
그래서 바로 test 브랜치로 테스트 돌려봐서 되는지 확인해본 후 적용했다.
// TIL 레포지토리
name: CI
on:
schedule:
- cron: '0 0 * * *'
jobs:
build:
runs-on: ubuntu-latest
container: pandoc/latex
steps:
- uses: actions/checkout@v2
- name: creates output
run: sh ./build.sh
- name: Pushes to another repository
uses: cpina/github-action-push-to-another-repository@main
env:
API_TOKEN_GITHUB: ${{ secrets.ACCESS_TOKEN }}
with:
source-directory: 'output/'
destination-github-username: 'self-driven-development'
destination-repository-name: 'Dogsounds-TIL'
user-name: github-actions[bot]
user-email: 41898282+github-actions[bot]@users.noreply.github.com
target-branch: main
target-directory: docs/
commit-message: 'Update TIL'
cron으로 UTC 기준 0시에 동작하도록 세팅했다.
처음에는 내 계정으로 푸시하도록 세팅했는데, 자동으로 잔디 생기게 하기 싫어서 그냥 깃허브 봇이 푸시하도록 했다.
자세한 내용은 당시 작성한 TIL에서 확인!
결과
위에서도 계속 링크를 걸어두었지만 다시 한번..!
https://self-driven-development.github.io/TIL/
TIL
다같이 TIL을 기록하는 공간
self-driven-development.github.io
+ 추가 (23.07.10)
로컬로 바로바로 확인하기 어려운 문제가 있었고, mdx 에러로 인해 빌드가 제대로 되지 않는 문제가 빈번했다.
그래서 두 레포지토리를 하나로 합쳐서 오류를 사전에 방지하는 방식으로 변경했다.
앞으로 할 것
아직 메인 페이지를 안 꾸몄다. 마침 TIL 멤버 중 세명이 프론트엔드 공부하고 있기 때문에 같이 할 생각이다!
그리고 mdx로 인식하기 때문에 빌드되었을 때 오류가 나게 되는 경우도 있어서 멤버들을 위한 가이드라인을 만들어놔야겠다.
개념에 대한 정리도 할 수 있는 공간도 추가해야겠다. 여러 스터디를 하면서 내 공부 기록이 흩어져서 관리되고 있는 느낌이라, 내가 직접 정리해서 올린 것들을 따로 카테고리로 나눠서 관리해야겠다.
이렇게 같이 TIL을 쓰면서 많은 경험을 하게 돼서 너무 좋다. 꾸준히 TIL 쓰고 블로그도 계속 살을 붙여서 키우고 싶다!
'회고' 카테고리의 다른 글
[회고] 우아한테크코스 5기 프리코스 2주차 (0) | 2022.11.09 |
---|---|
[회고] 우아한테크코스 5기 프리코스 1주차 (0) | 2022.11.04 |