Clean code in writing Go program

When writing code in Go, it is important to follow good coding practices to ensure that your code is clean, maintainable, and scalable. Here are some clean code and clean architecture practices to follow: Go coding style: Follow the official Go coding style guide, which includes recommendations for naming conventions, formatting, and documentation. Consistent coding […]

Interfaces in Go and best practice

Interfaces in Go are a set of methods that defines a behavior. A type can implement an interface by defining methods with the same signatures as the methods defined in the interface. This allows for a form of polymorphism in Go, where a single function or method can operate on values of different types, as […]

Basic concepts of Protocol-Oriented Programming (POP) in swift and ios developer

Protocol-Oriented Programming (POP) is a programming paradigm introduced in Swift that emphasizes the use of protocols as a way to define and enforce common behavior for multiple types. POP is a powerful tool for designing and organizing code, and can be used to achieve many of the same goals as object-oriented programming, but with greater […]

Functional Reactive Programming (FRP) and Imperative Programming :which one to use?

the big idea about Functional Reactive Programming (FRP) and Imperative Programming : which one to use? The choice between using Functional Reactive Programming (FRP) and Imperative Programming often depends on the particular problem being solved and the specific requirements of the project. Here are some general guidelines for when to use FRP and when to […]

Functional Reactive Programming (FRP) for ios developer

Functional Reactive Programming (FRP) is a programming paradigm that has gained popularity among iOS developers due to its ability to handle asynchronous events and its emphasis on immutability, composability, and purity. FRP allows iOS developers to write clean, maintainable code that is easy to understand and to scale. In traditional iOS development, handling asynchronous events […]

Functional Reactive Programming (FRP)

Functional Reactive Programming (FRP) is a programming paradigm that combines the functional programming style with reactive programming. Reactive programming is a programming paradigm that deals with asynchronous data streams and the propagation of change. It’s a way of handling events that occur in the user interface, network requests, or other event-driven systems. In FRP, the […]

Clean Architecture

What is Clean Architecture ? Clean Architecture which is also known as Domain-Driven Design has evolved with considerable improvements in the last several years. Some architecture names used for clean architecture over the years are given below: Hexagonal Architecture (https://en.wikipedia.org/wiki/Hexagonal_architecture_(software)) Onion Architecture Domain-Driven Design (DDD) or Domain Centric Architecture vertical Slice Architecture Clean Architecture Smell […]

SOLID principles

What is SOLID principles SOLID is a mnemon­ic for five design prin­ci­ples intend­ed to make soft­ware designs more under­stand­able, flex­i­ble and maintainable. As with every­thing in life, using these prin­ci­ples mind­less­ly can cause more harm than good. The cost of apply­ing these prin­ci­ples into a pro­gram’s archi­tec­ture might be mak­ing it more com­pli­cat­ed than it […]

Core Guidelines to clean code

REF https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines https://rules.sonarsource.com/

Basic concepts of Object-Oriented Design (OOD)

Object-Oriented Design (OOD) is a software design paradigm that emphasizes the use of objects and classes to represent real-world entities and their behavior. OOD is based on the idea that software systems can be modeled as a collection of objects that interact with each other to achieve a common goal. The following are some of […]

Design principles: bad and good one and some basic ideas

Good design principles in coding is a set of guidelines and best practices that aim to produce high-quality, maintainable, and scalable software. These principles aim to make code more readable, understandable, and efficient. Some common design principles include: Simplicity: Code should be simple and straightforward, avoiding complexity and unnecessary abstractions. Functionality: Code should be focused […]

Software design pyramid

The Software Design Pyramid is a concept that helps software developers to understand and prioritize the various elements that make up a well-designed software system. The pyramid has four layers, starting with the foundation of the software, which is made up of the underlying infrastructure and technical requirements. The second layer is made up of […]

Software Architecture : some basic knowledge

Software architecture refers to the high-level structure of a software system, including the organization of its components, the relationships between them, and the principles guiding their design and evolution. It’s a crucial aspect of software development, as it defines how a software system will behave and evolve over time. In this article, we will explore […]

The Object-Oriented Design (OOD) Pyramid

Object-Oriented Design (OOD) is a software design paradigm that revolves around the concept of objects. It aims to model real-world objects and their behaviors within a computer program. OOD provides a way to structure complex systems by breaking them down into smaller, manageable parts. This structure makes it easier to understand, maintain, and modify the […]

Architectural Styles

Architectural Styles in Software Engineering Architectural styles are a set of predefined patterns and guidelines for software design and development. They provide a standardized approach to building software systems and ensure that the resulting software is easy to understand, maintain, and evolve. In this article, we will explore the most commonly used architectural styles in […]

Architectural patterns: some basic knowledge

Architecture patterns in the world: some basic knowledge There are many Architecture Patterns like Microkernel Micro-services Layered architecture event-based … Architecture patterns in the world: a full list and more knowledge Architectural Patterns are widely used templates that provide proven solutions to common problems encountered in software development. These patterns offer a way to structure […]

Versioning , persistent dependency version

Different version , Different env, different os   Git ignore   Docker     Move forward   Move backward    

Build for global scale: Basic rule to have a clean and beautiful code insight

How to build a system for global scale and maintain? Protocol or interface Private func and variable Getter and Setter REF https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html

How do i build a completed app system include back end and front end for global scale in 21 hours

REFERENCE https://dev.to/aurelmegn/setting-up-distributed-database-architecture-with-postgresql-261 https://www.postgresql.org/docs/9.5/sql-createforeigntable.html https://www.postgresql.org/docs/9.3/ddl-foreign-data.html

Pointer in Golang

REFERENCE https://dev.to/aurelmegn/setting-up-distributed-database-architecture-with-postgresql-261 https://www.postgresql.org/docs/9.5/sql-createforeigntable.html https://www.postgresql.org/docs/9.3/ddl-foreign-data.html

Return First

REFERENCE https://dev.to/aurelmegn/setting-up-distributed-database-architecture-with-postgresql-261 https://www.postgresql.org/docs/9.5/sql-createforeigntable.html https://www.postgresql.org/docs/9.3/ddl-foreign-data.html

Use Design Patterns in developing an ios application or any system

There are around 21 design patterns and categorize in 3 categories that we will mention here First, just have a look at the list and categorize it Creational patterns: Creational patterns support the creation of objects Singleton pattern Builder pattern Factory pattern Abstract Factory Pattern Prototype Pattern Structural patterns: Structural patterns concern class and object […]