Как стать автором
Обновить
8
0
Александр Теут @jaturken

Пользователь

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

Взламываем транспортные карты: чит на бесконечные деньги

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

Этот парень открыл все турникеты на станции. Вы до сих пор считаете, что все хакеры вредны?

Начну с простого вопроса: кто из вас пользуется общественным транспортом? А кому нравится за него платить? Если такие все же найдутся, то могут смело переставать читать статью. Для остальных у меня есть рассказ о том, как четверо старшеклассников из Массачусетса взломали местную транспортную систему.

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

Читать далее
Всего голосов 142: ↑140 и ↓2+138
Комментарии185

Эффективное управление отношениями со стейкхолдерами

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

Без выстраивания хороших отношений со стейкхолдерами (или заинтересованными сторонами) на проекте далеко не уедешь. О том, как это делать like a boss, годная статья автора Кэт Бугард в блоге Miro.

Все картинки из Miro.

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

Как в 180 000 раз ускорить анализ данных с помощью Rust

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

В этой статье я опишу одно из последних своих дерзновений в сфере оптимизации производительности с помощью Rust. Надеюсь, что в ней вы откроете для себя какие-то новые приёмы для написания быстрого кода на Rust.
Читать дальше →
Всего голосов 80: ↑74 и ↓6+68
Комментарии12

Нужна ли на проекте документация: три признака, что да, ещё три — когда нет

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

Подготовка документации — дело затратное. Прежде чем приступать к ней, нужно подумать, действительно ли она нужна, или это делается, потому что «так принято». 

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

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

Как сделать торгового робота для Binance

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

Программирование для меня это хобби и любимое дело. А так я сертифицированный системный архитектор. Поэтому прошу не особо ругать за код :-)

В настоящее время я увлекаюсь написанием торговых роботов. Постепенно изучаю нейросети для их применения к анализу цен/объемов акций/фьючерсов.

Обычно я писал торговых роботов для работы с Брокерами и делал авто-торговлю Акциями или Фьючерсами, но вдруг возникла мысль:

- А что, если уже готовый код можно применять и на других активах??? Например на крипто активах для Биткоина или Эфира или других?

Уже изучив много библиотек и примеров за долгое время написания своих торговых роботов, решил сделать небольшую библиотеку backtrader_binance для интеграции API Binance и библиотеки тестирования торговых стратегий Backtrader.

Вот с помощью backtrader_binance, сейчас и создадим алго-робота для торговли BTC и ETH.

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

Как мы быстро создавали задачи в Jira по ГОСТовому ТЗ и почему это облегчило работу с госзаказчиком

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

Михаил Михайлец, руководитель группы аналитиков направления облачных решений Лиги Цифровой Экономики, рассказал, как его команда попробовала быстро подготовить задачи по классическому ТЗ (ГОСТ 19) в Jira при работе с государственным заказчиком и что из этого получилось.

Пожалуй, большинству известно, что ГОСТ предусматривает водопадную модель разработки ПО. До недавнего времени она была зафиксирована в постановлении Правительства Российской Федерации от 6 июля 2015 г. № 676 «О требованиях к порядку создания, развития, ввода в эксплуатацию, эксплуатации и вывода из эксплуатации государственных информационных систем и дальнейшего хранения содержащейся в их базах данных информации».

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

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

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

ХЗ в ТЗ по стратегии и психотипирование как бизнес-стратегия

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

Всем привет, меня зовут Гай, и я консультант, помогающий IT-компаниям проводить стратегические сессии и разрабатывать стратегию компании.

В данной статье я хочу описать три пункта стратегирования:

1. Фрейм стратегического анализа и постановки целей.

2. Как картировать набор решений, чтобы цели дошли до нижних звеньев.

3. Психотипирование кадров как важнейший пункт реализации стратегии.

Я проводил стратегические сессии в паре десятков отечественных ИТ-компаний, в том числе и с драгоценной для нас с вами компанией «Хабр» я работаю уже три года.

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

Воспроизводимость ML экспериментов с помощью MLflow project

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

Всем привет! Меня зовут Игорь Дергунов и я руководитель инновационной лаборатории Digital Design, которая занимается оптимизацией бизнес-процессов с помощью методов машинного обучения. В процессе работы над проектами в данной сфере быстро приходит осознание необходимости учета и структурирования проводимых экспериментов. В нашем случае мы воспользовались инструментом MLflow, который предоставляет функциональность для отслеживания экспериментов и управления жизненным циклом моделей машинного обучения.

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

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

Проектирование ETL-пайплайна в Apache Airflow

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

Привет, Хабр! На связи Рустем, IBM Senior DevOps Engineer и сегодня я хотел бы продолжить наше знакомство с инструментом в DataOps инженирии — Apache Airflow. Сегодня мы спроектируем ETL-пайплайн.

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

Как управлять проектами машинного обучения и data science

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

Управлять проектами машинного обучения (Machine learning) и data science сложно, поскольку проекты часто носят исследовательский характер, и трудно предсказать, сколько времени потребуется на их завершение. Часто всё начинается с одной идеи, а затем перетекает в новое направление, когда предложенный метод не срабатывает или если предположения относительно данных оказываются неверными.

Построение модели также является длительным процессом (по сравнению с работой в сфере программного обеспечения и аналитики), и data scientist нередко попадает в кроличью нору и тратит месяцы на проект, не имея четких представлений о прогрессе. Еще одно отличие от стандартных практик разработки программного обеспечения заключается в том, что построение модели обычно выполняется всего одним человеком, и это не совсем вписывается в традиционные командные рабочие процессы, такие как Kanban и Scrum.

Я потратил достаточно много времени, изучая существующие рабочие процессы (в основном в Jira) с точки зрения пригодности для управления проектами машинного обучения и data science, но безуспешно. Большая часть информации нацелена на разработку программного обеспечения и фокусируется на Agile методологиях.  Обсуждая этот вопрос с коллегами и друзьями мне не удалось найти ничего, что было бы адаптировано для машинного обучения и data science. Я заметил, что часть коллег пытаются адаптировать свой рабочий процесс к стандартной инженерной практике, в других же случаях, они вообще не пытаются управлять проектами. Последнее особенно проблематично, по причине того, что проекты, которые требуют слишком много времени и замахиваются на слишком большую предметную область, вероятнее всего провалятся.

Поскольку мне не удалось найти подходящее решение, я решил разработать собственную рабочую схему для управления проектами машинного обучения и data science. Данный процесс может быть реализован в Jira и позволяет мне легко отслеживать статус проектов, вести отчетность, а также не давать раздуваться предметной области, избегая построения чересчур сложных моделей. У наших исследователей появляется рабочая схема, которая помогает им в построении модели, что повышает их успехи в проекте. Я пользуюсь этой системой уже несколько лет, и мы с моей командой очень довольны ею.

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

Яндекс выложил в опенсорс YDB

Время на прочтение16 мин
Количество просмотров140K
Сегодня мы выложили в опенсорс систему управления базами данных YDB — плод многолетнего опыта Яндекса в разработке систем хранения и обработки данных. Исходный код, документация, SDK и все инструменты для работы с базой опубликованы на GitHub под лицензией Apache 2.0. Развернуть базу можно как на собственных, так и на сторонних серверах — в том числе в любых облачных сервисах.



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

В посте я расскажу об истории развития технологий баз данных, о том, зачем использовать YDB, как её применяют текущие пользователи и какие плюсы для всех несёт выход в опенсорс. А во второй половине поста поговорим о разных вариантах развёртывания.
Читать дальше →
Всего голосов 335: ↑332 и ↓3+329
Комментарии135

Что такое MLOps? Операции машинного обучения на пальцах

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

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

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

Миллион одновременных соединений

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

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

Адрес TCP/IP поддерживает только 65000 подключений, поэтому придётся назначить этому серверу примерно 30000 IP-адресов.

Существует 65535 номеров TCP-портов, значит ли это, что к TCP-серверу может подключиться не более 65535 клиентов? Можно решить, что это накладывает строгое ограничение на количество клиентов, которые может поддерживать один компьютер/приложение.

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

Поэтому я написал эту статью, чтобы развеять данный миф с трёх сторон:

  1. Мессенджер WhatsApp и веб-фреймворк Phoenix, построенный на основе Elixir, уже продемонстрировали миллионы подключений, прослушивающих один порт.
  2. Теоретические возможности на основе протокола TCP/IP.
  3. Простой эксперимент с Java, который может провести на своей машине любой, если его всё ещё не убедили мои слова.

Если вы не хотите изучать подробности, то перейдите в раздел «Итоги» в конце статьи.
Читать дальше →
Всего голосов 103: ↑101 и ↓2+99
Комментарии27

Тёмный маршрутизатор из Raspberry Pi

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

В данной статье я расскажу о том, как я сделал из Raspberry Pi маршрутизатор, способный перенаправлять отдельные сайты, отдельные подсети, да хоть все запросы через tor.

Читать далее
Всего голосов 23: ↑22 и ↓1+21
Комментарии28

В поисках физкультуры

Время на прочтение18 мин
Количество просмотров8.2K
И что интересного люди находят в этих книжках?

Спорт


Совет “займись спортом” часто звучит рядом с многими проблемами: осанка, ожирение, мигрени, самооценка, выгорание — спорт хорошо помогает в очень разных случаях.

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

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

Я хочу обратить внимание на то, что упомянутый выбор вида спорта — это часть проблемы, тесно связанной с использованием популярного, но размытого термина.

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

Спойлер: В статье содержится приглашение к размышлению. Озвучены вопросы, предложено направление для новых мыслей, а не готовые ответы. Здесь нет мотивирующей рекламы очередной методики тренировок. Если вы хотите узнать очередной рецепт для здоровья, который кому-то помог, то вам нужны другие статьи, их много. Желающие пропустить рассуждения могут сразу перейти к итогам.

Дисклеймер: Некоторые виды спорта однозначно и бесспорно полезнее, нежели чрезмерно малоподвижный образ жизни. Автор нигде не предлагает отказываться от спорта, фитнеса и прочих тренировок, несомненно приносящих пользу для здоровья.

Читать дальше →
Всего голосов 26: ↑13 и ↓130
Комментарии61

Что дальше? Или как правильно выбрать фичи для разработки

Время на прочтение7 мин
Количество просмотров18K
Грамотно и вовремя выбирать фичи для разработки и не прогадать – это про искусство приоритизации. Как найти критерии оценки, необходимые для своего продукта, вырастить стратегические показатели, предложить клиентам еще больше ценности, наладить все внутренние процессы в команде и добиться других наглядных показателей с помощью качественной приоритизации?

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

Реализация классификации текста свёрточной сетью на keras

Время на прочтение9 мин
Количество просмотров23K
Речь, как ни странно, пойдёт о использующем свёрточную сеть классификаторе текстов (векторизация отдельных слов — это уже другой вопрос). Код, тестовые данные и примеры их применения — на bitbucket (уперся в ограничения размера от github и предложение применить Git Large File Storage (LFS), пока не осилил предлагаемое решение).

Наборы данных


Использованы конвертированные наборы: reuters — 22000 записей, watson-й — 530 записей, и ещё 1 watson-й — 50 записей. Кстати, не отказался бы от подкинутого в комменты/ЛС (но лучше таки в комменты) набора текстов на русском.

Устройство сети


За основу взята одна реализация описанной тут сети. Код использованной реализации на github.

В моём случае — на входе сети находятся векторы слов (использована gensim-я реализация word2vec). Структура сети изображена ниже:


Вкратце:

  • Текст представляется как матрица вида word_count x word_vector_size. Векторы отдельных слов — от word2vec, о котором можно почитать, например, в этом посте. Так как заранее мне неизвестно, какой текст подсунет пользователь — беру длину 2 * N, где N — число векторов в длиннейшем тексте обучающей выборки. Да, ткнул пальцев в небо.
  • Матрица обрабатывается свёрточными участками сети (на выходе получаем преобразованные признаки слова)
  • Выделенные признаки обрабатываются полносвязным участком сети

Стоп слова отфильтровываю предварительно (на reuter-м dataset-е это не сказывалось, но в меньших по объему наборах — оказало влияние). Об этом ниже.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии12

Простое суффиксное дерево

Время на прочтение12 мин
Количество просмотров74K
ДеревоСуффиксное дерево – мощная структура, позволяющая неожиданно эффективно решать мириады сложных поисковых задач на неструктурированных массивах данных. К сожалению, известные алгоритмы построения суффиксного дерева (главным образом алгоритм, предложенный Эско Укконеном (Esko Ukkonen)) достаточно сложны для понимания и трудоёмки в реализации. Лишь относительно недавно, в 2011 году, стараниями Дэни Бреслауэра (Dany Breslauer) и Джузеппе Италиано (Giuseppe Italiano) был придуман сравнительно несложный метод построения, который фактически является упрощённым вариантом алгоритма Питера Вейнера (Peter Weiner) – человека, придумавшего суффиксные деревья в 1973 году. Если вы не знаете, что такое суффиксное дерево или всегда его боялись, то это ваш шанс изучить его и заодно овладеть относительно простым способом построения.
Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии20

Купил > залил > в карман! Обзор PocketBook 515

Время на прочтение4 мин
Количество просмотров59K
Любите читать со смартфона, но из-за этого он не доживает до вечера, а глаза устают? Не нравятся большие читалки, потому что их нельзя убрать в карман? Специально для вас выпускаются карманные ридеры.

nKP0sem2.jpg

Стоят не дорого, экран с привычным соотношением сторон 4:3 (как у классической бумажной книги), продвинутые E-Ink дисплеи с хорошими показателями контрастности, а главное — заряжать надо раз в неделю. И смартфон не надо мучить. Об одном таком филиале библиотеки в карманном размере сегодня и поговорим.
Читать дальше →
Всего голосов 43: ↑30 и ↓13+17
Комментарии42

Самосборные конструкции из движущихся кубиков

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


Джон Романишин (John Romanishin) с коллегами из Массачусетского технологического института сказали новое слово в модульной робототехнике.

Роботы M-Block представляют собой кубики с маховиками внутри (на 20000 оборотов в минуту) и цилиндрическими магнитами на рёбрах. Маховик развивает такой кинетический момент, что после его торможения кубики способы не то что перекатываться по полу навстречу друг другу, но даже вертеться на месте и запрыгивать на «третий этаж». Например, на фото вверху белый кубик запрыгнул к чёрному. То есть это первые в мире мобильные самосборные роботы без движущихся частей снаружи корпуса.
Читать дальше →
Всего голосов 105: ↑103 и ↓2+101
Комментарии51
1
23 ...

Информация

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