Pull to refresh
376
0
Олег Чирухин @olegchir

Продакт Sber Giga IDE, продюсер в Failover Bar

Send message

Библиотека Scout — быстрый и безопасный DI на Kotlin

Level of difficultyEasy
Reading time23 min
Views8.3K

Привет! Меня зовут Александр Миронычев. Я занимаюсь инфраструктурой приложения Яндекс Маркет под Android. Около двух лет назад при работе над модульностью у меня появилось желание написать собственную библиотеку для внедрения зависимостей, которая позволила бы ускорить сборку приложения и упростить процесс модуляризации. Так появился Scout. Сегодня его код мы выложили в открытый доступ.

Эта статья — рассказ о том, как пройти путь от безумной идеи до конкурентоспособного опенсорс-фреймворка. Статья будет полезна тем, кто ищет замену DI-фреймворку в своем проекте, а также тем, кто мечтает написать свою библиотеку, но никак не может начать.

Читать далее
Total votes 31: ↑30 and ↓1+35
Comments13

Open-source блокнот Wolfram Language или как воссоздать минимальное ядро Mathematica на Javascript и не только

Level of difficultyMedium
Reading time20 min
Views7.7K

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

Читать далее
Total votes 24: ↑23 and ↓1+36
Comments5

Как интегрировать авторизацию через Госуслуги (ЕСИА) с помощью Docker и Typescript

Reading time6 min
Views35K

Привет, Хабр! В одном из постов блога мой коллега Иван писал о нашем блокчейн-сервисе для онлайн-голосований WE.Vote. Он подробно разобрал, как работает WE.Vote с точки зрения технологий. Но чтобы сервисы удаленного голосования можно было использовать для принятия официальных решений юрлиц, не хватает еще одного важного компонента — достоверной верификации участников. В России для этого можно провести интеграцию с ЕСИА (Единой Системой Идентификации и Аутентификации) — проще говоря, с Госуслугами. Интеграция эта заметно отличается от интеграции с другими oauth2-сервисами, как, например, Google или VK. В этом посте мы постараемся помочь тем, кто захочет интегрировать ЕСИА в свой сервис через стек, подобный нашему, а также дадим несколько полезных ссылок по ЕСИА в принципе.

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments9

Хабр, GPT, корпоративные блоги и БМЛы: оцениваем глубины ужаса

Level of difficultyEasy
Reading time5 min
Views16K

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

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

За подробностями, результатами, ужасом и даже кодом на VB.NET приглашаю под кат!

Читать далее
Total votes 218: ↑214 and ↓4+270
Comments109

Можно ли устроиться на работу тестировщиком после курсов? Что они дают?

Level of difficultyEasy
Reading time12 min
Views14K

Очень насущный вопрос для многих — можно ли найти работу в тестировании сразу после курсов? Да! (сказал автор курсов, хе-хе-хе)

Я вам больше скажу — можно и БЕЗ курсов устроиться 👀. Более того, грамотные самоучки очень ценятся! Но для такого эффекта надо пахать =))

Об этом и поговорим в статье.

Читать далее
Total votes 19: ↑12 and ↓7+10
Comments28

Личное планирование. Именно «личное»

Level of difficultyMedium
Reading time12 min
Views16K

Я нашел свою систему «Личного планирования», о чем я поделился в этой статье и передаю этот опыт студентам курсов по менеджменту в Практикуме.

В этой статье расскажу:

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

Какие практики можно использовать?
Total votes 26: ↑21 and ↓5+19
Comments15

Алгоритм пересечения полигонов

Reading time20 min
Views7.7K

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

Читать далее
Total votes 29: ↑29 and ↓0+32
Comments13

Может ли чат-бот заменить проджект-менеджера

Level of difficultyEasy
Reading time3 min
Views4K

Как из шутки получился бот, который взял на себя операционную деятельность проджект-менеджера. Рассказывает Егор Попов, PMO из YuSMP Group.

Читать далее
Total votes 9: ↑6 and ↓3+6
Comments11

GitHub Copilot в JetBrains IDEs в РФ

Level of difficultyEasy
Reading time5 min
Views20K

В 2022 году в публичный доступ вышел GitHub Copilot – довольно удобный современный инструмент для разработчиков. В этой короткой статье поделюсь своим опытом взаимодействия с GitHub Copilot, а главное тем, как его использовать в IDE от JetBrains. Приятного чтения!

Читать далее
Total votes 23: ↑12 and ↓11+6
Comments45

Интерактивные и документированные диаграммы для сложных систем

Level of difficultyMedium
Reading time13 min
Views5.6K

Мой первый on-call выдался нелегким. Недели тренингов и обучения не подготовили меня к тому что придется бегать по Slack каналам различных команд и искать того, кто может что либо знать о какой-то из частей системы. Оказалось что многие страницы в корпоративной Wiki уже не обновлялись несколько лет. Команды хранили свою документацию кто где хотел: кто в Wiki, кто в Google Docs, кто в GitHub и т.д. Наш on-call был не идеален: 2 человека выходили на дежурство 24/7. Один был ответственен за всю инфраструктуру (MySql, Cassandra, Kafka, ElasticSearch, Nomad и т.д.), второй же был Developer on-call и отвечал за все микросервисы и различные легаси системы, что в сумме давало около 300 различных сервисов от 7 команд на самых различных стеках и фреймворках (Java, Scala, Node, Go). Но что меня больше всего раздражало - так это невозможность быстро оценить на высшем уровне как проходит и обрабатывается запрос от пользователя. Диаграммы для разных бизнес частей точно также были либо устаревшими, либо без прилегающей документации, либо для какой-то бизнес логики не было ничего. И вот тогда мне пришла идея, что было бы неплохо иметь диаграммы, в которых можно не только нажать на любой элемент и добыть о нем более детальную информацию, но также получить ссылки на другие диаграммы и динамически их подгружать. Мне хотелось иметь возможность быстро разобраться в неизвестной распределенной системе, не переключаясь между диаграммой и документацией в Google Docs или Wiki. Именно так я начал работать над проектом Schem.io.

Предупреждение: в статье содержится большое количество GIF-изображений.

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

Включаем Telegram Instantview для блога глобально

Level of difficultyEasy
Reading time5 min
Views1.7K

Есть одна очень удобная для пользователей штука - Telegram Instantview. Она подгружает контент со ссылки прямо в приложении телеграма, показывая удобную для чтения версию и экономит трафик. Существует два официальных способа включить его для вашего сайта или блога: нерабочий (добавить ваш шаблон для домена, после чего просто ничего не произойдёт) и кривой (формировать уродливые ссылки руками вида t.me/iv?url=...&rhash=... ).

Есть ещё один способ, как заставить Телеграм отображать Instantview глобально, для любых прямых ссылок вашего блога или сайта. Реализацию оформил в виде небольшого плагина для WordPress. Так же, способ без проблем адаптируется для других платформ при необходимости.

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

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

Level of difficultyEasy
Reading time12 min
Views15K
За несколько десятилетий ЭВМ эволюционировали от «100 квадратных метров площади, 25 человек обслуживающего персонала и 30 литров спирта ежемесячно» до вполне миниатюрных образцов: Commodore-64, Atari 800XL, Apple II, Электроника БК-0010… Проблема была в цене: все эти модели весьма били по карману рядовому обывателю (примерно как покупка автомобиля).

Всё изменил Клайв Синклер, выпустивший на рынок ZX Spectrum – первый дешёвый персональный компьютер. Спектрумы продавались ударными темпами: только в одной Англии за неделю приобретали порядка пятнадцати тысяч машин. Причём, помимо и так недорогой версии «в сборе», покупателям предлагался удешевлённый вариант в виде отдельных комплектующих – эдакий конструктор «Собери сам».

Читать дальше →
Total votes 57: ↑56 and ↓1+74
Comments80

3X-UI: Shadowsocks-2022 & XRay (XTLS) сервер с простой настройкой и приятным интерфейсом

Level of difficultyEasy
Reading time13 min
Views270K

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

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

Поэтому сегодня мы поговорим об установке и использовании графической панели 3X-UI для сервера X-Ray с поддержкой всего того, что умеет X-Ray: Shadowsocks-2022, VLESS с XTLS и т.д.

Читать далее
Total votes 33: ↑32 and ↓1+36
Comments198

Гений 21 века. Чем сейчас занимается Фабрис Беллар

Level of difficultyEasy
Reading time9 min
Views55K
Некоторые программисты настолько хорошо известны, что не нуждаются в особом представлении. Наверное, Фабрис Беллар — самая яркая звезда современности. Автор мультимедийного комбайна FFmpeg, эмулятора QEMU и десятков других полезных программ — абсолютный гений и пример программиста 100х, который в одиночку принёс больше пользы миру, чем многие корпорации с сотнями разработчиков. В общем, все знают Фабриса — про него ещё была статья на Хабре двенадцать лет назад…

… Но по просьбам молодых читателей мы решили вернуться к этой теме. Оно и к лучшему, ведь Фабрис многое сделал за это десятилетие, особенно в области нейросетей.
Читать дальше →
Total votes 157: ↑154 and ↓3+198
Comments49

Сомнительная инициатива ВК…

Level of difficultyEasy
Reading time3 min
Views59K

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

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

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

Давай к делу, хватит разводить сопли…

Читать далее
Total votes 188: ↑156 and ↓32+160
Comments324

Метод подбора параметров функции за ограниченное время. Торговый симулятор + улучшение стратегии

Level of difficultyEasy
Reading time10 min
Views2K

Уважаемые участники сообщества Хабр, добрый день!

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

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

Итак, начнем.

Читать далее
Total votes 7: ↑2 and ↓5-3
Comments15

Ослабляем гайки в правилах Хабра

Reading time3 min
Views59K
Всем привет! Несколько дней назад мы запустили англоязычную версию Хабра и нам крайне приятно, что вы тепло встретили это долгожданное нововведение. Приятно и то, что за прошедшее с публикации анонса мультиязычности время на сайте появилось уже более 50 англоязычных публикаций.

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

Пост написан при поддержке WD-40
Читать дальше →
Total votes 351: ↑338 and ↓13+325
Comments1291

Как учить Python? Книги, видео, курсы

Level of difficultyEasy
Reading time3 min
Views21K

What’s up guys?


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

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

 

Читать далее
Total votes 18: ↑4 and ↓14-9
Comments8

Kubernetes, ищем базу

Level of difficultyMedium
Reading time11 min
Views5.5K

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

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

ч.15 Игровой авторитарный сервер на процессах и его архитектура в картинках — Создание сервера для онлайн ММО игр на PHP

Level of difficultyEasy
Reading time8 min
Views2.8K

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

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

Бонус - архитектура игрового сервера в картинках.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments0
1
23 ...

Information

Rating
4,060-th
Location
Россия
Works in
Date of birth
Registered
Activity

Specialization

Chief Technology Officer (CTO), Chief Executive Officer (CEO)
From 2,000,000 ₽
Product management
Project management
Marketing research
Game Development
Web development
Software development