Photo by Mahrous Houses on Unsplash

So, lately, I just found a coffee machine for an amateur like me who loves to drink a coffee without thinking and what beans that consist of. As a Software Engineer usually i spend 18.000 IDR every day to get a cup of coffee, If I'm too lazy waiting for the coffee, I always drink Goodday Coffee as a daily basis. But, 1 month ago I found something very interesting when strolling around at E-Commerce. This machine called Nespresso allows me to create a latter or cappucino instantly since I'm comfortable with cappucino. So that’s it!, Nespresso saves my life to cut the cost of having coffee everyday!


Design patterns are solutions to general problems that software developers faced during software development

Photo by Bernard Hermant on Unsplash

Facade

In general, we can clarify Facade meaning based on Cambridge Dictionary is the front of a building, especially a large or attractive building:

So what is it mean in Design Pattern? based on refactoring guru, Facade is a structural design pattern that provides a simplified interface to a library, a framework, or any other complex set of classes.

Okay, it’s getting weird until here, right? Let’s crack this together about Facade Design Pattern

Problem solved by Facade Design Pattern

Imagine that you have a complex subsystem to a single application, without Facade you need to integrate and connect each dots application to another application. …


Photo by Sergey Zolkin on Unsplash

Have you ever went to a Pizza restaurant, where the restaurant only has few waiters with a lot of visitors, so you will wait for the waiter to serve you, or have you ever ordered a Pizza from an online site where it needs to choose Pizza first, then you can choose the drink? which will require you to fill this step

  • Choose Pizza Type
  • Choose Pizza Sauce Base
  • Choose Topping
  • Choose Pizza Size
  • Choose Beverages
  • Choose Desserts

It’s like a one whole hell life-cycle that you can’t get through everything in one time. So, we will crack it!

Case: Naufal want to get a Pizza from Sliced Pizza


Photo by Alex Kotliarskyi on Unsplash

Other ways of describing this new way of solving problems include the analogy between an imperative programmer as “a cook or a chemist, following recipes and formulas to achieve a desired result” and the object-oriented programmer as “a Greek philosopher or 19th-century naturalist concerned with the proper taxonomy and description of the creatures and places of the programming world.”

Based on my experience, when it comes to Competitive Programming / OOP Code Interview. The user mostly asks what language are going to use for cracking this problem. If you use JavaScript and you don’t fit the syntax, how Prototype works…


Photo by Thunder Client

Almost 2 years that I've been in the Professional Software Engineering industry, once my senior taught me that I need to use Postman and create Swagger while testing API. So, I started looking at the other API Platform for Testing, while I always use VSCode as my IDE, I think it would not be perfect if I don't have a lot of extensions in my VSCode. 1 month ago, I found this extension somewhere, called Thunder Client.

Where this helps me soo much to test my API without opening other applications, A one-stop solution for developing API, of course, it’s…


Photo by Clement Helardot on Unsplash

Once said, there are pit-falls in over-engineering just as under-engineering. Join those of us who believe our challenge is to find the right-engineering. Using else is the root of all evil — Donald Knuth

The computer has absolutely no problem dealing with the most complicated, unreadable, and convoluted if-else statements. But people do. Complicated rules usually mean that the person who wrote it has a poor understanding of the problem, the abstract concepts, or the programming language. Such code is fragile — difficult to debug and likely to break. …


Design patterns are reusable solutions to commonly occurring problems in software design. They are proven solutions, easily reusable and expressive. They lower the size of your codebase, prevent future refactoring, and make your code easier to understand by other developers.

Design patterns help combine experiences of many developers to structure the codes in an optimized manner that meet the problems we are seeking solutions to, and gives common vocabulary used to describe solutions to our problems than describing the syntax and semantics of our code.

JavaScript design patterns assist developers to write organized, beautiful and well-structured codes. Although design patterns…


This article might be some reference how code can be implement, there is always another simplier way or easiest way to write CSS globally and effectively. There’s no thing such as true or false, its your own styles.

CSS-in-JS libraries provide us with a new approach for writing CSS. They aim to tackle the limitations of CSS, such as the lack of dynamic functionality, scoping, and portability. In spite of its advantages, CSS-in-JS is a controversial technology, as many developers ask if it’s worth further complicating front-end development.

This article intend to give you a high-level overview of CSS-in-JS libraries…


Credit: drkvogel & Aftab22: https://stackoverflow.com/questions/27991366/what-is-the-difference-between-state-and-props-in-react

One of the most confusing topics when first learning React is when to use state vs props. They seem to both do very similiar things, and many times look like they are used interchangeably. I will also be using specific examples to explain when to use state and when to use props.

What does Props mean?

In simply way “props” means properties nothing special about this word, Well right then What makes props special?

props are passed into the components

Here’s some example that provided by React https://reactjs.org/docs/thinking-in-react.html

class Hello extends React.Component {
render() {
return <h1>Hello {this.props.name}</h1>;
}
}
Hello.defaultProps = {
name…


Node JS and Kafka logo

The story tell that we are going to create some live data streaming that very huge. This was small tutorial to handle a huge data coming from our client and provide smoke performing after smoke processing.

We would like to create a simple huge live data streaming that was used by Spotify here! using Kafka , NodeJS and WebSocket.

What is Kafka?

Apache Kafka is a community distributed event streaming platform capable of handling trillions of events a day. Initially conceived as a messaging queue, Kafka is based on an abstraction of a distributed commit log. …

Muhammad Naufal Rachfian Djamhur

Software Engineer who got D score in Introduction to Programming at college 👨‍🎓🧑‍💻

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store