Как стать автором
Обновить
-2
0
Дмитрий Про @dprotopopov

Граф О'ман

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

Serverless telegram бот в Excel

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

Это история про камингаут телеграм‑бота, у которого нет VDS и он бомжует: одной ногой — в гугло‑облаке, другой — в Excel.

Да, жизнь бывает сложнее учебника по ботоводству. Например, для целей ботоводства гугло‑облако все еще может выглядеть надежнее, проще и удобнее VDS. И если в мире людей не зазорно бомжевать по съемным хатам, то кто осудит бомжебота за отказ от VDS?

Не станем особо заморачиваться на сравнении преимуществ и недостатков хостинга с и без VDS. Только напомним не только лишь для школьников, что у гугло‑сервисов все еще весомые бесплатные лимиты и их датацентрам пока еще не грозят негативные последствия того‑чего‑нельзя‑называть.

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

Самый простой гайд по созданию бота для анализа сообщений в Telegram

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

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

В этой статье рассказываем, как с помощью нейросети создать бота, который собирает и обрабатывает информацию из сообщений, и задеплоить его на облачный сервер.
Читать дальше →
Всего голосов 27: ↑24 и ↓3+30
Комментарии5

Память человеков. Отлаженный механизм или баг на баге?

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

Всем привет! Сегодня мне вдруг захотелось поговорить о том, как работает память. О процессах, ошибках и вот этом вот всем. Для более полного понимания советую прочесть статьи о когнитивных искажениях (часть 1, часть 2, часть 3). Ну или хотя бы начало первой статьи, если не знаете, что такое когнитивные искажения. Но это, в принципе, необязательно.

Итак, поехали!

Читать далее
Всего голосов 10: ↑7 и ↓3+5
Комментарии3

Когнитивные искажения в программировании. Часть 3

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

Всем привет!

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

Сегодня на препарацию у нас:

• корыстная предвзятость (self-serving bias);
• ошибка планирования (planning fallacy);
• эффект повального увлечения, конформизм (conformity);
• эффект авторитета (authority bias).

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

Кастомизируем VS Code для веб-разработки

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

Привет, меня зовут Филипп, я фронтенд-разработчик в KTS.

Visual Studio Code — это бесплатный, шустрый (что важно на больших проектах) и глубоко кастомизируемый редактор кода.

В статье расскажу, какие настройки и плагины VS Code использует наша команда фронтенда в KTS. Материал может быть полезен для JavaScript- и React-разработчиков, а ещё для тех, кто уже давно пользуется VS Code, но не знает о некоторых полезных плагинах и фичах для повседневного использования. 

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

Также я рассмотрел инструменты для оптимизации работы с Git, шаблоны директорий и другие возможные настройки.

Читать далее
Всего голосов 44: ↑40 и ↓4+38
Комментарии17

Наводим порядок в конфигах Webpack

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

Всем привет. Меня зовут Евгений Чернышев, и я возглавляю фронтенд-разработку в одном из направлений деятельности Домклик. Хочу поделиться своими мыслями о том, как управлять сложными конфигурациями Webpack. Сразу «проведу черту», чтобы предотвратить возможные холивары: сравнение Webpack с другими бандлерами (Rollup, Vite и прочими) выходит за рамки статьи.

Де-факто, Webpack является основным сборщиком фронтенд-проектов. Это зрелый продукт, который до сих пор развивается и повсеместно используется. Но, как и любой инструмент, он имеет свои слабые стороны. Я считаю что основной недостаток Webpack — это сложность его конфигурации. На крупных долгоживущих проектах конфигурационные файлы становятся слишком большими и нечитаемыми, превращаясь в мешанину вложенных объектов и spread-операторов. Чтобы показать, что я имею в виду, рассмотрим стадии развития проекта.

Читать далее
Всего голосов 18: ↑17 и ↓1+18
Комментарии5

Как автоматизировать использование дизайн токенов с помощью Stylelint и PostCSS

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

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

Меня зовут Саша и вот уже 7 лет я работаю фулстек разработчиком и пишу на C# и TypeScript/React.

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

Статья будет полезна для разработчиков, которые уже используют или собираются использовать дизайн токены.

Начнём!
Всего голосов 5: ↑5 и ↓0+5
Комментарии4

От аль-Кинди до Керкгоффса

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

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

С одной стороны, эта задача может показаться тривиальной, поскольку в криптологии за сотни лет накопилось множество самых разнообразных шифров, но такое впечатление обманчиво. Хотя книг и статей по истории криптографии очень много, большая их часть так или иначе описывает одни и те же шифры, и это печально. Десятки похожих описаний шифров Цезаря, Виженера, Плейфера (на самом деле Уитстона), Отендорфа и других постепенно переходят к диску Альберти и цилиндру Джефферсона, от которых уже рукой подать до Энигмы и её потомков. В любом случае чем тривиальней кажется материал, тем интересней сделать из него то, что не потеряется в ленте и вызовет какой-то положительный фидбэк. Ну что же, трудности созданы, осталось их героически преодолеть.

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

Квантовые ошибки: чем вызваны, на что влияют, и как их исправлять

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

Новая веха на пути к созданию работающего без ошибок квантового компьютера 

Компания Riverlane 13 сентября 2023 года объявила о создании декодера исправления ошибок при проведении квантовых вычислений квантовым компьютером. В этой статье мы расскажем, что представляет собой этот декодер, какие функциональные возможности он открывает для производителей и пользователей квантовых компьютеров, а также о том, что Riverlane планирует сделать в дальнейшем для достижения повышения отказоустойчивости квантовых вычислений. 

Квантовая корркция ошибок (QEC) 

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

Классическая коррекция ошибок использует избыточность. Самый простой, хотя и неэффективный подход — это код повторения. Идея состоит в том, чтобы сохранить информацию несколько раз и — если позже обнаружится, что эти копии расходятся — проголосовать большинством голосов; например, предположим, что мы копируем бит в одном состоянии три раза. Предположим далее, что зашумленная ошибка искажает трехбитовое состояние так, что один из скопированных битов равен нулю, а два других равны единице. Предполагая, что зашумленные ошибки независимы и возникают с некоторой достаточно низкой вероятностью p, наиболее вероятно, что ошибка представляет собой однобитовую ошибку, а передаваемое сообщение состоит из трех единиц. Возможно, что произошла двухбитовая ошибка и переданное сообщение равно трем нулям, но такой исход менее вероятен, чем вышеуказанный.

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

Как проходил и чем закончился бум нанотехнологий

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

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

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

10 тяжёлых истин о работе программиста, про которые никто не предупреждает

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

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

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

Всё это приятные бонусы, но никто не говорит им, что на самом деле им придётся делать на этой работе.

Имея большой опыт работы в этой отрасли, я смог показать им, какова жестокая реальность. Я рассказал им о хорошем, но также поделился и неприятными истинами.

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

Читать далее
Всего голосов 157: ↑142 и ↓15+155
Комментарии417

Scrum ужасен

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

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

Давайте начнём с самого начала.

Что такое Scrum?


Scrum — это Agile-система управления проектами, «помогающая людям и командам инкрементно и совместно приносить пользу» — цитата со Scrum.org.

Что касается Agile, то если вы никогда не читали его манифеста (2001 год), то определю его как компактный список рекомендаций, которым нужно следовать при разработке ПО.

Agile не является: Библией разработки ПО, догматическим набором строгих правил, тикетами Jira или коучами Agile, суетящимися в вашей компании.

Дополнение: определения несовершенны по определению (а теперь прочитайте это ещё раз).

Я с открытой душой приму любую критику о своих определениях Scrum, Agile и любых других терминов, и лишь попрошу прочитать пост целиком, прежде чем писать разгневанные комментарии!
Читать дальше →
Всего голосов 63: ↑53 и ↓10+59
Комментарии135

Как презентовать дизайн-концепцию, чтобы не облажаться перед заказчиком. Готовый скрипт + чек-лист

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

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

Привет, я Антон — креативный директор в Пиробайте. Расскажу, как подготовиться к демо, чтобы после созвона вам не сказали легендарную фразу: «Давай по новой, Миша. Все фигня!»

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

Джон фон Нейман: выдающийся венгерский ученый, участник Манхэттенского проекта и автор статей по квантовой механике

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

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

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

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x. Крупная кража на $ 900 000 у пользователей Биткоин Кошельков

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

Исследователи компании «Slowmist» проводят регулярное исследование сферы безопасности блокчейна Биткоин. Они обнародовали уязвимость в библиотеке Libbitcoin Explorer 3.x, которая позволила злоумышленникам украсть более $ 900 000 у пользователей Биткоин Кошельков (BTC).

По данным аналитиков, эта уязвимость может также затронуть пользователей Ethereum, Ripple, Dogecoin, Solana, Litecoin, Bitcoin Cash и Zcash, которые используют Libbitcoin для создания учетных записей.

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

Не Unity единым…

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

Игры бывают разные, большие и маленькие, триA и супер инди, в компаниях с сотнями разработчиков и что создаются самородками-одиночками. Редко их делают с нуля и пишут код только игры, чаще пишут игровые тулы, редактор и параллельно пишут саму игру. За всей этой многомиллиардной индустрией стоит код, много кода, очень много кода. Игровые движки и фреймворки – мощные инструменты, которые помогают разработчику творить его идеи и создавать увлекательные игровые миры. Это каркас, на котором строятся все игровые вселенные, они включают в себя сотни инструментов, библиотек и ресурсов, позволяя разработчикам превратить строчки кода в театр для одного зрителя.

Существует более сотни игровых движков, каждый из них содержит как минимум одну фичу которой нет ни в каком другом. Всех возможностей вместе нет ни в одном, и это прекрасно - иначе бы такой движок монополизировал рынок. Хм, Unreal5 ты ли это? Иногда полезно пробежать по release notes движка, чтобы оставаться в курсе последних новостей. Возможно вы разрабатываете свое решение и эта статья натолкнет вас на новые идеи. Готовы узнать что ваша любимая игры была сделана не на Unity, а на православном SDL?

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

Шпаргалка по криптографии: что делать, если попал в проект с криптографами

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

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

Сейчас мы с вами разберемся с базой!

Читать далее
Всего голосов 15: ↑13 и ↓2+12
Комментарии5

Анонсирован выпуск первого в мире квантового компьютера с более чем 1000 кубитов

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

С днём килокубита, Хабр! Меня зовут Алексей, я исследователь Центра научных исследований и перспективных разработок компании «ИнфоТеКС», аспирант Центра квантовых технологий МГУ. Сегодня поговорим о недавнем анонсе килокубитного квантового компьютера и разберёмся, ознаменовал ли он начало новой эры квантовых вычислителей.

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

Из фото в 3D, ч.1: геометрия формирования изображения

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

Казалось бы, жизнь невозможно повернуть назад, а предмет из фотографии не восстановишь. Хотя с последним можно поспорить: из плоского 2D-изображения реально восстановить 3D-модель объекта. Подобная «магия» часто практикуется в AR/VR, управлении беспилотниками и других сферах. Для этого первым делом производится калибровка камеры. Чтобы понять процесс калибровки, сперва следует освоить базовые принципы преобразования трехмерных координат точек в двухмерные на плоскости. 

Сегодня мы рассмотрим:

геометрию формирования изображения на сенсоре камеры (pinhole модель);

как рассчитываются координаты точки на сенсоре для точки из реального мира;

как переходить от одной системы координат к другой;

что такое внутренние и внешние параметры камеры и зачем они нужны.

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

Увеличивается ли масса объектов при приближении к скорости света?

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

Независимо от того, кто вы, где вы находитесь и как быстро вы движетесь, законы физики будут выглядеть для вас точно так же, как и для любого другого наблюдателя во Вселенной. Эта концепция, согласно которой законы физики не меняются при перемещении из одного места в другое или из одного момента в другой, известна как принцип относительности и восходит не к Эйнштейну, а ещё дальше в прошлое: по крайней мере, ко временам Галилея. Если на объект действует сила, то он ускоряется (т.е. изменяет свой импульс), причём величина ускорения напрямую зависит от силы, действующей на объект, делённой на его массу. На языке математики это утверждение выглядит как знаменитое уравнение Ньютона F = ma: сила равна массе, умноженной на ускорение.

Но когда были открыты частицы, движущиеся со скоростью, близкой к скорости света, неожиданно возникло противоречие. Если на малую массу действует слишком большая сила, а силы вызывают ускорение, то массивный объект можно разогнать до скорости света или даже превысить её! Это, конечно, невозможно, и именно теория относительности Эйнштейна позволила нам разрешить этот парадокс. Обычно это объясняется через понятие так называемой «релятивистской массы», т.е. тем, что по мере приближения к скорости света масса объекта увеличивается, поэтому та же сила вызывает меньшее ускорение, не позволяя достичь скорости света. Но верна ли такая интерпретация «релятивистской массы»? Только отчасти. Вот научный ответ на этот вопрос.

Читать далее
Всего голосов 34: ↑26 и ↓8+29
Комментарии211

Информация

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

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

Fullstack Developer
Lead
PostgreSQL
Docker
RabbitMQ
Elasticsearch
C#
Microsoft SQL Server
Vue.js
Entity Framework
Manticore
ASP.Net