HackerTrans
TopNewTrendsCommentsPastAskShowJobs

johnjr

no profile record

Submissions

The Reflection on My First Year at Meta (Facebook)

johnjr.dev
4 points·by johnjr·पिछला माह·0 comments

A New Series on Cracking FAANG-Level Code Challenges

johnjr.dev
2 points·by johnjr·7 माह पहले·1 comments

Builder Design Pattern and Cyclomatic Complexity Reduction

johnjr.dev
2 points·by johnjr·8 माह पहले·1 comments

Composition, Inheritance, and Liskov Substitution Principle

joaojunior.org
3 points·by johnjr·पिछला वर्ष·3 comments

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

joaojunior.org
1 points·by johnjr·पिछला वर्ष·1 comments

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

joaojunior.org
7 points·by johnjr·2 वर्ष पहले·0 comments

Lua scripts are not atomic in Redis

joaojunior.org
3 points·by johnjr·2 वर्ष पहले·0 comments

comments

johnjr
·6 माह पहले·discuss
Very nice job!
johnjr
·7 माह पहले·discuss
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 माह पहले·discuss
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
·पिछला वर्ष·discuss
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
·पिछला वर्ष·discuss
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
·पिछला वर्ष·discuss
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 वर्ष पहले·discuss
I just wrote a post about how the Cpython is much faster without GIL:https://news.ycombinator.com/item?id=40988244