Image for post
Image for post
Benjamin Lee. (Fushimi Inari-Taisha Shrine)

Today we will talk about how to use design patterns in Go. Is it really necessary? Is Go suitable for design patterns? Let’s implement some Design Patterns.

“A design that doesn’t take change into account risks major redesign in the future.”
― Erich Gamma, Design Patterns: Elements of Reusable Object-Oriented Software

Strategy Design Pattern:

The Strategy pattern basically allows an object to select and execute at runtime without knowing how to implement the business logic it wants, instead of using different types of algorithms that can be used to perform each operation. I use this pattern in Go very often…


Image for post
Image for post
Image Source: indivisle.jpg

Today we will talk about how to write a simple turn-based game engine with Go. While writing our character’s abilities and fights with each other, we will use Interfaces, channels, and concurrency with Golang.

“Reality is broken. Game designers can fix it.”
Jane McGonigal

If you don’t have any idea about the turn-based game, it is about the different types of characters with different strengths, and different abilities fight and kill each other one by one. The winner is the survived last person.


Image for post
Image for post

This article will perform some operations on the data of products sold on an online shopping site and save them to the DB.

“Getting information off the internet is like taking a drink from a firehose.” — Mitch Kapor

We will get new product data with different currency prices by using .Net Core web API. But we will convert all product prices to ₺ currency and save on to the SqlDB. So we will parse a webpage and get Dolar, Euro, and British Pound currency value from the HTML and convert it to the ₺ Turkish Liras with Go lang…


Image for post
Image for post
Image Source: Australianphotography

Today we will talk about real-life requests, problems, errors. And we will find a solution all of them by one by, by using .Net Core Entity Framework. “Current .Net Core version 3.1.401”.

“We can not solve our problems with the same level of thinking that created them.”

— Albert Einstein

1-) I need to encrypt some properties when saved them to DB. And I need to decrypt them when I read it from DB.

Firstly we must solve this problem globally and manage it from one place.
We will create CryptoData Attribute for signing the secret fields.

CryptoData.cs: This attribute is used for flagged to secret properties of the class.

using System;
using System.Collections.Generic;
using System.Text;
namespace Dashboard.DB.PartialEntites { [AttributeUsage(AttributeTargets.All)] public class CryptoData …


Image for post
Image for post
Image Source

Today we will make a simple online multiplayer word game with Blazor. We will use SignalR for realtime communication between two players. All the words will keep in MongoDB. And we will support multi-platforms with .Net Core. “Current .Net Core version 3.1.301”

We do not stop playing because we grow old. We grow old because we stop playing.
— Benjamin Franklin

Let’s Create Blazor Server App

dotnet new blazorserver -o blazorWords


Image for post
Image for post
FIELD OF FRAGRANCE

Today we will talk about how to manage distributed transactions between separated microservices. Commit and Rollback are the main two operations of the transaction. We will use .Net Core 3.1 and RabbitMQ for this application.


Image for post
Image for post
A SNAKE AND A SMILE

This article is the continues of my previous Multi Language Support With Angular article. In the first article, we wrote the front-end application. Multi Language Course Admin form. And now we will write backend with the new programming language Deno. And we will get the Html Element’s text by selected language from the Redis with Deno.

Deno is the version of NodeJs that has been corrected and adapted to today’s technologies. Deno is written by Rust and Typescript. Its first priority is security. You can write typescript and javascript with Deno. In this article, we will write with typescript.

“In…


Image for post
Image for post
Image Source

Today we will talk about how to implement multi-language support on existing applications with taking data from the database. If you don’t think multi-language support before starting the project, you don’t care too much working with parametric components. In Angular, everything is a component. So, after deciding to support multi-language, you have to change all your components as a parametric(child component). Sometimes, you have to convert some Html-Elements to parametric components(child components) too.

We will do different something in this application. Generally, Multi-Language support is doing on the Page. But in this application, we will do multi-language support on the…


Image for post
Image for post
Image Source

Today we will talk about real-time information used in all areas of social life. Speed ​​is the most important thing in the new technology century. In this article, we will try to informed customers who buy the stock papers when the price changed. It should be as fast and accurate as possible.

You can listen to the radio to get information about the exchange news once in a day like above the yellow taxi radio. But if you want to learn something in a real-time, you have to do more then this. You have to use technology. We will use…


Image for post
Image for post
Image Source

Today, we will talk about how we can block the asynchronous working process in some special cases, which is a problem in lots of programming languages, and why we may need it.

“Do you have the patience to wait
Till your mud settles and the water is clear?
Can you remain unmoving
Till the right action arises by itself?”
Lao tzu

What is Asynchronous Programming?

Before talking about the “asynchronous” programming model, let’s talk about the “synchronous” programming model.

Synchronous:

Everythings happen at one a time. The process runs only as a result of some other process being completed or handed off. When you…

Bora Kaşmer

I have been coding since 1993. I am computer and civil engineer. Microsoft MVP. Senior Software Architect. Ride motorcycle. Gamer. Have two daughters.

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