Показаны сообщения с ярлыком Штоп Не Потер Ять. Показать все сообщения
Показаны сообщения с ярлыком Штоп Не Потер Ять. Показать все сообщения

Git Slack Hook

Осваиваю Slack, решил проверить насколько легко можно подключать собственные приложения и/или скрипты в ленту проекта. Для примера был взят git,- на отдельном хостинге. Написать "в лоб" скрипт постинга в слаку, конечно, можно, но какой смысл, если есть уже готовое, а главное, качественное решение?

Git-slack-hook устанавливается вместо post-receive, все параметры настраиваются непосредственно в репозитории с помощью ключей git config hooks.slack.*


SoftSwitch class 0

На форумах, где тусуются VoIP-спецы, периодически появляются такие-же, как я, и начинают троллить на тему классов софтсвичей,- чем отличается class 4 от class 5. Меня тоже беспокоит этот вопрос, иногда даже хочется об этом поговорить ;-)

Просто для памятки:

SoftSwitch class V — предоставляют функции работы с оконечными абонентами сети, предоставляя им транспортные услуги и дополнительные виды обслуживания (ДВО).

SoftSwitch class IV — предназначен для организации транзитного центра в некоторых операторских сетях. Он осуществляет маршрутизацию и распределение вызовов в IP сетях на магистральном уровне, обеспечивая транзит и перераспределение трафика, получаемого от региональных сегментов.

Про классы III, II и I интернеты расходятся во мнениях,- большинство сайтов вообще стыдливо молчат о существовании софтсвичей таких классов, кое-где, например в резюме инженеров, встречаются робкие упоминания об опыте работы с softswitch class III.

На некоторых ресурсах встречается такое объяснение классификации (больше похожее на кальку с традиционной телефонии):
class 5,- локальный узел, непосредственно взаимодействующий с абонентами.
class 4,- транзитный коммутатор
class 3,- межрегиональный коммутатор
и так далее до межконтинентальных и межпланетных и межгалактических :-)

Вообщем, однозначной трактовки нет.

Анимированный GIF для Ajax

Нашёл несколько веб-сервисов для создания анимированных гифов для индикации процесса загрузки в ajax-приложениях. Записываю в закладки, чтобы не потерялось:


  • AjaxLoad.info. Простенький, но шустрый сервис, для выбора есть пара десятковразличных индикаторов и возможность настройки цвета


  • loadInfo.net. Ещё одна вариация на тему, красивый, хотя и мрачноватый сайт, выбор тоже небольшой, есть возможность настройки цветов и выбор размеров (16x16, 24x24, 48x48).


  • preLoaders.net. Самый функциональный сайт, несколько типов картинок (горизонтальные, круговые, трёхмерные), есть возможность настройки цвета, настройки скорости анимации. Размеры рисунка можно выбирать произвольные. Сделано в России.


Пользуйтесь на здоровье!

Интерпретатор C++

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

Нарисовать иконку

В поисках бесплатного онлайнового редактора иконок наткнулся на полезный и качественный сервис favicon.cc. Умеет делать прозрачность, сдвигать рисунок, выбирать цвет из рисунка (как пипетка в Photoshop), и даже показывать получающуюся иконку в реальном времени в масштабе 100% на рисунке, изображающем адресную строку браузера.

Весьма удобно... и затягивает ;-)

Собственные библиотеки модулей в скриптах Python

Не в первый раз уже напарываюсь,- Python не находит пакет при импорте:

приложение (скрипт), использует собственные пакеты. Модули лежат в папке classes рядом со скриптом. Один из модулей называется, к примеру, examplemodul.py и содержит exampleclass.py. В скрипте:

from classes.examplemodul import *

.... и получаем ошибку при запуске

Расшарить всё

AddThis logoПо наводке интернет-магазина Озон набрёл на полезный сервис AddThis. С помощью панели инструментов, установленной на свой сайт (или блог), посетители вашего ресурса смогут быстро опубликовать ссылку на понравившуюся страницу в любом из множества социальных сервисов, будь то жЫвой жУрнал, твиттер или какой-нибудь закладочник, типа доброго бобра. Проверил на ЖЖ, GoogleReader и Facebook,- всё работает.

E1 RJ45 Pin-outs

Понадобилось по работе тут подключить E1 на разъём RJ-45. Быстро найти распиновку (да ещё и на русском) не удалось,- выкладываю, чтобы не забылось: На джеке контакты считаются по порядку слева направо, держа разъём контактными площадками к себе, кабель подводится снизу (как на рисунке). В табличном виде:
pinназначение
1Rx RING
2Rx TIP
3-
4Tx RING
5Tx TIP
6-
7-
8-
Подключенное устройство принимает (Rx) на 1-2 контактах (оранжевая пара). Передача (Tx) ведётся по паре на 4-5 контакте (синяя пара), Остальные контакты не используются. Понятия TIP и RING здесь условные, обычно современное оборудование умеет определять полярность на парах и корректно использовать. Но, на всякий случай,- почитайте документацию (или проконсультируйтесь с технической поддержкой) перед подключением.

SIGTRAN на Perl

В ЖЖ пользователя [info]mtve обнаружилась полезная вещица: реализация стека SIGTRAN на Perl. На всякий случай локальная копия SigTran.pl, оригинал по ссылке или из оригинального поста в жж

Сжатие заголовков SIP

При передаче сообщений SIP можно использовать сокращённую форму заголовков. Это может оказаться полезным при интенсивном обмене, когда размер пакета запроса или ответа может оказаться больше максимально допустимого для данной сети.

Я догоняет Г

Яндекс объявил о начале поддержки почтовых доменов на своих серверах. Если есть свой домен, или нужно зарегистрировать новый домен с поддержкой почты,- теперь почту можно разместить и на Яндексе, причём совершенно бесплатно. Почтовыми ящиками можно пользоваться через веб-интерфейс Яндекс.Почты и с помощью протоколов POP3/IMAP и SMTP. Причём, Яндекс даже готов помочь зарегистрировать домен с помощью REG.RU. Здравствуй, новый дивный мир!

Агенты и менеджеры SNMP

SNMP (Simple Network Management Protocol) разработан как стандартный язык для использования всеми компьютерами в сети. SNMP используется системами управления сетью (NMS - Network Management System) для управления и мониторинга сетевых усзлов и их оборудования. Для работы SNMP в сети необходимы, как минимум, два элемента: SNMP Manager и SNMP Agent:

Статистика запросов в поисковиках

Понадобилось посмотреть статистику запросов в различных поисковиках. Нашёл такое:


Микрософтовский Bing, вполне в стиле остальных продуктов, на любой клик открывает бесполезную справку. Когда справка открылась в пятый раз,- искать надоело. Кто знает, есть у bing.com статистика запросов?

Python: dict из 2 массивов

В который раз уже забываю и снова приходится искать, как в python создать словарь(dict) из двух массивов, значения из первого массива будут ключами (keys), значения второго,- значениями хеша (values):

hash = dict(zip(keys, values))


Как сделать тоже самое на многих других языках, включая Ada, Prolog,Scala и TCL, можно посмотреть на rosettacode.org

ЗЫ: ключевые слова: знерщт вшсе ;-)

Сдвиг времени на Perl

Понадобилось в скрипте сгенерировать дату-время, отличающиеся от текущих на некоторое значение. Стандартная команда date это не умеет, по крайней мере в моём линупсе. Пришлось выкручиваться с помощью перла:

perl -MPOSIX -e 'print strftime("%Y-%m-%d %H:%M:S",localtime(strftime("%s",localtime())-60));'


Ключ -M говорит, что нужно подключить дополнительный модуль, -e выполняет следующие за ним операторы. "%Y-%m-%d %H:%M:%S" - формат вывода времени в формате strftime, -60 задаёт сдвиг времени. В данном случае на выходе получается дата-время на минуту меньше, чем текущее.

О пассивных компонентах волоконно-оптических линий связи

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

Удалённая трассировка с помощью wireshark, tcpdump и ssh

В случае, когда приходится снимать много сетевых дампов на одном и том-же сервере, а клиентская машина работает под линуксом, можно использовать полезную функцию перенаправления вывода по ssh:

ssh root@127.0.0.1 "tcpdump -i bond0 -w - -s 0" | /usr/bin/wireshark -k -i -

Для ускорения процесса можно записать эту строчку в скриптовый файл, вывести ссылку на него на рабочий стол (или прописать алиас в .bashrc) и в ssh настроить авторизацию по ключу, чтобы не вводить пароль при каждом подключении.

Настройка SSH авторизации с помощью ключей в Windows (PuTTY)


  1. С помощью PuttyGen сгенерировать приватный и публичный ssh-ключи - кнопка “Generate”. В настройках можно указать тип ключа и его размер. Примечание - при генерации ключа необходимо в произвольном порядке перемещать мышку в окне утилиты.

  2. После этого не заполняя поля Passphrase сохранить приватный ключ в файл с помощью кнопки “Save private key”, например private.key. Публичный ключ отображается в верхнем поле “Key” и имеет вид: “ssh-rsa AAAAB3NzaC1yc*что-то*uJQ== rsa-key-20090806“.

  3. Cохранить публичный ключ, например в файл rsa_pub.key, или скопировать содержимое публичного ключа в буфер обмена;

  4. Запустить ssh-клиент Putty и произвести коннект к нужному серверу.

  5. Попав на сервер, создать папку ~/.ssh (если такой ещё нет);

  6. Создать файл ~/.ssh/authorized_keys (если не существует);

  7. скопировать содержимое public.key в файл ~/.ssh/authorized_keys. ВАЖНО! Ключ в файле должен быть записан в одной строке без переносов.

  8. Изменить права доступа к файлу командой chmod 600 ~/.ssh/authorized_keys;

  9. Закрыть PuTTY;

  10. Запустить PuTTY. В настройках соединения указать путь к приватному ключу;

  11. Сохранить настройки соединения и произвести коннект к серверу. SSH-сервер запросит имя пользователя - ввести логин. Далее авторизация пройдет с использованием приватного и публичного ssh-ключей.

Настройка SSH авторизации с помощью ключей (клиент-Unix)

Шаг первый: генерируем ключи

Команда ssh-keygen с опцией -t dsa будет генерировать ключ DSA длиной 2048 бит (по умолчанию RSA 4096 бит).

$ ssh-keygen -q -f ~/.ssh/id_rsa -t rsa
$ ssh-keygen -q -f ~/.ssh/id_dsa -t dsa


Шаг второй: устанавливаем ключи на удалённый хост

Каждый авторизованный ключ для хоста добавляется в файл ~/.ssh/authorized_keys в папке пользователя удалённого хоста, одной строкой (в формате тип-ключ-хост). Поэтому при повторной генерации, или если авторизацию какого-то хоста надо прекратить, удаляем соответствующую строку в этом файле.

$ ssh-copy-id -i ~/.ssh/id_rsa.pub <user>@<remote_server>
$ ssh-copy-id -i ~/.ssh/id_dsa.pub <user>@<remote_server>

или ещё проще:

$ cat ~/.ssh/id_dsa.pub | ssh <user>@<remote_server> "cat - >> ~/.ssh/authorized_keys"


Шаг третий: проверяем результат

$ ssh <user>@<remote_server>

Тематический поиск

Есть такая профессия у сайтов,- искать в интернете. Помимо широко известных Яндекса, гугла и иже с ними есть ещё и малоизвестные игроки, например Флексум,- сервис для создания поиска по группе сайтов. К примеру, можно сделать поиск по сайтам отрасли или поиск по сайтам региона. Для примера сделал поиск автоматизация в AutoCAD и прочее 3D, потом прикручу к сайту про ГРИФ-CAD. Поисковую форму и результаты поиска можно интегрировать в сайт в виде скрипта, или использовать XML выдачу и показывать результаты как захочется. Кроме всего прочего,- Flexum показывает рекламу и делится доходами.