Pull to refresh
4
0
Send message

Автоматизация трёх гвоздей

Reading time8 min
Views12K
Пока я работал программистом, все было хорошо.

Когда я стал руководителем программистов, появились определенные трудности, но их удалось преодолеть.

Когда меня поставили руководить стратегическими изменениями, все стало плохо. Я начал упускать.
Читать дальше →
Total votes 51: ↑41 and ↓10+31
Comments32

Краткий обзор развития лямбда-выражений в C++11, C++14, C++17 и C++20

Level of difficultyEasy
Reading time4 min
Views11K

Привет, Хабр!

Сегодня рассмотрим лямбда-выражения в C++ и их эволюцию с момента появления в стандарте C++11 и до последних обновлений в C++20.

Лямбда-выражения в C++ — это анонимные функции, которые позволяют писать инлайн-выражения прямо там, где они используются. С их помощью можно легко определять функции обратного вызова, передавать их в функции высшего порядка или использовать для инициализации функциональных объектов.

Читать далее
Total votes 27: ↑20 and ↓7+13
Comments201

Константность в C++

Level of difficultyMedium
Reading time31 min
Views11K


Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это седьмая статья из серии, список предыдущих статей приведен в конце в разделе 10. Серия ориентирована на программистов, имеющих определенный опыт работы на C++. Данная статья посвящена концепции константности в C++.


Переменные являются основой любого языка программирования. Если значение переменной нельзя изменить после инициализации, то такие переменные называются неизменяемыми (immutable) переменными или константными переменными или просто константами. Константные переменные в том или ином виде поддерживаются во всех языках программирования и играют в них важную роль. Такие переменные помогают компилятору оптимизировать код, улучшают читаемость и надежность кода, позволяют выявлять бОльшее количество ошибок на стадии компиляции. Константы помогают решать проблемы, связанные с многопоточным доступом к переменным. Использование константных переменных влияет на проектные решения в объектно-ориентированном программировании, а функциональное программирование изначально исходит из неизменяемости используемых переменных.


В C++ концепции константности уделяется значительное место. Для переменных используется два вида константности, имеются ссылки и указатели на константу, константные функции-члены, константные итераторы. Попробуем разобраться во всех этих понятиях.

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments24

Скрипт, обрабатывающий события системы с помощю DBus

Reading time5 min
Views19K
Dbus — средство межпроцессного взаимодействия. Другими словами, средство позволяющее одной программе «отдавать приказы» другой программе.
В сети легко найти примеры, как из командной строки с помощью DBus управлять различными программами. Но слабо раскрыта тема, как отслеживать сигналы исходящие от других программ. В данной статье хочу исправить эту несправедливость и разобрать пример обработки событий получаемых от системы посредством Dbus.
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments10

Как новому тимлиду завоевать доверие команды: 9 правил, которые я усвоил за полгода в этой роли

Level of difficultyEasy
Reading time10 min
Views5.7K

Привет! Меня зовут Кирилл Комиссаров, я пришел на позицию лида примерно полгода назад. Срок небольшой, но за это время многое понял о том, почему доверие в команде так важно. 

Вы замечали, что одно и то же мнение, высказанное разными людьми, воспринимается по-разному? Я часто сталкивался с ситуацией, когда один человек предлагает что-то и слышит десятки аргументов против своей идеи. А потом ту же мысль высказывает другой сотрудник, которому команда доверяет больше, и несогласие исчезает. Выходит, чем выше у вас кредит доверия, тем окружающим проще согласиться с вашим мнением. 

Позиция тимлида вообще предполагает relationship management, который может быть направлен как и на команду, так и наверх, в сторону стейкхолдеров. Но в этой статье я хочу поговорить именно про связку TL + Dev Team. Руководителю важно выстроить и поддерживать доверительные отношения с сотрудниками. Это поможет эффективно управлять командой и добиваться слаженной и продуктивной работы.

Если люди вам доверяют, вы будете получать более полную и достоверную информацию, сможете вовремя реагировать на проблемы, решать конфликты и строить долгосрочные планы.

Я говорил с коллегами, читал статьи по теме, прослушал курс Стратоплана и в итоге собрал несколько идей и правил, которые сам применяю на практике, чтобы наладить стабильные процессы в команде и добиться доверия сотрудников.

Читать далее
Total votes 23: ↑21 and ↓2+19
Comments8

Концепция RAII (Resource Acquisition Is Initialization)

Level of difficultyEasy
Reading time9 min
Views5.2K

Здравствуй, Хабр!

RAII (Resource Acquisition Is Initialization) - это важная концепция в C++. Она представляет собой парадигму управления ресурсами, которая способствует безопасности и эффективности кода. В основе RAII лежит идея связывания жизненного цикла ресурса (например, памяти, файлового дескриптора или других ресурсов) с жизненным циклом объекта в C++. Это означает, что ресурсы выделяются и освобождаются автоматически при создании и уничтожении объектов.

В C++ управление ресурсами, такими как динамическая память или открытые файлы, может быть источником множества проблем, таких как утечки памяти, неопределенное поведение и непредсказуемые ошибки. RAII призван решить эти проблемы, предоставляя надежный и безопасный механизм управления ресурсами.

Читать далее
Total votes 14: ↑11 and ↓3+8
Comments6

Плохо девелопмент

Level of difficultyEasy
Reading time6 min
Views11K

Среди множества задач, решаемых программистом, одной из самых частых является подумать и добавить новый функционал в приложение. И там уже может быть много похожего функционала, он может быть хорошо написан, хорошо документирован. Искушение заключается в том, поддаться своей лени и задействовав специфические мышцы левой руки поместить чужой код в "новый" функционал. Другими словами, очень хорошо спроектированный код (равно как и очень плохой) готовит к разработке методом копипасты последующие поколения разработчиков. То есть мы находим в нашем коде что-то похожее на то, что мы хотим добавить, копируем это и вставляем, меняя небольшие детали, специфичные для нашей новой функции. Или находим что-то похожее на stackoverflow. Я отнюдь не против поиска и даже отдельных моментов разработки через анализ чужих решений, в любом случае код придется понять, принести, адаптировать. Да чего греха таить, я тоже не пишу весь код из головы.

Некопипасть!
Total votes 25: ↑20 and ↓5+15
Comments40

OpenConnect: недетектируемый VPN, который вам понравится

Level of difficultyMedium
Reading time15 min
Views220K

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее
Total votes 325: ↑324 and ↓1+323
Comments342

Майнд-карта успешной физической трансформации. Питание. Тренировки. Мотивация

Reading time7 min
Views10K

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

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

Успехов тебе!

Читать далее
Total votes 30: ↑25 and ↓5+20
Comments26

5 мини-ПК для решения разных задач середины осени 2023 года

Reading time4 min
Views21K
image

Производители продолжают выпускать миниатюрные ПК. Некоторые компании поставляют на рынок мощные девайсы, которые можно использовать для игр и работы с контентом. Другие предлагают просто рабочих лошадок для офисов. Их можно задействовать для серфинга, просмотра видео, работы с документами и т.п. В продолжении — 5 хороших моделей, на которые стоит обратить внимание.
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments18

Обход блокировки «Тиндера» — простой метод

Level of difficultyEasy
Reading time5 min
Views48K

20 июня 2023 года приложение для знакомств Tinder (США) заблокировало пользователей из РФ. Если конкретно, на сайте tinder.com и в мобильном приложении теперь нельзя авторизоваться с российских IP-адресов.

Перед вами идеальный пример пользы от VPN, потому что в данном случае VPN решает проблему целиком и полностью. Для обхода блокировки можно использовать сторонний коммерческий сервис или поднять свой полностью легальный VPN-сервер в зарубежном дата-центре.

Это универсальный вариант не только для «Тиндера», но и на все случаи жизни. В наше время без своего VPN за границей тяжело полноценно пользоваться интернетом.
Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments40

[Личный опыт] Что делает Словению идеальной страной для переезда с детьми и хорошим местом для работы в IT

Level of difficultyEasy
Reading time8 min
Views19K

Словения никогда не попадает в списки самых популярных стран для релокейта или лучших европейских стран для жизни. Ее иногда даже путают со Словакией, не совсем понимая, где эта страна вообще находится и кто в ней живет. А тем временем это прекрасная страна для жизни: спокойная, вполне европейская практически по всем критериям, да еще и с довольно развитым IT-сектором. Передаю слово герою.

Меня зовут Александр Стрелов, и я живу в Словении вместе с семьей с 2020 года. Хочу рассказать, что делает эту страну такой особенной, почему мы не планируем отсюда уезжать и как здесь обустроиться тем, кто думает о переезде.

Читать далее
Total votes 57: ↑46 and ↓11+35
Comments56

Открытие фирмы в Черногории. О чём молчат посредники и ещё философский вопрос (UPD: 11.09.2023)

Level of difficultyEasy
Reading time6 min
Views15K

Гайд, цены, сроки, открытые и закрытые системы.

Кратко:

1. Название

2. ОКВЭДы

3. Юр.адрес

4. Решение об учреждении

5. Устав

6. Приява

7. Пошлины

Итого - 86 евро.

Читать далее
Total votes 19: ↑16 and ↓3+13
Comments25

Самый полный гайд по получению ВНЖ Черногории по трудоустройству (UPD 11.09.2023)

Level of difficultyEasy
Reading time10 min
Views15K

Документы, ссылки, адреса, советы, цены и сроки, анекдоты, случаи из жизни. И немного фоток.

Получить ВНЖ Черногории самостоятельно вполне возможно и несложно, как бы вас ни пугали посредники. 

Читать далее
Total votes 16: ↑14 and ↓2+12
Comments12

C++17 — std::string_view и никакого копирования

Reading time6 min
Views21K

Назначение std::string_view заключается в том, чтобы избежать копирования данных, которые уже чему-то принадлежат и для которых требуется только лишь неизменяемое представление. Как вы уже могли догадаться, этот пост будет посвящен производительности.

Сегодня речь пойдёт об одной из главных фич C++17.

Читать далее
Total votes 20: ↑14 and ↓6+8
Comments21

Коллекционирую лучшие C++ практики

Reading time3 min
Views19K

Коллекционирую лучшие C++ практики


Что-то наши публикации всё больше о плохом, чем о хорошем. Здесь баг, тут код с запахом, это антипаттерн, вот так писать не надо. Помогите увидеть светлую сторону программирования на С++. Оставляйте комментарии.

Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments9

Локализация Qt-приложений

Reading time9 min
Views7K

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

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments10

Налоговый и валютный резидент РФ —последствия приобретения и утраты статусов — полный FAQ с примерами

Reading time27 min
Views28K

Друзья, всех приветствую и предлагаю ознакомиться, как мне кажется с довольно полным FAQ по теме налогового и валютного резиденства РФ. По ходу материала есть некоторые примеры, а внизу вопросы & ответы.

Читать далее
Total votes 51: ↑46 and ↓5+41
Comments47
1
23 ...

Information

Rating
Does not participate
Registered
Activity