/today-i-learned

We constantly learn new things. This is a repo to share my learnings everyday.

Primary LanguagePython

Today I Learned

We constantly learn new things. This is a repo to share those learnings. TILs are short Markdown documents (a few sentences + example code) explaining concepts, bits of syntax, commands, or tips we've recently learned.

Today-I-Learned (TIL) is inspired by Thoughbot, TIL is a repository for everyone to share what we have learn today.

This repo has a tool that help you to manage and write down what you learned in scientific way.

What I learned

Table of Contents πŸ‘‡
πŸ†• Top 5 recent learning
JSON Parse is faster than Javascript Object declaration [javascript] 2019-11-23
Improve apt package manager speed by changing source list mirrors [devops] 2019-04-03
Use NGINX as a TCP,UDP load balancer [networking] 2019-04-03
Run container processes as non-root user [docker] 2019-03-30
Can not get real IP address from Load Balancer SSL Passthrough [web] 2019-03-14
πŸ“š ansible [ 1 articles ]
1. Run shell command in all hosts 2019-02-18
πŸ“š bash [ 4 articles ]
2. Simple HTTP server function helper 2017-10-05
3. Internal Variables in BASH 2018-08-06
4. Curl extract info from verbose mode 2018-08-07
5. Telnet server through SSL or TLS 2018-11-13
πŸ“š chrome-dev [ 1 articles ]
6. Debugging Chrome extension 2015-11-30
πŸ“š crypto [ 1 articles ]
7. Encrypt and decrypt file using openssl command line 2018-05-17
πŸ“š css [ 1 articles ]
8. [Bug] Input lost focus after typing 1 character in Safari Browser 2018-11-01
πŸ“š database [ 4 articles ]
9. Basics about sqlite command line tool 2017-04-25
10. Indexes on multiple columns 2017-10-13
11. Use temporarily data from another database in SQLite 2018-05-02
12. SQL Wildcard Characters 2018-07-26
πŸ“š devops [ 5 articles ]
13. Checking forced push conflicts on source code in auto testing 2017-05-19
14. Free sandbox server for development 2017-08-04
15. Using netcat to wait a TCP service 2017-10-13
16. Ansible running host pattern 2018-01-22
17. Improve apt package manager speed by changing source list mirrors 2019-04-03
πŸ“š docker [ 7 articles ]
18. Changing channel from alpha to stable will remove ALL DATA 2017-05-24
19. Reducing docker image the right way 2017-05-24
20. Reduce init time MySQL docker image 2017-11-22
21. Build lightweight image by using multistage 2018-02-23
22. SSH to docker host in Docker for Mac 2018-12-03
23. Can not run downloaded binary inside alpine linux because of missing shared libs 2019-02-02
24. Run container processes as non-root user 2019-03-30
πŸ“š elasticsearch [ 1 articles ]
25. Basics of Elasticsearch 2018-01-25
πŸ“š git [ 5 articles ]
26. Resolving conflict like a boss 2017-06-13
27. using git hooks to improve working flow 2017-11-22
28. Fastly conflict detector script 2017-11-27
29. Put .git data outside project directory 2018-05-29
30. Running git command using another ssh key 2018-06-26
πŸ“š http [ 3 articles ]
31. ab failed responses 2017-04-21
32. Create cross-platform downloading app URL 2018-01-03
33. Reuse cookies between multi requests in Curl tool 2018-05-22
πŸ“š ios [ 2 articles ]
34. Flush DNS cache on iOS device 2018-03-14
35. Install CA root certificate on iOS device 2018-03-14
πŸ“š java [ 1 articles ]
36. Runing old java applets on brower 2017-08-06
πŸ“š javascript [ 11 articles ]
37. Eval function and with block 2017-08-10
38. Scope and Closure 2017-08-10
39. Debug js code using console.trace 2018-01-07
40. Define property of an object in hacking way 2018-01-07
41. Tracking changes of cookie on webpage 2018-01-10
42. Trigger event after setting val in jQuery 2018-01-14
43. Detect HTTP Response 304 Status Code in AJAX 2018-10-25
44. View all parameters passed to callback function without reading docs 2018-10-30
45. View function source in developer tool console 2018-11-21
46. Critical notice of string DOM manipulation using jQuery 2019-01-10
47. JSON Parse is faster than Javascript Object declaration 2019-11-23
πŸ“š linux [ 5 articles ]
48. Remap Capslock to Control key 2017-08-08
49. Send ENTER key to kernel 2017-09-27
50. Using watch command to tracking changes in period time 2017-10-20
51. Disable IPv6 to stop getting stuck in network 2018-01-16
52. Make cron job runs every seconds 2018-11-15
πŸ“š mac-osx [ 1 articles ]
53. Shortcut keyboard improve productivity 2015-11-30
πŸ“š mysql [ 8 articles ]
54. Index is useless when use function on indexed field 2015-12-01
55. String problems can cause logical bugs in application 2017-02-17
56. UNION vs UNION ALL 2017-02-23
57. Mysql dumping only table structure 2017-05-17
58. Mycli : a new good cli MySql Client 2017-09-01
59. Sleeping connections in MySQL 2018-01-04
60. The safest way to reset root password of MySQL Server 2018-08-25
61. Export MySQL data by specified query to CSV file 2019-03-12
πŸ“š nature [ 1 articles ]
62. TαΊ‘i sao biển xanh lαΊ‘i mαΊ·n ? :lol: 2018-01-14
πŸ“š networking [ 6 articles ]
63. TCP FIN timeout 2017-09-07
64. How SMTP works 2017-10-04
65. Set up simple rate limiting on specified port using UFW 2018-01-16
66. List opening ports or listening UNIX sockets 2018-02-21
67. Setup wildcard domains .test for development in MacOS 2018-04-24
68. Use NGINX as a TCP,UDP load balancer 2019-04-03
πŸ“š php [ 8 articles ]
69. Eloquent Many-to-Many Relationship 2015-12-02
70. Run built-in server via Docker 2015-12-04
71. F-cking stupid limit of input vars 2016-03-08
72. Using VarDumper in PHPUnit 2017-02-23
73. Persistent connection to MySQL 2017-02-28
74. realpath function 2017-08-06
75. try, catch and finally in PHP 2018-05-04
76. Never autostart XDebug in cli environment 2018-05-07
πŸ“š programming [ 1 articles ]
77. Get random number from computer 2018-05-14
πŸ“š python [ 7 articles ]
78. String Format Unicode params 2015-12-01
79. Reference assign object variable 2015-12-04
80. HTTP2 supported for python requests library 2017-08-04
81. Exporting environment variables on virtual env activate 2018-04-30
82. Context Managers in Python 2018-07-24
83. Do not use mutable objects as default parameters 2018-07-24
84. Setter and getter behavior of class property in Python3 2018-07-30
πŸ“š quote [ 1 articles ]
85. Random quote 23 Feb 2017 2017-02-23
πŸ“š redis [ 1 articles ]
86. Transaction style in Redis 2018-01-31
πŸ“š sysadmin [ 34 articles ]
87. FTP via curl tool 2015-12-03
88. View real-time logs using websocketd 2015-12-04
89. Commands 2015-12-30
90. Stats your top-10 frequently commands 2016-03-26
91. Bash shell shortcuts 2016-03-26
92. Compressing and Extracting files with rar in Linux 2017-05-17
93. Grant user to use sudo without password 2017-05-18
94. wget Output flag 2017-05-19
95. zcat : decompressing pipe tool 2017-05-22
96. Using BSD find util to find and exec command on file and folder 2017-05-22
97. Gearman bash worker and client 2017-06-15
98. Cleaning up old linux kernels 2017-08-06
99. Create SSH tunnel manually 2017-09-01
100. Enable reverse proxy in CentOS 2017-09-01
101. Grep : find a string in folder 2017-09-05
102. Ansible playbook : skip to task 2017-09-05
103. Lock and unlock a user password 2017-09-07
104. Generate dhparam file faster 2017-09-07
105. Blocking specified country to prevent from DDOS 2017-09-25
106. BASH return a value in function 2017-09-26
107. BASH exiting on first error 2017-09-26
108. BASH tracing commands 2017-09-27
109. TIME command output meaning 2017-10-04
110. Using netcat as tiny TCP debug tool 2017-10-07
111. Getting your external IP 2017-11-24
112. Use journalctl to check system logs 2018-01-22
113. Prevent source hacking from .git directory exposing 2018-03-01
114. Prepend line number to file 2018-03-25
115. Create a sequence of numbers 2018-03-25
116. Cut file content from line to line 2018-03-25
117. Send a file through networking via netcat 2018-04-10
118. Create tiny chat channel via netcat 2018-04-10
119. View DNS history of a domain 2018-05-08
120. Curl override Name Resolution with specific IP address 2018-08-18
πŸ“š tools [ 2 articles ]
121. Base 64 encode and decode builtin tool 2017-04-21
122. Zip compressing list of files 2017-09-25
πŸ“š varnish [ 1 articles ]
123. Check vcl file syntax before restarting 2018-01-31
πŸ“š vim [ 2 articles ]
124. Using mark to bookmark checkpoints in files 2018-01-30
125. Convert tabs to spaces 2018-02-21
πŸ“š web [ 7 articles ]
126. Cloudflare Error 522 Connection Time out 2017-05-18
127. Ping Google to crawl updated content 2017-08-08
128. Using web proxy to bypass firewalls 2017-12-07
129. HSTS rule in browser 2018-01-03
130. Bypass CORS by using JSONP callback 2018-01-08
131. Sending Cookie in AJAX CORs request 2018-03-01
132. Can not get real IP address from Load Balancer SSL Passthrough 2019-03-14

Instruction

  • Step 1: Fork this repo (blank-repo with only tool and readme file).
  • Step 2: Start writting down what you learned in everyday.
    • Create a topic by:

      ./til <CATEGORY> <SUBJECT> [EDITOR]
      • Ex:
      ./til bash "Bash Conditional Expression" vim
      • If you tired of typing the quote mark:
      ./til bash Bash-Conditional-Expression
      ./til bash Bash=Conditional=Expression

      DO NOT mix the - and = together!

    • It will create 1 file whose name which is the SUBJECT in lower case: bash/160510-bash-conditional-expression.md.

    • Write it! Save it!

  • Step 3: Commit what you learned today by ./til commit. After that, if you want to push it to repository, just Enter

License

Β© 2018 khanhicetea. Distributed under the Creative Commons Attribution License.