Pull to refresh
27
0.1

Mission Critical

Send message

Локализация своих скриптов на BASH

Reading time7 min
Views5.9K

Создание меню на BASH — задача сама по себе не сложная: "case тебе в руки и echo в спину". Решая её в очередной раз, мне захотелось добавить возможность отображать текст на других языках. Осталось решить, как сделать сам процесс локализации меню более удобным. Если оно большое, то решение "в лоб" превратит его в громоздкую копипасту. Здесь я хотел бы поделиться тем, как решил эту проблему для себя. Надеюсь, для кого то это будет небезынтересным.



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


Примечание:

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


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


Реализация будет состоять из:


  • буквенного кода языка
  • массива слов
  • преобразователя косвенных ссылок для обращения к массиву
  • обращения к элементам массива
  • создания меню

Теперь рассмотрим подробнее

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

Насколько маленьким может быть ядро linux?

Reading time5 min
Views39K
Некоторое время назад я научился конвертировать виртуальные машины в oracle cloud из ubuntu 20.04 в gentoo. Машины предоставляемые в рамках always free tier весьма маломощны. Это в частности приводит к тому, что перекомпиляция ядра превращается в достаточно длительный процесс. У исходного ядра ubuntu 20.04 в конфиге было 7904 параметра. После того, как я сделал:

make localmodconfig && make localyesconfig

число параметров уменьшилось до 1285. Мне стало интересно попробовать выбросить из ядра все лишнее и посмотреть, что получится.
Читать дальше →

Гигиена труда оператора ЭВМ (МКМ)

Reading time25 min
Views23K

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

Читать далее

Дайджест свежих материалов из мира фронтенда за последнюю неделю №451 (18 — 24 января 2021)

Reading time3 min
Views9.1K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

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

Быстрый туториал по установке и эксплуатации системы фильтрации IP-адресов CrowdSec v.1.0.x

Reading time7 min
Views12K

Всем привет! Перед Новым годом мы выпустили большой апдейт нашего продукта — CrowdSec v.1.0.X, в котором содержатся значительные изменения по сравнению с предыдущей версией. Самое главное: был введен в эксплуатацию локальный REST API и проведены соответствующие архитектурные изменения. Как следствие, значительно упростился процесс создания баунсеров и повышена их устойчивость, при этом снизилось время на обслуживание системы. 

В этой статье вы найдете основные материалы о том, как был переделан CrowdSec и, в целом, ее можно рассматривать как User Guide для тех, кто собирается попробовать наш продукт на своих системах. 

Быстрый и приятный туториал далее

Самый беззащитный — уже не Сапсан. Всё оказалось куда хуже…

Reading time8 min
Views556K
{UPD 10.02.2021} Евгений Чаркин дал интервью на эту тему gudok.ru/newspaper/?ID=1552569
Под катом мои комментарии на некоторые тезисы.
{/UPD}

Больше года назад хабравчанин keklick1337 опубликовал свой единственный пост «Самый беззащитный — это Сапсан» в котором рассказывает как он без серьёзных ухищрений получил доступ ко внутренней сети РЖД через WiFi Сапсана.

В ОАО «РЖД» прокомментировали результаты этого расследования. «Есть результаты проверки. Почему удалось взломать? Наверное, потому, что злоумышленник. Наверное, из-за этого… Ну, он из „фана“. Юный натуралист. Там уязвимостей, которые бы влияли на утечку каких-то критических данных, нет. Мультимедийный портал „Сапсанов“ функционирует как положено и не нуждается в доработке», — заявил Евгений Чаркин.

То есть вместо того, чтобы выразить благодарность за обнаруженную уязвимость, автора обозвали «злоумышленником» и «Юным натуралистом».

К сожалению, но специалисты РЖД, начиная с директора по информационным технологиям, отнеслись к статье очень пренебрежительно, проигнорировав важное указание автора:
Также оттуда в сеть РЖД есть впн. Если захотите — найдёте её там сами.

И вот, год спустя я попал в сеть РЖД даже не садясь в Сапсан.



Видимо, только этот котэ добросовестно охраняет вокзал.

Как именно я попал в сеть РЖД с пруфами, чего не сделал директор по информационным технологиям ОАО «РЖД» Чаркин Евгений Игоревич и возможные последствия — под катом.
Читать дальше →

Миграция О365 или подождите 72 часа

Reading time8 min
Views7.7K


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

Стоит добавить, что дополнительным источником моего «сакрального» знания для написания материала стала боль от работы с некоторыми частями инфраструктуры О365 в процессе миграции (раздел «переключение»).

Конечно же, у Майкрософт (МС) существует довольно большая подборка информации для подготовки к миграции, однако, лишний субъективный, эмоциональный опыт из первых рук точно не помешает. Это моя первая «статья-исповедь». Поскольку я очень ранимый человек и не люблю критику, просьба не сильно «зверствовать» в комментариях. Жду вас под катом.
Читать дальше →

Скрипт на ruby, который с помощью яндекс-сервиса Yandex SpeechKit распознает текст в видео-файле (длинные аудио)

Reading time6 min
Views4.1K

Начну с того, что я совсем недавно начала погружаться в IT в целом и Ruby в частности, и это задание мне выдали в качестве тестового для получения места на стажировке. Заранее скажу, что тут еще есть что приглаживать и улучшать, но в целом код работает.

Однако, возможно, мой опыт может быть для кого то полезен, так что представляю вашему вниманию подробное описание создания этого скрипта. ВАЖНО: Моя операционная система Fedora 32, так же я использую заранее установленный в систему bundler. Так что если вы тоже используете linux-подобные системы, читаем далее.

Суть задания: есть видеофайл в формате mp4 нужно написать скрипт на чистом ruby, который будет конвертировать этот файл в аудио, отправлять его в сервис яндекса Yandex SpeechKit и получив ответ, создавать текстовый файл.

Читать далее

Как настроить мониторинг бизнес-процессов в БД Oracle и построение графиков, используя бесплатную версию Grafana

Reading time9 min
Views7.2K

Настройка мониторинга процессов в Oracle с выводом графиков в Grafana через simple-json-plugin, и веб-сервис на php (oci8 library)

Читать далее

6 принципов эффективной визуализации данных

Reading time6 min
Views16K

Ключевые принципы создания полезных и информативных графиков


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

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

Тем не менее при написании этой статьи я черпал вдохновение в книге Эдварда Тафта «Beautiful Evidence», которая содержит шесть принципов, посвящённых тому, как сделать графики данных полезными. Именно эти принципы отделяют полезные графики от бесполезных.

Эта статья также в значительной степени вдохновлена книгой Роджера Д. Пенга «Exploratory Data Analysis in R» Она доступна бесплатно на Bookdown, и вы можете прочитать её, чтобы узнать больше о EDA.

Давайте ближе познакомимся с этими принципами.


Пример визуализации данных на Our World in Data
Приятного чтения!

Легкие обновления

Reading time2 min
Views1.9K
Напоследок немного новостей о «смотрелке» для логов chipmunk. Ничего особенного, никаких кардинальных изменений или же заметных фитч, а скорее работа над ошибками, да и просто хочется сказать пару слов о прошедшем, настоящем и будущем.
Читать дальше →

Аварии как опыт #1. Как сломать два кластера ClickHouse, не уточнив один нюанс

Reading time7 min
Views11K

Про некоторые свои failure stories мы уже писали и раньше, но теперь мне выпала честь формально открыть специальный цикл из таких статей. Ведь аварии, их причины и последствия — это тоже часть нашей жизни, и исследовать эту «тёмную сторону» не менее интересно, чем всё остальное. Тем более, что они всё больше влияют даже на повседневный быт, так что из любой аварии можно и нужно извлекать уроки. Да и читатели не раз просили нас рассказывать о таком почаще — давайте попробуем!

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

Перейдем к технической стороне…

Читать далее

Из рубрики «Не жизнь, а сказка». Теперь я парюсь с Алисой, а моя жена совсем не против

Reading time10 min
Views21K
Краткая история о том как менеджер самого среднего звена умную сауну делал.
Понимаете, каждый год 31 декабря мы с друзьями ходим в баню. Это у нас такая традиция.
Год 2020 выдался необычный, поэтому может уже пора самоизолироваться в своей парилке и с друзьями всем дружно в зуме поддать парку? Правило в конференц-парилке: "В случае запотевания протрите сначала камеру, потом экран, потом стакан".



Если Вам интересно как сделать своими руками сауну с голосовым управлением прошу под кат.
— Алиса, выключи вентиляцию, включи свет и парилку на 95 градусов. А мы начинаем!

Список задач vs Календарь — сравнение инструментов управления задачами

Reading time7 min
Views22K

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


Подписывайтесь на мой Telegram канал. Там делюсь опытом из IT и личной продуктивности.



Сравнение внешнего вида Todoist и Google Calendar

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

Создаем glitch-эффект как в Cyberpunk 2077 для изображения с помощью CSS

Reading time4 min
Views20K

Зайдя на сайт Cyberpunk 2077 в раздел новостей, я наткнулся на "тот самый" эффект. Он появлялся при наведении на изображение поста. Мне показалось это интересным и я решил посмотреть как это работает. В этом посте я хотел бы поделиться тем, что нарыл.

Читать далее

Подборка бесплатных книг по OpenShift, 4 преимущества стандартизованной операционной среды SOE и цифровая трансформация

Reading time3 min
Views5.8K

enterprisersproject.com

Собрали для вас много новых инсайтов, записей важных вебинаров, книжек и шпаргалок. Прокачивайте скилы, читайте, смотрите, думайте, применяйте на практике! Станьте частью DevNation!
Читать дальше: Подборка бесплатных книг по OpenShift, 4 преимущества стандартизованной...

Как поменять сертификаты для связки VMware Vcenter Server, Replication Server и Site Recovery Manager

Reading time6 min
Views18K
Всем привет!

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

  • VMware Vcenter Server 6.7
  • VMware Replication Server 8.3
  • VMware Site Recovery Manager 8.3
Читать дальше →

Как настроить сбор данных с датчиков IoT и SCADA для Data Governance

Reading time3 min
Views4.1K
В этом году на форуме по управлению данными INFADAY 2020 было много интересных технических кейсов. Один из них – настройка сбора потоковых данных с датчиков IoT и систем SCADA таким образом, чтобы эти данные сразу можно было включить в процессы стратегического управления данными в организации – Data Governance.

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

Если вы работаете в крупной промышленной компании, скорее всего вы уже сталкивались с похожими задачами. А если не сталкивались, очень скоро столкнётесь. Особенно актуально это для нефтегазовых компаний. В таких компаниях широко применяют датчики SCADA для мониторинга инфраструктуры добычи и транспортировки нефтепродуктов. При этом управлять собранными потоковыми данными (повышать их качество, проводить их интеграцию, перемещать их в различные системы) нужно очень быстро. На показания датчиков важно реагировать незамедлительно, в реальном времени. Если вовремя среагировать на уведомление об инциденте, можно избежать очень больших проблем.

Ниже я расскажу, как можно настроить сбор данных с датчиков с учётом Data Governance на примере Tibbo Aggregate Network Manager и платформы Informatica. Если хотите посмотреть видеозапись демонстрации на форуме INFADAY 2020, это можно сделать на сайте мероприятия.
Читать дальше →

Еще немного про C# 8.0, шпаргалка по Red Hat OpenShift Container Platform и создаем конвейер upstream-to-downstream

Reading time2 min
Views3.3K


Прокачивайте скилы, читайте, смотрите, думайте, применяйте на практике! Станьте частью DevNation!
Читать дальше: Еще немного про C# 8.0, шпаргалка по Red Hat OpenShift Container Platform...

21 канал на YouTube, где вы можете бесплатно изучить ИИ, машинное обучение и Data Science

Reading time5 min
Views28K

Мы уже не раз делились в своем блоге полезными материалами для развития (их список можно найти в конце этого поста). Сегодня продолжаем это начинание и специально перед стартом новых потоков курсов по Data Analytics и Data Science представляем подборку YT-каналов по Data Science, искусственному интеллекту и машинному обучению, существование многих из которых неочевидно: например, представлен канал ArXiv Insights, посвящённый научным работам, и Google Cloud Platform.
Приятного чтения!

Information

Rating
5,256-th
Registered
Activity