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=ExpressionDO 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.