Рубрика «bash» - 6

Чем особенно хорош Vim/Neovim? Тем, что твой инструментарий — это не только редактор (который сам по себе сильно расширяем плагинами и имеет богатый базовый функционал и очень гибок в области кастомизации), но и всё ваше рабочее окружение, со всем юникс-вейным прилагающимся инструментарием из gnu/coreutils и не только. Можно не уходя из редактора взять любую программу или интерпретатор ЯП и использовать его прямо в редакторе.

Читать полностью »

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

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

Однажды знакомые попросили помочь разобраться с ноутом, на который они не смогли переустановить Windows. У ноута, судя по виду, была тяжелая жизнь: трещины корпуса, помяты углы, выломаны стойки. Понятно — проблема в повреждении жесткого диска в результате многочисленных ударов, что подтвердил и смарт: более 200 срабатываний G-sensor'а, 500 Reallocated Sector Count и еще есть в Current Pending'е. Ну людям, понятное дело, я поставил SSD, а информацию с их винта скопировал в образ командой:

dd if=/dev/sdb of=/media/hddimages/ht320.img bs=409600 conv=noerror,notrunc,sync

Читать полностью »

Предисловие

Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обычно от кандидата на позицию QA инженера требуют знание основных команд (если, конечно, подразумевается работа с Linux), но как понять, про какие команды стоит почитать во время подготовки к собеседованию, если опыта работы с Linux мало или вовсе нет?

Поэтому, хоть про это уже и много раз написано, я всё же решился написать ещё одну статью «Linux для новичков» и перечислить здесь базовые команды, которые нужно знать перед любым собеседованием в отдел (или компанию), где используют Linux. Я подумал, какие команды и утилиты и с какими параметрами я использую чаще всего, собрал фидбек от коллег, и скомпоновал это всё в одну статью. Статья условно делится на 3 части: сначала краткая информация об основах ввода-вывода в терминале Linux, затем обзор самых базовых команд, а в третьей части описывается решение типовых задач в Linux.
Читать полностью »

Прим. перев.: Эта практическая заметка от создателя LayerCI — отличный пример так называемых tips & tricks для Kubernetes. В ней рассказывается, как можно упростить некоторые привычные операции (по эксплуатации и отладке) благодаря использованию классических утилит. О том, какие именно операции, объясняет сам автор…

Как с tcpserver и netcat открыть туннель в Kubernetes pod или контейнер - 1

Представьте типичную ситуацию: вы хотите, чтобы порт на локальном компьютере волшебным образом перенаправлял трафик в pod/контейнер (или наоборот).Читать полностью »

Что самое важное для бекапов? Правильно, воспроизводимость. Поэтому давайте сделаем велосипед на коленке и на опции --link-dest у rsync. У нашего велосипеда не будет сложной структуры данных в стиле git как у restic, ни кучи бекендов как у duplicity. Но мы сможем восстановить его работу по памяти даже под стрессом.

Опция --link-dest позволяет указывать предудущую версию бекапа, на которую rsync будет ставить жёсткие ссылки, если файлы с прошлого раза не поменялись.

Читать полностью »

Переменные окружения для Python проектов

При разработки web-приложения или бота мы часто имеем дело с какой-либо секретной информацией, различными токенами и паролями (API-ключами, секретами веб-форм). "Хардкодить" эту информацию, а тем более сохранять в публично доступной системе контроля версий это очень плохая идея.

# Плохая практика. Не делай так.
API_KEY = 'very_secret_password'

Конфигурационные файлы

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

# Уже лучше.
from config import API_KEY
app = Flask(__name__)
app.config['API_KEY'] = API_KEY

Переменные окружения

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

$ export FLASK_APP=hello.py
$ flask run
 * Running on http://127.0.0.1:5000/

Читать полностью »

Привет! В этом году мы делали перевод огрооомного обучающего курса по React — в нашем блоге он был аж в 27 постах. В каждой части, от простого к сложному, выдавался концентрат знаний, которые тепло оценили читатели нашего блога. А сегодня мы поймали себя на мысли, что не выпустили все части одним большим куском — исправляемся!

[в закладки] PDF- и ePUB-версия руководства по React - 1

Для новых читателей нашего блога — два бонуса внутри.
Читать полностью »

Всем привет. Это перевод из книги по подготовке к экзамену RedHat RHCE. На мой взгляд очень доступно рассказывается об основах bash.

Сценарии оболочки — наука сама по себе. Не вдаваясь в подробности всего, что происходит «под капотом», вы узнаете, как применять базовые элементы для написания собственных скриптов, и анализировать, что происходит в сторонних сценариях оболочки.

Введение в Bash Shell - 1
Читать полностью »

Типичный вопрос разработчиков под Windows: «Почему здесь до сих пор нет <ВСТАВЬТЕ ТУТ ЛЮБИМУЮ КОМАНДУ LINUX>?». Будь то мощное пролистывание less или привычные инструменты grep или sed, разработчики под Windows хотят получить лёгкий доступ к этим командам в повседневной работе.

Подсистема Windows для Linux (WSL) сделала огромный шаг вперёд в этом отношении. Она позволяет вызывать команды Linux из Windows, проксируя их через wsl.exe (например, wsl ls). Хотя это значительное улучшение, но такой вариант страдает от ряда недостатков.
Читать полностью »

Мультимедиа центр «Kodi» и Yocto Project - 1

Введение в Yocto Project

Yocto Project — это совместный Open Source проект для упрощения разработки дистрибутивов для встраиваемых систем. Yocto содержит большое количество шаблонов, метаданных и инструментальных средств сборки. В Yocto Project вы можете подключить большое количество BSP (пакет поддержки платформы) слоев для всевозможных аппаратных платформ.

Основное назначение статьи — это попытка показать сборку типового дистрибутива в Yocto Project на примере хорошо известного мультимедиа центра Kodi, версии 17.6 для одноплатного компьютера «Raspberry Pi» 3B.

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

Статья является сугубо практической и демонстрирует возможности использования наработок Yocto Project и OpenEmbedded для сборки мультимедиа центра «Kodi». Управление слоями Yocto осуществляется с помощью утилиты Repo от Google. Статья из серии «Документируй это».

Итак: поехали
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js