Архив метки: 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» }… Читать далее »