You don't need Evernote
TIL
589
@100daysTIL
72
White

Huy Trần viết ngày 07/02/2018

#Day005

Đối với một developer, việc ghi chú, lưu lại những kinh nghiệm hay những kĩ thuật đã học là một vấn đề rất nên làm. Có 10001 cách để ghi chú hằng ngày, có người dùng Evernote, có người dùng Google Keep, cũng có người dùng Notes app của macOS, StickyNotes của Windows...

Phần lớn thời gian mình làm việc trên editor, nếu khi học được cái gì mới hoặc nảy ra idea gì mới mà phải nhảy sang Evernote, Googke Keep để ghi lại thì rất khó chịu. Mà nếu lưu note trong máy tính thì nó không sync với các máy khác mình xài. Nếu xài Github để lưu note thì mỗi lần ghi hoặc sửa gì lại phải commit rồi push rất mất công.

Nên mình muốn có một cách lưu note vừa có thể thực hiện ngay trên editor mình đang xài, vừa có thể tự do tổ chức và cấu trúc thư mục và vừa có thể tự động đồng bộ lên internet.

Setup

Và đây là giải pháp:

  • Tạo một thư mục để lưu note, ví dụ ~/notes
  • Tạo một repository trên Github để đồng bộ
  • Mỗi khi cần lưu hoặc ghi chú gì, thì tạo file mới trong thư mục này, việc này có thể làm trực tiếp trên editor mà không cần phải nhảy sang một ứng dụng khác
  • Viết script tự động commit và push từ thư mục ~/notes
  • Problem Solved :trollface:

Đây là đoạn script mà mình dùng để thực hiện việc push note tự động, mình đặt tên nó là git-notes và lưu vào đâu đó có trong $PATH, ví dụ như là:

/usr/local/bin/git-notes

cd $GITNOTES_PATH
CURRENT_STATUS=$(git status -s)
if [[ "$CURRENT_STATUS" != "" ]]; then
  echo $(date) "Changes found"
  git add -A
  git commit -m "Automatically update"
  git push
else
  echo $(date) "No changes found"
fi

Biến $GITNOTES_PATH bạn có thể cấu hình trong ~/.bash_profile hay đâu đó tùy ý:

export GITNOTES_PATH=~/notes

Trước khi xài nhớ cấp quyền chạy được cho git-notes:

chmod +x /usr/local/bin/git-notes

Để cho script trên tự động chạy, chúng ta dùng crontab:

crontab -e

Gõ vào:

*/5 * * * * . $HOME/.bash_profile; git-notes &> ~/tmp/git-notes.log

Lưu lại, thế là xong.

Nội dung của đoạn cronjob trên là chạy lệnh git-notes mỗi 5 phút một lần, và lưu output vào một file log để chúng ta có thể kiểm tra lại về sau.

Sử dụng

Khi cần tạo một ghi chú mới, chúng ta có thể tạo file mới trong ~/notes:

vim ~/notes/til-02072018-1135.md

Có thể tạo thư mục để phân loại cho dễ nhìn. Gõ xong thì lưu lại, mỗi 5 phút toàn bộ nội dung sẽ được tự động commit và push lên Github, chúng ta không cần phải làm gì cả.

Đây là cấu trúc thư mục ~/notes của mình:

.
├── README.md
├── algorithms
│   ├── levenshtein.js
│   ├── quicksort
│   └── second-largest
├── interviews
│   ├── coding-interview-notes
│   ├── facebook-frontend-questions
│   └── postmortem
│        ├── google
│        ├── facebook
│        ├── amazon
│        └── microsoft
├── reading-list
│   ├── react-fiber
│   └── history-of-communist-parties
└── til
    └── ...

huytd 08-02-2018

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Huy Trần

109 bài viết.
1587 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
155 46
Tại sao phải viết blog kĩ thuật? Có rất nhiều bài viết trên mạng nói về vấn đề tại sao một lập trình viên nên thường xuyên viết các bài blog kĩ thu...
Huy Trần viết 3 năm trước
155 46
White
149 39
(Ảnh) Tiếp tục sêri (Link) lần này, chúng ta sẽ cùng tìm hiểu và mô phỏng lại một chức năng mà mọi người đang bắt đầu sử dụng hằng ngày, đó là chứ...
Huy Trần viết 2 năm trước
149 39
White
104 17
Phần 1: Tự truyện Tui và Toán đã từng là hai kẻ thù không đội trời chung trong suốt hơn mười lăm năm ròng rã. Ngay từ ánh nhìn đầu tiên đã ghét nh...
Huy Trần viết 2 năm trước
104 17
Bài viết liên quan
White
0 2
fCC: Technical Documentation Page note So I have finished the HTML part of this exercise and I want to come here to lament about the lengthy HTML ...
HungHayHo viết 27 ngày trước
0 2
White
2 1
Javascript inititalValue trong reduce() có quan trọng không? Day 41: Đọc code mẫu về hàm reduce() trong (Link), thấy hàm reduce() khá "đơn giản"....
Minh-Trung Nguyễn viết 3 tháng trước
2 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
109 bài viết.
1587 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!