yet another dev – Telegram
yet another dev
234 subscribers
141 photos
1 video
107 links
Самый скучный канал про разработку
Download Telegram
🇷🇺 Немного фотографий с поездки в Копаоник на прошлых выходных.

🇬🇧 Some photos from Kopaonik's trip at the last weekend.
❤‍🔥32
Налоги в России и Сербии

Если сравнивать просто НДФЛ, то можно подумать, что работники в Сербии получают зарплату на руки больше, чем в России, т.к. НДФЛ в Сербии 10%, против 13% (15%) в России. На деле, сербская система налогообложения сложнее, чем российская. Ниже пояснения с расчётами для зарплаты в 1000€.

👨‍💻 Удержания с зарплаты работника

В России удерживают только НДФЛ по ставке 13% (15%).

На руки работник получит:
1000€ - 1000€ * 0.13 =
870€ (налог 130€)


В Сербии удерживают:

1. Налог на зарплату (порез на зараду) со ставкой 10%. Аналог нашего НДФЛ. Особенность сербского НДФЛ в том, что ставка применяется к зарплате за вычетом необлагаемой суммы. В 2023 году она составляет 21 712 динар (примерно 184.78€).
2. Взносы на пенсионное страхование и страхование по инвалидности (доприноса за пензиjско и инвалидско осигуранье) со ставкой 14%. Аналог взносов в ПФР.
3. Взнос по безработице (доприноса за незапосленост) со ставкой 0,75%. Прямого аналога в России нет.
4. Взносы на медицинское страхование (доприноса за здравствено осигуранье) со ставкой 5.15%. Аналог взносов в ФОМС.

На руки работник получит:
1000€
- (1000€ - 184.78€) * 0.1
- 1000€ * 0.14
- 1000€ * 0.0075
- 1000€ * 0.0515 =
719.48€ (налог 280.52€)


💼 Взносы от работодателя

Работодатель в России обязан ещё уплатить:
1. 22% в ПФР.
2. 2.9% в ФСС.
3. 5.1% в ФОМС.

1. 1000€ * 0.22 = 220€
2. 1000€ * 0.029 = 29€
3. 1000€ * 0.051 = 51€

Суммарно: 300€


В Сербии работодатель обязан уплатить:
1. 10% на пенсионное страхование.
2. 5.15 на обязательное медицинское страхование.

1. 1000€ * 0.1 = 100€
2. 1000€ * 0.0515 = 51.5€

Суммарно: 151.5€


☝️Итог

Несмотря на отличия в налогообложении, поступления в государственный бюджет примерно одинаковые: в России будет уплачено 430€, а в Сербии - 432.02€.

При этом, в Сербии 65% этих налогов заплатит работник, а в России всего 30%. Сербские работники получают около 72% от своих зарплат, когда как в России 87%.

При прочих равных, получается, что в России работником быть выгоднее.
53
Технические статьи неспеша пишутся и пока не готовы, потому вот вам немного воскресных фоток из крепости Голубац, что в 140 км от Белграда.
🔥4
Топ 5 фотографий с прошедшего отпуска. За 10 дней проехали 2000 км по Сербии и много чего посмотрели. Было много гор и хайкинга. Немного городского отдыха. На фотках лишь малая часть. Вердикт: кросевое и интересное.

После России было необычно осознавать, что можно проехать от восточной до западной границы за 5 - 6 часов. В России самая долгая поездка на машине была 24 часа. Ехали без остановок в гостиницах, периодически меняясь с отцом (один отдыхает, другой рулит). За это время доехали только до Краснодара (там, кстати, тоже кросевое, но наверняка вы и так знаете). Широка и необъятна наша Родина 😄.
4❤‍🔥2
Keycloak is an open-source identity and access management (IAM) solution. It provides user authentication, authorization, and user management. Keycloak allows you to secure web applications by providing a centralized authentication and authorization mechanism. I wrote a step-by-step guide how to create a full stack secure application with OAuth2 authentication using React, ASP.NET Web API and Keycloak.
👍2
🇷🇺 Последнее время много пишу сервисов, которые используют top-level statements. Метод Main с таким синтаксическим сахаром упрощается и улучшается читаемость кода. Однако писать интеграционные тесты для таких сервисов становится сложнее — метод Main просто невозможно вызвать без лишних телодвижений. Недавно придумал относительно простое решение через рефлексию.

🇬🇧 Lately, I've been writing a lot of services that use top-level statements. The code with this kind of syntax sugar simplifies the Main method and improves readability. However, on the other hand, it makes it more difficult to create integration tests for the services. There isn't simply way to call the Main method and pass the necessary arguments. Recently, I found a relatively simply solution using reflection.
11
Прошёл месяц как я начал всерьёз учить сербский. Не могу сказать, что я начал полностью с нуля, т.к. живём тут с ноября 2022 г. Какие-то базовые фразы и слова уже знал. Учу следующим образом:
1. Два занятия в неделю по 1 часу с учителем на italki.
2. Домашка после занятий с учителем.
3. Каждый день новые слова по алгоритму карточек Anki. Начал со списка слов Габриела Вайнера + слова после уроков с учителем.

В целом, сербский не так сложно учить, т.к. похож на русский. Но в этом же и заключается его сложность. Некоторые слова тяжело запомнить, т.к. похожи на русские слова в другом значении.

Примеры:

Предајем — учу, преподаю.
Налазим — нахожу.
Однесем — забираю.
Престанем — останавливаюсь.
Направим — делаю.
Честитам — поздравляю.
Славим — праздную.
Частим — угощаю.
👍2👏1
Как я снимался с воинского учёта

Если вдруг кто не знает, в своё время я успел отслужить в армии. После переезда в Сербию осенью прошлого года начал задумываться о снятии с учёта. Новые штрафы в 15к рублей за нарушение обязанностей по воинскому учёту только усилили это желание.

В интернете советуют заранее узнать нужные документы для военкомата (ВК). Я это не стал делал. Решил, что следующих документов будет достаточно:

- наклейка ВНЖ Сербии в загранпаспорте;
- трудовой договор;
- договор аренды жилья.

ВНЖ просто отксерил на цветном принтере. Уверење о бораваку НЕ делал. Копию ВНЖ и копию договора аренды перевёл на русский у судебного переводчика. Трудовой был на двух языках.

В августе отправил сканы с переводом в ВК через Госуслуги. Чуть позже пришёл отказ. Пришлось готовить документы к отправке в РФ и сниматься через родителей. Доверенность делал находясь в Сербии:

1. Взял шаблон с сайта посольства.
2. Скомпилировал текст доверенности из инфы в интернете.
3. Попросил отревьюить юристов и доработал после ревью.
4. Получился вот такой шаблон.
5. Перевёл на сербский у судебного переводчика.
6. Сходил к нотариусу для заверения.
7. С заверенной доверенностью сходил в «Први основни суд» чтобы поставить апостиль.
8. Перевёл апостиль на русский у судебного переводчика.

У нотаруса я общался на английском. Деньги на устный перевод с сербского на русский не тратил.

Заявление о снятии с учёта скачал с сайта Консультант и заполнил в нескольких экземплярах (на всякий).

Важно. Если вы в Сербии, то не совершайте ошибку как я – не пользуйтесь СДЕКом. Документы были отправлены 18 августа «экспресс» доставкой по самому дорогому тарифу. До получателя они дошли 27 сентября (фото 2). Обычной Поштой документы доходили за 10 дней. Как в остальных странах работает СДЕК – не знаю. Судя по отзывам, так же плохо.

6 октября родители сходили в ВК. Там все документы приняли без вопросов, и 13 октября выдали справку взамен военного билета.
👏3
🇬🇧 Performance issues when using a method as a parameter in C#. Are they real?

There is an article on Habr about performance issues when passing a method as a parameter in C#. The author showed that passing an instance method as a parameter inside for loops may degrade performance and increase memory consumption due to unnecessary object allocations in the heap. In this short article, I want to repeat the original benchmark and compare how things have changed since the .NET 7 release.

🇷🇺 Проблемы с производительностью в C# при передаче метода как параметр. Существуют ли они?

На Хабре есть статья, рассказывающая о проблемах с производительностью при передаче метода в качестве параметра. Автор показал, что передача метода экземпляра класса в качестве параметра внутри for может снизить производительность и увеличить потребление памяти из-за ненужного выделения объектов в куче. В этой короткой статье я хочу повторить исходный тест и узнать что изменилось с момента релиза .NET 7.
👍4
🇷🇺 Сегодня снова о микробенчмаркинге и о производительности в C#. На этот раз сосредоточимся на строках и наиболее эффективном способе извлечения подстроки.

🇬🇧 Today again about microbenchmarking and performance in C#. This time we'll focus on strings and the most efficient way to extract a substring.
👍4