Как стать автором
Обновить
0
@QuAzIread⁠-⁠only

Лучше недостаток кармы, чем мозгов и совести

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

Графические инструменты управления групповыми политиками в Linux

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

Многие организации в России переходят на Linux-решения, и планируют каким-то способом управлять своим парком машин. В общих словах необходима массовая настройки операционных систем по некоторым шаблонам. На этот случай есть различные решения - от Ansible до Samba, но в этом материале я подробно расскажу про групповые политики от Alt. Постараюсь написать об интересных технических реализациях, собственных графических инструментах и, в двух словах, о сходстве и различии с другими популярными решениями.

Читать далее

Разворачиваем веб-приложение в Kubernetes с нуля

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

Современные веб-приложения, даже простые на вид, часто подразумевают нетривиальную архитектуру, состоящую из многих компонент. В статье «Делаем современное веб-приложение с нуля» я рассказал, как она может выглядеть, и собрал для демонстрации простейшую реализацию на стеке из нескольких популярных технологий. В неё вошёл бэкенд, фронтенд, воркер для асинхронных задач и аж два хранилища данных — MongoDB как основная база и Redis как очередь задач. В «Делаем поиск в веб-приложении с нуля» я показал, как можно добавить полнотекстовый поиск, и подключил третье хранилище — Elasticsearch.

Всё это время для простоты разработки и отладки компоненты приложения запускались локально через Docker Compose. Но как развернуть такое приложение в настоящем продакшн-окружении? Как обеспечить горизонтальное масштабирование? Как раскатывать новые релизы без простоя? 

В этой статье мы разберёмся, как разворачивать многокомпонентное веб-приложение в кластере Kubernetes на примере его локальной реализации — minikube. Мы поднимем виртуальный кластер прямо на рабочем ноутбуке, разберёмся с основными сущностями Kubernetes, запустим и соединим между собой компоненты демо-приложения и обсудим, какие ещё возможности Kubernetes пригодятся нам в суровом энтерпрайзе. Если вы занимаетесь разработкой и слышали о Kubernetes, но ещё не имели возможности пощупать его руками — добро пожаловать под кат!

Скорее к YAML-инженерии

Fancy Widgets — виджеты рабочего стола на AvaloniaUI

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

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

Около трёх месяцев назад, я и мой друг - начинающие .NET разработчики, решили разработать свои виджеты на рабочий стол Windows, так как официальных нормальных виджетов нет (те что в Windows 11 не считаются). Недавно мы выпустили наш проект в релиз, пока что есть 2 виджета (Погода и Заметки), но вскоре их может быть больше! Проект называется Fancy Widgets и мы хотим поделиться им с вами. Вы можете попробовать наши виджеты, скачав их с нашего сайта https://fancy-widgets.onrender.com. Это наш pet-проект и поэтому он ни на что не претендует, мы просто делали его для себя и для удовольствия. Но мы будем рады услышать ваше мнение и предложения по улучшению нашего продукта. Вы можете оставить свои комментарии под этой статьей или написать нам на нашу почту fancy.widgets.help@gmail.com. Цель этой статьи - вкратце рассказать о нашем проекте и о сложностях, которые возникли у нас при разработке. Мы надеемся, что вы найдете нашу статью интересной и полезной. Приятного чтения! ?

Читать далее

IronZen: как мы решили боль тысяч тревожных людей, разработав собственное мобильное приложение

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

Кейс о том, как компания друзей с опытом в IT и digital на досуге начала разрабатывать приложения, и в первом же проекте закрыла острую проблему людей с повышенной тревожностью и ОКР, дав старт собственной кузнице аппок.

Читать далее

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android

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

Для многих разработчиков приложений далеко не секрет, что экосистема Android не предполагает написание полностью нативных приложений: в этой платформе очень многое завязано на Java и без ART можно запустить только простые службы без какого-либо интерфейса. Однако, есть один способ писать практически под «голый» Linux, не перекомпилируя ядро и при этом пользоваться самыми интересными фишками устройства без оверхеда в виде тяжелого Android: ускорение 3D-графики (OpenGLES), микшер звука, ввод с различных устройств, OTG, Wi-Fi и если очень постараться — даже 3G. Это открывает множество разных интересных применений старым устройствам: «железо» смартфонов зачастую гораздо мощнее современных недорогих одноплатников. Сегодня я покажу вам, как написать и запустить программу, которая полностью написанное на C без Android, на No-Name Android-смартфоне практически без модификаций. Интересно? Жду вас в статье!
Читать дальше →

Учим три телевизора делать солнышко

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

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

Осторожно, трафик!

Кратко об алгоритме шифрования данных в протоколе WireGuard

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

Протокол WireGuard позволяет создать защищенный сетевой туннель на третьем уровне модели ВОС между двумя узлами с помощью протокола передачи сообщений UDP. Он использует криптографическое квитирование, пересылка сообщений или сигналов, выдаваемых в ответ на принятые сообщения для осуществления взаимной аутентификации, согласования ключей и обеспечения прямой секретности. Защита информации, передаваемой в инкапсулированных IP-пакетах через туннели WireGuard, осуществляется с использованием аутентифицированного шифрования с присоединенными данными (Authenticated Encryption with Associated Data, далее AEAD).

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

Читать далее

DIY Zigbee датчик СO2 для вашего Умного дома

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров31K
Приветствую всех читателей Habr. Меня зовут Андрей, примерно около 5 лет я осознано занимаюсь DIY разработкой электронных устройств для своего «Умного дома», да и не только для своего. Сегодня хочу рассказать об одном из моих DIY проектов, небольшом устройстве для контроля уровня углекислого газа. Проект называется EFEKTA iAQ, это датчик с круглым IPS TFT дисплеем, сенсором CO2, работающий на протоколе Zigbee.

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

Как делается OpenSource: личный опыт

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

Я - автор двух пакетов, входящих более-менее во все дистрибутивы Linux: sane-airscan и ipp-usb.

Кроме того, sane-airscan входит во все основные дистрибутивы BSD (FreeBSD, NetBSD и OpenBSD) и в ChromeOS. ipp-usb в ChromeOS не взяли потому, что он написан на Go, а у них там очень жестко с размером исполняемых файлов, вместо этого они написали свое на Rust, но предпочли бы взять моё изделие, если бы могли. Совсем недавно появился порт ipp-usb на FreeBSD, вероятно, другие BSD тоже скоро подтянутся.

Вместе эти два пакета образуют стек "бездрайверного" сканирования документов для Linux и *BSD, а в перспективе нескольких лет, когда старые сканеры, наконец, вымрут, вероятно других драйверов и не останется.

Кроме того, ipp-usb делает возможным "бездрайверную" печать на USB-устройствах.

Здесь я хочу рассказать, каково оно, быть автором популярных OpenSource пакетов. Хоть эта работа и не принесла мне особых денег (на что я, впрочем, особо и не рассчитывал), она принесла мне бесценный опыт.

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

Первое занимает гораздо меньше времени, чем второе. Второе - гораздо меньше времени, чем третье.

Читать далее

Bash в Windows Terminal

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

Для пользователя Linux командная строка Windows кажется чем-то непривычным и неудобным. С появлением WSL казалось, что проблема использования Bash решена, но запуск виртуальной машины требует времени, да и пути в WSL отличаются от Windows. Плюс скорость файловых операций на виртуальной машине хуже.

Ещё есть возможность использовать Bash через MSYS2, но мне хотелось найти что-то более компактное и легковесное, а также простое в настройке и установке.

Так как я часто использовал Linux на роутерах, то познакомился с BusyBox, набор UNIX-утилит командной строки, используемой в качестве основного интерфейса во встраиваемых операционных системах. Оказалось, есть версия BusyBox для Windows. В 2020 году появился Windows Terminal, а в нем есть возможность создавать вкладку с запуском конкретной программы.

Читать далее

Учимся заново печатать вслепую на раздельной клавиатуре

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

Недавно я купил раздельную клавиатуру Kinesis Advantage 360, потому что заранее хочу позаботиться о здоровье своих запястий и нервов. Я запросто могу тратить по шестьдесят с лишним часов в неделю на игры, кодинг, работу и написание статей за клавиатурой, поэтому боль в запястьях мне знакома. Особенно там, где соединяются на правой руке большой палец и запястье. Кроме того, у меня немеют мизинец и безымянный палец из-за воспаления локтевого нерва. Боль уходит и возвращается, но я надеюсь, что занявшись эргономикой, я смогу существенно её уменьшить или полностью избавиться от неё. Пока мой опыт был вполне положительным, но в процессе у меня возникли сложности с эргономичной клавиатурой, которыми бы я хотел поделиться.
Читать дальше →

Методы борьбы с воровством в кружке робототехники (часть 2)

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

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

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

Ознакомиться с нововведениями

Нестандартные варианты использования Raspberry Pi

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


Raspberry Pi — это универсальный компьютер, который можно использовать как угодно. Есть тысячи вариантов, где его применить. Поэтому не совсем понятно: что считать стандартным, а что — нестандартным вариантом использования? Например, управление станками или умный дом — вполне логичное применение «малинки», тем более что Home Assistant отлично работает на RPi OS. Блокировка рекламы/соцсетей из домашней сети на общем файрволе Pi-Hole или простейший piVPN — тоже очевидная и общепринятая практика.

Но есть гораздо более странные примеры.
Читать дальше →

11 полезных плагинов для kubectl

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

Kubectl (Kubernetes Control) — это по сути основной интерфейс для взаимодействия с Kubernetes-кластером. Сторонние разработчики сделали для него много полезных плагинов, которые в той или иной ситуации могут облегчить работу инженера и сэкономить время. В этой статье рассмотрим 11 удобных плагинов для расширения функционала kubectl.

Читать далее

Тапки. Ведра… Видеокарты. Что с ними не так, или почему RTX 4060 — карта мечты

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

Карты Nvidia RTX 40-й серии были довольно холодно приняты общественностью. RTX 4090 превратилась в мем. А 4060 стала настоящим разочарованием, дав прирост всего в 10%, и сильно порезав шину памяти. Но действительно ли 4060 — это худшее решение nvidia? Или всё не то, чем кажется!

Бросить тапок в автора

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива?

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

Каждый год выпускается с десяток новых моделей одноплатных компьютеров. Свежие девайсы представляют как старые и уважаемые фирмы по типу Raspberry Pi, Orange Pi или Banana Pi, так и относительные новички на рынке — Repka Pi, или, например, Lctech Pi. Одноплатники работают на достаточно большом парке железа: кто-то использует чипы AllWinner, кто-то Amlogic, кто-то Broadcom, а кто-то… мобильные! Пару лет назад Orange Pi отличились выпуском нескольких одноплатников на базе чипсетов очень бюджетных мобильников 2013-2015 годов — 2G IoT и 3G IoT. На данный момент, выпуск 3G IoT завершен, а компания предлагает купить абсолютно новый одноплатник с 3G, Bluetooth, Wi-Fi, GPS, поддержкой Linux и Android всего за 1.000 рублей (500 само устройство и 500 доставка). На что оно способно и стоит ли его брать — узнаем в статье!
Читать дальше →

Собственная BBS на Raspberry Pi. Цифровая археология на современном устройстве

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

С чем у вас ассоциируется аббревиатура BBS? Любители автотюнинга, конечно, вспомнят о производителе колёсных дисков — BBS Kraftfahrzeugtechnik AG. Помните, как получив стоковую машину в NFS Underground 2 и выиграв пару гонок, вы мчались в игровой магазин и ставили литые диски этого вендора? Но если вы жили до эпохи Web 1.0, то для вас BBS обозначает Bulletin Board System, то есть электронную доску объявлений.

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

Читать далее

Добавляем поддержку пользовательского языка в IntelliJ с помощью ANTLR

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

В этой статье я не буду описывать как создать плагин для IntelliJ с поддержкой %lang_name% с нуля. Кроме официальной документации и туториала от JetBrains в сети есть множество статей и примеров. На Хабре тоже есть пара весьма подробных статей от @pyltsinm. Фокус будет на разработке плагина с использованием ANTLR и моём опыте в этом нелёгком деле.

Примером в этой статье будет WebCalm - плагин для IntelliJ с поддержкой JavaScript и CSS, который я сделал с помощью ANTLR.

Читать далее

Волшебный шкаф тестировщика: как мы победили человеческий фактор в учёте девайсов

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4.3K
Уследить за собственным девайсом иногда бывает сложно: все мы хоть раз да ходили по дому в поисках непонятно где забытого смартфона или планшета. А когда мобильных девайсов тысяча, и они нужны не только тебе, но и коллегам по команде (причем как в офисе, так и дома — у нас же гибридный рабочий график)? Это огромная головная боль, причем заболеть голова может в любой момент и с непредсказуемой силой…

image

Меня зовут Владимир Власов, я — Senior Testing Engineer в Мобильной команде «Лаборатории Касперского». И под катом я расскажу, как мы создали решение, благодаря которому все устройства для тестирования в нашем офисе теперь учтены, а их поиск стал в разы быстрее и проще.
Читать дальше →

Zigbee-LAN координатор на EFR32MG21 Silicon Labs

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

ZigbeeLink это open-source проект координатора Zigbee. В статье вы узнаете, как собрать, прошить и настроить Zigbee-LAN координатор на чипе Silicon Labs EFR32MG21.

Читать далее

Информация

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

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

Фулстек разработчик, DevOps-инженер
Средний
C#
.NET
ASP.NET
Git
SQL
Linux
Docker
Python
Базы данных
Bash