{"id":16105504,"url":"https://github.com/tsonglew/daily-ex","last_synced_at":"2025-03-18T08:31:48.305Z","repository":{"id":110229286,"uuid":"47840499","full_name":"tsonglew/Daily-Ex","owner":"tsonglew","description":":book: Exercises in C, C++, Java, Algorithms, Data Structure","archived":false,"fork":false,"pushed_at":"2018-12-15T02:20:45.000Z","size":28831,"stargazers_count":8,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-28T08:28:15.360Z","etag":null,"topics":["algorithm","assembly","csharp","java","javascript","linux","machine-learning","python","swift","unity3d"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tsonglew.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-12-11T17:20:15.000Z","updated_at":"2018-12-15T02:20:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"931e1d02-37d5-484c-9576-8350a72e9d36","html_url":"https://github.com/tsonglew/Daily-Ex","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsonglew%2FDaily-Ex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsonglew%2FDaily-Ex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsonglew%2FDaily-Ex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsonglew%2FDaily-Ex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tsonglew","download_url":"https://codeload.github.com/tsonglew/Daily-Ex/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243910749,"owners_count":20367545,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","assembly","csharp","java","javascript","linux","machine-learning","python","swift","unity3d"],"created_at":"2024-10-09T19:09:46.397Z","updated_at":"2025-03-18T08:31:48.296Z","avatar_url":"https://github.com/tsonglew.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TO READ\n\n  [Coding Interview University](https://github.com/jwasham/coding-interview-university)\n\n  * [初学者如何从零学习人工智能？](http://blog.jobbole.com/107495/)\n  * [Google 开源项目风格指南](http://zh-google-styleguide.readthedocs.io/en/latest/contents/)\n  * [Regular Expression Language](https://msdn.microsoft.com/en-us/library/az24scfc.aspx)\n  * [Math ∩ Programming](https://jeremykun.com/)\n  * [程序员必读的十篇文章](http://blog.jobbole.com/71723/)\n  * [Command Chanllenge](https://cmdchallenge.com/)\n  * [Must-See Tech Talks for Every Programmer](http://www.ybrikman.com/writing/2014/05/29/must-see-tech-talks-for-every-programmer/)\n  * [浅谈 MVC、MVP 和 MVVM 架构模式](http://draveness.me/mvx.html)\n  * [Design patterns for microservices](https://azure.microsoft.com/en-us/blog/design-patterns-for-microservices/)\n  * [Google Developers Web Fundamental](https://developers.google.com/web/fundamentals)\n\n\n# Students' Resources\n\n  * [Computer Networking A Top-Down Approach](http://wps.pearsoned.com/ecs_kurose_compnetw_6/216/55463/14198700.cw/index.html)\n  * [How to Design Programs, Second Edition](http://www.ccs.neu.edu/home/matthias/HtDP2e/)\n  * [Let's Build a Compiler](https://compilers.iecc.com/crenshaw/)\n  * [The LEMON Parser Generator](http://www.hwaci.com/sw/lemon/)\n\n\n### Python\n\n  * [Python 包管理工具解惑](http://python.jobbole.com/86466/)\n  * [Python自动化面试必备 之 你真明白装饰器么?](http://python.jobbole.com/86632/)\n  * [Python 标准库 urllib2 的使用细节](http://zhuoqiang.me/python-urllib2-usage.html)\n  * [The key differences between Python 2.7.x and Python 3.x with examples](http://sebastianraschka.com/Articles/2014_python_2_3_key_diff.html#the-future-module)\n  * [The Hitchhiker’s Guide to Python](http://docs.python-guide.org/en/latest/)\n  * [Playing music with Python](http://guzalexander.com/2012/08/17/playing-a-sound-with-python.html)\n  * [What is a metaclass in Python?](http://stackoverflow.com/questions/100003/what-is-a-metaclass-in-python)\n  * [深刻理解Python中的元类(metaclass)](http://blog.jobbole.com/21351/)\n  * [What is a \"callable\" in Python?](http://stackoverflow.com/questions/111234/what-is-a-callable-in-python)\n  * [Python中不尽如人意的断言Assertion](https://segmentfault.com/a/1190000007248161)\n  * [“史上最详细”的Python模拟登录新浪微博流程](https://zhuanlan.zhihu.com/p/23064000)\n  * [玩Python之HTTP代理](http://python.jobbole.com/86747/)\n  * [Python: Declaring Dynamic Attributes](http://amir.rachum.com/blog/2016/10/05/python-dynamic-attributes/)\n  * [对 Python Socket 编程的初探](http://python.jobbole.com/86837/)\n  * [Python扒取异步加载内容](http://www.jianshu.com/p/6002ef3434fd)\n  * [Python函数式编程：从入门到走火入魔](http://python.jobbole.com/86950/)\n  * [PYTHON-进阶-编码处理小结](http://wklken.me/posts/2013/08/31/python-extra-coding-intro.html)\n  * [Thinking about Concurrency, Raymond Hettinger, Python core developer](https://www.youtube.com/watch?v=Bv25Dwe84g0)\n  * [super 没那么简单](http://python.jobbole.com/87291/)\n  * [David Beazley - Topics of Interest (Python Asyncio)](https://www.youtube.com/watch?v=ZzfHjytDceU)\n  * [Efficient String Concatenation in Python](https://waymoot.org/home/python_string/)\n  * [Things which aren't magic - Flask and @app.route - Part 1](https://ains.co/blog/things-which-arent-magic-flask-part-1.html)\n  * [Things which aren't magic - Flask and @app.route - Part 2](https://ains.co/blog/things-which-arent-magic-flask-part-2.html)\n  * [Problem Solving with Algorithms and Data Structures using Python](http://interactivepython.org/runestone/static/pythonds/index.html)\n  * [What does if \\_\\_name\\_\\_ == “\\_\\_main\\_\\_”: do?](http://stackoverflow.com/questions/419163/what-does-if-name-main-do)\n  * [Generator Tricks For Systems Programmers](http://www.dabeaz.com/generators/Generators.pdf)\n  * [A Curious Course on Coroutines and Concurrency](http://dabeaz.com/coroutines/)\n  * [Improve Your Python: 'yield' and Generators Explained](https://jeffknupp.com/blog/2013/04/07/improve-your-python-yield-and-generators-explained/)\n  * [Python Descriptors, Part 1 of 2](http://martyalchin.com/2007/nov/23/python-descriptors-part-1-of-2/)\n  * [Python Descriptors, Part 2 of 2](http://martyalchin.com/2007/nov/24/python-descriptors-part-2-of-2/)\n  * [Descriptor HowTo Guide](https://docs.python.org/2/howto/descriptor.html)\n  * [Real-time apps with gevent-socketio](http://learn-gevent-socketio.readthedocs.io/en/latest/index.html)\n  * [Python yield与实现](http://www.cnblogs.com/coder2012/p/4990834.html)\n  * [Thread Synchronization Mechanisms in Python](http://effbot.org/zone/thread-synchronization.htm)\n  * [A guide to Python's function decorators](http://thecodeship.com/patterns/guide-to-python-function-decorators/)\n  * [Testing, for people who hate testing](https://eev.ee/blog/2016/08/22/testing-for-people-who-hate-testing/)\n  * [Minimal examples of data structures and algorithms in Python](https://github.com/Python-Learning/algorithms)\n  * [How to Make a Proxy Server in Python](https://null-byte.wonderhowto.com/how-to/sploit-make-proxy-server-python-0161232/)\n  * [Socket 编程实战](http://liujiacai.net/blog/2016/10/31/socket-programming/)\n  * [Understanding Asynchronous Programming in PythonUnderstanding Asynchronous Programming in Python](https://dbader.org/blog/understanding-asynchronous-programming-in-python)\n  * [A Primer on Python Metaclasses](https://jakevdp.github.io/blog/2012/12/01/a-primer-on-python-metaclasses/)\n\n\n### C/C++\n\n  * [内存泄漏漫谈](http://tmq.qq.com/2016/10/memory-leak-rambling/)\n  * [判断链表是否有环](http://blog.jobbole.com/107601/)\n  * [关于 std::set/std::map 的几个为什么](http://blog.jobbole.com/107647/)\n  * [有趣的问题：C 的表达式 x == x，何时为假?](http://blog.jobbole.com/107901/)\n  * [The fork() System Call](http://www.csl.mtu.edu/cs4411.ck/www/NOTES/process/fork/create.html)\n\n\n### Golang\n\n  * [Go 微服务实战汇总](https://gocn.vip/question/1999)\n  * [The Go Compiler](https://www.codeschool.com/blog/2016/10/05/the-go-compiler/)\n  * [Why Go?](https://www.codeschool.com/blog/2016/09/28/why-go/)\n  * [Why Go Is Not Good](http://yager.io/programming/go.html)\n  * [Things I Wish Someone Had Told Me About Golang](http://openmymind.net/Things-I-Wish-Someone-Had-Told-Me-About-Go/)\n  * [Go语言Interface漫谈](http://www.infoq.com/cn/articles/go-interface-talk)\n  * [如何避开 Go 中的各种陷阱](http://newt0n.github.io/2016/11/07/%E5%A6%82%E4%BD%95%E9%81%BF%E5%BC%80-Go-%E4%B8%AD%E7%9A%84%E5%90%84%E7%A7%8D%E9%99%B7%E9%98%B1/)\n  * [Go 反射实践及剖析](http://blog.jobbole.com/108601/)\n  * [Go 语言入门进阶](https://gold.xitu.io/collection/5832a3a01e35c90ec130597b)\n  * [Awesome Go](https://awesome-go.com)\n  * [build-web-application-with-golang](https://astaxie.gitbooks.io/build-web-application-with-golang/)\n  * [What exactly does runtime.Gosched do?](http://stackoverflow.com/questions/13107958/what-exactly-does-runtime-gosched-do)\n  * [C, Go -- a side-by-side reference sheet](http://hyperpolyglot.org/c)\n  * [Rob Pike - 'Concurrency Is Not Parallelism'](https://www.youtube.com/watch?v=cN_DpYBzKso)\n  * [go-database-sql](http://go-database-sql.org/overview.html)\n  * [50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang\n    Devs](http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/index.html)\n  * [Don't Get Bitten by Pointer vs Non-Pointer Method Receivers in Golang](https://nathanleclaire.com/blog/2014/08/09/dont-get-bitten-by-pointer-vs-non-pointer-method-receivers-in-golang/)\n  * [Go By Example](https://gobyexample.com)\n  * [50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs](http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/index.html)\n  * [University courses that use Go](https://github.com/golang/go/wiki/Courses)\n  * [Profiler labels in Go](https://rakyll.org/profiler-labels/)\n  * [Million WebSockets and Go](https://medium.com/@gobwas/million-websockets-and-go-cc58418460bb)\n  * [Building a Real-time Collaborative Drawing App in Go](https://outcrawl.com/realtime-collaborative-drawing-go/)\n  * [深入解析 Go 中 Slice 底层实现](http://www.cocoachina.com/programmer/20170831/20428.html)\n  * [Methods, Interfaces and Embedded Types in Go](https://www.ardanlabs.com/blog/2014/05/methods-interfaces-and-embedded-types.html)\n  * [Macro View of Map Internals In Go](https://www.ardanlabs.com/blog/2013/12/macro-view-of-map-internals-in-go.html)\n\n\n### Git\n\n  * [Git Submodules basic explanation](https://gist.github.com/gitaarik/8735255)\n\n\n### Docker \u0026 Kubernetes\n\n  * [Understanding Volumes in Docker](http://container-solutions.com/understanding-volumes-docker/)\n  * [Load Balancing Kubernetes Services with NGINX Plus](https://www.nginx.com/blog/load-balancing-kubernetes-services-nginx-plus/)\n  * [Jérôme Petazzoni -- Cgroups, namespaces, and beyond: what are containers made from?](https://www.youtube.com/watch?v=sK5i-N34im8)\n  * [Sandeep Dinesh -- Kubernetes Best Practices](https://speakerdeck.com/thesandlord/kubernetes-best-practices)\n  * [Docker 核心技术与实现原理](https://draveness.me/docker)\n  * [Understanding the Docker Cache for Faster Builds](https://thenewstack.io/understanding-the-docker-cache-for-faster-builds/)\n\n#### Dockerfile\n\n  * [An Exhaustive Guide to Writing Dockerfiles for Node.js Web Apps](https://blog.hasura.io/an-exhaustive-guide-to-writing-dockerfiles-for-node-js-web-apps-bbee6bd2f3c4)\n  * [The Ultimate Guide to Writing Dockerfiles for Go Web-apps](https://blog.hasura.io/the-ultimate-guide-to-writing-dockerfiles-for-go-web-apps-336efad7012c)\n\n### Swift\n\n  * [Trip to iOS](https://github.com/iOS-Ex/trip-to-iOS)\n  * [Swift 语言指南](http://dev.swiftguide.cn/)\n\n\n### JavaScript\n\n  * [SurviceJS](https://survivejs.com)\n  * [JavaScript原型详解](http://gold.xitu.io/post/57f336a9816dfa00568f300c)\n  * [Essential Electron](http://jlord.us/essential-electron/)\n  * [尾调用优化](http://www.ruanyifeng.com/blog/2015/04/tail-call.html)\n  * [Why Math.min() \u003e Math.max()?](http://stackoverflow.com/questions/8848779/why-math-min-math-max)\n  * [A crash course in memory management](https://hacks.mozilla.org/2017/06/a-crash-course-in-memory-management/)\n  * [ECMAScript 5 Strict Mode, JSON, and More](https://johnresig.com/blog/ecmascript-5-strict-mode-json-and-more/)\n  * [JavaScript ES6+: var, let, or const?](https://medium.com/javascript-scene/javascript-es6-var-let-or-const-ba58b8dcde75)\n  * [JavaScript Promises for Dummies](https://scotch.io/tutorials/javascript-promises-for-dummies#toc-consuming-promises)\n  * [JavaScript Promises: an Introduction ](https://developers.google.com/web/fundamentals/primers/promises)\n  * [Understanding JavaScript’s async await](https://ponyfoo.com/articles/understanding-javascript-async-await)\n  * [The Node.js Event Loop, Timers, and process.nextTick()](https://github.com/nodejs/node/blob/v6.x/doc/topics/event-loop-timers-and-nexttick.md)\n  * [ECMAScript 6 sets: union, intersection, difference](http://2ality.com/2015/01/es6-set-operations.html)\n  * [理解 JavaScript 的 async/await](https://segmentfault.com/a/1190000007535316)\n\n\n### Argumented Reality\n\n  * [Augmented reality with Python and OpenCV ](https://bitesofcode.wordpress.com/2017/09/12/augmented-reality-with-python-and-opencv-part-1/)\n\n### C# and Unity\n\n  * [Unity3D tutorials](https://unity3d.com/learn/tutorials)\n  * [Execution Order of Event Functions](https://docs.unity3d.com/Manual/ExecutionOrder.html)\n  * [Unity中UI曲面化](https://juejin.im/post/59c1fd9b6fb9a00a48439e7e)\n\n\n### Computer System \u0026 OS\n\n  * [Assembly Programming Tutorial](https://www.tutorialspoint.com/assembly_programming/index.htm)\n  * [Processor Modes](http://flint.cs.yale.edu/feng/research/BIOS/procModes.htm)\n  * [存储系统](http://share.onlinesjtu.com/mod/tab/view.php?id=208)\n  * [Guide to x86-64](https://web.stanford.edu/class/cs107/guide_x86-64.html)\n\n\n### Machine Learning\n\n  * [梯度下降算法以及其Python实现](http://www.jianshu.com/p/9bf3017e2487)\n  * [Scikit-learn中的决策树](http://www.jianshu.com/p/59b510bafb4d)\n  * [Machine Learning -- Andrew Ng](https://www.coursera.org/learn/machine-learning/home)\n  * [Deep Learning](https://github.com/exacity/deeplearningbook-chinese)\n  * [朴素贝叶斯分类器的应用 -- 阮一峰](http://www.ruanyifeng.com/blog/2013/12/naive_bayes_classifier.html)\n  * [Rules of Machine Learning: Best Practices for ML Engineering](http://martin.zinkevich.org/rules_of_ml/rules_of_ml.pdf)\n  * [Learn TensorFlow and deep learning, without a Ph.D.](https://cloud.google.com/blog/big-data/2017/01/learn-tensorflow-and-deep-learning-without-a-phd)\n  * [Hacker's guide to Neural Networks](http://karpathy.github.io/neuralnets/)\n  * [Kaiming He -- Deep Residual Networks](http://icml.cc/2016/tutorials/icml2016_tutorial_deep_residual_networks_kaiminghe.pdf)\n  * [Building a Neural Net from Scratch in Go](http://www.datadan.io/building-a-neural-net-from-scratch-in-go/)\n  * [基于时间序列检测算法的智能报警实现](https://juejin.im/post/5a7fa9176fb9a063435ed43f)\n\n\n### Computer networks\n\n  * [Selective Repeat Protocol.](https://media.pearsoncmg.com/aw/ecs_kurose_compnetwork_7/cw/content/interactiveanimations/selective-repeat-protocol/index.html)\n\n\n### HTTP and Server-Side\n\n  * [Chrome扩展程序开发](https://github.com/ecmadao/Coding-Guide/blob/master/Notes/%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B/Chrome%E6%89%A9%E5%B1%95%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91.md)\n  * [一次完整的 HTTP 请求过程](http://blog.jobbole.com/106632/)\n  * [全栈必备 负载均衡](http://blog.jobbole.com/106851/)\n  * [Difference between proxy server and reverse proxy server](http://stackoverflow.com/questions/224664/difference-between-proxy-server-and-reverse-proxy-server/366212#366212)\n  * [How does Https work?](http://www.songzhw.com/2016/09/13/how-does-https-work/)\n  * [大型网站架构系列：负载均衡详解](http://mp.weixin.qq.com/s?__biz=MzAxNzMwOTQ0NA%3D%3D\u0026mid=2653354620\u0026idx=4\u0026sn=8e6e02a94f614c18449244375b028418\u0026chksm=8035d017b7425901e03ec5e008f066766904dc9371923101c15a80c065d6dd29c7c5ce135149)\n  * [How Digest Authentication Works](https://technet.microsoft.com/en-us/library/cc780170\\(v=ws.10\\).aspx)\n\n\n### DataBase\n\n  * [Redis 内存使用优化与存储](http://blog.jobbole.com/106466/)\n  * [MySQL 分区表](http://blog.jobbole.com/107662/)\n  * [MySQL Indexing Best Practices](https://www.percona.com/files/presentations/WEBINAR-MySQL-Indexing-Best-Practices.pdf)\n  * [Visual Representation of SQL Joins](http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins?utm_source=wanqu.co\u0026utm_campaign=Wanqu+Daily\u0026utm_medium=website)\n  * [How does a relational database work](http://coding-geek.com/how-databases-work/)\n  * [Redis基础、高级特性与性能调优](http://www.jianshu.com/p/2f14bc570563)\n  * [Using pipelining to speedup Redis queries](https://redis.io/topics/pipelining)\n  * [MySQL索引背后的数据结构及算法原理](http://blog.codinglabs.org/articles/theory-of-mysql-index.html)\n\n### Haskell\n\n  * [The algebra (and calculus!) of algebraic data types](https://codewords.recurse.com/issues/three/algebra-and-calculus-of-algebraic-data-types)\n\n\n### Unix \u0026 Linux\n\n  * [Linux From Scratch](http://www.linuxfromscratch.org)\n  * [Linux 技巧：让进程在后台可靠运行的几种方法](https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/)\n  * [linux中强大且常用命令：find、grep](http://blog.jobbole.com/107458/)\n  * [SSH原理与运用（一）：远程登录](http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html)\n  * [SSH原理与运用（二）：远程操作与端口转发](http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html)\n  * [Difference Between Telnet and SSH](http://www.differencebetween.net/technology/internet/difference-between-telnet-and-ssh/)\n  * [gdb Debugging Full Example (Tutorial): ncurses](http://www.brendangregg.com/blog/2016-08-09/gdb-example-ncurses.html)\n  * [Linux Performance](http://www.brendangregg.com/linuxperf.html)\n  * [Linux Inside](https://github.com/0xAX/linux-insides/)\n  * [\\[Ubuntu\\]What's the difference between “Service” and “/etc/init.d/”?](http://askubuntu.com/questions/2075/whats-the-difference-between-service-and-etc-init-d)\n  * [what is POSIX?](http://stackoverflow.com/questions/1780599/i-never-really-understood-what-is-posix)\n  * [What are file descriptors?](http://stackoverflow.com/questions/5256599/what-are-file-descriptors-explained-in-simple-terms)\n  * [Basics of the Unix Philosophy](http://homepage.cs.uri.edu/~thenry/resources/unix_art/ch01s06.html)\n  * [select / poll / epoll: practical difference for system architects](https://www.ulduzsoft.com/2014/01/select-poll-epoll-practical-difference-for-system-architects/)\n  * [How to use epoll? A complete example in C](https://banu.com/blog/2/how-to-use-epoll-a-complete-example-in-c/)\n  * [跟我一起写Makefile:隐含规则](http://wiki.ubuntu.org.cn/%E8%B7%9F%E6%88%91%E4%B8%80%E8%B5%B7%E5%86%99Makefile:%E9%9A%90%E5%90%AB%E8%A7%84%E5%88%99)\n  * [Linux and Unix nc command](http://www.computerhope.com/unix/nc.htm)\n  * [Unix Makefile Tutorial](https://www.tutorialspoint.com/makefile/index.htm)\n  * [Where do files go when the rm command is issued?](https://unix.stackexchange.com/questions/10883/where-do-files-go-when-the-rm-command-is-issued)\n  * [Remote Procedure Calls (RPC)](https://users.cs.cf.ac.uk/Dave.Marshall/C/node33.html)\n  * [What's the difference between set, export and env and when should I use each?](https://askubuntu.com/questions/205688/whats-the-difference-between-set-export-and-env-and-when-should-i-use-each)\n  * [深刻理解Linux进程间通信（IPC）](https://www.ibm.com/developerworks/cn/linux/l-ipc/)\n  * [Async IO on Linux: select, poll, and epoll](https://jvns.ca/blog/2017/06/03/async-io-on-linux--select--poll--and-epoll/)\n\n\n### Vim\n\n  * [vim tips and tricks](https://www.cs.oberlin.edu/~kuperman/help/vim/home.html)\n  * [使用python写vim插件](https://segmentfault.com/a/1190000000756107)\n  * [Learning the vi Editor/Vim/VimL Script language](https://en.wikibooks.org/wiki/Learning_the_vi_Editor/Vim/VimL_Script_language)\n  * [Open Vim](http://www.openvim.com)\n\n\n### Security\n\n  * [分布式拒绝服务攻击(DDoS)原理及防范](http://blog.jobbole.com/46846/)\n  * [SQL注入攻击高级](http://blog.jobbole.com/105259/)\n  * [SQL 注入速查表](http://blog.jobbole.com/105860/)\n  * [HTTPS 协议降级攻击原理](http://blog.jobbole.com/106792/)\n  * [对称密码与公钥密码](http://js.walfud.com/cryptology/)\n  * [漫画：如何用脚本抢月饼?](http://blog.jobbole.com/106676/)\n  * [验证码的前世今生（前世篇）](http://jaq.alibaba.com/community/art/show?articleid=548)\n  * [验证码的前世今生（今生篇）](http://jaq.alibaba.com/community/art/show?articleid=582)\n  * [What is a Digital Signature?](http://www.youdzone.com/signature.html)\n  * [RSA算法原理（一）](http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html)\n  * [RSA算法原理（二）](http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html)\n  * [Why RSA can't handle numbers above modulus?](http://crypto.stackexchange.com/questions/3798/why-rsa-cant-handle-numbers-above-76)\n  * [密码算法详解——AES](http://www.mamicode.com/info-detail-514466.html)\n  * [RESTful 架构风格下的 4 大常见安全问题](http://blog.jobbole.com/109610/)\n  * [对 CBC 模式的一些攻击](http://quant67.com/post/crypt/cbc-crack/attack-on-cbc.html)\n  * [A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS](http://www.ross.net/crc/download/crc_v3.txt)\n\n### Algorithms\n\n  * [Algorithms, 4th Edition](http://algs4.cs.princeton.edu/home/)\n  * [漫画算法：找出缺失的整数](http://blog.jobbole.com/106521/)\n  * [漫画算法：辗转相除法是什么鬼？](http://blog.jobbole.com/106315/?utm_source=blog.jobbole.com\u0026utm_medium=relatedPosts)\n  * [漫画算法：如何判断链表有环？](http://blog.jobbole.com/106227/?utm_source=blog.jobbole.com\u0026utm_medium=relatedPosts)\n  * [漫画算法：无序数组排序后的最大相邻差值](http://blog.jobbole.com/108594/)\n  * [坐在马桶上看算法（1）：桶排序](http://blog.jobbole.com/100361/)\n  * [坐在马桶上看算法（2）：邻居好说话，冒泡排序](http://blog.jobbole.com/100378/)\n  * [坐在马桶上看算法（3）：快速排序](http://blog.jobbole.com/100531/)\n  * [坐在马桶上看算法（4）：小哼买书](http://blog.jobbole.com/100631/)\n  * [坐在马桶上看算法（5）：队列](http://blog.jobbole.com/100714/)\n  * [坐在马桶上看算法（6）：栈](http://blog.jobbole.com/100780/)\n  * [坐在马桶上看算法（7）：Floyd最短路径算法](http://blog.jobbole.com/100936/)\n  * [坐在马桶上看算法（8）：Dijkstra最短路径算法](http://blog.jobbole.com/101065/)\n  * [坐在马桶上看算法（9）：巧妙的邻接表](http://blog.jobbole.com/101136/)\n  * [坐在马桶上看算法（10）：开启“树”之旅](http://blog.jobbole.com/101245/)\n  * [坐在马桶上看算法（11）：二叉树](http://blog.jobbole.com/101391/)\n  * [坐在马桶上看算法（12）：堆—神奇的优先队列（上）](http://blog.jobbole.com/101484/)\n  * [坐在马桶上看算法（13）：堆—神奇的优先队列（下）](http://blog.jobbole.com/101620/)\n  * [LZ77 压缩算法编码原理详解](http://blog.jobbole.com/106146/?utm_source=blog.jobbole.com\u0026utm_medium=relatedPosts)\n  * [常见hash算法的原理](http://blog.jobbole.com/106733/)\n  * [Why should hash functions use a prime number modulus?](http://stackoverflow.com/questions/1145217/why-should-hash-functions-use-a-prime-number-modulus)\n  * [一些有趣的算法](https://yq.aliyun.com/articles/62867?utm_campaign=wenzhang\u0026utm_medium=article\u0026utm_source=QQ-qun\u0026utm_content=m_7383)\n  * [计算机科学中最重要的32个算法](http://mp.weixin.qq.com/s?__biz=MzA5ODUxOTA5Mg==\u0026mid=2652550555\u0026idx=1\u0026sn=1fd1ced6bc1bb6d58bd015b39e6cc706\u0026chksm=8b7e44c0bc09cdd68f5c4efa783da89f8413769c557067b1c00c3328cd95976f380cac496e56\u0026mpshare=1\u0026scene=23\u0026srcid=1121gzHeqkJil2nmKRUFV36g#rd)\n  * [字符串匹配的KMP算法](http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html)\n  * [字符串匹配的Boyer-Moore算法](http://www.ruanyifeng.com/blog/2013/05/boyer-moore_string_search_algorithm.html)\n  * [Hofstadter的非线性递推数列](http://www.matrix67.com/blog/archives/5152)\n  * [parallel merge sort](http://ocw.alfaisal.edu/NR/rdonlyres/Electrical-Engineering-and-Computer-Science/6-046JFall-2005/30C68118-E436-4FE3-8C79-6BAFBB07D935/0/ps9sol.pdf)\n  * [通过分析 JDK 源代码研究 TreeMap 红黑树算法实现](http://www.ibm.com/developerworks/cn/java/j-lo-tree/index.html?ca=drs-)\n  * [Dynamic Programming — Maximum Subarray Problem](http://algorithms.tutorialhorizon.com/dynamic-programming-maximum-subarray-problem/)\n  * [Raft](https://raft.github.io)\n  * [原地内存整理算法](http://quant67.com/post/gc/restruct/restruct-mem.html)\n  * [500 Data Structures and Algorithms practice problems and their solutions](https://techiedelight.quora.com/500-Data-Structures-and-Algorithms-practice-problems-and-their-solutions?__filter__=\u0026__nsrc__=2\u0026__snid3__=1594232728\u0026share=1\u0026from=singlemessage\u0026isappinstalled=0)\n  * [The Knuth-Morris-Pratt Algorithm in my own words](http://jakeboxer.com/blog/2009/12/13/the-knuth-morris-pratt-algorithm-in-my-own-words/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsonglew%2Fdaily-ex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftsonglew%2Fdaily-ex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsonglew%2Fdaily-ex/lists"}