Pull to refresh
2
0
Oleg Burdelev @oburdelev

User

Send message

Решение на миллион: разбираем алгоритмические задачи с победителями True Tech Champ

Reading time23 min
Views1.6K

Привет, Хабр! Меня зовут Алина Ёжикова, я работаю в МТС Диджитал и делаю мероприятия для разработчиков. Сегодня расскажу, как мы организовали самый большой и сложный ивент в моей карьере — олимпиаду по программированию на восемь тысяч разработчиков.

Я говорю про True Tech Champ — всероссийскую олимпиаду по программированию для студентов, школьников и опытных IT-специалистов. В треке для школьников и студентов нужно было решить алгоритмические задачи и описать метод их решения на любом удобном языке программирования (чаще всего участники выбирали C++).

В этом посте мы познакомимся с нашими победителями и разберем вместе с ними задачи, которые привели их на призовые места.

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

Разбираемся с стейблкойном на TON или как ваши средства могут заблокировать

Level of difficultyEasy
Reading time6 min
Views5.3K

19 апреля на конференции Token2049 после выступления Павла Дурова было объявлено о появлении стейблкойна от Tether в сети TON - USDt. Так как это централизованный стейблкойн эмитент подобного токена должен иметь контроль над средствами пользователей для соответствия требований регулятора, например, блокировать средства пользователя. В данной небольшой статье я расскажу как устроены токены на TON и какие возможности есть у эмитента стейблкойна.

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

Как устроены смарт-контракты в сети TON

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

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

Читать далее
Total votes 12: ↑10 and ↓2+15
Comments17

Как Apple на самом деле следит за вами

Level of difficultyEasy
Reading time12 min
Views34K

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

Apple старается собирать как можно меньше данных.

Читать далее
Total votes 139: ↑124 and ↓15+137
Comments152

ABC-XYZ анализ на Python. Управление ассортиментом и схемами поставок

Level of difficultyMedium
Reading time15 min
Views1.1K

Управление ассортиментной матрицей и складскими запасами является нетривиальной задачей для бизнеса, требует аналитики и научного подхода к решению задачи. Одним из методов управления ассортиментом и закупками является ABC-XYZ классификация.

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

Читать далее
Total votes 4: ↑4 and ↓0+5
Comments2

Атаки на Bluetooth. Часть 1

Reading time4 min
Views4.6K

Снова приветствуем всех заинтересованных и случайно попавших на эту статью! Продолжаем рубрику "Без про-v-ода", в основном мы разбираем для вас атаки на Wi-Fi, но в этой статье мы затронем одну из популярных беспроводных технологий - Bluetooth. Все мы каждый день им пользуемся, никаких проводов и ничего лишнего, но вот что же происходит когда он намеренно отключается от колонок или наушников. И что может случиться если из-за него могут утечь персональные данные или же вообще зловредный трафик будет настолько велик, что окирпичит дорогостоящий телефон. Конкретно этого рода атаки в этой статье мы рассматривать не будем, статья несёт больше ознакомительный характер с практическим применением на эксплуатацию более известных атак на устройства использующие Bluetooth.

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

Читать далее
Total votes 8: ↑8 and ↓0+10
Comments1

Энтропия на страже безопасности: эволюция генераторов случайных чисел

Level of difficultyEasy
Reading time7 min
Views2.7K

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

Может показаться что эта проблема была решена уже давно, но те же процессоры обзавелись модулями энтропии только в 2012-2014 годах. И на этом прогресс не останавливается: всё доступнее становятся квантовые генераторы энтропии, полностью лишённые изъяна детерминизма. Давайте посмотрим, как от ложного рандома мы пришли к недетерминированному.

Читать далее
Total votes 15: ↑14 and ↓1+22
Comments11

Бесплатный аналог Arduino из мусорки

Level of difficultyEasy
Reading time3 min
Views28K

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

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

Читать далее
Total votes 48: ↑46 and ↓2+66
Comments54

Карты, деньги, ELK. Или как айтишник деньги считал

Reading time18 min
Views8.3K

Привет, Хабр! Вот уже 7 с половиной лет я веду учет своих личных финансов в одном из многочисленных приложений. Всё это время оно неплохо закрывало базовые потребности в моменте, но с годами захотелось глубже проанализировать свою накопленную микро-бигдату и просмотреть на картину в целом. Желательно, в буквальном смысле: воспринимать информацию в виде визуализаций, диаграмм и дашбордов мне проще.

Поэксперементировав, я за несколько вечеров собрал себе решение на довольно нестандартной для таких целей платформе – Kibana. Как по мне, получилось неплохо. По горячим следам я описал этот кейс в своем англоязычном Твиттере и поделился им же в одном русскоязычном сообществе. Угадайте, откуда какой первый комментарий:

– А [зачем], собственно?
– Интересное решение! Я евангелист из Эластик – не хочешь на митапе выступить?

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

А зачем, собственно?
Total votes 8: ↑8 and ↓0+10
Comments17

Читаем нажатия ИК-пульта под Linux

Level of difficultyEasy
Reading time3 min
Views2.4K

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

Нажатия будем принимать с помощью YS-IRTM, это дешевая плата с ИК-приёмником и передатчиком, использует микроконтроллер на базе 8051, в котором прошивка для декодирования сигналов с пультов. Интерфейс подключения: UART 5V. Есть подробное описание в этом репозитории на GitHub.

Умеет принимать NEC протокол, который используется на большинстве дешевых пультов. Но есть недостаток, не принимает коды повторов, если клавиша удерживается. Существуют и другие ИК-протоколы, например у Sony есть свой, поэтому пульты Sony не поддерживаются.

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

Безопасность веб-приложений для самых маленьких фронтов

Level of difficultyEasy
Reading time7 min
Views7.8K

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

Статья подготовлена по материалам внутреннего митапа по информационной безопасности.

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

Анализ распределения простых чисел. Часть 1

Level of difficultyHard
Reading time5 min
Views4.6K

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

Читать далее
Total votes 21: ↑4 and ↓17-11
Comments28

SOLIDно знать…

Level of difficultyEasy
Reading time7 min
Views5.3K

SOLID. Принципы и Паттерны. Паттерны и Принципы.
Что может быть ближе друг другу чем эти субстанции ?! Эта статья проведет параллель между ними, она не собирается объяснить суть каждой, вместе или отдельно, а желает показать как одна другой помогает.
То есть, статья в некотором роде перекрестный бой между паттернами и SOLID принципами.

Читать далее
Total votes 15: ↑8 and ↓7+5
Comments21

SVG-виджеты для tcl/tk. Часть I

Level of difficultyMedium
Reading time13 min
Views1.9K

Начать статью хочу с цитаты из слов Брайана Кернигана,которую мне посчастливилось найти:

Tcl/Tk придает работе магическую продуктивность, за несколько часов можно достигнуть тех же результатов, что за дни или недели при разработке на C или C++... Tk весьма эффективен для большинства приложений, многие элементы интерфейса (виджеты) реализованы настолько хорошо, что остается только удивляться, как подобная работа могла быть выполнена так качественно... Удачным кажется и то, что разделение задач между Тсl и С/С++ осуществляется достаточно легко, надо только знать, какой инструмент лучше справляется с задачей... Расширение системы дополнительным Tcl-кодом, загружаемым напрямую в Tcl-библиотеку приложения, в полном согласии с оригинальной идеей Остераута, повышает эффективность программы, в целом, упрощает ее структуру и улучшает мобильность... Я не уверен, что Тсl мог бы выжить как самостоятельный продукт - у него слишком много конкурентов. Но у сочетания Tcl/Tk в Unix-мире нет конкурентов... Система исключительно надежна, очень хорошо документирована... свободно доступна... безукоризненно высокого качества

Читать далее
Total votes 11: ↑8 and ↓3+11
Comments1

Кто такие ИТ-архитекторы и какие задачи они решают

Level of difficultyEasy
Reading time7 min
Views13K

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

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

Читать далее
Total votes 19: ↑9 and ↓10+3
Comments19

Python — Дескрипторы (Descriptors)

Level of difficultyMedium
Reading time8 min
Views10K

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

Дескрипторы используются в классах, выступая в роли атрибутов класса(не экземпляра).

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

Читать далее
Total votes 17: ↑17 and ↓0+20
Comments8

Как начать писать на Java в VSCode

Level of difficultyEasy
Reading time11 min
Views15K

Давайте признаемся: подавляющее большинство пишет Java код, используя JetBrains IntelliJ IDEA Ultimate. Да, это отличная IDE. Для нее есть большое количество расширений, среда очень тесно интегрируется с Spring Framework и знает его особенности.

Тогда зачем пробовать что‑то другое?

Привет, Хабр! Меня зовут Константин Шибков, я Java‑разработчик в CDEK.

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

Но если у вас есть трудности с доступом к Ultimate версии, а Community вариант не достаточно функционален — самое время попробовать современную альтернативу — Visual Studio Code.

В статье делюсь опытом подготовки среды разработки и изучения вопроса: «А можно ли перейти на VSCode?».

Перейти на VSCode
Total votes 65: ↑64 and ↓1+69
Comments57

Как запустить Windows 95 на одноразовом вейпе

Level of difficultyEasy
Reading time15 min
Views28K

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

Читать далее
Total votes 139: ↑132 and ↓7+158
Comments63

Система условных обозначений BPMN

Reading time3 min
Views3.7K

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

Рассмотрим подробней.

Читать далее
Total votes 13: ↑8 and ↓5+7
Comments3

Spring Boot Starter: практически, принципиально и подробнее. Часть 1

Reading time9 min
Views4.9K

Всем привет, меня зовут Сергей Соловых, я Java-разработчик в команде МТС Digital. За последние 2 года я написал и выпустил в продакшен более 30 микросервисов. Выдержать столь высокий темп помогло применение общепроектных решений и паттернов разработки.

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

В этом цикле статей я поделюсь выжимкой из материалов, накопленных мною в процессе создания микросервисов. Это будет полезно тем, кто только начинает разбираться, что же такое Spring Boot Starter и с чем его едят.

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

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

ТОП-7 инди-игр или кто спасает игровую индустрию

Level of difficultyEasy
Reading time4 min
Views15K

Майские праздники за окном, а значит, и долгожданные выходные. Самое время свернуть вкладки с рабочими задачами и переключиться на любимые игры. Пока кто-то тестирует «Смуту», а кто-то досматривает сериал о Вселенной Fallout, мы предлагаем обратиться к миру «индюшатины» и узнать, чем богаты небольшие игровые студии. Представляем в блоге ЛАНИТ подборку инди-игр, где каждый сможет найти что-то для себя, даже если вы совсем далеки от мира гейминга.

Читать далее
Total votes 50: ↑46 and ↓4+62
Comments25
1
23 ...

Information

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