Anton Shelyganov

PHP Developer - JS Developer - Linux Administrator

PHPStan configuration example

Hello everyone! Today, I would like to share an example of setting up a static analysis tool for PHP - PHPStan.

The tool itself probably needs no introduction. I have used it in one of my projects and was satisfied with it. PHPStan helps maintain the code in good condition, and it is particularly good at finding typing errors. Sometimes it can be a bit pedantic, but ultimately, it's all for the best.

Prevent composer soft dependencies

Hello, everyone! Today, I would like to talk about a tool for tracking transitive dependencies called ComposerRequireChecker.

VPN, that won't be blocked

Hello! Today I would like to describe simple self-hosted VPN server setup.

There are many scenarios for using VPN. Probably most common is block bypass. This is especially important for countries with a totalitarian government(Russia, Belarus etc.). It also might be necessary for using some services, that blocking access for users outside the country.

Reactive Architecture Courses

Hello! Today I would like to share Reactive Architecture course from Lightbend Academy, which I recently passed. There is a free course, that contains 6 sections. It requires about 40 hours to complete.

Test coverage reports with Codecov

Hello! Today I would like to demonstrate Codecov service usage and also Github Actions integration. Codecov helps to monitor project tests coverage.

PHP tests coverage performance comparison

Hello! Today I would like to share experience in test coverage reporting performance optimisation for PHP project.

Once we decided to measure and watch test coverage for the project. There is a Symfony components project, which partially covered by unit and integration tests.

Useful Github Actions for release management

Hello! Today I would like to review Github Actions for repository management and release automation.

I had a task to automate existing manual release preparation process(create branch, update version file etc.). There were 2 main steps: pre-release and post-release. Another task was to automate some post release steps(create tag/release, merge branches, remove release branch etc.).

Symfony Fixtures with Codeception DataFactory

Hello everyone! Today I would like to describe the method of fixtures organisation in Symfony based web-application with Codeception Doctrine2 module.

Usually fixtures are used for testing data generation. Most common case usages are integration tests. Symfony's fixtures are implemented within DoctrineFixturesBundle package.

Feature flags service

Hello everyone! Today I would like to share my experience of creating a simple service for managing feature flags. Feature flags allow you to enable or disable some specific functionality in an application. It does not require re-deploy or rollback. Only need to enable or disable a specific feature flag. Besides that, flag checks should be added at some points in the source code.

For example, we need to add a contact form to the website, but it's also important to quickly revert changes if needed. Then we would create contact-form feature flag and check it when displaying the form and in the form handler.

Remote job as a contractor with foreign company

Hello everyone! Today I would like to talk about working with a foreign company through an individual entrepreneur, as well as receiving payment in foreign currency. The main idea is to work for a foreign company, without intermediaries, in compliance with all requirements. And receiving payment in dollars.

The article may be interesting and useful for those who are going to start with a foreign company but do not know where to start. Also, it may be of interest to employers planning to hire individual contractors for software development.