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