• Asterisk на Mikrotik. Обновленная настройка

    На написание этой заметки (статьей не назовешь, ибо все уже давно разжевано в статье Asterisk на Mikrotik) меня толкнули изменения в интерфейсе Winbox, а так же изменения репозиториев OpenWRT в связи с помещением в архив устаревших версий, на которые ссылается оригинальный пост. Начну с истории: у меня на работе имеется виртуальная АТС, на которую я без стеснения привязал SIP-клиент на телефоне. По правилам провайдера доступ для внутренних звонков не блокируется, но доступ наружу, хоть и можно подключаться с любой точки мира, блокируется при частой смене IP, чего избежать на мобильном устройстве проблематично. Пересмотрев всевозможные варианты я остановился на поднятии у себя дома Asterisk на моем Mikrotik RB2011UiAS-RM. Благодаря инструкции от shadowalone я миновал львиную долю танцев с бубном, но в связи с устаревшими ссылками пришлось-таки заняться мелким шаманством. Итак:
    Читать дальше →
  • PythonSnake

    PythonSnake — Web FrameWork написанный на python, на котором можно легко создать веб страницу

    Скачать его можно здесь

    Также потребуется сам python.

    Скачать его можно здесь

    ККак использовать PS.

    PS — имеет файл, config. Config — нужен для настройки вашего проекта.

    Как запустить файл main.py


    Чтобы запустить файл, в поиске напишите cmd. Далее с помощью команды cd перейдите в папку с файлом main.py и пропишите данную строку: python main.py
    Читать дальше →
  • Отладка производительности и ускорение сайтов на Битрикс

    Как увеличить скорость в 10 раз и обслуживать 300 000 посетителей в месяц на дешевом VDS


    В этом посте я разберу то, за что чаще всего не любят битрикс: медлительность и огромные запросы. Расскажу, как с ними работать и как мы решали задачи производительности для среднего интернет-магазина (треть миллиона посетителей и пара тысяч заказов в месяц).

    И так, проект пришел к нам на обслуживание с рядом проблем, одна из которых — страницы каталога сайта открывались в среднем около 5 секунд, а страницы производителей — около 20 секунд.

    Как следствие, падала конверсия, Яндекс периодически «не видел» страницы и даже взаимодействовать с сайтом с целью решения каких-то задач, было проблемно.

    Как отлаживать скорость в битрикс по шагам


    Читать дальше →
  • О подкастах, эффективном использовании времени, желании постоянно учиться и проекте, сделанном с душой

    Поймал себя на мысли, что провожу много времени YouTube. И вроде все в порядке, с одной стороны, смотрю ведь в основном познавательное. Про технологии, разработку, языки, географию, TED всякий там и прочее… В этом плане YouTube гораздо лучше телевизора — включил то, о чем хочешь узнать, тогда, когда удобно, и просвещайся на здоровье. Но, как говорится, есть один нюанс.
    Читать дальше →
  • Играемся с Node.js Часть 1 «Пишем свой первый сервер»

    Доброго времени суток, дорогие Хабравчане. В этой статье мы будем играться с фреймворк Node.js, и попробуем написать на нем интересные вещи, такие как API, ЧАТ и свой сервер. Если интересно добро пожаловать под кат.
    Читать дальше →
  • Глобализация своими руками

    image

    Хей хо, славные хабровчане! Как насчет небольшой профилактики выгорания прямо сейчас?

    Хочется верить что Вам, как и мне когда-то, сможет помочь эта микстура из свежих идей, масштабных вызовов и их обсуждения.
    Читать дальше →
  • Установка через composer FIX

    Приветствую, читатель.

    Это статья про устранение ошибки при загрузке Laravel с Open Server 5.9.

    По вот этой инструкции для установки Laravel через Open Server необходимо, в меню Open Server открыть консольную программу ConEmu, перейти в директорию domains и вписать строку кода, следующего вида:

    composer create-project --prefer-dist laravel/laravel blog

    где blog — это имя домена и папки в domains, куда скачается фреймворк laravel.

    Ошибка в том что в пакете Open Server 5.9 обновилась консольное приложение ConEmu и теперь оно не скачивает папку Route и главная страничка фреймворка отображается без кнопок. У меня получилось загрузить Laravel из ConEmu пакета Open Server 5.8, даже если засунуть его в Open Server 5.9.
    Читать дальше →
  • React Native init vs Expo

    image


    В официальной документации React Native, из раздела Getting Started, мы узнаем о том, что у нас есть два пути запуска мобильного приложения: expo и react-native cli. Пользователи Windows и Linux, а таких большинство, зайдя во вкладку Building Projects with Native Code и выбирая Target OS: iOS, встречают надпись, которая отправляет их на стартер Expo, но перед тем как ставить Expo, предлагаю ознакомиться с информацией в следующей таблице и поберечь свою голову не только от тех тумаков, что получил я:

    Читать дальше →
  • Замена выпавшего диска в Ceph:Jewel

    Для начала надо удалить диск с кластера.

    На ноде управления исполняем:

    ceph osd out ID

    Где ID это номер osd мертвого диска.

    На самой ноде с osd исполняем:

    systemctl stop ceph-osd@ID

    И на головной ноде полностью выводим osd из кластера:

    ceph osd crush remove osd.ID
    ceph auth del osd.ID
    ceph osd rm ID


    Теперь выключаем сервер, изымаем диск и вводим новый.

    Смотрим привязки дисков и определяем где лежат журналы. На ноде с osd исполняем:

    ceph-disk list | grep journal

    Так мы увидим какой журнал подключен к какому диску.

    Удаляем партицию с журналом с диска с журналами.

    parted /dev/диск_с_журналом rm номер_партиции

    Заводим диск в кластер.

    Читать дальше →
  • Я не хочу учить ваш мусорный язык программирования

    Привет, Хабр! Представляю вашему вниманию перевод статьи Эрика Бернхардссона "I don't want to learn your garbage query language". Авторский стиль изложения по возможности сохранён в вольном переводе.


    Здесь есть немного пафоса, но я на самом деле не люблю ПО, которое изобретает свои собственные языки запросов. Существуют триллионы ORM. Другой триллион — это базы данных со своим языком запросов. Другой триллион SaaS продуктов, в которых единственная возможность — запросить данные это выучить рандомный язык запросов.


    Я всего лишь хочу мой SQL назад. Это язык который все понимают, который был здесь с семидесятых, и который хорошо стандартизован. Он легко читается и может использоваться каждым начиная людьми бизнеса и заканчивая инженерами.


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


    Читать дальше →
  • Upgrade Инфраструктуры виртуализации Vmware ESXI 5.5 to VCSA 6.5 upd2

    В основу данного кейса, лег собственный опыт по апгрейду системы виртуализации Vmware 5.5 до 6.5. Возможно моя заметка, кому-либо пригодится или облегчит путь.

    Исходные данные: 14 хостов физических HP Proliant DL 360 Gen8 (Gen9) + Datastore HP 3 PAR, из них 8 удаленных (100 ВМ примерно). На всех физических хостах установлена ESXI 5.5 с разными версиями патчей и микро патчей. т.к официальная поддержка версии 5.5 заканчивается в сентябре 2018 было принято решение мигрировать на версию 9.5 u2. Данная версия является последней, несмотря на то, что вышла 9.7 версия. Тут логика нумерации не до конца понятна вендора, но все же. Все физические хосты подключены 2 физическими линками к ядру сети и агрегированы.

    В начале стоял вопрос миграция или поднятие сервера Appliance с нуля. Был собран стенд из клонированных ВМ (PDC+Vcenter). Проведено множество тестов с открытием кейса в тех поддержке Vmware. Но миграция не удалась по причине, того что PDC менялся, менялись сертификаты и проблемы с БД на Vcentre.

    Вывод, если было множественные изменения в инфраструктуре ИТ организации, смена Имен серверов и имен Vcenter и.т.д лучше всего и быстрее поднимать с нуля. Если изменений было не много, и они не касались Vcenter, то можно попробовать миграцию внутри собранного стенда, а после этого результаты применить на практике.

    Самым сложным в данном кейсе было обеспечить минимальный простой основных сервисов организации. При подготовленной инфраструктуре. Миграцию осуществляли в двоем. Простой был примерно 8 часов.
    Читать дальше →
  • Используем AppDynamics с Red Hat OpenShift v3


    В последние время многие организации хотят, чтобы их приложения переходили из монолитов в микросервисам с использованием «платформы как услуги» (PaaS), таких как RedHat OpenShift v3, AppDynamics сделала значительные инвестиции в обеспечение первоклассной интеграции с такими провайдерами.
    Читать дальше →
  • Конфигурирование UnityContainer в xml-файле в проектах ASP.NET Core

    Многие из нас пользуются готовыми DI-контейнерами. В этой небольшой статье пойдет речь о настройке контейнера внедрения зависимостей Unity через xml-конфигурацию в проектах ASP.Net Core. Это позволит нам получать реализации интерфейсов через конструкторы контроллеров. Преимущество настройки через xml перед настройкой непосредственно в коде приложения в том, что она позволяет менять схему зависимостей без перекомпиляции.

    Читать дальше →
  • Интернет пора делить?

    Здравствуйте, уважаемые хабровчане!

    Надо признать, что заголовок действительно очень странный и провокационный. Сейчас попробую объяснить, к чему он, максимально быстро и точно погрузив в ход повествования.
    Читать дальше →
  • Что нужно знать о понятии лаконичность для написания хорошего кода?

    Хороший код понятие не формализуемое, сегодня. Существует множество практик сомнительных и не очень которые позволяют или нет, вам написать хороший код. Многое зависит от того как вы для себя определяете понятие хороший код.

    Есть один важный параметр который присутствует почти всегда. Это способность других людей понимать написанный вами код. И чем проще его понять тем лучше. Это позволяет новому члену команды быстро влиться в проект, быстрее найти баг или выполнить рефакторинг. Простота позволяет тратить меньше интеллектуальных ресурсов для решения задачи, а значит и быстрее решить её с точки зрения временных затрат.
    Читать дальше →
  • Автоматическое сглаживание шумных метрик для выявления тенденций в Datadog

    Привет, Хабр! Представляю вашему вниманию перевод статьи «Auto-smooth noisy metrics to reveal trends» автора Yassine Benazzou.

    image

    Datadog упрощает сопоставление, сравнение и визуализацию метрик вашей инфраструктуры и приложений. Однако некоторые метрики по своей природе настолько шумны, что графики становятся нечитаемыми (ужасная проблема спагеттификации), и вы теряете способность извлекать важную информацию о тенденциях и крупномасштабных отклонениях. Специально для таких случаев, мы предоставляем несколько функций сглаживания, которые помогут вам определить тенденции в ваших метриках. Но выбор сглаживающего фильтра, который хорошо работает для всех уровней масштабирования и точек во времени, может быть трудным до невозможности. Вот почему мы создали функцию Auto Smoother, которая автоматически удаляет шум временных рядов при сохранении их формы.

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

    image

    Вышеприведенные графики показывают одну и ту же метрику — простой CPU на одном из наших производственных кластеров — до (слева) и после (справа) применения функции Auto Smoother. Данная метрика часто колеблется между очень высокими и очень низкими значениями, что затрудняет просмотр тенденций использования CPU до тех пор, пока мы не применим функцию Auto Smoother. На обоих графиках мы видим, что пара узлов перестала работать около 11:20 утра. Но только сглаженный график дает понять, что после этого оставшиеся узлы в итоге сократили время своего простоя вдвое.
    Читать дальше →
  • Усилители низкой частоты классов: А, B, AB, D, G, H

    Здравствуй, Хабр!


    Сегодня мы поговорим о классах: А, B, AB, D, G, H


    image

    Сначала рассмотрим классы по положению рабочей точки. Каждый транзистор имеет выходную характеристику, которую можно найти в DataSheet.

    Пример характеристики на рисунке ниже.

    image

    Выходная характеристика транзистора.

    Именно с помощью данной характеристики мы сможем выбрать класс усилителя по положению точки покоя.

    Выходная характеристика показывает какой ток нам нужно задать базе транзистора, для того чтобы получить определённый класс усилителя, также мы узнаем Iк.

    image

    Класс А


    Класс А — это такой режим работы усилительного элемента, при котором входные значения, проходя через усилительный элемент не прерывается. То есть точно повторяет входной сигнал.
    Усилительный элемент приоткрыт всегда и точно повторяет отрицательную и положительную волну.

    image

    Читать дальше →
  • ЗСИ и безопорное передвижение

    Здравствуйте. Первая моя публикация потребовала доработки (я думал, просто отклонят, так как портал про IT ), и поэтому я могу смело сказать, что хочу сказать в этом посте о ЗСИ и безопорном передвижении, да и вообще представиться публике немного.

    Вступление


    Это немного иной подход к физике — подход от опыта к теории. В моём случае опытом служат рабочие изобретения (по робототехнике я сделаю другой пост, там есть рабочее устройство и отснято видео простенькое достатончо), а уже отталкиваясь от них — я строю какие-то выводы, и от них уже я иду к теории по мере необходимости (расчёты и прочее, чтобы получить приличный опытный образец или аппарат, устройство, определить все за и против, реальность чего-либо вообще). Физика стоит, по сути на двух китах — знание природы физических явлений и практическое применение, знание и практика (хотя то же самое можно сказать о любой науке, исключением станет только пожалуй кибернетика, потому что это совсем другая «история» — это единственная в своём роде наука, с которой трудно сравнить другую или построить аналогию). Сам я изобретатель, а не физик, и мне не совсем хотелось заниматься теорией безопорного движения, правда я ещё пишу код, имею свои подходы к теории нейросетей, обучения, синтеза знаний, но сейчас не об этом.
    Читать дальше →
  • Перевод документации Angular CLI на русский язык. Архитектура

    Angular CLI
    Архитектура


    Angular — это платформа-фреймворк для создания клиентских приложений на HTML и
    TypeScript.
    Angular написан на TypeScript.
    Основные и дополнительные функции можно подключать к приложению как библиотеки
    TypeScript.

    Главные строительные блоки приложения — модули (NgModules), которые обеспечивают
    контекст выполнения компонентов.
    Модули объединяют связанный код в функциональные группы.
    Приложение на Angular состоит из набора модулей.
    В любом приложении всегда есть корневой модуль (root module).
    Он позволяет произвести начальную загрузку приложения.
    Как правило, у приложения есть и другие функциональные модули.
    Читать дальше →
  • Показатель отказов на сайте — ресурс для развития

    Сайты существуют для пользы посетителей, но как понять, соответствует ли ваш ресурс запросам аудитории? Один из способов найти ответ — мониторинг показателя процентов отказов на сайте.
    Читать дальше →