Инженер VoIP
Алиасы в bash для быстрого набора команд Git
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/c8b/d68/efe/c8bd68efe1a18a36f342c1c544a8941b.png)
Командный интерпретатор bash позволяет задавать произвольные алиасы для разных команд и выражений. Алиасы не являются командами сами по себе, но им, как и командам, можно передавать аргументы. Алиасы позволяют сделать вызов громоздких команд очень простым, с легко запоминающимися названиями.
Использовать Git я привык исключительно из консоли, но на ввод длинных команд с разными аргументами тратится значительное количество времени. Поэтому я ввёл практику использования алиасов. Для безопасных команд я использовал короткие алиасы, которые по сути стали горячими клавишами, а для функциональных — простые короткие слова из состава команд Git. Если команда опасная, то можно сделать её в два слова, написанных через дефис, для исключения случайного ввода. На самом деле, использование алиасов для работы с Git широко практикуется, я решил лишь преподнести отдельный вариант подборки алиасов, которые для меня оказались очень удобными.
Особенности личности IT-специалистов (принять участие в исследовании)
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/079/ee7/10b/079ee710bfacf15cce23362397de0a78.jpeg)
Всем привет! Меня зовут Сергей и я практикующий психолог.
В силу подхода к работе так сложилось, что обычно я консультирую людей интеллектуального труда. В последний год это преимущественно управленцы и сотрудники IT-сферы. Это люди, которые всю жизнь решали любые проблемы "через голову". Такой подход неизбежно накладывает отпечаток на личность и внепрофессиональную жизнь, который я и хочу исследовать.
Реализуем алгоритм поиска в глубину
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/a78/00b/6a7/a7800b6a7d07510d2079d28d245ed484.png)
В этом туториале описан алгоритм поиска в глубину (depth first search, DFS) с псевдокодом и примерами. Кроме того, расписаны способы реализации поиска в глубину в C, Java, Python и C++.
“Поиск в глубину” или “обход в глубину” — это рекурсивный алгоритм по поиску всех вершин графа или дерева. Обход подразумевает под собой посещение всех вершин графа.
Ирина, голосовой помощник. Продолжение
— Слушай, она меня на кухне не слышит.
— Ну да, далековато. Давай дополнительный микрофон протянем.
<покупается 5 метров кабеля>
— О, классно!
— ...
— Теперь в комнате не работает.
Это продолжение статьи Ирина — опенсорс русский голосовой помощник. Offline-ready - про голосового помощника, не зависящего от крупных корпораций. Расскажу, что улучшилось за два месяца с момента прошлой статьи.
TL;DR> Отлажен клиент-сервер с несколькими микрофонами/машинами; можно командовать по всему дому. Сделан Телеграм-клиент. Несколько новых голосов (TTS). Обработка голоса в контексте (можно делать голосовые игры). Интеграция с Home Assistant. И ЕЩЁ больше плагинов и документации.
Библиотека скриптовых функций для парсера Телеграмм Микротик РоутерОС
Благодаря небольшим доработкам в парсинге кода скрипт TLGRM может теперь не только выполнять функции с параметрами и прямые команды ROS, но также исполнять скрипты, передавая им параметры напрямую.
Вторая доработка коснулась адресации команд. Доработанная версия TLGRM теперь поддерживает как адресную (конкретному роутеру или всем, но с ключом /forall), так и широковещательную рассылку команд без указания адресата (сразу всем, «слушающим» чат).
Третьим новшеством, является создание нами специально для работы с TLGRM, библиотеки скриптовых функций, названной «SATELLITE» («Спутник»), о которой пойдет речь далее.
Как генерировать Flame Graph из выходных данных perf и pt-pmp
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/60d/446/ac0/60d446ac035a772edd2118488bf6e5c0.jpeg)
Человеческий мозг обычно лучше воспринимает информацию из изображений, чем из текстов. И в инструментах, подобных Flame Graph, этот принцип блестяще реализован. Поэтому в Percona его используют в рамках работы группы поддержки. Чаще всего в тех случаях, когда нужно получить всестороннее представление о том, что и как долго проделывает MySQL. Так можно лучше понять, какие операции стоят за конкретной рабочей нагрузкой и каким образом лучше исправлять возникающие проблемы. И это можно использовать и для оптимизации, и для устранения неполадок.
Давайте воспользуемся их опытом и разберемся, откуда брать и как подготавливать образцы для визуализации данных. А после этого — как из них генерировать Flame Graph и как с этим работать.
Получаем список российских IP-адресов
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/c1e/614/db7/c1e614db7df958a08ef1b13b6176c219.png)
Мир меняется. И в текущей ситуации становится полезным список IP-адресов, условно принадлежащих автономным системам той или иной страны.
В этой статье вы узнаете, как получить список префиксов, анонсируемых автономными системами любой страны. Если вы, конечно, не знали этого раньше.
Ansible FAQ
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/662/5fa/abd/6625faabd3e13745d235c81450c81dc0.png)
Давайте разберем самые Часто Задаваемые Вопросы, или сокращенно FAQ. Они помогут вам глубже понять тонкости и принцип работы с Ansible. На ранних этапах можете использовать эту статью как некую шпаргалку.
Основы контейнеризации (обзор Docker и Podman)
Привет, Хабр!
К 2022 году о контейнеризации не слышал только ленивый. Большинство специалистов, так или иначе имеющих отношение к ИТ, хотя бы раз в жизни запускали программное обеспечение в контейнерах. Однако так ли эта технология проста и понятна? Давайте разбираться вместе!
Главная задача данной статьи – рассказать о контейнеризации, дать ключевые понятия для дальнейшего изучения и показать несколько простых практических приемов. По этой причине (а еще, безусловно, вследствие недостаточной квалификации автора) теоретический материал достаточно упрощен.
Как работать с числами с плавающей точкой в Python
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/02c/d73/ed1/02cd73ed1379e6c33f37f4c1b82aa5b2.jpeg)
К старту курса по Fullstack-разработке на Python делимся решениями классической проблемы неточности чисел с плавающей точкой для новичков. В материале вы найдёте примеры работы с функциями и классами, предназначенными специально для решения проблем чисел с плавающей точкой.
Разбираем алгоритмы компьютерной графики. Часть 6 — Анимация «Плазма»
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/105/432/b32/105432b321f7b223f35aa55f9da1b7a2.png)
Разновидностей алгоритмов генерации "плазм" столько же, сколько, наверное, звезд на небе. Но связывает их вместе принцип плавного формирования перехода цветов.
Для бесшовного формирования цвета очень часто используются тригонометрические функции. Во-первых, потому что они периодические, т.е. через определенный промежуток значения функции повторяются, а во-вторых, они возвращают непрерывные значения, т.е. бесконечно малому приращению аргумента соответствует бесконечно малое приращение функции. Благодаря этому можно используя простые комбинации функций получать плавное возрастание и убывание цветов.
Я попробую рассмотреть один из вариантов, который использует функции синуса и косинуса.
Пожалуйста, прекратите писать shell-скрипты
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/1ea/955/027/1ea955027d686556b0e909f66badd319.png)
Когда вы автоматизируете какую-либо задачу, например, упаковываете свое приложение для Docker, то часто сталкиваетесь с написанием shell-скриптов. У вас может быть bash-скрипт для управления процессом упаковки и другой скрипт в качестве точки входа в контейнер. По мере возрастающей сложности при упаковке меняется и ваш shell-скрипт.
Все работает хорошо.
И вот однажды shell-скрипт совершает что-то совсем неправильное.
Тогда вы осознаете свою ошибку: bash, и вообще shell-скрипты, в основном, по умолчанию не работают. Если с самого начала не проявить особую осторожность, любой shell-скрипт достигнув определенного уровня сложности почти гарантированно будет глючным... а доработка функций корректности будет довольно затруднительна.
«Через этот инструмент мы настраиваем всё»: как работает Ansible в департаменте DMP X5 Group
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/099/282/663/09928266384976efae73bc33eb51f529.png)
Алексей Кузнецов работает системным архитектором в департаменте DMP X5 Group три года. Всё это время в DMP X5 Group применяют Ansible, чтобы обеспечить непрерывную конфигурацию на серверах и автоматизировать ручную работу.
В поддержку своего курса «Ansible: Infrastructure as Code» Слёрм собирает интересные кейсы использования Ansible в российских компаниях. Мы поговорили с Алексеем и узнали, почему в его департаменте выбрали именно Ansible, с какими проблемами столкнулись в проекте и как их решили. Ещё немного затронули тему санкций.
Как правильно откладывать на завтра: повышение продуктивности для IT-специалистов
Пытаясь повысить продуктивность, мы ввязываемся в тотальную GTD, обкладываемся гайдами по личной эффективности, ставим очередное to-do приложение и cкупаем органайзеры. Но это не помогает. Дзен маячит на горизонте, но с каждой попыткой облегчить жизнь почему-то отодвигается дальше и дальше.
Неожиданное решение предлагает Марк Форстер. Он считает, что выход состоит в том, чтобы откладывать дела на завтра. В этом посте мы расскажем о методиках повышения продуктивности из книги Форстера «Сделай это завтра».
![](https://habrastorage.org/webt/kk/6s/as/kk6sas3vl8gta0fweo5nlnoll3k.png)
Разбираем алгоритмы компьютерной графики. Часть 4 – Анимация «Салют»
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/467/79b/a28/46779ba281c2aec5561230488fe03a13.jpg)
Еще немного в копилку красивых эффектов и алгоритмов.
Вы в своей жизни наверняка видели салют, когда в ночном небе взрывает огненный шар и от него во все стороны медленно разлетаются огни.
Давайте попробуем проанализировать то, что мы с вами видим с точки зрения физики и программирования.
N (Насти) алгоритм
Памяти Насти. Памяти дочери.
Что знаем об алгоритмах поиска? Есть граф. Чаще ориентированный. И некое целевое состояние. Фиксированное. А если нет?
Как, например, найти ребенка, который потерялся в лесу? Ведь не только вы его будете искать, но и он вас.
Передвигаться случайно? Да. Но еще лучше выбирать те направления, где меньше всего были. Есть дополнительные признаки, например следы? Отлично. В первую очередь ориентируемся на них. Потерялись следы? Вновь возвращаемся к поиску с учетом только памяти.
Созвездие Дельфина
![](https://habrastorage.org/webt/er/es/ew/eresewiryvr-o42nszloe-c0ceq.jpeg)
Скажу прямо, Дельфин — не самое известное из созвездий. Большую Медведицу знают очень многие. Отдельной категорией идут зодиакальные созвездия, которые сверхпопулярны, потому что люди думают, что есть какая-то связь одной из звездных групп кольца Зодиака с датой их рождения. Но Дельфин к этому кругу не относится — это не зодиакальное созвездие — не существует людей, рожденных под знаком Дельфина. И последнее обстоятельство сильно уменьшает шансы познакомиться с этим замечательным созвездием.
К счастью, существует большое количество увлеченных астрономией людей, для которых созвездие Дельфина имеет особое значение, и они часто упоминают его, фотографируют, рассказывают о нем своим друзьям. И это — напротив — повышает шансы познакомиться со “Звёздным Дельфином”.
Для читателей моих астрономических статей и слушателей лекций этот шанс уже реализовался. И прямо сейчас мы познакомимся с Дельфином.
Перенаправление IP-пакетов (IP Forwarding) для S7-1500 (FW2.8 и выше)
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/c0d/016/049/c0d016049b691f2752ba7b112f4a3a31.jpeg)
В данной заметке рассмотрим функционал, появившейся в «прошивке» 2.8 (поддерживается в Step 7 версии 16 и выше) серии контроллеров S7-1500, а именно — перенаправление (форвард) ip-пакетов между интерфейсами.
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность