Search
Write a publication
Pull to refresh
-12
0

Системный инженер

Send message

Полезные консольные Linux утилиты

Reading time13 min
Views128K

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

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

Пользовательские CSS-переменные, инверсия светлоты цветов и создание тёмной темы за 5 минут

Reading time8 min
Views14K
Вы, наверное, уже знаете о том, что для хранения сведений об отдельных компонентах цвета можно применять пользовательские CSS-переменные. Это позволяет избавиться от необходимости повторения одних и тех же цветовых координат в стилях, описывающих цветовую тему сайта. Возможно, вы даже знаете о том, что одну и ту же переменную можно использовать для настройки нескольких компонентов цвета.


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

Трудности и «глюки», возникающие у новичков в программе Blender, и как их преодолеть

Reading time3 min
Views74K

Blender это замечательный бесплатный 3d пакет , который делает возможным и доступным осуществление гигантского количества проектов ,и ,как человек прошедший путь от абсолютного новичка в 3d до преподавателя данной программы в учебном центре "Специалист" в Москве , я могу поделиться несколькими типами , которые помогут преодолеть несколько несложных , но каверзных моментов , которые хоть и очень просты , но далеко не очевидны , и могут заставить просидеть несколько часов в поиске решения проблемы.

Читать далее

Traefik, docker и docker registry

Reading time14 min
Views34K

Под катом вы увидите:

• Использования Traefik в качестве обратного прокси для маршрутизации трафика внутрь docker контейнеров.

• Использование Traefik для автоматического получения Let’s Encrypt сертификатов

• Использование Traefik для разграничения доступа к docker registry при помощи basic auth

• Все перечисленное выше будет настраиваться исключительно внутри docker-compose.yml и не потребует передачи отдельных конфигурационных файлов внутрь контейнеров.

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

Помимо этого в интернете мало информации на тему использования traefik для контроля доступа к docker registry. Описанную ниже технику можно использовать для контроля доступа к любому приложению, реализующему Rest API.

Читать далее

Валидация UTF-8 меньше чем за одну инструкцию на байт

Reading time9 min
Views24K


Даниэль Лемир – профессор Заочного квебекского университета (TÉLUQ), придумавший способ очень быстро парсить double – совместно с инженером Джоном Кайзером из Microsoft опубликовали ещё одну свою находку: валидатор UTF-8, обгоняющий библиотеку UTF-8 CPP (2006) в 48..77 раз, ДКА от Бьёрна Хёрманна (2009) – в 20..45 раз, и алгоритм Google Fuchsia (2020) – в 13..35 раз. Новость об этой публикации на хабре уже постили, но без технических подробностей; так что восполняем этот недочёт.
Читать дальше →

Производительность главнее всего

Reading time3 min
Views16K
image

Как создать быстрое программное обеспечение?

Неверный способ


Если вы программист, вы, вероятно, знакомы с этой цитатой Кнута:

Преждевременная оптимизация — корень всех зол.


Многие программисты считают, что это нормальный способ разработки продуктов:

image

Некоторые также думают, что производительность — это просто еще одна функция, которую можно добавить позже:

image

Я считаю эту логику ошибочной. Если ваша программа все еще является прототипом и выполняет, например, 1% (20%, 50%, 90%) того, что она должна делать, и она уже работает медленно, то она будет еще более медленной после того, как вы ее закончите, разве нет? Если вы заставите ее делать больше, почему она должна стать быстрее?

Если кто-то говорит:

Мы создаем программы сначала правильными, а потом — производительными. Мы оптимизируем их после того, как они будут реализованы.


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

И у меня с этим проблемы. Это более или менее равносильно тому, что финальная производительность остается на волю случая. ЕСЛИ вам удастся найти какое-то огромное узкое место в производительности и если его изменение не повлияет на архитектуру, вы МОЖЕТЕ получить некоторое ускорение, да. Но никто не может вам этого гарантировать. Это ставка. Вы либо получите некое ускорение, либо нет. По сути, вы принимаете любую производительность с небольшим шансом на небольшое улучшение. И вы назовете это хорошей инженерией?
Читать дальше →

Мониторинг Tarantool: логи, метрики и их обработка

Reading time18 min
Views11K

Tarantool — это платформа in-memory вычислений с гибкой схемой данных. На её основе можно создать распределённое хранилище, веб-сервер, высоконагруженное приложение или, в конце концов, сервис, включающий в себя всё вышеперечисленное. Но какой бы ни была ваша промышленная задача, однажды настанет момент, когда её решение придётся мониторить. В этой статье я хочу дать обзор существующих средств для мониторинга приложения на базе Tarantool и пройтись по основным кейсам работы с ними.


Мониторинг Tarantool


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

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

Фреймворк-независимое браузерное SPA

Reading time23 min
Views14K

Учитывая насколько hype-driven является разработка софта в наше время, можно быть уверенным в том что через несколько лет будут существовать новые модные фреймворки для фронтенд разработки. В момент когда фреймворк на базе которого построено приложение выходит из моды — вы вынуждены либо поддерживать устаревшую (legacy) кодовую базу либо стартовать процесс перевода приложения на новый фреймворк.

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

Данная статья является примером построения SPA с использованием высокоуровневых принципов дизайна архитектуры. При этом конкретные библиотеки и фреймворки выбираются для удовлетворения ответственностей, определённых желаемой архитектурой.

Читать далее

Western Digital разработала новую файловую систему для Linux-систем

Reading time4 min
Views22K
На полях файловых систем редко происходит что-то новое. У нас есть FAT/16/32, NTFS, Ext4, Btrfs и другие, более экзотичные способы управления дисковым пространством. Файловая система в целом явление статичное: когда-то разработчики и инженеры придумали, как структурировать данные на диске, и с тех пор все мы этим пользуемся не задумываясь, что происходит «под капотом» на уровне железа.

И вот теперь, компания-производитель накопителей Western Digital заявила, что активно занимается разработкой новой файловой системы DZS или Digital Zoned Storage. Основная цель новой системы — применение в промышленном оборудовании HDD и твердотельных накопителях с последующим снижением нагрузки на контроллер SSD.



Для HDD файловая система DZS сильна тем, что упрощает традиционную схему доступа к файлам и дает пользователю удобный API для управления данным вкупе с использованием черепичной технологии записи SMR.



Фактически, разработка будет интересна, в первую очередь, администраторам СУБД и прочим пользователям, оперирующим большим массивом статичных данных.
Читать дальше →

Исполняемые PNG: запускаем изображения как программы

Reading time6 min
Views10K

Это изображение и одновременно программа

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

Это заставило меня задуматься: наверно, будет круто, если получится сделать то же самое с программами в Linux? Нет! Я понимаю, вы скажете, что это тупая идея, но я всё равно ею занялся, и ниже представлено описание одного из тупейших проектов, над которыми я работал в этом году.
Читать дальше →

Marko.js — фронтенд от ebay.com

Reading time6 min
Views9.4K
Marko.js не так популярен, как Angular, React.js, Vue.js или Svelte. Marko.js — это проект ebay.com, который с 2015 года стал достоянием opensource. Собственно, именно на этой библиотеке построен фронтенд ebay.com, что позволяет сделать заключение о её практической ценности для разработчиков.

Ситуация с Marko.js, немного напоминает ситуацию с фреймворком Ember.js, который, несмотря на то что работает в качестве фронтенда нескольких высоко-нагруженных сайтов (например Linkedin) — о нем мало знает среднестатистический разработчик. В случае с Marko.js — можно утверждать, что совсем не знает.

Marko.js неистово быстр, особенно при серверном рендеринге. Что касается серверного рендеринга, то скорость Marko.js, скорее всего, останется недосягаемой для его неторопливых собратьев, и этому есть объективные причины. О них и поговорим в предлагаемом материале.
Читать дальше →

Перехват и обработка событий в файловой системе Linux

Reading time11 min
Views8.7K

В предыдущей статье мы рассмотрели сборку и установку пакета на Linux системах, в которой упомянули про Linux Kernel Module (LKM) и обещали раскрыть позднее подробности о пути к нему и его создании. Ну что ж, настало его время. LKM – мы выбираем тебя.

Читать далее

Площадки по пентесту в 2024 году. Самый полный guide

Reading time8 min
Views72K

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

Сломать уже что-то

Персональный экзокортекс, Зеттелькастен и программы для его реализации

Reading time4 min
Views40K

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

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

Читать далее

Core Web Vitals: как Google решил оценивать сайты

Reading time7 min
Views22K


Всем привет!

Сегодня поговорим о важности пользовательского взаимодействия, ведь совсем скоро придется подготовить свои сайты к максимальному ускорению загрузки. Возможно, вы уже слышали про Core Web Vitals…

В прошлом году Google начал масштабный пересмотр факторов ранжирования в поисковике, чтобы улучшить качество поисковой выдачи. И в ноябре команда Google анонсировала Core Web Vitals — новые факторы оценки качества ресурсов, которые смогут влиять на индексацию и вступят в силу в мае 2021 года. Давайте разбираться.
Читать дальше →

Обзор Adafruit Feather RP2040: как Raspberry Pi Pico, только лучше

Reading time4 min
Views14K

Совсем недавно ребята из Raspberry Foundation представили новую плату, главным элементом которой является собственный SoC, RP2040. Плата отличная, ничего не скажешь, но некоторых возможностей, конечно, не хватает.

Сторонние разработчики занялись решением этого вопроса: — на основе той же системы на кристалле они создают собственные платы с новыми функциями. Одна из них — Adafruit Feather RP2040. Что там у нас нового?
Читать дальше →

Рецепты PostgreSQL: асинхронные уведомления в… реплике!?

Reading time16 min
Views1.8K

Для приготовления асинхронных уведомлений listen/notify в реплике нам понадобится postgres. Как говорится в документации:

Транзакции, запущенные в режиме горячего резерва, никогда не получают ID транзакции и не могут быть записаны в журнал предзаписи. Поэтому при попытке выполнить следующие действия возникнут ошибки:

LISTEN, NOTIFY

Поэтому

Метрики производительности WEB Vitals

Reading time6 min
Views15K

Меня зовут Денис, я работаю в компании Домклик. Как вы уже догадались из названия, в этой статье речь пойдёт о таком важном элементе любого веб-сервиса, как производительность. Сразу хочу оговориться, я не буду рассказывать о том, почему это важно, в интернете уже и так очень много исследований и материалов, посвящённых этому вопросу. Я хотел бы затронуть практическую сторону этого вопроса и дать ответы на вопросы: 

Какие существуют метрики производительности?

Как оценить качество вашего приложения? 

Как поднять метрики? 

Какие инструменты позволяют оценить показатели производительности, и др. 

Читать далее

Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи

Reading time9 min
Views69K

fiona


Вторая частьhttps://habr.com/ru/post/563484/


Вокруг темы синтеза речи сейчас много движения: на рынке есть огромное число тулкитов для синтеза, большое число закрытых коммерческих решений за АПИ (как на современных технологиях, так и на более старых, т.е. "говорилки") от условных GAFA компаний, большое количество американских стартапов, пытающихся сделать очередные аудио дипфейки (voice transfer).


Но мы не видели открытых решений, которые бы удовлетворяли одновременно следующим критериям:


  • Приемлемый уровень естественности речи;
  • Большая библиотека готовых голосов на разных языках;
  • Поддержка синтеза как в 16kHz так и в 8kHz из коробки;
  • Наличие своих собственных голосов у авторов решения, не нарушающих чужие права и лицензии;
  • Высокая скорость работы на "слабом" железе. Достаточная скорость работы на 1 потоке / ядре процессора;
  • Не требует GPU, команды ML инженеров или какой-либо дополнительной тренировки или для использования;
  • Минимализм и отсутствие зависимостей / использование в 1 строчку / не надо ничего собирать или чинить;
  • Позиционируется именно как готовое решение, а не очередной фреймворк / компиляция чужих скриптов / тулкитов для сбора плюсиков;
  • Решение никак не связано и не аффилировано с закрытыми экосистемами и продуктами Гугла / Сбера / Яндекса / вставить нужное;

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

По-настоящему яркий, надёжный и безопасный источник света для растений

Reading time15 min
Views33K

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

В результате длительных сессий по курению мануалов и древних форумов, экспериментов и медитаций удалось создать светильник, ровно с теми характеристиками которые мне были нужны.

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

Читать далее

Information

Rating
Does not participate
Location
Nordrhein-Westfalen, Германия
Registered
Activity