HackerTrans
トップ新着トレンドコメント過去質問紹介求人

johnjr

no profile record

投稿

The Reflection on My First Year at Meta (Facebook)

johnjr.dev
4 ポイント·投稿者 johnjr·先月·0 コメント

A New Series on Cracking FAANG-Level Code Challenges

johnjr.dev
2 ポイント·投稿者 johnjr·7 か月前·1 コメント

Builder Design Pattern and Cyclomatic Complexity Reduction

johnjr.dev
2 ポイント·投稿者 johnjr·8 か月前·1 コメント

Composition, Inheritance, and Liskov Substitution Principle

joaojunior.org
3 ポイント·投稿者 johnjr·昨年·3 コメント

Improving Legacy Code: Using Task Queue to Speed Up a Crawler in an ETL Process

joaojunior.org
1 ポイント·投稿者 johnjr·昨年·1 コメント

Is CPython Faster Without the Global Interpreter Lock(GIL)?

joaojunior.org
7 ポイント·投稿者 johnjr·2 年前·0 コメント

Lua scripts are not atomic in Redis

joaojunior.org
3 ポイント·投稿者 johnjr·2 年前·0 コメント

コメント

johnjr
·6 か月前·議論
Very nice job!
johnjr
·7 か月前·議論
I know the stress of preparing for technical interviews at companies like FAANG. That's why I'm kicking off a new series to demystify the most critical coding interview concepts. First up: Binary Search. It seems simple, but its variations are where most candidates stumble. In this first post, I break down the algorithm, reveal the hidden patterns in its complex variants, and walk you through structured approaches to solve related problems efficiently.
johnjr
·8 か月前·議論
In this post, I will explain in detail how I used the builder design pattern together with the bit mask field technique to reduce complexity. As a result, I decreased the cyclomatic complexity from 24 to 0 and reduced development time from hours to minutes.

The rest of this post is organized as follows sections:

- The problem explains the problem I was solving. - Creating the bit mask field presents a solution to the problem. - Cyclomatic Complexity discusses cyclomatic complexity and calculates this metric for the solution presented in the section above. - Builder design pattern explains the builder design pattern and describes the refactoring process that removed complexity. - Conclusion summarizes this post. - References provides references related to the topics discussed here. All the examples shown here are in C++.
johnjr
·昨年·議論
Hi @linguae, The video in the post, originally presented by Barbara Liskov, is a very interesting resource on this topic. Let me know if your students want to discuss this in more detail, and please share their ideas!
johnjr
·昨年·議論
In software development, organizing our codebase in a way that is easy to maintain is always a good practice, and this idea is not new. Actually, I think this started in 1968 when the term software crisis was coined. Since then, we have developed many principles to help us achieve this goal. One person who has made many contributions to this field is Barbara Liskov. She is very famous for the Liskov Substitution Principle (LSP), but she also invented the Abstract Data Type(ADT), which is the core concept of classes and object-oriented programming. Here, I want to discuss composition compared to inheritance and how understanding the Liskov Substitution Principle can help you develop better software.
johnjr
·昨年·議論
I described how I improved an ETL process to be more than 4x faster using the same resources. While the old architecture used Python threads, the new one used task queue architecture to be more reliable and scalable. So, I will explain how we can improve a legacy code and speed it up by only modifying the architecture to run the code.
johnjr
·2 年前·議論
I just wrote a post about how the Cpython is much faster without GIL:https://news.ycombinator.com/item?id=40988244