Как стать автором
Обновить
3
0
Виталий @Vplusplus

Программист

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

Оживляем раритетный кассовый аппарат из девяностых

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров5.5K
Приветствую всех!
Обычно, когда речь заходит о старых кассовых аппаратах, вспоминаются девайсы ещё советских времён, тогда как устройства девяностых и двухтысячных оказываются незаслуженно забыты. Тем не менее, среди них тоже были по-своему интересные экземпляры, о которых я и хочу рассказать.



Итак, в сегодняшней статье поговорим о кассовых аппаратах эпохи фискальной памяти. Узнаем, как они устроены, посмотрим на них в работе и разберёмся, какие интересные (и по нынешним временам порой нелогичные) решения в них применены.
Читать дальше →
Всего голосов 46: ↑45 и ↓1+62
Комментарии24

Лазер против камеры видеонаблюдения: что будет с матрицей и защитит ли IP-камеру DC-iris?

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

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

Так как же на самом деле лазеры влияют на маленькие сенсоры IP-камер видеонаблюдения? Давайте разбираться!

Читать далее
Всего голосов 146: ↑146 и ↓0+175
Комментарии185

Простой саботаж в мире ПО

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

В кульминационный момент Второй мировой войны ЦРУ выпустило потрясающую книгу Simple Sabotage. В ней изложены различные способы, которыми диверсанты могут снижать продуктивность компании. Некоторые из этих советов не стареют, например, раздел «Общие помехи организациям и производству»:

1. Настаивайте на том, чтобы всё выполнялось через «каналы». Не допускайте того, чтобы для ускорения реализации решений выбирались кратчайшие пути.

2. Делайте «доклады». Говорите как можно чаще и пространнее. Иллюстрируйте свои «идеи» долгими историями из жизни и ссылайтесь на личный опыт. С готовностью делайте «патриотические» комментарии.

3. По возможности отправляйте все вопросы в комитеты для «более глубокого изучения и рассмотрения». Стремитесь делать комитеты как можно больше, не менее чем из пяти членов.

4. Как можно чаще поднимайте вопросы о несущественных проблемах.

5. Спорьте о чётких формулировках в общении, протоколах, резолюциях.

6. Возвращайтесь к темам, по которым было принято решение на последнем совещании, и пытайтесь повторно открыть вопрос о целесообразности этого решения.

7. Советуйте «быть аккуратными». Будьте «разумны» и подталкивайте других участников совещаний к «разумности», к тому, чтобы они избегали спешки, которая может в будущем вызвать неудобства или сложности.

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

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

Читать далее
Всего голосов 66: ↑64 и ↓2+86
Комментарии35

Построение распределенной системы очередей сообщений с RabbitMQ и Python

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

Распределенные системы — это важная составляющая современных вычислений. Они позволяют нам создавать приложения и сервисы, способные обрабатывать огромные объемы данных, обеспечивать высокую доступность и масштабируемость. Однако, при работе с распределенными системами, существует ряд сложностей и вызовов, которые разработчики должны учитывать.

RabbitMQ — это мощный и гибкий брокер сообщений, который широко используется для создания распределенных систем, поддерживающих обмен данных между различными компонентами приложения. Он был разработан с учетом принципов протокола Advanced Message Queuing Protocol (AMQP), что делает его стандартом в индустрии для обработки сообщений.

Читать далее
Всего голосов 21: ↑15 и ↓6+14
Комментарии0

Как повысить свои шансы пройти ИИ-фильтр на сайтах вакансий

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

Если вы давно и безуспешно ищете работу на популярных сайтах по трудоустройству, то вы не одиноки. Как известно, рекрутеры выбирают не лучшего, а того, кто лучше всех других подходит под их критерии. Это особенно актуально сейчас, когда работу рекрутеров постепенно заменяет ИИ.

Почти все топовые западные компании его уже используют. Миллионы резюме с LinkedIn, Indeed и ZipRecruiter фильтруются автоматическими ATS-системами, и только потом попадают на глаза человеку. 98,8% компаний из списка Fortune 500 используют такие системы фильтрования кандидатов для оптимизации процесса найма.

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

Мы живем в дистопии, где на работу нас начинают выбирать роботы. Можно плакать по этому поводу, а можно попробовать обмануть наших новых оверлордов.

Читать далее
Всего голосов 24: ↑20 и ↓4+19
Комментарии12

Шпаргалка по SQL (postgres), которая выручает меня на собесах

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

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

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

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

Читать далее
Всего голосов 156: ↑149 и ↓7+177
Комментарии178

Propan — Python фреймворк для написания микросервисов с использованием брокеров сообщений

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

Так исторически сложилось, что последние 5 лет своей продуктовой разработки я работаю с микросервисами вокруг брокеров сообщений (преимущественно RabbitMQ и Kafka).

И все это время меня не покидало чувство некой неудовлетворенности и неполноценности инструментария, который был мне доступен.

Приходя из мира HTTP фреймворков ты чувствуешь себя как будто на костылях - ни тебе hotreload'а, который есть практически в любом wsgi-asgi сервере, хочешь тестировать - поднимай контейнеры окружения или мокай зависимости (особенно удобно в CI, ага), не забудь о реконнектах, логировании, трассировке и тд и тп.

И вот, таская от сервиса к сервису ворох всех этих проблем (и код который эти проблемы решает), до меня дошла гениальная идея: оформить весь однотипный код, общий для всех сервисов в единый пакет!

Так появился на свет фреймворк Propan.

Читать далее
Всего голосов 31: ↑31 и ↓0+31
Комментарии23

Груг против сложности. Я пролинтил все посты на Хабре про Python, и вот что я нашёл

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

В какой-то момент времени я превратился в педанта брюзгу. В фильмах малейшие нестыковки и провалы в логике портят мне весь просмотр. В чатах меня бесит it's вместо its. А в статьях про программирование... Всё плохо. За меня всё уже сказал @AlexanderAstafiev, я лишь процитирую:

Простите, я не могу так больше. Я слишком хорошо знаю Python, чтобы молчать при виде такого кода.
Я устал. Я не могу это читать. Простите за токсичную критику, накипело.

Самое забавное, что, по моим ощущениям, везде я вижу одни и те же классы проблем. Я даже запилил сервис, где можно закинуть код и получить код ревью, и, собрав немного статистики, понял, что 50 типов ошибок достаточно, чтобы покрыть большую часть проблем в чужом коде. Но выборка у меня была небольшая, и я подумал: а что, если проверить много кода?

И всё заверте...
Всего голосов 119: ↑114 и ↓5+134
Комментарии153

Маркеры на Google Maps во Flutter: от простого к сложному

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

Я — Тим, разработчик в Гудитворкс. Недавно мы делали приложение-гид по ресторанам. Нам было нужно, чтобы на карте отображалась информация о ресторанах, а пользователь мог бы отмечать понравившиеся. Я расскажу, как работать во Flutter с картами, а также стандартными и нестандартными маркерами. В конце каждой части рассказа — ссылка на репозиторий с полным кодом примера.

За иллюстрацию к статье спасибо DALL·E :)

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

Неожиданная находка, которая освобождает 20 GB неиспользованного индексного пространства

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

Раз в несколько месяцев мы получаем предупреждения от системы мониторинга базы данных о том, что свободное место скоро закончится. Обычно мы просто выделяем больше места и забываем об этом, однако в этот раз мы мы были на карантине и система была нагружена меньше, чем обычно. И тут мы подумали, что это хорошая возможность провести чистку.

Начнем с конца: в итоге нам удалось освободить более чем 70 GB не оптимизированного и неиспользуемого пространства без удаления индексов и данных. 

Читать далее
Всего голосов 47: ↑44 и ↓3+54
Комментарии9

О русской науке замолвите слово или за что я люблю Тинькофф, часть 1

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


Так сложилось, что я уже много лет руковожу научной группой, а с недавних пор лабораторией в МГУ. При этом львиная доля финансирования нашей лаборатории идет от компаний. Изначально она была создана в рамках контракта с Intel (совместная лаборатория), а позднее мы очень активно работали ещё и с RealNetworks (20+ проектов), Samsung (совместная лаборатория), Cisco, Huawei (до 5 контрактов параллельно) и другими. И так получилось, что большая часть наших контрактов (примерно 95% по количеству и 99% по деньгам) приходилась на иностранные компании, при этом взаимодействие с российскими компаниями в среднем заметно контрастировало.

Моим наилучшим примером отношения русских компаний к университетам является любимый пример Олега Тинькова из его книги:

«Третий пример, мой любимый. Весной 2011 года я выступал на мехмате МГУ и с присущим мне эпатажем заявил: «Что такое фундаментальная наука. Ходить грязным, вонючим и в итоге стать нобелевским лауреатом? Так вот, это все булшит! Зарабатывайте деньги. Не думайте про фундаментальную науку, потому что это отстой».
Олег Тиньков, «Революция. Как построить крупнейший онлайн банк в мире»
 

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

Меня периодически спрашивают друзья из компаний: «Как там наука? Поднялась с колен? Я слышал — ситуация получше стала». Кому интересно, как Тиньков развалил мехмат что происходит в науке в разрезе работы с компаниями (этюды в багровых тонах, вечерние зарисовки из окопа автора) — добро пожаловать под кат!
Читать дальше →
Всего голосов 144: ↑133 и ↓11+150
Комментарии348

Информация

В рейтинге
Не участвует
Откуда
Курская обл., Россия
Зарегистрирован
Активность

Специализация

Backend Developer
Lead
От 5 000 $
Python
Fastapi
Django
PostgreSQL
Linux
Vue.js
Golang
Dart
Flutter