Как стать автором
Обновить
1
0.1
Dmitriy Sapozhnikov @tandzan

Software developer

Отправить сообщение

Почему эффективной сове не выгодно нанимать даже тушканчика (а увольнять, наоборот, выгодно)

Время на прочтение8 мин
Количество просмотров61K

Открываю с утра новости, а там – ни разу не было и вот опять:

Нехватку (высококвалифицированных низкооплачиваемых) специалистов выявили благодаря опросу Института экономической политики им. Гайдара (ИЭП), с результатами исследования ознакомился РБК.

Население при этом: ну да ну да.

Весной 2023 года только 2% сообщили, что в связи с СВО у них выросла зарплата, за последний год материальное положение в той или иной степени улучшилось у 15%, тогда как ухудшилось у 33%, поскольку увеличились текущие расходы (39%), а некоторые (7%) потеряли часть сбережений и/или доходов. Савин, Институт социологии РАН. «Вестник РУДН. Серия: Социология», №4, 2023

Читать далее
Всего голосов 190: ↑167 и ↓23+185
Комментарии138

Android-разработка для новичков: 20+ полезных ресурсов

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров14K

Всем привет! Меня зовут Миша Вассер. Я руковожу мобильной разработкой в AGIMA, а ещё я наставник на курсе «Android-разработчик» в Яндекс Практикуме. Мы на курсе регулярно делимся со студентами полезными материалами. Сегодня публикую подборку, которая поможет новичку начать свой путь в Android-разработке.

Читать далее
Всего голосов 8: ↑6 и ↓2+4
Комментарии1

Программы-клиенты для протоколов недетектируемого обхода блокировок сайтов: V2Ray/XRay, Clash, Sing-Box, и другие

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров189K

В предыдущей статье “Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria и все-все-все” я рассказывал про прокси-протоколы. Теперь настало время рассказать про клиенты: консольные, GUI для десктопа и для мобильных платформ. 

Надеюсь, что эта статья вам окажется полезной, потому что, как выяснилось, найти хороший клиент даже для тех же V2Ray/XRay в наше время не так-то просто. Потому что большая часть того, что находится при поиске в интернете “в лоб” и даже в списках типа Awesome V2Ray - или уже неподдерживаемое, или довольно кривое, или не умеющее в актуальные версии и фичи (например, XTLS и uTLS), а самые жемчужины прячутся где-нибудь в глубинах Github’а и сторов.

Читать далее
Всего голосов 49: ↑48 и ↓1+56
Комментарии52

Экономика радости. Наставничество как частный случай. Закон трёх процентов

Время на прочтение7 мин
Количество просмотров4.9K

Знаю, что написав этот пост, не стану Паисием Святогорцем. Однако, я надеюсь, найдётся хотя бы один читатель, который, возможно, поймет какой это кайф – быть педагогом (ментором) в IT. И наша страна станет чуточку лучше. И этот читатель (который поймет) станет чуточку счастливее. Тогда этот текст написан не зря.


Я – преподаватель-совместитель. И уже давно. Лет семь-восемь. И мне – не стыдно.
Текущий выхлоп: более 20 трудоустроенных ребяток, с которыми занимался тет-а-тет. Знаю, не густо. Могло быть побольше… Ребятки пока не жалуются (вру, конечно жалуются, но всё у них – ок). В своё оправдание скажу, что есть ещё неизвестное мне количество "потоковых" студентов, которым мой предмет был полезен, но с которыми я в дальнейшем тет-а-тет не работал и не натаскивал…


Огромное количество раз я слышал: «ты – фрик», «ах зачем ты возишься с этими студентиками», «да тебе они в рот смотрят и ты компенсируешь… ну что-то компенсируешь, короче», «что ты нашёл в этой Кате? Она твоя любовница?», «что ты нашёл в это Васе? Он тебе брат?», «заняться нечем?», «у тебя же жена, дочь и ипотека!», «ты – наркоман», «у тебя много свободного времени?», «лучше бы Игру Престолов посмотрел, а то совсем отстал, дядя»… Ну и так далее. Если бы я любил творчество Oxxxymeron-а и проконсультировал Мирона (лично, увы, не знаком с ним), то «Где нас нет» можно было бы составить из вот этих вот фраз и оборотов… И вот тогда это была бы бомба!.. Ах какой классный рэпчик получился бы...


Мне надоело объяснять. Как будто я «оправдываюсь». Смешно даже. Пишу этот пост и в следующий раз, когда назовут «фриком», просто дам ссылку на этот опус.

Дальше читать
Всего голосов 26: ↑18 и ↓8+10
Комментарии44

Алгоритмы диапазонов C++20 — 7 немодифицирующих операций

Время на прочтение13 мин
Количество просмотров6.9K


Библиотека Ranges для C++20 предлагает альтернативы для большинства алгоритмов. На этот раз я хочу показать вам десять немодифицирующих операций. Мы сравним их со «старой» стандартной версией и увидим их преимущества и ограничения.


Подробности — к старту нашего курса по разработке на C++.

Читать дальше →
Всего голосов 6: ↑5 и ↓1+5
Комментарии30

Прекратите нанимать «эффективных менеджеров». Они не только бесполезны, но и вредны

Время на прочтение7 мин
Количество просмотров233K
Каждая компания проходит несколько жизненных циклов от момента своего основания до собственной «крышки гроба». Конец у разных компаний разный: кто-то не выдерживает конкуренции с более молодыми и гибкими командами, продукты которых годами не вылазят из состояния ранней беты, но все же являются более успешными, другие — становятся частью более крупных корпораций.



Однако в цикле жизни любой компании есть период взрывного кадрового роста с поиском путей решения этой проблемы. Все вы знаете этот этап. Вот, вчерашний локальный продукт захватывает ощутимую долю рынка, аудитория кратно увеличивается и команда сталкивается с проблемами, о которых даже не подозревала. Как-то незаметно у руководителей отделов появляются «приемные часы» и согласование совещаний через почту, заметно разрастается HR-департамент, а времена, когда весь коллектив мог заказать десяток пицц по акции и устроить пятничные посиделки в офисе остались в прошлом. Владелец компании и по совместительству ее директор набирает 15-20 кило лишнего веса, все меньше появляется в коридорах и кабинетах, и все больше времени проводит в своем кабинете куда ему носит кофе личный секретарь, либо вовсе улетает на Кипр.

Вот как раз в этот момент компанию начинают захватывать «эффективные менеджеры».
Читать дальше →
Всего голосов 133: ↑121 и ↓12+109
Комментарии276

Заворачиваем весь трафик ОС в Tor

Время на прочтение6 мин
Количество просмотров73K


Все описанное в статье реализовано в виде инструмента Toroxy, доступного на GitHub
В последнее время анонимность в сети является предметом горячих споров. Ни для кого не секрет, что данные о посещениях Интернет-ресурсов с локального устройства могут собираться на разных уровнях с целью построения «модели» пользователя, которая позже против него же и может быть использована (или могла бы). Поэтому не удивительно, что все большее количество активных пользователей Интернета становятся уверены в необходимости механизмов проксирования и анонимизации. В связи с этим появляется все больше новых VPN-клиентов, но, как показывает практика, далеко не всем из них по-настоящему можно доверять: то не все работает из коробки, то анонимизируется только HTTP-трафик, то качество реализации хромает, а то и вовсе разработчики грешат сливанием данных о своих пользователях.

В этой статье мы попробуем собрать из ряда программных компонентов собственный инструмент с UI, который бы позволил полностью анонимизировать трафик локальной системы и не допустить утечек по «прослушиваемым» каналам ни на одном из этапов работы.
Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии16

Make C++ great again!.. in Tula

Время на прочтение11 мин
Количество просмотров21K
Не так давно на базе нашего офиса мы провели бесплатный курс лекций «Современный и эффективный С++» и записали их на видео. Курс был рассчитан на недавно прибывших в наш коллектив программистов, стажеров и всех желающих. В этой статье мы хотели бы осветить цель данного курса, процесс подготовки к нему, подвести итоги. Надеемся, что для кого-то из вас наш курс лекций будет интересен и вы оцените наш труд. Желаем приятного просмотра докладов!

Всего голосов 67: ↑61 и ↓6+55
Комментарии16

Локальный запуск юнит-тестов в STM32CubeIDE под Windows

Время на прочтение7 мин
Количество просмотров13K

Введение


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


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


Существует три способа запуска юнит-тестов для встраиваемых платформ:

Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии4

C++ Enterprise Edition. Возможно ли?

Время на прочтение16 мин
Количество просмотров15K

C++ Enterprise Edition


Что такое "enterprise edition"


c++ee


Удивительно, но за все время моей работы в IT, я ни разу не слышал, чтобы кто-то говорил "enterprise edition" относительно языка программирования, кроме как для Java. Но ведь приложения для корпоративного сегмента люди пишут на многих языках программирования, и сущности, которыми оперируют программисты, если не идентичны, то схожи. И для c++ в частности, я бы хотел заполнить пробел enterpr'айзности, хотя бы рассказав об этом.

Читать дальше →
Всего голосов 34: ↑29 и ↓5+24
Комментарии47

Ардуино термометр & гигрометр с E-PAPER на nRF52832 — или о том, что забыли выпустить производители

Время на прочтение3 мин
Количество просмотров29K
Приветствую всех читателей Habr! В своей очередной статье снова поведу речь о ARDUINO. Хочу поделиться с вами очередным своим проектом, реализованном на микроконтролере nRF52832. Это датчик температуры и влажности на sht20 | (даташит) c монохромным дисплеем на электронных чернилах(E-INK|E-PAPER), который является частью экосистемы MySensors.

Всего голосов 61: ↑57 и ↓4+53
Комментарии19

12 принципов анимации в разработке видеоигр

Время на прочтение12 мин
Количество просмотров16K
image

В то время, когда видеоигры ещё находились в эпохе Pac-Man, аниматоры студии Disney Фрэнк Томас и Олли Джонсон перечислили в своей книге 1981 года «The Illusion of Life: Disney Animation» то, что сегодня считается базовыми правилами анимации — 12 основных принципов.

  1. Сжатие и растяжение (Squash & stretch)
  2. Сценичность (Staging)
  3. Подготовка, или упреждение (Anticipation)
  4. Использование компоновок и прямого фазованного движения (Straight ahead & pose to pose)
  5. Сквозное движение (или доводка) и захлест действия (Follow-through & overlapping action)
  6. Смягчение начала и завершения движения (Slow in & slow out)
  7. Дуги (Arcs)
  8. Дополнительное действие (Secondary action)
  9. Привлекательность (Appeal)
  10. Расчёт времени (Timing)
  11. Преувеличение, утрирование (Exaggeration)
  12. Профессиональный рисунок (Solid drawing)

Несмотря на то, что эти фундаментальные основы были придуманы ещё до распространения компьютерной графики и предназначались исключительно для рисуемых от руки двухмерных анимаций, они идеально подошли и к 3D-графике. Хоть связь некоторых из них с интерактивной средой не совсем очевидна, небольшое переосмысление помогает раскрыть их непреходящую ценность.

Понимание этих основ анимации необходимо, поэтому нужно заново исследовать их через объектив видеоигровых анимаций.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

История блужданий по документации Haproxy, или на что стоит обратить внимание при его конфигурации

Время на прочтение8 мин
Количество просмотров31K
И снова здравствуйте!

В прошлый раз мы рассказывали о выборе инструмента в Ostrovok.ru для решения задачи проксирования большого количества запросов к внешним сервисам, никого при этом не положив. Статья закончилась выбором Haproxy. Сегодня я поделюсь нюансами, с которыми мне пришлось столкнуться при использовании этого решения.


Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии3

STM32 bootloader DFU mode с использованием CubeMX. Инструкция пошаговая, step by step

Время на прочтение6 мин
Количество просмотров56K
Итак, сочинение сего мандригала было сподвигнуто практически полным отсутствием пошаговой инструкции с использованием обычного инструментария предлагаемого STMicroelectronics.

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

Предлагаемый материал содержит процедуру использования пакета CubeMX, «загружалки» DfuSeDemo и утилиты подготовки прошивки Dfu file manager, т. е. Мы абстрагируем наши «хотелки» от железки, да простят меня гуру макроассемблера и даташита.
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии29

Равномерно распределяем точки по сфере в pytorch и tensorflow

Время на прочтение8 мин
Количество просмотров9.5K

Этот текст написан для тех, кто интересуется глубоким обучением, кто хочет использовать разные методы библиотек pytorch и tensorflow для минимизации функции многих переменных, кому интересно научиться превращать последовательно выполняющуюся программу в выполняемые с помощью numpy векторизованные матричные вычисления. А ещё можно научиться делать мультфильм из данных, визуализированных с помощью PovRay и vapory.


Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии8

Qt 5.1 и корректный deployment в Windows

Время на прочтение4 мин
Количество просмотров85K
Добрый день!
Для меня он вышел не очень добрым, 10 часов из жизни потрачено в поисках решения на простой вопрос, но в конечном счете я его нашел, и сейчас поделюсь с вами.
Итак, краткая предыстория.
Один мой заказчик попросил разработать kiosk-mode приложение на Qt. И для начала, сделать версию для POS-терминала с ОС Windows XP.
Ok, за неделю я что-то сверстал по приложенным макетам и попробовал отдать версию заказчику. Приложив Qt5Core.dll, Qt5Gui.dll, ну и прочие .dll используемых модулей Qt.
«Failed to load platform plugin „windows“» сказала японскаяфинская бензопила.
Читать дальше
Всего голосов 30: ↑24 и ↓6+18
Комментарии37

Безопасный SOCKS5 прокси для Telegram за 1 Евро и 10 минут

Время на прочтение3 мин
Количество просмотров133K
Не все прокси одинаково полезны. На волне новостей о блокировке мессенджера Телеграмм стало актуально поднимать свой SOCKS5 прокси, так как чужой использовать не безопасно — неизвестно, кому принадлежат серверы, какое ПО на них используется, и какие в нем присутствуют уязвимости. Кроме того, публичные прокси часто очень медленные, поскольку большое число клиентов одновременно «пытаются» его использовать, перегружая ресурсы сервера. Под катом инструкция по быстрой настройке приватного SOCKS5 прокси с аутентификацией за 1 евро и 10 минут времени и возможностью в дальнейшем расширить защиту сервера при помощи усиленной аутентификации.
Читать дальше →
Всего голосов 71: ↑45 и ↓26+19
Комментарии142

Изометрическая сортировка по глубине для подвижных платформ

Время на прочтение8 мин
Количество просмотров6K

Что мы будем создавать

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

В этом туториале мы подробнее рассмотрим сортировку по глубине для изометрических уровней, потому что добавим ещё и подвижные платформы. Этот туториал — не введение в теорию изометрии и не посвящён коду. В нём мы будем разбираться в логике и теории, а не анализировать код. В качестве инструмента используется Unity, поэтому сортировка по глубине сводится к изменению sortingOrder спрайтов. В других фреймворках она может являться изменением порядка по оси Z или последовательности отрисовки.

Для изучения основ теории изометрии прочитайте этот туториал. Код и структура кода соответствуют моему предыдущему изометрическому туториалу. Изучите его, если этот туториал покажется вам сложным, потому что в нём я сосредоточусь только на логике.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии2

Что ещё необходимо узнать про OpenCL C перед тем, как на нём писать

Время на прочтение13 мин
Количество просмотров16K
Как было написано
float4 val = (0, 0, 0, 0);

Что хотел написать автор
float4 val = (float4)(0, 0, 0, 0);

Как нужно было написать
float4 val = 0;


Если Вы сталкивались с OpenCL или планируете столкнуться и не видите разницы между первым и вторым вариантом, а третий вызывает у Вас сомнения — «А скомпилируется ли вообще?» — добро пожаловать под кат, там много нюансов языка и совсем ничего про API и оптимизацию производительности.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии4

Делаем адаптивный HTML, добавляя одну строку в CSS

Время на прочтение4 мин
Количество просмотров192K
image

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

И самое классное: адаптивность будет добавлена с помощью одной строки CSS.
Это означает, что нам не нужно загромождать HTML лишними классами (Col-sm-4, col-md-8) или создавать медиа-запросы для каждого размера экрана.

Рассмотрим все подробнее.
Читать дальше →
Всего голосов 67: ↑66 и ↓1+65
Комментарии103
1

Информация

В рейтинге
3 387-й
Откуда
Чебоксары, Чувашия, Россия
Дата рождения
Зарегистрирован
Активность