Архив метки: programming

Golang: указатели – подробный разбор

20 апреля 2019
 

 Я уже когда-то добавлял пост про указатели в C – C: указатели — подробный разбор, но было это достаточно давно, да и Си всё-таки не совсем Go, хотя в плане указателей разницы нет. Тем не менее – рассмотрим указатели в отдельном посте. Что такое указатель? Кратко, указатель – это переменная, которая хранит адрес памяти другой… Читать далее »

Go: проверка списка публичных репозиториев в Github и уведомления в Slack. Сравнение списков в Go. Первый опыт с Golang.

13 апреля 2019
 

 Задача – написать утилиту, которая будет запускаться по крону из Jenkins и проверять список публичных репозиториев организации в Github. Создание Docker-образа и Jenkins-джобы – в посте Jenkins: проверка публичных репозиториев Github-организации. Затем она должна сравнивать полученный список со списком разрешённых, и если списки не совпадают – слать алерт в Slack. Идея состоит в том, что… Читать далее »

Atom: полезные плагины

8 апреля 2019
 

 Давно пользуюсь vim практически для всего, кроме крупных проектов на Python (которые последнее время случаются крайней редко), для которого использую PyCharm. Тот же PyCharm использую при написании JSON-шаблонов для CludFormation (см. плагин aws-cloudformation). Для Go сначала пользовался vim с плагином vim-go, но недавно потрогал Atom – вполне понравился, попробую исопльзовать его. Собственно в этом посте… Читать далее »

Redis: репликация, часть 3 — redis-py и работа с Redis Sentinel из Python

1 апреля 2019
 

 В продолжение постов о настройке и использовании Redis репликации с использованием Redis Sentinel – пример работы из Python. Предыдущие и последующие посты серии: Redis: репликация, часть 1 — обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis. Redis: репликация, часть 2 — Master-Slave репликация, и Redis Sentinel Redis: репликация, часть 4 — написание Ansible роли… Читать далее »

BASH: переменные – передача значений по-умолчанию ${var:-defaultvalue}, замена значений – ${var:+alternatevalue} и сообщений – ${var:?message}

8 августа 2014
 

 Использование значений по-умолчанию в переменных – ${var:-defaltvalue} и ${var-defaltvalue} Конструкция ${var:-defaltvalue} позволяет выполнять проверку – имеется ли значение у переменной, и задана ли переменная вообще. Если нет – то будет присвоено значение “defaltvalue“. Примеры: [simterm] $ var=var $ echo ${var:-defaltvalue} var [/simterm] Удалим значение перемеренной: [simterm] $ var= $ echo ${var:-defaltvalue} defaultvalue [/simterm] Допустимо использование… Читать далее »

BASH: позиционные и специальные аргументы

15 июня 2014
 

 В BASH shell имеется три типа аргументов – позиционные, специальные и переменные. Тут мы рассмотрим первые два. Позиционные параметры Позиционные аргументы – это аргументы командой строки (или функции в скрипте), доступ к которые осуществляется по номеру. Рассмотрим такой пример: #!/usr/bin/env bash echo $1 $2 $3 И пример его выполнения: [simterm] $ ./param1 one two three… Читать далее »

BASH: использование функций, примеры

9 ноября 2013
 

 По сути функция в bash является обычной переменной, но с более широкими  возможностями. Основное применение – в тех случаях, когда один и тот же код необходимо использовать несколько раз и/или в разных связанных скриптах. Объявление и вызов функции Объявляется функция так: function function_name () { function body } Или: function one { echo “One” }… Читать далее »