Open in app

Sign In

Write

Sign In

Kirill Shevchenko
Kirill Shevchenko

260 Followers

Home

About

Aug 28, 2022

Using Protobuf Message in Redis with Golang

Data marshaling, migration and backward compatibility — In this article, I want to describe how to use protobuf message for Redis storage, generate protocol buffers messages from code and migrate data to protobuf with backward-compatibility. Golang and Redis are just taken as an example, you can do the same with almost any language and database. What is Protocol Buffers? Protobuf is…

Golang

4 min read

Golang

4 min read


Mar 27, 2022

Открытие счета в банке при переезде в UK

Одной из первых задач при переезде в Англию является открытие счета в банке. Осложняется все тем, что большинство банков по умолчанию требуют как минимум наличие постоянного адреса и BRP (Biometric Residence Permit). Так как поиск жилья в Кембридже, как и в целом по UK, далеко не быстрый процесс, кажется, что…

Англия

5 min read

Англия

5 min read


Mar 27, 2022

How to find Min or Max value in a Stack with Go

This is a typical interview question which is going to ask you to implement a stack which can track the maximum or minimum value for the current stack. In this note, I want to show a solution on how to implement a Min stack. You might implement Max stack in…

Golang

3 min read

Golang

3 min read


Jan 3, 2022

Опыт поиска жилья в Кембридже

Поиск жилья основная сложность с которой я столкнулся после переезда в Англию. Главной проблемой является огромный спрос и небольшое количество свободных квартир. На большинство вариантов которые я смотрел или собирался смотреть было несколько конкурирующих оферов от людей, которые также как и я искали жилье. Решил написать этот пост, так как…

Кембридж

7 min read

Опыт поиска жилья в Кембридже
Опыт поиска жилья в Кембридже
Кембридж

7 min read


Jul 31, 2021

BFS and DFS algorithms in Ruby

In this article I’ll consider two common approaches to implementing depth-first search and breadth-first search in Ruby. Tree Ruby has no built-in class for initializing Binary Tree data structure. Tree is just a restricted form of a Graph which have a parent-child relationship. Here is the simplest definition for a binary…

DFS

2 min read

BFS and DFS algorithms in Ruby
BFS and DFS algorithms in Ruby
DFS

2 min read


Jan 2, 2021

Ruby Graceful Application Shutdown with SignalException and SIGTERM

In Container-based DevOps solutions like Kubernetes, ECS, Heroku an application must be able to stop accepting new client requests before termination, and, most importantly, it must successfully complete already running requests and processes. By default in most systems Graceful Shutdown implements by sending SIGTERM signal and 30 seconds delay before…

Ruby

2 min read

Ruby

2 min read


Dec 13, 2020

Difference between Mocks and Stubs in RSpec

What is the difference, how and when to apply? — Stub A stub is the only defined result of the method call which doesn’t care about behavior. With RSpec, you can use stub with allow and receive methods. allow(object).to receive(:method_name) If you need to stub the result of the method then it’s possible with and_return allow(object).to receive(:method_name).and_return(example_value) Mock Mock expect methods to…

Ruby

1 min read

Ruby

1 min read


Jun 22, 2020

Graceful Request Retries in Ruby Applications

Failure Management, Fallbacks, Exponential backoff, Tools and Patterns — When designing modern applications on microservices architecture and systems based on cloud solutions such as AWS, Azure, or Google Cloud imply the need to handle expected failures. How to handle failures? Restarting the code in the current thread runtime Retry execute in background jobs Retry failed code We can represent the simplest retry in runtime as a…

Ruby

2 min read

Ruby

2 min read


Jan 9, 2020

Encrypted Secrets(Credentials) in Rails 6, Rails 5.1/5.2, older versions and non-Rails applications

How to manage encrypted keys for different environments — There are two most popular ways to manage secrets in your application. Encrypted file with secrets. Best choice for a single monolith application. There’s no need for additional software, just keep your encrypted data in the app repository and move decrypt key under git ignore. Centralized storage. For large and…

Ruby On Rails

4 min read

Encrypted Secrets(Credentials) in Rails 6, Rails 5.1/5.2,
Encrypted Secrets(Credentials) in Rails 6, Rails 5.1/5.2,
Ruby On Rails

4 min read


Aug 25, 2019

Find Time-Consuming ActiveRecord Database Queries with QueryTrack

A tool for monitoring SQL queries in Rails — Get notified about slow queries In the early stages of development, it may be useful to identify slow queries in time (when you don’t have a paid APM). QueryTrack helps to get notified about slow queries with related data: duration and backtrace. https://github.com/kirillshevch/query_track Installation Add this line to your application’s Gemfile and then execute bundle install:

Ruby On Rails

2 min read

Find Time-Consuming ActiveRecord Database Queries with QueryTrack
Find Time-Consuming ActiveRecord Database Queries with QueryTrack
Ruby On Rails

2 min read

Kirill Shevchenko

Kirill Shevchenko

260 Followers

Software Engineer. Interested in Microservices, Distributed Systems and Cloud Services.

Following
  • Roman Ceresnak, PhD

    Roman Ceresnak, PhD

  • Krzysztof Kempiński

    Krzysztof Kempiński

  • Eric Elliott

    Eric Elliott

  • Netflix Technology Blog

    Netflix Technology Blog

  • Karina Chow

    Karina Chow

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech