Pull to refresh

Confetti — простая и быстрая конфигурация Вашего проекта

*nix *
Если Вы пишете проект чуть более среднего, то как правило сталкиваетесь с настройками и конфигурированием. Есть не мало решений на С/С++, хочу рассказать еще про одно довольно-таки простое и красивое решение от Компании mail@Ru, которое я использовал в своем проекте

Сам я пользовался разными парсерами конфига, в последних проектах использовал re2c (конфиг был похож на конфиг nginx). У re2c есть даже немного общего с Конфети — это кодогенерация:
никаких настроечных файлов и структур кодить не надо, все за вас сделает Маг Confetty.

К сожалению, документации ни какой, иначе не было бы этой статьи. Интересующим, милости просим…
Читать дальше →
Total votes 14: ↑8 and ↓6 +2
Views 981
Comments 4

Конфигурирование J2SE и J2EE приложений: стандартные способы и их альтернативы

Java *
В наше время существует множество вариантов построения Java-приложений и задачи их конфигурирования решаются по разному.
В статье будут рассмотрены техники и особенности конфигурирования J2SE и J2EE приложений с применением стандартных средств JDK, а также альтернативы этим способам.
Читать дальше →
Total votes 27: ↑22 and ↓5 +17
Views 12K
Comments 14

Mybuild — система сборки для модульных приложений

Embox corporate blog Website development *Programming *
Недавняя статья про новую систему сборки для Qt напомнила мне ситуацию, которая была в нашем проекте несколько лет назад — тогда мы тоже искали подходящую систему сборки. Проект довольно комплексный и ему необходимо иметь гибкую систему конфигурирования. В результате сейчас мы используем и развиваем собственную систему сборки Mybuild.

Кому интересно узнать, что у нас получилось, и что это за проект такой, которому понадобилась собственная система сборки, добро пожаловать под кат.
Читать дальше →
Total votes 16: ↑13 and ↓3 +10
Views 5.8K
Comments 19

Использование внешних веб-сервисов в 1С на примере загрузки курсов валют

Programming *
Знаю, что на хабре не очень-то жалуют многострадальную 1С. Хотя, с выходом платформы 8.3 (с клиентами под Linux), ее стали любить несколько больше. Кстати, так же, совсем недавно интерфейс одной из основных разработок 1С – конфигурация Управление производственным предприятием – был полностью переведен на английский язык. Много раз я встречал вопросы о том, почему здесь не пишут об 1С. Ответ на них довольно очевиден – существует множество специализированных ресурсов, где можно оперативно обсудить все вопросы и что-то почитать.

Есть все основания полагать, что эта статья здесь не выживет, но я все же рискну, потому что в 1С есть некоторые интересные вещи, о которых стоит рассказать.

С некоторых пор в 1С 8.х появилась возможность использования веб-сервисов: 1С может выступать как поставщиком, так и потребителем. В этой статье я покажу, как использовать 1С в качестве потребителя на примере получения курсов валют с сервера ЦБР.
Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Views 196K
Comments 17

Puppet под нагрузкой

Badoo corporate blog Puppet *
Puppet — довольно удобный инструмент для управления конфигурациями. По сути, это система, которая позволяет автоматизировать настройку и управление большим парком машин и сервисов.

Базовой информации о самой системе много, в том числе и на Хабре: здесь, здесь и здесь. Мы же постарались собрать в одной статье несколько «рецептов» использования Puppet под действительно большими нагрузками — в «боевых условиях» Badoo.

О чём пойдет речь:

  • Puppet: ликбез;
  • кластеризация, масштабирование;
  • асинхронный Storeconfigs;
  • сбор отчётов;
  • анализ полученных данных.

Читать дальше →
Total votes 70: ↑66 and ↓4 +62
Views 32K
Comments 48

О модульности, хорошей архитектуре, внедрении зависимостей в С/C++ и разноцветных кружочках

Programming *C++ *C *
Не в совокупности ищи единства, но более – в единообразии разделения.
Козьма Прутков


Немного воды вначале


Нельзя не заметить, что аспектно-ориентированное программирование с каждым годом берет новые рубежи популярности. На хабре было уже несколько статей посвященных этому вопросу, от Java до PHP. Пришло время обратить свой взор на С/C++. Теперь я в первом же абзаце признаюсь, что речь пойдет не об «настоящих аспектах», но о чем-то, близко с ними связанном. Также рассуждение будет вестись в контексте embedded-проектов, хотя описываемые методы могут применяться где угодно, но именно embedded, это та область, где эффект будет максимально ощутимым. Еще я буду использовать слова «хидер» и «дефайн» для обозначения, соответственно, «заголовочного файла» и «макроопределения». Сухой и академичный язык это хорошо, но в данном случае, мне кажется, все будет проще понять, если пользоваться устоявшимися англицизмами.
Читать дальше →
Total votes 46: ↑44 and ↓2 +42
Views 40K
Comments 35

Asterisk. Разгружаем секретаря/диспетчера/первую линию тех. поддержки

Asterisk *Development of communication systems *
Надеюсь, что этой статьей получится превратить статьи по конфигурации Asterisk в целый цикл статей, начало которому я, для себя положил около 2-х лет назад в этой статье.

Я стараюсь описывать свою разработку (а возможно кому-то и приподниму завесу тайны) нетривиальных, или просто интересных, по моему мнению, диалпланов.

Я сразу оговорюсь, что не буду описывать настройку модулей, конфигурационных файлов подключения к базе данных и тому подобного, так как это не цель статьи, тем более все это есть в wiki и в книгах по Asterisk. Так же я сразу скажу что делаю все это на голом Asterisk без freePBX так как считаю реализацию этого веб-интерфейса неправильной, нелогичной и ущербной.

Начну я с одного из сценариев в организациях — разгрузки секретаря. Эту же логику будет возможно применить и к Call центрам, и диспетчерам такси (немного изменив Dialplan).

Сценарий:
-Звонок на секретаря.
-Сектретарь поднимает трубку -просят соединить с отделом продаж.
-Секретарь переводит звонок на группу менеджеров.
-Менеджер разговаривает с клиентом.
-При повторном звонке в течении 24 часов клиент попадает сразу к принявшему его впервые менеджеру.

Кому интересно прошу под кат.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views 32K
Comments 27

Разработка модульных приложений на С/C++ с использованием аннотаций

System Analysis and Design *C *
В моей первой статье я рассказал об использовании препроцессора для организации модульности на уровне исходных текстов в языках С/C++. Вкратце этот способ сводится к написанию специфических метаданных внутри исходников, которые анализируются внешним инструментом и используются для генерации glue-исходников, позволяющих реализовать модульность. Детали реализации описаны в упомянутой статье, поэтому не буду здесь повторяться. В данной статье я пойду чуть дальше и попытаюсь показать, что с помощью метаданных или аннотаций можно реализовать не только модульность, но и некоторые другие полезные фичи. Должно получиться что-то вроде Google Guice или Spring для С (той его части, которая связана с модульностью и аспектами). Отдельно подчеркиваю, что эта статья — дополнение и улучшение первой, поэтому тут я буду говорить не столько технических деталях реализации, сколько о том, как это все выглядит для пользователя. Если эта тема вызовет интерес, то я напишу продолжение с пояснениями о том, как устроено внутри само приложение-конфигуратор.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 18K
Comments 0

Как мы обеспечивали связь на саммитах ШОС и БРИКС

билайн бизнес corporate blog Development of communication systems *
Уфа – один из крупнейших экономических, промышленных и научных центров нашей страны, обладающий обширным историческим, культурным и спортивным наследием. В июле 2015 г. в Уфе проходили международные саммиты ШОС и БРИКС.


Конгресс-холл заседаний международных делегаций ШОС и БРИКС в Уфе

На мероприятии необходимо было обеспечить бесперебойную мобильную связь технологий 4G, 3G, 2G. Используя накопленный опыт и применяя различные технические решения, нам предстояло развернуть покрытие мобильной связи на всех новых объектах саммитов. Я отвечал за организационную и техническую части этого интенсивного проекта.
Читать дальше →
Total votes 31: ↑21 and ↓10 +11
Views 22K
Comments 16

Самоконфигурирующиеся приложения

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


Фотку взял с Yaplakal
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Views 14K
Comments 11

Генератор конфигураций для сетевого оборудования и не только

JavaScript *HTML *


Многие хранят шаблоны конфигураций сетевых устройств (прим. да и не только сетевых) в обычных текстовых файлах. И когда приходит время настраивать новое оборудование, достают эти файлики и начинают в них что-то менять. Повседневные типовые операционные задачи не являются исключением и бой с этими задачами обычно ведётся с помощью фалов-шаблонов конфигураций. Безусловно, есть приложения по управлению сетью, но увы их используют далеко не все, потому что многим они не по карману или задачи по конфигурированию оборудования выполняются достаточно редко, в связи с чем обосновать покупку такого ПО очень сложно. Хочу предложить Вам решение по реализации генератора конфигураций на базе HTML/JS, а так же небольшой DIY набор для быстрого старта.
Читать дальше →
Total votes 13: ↑11 and ↓2 +9
Views 13K
Comments 22

Заметки о Cisco Catalyst: настройка VLAN, сброс пароля, перепрошивка операционной системы IOS

System administration *IT Infrastructure *Cisco *Network technologies *Network standards *
Tutorial
Пошаговое руководство по выполнению наиболее типовых задач, связанных с обслуживанием коммутаторов Cisco Catalyst 2950. А именно: настройка VLAN, сброс пароля, переустановка повреждённой операционной системы Cisco IOS. Подробно рассмотрен вопрос подключения, в том числе через com-порт.


Читать дальше →
Total votes 23: ↑17 and ↓6 +11
Views 89K
Comments 26

Как мы перевели конфигурирование наших сервисов с XML на YAML

United Traders corporate blog .NET *C# *Development for Linux *Development for Windows *

Предыстория вопроса


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

Хочется все эти сервисы перенести под *nix-ОС. Для этого надо отказываться от обёртки в виде Windows-служб и переходить с .NET Framework на .NET Standard.

Последнее требование приводит к необходимости избавиться от некоторого Legacy-кода, который не поддерживается в .NET Standard, в т.ч. от поддержки конфигурирования наших серверов через XML, реализованного с использованием классов из System.Configuration. Заодно таким образом решается и давняя проблема, связанная с тем, что в XML-конфигах мы время от времени ошибались при изменении настроек (например, иногда не туда ставили закрывающий тэг или забывали его вовсе), а замечательная читалка XML-конфигов System.Xml.XmlDocument молча проглатывает такие конфиги, выдавая совсем непредсказуемый результат.

Было решено перейти на конфигурирование через модный YAML. Какие проблемы при этом перед нами встали, и как мы их решили — в этой статье.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Views 5.7K
Comments 23

Как попасть на 192.168.1.1

ZYXEL в России corporate blog System administration *IT Infrastructure *Network technologies *Network hardware

Часто встречаются сообщения, в котором спрашивают, что не могут попасть на веб-интерфейс новых шлюзов VPN / USG Flex / ATP по дефолтному 192.168.1.1 из коробки или после сброса. Причин много существует, от простых до нестандартных.

Для облегчения поиска решения проблемы и экономии вашего времени, была создана статья, в которой изложены способы  «как попасть на 192.168.1.1» и что препятствует этому.

Побежали!

Читать далее
Total votes 14: ↑9 and ↓5 +4
Views 16K
Comments 47

Управление файлов конфигурации, используя всю мощь Python

Python *Programming *Designing and refactoring *Project management *
Recovery mode

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

Читать далее
Total votes 13: ↑3 and ↓10 -7
Views 4.6K
Comments 15