All Articles

In archive: 29 articles

This page contains materials that I have been directly involved in creating: articles I wrote personally, texts in the preparation of which I participated as a co-author, and publications about me and my professional journey.

 

The main publishing platforms are Habr and Medium. These platforms serve as primary sources of materials, and the links here lead directly to the originals.

08.09.2023
Article cover: Object-Oriented Programming In The Thoughts And Experiences Of Ice-Hockey Player
Object-Oriented Programming In The Thoughts And Experiences Of Ice-Hockey Player
There are several significant paradigms in programming — approaches that determine how programmers structure and organize their code. For example, procedural programming is the most straightforward approach. Programs are organized as chains of commands or procedures that are executed sequentially. For example, a culinary recipe is similar to a program written in the procedural programming paradigm. A recipe is a set of instructions that must be executed strictly to get the finished dish. There is functional programming. This approach is based on the concept of mathematical functions that take input data and return a result. Suppose you have written a letter and want to translate it into another language, check it for grammar and spelling, and then print it out. In functional programming, each step can be a function, and each function always returns the same result given the same input data. One of the most popular approaches is object-oriented programming, OOP, where code is organized around objects and classes. Many programming uses the object-oriented approach, and beginners should understand in detail what the scary words "polymorphism," "encapsulation," and other terms used in this paradigm mean in practice. In this article, I will talk about the key concepts related to OOP. In the example of Python code, I will analyze how the same task can be successfully solved using procedural and object approaches. But let's start, traditionally, with the basics, and the fictional hockey player Ivan will help me with this.
Published on medium →
28.08.2023
Article cover: Different Implementations Of The Flood Fill Algorithm
Different Implementations Of The Flood Fill Algorithm
Algorithms are the fundamental building blocks in programming and have a pivotal role in today's technology-driven world. They comprise instructions designed to perform tasks efficiently, such as sorting data, searching databases, and making predictions. By automating these tasks, algorithms save time and reduce errors, enabling informed decisions. They form the foundation of many technologies we rely on daily, from social media to e-commerce, and significantly influence industries from finance to healthcare. For instance, almost every graphics editor equips users with valuable and convenient tools. One notable tool is the function that allows filling an area with a specified color. Its operation is straightforward: you select the desired fill color and click on the intended area of the image. Consequently, the selected region changes to the chosen color. This function is driven by a specific algorithm known as the Flood Fill.
Published on medium →
20.07.2023
Article cover: Object-Oriented Programming in the Thoughts and Experiences of Hockey Player Stepan Osechkin
Object-Oriented Programming in the Thoughts and Experiences of Hockey Player Stepan Osechkin
In programming there are several main paradigms - approaches that determine how programmers structure and organize their code. One of the most popular approaches now is object-oriented programming, OOP, where code is organized around objects and classes. Object-oriented approach is supported by many programming languages and beginning developers should understand in more detail what the scary words "polymorphism", "encapsulation" and other terms used in this paradigm mean in practice. In this article, I will tell you about key concepts related to OOP, and analyze how the same problem can be successfully solved using both procedural and object-oriented approaches using Python code as an example. But let's start traditionally with the basics, and a fictional hockey player Stepan will help me with this.
Published on Habr →
24.04.2023
Article cover: BASE64 Encoding
BASE64 Encoding
In daily work, software developers are often faced with the task of transferring data. In most cases it is not just a question of data transfer, but also of encoding. And this is actually a very interesting topic. Today, I'm gonna talk a bit about the remarkable yet often overlooked Base64 encoding — a versatile and essential component in programming. In this article, we'll have a look at the mechanics and real-world applications of Base64 encoding, giving you a comprehensive understanding of its role in data transferring.
Published on medium →