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

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

Окружение разработки: Redmine + Git + ownCloud - 1

Сценарий использования данной связки, можно кратко описать следующим образом:

  • Файлы проекта хранятся в Git репозитории;
  • Репозиторий содержит настройки, исходники и другие файлы проекта, наличие которых удобно и допустимо в коллективном репозитории;
  • В корне расположена директория cloud, исключенная в .gitignore, в которую через WebDAV монтируется ownCloud папка, для остальных файлов;
  • Содержимое Git репозитория отслеживается в системе управления проектами Redmine.

План развертывания системы включает настройку следующих сервисов:

  1. OpenLDAP — единая учётная запись для всех сервисов;
  2. Redmine — запуск в Docker контейнере, создание и привязка Git репозитория, LDAP аутентификация;
  3. NGINX — доступ к Git репозиторию через HTTPS и LDAP аутентификация;
  4. ownCloud — LDAP аутентификация и монтирование папки через davfs2.

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

Watchdog — это устройство, предназначенное для обнаружения и устранения проблем оборудования. Обычно для этого используется таймер, периодический перезапуск которого предотвращает отправку сигнала на перезагрузку.

Watchdog на базе Arduino Nano - 1

Целевой сервер на Gentoo используется мной в основном для экспериментов, однако на нём работает ряд сервисов, которые, по возможности, должны быть доступны без перебоев. К сожалению, последствия некоторых экспериментов приводят к kernel panic, 100% загрузке CPU и другим неприятностям в самый не подходящий момент. Так что идея добавить watchdog давно требовала внимания и наконец материализовалась в данное устройство.
Читать полностью »

Совсем недавно github в своем блоге разместил статистику за 8 лет. Нашему сервису чуть меньше года и пользователей, конечно не так много, но 20K регистраций мы перешагнули (да, достаточно много джуниоров, но об этом попозже) плюс мы можем рассказать не только о процентах, но и об абсолютном количестве

Топ 10 на GitHub:
image

Наш рейтинг языков программированияЧитать полностью »

Решение, изложенное в статье, расписано для пользователей OSX. Но его достаточно просто можно адаптировать и под другие популярные операционные системы.

Началось все с нетривиальной задачи: когда создается веб-сервис и мобильное приложение, неизбежно возникает потребность сделать под него презентабельную или не очень презентабельную иконку. Но стоит начать создание приложения для IOS в XCode, как тут же узнаешь, что от тебя требуется не одна иконка, а примерно десяток, причем разных размеров. Вот только часть из них:

  • иконка для отображения на вкладках браузеров;
  • иконка веб-приложения, отображаемая в safari mobile;
  • иконка мобильного приложения, отображаемая на главном экране в ios;
  • большая иконка для app store;
  • маленька иконка для app store;
  • иконка для поиска в spotlight.

А теперь внимание: практически для каждого пункта из этого списка есть еще и свои собственные размеры — в зависимости от типа устройства и версии iOS. Подробная спецификация иконок для веб-приложения и приложения для ios находится здесь.
Читать полностью »

Какой смысл ограничивать себя чем-то одним, если существует вероятность возникновения задачи непосильной для этого чего-то? Кудряво сказано, а если проще, то есть такая штука, называется кругозор. И потом, какие-то вещи проще познавать на примерах, какие-то в сравнении с чем-то. Но все же лучшим стартом в изучении чего-либо является чтение документации и опыт предшественников, и если первое дает некоторые представление о предмете, второе позволяет избежать повторения ошибок и способствует улучшению решений уже существующих.
Читать полностью »

image

В честь сегодняшнего светлого дня публикую эту статью. Ведь вам тоже иногда кажется, что код состоит из смайликов?

Ruby

Определение значения по умолчанию или мимика губами:

foo ||= []
foo ||= {}
foo ||= ''
foo ||= 0

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

Я писал свой конфигурационный файл для Conky. Захотел сделать вывод доллара и евро по отношению к рублю и посчитать динамику курсов. Задача не сложная, поэтому я быстро написал bash-скрипт. Курсы валют решил взять с сайта ЦБРФ.

Скрипт получился такой:
Читать полностью »

Для управления серверами профессиональные администраторы давно используют такие SCM системы, как Chef, Ansible, SaltStack и т.п. Данные инструменты помогают централизованно администрировать большой парк серверов. Для управления же одним сервером трудозатраты на установку и настройку такого инструмента часто превышают выигрыш от его использования. В данном случае нередко применяется подход «да ну его, я быстрее скрипт на баше напишу». Подход достаточно популярный, а потому я хотел бы познакомить вас с легковесным SCM инструментом, который не требует ничего, кроме старого доброго баша, и может вполне успешно применяться для настройки одного сервера.
Читать полностью »

image

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

Так что прокачивание своих навыков, будь ты уже знаком с кодом или только думаешь об этом, — теперь, похоже, личное дело каждого. Чтобы было проще сориентироваться, мы собрали курсы и полезные события для начинающих и продолжающих IT-специалистов и их окружения. Дневные и вечерние, оффлайновые и онлайновые.

Не забывай — количество мест на самых привлекательных курсах обычно ограничено и заканчивается стремительно! А некоторые так и просто стартуют совсем скоро — запрыгивай в уходящий поезд!
Читать полностью »

image
Как известно Яндекс.Диск на Ubuntu существует только как консольный клиент. Сегодня я решил «Хватит это терпеть» и написал для себя простенький скрипт, который значительно упрощает работу с ним. (Исходники в низу статьи)
Читать полностью »


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