Как стать автором
Обновить
12
0
Dmitry A. @drdimitru

CTO

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

DevProject Award: Моя речь на DeveloperWeek 2019

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

Всем привет


Меня зовут Дмитрий Голев. Я основатель и технический директор Veliov Group. Сегодня я расскажу о сервисе, который был награжден "Dev Project" award от DeveloperWeek. По данному случаю нам предложили рассказать о проекте со сцены DevExec World, ниже текстовая версия моей речи.


ostr.io логотип

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

React и SEO: как их подружить?

Время на прочтение6 мин
Количество просмотров56K
Как известно, поисковая оптимизация одностраничных приложений задача непростая и решение ее может потребовать значительных затрат труда, особых умений от разработчиков и финансовых затрат от заказчика. Какие же решения предлагает сообщество, чтобы, по возможности быстро и с минимальными затратами, сделать React веб-сайт дружественным к поисковым серверам?
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии2

Почему мы злые?

Время на прочтение1 мин
Количество просмотров61K
Вечером в воскресенье на просторах одной российской социальной сети я увидел ссылку на статью — What I learned from writing six functions that all did the same thing (Что я узнал от написания шести функций которые делали одно и то же).
Читать дальше →
Всего голосов 330: ↑231 и ↓99+132
Комментарии793

Заставляем FFMPEG менять HLS потоки в зависимости от текущей пропускной способности

Время на прочтение9 мин
Количество просмотров14K
Привет, жители Хабра. Сегодня хочу рассказать историю о том, как пришлось нырять в глубины ffmpeg без подготовки. Эта статья будет руководством для тех, кому нужна возможность корректной работы FFMPEG c HLS стримами (а именно — смена потоков в зависимостри от текущей пропускной способности сети).
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии24

MongoDB Replica Set и OpLog на одном сервере

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

Пример настройки MongoDB с закрытым доступом через сеть Интернет. В данной статье приведен пример разворачивания трех Replica Set и активацией OpLog на одном сервере. OpLog необходим "реактивным" приложениям, которые следят (слушают) за изменениями в MongoDB, например для приложений на основе Meteor (для отключения long-polling'а).

Читать дальше →
Рейтинг0
Комментарии0

Уличная грязь и симуляция движения пешеходов

Время на прочтение7 мин
Количество просмотров61K
С приходом весны и дождей на улице в глаза все чаще бросается одна проблема. Вот эта:



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

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

Шел я как-то по дорожке и вяло размышлял на тему того, что опять придется или тащиться в обход, или пачкать обувь. С возмущения типа «вот же дураки это проектируют» мысль плавно перетекла на слышанную когда-то байку про некий наукоград, где дорожки во дворах сперва не сделали вовсе, а потом просто заасфальтировали протоптанные людьми тропинки, получив сеть удобных жителям маршрутов. А оттуда мысль перекочевала к идее «а почему бы не сделать то же самое, но на компьютере?». Разработать программу, которая по заданной карте предскажет, где люди будут топтать газоны и где неплохо бы сделать асфальтовое покрытие?

Под катом — описание алгоритма и пара примеров его работы для реальных питерских дворов.
Читать дальше →
Всего голосов 113: ↑113 и ↓0+113
Комментарии144

Как правильно внести свою лепту в Open Source проект: простые подсказки

Время на прочтение6 мин
Количество просмотров69K
Open Source проекты с каждым днём набирают всё большие обороты, появляются новые, активно развиваются популярные.
Такие проекты как Bootstrap, Angular.js, Elasticsearch, Symfony Framework, Swift и многие другие привлекают новых разработчиков, их сообщество растёт. Всё это даёт огромный рост проектам, а самим разработчикам интересно поучаствовать в разработке чего-то, чем пользуется весь мир.

Я, как и многие другие программисты, не устоял и также время от времени участвую в разработке Open Source проектов, в основном на PHP. Но когда я начинал, я столкнулся с проблемой — я не знал, как правильно организовать процесс «контрибьютинга», с чего начать, как сделать так, чтобы мой Pull Request рассмотрели и т.д.

Всем начинающим «контрибьютерам», которые столкнулись с похожим проблемами, добро пожаловать под кат.


Читать дальше →
Всего голосов 80: ↑69 и ↓11+58
Комментарии41

Почему и зачем писать open-source код?

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

Под катом интересный опрос

Возможно, заголовок этой статьи покажется Вам не корректным, ”Как можно писать open-source код? И что это за код такой?” — спросите Вы.

Чем open-source код отличается от “просто-кода”? Open-source проект — это ответственность за качество кода, за покрытие его тестами, за документацию, за своевременные ответы на вопросы и реагирование на bug репорты, за обработку pull-request’ов. Ваше поведение и мысли во время написания open-source кода, который увидит мир будут другие, соответственно и код на выходе получается другой.

Open-Source проект живет своей жизнью — жизнью сообщества, которое образуется вокруг проекта. Идеи, отзывы, bug репорты, обсуждение и благодарности от других членов сообщества влияют на Вас и проект напрямую, и стимулируют написание кода — понятного, документированного и покрытого тестами.
Читать дальше →
Всего голосов 43: ↑33 и ↓10+23
Комментарии65

Тульпа — карманная шизофрения для гиков или реальный воображаемый друг

Время на прочтение9 мин
Количество просмотров1.5M
Скажите, вы бы хотели иметь друга? Любого человека или другое существо, которое будет вашим самым лучшим другом, обладая той внешностью, которая вам нравится, и тем характером который вам необходим, которое не надо будет делить с ее или его друзьями, родителями, собачкой, игрушками или учебой.
А секретаря, который всегда с вами, имеет прямой доступ к вашей памяти, напомнит, подскажет, и подаст нужную идею, напарника для мозгового штурма?
Тогда добро пожаловать под кат.



Тульпа — это стабильная самовнушенная осознанная визуализация, способная к самостоятельным мыслям и действиям, обладающая собственным сознанием. Что характерно, создается она совершенно осознанно, путем целенаправленных действий в течении долгого времени, и позволяет задавать начальный характер и форму по вашему усмотрению.
Это ты сейчас с кем разговаривал? Расшифруй определение.
Всего голосов 161: ↑83 и ↓78+5
Комментарии563

Несколько тонкостей использования jade в Meteor-проектах

Время на прочтение4 мин
Количество просмотров5.8K
Некоторое время назад мне пришлось окунуться в Meteor. Несмотря на то, что javascript я не люблю, coffeescript еще больше, а node.js меня приводит в бешенство, Meteor очень быстро снискал моё признание и любовь. Я не работал с ним до версии 1.0+, насколько я знаю, там было достаточно много ужасов, однако сейчас, лично для меня, это очень удобный инструмент под небольшие интерактивные проекты. Потому очень хочется поделиться тем, что может облегчить использование данного инструмента другим людям.

Мой опыт работы с Meteor не такой большой, чтобы взять и начать что-то сложное раскладывать по полочкам. Однако я столкнулся с некоторыми вещами, побился о них головой и нашел какие-то решения. И в этой статье я хочу поделиться своими наблюдениями/советами по работе с jade в Meteor. К сожалению, с ним всё не так здорово, как с чистым jade-ом.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии11

Перевод книги «Kingpin». Глава 3. «The Hungry Programmers»

Время на прочтение8 мин
Количество просмотров31K
magisterludi: Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «одного своего знакомого».

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

Начало и план перевода тут: «Шкворень: школьники переводят книгу про хакеров».
Пролог
Глава 3. «The Hungry Programmers»
Глава 5. «Cyberwar!»
Глава 34. DarkMarket
(публикуем по мере готовности переводов)

Логика выбора книги для работы со школьниками у меня следующая:
  • книг про хакеров на русском языке мало (полторы)
  • книг про кардинг на русском нет вообще
  • Кевин Поулсен — редактор WIRED, не глупый товарищ, авторитетный
  • приобщить молодежь к переводу и творчеству на Хабре и получить обратную связь от старших
  • работать в спайке школьники-студенты-специалисты очень эффективно для обучения и показывает значимость работы
  • текст не сильно хардкорный и доступен широкому кругу, но затрагивает вопросы информационной безопасности, уязвимости платежных систем, структуру кардингового подполья
  • книга иллюстрирует, что «кормиться» на подпольных форумах — плохо заканчивается

Хочу выразить благодарность ребятам из проекта «Юные программисты ФСБ РФ» из Кадетской школы 1770 г. Москвы и руководителю Сергею Епифанцеву за координационную работу.

image

Кто хочет помочь с переводом других глав пишите в личку magisterludi.
Читать дальше →
Всего голосов 23: ↑14 и ↓9+5
Комментарии7

Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 1. «Ключ»

Время на прочтение7 мин
Количество просмотров81K
imageКевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «одного своего знакомого».

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

Начало и план перевода тут: «Шкворень: школьники переводят книгу про хакеров».
Пролог
Глава 1. «Ключ»
Глава 3. «The Hungry Programmers»
Глава 5. «Cyberwar!»
Глава 34. DarkMarket
(публикуем по мере готовности переводов)

Логика выбора книги для работы со школьниками у меня следующая:
  • книг про хакеров на русском языке мало (полторы)
  • книг про кардинг на русском нет вообще (UPD нашлась одна)
  • Кевин Поулсен — редактор WIRED, не глупый товарищ, авторитетный
  • приобщить молодежь к переводу и творчеству на Хабре и получить обратную связь от старших
  • работать в спайке школьники-студенты-специалисты очень эффективно для обучения и показывает значимость работы
  • текст не сильно хардкорный и доступен широкому кругу, но затрагивает вопросы информационной безопасности, уязвимости платежных систем, структуру кардингового подполья, базовые понятия инфраструктуры интернет
  • книга иллюстрирует, что «кормиться» на подпольных форумах — плохо заканчивается

Кто хочет помочь с переводом других глав пишите в личку magisterludi.

Глава 1. Ключ

(текст переведен в рамках коллективного проекта школьников в лагере GoToCamp, спасибо Алене, Кате, Соне, Грише, Саше и хабраюзеру ShiawasenaHoshi)

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

5 причин для Angular-разработчиков в пользу использования Meteor

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

Если вы еще не слышали о Meteor, то как раз пришло время для знакомства. Meteor обеспечит вас поддержкой real-time режима в ваших приложениях, а также предоставит full-stack среду разработки под javascript/nodejs. Эта платформа является наиболее «звездной» в числе nodejs-фрейворков(а также входит в 10-ку самых «звездных» репозитариев на Github). Так что же, все эти людей просто ошибаются?
Читать дальше →
Всего голосов 16: ↑12 и ↓4+8
Комментарии15

Задача о ста коробках и спасении заключённых – финальный аккорд

Время на прочтение14 мин
Количество просмотров23K
Верный способ войти в историю – ответить, кто побеждает в шахматах при идеальной игре обеих сторон (белые, чёрные или дружба). Нужны ли гроссмейстеры и суперкомпьютеры, чтобы узнать истину? Или достаточно карандаша, бумаги и красивой идеи?

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

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

В самом посте о задаче такого вопроса не поставлено. Однако уже в первом комментарии к нему пользователь mayorovp поднимает тему, а чуть ниже avfonarev сообщает о замечательной статье, раскрывающей тайну.

Этим стоит проникнуться, тем более что рассуждения просты и изящны. В целом же основная идея поста не в решении конкретной задачи (что само по себе тоже интересно), а скорее в том, чтобы в очередной раз дать повод удивиться могуществу или, как выразился Вигнер, непостижимой эффективности математики.
В чём суть?
Всего голосов 30: ↑29 и ↓1+28
Комментарии7

Как Валера взял в команду стажера и начал учить его проектированию

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

Начало


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

На следующее утро в зале для совещаний собрались ключевые сотрудники направления. Технический директор (для тех, кто с ним еще не знаком, — его зовут Иван) сразу перешел к сути вопроса: «Приветствую всех! Как вы знаете, некоторое время назад мы поставили перед собой цель расширить присутствие на рынке и для этого открыли новый офис продаж. Так вот, эта стратегия сработала. Через месяц мы подписываем договор на разработку и внедрение платформы дистанционного образования. Проект очень интересный, но пока не об этом. Чтобы его потянуть, нам нужно срочно формировать новую команду в направлении образовательных систем.»
Читать дальше →
Всего голосов 69: ↑58 и ↓11+47
Комментарии38

Фабрика мышей в Шэньчжэне

Время на прочтение4 мин
Количество просмотров99K
Волею судеб я сейчас нахожусь в Китае, можно даже сказать, путешествую по нему.

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

Побывать в Китае и отказаться от такого приглашения было бы непростительной ошибкой.


Приглашаю на экскурсию
Всего голосов 80: ↑76 и ↓4+72
Комментарии54

Вы неправильно пишете животных

Время на прочтение5 мин
Количество просмотров358K
Животные – это платформы с очень ограниченной памятью, вычислительными способностями и возможностями модификаций. Разработчикам энимал-сцены приходится выдавать практически гениальные низкоуровневые алгоритмы. Правда, большое количество хардкода вызывает характерные проблемы с отсутствием проверки в экзотических условиях. Та же фильтрация входных данных делается очень и очень криво.


Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

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

Но пойдём далее. Я не знаю, кто разрабатывал архитектуру ящериц, но они бегают в одном процессе, а дышат в другом. При этом платформа не поддерживает многозадачность, поэтому костыль с максимальной длиной бега в 4-6 секунд просто эпичен.
Читать дальше →
Всего голосов 442: ↑438 и ↓4+434
Комментарии351

Преступник сбежал из тюрьмы с помощью тайпсквоттинга

Время на прочтение1 мин
Количество просмотров50K
Недавно в Великобритании был осужден Нил Мур — мошенник, успешно занимавшийся социальной инженерией. Он звонил многим организациям, представляясь сотрудником банка, и под разными предлогами убеждал их в том, чтобы они перевели деньги на его счет. Таким образом он заработал более 1,8 миллиона фунтов стерлингов.

Вскоре после заключения под стражу ему удалось обвести вокруг пальца и персонал тюрьмы, причем очень неожиданным способом.
Читать дальше →
Всего голосов 94: ↑81 и ↓13+68
Комментарии56

Троичный компьютер в браузере

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

000. Предыстория


В 1959 году Н. П. Брусенцов разработал для МГУ уникальную вычислительную машину «Сетунь». Она была основана на троичной системе счисления и хотя элементная база была частично двоичной, что приводило к перерасходу деталей, машина зарекомендовала себя как экономичная и надёжная. Сегодня троичную машину можно увидеть разве что в музее, двоичный код победил.

Но, как я говорил ранее, всегда найдутся люди, готовые сохранять технологии прошлого в виде эмуляторов.
Приступим.
Всего голосов 110: ↑107 и ↓3+104
Комментарии96

Двух-факторная аутентификация в Meteor.js

Время на прочтение10 мин
Количество просмотров9.1K
В течение какого-то времени мне довелось работать в стартапе. В качестве бэк-энда (и фронт-энда) мы использовали Meteor.js. В какой-то момент мы столкнулись с необходимостью реализации двух-факторной аутентификации. В этой статье я бы хотел рассказать т том, как реализовать эту фичу в Meteor.js.

Под катом вы не найдете ни одного скриншота/картинки, зато увидите весь код, необходимый для реализации.
Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии0
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность