Привет! Меня зовут Константин Белкин, я Teamlead SRE в РСХБ‑Интех. Сегодня расскажу вам, что такое CI/CD на платформе App.Farm, какие методологии мы используем в работе, как работает платформа, какие инструменты мы предоставляем разработчикам и каким образом мы организовали CI/CD в РСХБ для наших любимых разработчиков.
PO, DEV
Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто
В серии предыдущих статей я описывал, почему повсеместно используемые VPN- и прокси-протоколы такие как Wireguard и L2TP очень уязвимы к выявлению и могут быть легко заблокированы цензорами при желании, обозревал существующие гораздо более надежные протоколы обхода блокировок, клиенты для них, а также описывал настройку сервера для всего этого.
Но кое о чем мы не поговорили. Во второй статье я вскользь упомянул самую передовую и недетектируемую технологию обхода блокировок под названием XTLS-Reality, и пришло время рассказать о ней поподробнее, а именно - как настроить клиент и сервер для нее.
Кроме того, что этот протокол еще более устойчив к выявлению, приятным фактом будет и то, что настройка сервера XTLS-Reality гораздо проще, чем описанные ранее варианты - после предыдущих статей я получил довольно много комментариев типа "А что так сложно, нужен домен, нужны сертификаты, и куча всего" - теперь все будет гораздо проще.
Как мы создавали PaaS-платформу App.Farm — цифровое сердце РСХБ
Привет, Хабр! Меня зовут Константин Белкин, я Teamlead SRE в РСХБ‑Интех. Сегодня я расскажу вам про App.Farm — PaaS‑платформу, которую мы самостоятельно разрабатываем и поддерживаем с сентября 2020 года.
Как скомпилировать Python
Привет, Хабр!
Я хочу рассказать об удивительном событии, о котором я узнал пару месяцев назад. Оказывается, одна популярная python-утилита уже более года распространяется в виде бинарных файлов, которые компилируются прямо из python. И речь не про банальную упаковку каким-нибудь PyInstaller-ом, а про честную Ahead-of-time компиляцию целого python-пакета. Если вы удивлены так же как и я, добро пожаловать под кат.
SSEGWSW: Server-Sent Events Gateway by Service Workers
Меня зовут Саша и я работаю архитектором в Тинькофф Бизнес.
В этой статье хочу рассказать о том, как преодолеть ограничение браузеров на количество открытых долгоживущих HTTP-соединений в рамках одного домена при помощи service worker.
Если хотите — смело пропускайте предысторию, описание проблемы, поиск решения и сразу переходите к результату.
MS SQL + Telegram =?
Привет, Хабр!
Мы с моим приятелем fedoref занимаемся разработкой и поддержкой решений на MS SQL.
Одной из наших проблем при работе с MS SQL было то, что без MS SQL Management Studio невозможно что-то сделать или проверить. А значит — всегда нужен под рукой компьютер и VPN в сеть клиента (или что посложнее). Нас это не устраивало — мы не всегда сидим перед монитором, а ситуации ингода требуют оперативности, особенно когда дело касается высоких нагрузок в real-time системах. Поэтому мы решили сделать телеграм-бота SQL. (Поискали готовые варианты на Github, но, увы, не нашли того, что нам подошло бы).
ДИТ Москвы при проверке пропуска получает разрешение на отправку рекламы на следующие 10 лет
К таким «очевидным» сервисам относится, например, сервис проверки цифрового пропуска https://i.moscow/covid. Если раньше он позволял проверить только организацию по ИНН, то с недавних пор ДИТ Москвы стал массово аннулировать пропуска горожанам за якобы предоставление неверных сведений о месте работы — и отсылать их для подтверждения места работы на указанный сервис.
При нажатии на «Если у Вас заблокировали цифровой пропуск, перейдите по ссылке» сервис выдаёт просьбу ввести сначала номер паспорта, а потом ИНН компании, сопровождаемую непримечательной галочкой:
Абсолютное большинство людей проставят её, не читая сопутствующий документ — и очень зря.
Если говорить коротко, все граждане, попавшие на этот сервис, подписываются на передачу абсолютно всех данных, которые сервис в принципе способен о них собрать — от IP-адреса до номера паспорта и названия работодателя — любым третьим лицам с практически любыми целями, включая рассылку рекламы, на срок в 10 лет.
Современное программирование: взгляд после 25 лет перерыва или как я писал бота для Телеграм
В один “прекрасный” день, я понял, что мне не интересно сидеть на многочисленных форумах, а хочется создать свой канал и делиться “мудростью”.
Мне нравится Телеграм заложенными в него возможностями в том числе и ботами, поэтому канал в виде блога был создан там. Начал искать ботов, помогающих оформлять сообщения…. а так как мне хочется не нашел. Что ж, напишем сами. Умные люди посоветовали писать на Python.
Прочитал первый попавшийся в инете самоучитель на 149 страниц. Я знаком с Pascal, FoxPro, Interbase и даже (ха-ха 3 раза) 20 лет назад продавал свои программы, а потом как-то не сложилось, ушел в торговлю. Работа программистом мне сильно помогла в постановке задач для кодеров кстати. Но вернемся к Python, кажется, ничего сложного, ведь и на BASIC программировать можно было и это не мой институтский диплом с программно-аппаратным комплексом генератора поверки МИГа на Assembler. Одна проблема, всё это было давно, так что возвращаясь к заголовку — кажется что просто, потому что пока ничего не знаю про задачу, но попробовать стоит.
Я решил, что удобнее всего делать проект со смартфона на Андроид, ибо он всегда под рукой. Итак ставим:
- Pydroid 3 — IDE for Python 3 Собственно Питон для Андроид.
- @BotFather, В Телеграм устанавливаем отца всех ботов — он понадобится чтобы получить идентификатор вашего бота и сделать основные настройки.
- Rebootr Приложение для запуска проекта на heroku.
- GIT Приложение для онлайн-хостинга репозиториев.
- Windscribe Без VPN никуда?
- Termux Эмулятор терминала и среды Linux.
И что в сухом остатке? Программировать на смартфоне можно в теории, но невозможно на практике. Максимум проверить код, исправить ошибку, исследовать работоспособность.
Нейросеть для определения хейтеров — «не, ну это бан»
Часто ли вы видите токсичные комментарии в соцсетях? Наверное, это зависит от контента, за которым наблюдаешь. Предлагаю немного поэкспериментировать на эту тему и научить нейросеть определять хейтерские комментарии.
Итак, наша глобальная цель — определить является ли комментарий агрессивным, то есть имеем дело с бинарной классификацией. Мы напишем простую нейросеть, обучим ее на датасете комментариев из разных соцсетей, а потом сделаем простой анализ с визуализацией.
Для работы я буду использовать Google Colab. Этот сервис позволяет запускать Jupyter Notebook'и, имея доступ к GPU (NVidia Tesla K80) бесплатно, что ускорит обучение. Мне понадобится backend TensorFlow, дефолтная версия в Colab 1.15.0, поэтому просто обновим до 2.0.0.
Импортируем модуль и обновляем.
Herrmann Dominanz Instrument (HDI). Часть III
Эта статья будет моей последней в цикле статей про HDI: первая часть, вторая часть.
Также я решил, что в ней будут рассмотрены только следующие аспекты:
- Векторы роста или куда лучше расти
- Потребности в людях, ли как определить какой тип нужен вам
- Выводы
Herrmann Dominanz Instrument (HDI). Часть II
Речь в этой статье пойдет больше о практических инструментах в области мотивации и делегирования полномочий персоналу. Но и какая-то часть теории тоже будет.
Несмотря на то, что первая часть была сравнительно холодно встречена, я все-таки решил продолжать публикацию. Отчасти, потому что были и теплые отзывы, а отчасти, потому что не люблю бросать начатое дело.
Материал в этой части будет опираться на предыдущую (что, согласитесь, логично). Поэтому для полного понимания терминологии — рекомендую сначала ознакомиться с вводной частью (если вы ее не читали).
В этой статье рассмотрим:
Традиционно скажу, что обратная связь приветствуется: как по первой, так и по этой части. Разумеется мне как автору больше хотелось бы, чтобы она была положительной, но конструктивной критике также буду рад.
Herrmann Dominanz Instrument (HDI). Часть I
Поговорим о людях.
Сразу отвечаю на вопрос «Что это?»
HDI — это модель для определения профиля личности.
В свободном доступе практически нет информации про типологию HDI. В лучшем случае есть только краткое описание, составленное в лучших традициях НЛП и искусства продаж, плавно перетекающее в раздел «контакты» для заказа проведения тренинга от немецких консалтинговых компаний.
Несмотря на то, что эта типология имеет интересную и достаточно глубокую научную подоплеку, она имеет широкий потенциал практического применения для управления, мотивации и делегирования работы персоналу. Особенная ее ценность — сравнительно небольшой порог вхождения. И уже при небольшом опыте использования Вы сможете быстро находить правильные подходы к рабочему взаимодействию с людьми.
Особенно полезны знания HDI будут проектным менеджерам. Поскольку именно PM'ы должны быть руководителями «вдвойне» (если не «от бога»), поскольку именно они чаще сталкиваются с необходимостью руководить и мотивировать сотрудников, не находящихся в их прямом подчинении, а значит, не обладают в необходимом объеме административным ресурсом, что повышает риски срыва проекта из-за того, что у «непосредственный начальник Васи дал ему задание с более высоким приоритетом», или «зачем Васе делать дополнительную работу». Разумеется, подобные тонкости зависят от развития проектной культуры в организации (уровень зрелости организации), и рассматриваться в этой статье не будут, но определенную параллель можно будет провести. Также эта статья будет полезна руководителям функциональных подразделений, которые хотят отточить свои руководящие навыки и лучше понять возможности и потребности своих людей.
И я был бы совсем счастлив, если бы после прочтения этой статьи некоторые руководители поняли, почему их сотрудники делают одну работу лучше, чем другую; почему внешняя неуверенность и несамостоятельность сотрудника может на самом деле быть грубейшей ошибкой со стороны руководства в делегировании и мотивации. Любая обратная связь приветствуется.
Предсказываем время решения тикета с помощью машинного обучения
Оформляя тикет в системе управления проектами и отслеживания задач, каждый из нас рад видеть ориентировочные сроки решения по своему обращению.
Получая поток входящих тикетов, человеку/команде необходимо выстроить их в очередь по приоритету и по времени, которое займет решение каждого обращения.
Все это позволяет эффективнее планировать своё время обеим сторонам.
Под катом я расскажу о том, как проводил анализ и обучал ML модели, предсказывающие время решения оформляемых в нашу команду тикетов.
Реализация системы GTD на основе новых возможностей Google Keep и Calendar
За последние годы 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 (категория ближайших действий):
Прием платежей с карты без юр. лица на Яндекс.Деньги
Open source yandex money donation service
Прием платежей на Яндекс.Деньги физ. лица
- онлайн платежи с карты, яндекса, телефона
- добавление метки к платежу
- получение и проверка оповещений на свой сервер
- пример автоматизации подписки на Telegram бота
Реализация и описание под катом
Часть 2. Сначала они воруют, а когда ты побеждаешь, то тебя убивают
Реакция на первую статью была очень сильной. Во-первых, на неё отреагировал ДИТ. Их представитель появился в комментариях, а затем ответ на статью дал руководитель ДИТ. Во-вторых, на нее отреагировал интернет. Большое количество СМИ рассказали об этой истории своим читателям.
В этой статье будет разбор ответа ДИТ, парочка «ужастиков» со стороны ДИТ, раскрытие деятельности ООО «Альтарикс» и 1000 отзывов от детей и родителей. И да, у меня хорошие новости — заявление в ФАС подано.
Почему открытые данные никому не нужны
В процессе работы над проектом для открытых данных пришлось изучить множество государственных источников данных. Это и федеральные порталы и муниципальные ресурсы. Вот наиболее известные источники открытых данных:
У всех этих ресурсов одни и те же болезни. Вот они:
- Невалидность данных.
- Разрозненность данных и отсутствие стандартов.
- Отсутствие единого механизма поиска.
- Отсутствие API для доступа к данным.
Этого достаточно чтобы отбить желание пользоваться ими и данными размещенными на них.
Теперь подробнее по каждому пункту и что с этим делать.
Django Channels – ответ современному вебу
Прежде всего, дзен Python говорит, что любое решение должно быть единственное. Поэтому в Python всего минимум по три. Сетевых асинхронных фреймворков уже существует большое множество:
- Twisted;
- Eventlet;
- Gevent;
- Tornado;
- Asyncio.
Казалось бы, зачем писать еще одну библиотеку и надо ли вообще.
О спикере: Артём Малышев независимый Python разработчик. Занимается разработкой распределённых систем, выступает на конференциях по Python. Артёма можно найти по никнейму PROOFIT404 на Github и в социальных сетях.
Пишем умный контракт на Solidity. Часть 1 — установка и «Hello world»
Люди, интересующиеся темой блокчейна, уже не раз слышали о проекте российско-канадского программиста Виталика Бутерина — Ethereum, а в вместе с ним и о так называемых умных контрактах. В данном цикле статей я постараюсь максимально просто описать суть Ethereum, умных контрактов, концепцию газа и показать, как пишутся умные контракты.
Smart Contract & Gas
Если на пальцах, "умный контракт" — это некоторый код, живущий внутри блокчейна. Любой участник сети может его вызвать за небольшую плату. Эта плата и называется Gas, дословно "топливо". Зачем это нужно? Для защиты майнера от злоупотребления мошенником его ресурсов.
Немногие знают, но даже в биткоине есть возможность писать эти самые контракты, но в силу некоторых причин этим мало кто занимается. Одна из главных проблем — язык Script не Тьюринг-полный и написать что-то более менее серьезное непросто (чтобы вы понимали масштаб проблемы — нет даже возможности добавить цикл). В случае с Ethereum все чуть по другому, языки Тьюринг-полные, и есть риск, что кто-то напишет контракт вида
// Это псевдокод
foo = 0;
while (True) {
foo++;
}
Понятно, что майнер, запустивший этот контракт, закончит нескоро и по факту просто потратит в никуда свои ресурсы. Вот чтобы такого не произошло, разработчики Ethereum и придумали газ — в реальности запускать код вроде того, что я написал, будет просто экономически нецелесообразно, потому что вызвавшему придется заплатить за каждое действие контракта.
SSH-туннели — пробрасываем порт
Тут важно понимать, что туннель можно организовать как изнутри сети, к ресурсам которой вы хотите получить доступ, на внешний ssh-сервер. Также можно организовать туннель с хоста в Интернете на пограничный ssh-сервер сети, чтобы получить доступ к внутренним ресурсам.
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность