Pull to refresh
3
-7.9
Дмитрий Про @dprotopopov

Граф О'ман

Send message

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

Reading time 6 min
Views 7.9K

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

В этой статье рассказываем, как с помощью нейросети создать бота, который собирает и обрабатывает информацию из сообщений, и задеплоить его на облачный сервер.
Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Comments 3

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

Reading time 6 min
Views 4.4K

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

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

Читать далее
Total votes 12: ↑8 and ↓4 +4
Comments 3

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

Reading time 12 min
Views 5.3K

Всем привет!

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

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

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

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

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

Level of difficulty Easy
Reading time 10 min
Views 26K

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

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

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

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

Читать далее
Total votes 46: ↑42 and ↓4 +38
Comments 17

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

Level of difficulty Medium
Reading time 15 min
Views 4.8K

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

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

Читать далее
Total votes 20: ↑19 and ↓1 +18
Comments 5

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

Level of difficulty Easy
Reading time 8 min
Views 3.2K

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

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

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

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

Начнём!
Total votes 5: ↑5 and ↓0 +5
Comments 4

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

Level of difficulty Easy
Reading time 7 min
Views 1K

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

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

Читать далее
Total votes 13: ↑13 and ↓0 +13
Comments 0

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

Reading time 8 min
Views 1.7K

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

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

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

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

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

Читать далее
Total votes 2: ↑2 and ↓0 +2
Comments 1

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

Level of difficulty Easy
Reading time 8 min
Views 3.5K

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

Читать далее
Total votes 13: ↑10 and ↓3 +7
Comments 3

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

Level of difficulty Easy
Reading time 10 min
Views 67K

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

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

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

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

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

Читать далее
Total votes 185: ↑170 and ↓15 +155
Comments 417

Scrum ужасен

Level of difficulty Easy
Reading time 8 min
Views 44K

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

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

Что такое Scrum?


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

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

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

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

Я с открытой душой приму любую критику о своих определениях Scrum, Agile и любых других терминов, и лишь попрошу прочитать пост целиком, прежде чем писать разгневанные комментарии!
Читать дальше →
Total votes 79: ↑69 and ↓10 +59
Comments 134

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

Level of difficulty Easy
Reading time 8 min
Views 4.1K

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

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

Читать далее
Total votes 14: ↑12 and ↓2 +10
Comments 4

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

Reading time 6 min
Views 4.9K

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

Читать далее
Total votes 10: ↑9 and ↓1 +8
Comments 3

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

Reading time 11 min
Views 5K

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

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

Читать далее
Total votes 9: ↑9 and ↓0 +9
Comments 14

Не Unity единым…

Level of difficulty Easy
Reading time 15 min
Views 36K

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

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

Читать далее
Total votes 95: ↑95 and ↓0 +95
Comments 89

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

Level of difficulty Easy
Reading time 14 min
Views 19K

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

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

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

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

Level of difficulty Medium
Reading time 4 min
Views 9.3K

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

Читать далее
Total votes 3: ↑2 and ↓1 +1
Comments 24

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

Level of difficulty Hard
Reading time 6 min
Views 6.5K

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

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

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

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

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

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

Читать далее
Total votes 18: ↑18 and ↓0 +18
Comments 6

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

Reading time 11 min
Views 38K

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

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

Читать далее
Total votes 45: ↑37 and ↓8 +29
Comments 211

Криптография с открытым ключом: ключи RSA

Level of difficulty Medium
Reading time 23 min
Views 9.9K

Уверен, что вы хотя бы раз создавали пару ключей RSA, напримет, потому, что вам нужно было подключиться к GitHub, и вы хотели избежать необходимости вводить свой пароль каждый раз. Вы добросовестно следовали инструкциям по созданию SSH-ключей, и через пару минут всё было готово.

Но знаете ли вы, что именно вы делали? Углублялись ли вы в детали процесса?

Знаете ли вы, что содержится в файле ~/.ssh/id_rsa? Почему ssh создает два файла с разным форматом? Замечали ли вы, что один файл начинается со слов ssh-rsa, а другой — с -----BEGIN RSA PRIVATE KEY----- ? Вы замечали, что иногда в заголовке второго файла отсутствует часть RSA и просто написано BEGIN PRIVATE KEY?

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

Читать далее
Total votes 24: ↑21 and ↓3 +18
Comments 1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

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