Сегодня мы решили обсудить вопросы сетевого мониторинга и рассмотреть несколько утилит, позволяющих заглянуть под капот процессов обмена фреймами в ядре Linux. Далее, говорим про pwru, dropwatch и KGDBoE.
Пользователь
Через какое время на работе вы начинаете работать работу
По мере работы там я оброс тем, что мне хочется назвать 'Company-skills'. Помните, вначале было hardware и software, и потом между ними возникло firmware? Вот также между soft skills и hard skills есть company skills. Company skills это знания кучи URL, умение заказать доступы и знания, кто что аппрувит. Где смотреть логи Kibana и где алерты Zabbix и Grafana. Куда можно лезть, а где дадут по рукам. Это logins в 8 разных доменах (фирма поглотила много фирм поменьше, и они тихо переваривались в ее нутре. Но домены сопротивляются перевариванию дольше всего). И текстовый файл с кучей URL и текстовыми описаниями, что и где. Это умение правильно создать заявку в доморощенной системе XXX. И память о том, что в системе XXX логин надо вводить как просто 'user', в системе YYY как DOMAIN\user, а в ZZZ как user@domain, иначе не сработает.
Домашний тлен: токсины черной плесени
Если бы из всех существ, животных, грибов, бактерий и вирусов нужно было бы выбрать один, который соответствовал бы слову Тлен, пожалуй, победила бы именно плесень. Именно её мы видим в заброшенных домах Припяти, она поглощает пищу, к которой уже никто не притронется, ею обрастают старые погреба, сырые доски и вещи, брошенные на свалку, сырые обои и гипсокартон в вашем туалете.
Архитектура универсального проекта Django
В ходе последних лет моей разработки проектов Django я понял, что почти все они имеют одно строение:
API, Apps, Config, Library, Utils, Workers...
В статье, помимо схемы архитектуры проекта Django, которую я использую в реальных промышленных проектах, подробно расскажу как этого достичь, чтобы все работало.
Удаленная отладка Spring Boot приложений (IntelliJ + Eclipse)
Локальная разработка на вашей машине удобна. Но как только вы развернете свое приложение, у вас будет совсем другая среда, что может привести к непредвиденному поведению или ошибкам. Использование ручной печати
System.out.println («Теперь мы находимся здесь, а переменная X is =» + x);
делает код вашего приложения довольно громоздким и его выполнение занимает много времени. К счастью в Java есть зрелая отладочная экосистема. Это позволяет нам удаленно отлаживать приложения Spring Boot и анализировать его рабочий процесс на удаленном сервере / облаке.
Чтобы показать вам, насколько на самом деле проста удаленная отладка с помощью Java, я буду использовать приложение Spring Boot 2.3, работающее на Java 11. Я разверну приложение как в виде контейнера Docker, так и с помощью старой школы java -jar… way. Наконец, вы узнаете, как удаленно отлаживать интерфейс REST с помощью IntelliJ IDEA (2019.1) и Eclipse (2019-03).
Руководство по Docker Compose для начинающих
Почем Appium для народа
В этой статье мы рассмотрим инструмент Appium. Данная статья является вводным материалом для введения в автоматизированное тестирование мобильных приложений. Она покажет с какими трудностями возможно придется столкнуться при использовании данного инструмента.
Рассмотрим небольшую задачу на примере «калькулятора», попробуем написать автоматизированные тесты для тестирования его и… Начнем с саааамого начала :)
Разговор с майнером Chia, имеющим 1ПБ ёмкости
Возможно, вы уже в курсе, что сейчас в России цены на жёсткие диски большого объёма и SSD стремительно растут, а по компьютерным магазинам мечутся люди, в спешке покупающие комплектующие для новых компьютеров. Причиной этого ажиотажа стала новая криптовалюта Chia, для добычи которой нужны большие HDD и износостойкие SSD.
Chia предлагает модель экологичного майнинга, не требующего колоссальных затрат электроэнергии и уменьшающую парниковые выбросы, так как огромное количество электростанций до сих пор работает на ископаемом топливе.
Для лучшего понимания всего что связано с этой криптовалютой, вашему вниманию предлагается расшифровка моего разговора с майнером Chia, который состоялся вечером 21 апреля 2021 года. Я выступаю в роли продавца SSD, а майнер в роли повторного покупателя, который в ходе разговора делает coming-out. В ходе этого разговора я узнал много нового о Chia.
5 возможностей systemd, которые нравятся сисадминам
Изображение: Shmuel Csaba Otto Traian (CC BY-SA 3.0)
Каждый специалист знает, что в современных системах происходит много чего интересного: в фоновом режиме периодически запускаются и завершаются какие-то приложения, придерживаются своего расписания автоматизированные задачи, пишутся логи, приходят отчёты об изменении статуса служб. Часто эти процессы контролируют с помощью стандартного набора Unix-утилит. Но по мере усложнения систем появились новые задачи: real-time обработка невиданного доселе объёма данных, управление контейнерами приложений, управление доступом к облачным серверам и так далее. Насколько эффективно с этим можно справиться стандартными средствами?
Почему работать в консоли настолько приятно? Так задумано отцами-основателями Unix
Кен Томпсон и Деннис Ритчи
Unix. Легендарная операционная система оказала огромное влияние на разработку программного обеспечения и всю информатику в целом. Из неё выросли целые семейства Unix-подобных ОС, которыми все мы пользуемся.
Язык программирования Си, Ричард Столлман и GNU, движение Open Source, Линус Торвальдс с ядром Linux, маки, айфоны и Android. Почти всё в системном программировании 21 века можно отследить до истоков — до Unix.
Unix — это фундаментальная база. Но что же в ней такого особенного? Есть один секрет. Точнее, два.
Простой Blender. Часть 1
КДПВ. По мотивам.
О чем пост
Пост написан по мотивам этого комментария . Особенно вдохновила картинка в ответах к этому комментарию. Изначально хотел здесь написать про UI и основы моделлинга в Blender, но выходит многовато (я словообилен). Поэтому, про моделлинг — позже (если публика захочет). А здесь — про UI Blender с точки зрения непрофессионала.
Делаем своими руками: KVM Over IP при помощи Raspberry Pi
На Хабре вряд ли стоит рассказывать о программах удаленного доступа к ПК, вроде TeamViewer. Но все это работает лишь в среде операционной системы. А вот доступа к BIOS, возможности установки, переустановки и прочих операций с операционной системой нет. Для всего этого есть иные решения. Одно из самых доступных — KVM Over IP.
Конечно, если покупать брендовую систему, то получится дорого. Но есть иное решение — создание собственной системы на основе «малинки». Это решение предложил разработчик Максим Деваев (Maxim Devaev). Он собирается начать продавать эту систему по $130. Но собрать все это можно и самостоятельно — главное запастись собственными компонентами. Под катом — описание того, как это сделать.
Корутины в Kotlin (гайд)
Simon Wirtz в своем блоге публикует достаточно много интересных постов о Kotlin.
Представляю вашему вниманию перевод одного из них.
Работа с ConstraintLayout через XML-разметку
Привет! Меня зовут Гавриил, я Android-лид Touch Instinct.
В марте Google выкатил релизное обновление ConstraintLayout. Презентовали его еще на прошлом Google I/O. С того момента прошел почти год, ConstraintLayout стал лучше, быстрее и оброс новыми возможностями. Например, приятно, что появилась возможность объединения элементов в цепи — это позволяет использовать ConstraintLayout вместо LinearLayout.
О всех новых и старых возможностях ConstraintLayout я и постараюсь рассказать в этой статье. Предупрежу сразу — статья будет длинная и других семи частей не будет. Про визуальный редактор ConstraintLayout в статье не будет ни слова — только XML-разметка (по старинке) и немного кода.
Грокаем RxJava, часть четвертая: Реактивный Android
RxAndroid
RxAndroid — это расширение RxJava, написанное специально для Android, которое включает в себя специальные обвязки вокруг RxJava, делающие вашу жизнь проще.
Во-первых, здесь есть класс
AndroidSchedulers
, предоставляющий готовые планировщики для потоков, специфичных для Android. Нужно запустить код на UI потоке? Без проблем — воспользуйтесь AndroidSchedulers.mainThread()
:retrofitService.getImage(url)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(bitmap -> myImageView.setImageBitmap(bitmap));
Уровень Android API, обратная и прямая совместимость
Если вы читаете эту статью, значит вас могут интересовать такие вещи, как:
- Что означает уровень API?
- Как использовать
compileSdkVersion
,minSdkVersion
илиtargetSdkVersion
? - Как можно гарантировать, что приложение будет работать правильно на устройствах с разными версиями ОС?
Mikrotik (RouterOS) + Wireguard
Один из способом сделать доступным некоторые внутренние (домашние) сервисы из Интернета является VPN. Можно, конечно, отдельные порты опубликовать и через ssh, но для более полноценной связи лучше использовать другие решения. Я уже писал и про ZeroTier, и про OpenVPN, и получил упреки, что незаслуженно забыл про Wireguard…
Так или иначе, мне стало не хватать VPN клиента (в т.ч. и Wireguard) на отдельно стоящем серверочке, потребовалось связать (в данном случае с vNet в Azure, хотя это не принципиально) всю домашнюю сеть с несколькими ресурсами. И я решил, что пора уже сделать это через роутер, для полноценного site-to-site.
Хотя Keenetic и научился поддерживать Wireguard на новых прошивках, для старенькой Ultra я такой не нашел. С OpenWRT тоже не срослось (для Ultra II есть, а моя моедль старовата). Так что я решил, что пора проапгрейдиться. И, поскольку Mikrotik RouterOS выкатила бету 7 версии с Wireguard, я решил, что пора изучить это чудо.
Действительность оказалась несколько сложнее, чем я рассчитывал, однако все получилось. И сейчас опишу основные моменты, которые нигде не смог найти, и до которых пришлось доходить самому.
Кунг-фу стиля Linux: бесплатный VPN по SSH
Основная идея тут заключается в том, чтобы подключиться к удалённому компьютеру, находящемуся в некоей сети, и сделать так, чтобы весь ваш сетевой трафик выглядел бы для той сети как локальный.
Первая причина, по которой это может кому-то понадобиться, заключается в повышении уровня безопасности и в заблаговременном устранении возможных угроз. Например, может понадобиться печатать на сетевом принтере, не «выставляя» этот принтер в обычный интернет. В результате, например, некто может сидеть в кафе и, подключившись к сети по VPN, распечатывать документы на принтере, чувствуя себя так, будто он находится за своим рабочим столом, а принтер стоит в паре метров от него. Использование VPN, кроме того, будет означать, что данные, передаваемые по WiFi-сети кафе, будут зашифрованы.
Вторая причина — это скрытие реального местоположения пользователя от любопытных глаз. Предположим, кому-то нравится смотреть видеоматериалы BBC, но живёт он в Эквадоре. Это значит, что для того чтобы видео не были бы для него заблокированы, ему нужно будет подключиться по VPN к сети, находящейся в Великобритании. Если власти некоей страны мониторят и цензурируют интернет, то жителям этой страны тоже может пригодиться возможность замаскировать свой трафик.
Nextcloud: отказоустойчивый деплой для средних компаний
Есть очень крутой комбайн для совместного ведения проектов, LDAP-авторизацией, синхронизацией файлов с версионированием и чем-то вроде корпоративного мессенджера с видеоконференциями, которые прикрутили в последних версиях. Да, я про Nextcloud. С одной стороны, я сторонник Unix-way и четкого дробления приложений по отдельным функциям. С другой — этот продукт более чем устойчив, работает много лет в нескольких проектах без особых проблем и дополнительные свистелки особо не мешают ему работать. Если очень хочется, то туда можно прикрутить практически любую дичь. Коммьюнити живое и вполне допиливает различные плагины, которые доступны как отдельные приложения.
Сегодня мы будем его разворачивать. Я не буду давать полной пошаговой инструкции, но постараюсь упомянуть про ключевые моменты архитектуры, на которые стоит обратить внимание. В частности, разберем балансировку нагрузки, репликацию БД и регламентное обслуживание без прерывания сервиса.
Деплоить будем в отказоустойчивом варианте для небольшой компании в 150-1000 пользователей, но для домашних пользователей тоже пригодится.
Dagger 2 для начинающих Android разработчиков — Введение
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность