carfield.com.hkdata.txt2024-08-25T08:17:24Z2024-08-25T08:17:24Z<br/>Interview with JOOQ founder - <a href="https://www.infoq.com/news/2017/02/data-geekery-releases-jooq-3-9">https://www.infoq.com/news/2017/02/data-geekery-releases-jooq-3-9</a> <br/><br/>The Untold Story of SQLite - <a href="https://corecursive.com/066-sqlite-with-richard-hipp/">https://corecursive.com/066-sqlite-with-richard-hipp/</a> <a href="https://www.infoq.cn/article/Y1GrKv1JeIJAyqwG8cab">https://www.infoq.cn/article/Y1GrKv1JeIJAyqwG8cab</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2024-08-25T08:17:24Zspotify.txt2024-02-24T12:45:36Z2024-02-24T12:45:36Z<br/>System Design Interview Question: Design Spotify - <a href="https://levelup.gitconnected.com/system-design-interview-question-design-spotify-4a8a79697dda">https://levelup.gitconnected.com[..]iew-question-design-spotify-4a8a79697dda</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2024-02-24T12:45:36ZArchitecture.txt2024-01-16T11:38:09Z2024-01-16T11:38:09Z<br/>Top Ten Software Architecture Mistakes - <a href="http://www.infoq.com/news/2007/10/top-ten-architecture-mistakes">http://www.infoq.com/news/2007/10/top-ten-architecture-mistakes</a> <br/><br/>Discussion about the balance of upfront design - <a href="http://blog.objectmentor.com/articles/2009/04/25/the-scatology-of-agile-architecture">http://blog.objectmentor.com[..]4/25/the-scatology-of-agile-architecture</a> <br/><br/>There is no conflict in agile and architecture - <a href="http://www.andrejkoelewijn.com/wp/2011/03/28/there-is-no-conflict-in-agile-and-architecture/">http://www.andrejkoelewijn.com[..]s-no-conflict-in-agile-and-architecture/</a> <br/><br/><a href="http://c2.com/cgi/wiki?HexagonalArchitecture">http://c2.com/cgi/wiki?HexagonalArchitecture</a> <br/><br/>Experience of build instead of buy - <a href="http://arstechnica.com/business/2012/05/build-versus-buy-one-companys-decision-to-go-it-alone/">http://arstechnica.com[..]uy-one-companys-decision-to-go-it-alone/</a> <br/><br/>Problem of too many layer - <a href="http://johannesbrodwall.com/2014/07/10/the-madness-of-layered-architecture/">http://johannesbrodwall.com[..]/10/the-madness-of-layered-architecture/</a> <br/><br/><a href="http://edmundkirwan.com/general/simple.html">http://edmundkirwan.com/general/simple.html</a> <br/><br/><a href="http://blog.schauderhaft.de/2014/06/29/you-want-to-become-an-software-architect-here-is-your-reading-list/">http://blog.schauderhaft.de[..]are-architect-here-is-your-reading-list/</a> <br/><br/>Sometime it is worth to build to throw - <a href="http://martinfowler.com/bliki/SacrificialArchitecture.html">http://martinfowler.com/bliki/SacrificialArchitecture.html</a> <br/><br/> Business Transactions<br/> External Dependencies<br/> Caching Strategy<br/> Garbage Collection<br/> Application Topology<br/><a href="http://blog.appdynamics.com/java/top-5-java-performance-metrics-to-capture-in-enterprise-applications/">http://blog.appdynamics.com[..]s-to-capture-in-enterprise-applications/</a> <br/><br/>invent a solution the majority of whose components depend on no others with those few components whose task it is to compose those other components being left largely to coordination roles. - <a href="http://edmundkirwan.com/general/simple.html">http://edmundkirwan.com/general/simple.html</a> <br/><br/><a href="http://blog.cloudera.com/blog/2014/09/getting-started-with-big-data-architecture/">http://blog.cloudera.com[..]ting-started-with-big-data-architecture/</a> <br/><br/>Twitter - <a href="http://www.infoq.com/cn/articles/twitter-architecture-evolution">http://www.infoq.com/cn/articles/twitter-architecture-evolution</a> <a href="http://highscalability.com/blog/2016/4/20/how-twitter-handles-3000-images-per-second.html">http://highscalability.com[..]tter-handles-3000-images-per-second.html</a> <br/><br/>Suning, more on HTTP - <a href="http://www.infoq.com/cn/articles/suning-product-details-system-architecture-design">http://www.infoq.com[..]oduct-details-system-architecture-design</a> <br/><br/>Decision - <a href="https://javax0.wordpress.com/2016/05/04/architects-dont-decide/">https://javax0.wordpress.com/2016/05/04/architects-dont-decide/</a> <br/><br/>Some suggestion of making system simple, well, but the suggestion itself it is that simple - <a href="https://www.infoq.com/articles/driving-architectural-simplicity">https://www.infoq.com/articles/driving-architectural-simplicity</a> <br/><br/><a href="https://medium.com/towards-data-science/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013">https://medium.com[..]ural-patterns-in-a-nutshell-a0b47a1e9013</a> <br/><br/><a href="https://www.in28minutes.com/introduction-to-software-architecture">https://www.in28minutes.com/introduction-to-software-architecture</a> <br/><br/>Explaining common different architecture patterns - <a href="https://levelup.gitconnected.com/software-architecture-the-important-architectural-patterns-you-need-to-know-a1f5ea7e4e3d">https://levelup.gitconnected.com[..]l-patterns-you-need-to-know-a1f5ea7e4e3d</a> <br/><br/>Software Architecture Patterns - <a href="https://orkhanscience.medium.com/software-architecture-patterns-5-mins-read-e9e3c8eb47d2">https://orkhanscience.medium.com[..]ecture-patterns-5-mins-read-e9e3c8eb47d2</a> <br/><br/>12 Software Architecture Pitfalls and How to Avoid Them - <a href="https://www.infoq.com/articles/avoid-architecture-pitfalls/">https://www.infoq.com/articles/avoid-architecture-pitfalls/</a> <a href="https://www.infoq.cn/article/TUTLdsEvSyUr9H1bmD3b">https://www.infoq.cn/article/TUTLdsEvSyUr9H1bmD3b</a> <br/><br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2024-01-16T11:38:09Zdisney.txt2023-12-09T14:48:16Z2023-12-09T14:48:16Z<br/>Why Disney Plus’s new Hulu integration was such a huge, high-stakes challenge - <a href="https://www.fastcompany.com/90993539/disney-plus-hulu-integration-beta">https://www.fastcompany.com[..]993539/disney-plus-hulu-integration-beta</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2023-12-09T14:48:16Zmicroservice.txt2023-12-09T14:20:22Z2023-12-09T14:20:22Z<br/>The Hidden Dividends of Microservices - <a href="http://queue.acm.org/detail.cfm?ref=rss&id=2956643">http://queue.acm.org/detail.cfm?ref=rss&id=2956643</a> <br/><br/>Best practices - <a href="http://www.infoq.com/cn/articles/best-practice-of-constructing-micro-service-system-part03">http://www.infoq.com[..]constructing-micro-service-system-part03</a> <br/><br/><a href="http://basho.com/posts/technical/microservices-please-dont/">http://basho.com/posts/technical/microservices-please-dont/</a> <br/><br/>Compare using library / service - <a href="http://blog.jessitron.com/2017/01/dependencies.html">http://blog.jessitron.com/2017/01/dependencies.html</a> <a href="http://www.infoq.com/cn/articles/dependency-management-whether-library-or-service">http://www.infoq.com[..]cy-management-whether-library-or-service</a> <br/><br/>What We Got Wrong: Lessons from the Birth of Microservices - <a href="https://www.infoq.com/presentations/google-microservices/">https://www.infoq.com/presentations/google-microservices/</a> <a href="https://www.infoq.cn/article/L*bT1UfuVoj1I6NRNM3U">https://www.infoq.cn/article/L*bT1UfuVoj1I6NRNM3U</a> <br/><br/>From Monolith to Microservices for Github - <a href="https://www.infoq.com/presentations/github-rails-monolith-microservices/">https://www.infoq.com[..]ons/github-rails-monolith-microservices/</a> <a href="https://www.infoq.cn/article/zYGF4FpIVVt5U2omioUu">https://www.infoq.cn/article/zYGF4FpIVVt5U2omioUu</a> <br/><br/>Monolithic to Microservices Architecture with Patterns & Best Practices - <a href="https://medium.com/design-microservices-architecture-with-patterns/monolithic-to-microservices-architecture-with-patterns-best-practices-a768272797b2">https://medium.com[..]ith-patterns-best-practices-a768272797b2</a> <a href="https://www.infoq.cn/article/6dlQZisMiXK3hzLIwEET">https://www.infoq.cn/article/6dlQZisMiXK3hzLIwEET</a> <br/><br/>Don’t start with microservices – monoliths are your friend - <a href="https://arnoldgalovics.com/microservices-in-production/">https://arnoldgalovics.com/microservices-in-production/</a> <a href="https://www.infoq.cn/article/qhx3Dazko1EC2KMimJBc">https://www.infoq.cn/article/qhx3Dazko1EC2KMimJBc</a> <br/><br/>The False Dichotomy of Monolith vs. Microservices - <a href="https://www.infoq.com/articles/monolith-versus-microservices/">https://www.infoq.com/articles/monolith-versus-microservices/</a> <a href="https://www.infoq.cn/article/WWdqpvUpCmvyw8X7u1KH">https://www.infoq.cn/article/WWdqpvUpCmvyw8X7u1KH</a> <br/><br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2023-12-09T14:20:22Zcommandline.txt2023-11-11T12:39:05Z2023-11-11T12:39:05Z<br/><br/>Elevate developer experiences with CLI design guidelines - <a href="https://www.thoughtworks.com/insights/blog/engineering-effectiveness/elevate-developer-experiences-cli-design-guidelines">https://www.thoughtworks.com[..]eloper-experiences-cli-design-guidelines</a> <br/><br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2023-11-11T12:39:05Zamazon.txt2023-11-01T14:03:03Z2023-11-01T14:03:03Z<br/>How I scaled Amazon’s Load Generator to run on 1000s of machines - <a href="https://carloarg02.medium.com/how-i-scaled-amazons-load-generator-to-run-on-1000s-of-machines-4ca8f53812cf">https://carloarg02.medium.com[..]to-run-on-1000s-of-machines-4ca8f53812cf</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2023-11-01T14:03:03Zmeta.txt2023-10-23T12:56:49Z2023-10-23T12:56:49Z<br/>Data engineering at Meta: High-Level Overview of the internal tech stack - <a href="https://medium.com/@AnalyticsAtMeta/data-engineering-at-meta-high-level-overview-of-the-internal-tech-stack-a200460a44fe">https://medium.com[..]-of-the-internal-tech-stack-a200460a44fe</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2023-10-23T12:56:49Zarchitecture.txt2023-04-30T14:05:15Z2023-04-30T14:05:15Z<br/>7 Architecture Design Patterns — You wish you knew before interview - <a href="https://web3usecase.co/7-architecture-design-patterns-you-wish-you-knew-before-interview-e9806bc01b6f">https://web3usecase.co[..]h-you-knew-before-interview-e9806bc01b6f</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2023-04-30T14:05:15Zhashing.txt2023-03-06T11:58:46Z2023-03-06T11:58:46Z<br/><a href="http://computinglife.wordpress.com/2008/11/20/why-do-hash-functions-use-prime-numbers/">http://computinglife.wordpress.com[..]why-do-hash-functions-use-prime-numbers/</a> <br/><a href="http://www.azillionmonkeys.com/qed/hash.html">http://www.azillionmonkeys.com/qed/hash.html</a> <br/><br/>The World's Smallest Hash Table - <a href="https://orlp.net/blog/worlds-smallest-hash-table/">https://orlp.net/blog/worlds-smallest-hash-table/</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2023-03-06T11:58:46ZJeff Dean.txt2023-02-28T00:53:04Z2023-02-28T00:53:04Z<br/>How Google’s Jeff Dean became the Chuck Norris of the Internet. - <a href="https://slate.com/technology/2013/01/jeff-dean-facts-how-a-google-programmer-became-the-chuck-norris-of-the-internet.html">https://slate.com[..]me-the-chuck-norris-of-the-internet.html</a> <br/><br/>谷歌最好的程序员 Jeff Dean:我用过 18 种编程语言 - <a href="https://www.infoq.cn/news/6DxKgF0KO8kgkYh3EIDT">https://www.infoq.cn/news/6DxKgF0KO8kgkYh3EIDT</a> <a href="https://twitter.com/JeffDean/status/1627885526127874049">https://twitter.com/JeffDean/status/1627885526127874049</a> <br/><br/>The Friendship That Made Google Huge - <a href="https://www.newyorker.com/magazine/2018/12/10/the-friendship-that-made-google-huge">https://www.newyorker.com[..]/10/the-friendship-that-made-google-huge</a> <a href="https://www.infoq.cn/article/rAJiubRpi9xSl_LEhI2N">https://www.infoq.cn/article/rAJiubRpi9xSl_LEhI2N</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2023-02-28T00:53:04ZImplementation.txt2023-02-28T00:51:13Z2023-02-28T00:51:13Z<br/>Tired with duplicating Try-Catch for resource acquisition? Can try to create proxy method - <a href="http://hamletdarcy.blogspot.com/2008/09/declarative-synchronization-with-java.html">http://hamletdarcy.blogspot.com[..]clarative-synchronization-with-java.html</a> <br/><br/>Discussion of naming of if block - <a href="http://blog.objectmentor.com/articles/2008/09/26/if-methods-redux">http://blog.objectmentor.com/articles/2008/09/26/if-methods-redux</a> <br/><br/>Factors for choosing a strategic technology stack, runtime performance is not a factor for him, probably good idea - <a href="http://jchyip.blogspot.com/2011/04/factors-for-choosing-strategic.html">http://jchyip.blogspot.com[..]1/04/factors-for-choosing-strategic.html</a> <br/><br/>Don't think , stay focus - <a href="http://www.threeriversinstitute.org/blog/?p=594">http://www.threeriversinstitute.org/blog/?p=594</a> <br/><br/>Using class name as variable name is a bad thing? I doubt about it, but interesting idea - <a href="http://www.warski.org/blog/2013/01/dry-parameter-names/">http://www.warski.org/blog/2013/01/dry-parameter-names/</a> <br/><br/>The problem of using generic name - <a href="http://martinfowler.com/bliki/TransparentCompilation.html">http://martinfowler.com/bliki/TransparentCompilation.html</a> <br/><br/>Beware of where memory allocated, sometime there is no off side for lazy initalization - <a href="http://plumbr.eu/blog/would-you-dare-to-change-hashmap-implementation">http://plumbr.eu[..]ou-dare-to-change-hashmap-implementation</a> <br/><br/>Some suggestion of how to code in order to prevent unreproducible bugs - <a href="http://googletesting.blogspot.hk/2014/02/minimizing-unreproducible-bugs.html">http://googletesting.blogspot.hk[..]4/02/minimizing-unreproducible-bugs.html</a> <br/><br/>More careful to check null - <a href="http://blog.jooq.org/2015/08/11/top-10-useful-yet-paranoid-java-programming-techniques/">http://blog.jooq.org[..]et-paranoid-java-programming-techniques/</a> <br/><br/><a href="http://www.infoq.com/cn/articles/wisdom-of-programming">http://www.infoq.com/cn/articles/wisdom-of-programming</a> <br/><br/>The fewer conditions you test for, the better your code “tastes”. - <a href="https://medium.com/@bartobri/applying-the-linus-tarvolds-good-taste-coding-requirement-99749f37684a#.1glkhe7np">https://medium.com[..]ding-requirement-99749f37684a#.1glkhe7np</a> <br/><br/>Think twice before running a loop - <a href="https://blog.jetbrains.com/idea/2017/08/code-smells-iteration">https://blog.jetbrains.com/idea/2017/08/code-smells-iteration</a> <br/><br/>Example of how to remove mutation status - <a href="https://blog.jetbrains.com/idea/2017/08/code-smells-mutation">https://blog.jetbrains.com/idea/2017/08/code-smells-mutation</a> <br/><br/>The Best Algorithm No One Knows About, linear randomization - <a href="https://getkerf.wordpress.com/2016/03/30/the-best-algorithm-no-one-knows-about/">https://getkerf.wordpress.com[..]0/the-best-algorithm-no-one-knows-about/</a> <br/><br/>Small change can make big difference - <a href="https://blog.pitest.org/how-i-once-saved-half-a-million-dollars-with-a-single-character-code-change/">https://blog.pitest.org[..]ars-with-a-single-character-code-change/</a> <br/><br/>Eager is Easy, Lazy is Labyrinthine - <a href="https://medium.com/javarevisited/eager-is-easy-lazy-is-labyrinthine-b12605f13048">https://medium.com[..]s-easy-lazy-is-labyrinthine-b12605f13048</a> <br/><br/>How to organize your code? - <a href="https://kislayverma.com/programming/how-to-organize-your-code/">https://kislayverma.com/programming/how-to-organize-your-code/</a> <br/><br/>When you have to - <a href="https://www.codejava.net/coding/java-getter-and-setter-tutorial-from-basics-to-best-practices">https://www.codejava.net[..]r-tutorial-from-basics-to-best-practices</a> <br/><br/>Ask HN: What's the most elegant piece of code you've seen? - <a href="https://news.ycombinator.com/item?id=11005003">https://news.ycombinator.com/item?id=11005003</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2023-02-28T00:51:13ZIdempotence.txt2023-02-13T14:02:04Z2023-02-13T14:02:04Z<br/>Sample chater of REST book , which contain a nice discussion of why Idempotence is important - <a href="http://www.infoq.com/resource/articles/richardson-ruby-restful-ws/en/resources/04.pdf">http://www.infoq.com[..]dson-ruby-restful-ws/en/resources/04.pdf</a> <br/><br/>New Acid:<br/> * A – Associative<br/> * C – Commutative<br/> * I – Idempotent<br/> * D - Distributed<br/><br/><a href="http://www.eaipatterns.com/ramblings/68_acid.html">http://www.eaipatterns.com/ramblings/68_acid.html</a> <br/><br/>Idempotency patterns - <a href="http://jonathan-oliver.blogspot.com/2010/04/idempotency-patterns.html">http://jonathan-oliver.blogspot.com[..]ot.com/2010/04/idempotency-patterns.html</a> <br/><br/>Detailed discussion about how to design Idempotence - <a href="http://queue.acm.org/detail.cfm?id=2187821">http://queue.acm.org/detail.cfm?id=2187821</a> <br/><br/>Discuss about clock in distributed environment - <a href="http://basho.com/clocks-are-bad-or-welcome-to-distributed-systems/">http://basho.com[..]e-bad-or-welcome-to-distributed-systems/</a> <br/><br/>Idempotent operations - <a href="https://levelup.gitconnected.com/idempotent-operations-b1d4b9b76417">https://levelup.gitconnected.com[..]d.com/idempotent-operations-b1d4b9b76417</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2023-02-13T14:02:04Znaming.txt2023-01-11T14:13:27Z2023-01-11T14:13:27Z<br/>What is the hardest thing in software development? - <a href="https://dnastacio.medium.com/real-to-virtual-b2bacd2423c9">https://dnastacio.medium.com/real-to-virtual-b2bacd2423c9</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2023-01-11T14:13:27Zflow condition.txt2023-01-06T03:17:18Z2023-01-06T03:17:18Z<br/>i wonder if it makes sense to refactor from this:<br/><pre><br/>public void someMethod(SomeClass someObject) {<br/> if(someObject != null){<br/> do something ...<br/> }<br/>}<br/>to this:<br/>public void someMethod(SomeClass someObject) {<br/> if(someObject == null) return;<br/> do something ...<br/>}<br/></pre><br/><a href="http://groups.yahoo.com/group/refactoring/message/3385">http://groups.yahoo.com/group/refactoring/message/3385</a> <br/><br/>The other discussion about flow control presentation - <a href="http://www.artima.com/forums/flat.jsp?forum=106&thread=211172">http://www.artima.com/forums/flat.jsp?forum=106&thread=211172</a> <br/><br/>A Response to “Stop Using If-Else Statements” - <a href="https://betterprogramming.pub/response-to-stop-using-if-else-statements-c3d4c64c69af">https://betterprogramming.pub[..]op-using-if-else-statements-c3d4c64c69af</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2023-01-06T03:17:18ZYAGNI.txt2022-11-03T23:37:56Z2022-11-03T23:37:56Z<br/>When XP says "go for the simplest possible design", what does that mean?<br/>1. Simplest possible design to IMPLEMENT?<br/>1. Simplest possible design to UNDERSTAND LATER?<br/><br/>An thread discuss how far should we go. Seen most people agree what should be done is "Simplest possible design to TEST and IMPLEMENT"<br/><br/><a href="http://groups.yahoo.com/group/extremeprogramming/message/90466">http://groups.yahoo.com/group/extremeprogramming/message/90466</a> <br/><br/>It apply on feature, not on quality - <a href="http://martinfowler.com/bliki/Yagni.html">http://martinfowler.com/bliki/Yagni.html</a> <br/><br/>Don’t write reusable code - <a href="https://medium.com/@scott.boring.sb/dont-write-reusable-code-a857e925b683">https://medium.com[..]sb/dont-write-reusable-code-a857e925b683</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2022-11-03T23:37:56ZBest pattern.txt2022-10-21T00:58:05Z2022-10-21T00:58:05Z<br/>Discussion about which pattern is most important - <a href="http://www.adam-bien.com/roller/page/abien?entry=most_important_patterns">http://www.adam-bien.com[..]page/abien?entry=most_important_patterns</a> <br/><br/>Pattern Language Titles - <a href="http://c2.com/ppr/titles.html">http://c2.com/ppr/titles.html</a> <br/><br/>10 Design Patterns every Software Architect and Software Engineer must know - <a href="https://ravindraelicherla.medium.com/10-design-patterns-every-software-architect-must-know-b33237bc01c2">https://ravindraelicherla.medium.com[..]oftware-architect-must-know-b33237bc01c2</a> <br/><br/>Strategy, Singleton, Observer - <a href="https://blog.bitsrc.io/3-design-patterns-every-developer-should-learn-71a51568ac9d">https://blog.bitsrc.io[..]very-developer-should-learn-71a51568ac9d</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2022-10-21T00:58:05Zexamples.txt2022-10-20T13:12:35Z2022-10-20T13:12:35Z<br/>Non-Software Examples of Software Design Patterns - <a href="http://www.cours.polymtl.ca/inf3700/divers/nonSoftwareExample/patexamples.html">http://www.cours.polymtl.ca[..]vers/nonSoftwareExample/patexamples.html</a> <br/><br/><a href="http://www.dotnetcube.com/post/Design-Patterns-e28093-Using-the-Chain-of-Responsibility-Pattern-in-C.aspx">http://www.dotnetcube.com[..]hain-of-Responsibility-Pattern-in-C.aspx</a> <br/><br/>Patterns to replace switch - <a href="http://jamesladdcode.com/?p=299">http://jamesladdcode.com/?p=299</a> <br/><br/>Design pattern in JDK - <a href="http://www.javacodegeeks.com/2011/03/design-patterns-in-jdk.html">http://www.javacodegeeks.com/2011/03/design-patterns-in-jdk.html</a> <br/><br/>Pattern examples in java - <a href="https://java-design-patterns.com/patterns/">https://java-design-patterns.com/patterns/</a> <br/><br/>How to use the Command pattern in Java - <a href="https://www.infoworld.com/article/3667498/how-to-use-the-command-pattern-in-java.html">https://www.infoworld.com[..]-to-use-the-command-pattern-in-java.html</a> <br/><br/>static factory - <a href="http://www.sumondey.com/static-factory-methods-instead-of-public-constructors-in-java/">http://www.sumondey.com[..]-instead-of-public-constructors-in-java/</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2022-10-20T13:12:35Zsearch engine.txt2022-09-18T21:04:57Z2022-09-18T21:04:57Z<br/>Generally, how a search engine work - <a href="http://horicky.blogspot.com/2010/03/search-engine-basics.html">http://horicky.blogspot.com/2010/03/search-engine-basics.html</a> <br/><br/>Search engine logic - <a href="http://www.infoq.com/cn/articles/a-search-engine-scheduling-architecture-for-reference">http://www.infoq.com[..]ne-scheduling-architecture-for-reference</a> <br/><br/>Don't tell me everything you know - limit to specific set of datas , like ameture / professional<br/>Ask me the next most reasonable question<br/>Offer me to establish my search identity<br/><br/><a href="http://jooto.com/blog/index.php/2008/01/05/how-to-improve-search-engines/">http://jooto.com[..]008/01/05/how-to-improve-search-engines/</a> <br/><br/><a href="https://advancedweb.hu/intro-to-lucene/">https://advancedweb.hu/intro-to-lucene/</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2022-09-18T21:04:57ZHigh level software design discussion.shtml2022-06-21T00:19:50Z2022-06-21T00:19:50Z<br/>A nice table:
<table cellpadding="5" width="50%">
<tbody>
<tr>
<td valign="top"><strong>Do</strong>
</td>
<td valign="top"><strong>Don't</strong>
</td>
</tr>
<tr>
<td valign="top">1. Focus on interfaces.</td>
<td valign="top">2. Be worried about the implementation.</td>
</tr>
<tr>
<td valign="top">3. Mention semantic contract using interfaces.</td>
<td valign="top">4. Let subtypes break this semantic contract of their parent types.</td>
</tr>
<tr>
<td valign="top">5. Service decoupling using interfaces.</td>
<td valign="top">6. Be coupled with specific concrete implementation.</td>
</tr>
<tr>
<td valign="top">7. Family extension using interfaces.</td>
<td valign="top">8. Break the family relationship using concrete implementation.</td>
</tr>
<tr>
<td valign="top">9. Establish a family rule by abstract classes.</td>
<td valign="top">10. Impose your own rule through concrete classes.</td>
</tr>
<tr>
<td valign="top">11. Let interfaces answer all "what" about the system.</td>
<td valign="top">12. Forget to mention "how" are you answering all "what" from interfaces.</td>
</tr>
</tbody>
</table>
Also a good introduction of Strategy pattern<br><br>
<a href="http://today.java.net/pub/a/today/2006/03/28/testing-java-object-oriented.html">http://today.java.net[..]/03/28/testing-java-object-oriented.html</a>
How to determine the levels of abstraction - <a href="http://programmers.stackexchange.com/questions/110933/how-to-determine-the-levels-of-abstraction">http://programmers.stackexchange.com[..]w-to-determine-the-levels-of-abstraction</a>
Simple and clear, good design -> Correct, clear, easy to change - <a href="http://randomartifacts.blogspot.com.au/2013/01/correctness-clarity-and-changeability.html">http://randomartifacts.blogspot.com.au[..]rrectness-clarity-and-changeability.html</a>
Data Oriented Programming in Java - <a href="https://www.infoq.com/articles/data-oriented-programming-java/">https://www.infoq.com/articles/data-oriented-programming-java/</a>
<br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2022-06-21T00:19:50Zanalytic.txt2022-05-21T13:43:53Z2022-05-21T13:43:53Z<br/>Experience of using AWS Redshift - <a href="http://highscalability.com/blog/2019/2/27/give-meaning-to-100-billion-events-a-day-the-shift-to-redshi.html">http://highscalability.com[..]on-events-a-day-the-shift-to-redshi.html</a> <br/><br/>腾讯信息流内容理解算法工程全流程实践 - <a href="https://www.infoq.cn/article/Dy5kzdczdHzKmi26JAXL">https://www.infoq.cn/article/Dy5kzdczdHzKmi26JAXL</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2022-05-21T13:43:53Zsocialmedia.txt2022-05-21T13:06:44Z2022-05-21T13:06:44Z<br/>Open Sourcing Twitter’s Algorithm Part 1: How Twitter Works - <a href="https://transitivebullsh.it/oss-twitter-algorithm-part-1">https://transitivebullsh.it/oss-twitter-algorithm-part-1</a> <a href="https://www.infoq.cn/article/Es2BoMREB9JofbzQ2SBU">https://www.infoq.cn/article/Es2BoMREB9JofbzQ2SBU</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2022-05-21T13:06:44Zreservation.txt2022-04-21T23:34:15Z2022-04-21T23:34:15Z<br/>DB Locking in Reservation Systems - <a href="https://akshitbansall.medium.com/db-locking-in-reservation-systems-3b3d574c7676">https://akshitbansall.medium.com[..]king-in-reservation-systems-3b3d574c7676</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2022-04-21T23:34:15Zdatabase.txt2022-04-09T12:18:32Z2022-04-09T12:18:32Z<br/>Partitioning GitHub’s relational databases to handle scale - <a href="https://github.blog/2021-09-27-partitioning-githubs-relational-databases-scale/">https://github.blog[..]ning-githubs-relational-databases-scale/</a> <a href="https://www.infoq.cn/article/L1oIV0GORfNfuysaHfL4">https://www.infoq.cn/article/L1oIV0GORfNfuysaHfL4</a> <br/><br/>A Distributed System Interview Question: How to Avoid Read Inconsistency During a Transaction - <a href="https://betterprogramming.pub/a-distributed-system-interview-question-how-to-avoid-read-inconsistency-during-a-transaction-6ac3b4a8f92a">https://betterprogramming.pub[..]stency-during-a-transaction-6ac3b4a8f92a</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2022-04-09T12:18:32Zperformance.txt2022-03-14T04:40:26Z2022-03-14T04:40:26Z<br/><a href="http://highscalability.com/blog/2012/5/16/big-list-of-20-common-bottlenecks.html">http://highscalability.com[..]6/big-list-of-20-common-bottlenecks.html</a> <br/><br/>Nothing specific, mostly code clean up, refactoring and simplification, the performance boost was a surprise. <- This is a good one - <a href="http://bad-concurrency.blogspot.com.au/2012/07/disruptor-v3-faster-hopefully.html">http://bad-concurrency.blogspot.com.au[..]12/07/disruptor-v3-faster-hopefully.html</a> <br/><br/>Is there anything we can do about this when designing algorithms and data-structures? Yes there is a lot we can do. If we perform chunks of work on data that is co-located, and we stride around memory in a predictable fashion, then our algorithms can be many times faster. For example rather than using bucket and chain hash tables, like in the JDK, we can employ hash tables using open-addressing with linear-probing. Rather than using linked-lists or trees with single items in each node, we can store an array of many items in each node. - <a href="http://mechanical-sympathy.blogspot.com.au/2012/08/memory-access-patterns-are-important.html">http://mechanical-sympathy.blogspot.com.au[..]emory-access-patterns-are-important.html</a> <br/><br/>Skip lists are used instead of b-trees because b-trees don’t scale. - <a href="http://highscalability.com/blog/2012/8/14/memsql-architecture-the-fast-mvcc-inmem-lockfree-codegen-and.html">http://highscalability.com[..]ast-mvcc-inmem-lockfree-codegen-and.html</a> <br/><br/>Beware about the performance issue of static initalization - <a href="http://stackoverflow.com/questions/14010906/given-that-hashmaps-in-jdk1-6-and-above-cause-problems-with-multi-threading-how">http://stackoverflow.com[..]-cause-problems-with-multi-threading-how</a> <br/><br/>Experiment show why arraylist is better in most cases - <a href="http://www.javaadvent.com/2013/12/arraylist-vs-linkedlist.html">http://www.javaadvent.com/2013/12/arraylist-vs-linkedlist.html</a> <br/><br/>How to design low latency application in java - <a href="http://vanillajava.blogspot.com.au/2014/05/chronicle-and-low-latency-in-java.html">http://vanillajava.blogspot.com.au[..]5/chronicle-and-low-latency-in-java.html</a> <br/><br/><a href="http://highscalability.com/blog/2014/5/21/9-principles-of-high-performance-programs.html">http://highscalability.com[..]ciples-of-high-performance-programs.html</a> <a href="http://blog.libtorrent.org/2012/12/principles-of-high-performance-programs/">http://blog.libtorrent.org[..]principles-of-high-performance-programs/</a> <br/><br/>Suggestion about how to determine number of thread pool - <a href="http://venkateshcm.com/2014/05/How-To-Determine-Web-Applications-Thread-Poll-Size/">http://venkateshcm.com[..]rmine-Web-Applications-Thread-Poll-Size/</a> <br/><br/>Beware the performance penalty of logging - <a href="https://plumbr.eu/blog/locking-and-logging">https://plumbr.eu/blog/locking-and-logging</a> <br/><br/>Keep thing dynamic - <a href="http://highscalability.com/blog/2014/5/21/9-principles-of-high-performance-programs.html">http://highscalability.com[..]ciples-of-high-performance-programs.html</a> <br/><br/><a href="http://www.rationaljava.com/2015/01/first-rule-of-performance-optimisation.html">http://www.rationaljava.com[..]st-rule-of-performance-optimisation.html</a> <br/><br/><a href="http://www.eecs.berkeley.edu/~rcs/research/interactive_latency.html">http://www.eecs.berkeley.edu[..]u/~rcs/research/interactive_latency.html</a> <br/><br/><a href="http://highscalability.com/blog/2015/5/4/elements-of-scale-composing-and-scaling-data-platforms.html?SSLoginOk=true">http://highscalability.com[..]aling-data-platforms.html?SSLoginOk=true</a> <br/><br/>Discuss about developing low latency financial application - <a href="http://queue.acm.org/detail.cfm?ref=rss&id=2770868">http://queue.acm.org/detail.cfm?ref=rss&id=2770868</a> <br/><br/>Discussion of object pooling - <a href="http://highscalability.com/blog/2015/7/29/a-well-known-but-forgotten-trick-object-pooling.html">http://highscalability.com[..]-but-forgotten-trick-object-pooling.html</a> <a href="http://coffeenco.de/articles/jvm_performance_part_1_object_pooling.html">http://coffeenco.de[..]m_performance_part_1_object_pooling.html</a> <br/><br/>Efficiency - the amount of work you need to do.<br/>Performance - how fast you can do that work<br/>Efficiency - governed by your algorithm<br/>Performance - governed by your data structures.<br/><a href="http://www.rationaljava.com/2015/07/the-difference-between-efficiency-and.html">http://www.rationaljava.com[..]e-difference-between-efficiency-and.html</a> <br/><br/><br/>Turning off power save mode on the CPU reduced brought the max latency from 11 msec down to 8 msec.<br/>Guaranteeing threads will always have CPU resources using CPU isolation and thread affinity brought the maximum latency down to 14 microseconds.<br/><a href="http://highscalability.com/blog/2015/9/30/strategy-taming-linux-scheduler-jitter-using-cpu-isolation-a.html">http://highscalability.com[..]eduler-jitter-using-cpu-isolation-a.html</a> <br/><a href="http://epickrram.blogspot.co.uk/2015/09/reducing-system-jitter.html">http://epickrram.blogspot.co.uk[..]o.uk/2015/09/reducing-system-jitter.html</a> <br/><br/>About design for performance for webapi - <a href="http://tech.forter.com/9-5-low-latency-decision-as-a-service-design-patterns/">http://tech.forter.com[..]y-decision-as-a-service-design-patterns/</a> <br/><br/>check list - <a href="http://techbeacon.com/102-performance-engineering-questions-every-software-development-team-should-ask">http://techbeacon.com[..]ery-software-development-team-should-ask</a> <br/><br/>Beware if system utilization over 80% - <a href="http://www.infoq.com/cn/news/2016/02/utilisation-wait-latency">http://www.infoq.com/cn/news/2016/02/utilisation-wait-latency</a> <a href="http://robharrop.github.io/maths/performance/2016/02/20/service-latency-and-utilisation.html">http://robharrop.github.io[..]/20/service-latency-and-utilisation.html</a> <br/><br/>scalable-io-events-vs-multithreading-based - <a href="https://thetechsolo.wordpress.com/2016/02/29/scalable-io-events-vs-multithreading-based/">https://thetechsolo.wordpress.com[..]lable-io-events-vs-multithreading-based/</a> <br/><br/>How to find out bottleneck - <a href="https://vanilla-java.github.io/2017/02/06/Improving-percentile-latencies-in-Chronicle-Queue.html">https://vanilla-java.github.io[..]entile-latencies-in-Chronicle-Queue.html</a> <br/><br/><a href="https://www.inkandswitch.com/slow-software.html">https://www.inkandswitch.com/slow-software.html</a> <br/><br/>Compiler Performance and LLVM - <a href="http://pling.jondgoodwin.com/post/compiler-performance/">http://pling.jondgoodwin.com/post/compiler-performance/</a> <br/><br/>Know Thy Complexities! - <a href="https://www.bigocheatsheet.com/?fbclid=IwAR2iUUNJDHSJCc9PNgyoW9D2qyCTt3qMftzYxsdz7KJs8LkSeRPWLzguwpA">https://www.bigocheatsheet.com[..]oW9D2qyCTt3qMftzYxsdz7KJs8LkSeRPWLzguwpA</a> <br/><br/>10 大高性能开发宝石 - <a href="https://xie.infoq.cn/article/a0d418bf29915ecad5d5eeab0">https://xie.infoq.cn/article/a0d418bf29915ecad5d5eeab0</a> <br/><br/>How to detect and fix IO related performance issue - <a href="https://blog.ycrash.io/2020/11/28/i-o-waiting-cpu-time-wa-in-top/">https://blog.ycrash.io/2020/11/28/i-o-waiting-cpu-time-wa-in-top/</a> <br/><br/>RangeBitmap produces a RoaringBitmap of the indexes which satisfy a predicate, and can take RoaringBitmap parameters as inputs to skip over rows already filtered out. The Streams API code used before is translated into RangeBitmap API calls: - <a href="https://richardstartin.github.io/posts/range-predicates">https://richardstartin.github.io/posts/range-predicates</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>2022-03-14T04:40:26Z