Search
Write a publication
Pull to refresh
3
0

Руковожу разработкой всякого разного

Send message

Как организовать CI/CD на проекте: от постановки задач до настройки конвейера развертывания

Reading time5 min
Views16K
В чем залог успешной настройки Continuous Delivery на проектах? Слаженная работа команд разработки, тестирования и инженеров по инфраструктуре. Спасибо, кэп, как говорится :) Но как это реализовать на практике? В этой статье поделимся нашими наработками, как это всё организовать и воплотить в жизнь.

Мы обобщили базовые основы в одну шпаргалку для себя и делимся с вами:


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


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

Epic fail resistance 1 или Лисец подкрался незаметно. Тестирование анонимности и безопасности + VPN для пользователя

Reading time17 min
Views9.9K
Доброго времени прочтения, уважаемые читатели Хабра.

В продолжение темы Big Data resistance 1. Прочитав комментарии к статье от dartraiden и YourChief, задумался на тему, а впрямь ли все хорошо и достаточно ли тестов анонимности и безопасности на 2ip и Whoer или раз все хорошо, значит что-то не заметил. К тому же, ряд проблем находил по интернету или сталкивался с ними сам в момент написания статьи.

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

Так же, в данной статье, предлагаю рассмотреть простую и бесплатную настройку VPN и защищенного DNS на уровне пользователя.
Читать дальше →

Знакомимся с альфа-версией снапшотов томов в Kubernetes

Reading time11 min
Views5.5K


Прим. перев.: оригинальная статья была недавно опубликована в блоге Kubernetes и написана сотрудниками компаний Google и Huawei (Jing Xu, Xing Yang, Saad Ali), активную деятельность которых вы непременно видели в GitHub'е проекта, если когда-либо интересовались фичами и проблемами K8s, связанными с хранением данных. Инженеры рассказывают о предназначении снапшотов томов (volume snapshots), их текущих возможностях и основах работы с ними.
Читать дальше →

Функциональное мышление. Часть 3

Reading time9 min
Views16K

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


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

Принципы SOLID, о которых должен знать каждый разработчик

Reading time11 min
Views391K
Объектно-ориентированное программирование принесло в разработку ПО новые подходы к проектированию приложений. В частности, ООП позволило программистам комбинировать сущности, объединённые некоей общей целью или функционалом, в отдельных классах, рассчитанных на решение самостоятельных задач и независимых от других частей приложения. Однако само по себе применение ООП не означает, что разработчик застрахован от возможности создания непонятного, запутанного кода, который тяжело поддерживать. Роберт Мартин, для того, чтобы помочь всем желающим разрабатывать качественные ООП-приложения, разработал пять принципов объектно-ориентированного программирования и проектирования, говоря о которых, с подачи Майкла Фэзерса, используют акроним SOLID.



Материал, перевод которого мы сегодня публикуем, посвящён основам SOLID и предназначен для начинающих разработчиков.
Читать дальше →

EHCI по-людски на русском языке

Reading time13 min
Views41K
image

Введение


Всех приветствую. Сегодня хочу поделиться опытом и всё-таки по-моему внятно объяснить про такой, на первый взгляд, простой стандарт для USB 2.0 хост-контроллера.

Изначально можно представить себе что USB 2.0 порт — это всего лишь 4 пина, по двум из которых просто передаются данные(Как, к примеру, COM-порт), но самом деле всё не так, и даже совсем наоборот. USB-контроллер в принципе не даёт нам возможности передавать данные как через обычный COM-порт. EHCI — довольно замысловатый стандарт, который позволяет обеспечить надежную и быструю передачу данных от софта до самого девайса, и в обратную сторону.

Возможно, вам пригодиться эта статья, если, к примеру, вы не имеете достаточных навыков написания драйверов и чтение документации к хардвейру. Простой пример: хотите написать свою ОС для мини-ПК, дабы какая-нибудь винда или очередной дистрибутив линукса не загружали железо, и вы использовали всю его мощь исключительно в своих целях.
Читать дальше →

Разборка движка визуальных новелл Qlie

Reading time19 min
Views12K


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

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

PeerTube 1.0: видеохостинг без дата-центра и капитальных затрат

Reading time2 min
Views43K
image

Состоялся первый продакшн-релиз децентрализованной платформы PeerTube для организации видеохостинга и видеовещания. PeerTube представляет собой независимую легковесную масштабируемую альтернативу для YouTube, Dailymotion и Vimeo и использует браузеры посетителей в реальном времени для создания сети распространения контента. Наработки проекта распространяются на GitHub под свободной лицензией AGPLv3.

image


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

TensorFlow.js и clmtrackr.js: отслеживание направления взгляда пользователя в браузере

Reading time12 min
Views23K
Автор статьи, перевод которой мы публикуем, предлагает поговорить о решении задач из сферы компьютерного зрения исключительно средствами веб-браузера. Решить подобную задачу не так уж и трудно благодаря JavaScript-библиотеке TensorFlow. Вместо того, чтобы обучать собственную модель и предлагать её пользователям в составе готового продукта, мы дадим им возможность самостоятельно собрать данные и обучить модель прямо в браузере, на собственном компьютере. При таком подходе серверная обработка данных совершенно не нужна.


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

Подписание PDF на JS и вставка подписи на C#, используя Крипто ПРО

Reading time8 min
Views28K
Итак. Пришла задача. Используя браузер предложить пользователю подписать PDF электронной подписью (далее ЭП). У пользователя должен быть токен, содержащий сертификат, открытый и закрытый ключ. Далее на сервере надо вставить подпись в PDF документ. После этого надо проверить подпись на валидность. В качестве back-end используем ASP.NET и соответственно C#.

Вся соль в том, что надо использовать подпись в формате CAdES-X Long Type 1, и российские ГОСТ Р 34.10-2001, ГОСТ Р 34.10-2012 и т.п. Кроме того подписей может быть более одной, то есть пользователи могут по очереди подписывать файл. При этом предыдущие подписи должны оставаться валидными.
Читать дальше →

Алиса выплатит более миллиона рублей до конца года. Новый конкурс и рекомендации Яндекса для разработчиков навыков

Reading time2 min
Views17K
Сегодня Алисе исполняется год. За прошедшие месяцы она обучилась множеству новых навыков, большая часть из которых была создана сторонними разработчиками с помощью платформы Диалоги. Более 28 тыс. навыков уже опубликованы и доступны всем пользователям Алисы.

В честь первого дня рождения мы запускаем Премию Алисы. Каждый месяц мы будем выбирать по 5 лучших навыков от независимых разработчиков и выплачивать им денежные вознаграждения. Если вы уже разрабатываете свои навыки или только планируете начать, то приглашаем под кат – там вас ждут рекомендации нашей команды.



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

Такой исключительный Go

Reading time12 min
Views11K

Недавно были опубликованы черновики дизайна новой обработки ошибок в Go 2. Очень радует, что язык не стоит на одном месте — он развивается и c каждым годом хорошеет как на дрожжах.


Только вот пока Go 2 лишь виднеется на горизонте, а ждать уж очень тягостно и грустно. Посему берем дело в свои руки. Немножко кодогенерации, чуть работы с ast, и легким движением руки паники превращаются, превращаются паники… в элегантные исключения!


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

25 полезных инструментов Kubernetes: развёртывание и управление

Reading time7 min
Views22K

Anthony Smith Images / Shutterstock.com

Мы создаём Kubernetes как облачный сервис и пристально следим за актуальными инструментами разработчиков контейнерных приложений. В этом посте мы расскажем про инструменты, которые сильно облегчают работу с развёртываниями Kubernetes и помогают построить CI/CD.
Читать дальше →

Алгоритм установления соединения в протоколе SSH

Reading time5 min
Views113K
(Начальное название статьи «Алгоритм работы протокола SSH» было изменено по рекомендациям Vindicar, Karroplan и других участников хабросообщества)

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

Попытаюсь внести немного ясности в работу протокола SSH, а заодно рассмотреть роль алгоритма RSA и ключей авторизации пользователя…

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

Мафия на Go, Vanila JS и WebSocket'aх

Reading time4 min
Views11K


Речь пойдет о web-реализации популярной карточной игры "Мафия". Она писалась для развлечения и получения опыта в разработке игр. Первая версия была написана за две недели свободного от работы времени и за такое же время переписана до второй версии. Плюс такой игры – отсутствие ведущего.
Читать дальше →

Работаем в консоли быстро и эффективно

Reading time9 min
Views127K

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

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

Задача с небоскрёбом и яйцами — не бином Ньютона?

Reading time8 min
Views28K
На самом деле, он самый. Но обо всём по порядку.

Постановка задачи


Осваиваю питон, решаю всякое на Codewars. Сталкиваюсь с известной задачей про небоскрёб и яйца. Разница лишь в том, что исходные данные — не 100 этажей и 2 яйца, а чуть побольше.
Дано: N яиц, M попыток их бросить, бесконечный небоскрёб.

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

0 <= N, M <= 20000.
Время прогона двух десятков тестов — 12 секунд.
Читать дальше →

Raspberry Pi в картридже от NES

Reading time19 min
Views29K

Здравствуйте! Это ретро игровая приставка на базе Raspberry Pi. В картридже от игровой приставки NES. Для игры может использоваться интегрированный экран. При выводе же видео по HDMI он показывает изображение обложки игры, а также температуру ядра, см. фото. Предлагаю немного понастальгировать и почитать про сборку и настройку такого устройства. Осторожно, далее много трафика и фото.

Корневые и промежуточные сертификаты уполномоченных Удостоверяющих Центров России

Reading time2 min
Views23K
Как и многие другие страны, Россия для официального электронного документооборота использует x509 сертификаты, выпускаемые уполномоченными Российскими Удостоверяющими Центрами (УЦ). И в отличие от многих других стран, использует свои собственные шифры.

Я давно хотел автоматизировать проверку подписей ответов органов власти (я много переписываюсь) и проверку «выгрузок» Роскомнадзора на подлинность (по роду общественной деятельности). Самой большой проблемой было достать промежуточные сертификаты из цепочки. Потому что существовал невнятный Excel-файл корневых УЦ на сайте Минсвязи и всё. А промежуточные надо было искать по сайтам соответствующих УЦ. Жизнь — боль.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity