Skip to content

Latest commit

 

History

History
255 lines (238 loc) · 21.7 KB

README.md

File metadata and controls

255 lines (238 loc) · 21.7 KB

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
Storing master key inside MacOS keychain [crypto] 2024-10-14
Run multiple AlpineJS inits and effects on same element [javascript] 2024-09-30
HTML Form no trigger submit when press Enter key on input [web] 2024-09-19
Using Curl to check downtime and ssl cert expiration [bash] 2024-08-10
PHP memory allocation when passing arguments into function [php] 2024-08-06
📚 ansible [ 1 articles ]
1. Run shell command in all hosts 2019-02-18
📚 apps-script [ 1 articles ]
2. Getting database from data range to array of enum objects 2023-09-03
📚 bash [ 5 articles ]
3. Simple HTTP server function helper 2017-10-05
4. Internal Variables in BASH 2018-08-06
5. Curl extract info from verbose mode 2018-08-07
6. Telnet server through SSL or TLS 2018-11-13
7. Using Curl to check downtime and ssl cert expiration 2024-08-10
📚 chrome-dev [ 1 articles ]
8. Debugging Chrome extension 2015-11-30
📚 crypto [ 2 articles ]
9. Encrypt and decrypt file using openssl command line 2018-05-17
10. Storing master key inside MacOS keychain 2024-10-14
📚 css [ 2 articles ]
11. [Bug] Input lost focus after typing 1 character in Safari Browser 2018-11-01
12. CSS Selector element has an attribute which contains some string 2023-08-21
📚 database [ 4 articles ]
13. Basics about sqlite command line tool 2017-04-25
14. Indexes on multiple columns 2017-10-13
15. Use temporarily data from another database in SQLite 2018-05-02
16. SQL Wildcard Characters 2018-07-26
📚 devops [ 6 articles ]
17. Checking forced push conflicts on source code in auto testing 2017-05-19
18. Free sandbox server for development 2017-08-04
19. Using netcat to wait a TCP service 2017-10-13
20. Ansible running host pattern 2018-01-22
21. Improve apt package manager speed by changing source list mirrors 2019-04-03
22. Cronjob monitoring web endpoint and alert to Telegram 2024-04-12
📚 docker [ 9 articles ]
23. Changing channel from alpha to stable will remove ALL DATA 2017-05-24
24. Reducing docker image the right way 2017-05-24
25. Reduce init time MySQL docker image 2017-11-22
26. Build lightweight image by using multistage 2018-02-23
27. SSH to docker host in Docker for Mac 2018-12-03
28. Can not run downloaded binary inside alpine linux because of missing shared libs 2019-02-02
29. Run container processes as non-root user 2019-03-30
30. Using extra hosts to add custom ip of hostnames to Docker container 2022-03-16
31. Becareful on using port mapping of Docker in Development 2022-03-17
📚 elasticsearch [ 1 articles ]
32. Basics of Elasticsearch 2018-01-25
📚 git [ 5 articles ]
33. Resolving conflict like a boss 2017-06-13
34. using git hooks to improve working flow 2017-11-22
35. Fastly conflict detector script 2017-11-27
36. Put .git data outside project directory 2018-05-29
37. Running git command using another ssh key 2018-06-26
📚 google-sheet [ 1 articles ]
38. Insert fastly current date time to cell in Google Spreadsheets 2021-03-09
📚 hostingpanel [ 1 articles ]
39. DirectAdmin change document root to public directory 2022-03-09
📚 http [ 4 articles ]
40. ab failed responses 2017-04-21
41. Create cross-platform downloading app URL 2018-01-03
42. Reuse cookies between multi requests in Curl tool 2018-05-22
43. HTTP Status Codes : 301+302 vs 307+308 2023-08-20
📚 ios [ 2 articles ]
44. Flush DNS cache on iOS device 2018-03-14
45. Install CA root certificate on iOS device 2018-03-14
📚 java [ 1 articles ]
46. Runing old java applets on brower 2017-08-06
📚 javascript [ 13 articles ]
47. Eval function and with block 2017-08-10
48. Scope and Closure 2017-08-10
49. Debug js code using console.trace 2018-01-07
50. Define property of an object in hacking way 2018-01-07
51. Tracking changes of cookie on webpage 2018-01-10
52. Trigger event after setting val in jQuery 2018-01-14
53. Detect HTTP Response 304 Status Code in AJAX 2018-10-25
54. View all parameters passed to callback function without reading docs 2018-10-30
55. View function source in developer tool console 2018-11-21
56. Critical notice of string DOM manipulation using jQuery 2019-01-10
57. JSON Parse is faster than Javascript Object declaration 2019-11-23
58. Script tags in remote HTML request won't run when using innerHTML 2024-05-06
59. Run multiple AlpineJS inits and effects on same element 2024-09-30
📚 js [ 5 articles ]
60. Array group by function in JS 2023-08-25
61. ES6 Module import in client browsers 2023-08-29
62. JS DOM event deepdive using SvelteJS demo 2023-09-01
63. Be careful when using built-in btoa from window to decode base64 2023-11-29
64. Detect ViteHMR dev server is running 2024-08-04
📚 laravel [ 2 articles ]
65. Split a Collection items into 2 groups using 1 boolean function 2023-11-25
66. Generate routing stubs for IDEs 2024-02-24
📚 linux [ 5 articles ]
67. Remap Capslock to Control key 2017-08-08
68. Send ENTER key to kernel 2017-09-27
69. Using watch command to tracking changes in period time 2017-10-20
70. Disable IPv6 to stop getting stuck in network 2018-01-16
71. Make cron job runs every seconds 2018-11-15
📚 mac-osx [ 2 articles ]
72. Shortcut keyboard improve productivity 2015-11-30
73. Warning on MacOS upgrade major system 2023-10-13
📚 mysql [ 8 articles ]
74. Index is useless when use function on indexed field 2015-12-01
75. String problems can cause logical bugs in application 2017-02-17
76. UNION vs UNION ALL 2017-02-23
77. Mysql dumping only table structure 2017-05-17
78. Mycli : a new good cli MySql Client 2017-09-01
79. Sleeping connections in MySQL 2018-01-04
80. The safest way to reset root password of MySQL Server 2018-08-25
81. Export MySQL data by specified query to CSV file 2019-03-12
📚 nature [ 1 articles ]
82. Tại sao biển xanh lại mặn ? :lol: 2018-01-14
📚 networking [ 6 articles ]
83. TCP FIN timeout 2017-09-07
84. How SMTP works 2017-10-04
85. Set up simple rate limiting on specified port using UFW 2018-01-16
86. List opening ports or listening UNIX sockets 2018-02-21
87. Setup wildcard domains .test for development in MacOS 2018-04-24
88. Use NGINX as a TCP,UDP load balancer 2019-04-03
📚 php [ 14 articles ]
89. Eloquent Many-to-Many Relationship 2015-12-02
90. Run built-in server via Docker 2015-12-04
91. F-cking stupid limit of input vars 2016-03-08
92. Using VarDumper in PHPUnit 2017-02-23
93. Persistent connection to MySQL 2017-02-28
94. realpath function 2017-08-06
95. try, catch and finally in PHP 2018-05-04
96. Never autostart XDebug in cli environment 2018-05-07
97. Getting back Whoops error pages in Laravel 9 2022-03-13
98. Minimize Google PHP SDK before deploying on production 2022-03-14
99. Laravel run scheduled command within parent environment 2022-03-15
100. Cache storage utils using redis server 2023-10-08
101. Transform array to object shorthand 2023-12-08
102. PHP memory allocation when passing arguments into function 2024-08-06
📚 programming [ 1 articles ]
103. Get random number from computer 2018-05-14
📚 python [ 7 articles ]
104. String Format Unicode params 2015-12-01
105. Reference assign object variable 2015-12-04
106. HTTP2 supported for python requests library 2017-08-04
107. Exporting environment variables on virtual env activate 2018-04-30
108. Do not use mutable objects as default parameters 2018-07-24
109. Context Managers in Python 2018-07-24
110. Setter and getter behavior of class property in Python3 2018-07-30
📚 quote [ 1 articles ]
111. Random quote 23 Feb 2017 2017-02-23
📚 redis [ 1 articles ]
112. Transaction style in Redis 2018-01-31
📚 svelte [ 2 articles ]
113. SvelteJS : Reactivity via variable assignment 2023-08-28
114. Reactive statement explicit dependencies like React useEffect 2023-11-12
📚 swift [ 1 articles ]
115. XCode automatic format code on build time 2024-02-28
📚 sysadmin [ 34 articles ]
116. FTP via curl tool 2015-12-03
117. View real-time logs using websocketd 2015-12-04
118. Commands 2015-12-30
119. Bash shell shortcuts 2016-03-26
120. Stats your top-10 frequently commands 2016-03-26
121. Compressing and Extracting files with rar in Linux 2017-05-17
122. Grant user to use sudo without password 2017-05-18
123. wget Output flag 2017-05-19
124. Using BSD find util to find and exec command on file and folder 2017-05-22
125. zcat : decompressing pipe tool 2017-05-22
126. Gearman bash worker and client 2017-06-15
127. Cleaning up old linux kernels 2017-08-06
128. Create SSH tunnel manually 2017-09-01
129. Enable reverse proxy in CentOS 2017-09-01
130. Ansible playbook : skip to task 2017-09-05
131. Grep : find a string in folder 2017-09-05
132. Lock and unlock a user password 2017-09-07
133. Generate dhparam file faster 2017-09-07
134. Blocking specified country to prevent from DDOS 2017-09-25
135. BASH exiting on first error 2017-09-26
136. BASH return a value in function 2017-09-26
137. BASH tracing commands 2017-09-27
138. TIME command output meaning 2017-10-04
139. Using netcat as tiny TCP debug tool 2017-10-07
140. Getting your external IP 2017-11-24
141. Use journalctl to check system logs 2018-01-22
142. Prevent source hacking from .git directory exposing 2018-03-01
143. Cut file content from line to line 2018-03-25
144. Prepend line number to file 2018-03-25
145. Create a sequence of numbers 2018-03-25
146. Send a file through networking via netcat 2018-04-10
147. Create tiny chat channel via netcat 2018-04-10
148. View DNS history of a domain 2018-05-08
149. Curl override Name Resolution with specific IP address 2018-08-18
📚 tools [ 2 articles ]
150. Base 64 encode and decode builtin tool 2017-04-21
151. Zip compressing list of files 2017-09-25
📚 varnish [ 1 articles ]
152. Check vcl file syntax before restarting 2018-01-31
📚 vim [ 2 articles ]
153. Using mark to bookmark checkpoints in files 2018-01-30
154. Convert tabs to spaces 2018-02-21
📚 web [ 9 articles ]
155. Cloudflare Error 522 Connection Time out 2017-05-18
156. Ping Google to crawl updated content 2017-08-08
157. Using web proxy to bypass firewalls 2017-12-07
158. HSTS rule in browser 2018-01-03
159. Bypass CORS by using JSONP callback 2018-01-08
160. Sending Cookie in AJAX CORs request 2018-03-01
161. Can not get real IP address from Load Balancer SSL Passthrough 2019-03-14
162. Smallest inline dummy image in HTML 2024-01-15
163. HTML Form no trigger submit when press Enter key on input 2024-09-19

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.