programming

Don’t refactor the code

Don’t refactor the code

This is a piece of advice someone gave me a long time ago. Unfortunately, I don't really remember who, so I cannot properly attribute (although chances are they heard it somewhere too). But I decided to re-share this. What is refactoring? I'm sure we can find multitude of definitions. But with modern software development process it often becomes synonymous with any kind of code changes that do not add, modify or remove features. In other words, a non-product work. In effect it often becomes a blurry term and cause of tension between product stakeholders and the dev team. Who among…
Read More
Understanding Types and Interfaces in TypeScript: A Comprehensive Guide

Understanding Types and Interfaces in TypeScript: A Comprehensive Guide

TypeScript, a superset of JavaScript, introduces static typing to the language, which helps developers catch errors early and write more maintainable code. Two of the most powerful features in TypeScript are types and interfaces. In this blog post, we'll explore the differences between types and interfaces, when to use each, and how they can help you write better TypeScript code. Table of Contents Introduction to Types and Interfaces Defining and Using Types Defining and Using Interfaces Differences Between Types and Interfaces Advanced Features Best Practices Conclusion 1. Introduction to Types and Interfaces Both types and interfaces allow you to define…
Read More
Fastest Way To Learn a Programming Language

Fastest Way To Learn a Programming Language

Curiosity The greats love to learn. They love to grow. They never lose their holy curiosity. Look at Michael Jordan for example. He wasn't the best basketball player in his family. He says that his big brother was more skilled than him. But he was curious. Education is the game changer. When you invest in your learning, you can see around corners, you collapse the timeline, you figure out how the pros do it. So guess what? You can do it. Before we continue: If you are interested in joining my group and course on web development to make you…
Read More
Understanding Terraform: A Guide to Effective IaC Practices

Understanding Terraform: A Guide to Effective IaC Practices

What is Terraform? Terraform is an infrastructure as code (IaC) tool that allows you to build, change, and version cloud and on-premises resources safely and efficiently. With Terraform, you define your infrastructure using human-readable configuration files, which can be versioned, reused, and shared. It works with a wide range of platforms and services through their APIs, enabling you to manage both low-level components (such as compute instances, storage, and networking) in a consistent manner. The 3 Stage Workflow: The Coding Stage: Define resources across one or multiple cloud providers and services in your configuration files, depending on your requirements. Here…
Read More
3 Ways to Use the @Lazy Annotation in Spring

3 Ways to Use the @Lazy Annotation in Spring

Does your Spring application take too long to start? Maybe this annotation could help you. This annotation indicates to Spring that a bean needs to be lazily initiated. Spring will not create this bean at the start of the application. Instead, it will create it only when the bean is requested for the first time. This allows Spring start-up to be faster. However, the first interaction with the bean can be slow because of the time required to create and inject the bean at runtime. You can use this annotation directly in the bean class (beans annotated with @Component and…
Read More
Setting Up an Nx Monorepo: A Step-by-Step Guide

Setting Up an Nx Monorepo: A Step-by-Step Guide

In the world of software development, managing multiple projects efficiently is critical to maintaining productivity and code quality. Monorepos, or single repositories that host multiple projects, have become a popular solution for this challenge. Nx, a powerful toolkit by Nrwl, is designed to make managing monorepos easier and more efficient. In this blog post, we'll walk you through the process of setting up an Nx monorepo from scratch. Why Choose Nx for Your Monorepo? Nx offers a range of features that make it an ideal choice for managing monorepos: Project Graph: Visualize and manage dependencies between projects. Code Generation: Quickly…
Read More
Bash Scripting for Software Engineers – A Beginner’s Guide

Bash Scripting for Software Engineers – A Beginner’s Guide

It's your first day at your new job. You've been handed a computer running Linux, and you were told to locate all the files containing the word "key". It's a simple enough task, right? The catch is, there are thousands of files on that system, and you've never written a shell script before. Shell scripting, the language of the command line, is your ticket to automating repetitive tasks and mastering your Linux environment. With this guide, you'll be able to navigate your way around any Bash terminal with ease, and you might learn a couple of cool tricks along the…
Read More
What Has Tech Done For You

What Has Tech Done For You

I wanted to be a philosopher, I loved the mystical lifestyle of Aristotle and Plato and how they questioned everything. Imagine how innovative and powerful their minds were. I wanted to create logical thoughts. But during one of my lectures at college, I got an eureka moment. I felt the need to not just think through problems but create solutions. I looked around what problem could I solve and the problem of finding easy rentals for students came up. I figured if students could rent houses in time and with little budget it would save them a lot. Building the…
Read More
How to Quickly Learn Programming Languages

How to Quickly Learn Programming Languages

Learning a new programming language can be both exciting and challenging. As a computer engineering graduate, I've navigated this path multiple times. Here are some practical strategies, enhanced with examples and personal insights, to help you learn a new programming language quickly and efficiently. 1. Overcoming Attachment to Your Comfort Zone One of the biggest hurdles many developers face is their attachment to a language they are already proficient in. This attachment can make it hard to embrace a new language. Developers often try to accomplish tasks using their familiar language instead of learning a new one that might be…
Read More
Python Basics 2: Datatypes

Python Basics 2: Datatypes

Datatype:Every value in Python has a datatype. The datatype is mainly the category of the data. There are basically 5 categories of datatypes; however, these categories have further classifications as well. 1.Numeric Type:a) Integer (int): positive or negative whole numbers (without a fractional part). Example: 10,-3,10000 b) Floating point (float): Any real numbers with 'decimal' points or floating point representation.Example: -3.14, 10.23 c) Complex Number: Combionation of real and imaginary number. Example: 2+3i [we don't use this that much] 2.Boolean Type(bool): Data with one of the two built-in values True or False. Often used in the comparison operations of logical…
Read More
No widgets found. Go to Widget page and add the widget in Offcanvas Sidebar Widget Area.