Как стать автором
Обновить
1
0
Олег А. @t0rr

PO, DEV

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

Как внедрить CI/CD для всех разработчиков в банке. CI/CD by App.Farm

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

Привет! Меня зовут Константин Белкин, я Teamlead SRE в РСХБ‑Интех. Сегодня расскажу вам, что такое CI/CD на платформе App.Farm, какие методологии мы используем в работе, как работает платформа, какие инструменты мы предоставляем разработчикам и каким образом мы организовали CI/CD в РСХБ для наших любимых разработчиков.

Читать далее

Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто

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

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

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

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

Читать далее

Как мы создавали PaaS-платформу App.Farm — цифровое сердце РСХБ

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

Привет, Хабр! Меня зовут Константин Белкин, я Teamlead SRE в РСХБ‑Интех. Сегодня я расскажу вам про App.Farm — PaaS‑платформу, которую мы самостоятельно разрабатываем и поддерживаем с сентября 2020 года.

Читать далее

Как скомпилировать Python

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

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

Я хочу рассказать об удивительном событии, о котором я узнал пару месяцев назад. Оказывается, одна популярная python-утилита уже более года распространяется в виде бинарных файлов, которые компилируются прямо из python. И речь не про банальную упаковку каким-нибудь PyInstaller-ом, а про честную Ahead-of-time компиляцию целого python-пакета. Если вы удивлены так же как и я, добро пожаловать под кат.

Читать дальше

SSEGWSW: Server-Sent Events Gateway by Service Workers

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

Меня зовут Саша и я работаю архитектором в Тинькофф Бизнес.

В этой статье хочу рассказать о том, как преодолеть ограничение браузеров на количество открытых долгоживущих HTTP-соединений в рамках одного домена при помощи service worker.

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

SSEGWSW
Читать дальше →

MS SQL + Telegram =?

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

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


Мы с моим приятелем fedoref занимаемся разработкой и поддержкой решений на MS SQL.


Одной из наших проблем при работе с MS SQL было то, что без MS SQL Management Studio невозможно что-то сделать или проверить. А значит — всегда нужен под рукой компьютер и VPN в сеть клиента (или что посложнее). Нас это не устраивало — мы не всегда сидим перед монитором, а ситуации ингода требуют оперативности, особенно когда дело касается высоких нагрузок в real-time системах. Поэтому мы решили сделать телеграм-бота SQL. (Поискали готовые варианты на Github, но, увы, не нашли того, что нам подошло бы).

У нас получилось

ДИТ Москвы при проверке пропуска получает разрешение на отправку рекламы на следующие 10 лет

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

К таким «очевидным» сервисам относится, например, сервис проверки цифрового пропуска https://i.moscow/covid. Если раньше он позволял проверить только организацию по ИНН, то с недавних пор ДИТ Москвы стал массово аннулировать пропуска горожанам за якобы предоставление неверных сведений о месте работы — и отсылать их для подтверждения места работы на указанный сервис.

При нажатии на «Если у Вас заблокировали цифровой пропуск, перейдите по ссылке» сервис выдаёт просьбу ввести сначала номер паспорта, а потом ИНН компании, сопровождаемую непримечательной галочкой:


Абсолютное большинство людей проставят её, не читая сопутствующий документ — и очень зря.

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

Читать дальше →

Современное программирование: взгляд после 25 лет перерыва или как я писал бота для Телеграм

Время на прочтение7 мин
Количество просмотров29K
Задача кажется простой, когда ничего про нее не знаешь и когда решил.

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

Мне нравится Телеграм заложенными в него возможностями в том числе и ботами, поэтому канал в виде блога был создан там. Начал искать ботов, помогающих оформлять сообщения…. а так как мне хочется не нашел. Что ж, напишем сами. Умные люди посоветовали писать на Python.

Прочитал первый попавшийся в инете самоучитель на 149 страниц. Я знаком с Pascal, FoxPro, Interbase и даже (ха-ха 3 раза) 20 лет назад продавал свои программы, а потом как-то не сложилось, ушел в торговлю. Работа программистом мне сильно помогла в постановке задач для кодеров кстати. Но вернемся к Python, кажется, ничего сложного, ведь и на BASIC программировать можно было и это не мой институтский диплом с программно-аппаратным комплексом генератора поверки МИГа на Assembler. Одна проблема, всё это было давно, так что возвращаясь к заголовку — кажется что просто, потому что пока ничего не знаю про задачу, но попробовать стоит.

Я решил, что удобнее всего делать проект со смартфона на Андроид, ибо он всегда под рукой. Итак ставим:

  1. Pydroid 3 — IDE for Python 3 Собственно Питон для Андроид.
  2. @BotFather, В Телеграм устанавливаем отца всех ботов — он понадобится чтобы получить идентификатор вашего бота и сделать основные настройки.
  3. Rebootr Приложение для запуска проекта на heroku.
  4. GIT Приложение для онлайн-хостинга репозиториев.
  5. Windscribe Без VPN никуда?
  6. Termux Эмулятор терминала и среды Linux.

И что в сухом остатке? Программировать на смартфоне можно в теории, но невозможно на практике. Максимум проверить код, исправить ошибку, исследовать работоспособность.
Читать дальше →

Нейросеть для определения хейтеров — «не, ну это бан»

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

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

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

Для работы я буду использовать Google Colab. Этот сервис позволяет запускать Jupyter Notebook'и, имея доступ к GPU (NVidia Tesla K80) бесплатно, что ускорит обучение. Мне понадобится backend TensorFlow, дефолтная версия в Colab 1.15.0, поэтому просто обновим до 2.0.0.

Импортируем модуль и обновляем.
Читать дальше →

Herrmann Dominanz Instrument (HDI). Часть III

Время на прочтение3 мин
Количество просмотров4.6K
О людях мы говорили много, пришло время подвести черту.
Эта статья будет моей последней в цикле статей про HDI: первая часть, вторая часть.
Также я решил, что в ней будут рассмотрены только следующие аспекты:


Читать дальше →

Herrmann Dominanz Instrument (HDI). Часть II

Время на прочтение7 мин
Количество просмотров6.7K
Продолжим наш разговор о людях.
Речь в этой статье пойдет больше о практических инструментах в области мотивации и делегирования полномочий персоналу. Но и какая-то часть теории тоже будет.

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

Материал в этой части будет опираться на предыдущую (что, согласитесь, логично). Поэтому для полного понимания терминологии — рекомендую сначала ознакомиться с вводной частью (если вы ее не читали).

В этой статье рассмотрим:


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

Herrmann Dominanz Instrument (HDI). Часть I

Время на прочтение7 мин
Количество просмотров26K
Доброго времени суток, Хабр!
Поговорим о людях.

Сразу отвечаю на вопрос «Что это?»
HDI — это модель для определения профиля личности.

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

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

Особенно полезны знания HDI будут проектным менеджерам. Поскольку именно PM'ы должны быть руководителями «вдвойне» (если не «от бога»), поскольку именно они чаще сталкиваются с необходимостью руководить и мотивировать сотрудников, не находящихся в их прямом подчинении, а значит, не обладают в необходимом объеме административным ресурсом, что повышает риски срыва проекта из-за того, что у «непосредственный начальник Васи дал ему задание с более высоким приоритетом», или «зачем Васе делать дополнительную работу». Разумеется, подобные тонкости зависят от развития проектной культуры в организации (уровень зрелости организации), и рассматриваться в этой статье не будут, но определенную параллель можно будет провести. Также эта статья будет полезна руководителям функциональных подразделений, которые хотят отточить свои руководящие навыки и лучше понять возможности и потребности своих людей.

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

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

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

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


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

Читать дальше →

Реализация системы GTD на основе новых возможностей Google Keep и Calendar

Время на прочтение19 мин
Количество просмотров36K
This article in English: GTD Implementation via New Google Keep and Calendar Features

За последние годы Google Keep и Calendar значительно расширили свою функциональность, что дает возможность построить более удобную реализацию методологии GTD (Getting Things Done) на их основе. Ранее я уже публиковал материал с реализацией GTD на основе Google Calendar. Представленный теперь материал можно рассматривать как обновленную реализацию GTD на тех же принципах, но с использованием более современных средств.

В моем материале 2015 года в качестве базового элемента для всех пяти фаз управления рабочим процессом (Control) в системе GTD был выбран один и тот же сервис — Google Calendar. Теперь на различных фазах в качестве базовых элементов будут использоваться два разных сервиса — Calendar и Keep — в соответствии с приспособленностью их функционала для отдельных фаз.

  • Calendar теперь будет использоваться в качестве базы для фазы обзора (Review-Reflect), а также для фазы выполнения (Do-Engage).
  • Keep будет использоваться в качестве базы для фазы сбора (Collect-Capture), фазы обработки (Process-Clarify) и фазы организации (Organize).

Реализация GTD в Google Calendar (развернут список ближайших действий на неделю):


Pеализация GTD в Google Keep (категория ближайших действий):
Читать дальше →

Прием платежей с карты без юр. лица на Яндекс.Деньги

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

Open source yandex money donation service


Прием платежей на Яндекс.Деньги физ. лица

  • онлайн платежи с карты, яндекса, телефона
  • добавление метки к платежу
  • получение и проверка оповещений на свой сервер
  • пример автоматизации подписки на Telegram бота

Реализация и описание под катом
Читать дальше →

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

Время на прочтение4 мин
Количество просмотров75K
Часть 1. Сначала они воруют, а когда ты побеждаешь, то тебя убивают

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

В этой статье будет разбор ответа ДИТ, парочка «ужастиков» со стороны ДИТ, раскрытие деятельности ООО «Альтарикс» и 1000 отзывов от детей и родителей. И да, у меня хорошие новости — заявление в ФАС подано.


Почему открытые данные никому не нужны

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

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



У всех этих ресурсов одни и те же болезни. Вот они:


  • Невалидность данных.
  • Разрозненность данных и отсутствие стандартов.
  • Отсутствие единого механизма поиска.
  • Отсутствие API для доступа к данным.

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

Читать дальше →

Django Channels – ответ современному вебу

Время на прочтение13 мин
Количество просмотров49K
В мире Django набирает популярность дополнение Django Channels. Эта библиотека должна принести в Django асинхронное сетевое программирование, которое мы так долго ждали. Артём Малышев на Moscow Python Conf 2017 объяснил, как это делает первая версия библиотеки (сейчас автор уже запилил channels2), зачем она это делает и делает ли вообще.

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

  • Twisted;
  • Eventlet;
  • Gevent;
  • Tornado;
  • Asyncio.

Казалось бы, зачем писать еще одну библиотеку и надо ли вообще.


О спикере: Артём Малышев независимый Python разработчик. Занимается разработкой распределённых систем, выступает на конференциях по Python. Артёма можно найти по никнейму PROOFIT404 на Github и в социальных сетях.

Пишем умный контракт на Solidity. Часть 1 — установка и «Hello world»

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

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


Smart Contract & Gas


Если на пальцах, "умный контракт" — это некоторый код, живущий внутри блокчейна. Любой участник сети может его вызвать за небольшую плату. Эта плата и называется Gas, дословно "топливо". Зачем это нужно? Для защиты майнера от злоупотребления мошенником его ресурсов.


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


// Это псевдокод
foo = 0;
while (True) {
    foo++;
}

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

Читать дальше →

SSH-туннели — пробрасываем порт

Время на прочтение2 мин
Количество просмотров433K
Не всегда есть возможность, да и не всегда надо, строить полноценный туннель с интерфейсной парой адресов. Иногда нам нужно лишь «прокинуть» вполне определённые порты.

Тут важно понимать, что туннель можно организовать как изнутри сети, к ресурсам которой вы хотите получить доступ, на внешний ssh-сервер. Также можно организовать туннель с хоста в Интернете на пограничный ssh-сервер сети, чтобы получить доступ к внутренним ресурсам.
Читать дальше →
1

Информация

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

Специализация

Backend Developer, Product Manager