Search
Write a publication
Pull to refresh
65
0
Дмитриев Сергей @antirek

Пользователь

Send message

Своя временная почта: телеграм бот

Reading time5 min
Views34K
Часто с новыми инструментами и возможностями появляется желание поэкспериментировать и реализовать что-то не совсем обычное, чего раньше ещё никогда не делал. Идея создать свой сервис временной почты в виде телеграм бота показалась мне достаточно интересной.
Читать дальше →

Sonata — SIP provisioning server

Reading time5 min
Views6.2K

Не знаю с чем сравнить provisioning. Может быть с котом? Вроде можно и без него, но с ним немного лучше. Особенно, если он работает ))


Постановка проблемы:


  1. Хочу настраивать SIP-телефоны быстро, просто, безопасно. При установке телефона и уж тем более при его переконфигурировании.
  2. Многие вендоры имеют свои форматы конфигов, свои утилиты для генерации конфигов, свои способы защиты конфигов. А разбираться с каждым не очень хочется.
  3. Многие решения по provisioning, а) ориентированы на одного вендора или одну телефонную систему, б) достаточно громоздко реализуются, куча скриптов, параметров, бр-р...

По пункту 3 сделаю комментарий, что есть отличные системы провижна для FreePBX, для FusionPBX, для Kazoo, где в открытом доступе есть шаблоны для телефонов различных вендоров. Есть коммерческие решения, где также можно настроить в модуле провижна работу телефонов разных производителей, например, АТС Yeastar.


На Хабре также полно рецептов как настроить аппараты различных вендоров: раз, два. Но как говорится, у всех систем есть фатальный недостаток. Поэтому сделаем свой велосипед.

Читать дальше →

Разработка простых современных JavaScript-приложений с использованием Webpack и прогрессивных веб-технологий

Reading time19 min
Views34K
Думали ли вы о том, чтобы воспользоваться при разработке своего очередного веб-проекта простейшим из существующих набором технологий? Если это так — значит материал, перевод которого мы публикуем сегодня, написан специально для вас.

JavaScript-фреймворки существуют для того чтобы помочь нам создавать приложения, обладающие сходными возможностями, используя обобщённый подход. Однако многим приложениям вся та мощь, которую дают фреймворки, не нужна. Использование какого-нибудь фреймворка в проекте небольшого или среднего масштаба, к которому предъявляются некие специфические требования, вполне может оказаться ненужной тратой сил и времени.

image

В этой статье мы поговорим о применении современных технологий при разработке веб-приложений, возможности которых не ограничены возможностями фреймворков. Кстати, если вам это нужно, то вы, с использованием описываемых здесь технологий, сможете создать собственный узкоспециализированный фреймворк. Чистый JavaScript и другие базовые веб-технологии дают разработчикам возможность делать то, что им нужно, не ограничивая себя рамками применяемых ими инструментов.
Читать дальше →

WebRTC на своем сайте — без багов и бюджета

Reading time2 min
Views10K
Технология WebRTC существует давно и поддерживается практически всеми браузерами (97% по нашему опыту). Многие задумываются установить и себе виджет WebRTC для связи с клиентами и повышения конверсии.



Как добавить себе на сайт WebRTC звонки без лишних затрат и обойти баги с граблями,
Читать дальше →

Всегда ли Node.js будет медленнее, чем Golang?

Reading time6 min
Views35K
Возникает такое ощущение, что буквально каждую неделю появляется новый «веб-фреймворк» для Node.js, который называют чем-то таким, что работает быстрее, чем всё, что было до него. Всем известно, что Express — это медленно, но способен ли очередной фреймворк по-настоящему улучшить производительность подсистемы ввода-вывода Node.js? Единственное, что он может — это устранить чрезмерную нагрузку на систему, создаваемую Express. Об улучшении чего-то фундаментального речи не идёт. Собственно говоря, для того, чтобы кардинальным образом улучшить ситуацию, нужно работать на более глубоком уровне, а не добавлять новые абстракции поверх Node.js.

image

Что нужно для того, чтобы на платформе Node.js можно было бы создавать серверные приложения, работающие гораздо быстрее чем всё то, что есть сегодня?
Читать дальше →

Новые GSM шлюзы от OpenVox

Reading time4 min
Views15K


Asterisk — потрясающий конструктор. Хотите построить небольшую АТС для бизнеса? Берем Raspberry PI, накатываем готовый образ на флешку, 10 минут, и вы уже вбиваете логин с паролем на ваш SIP телефон и делаете первый звонок.


Хотите нечто большее? Ставим бесплатный и навороченный FreePBX Distro, заводим пользователей, добавляем нужные модули, и получается тоже вполне себе рабочий вариант.


А если у вашей компании есть деньги, вы можете выбрать для себя одну из многих платных коммерческих разработок на Asterisk: Welltime, Switchvox, Askozia или аппаратную АТС компаний Grandstream, Yeastar, Zycoo и так далее.


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


Программное обеспечение с открытым исходным кодом позволяет создавать недорогие и функциональные решения. И сегодня я хотел бы рассказать вам о новых шлюзах китайской компании OpenVox

Читать дальше →

NestJS - тот самый, настоящий бэкенд на nodejs

Reading time6 min
Views172K
image

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

Поэтому, NestJS- это не только фреимворк для бэкенда, но и возможность войти в мир передовых концепции, например таких как DDD, Event sourcing и микросервисной архитектуре. Все упаковано в простой и легкой форме, так что выбор за вами - решаете ли вы использовать всю платформу или просто использовать ее компоненты.
Читать дальше →

Как адаптировать UX/UI под permissions

Reading time6 min
Views7.4K

Во многих проектах существует процессы аутентификации (в той или иной степени). Написано много “бест практис” во всех известных технологиях и т.д. и т.п.


Но вот пользователь сделал логин и? Ведь он далеко не всё может сделать. Как определить что он может видеть, а что нет. На какие кнопки имеет право нажимать, что может менять, что создавать или удалять.


В этой статье я хочу рассмотреть подход к решению этих проблем на веб аппликации.


image

Читать дальше →

Работа с часовыми поясами в JavaScript

Reading time16 min
Views98K


Недавно я работал над задачей добавления часовых поясов в JS-библиотеку календаря, которую ведёт моя команда. Мне было хорошо известно о никудышной поддержке часовых поясов в JavaScript, но я надеялся, что абстрагирование имеющихся объектов данных позволит легко решить большинство трудностей.

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

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

Другой GitHub: репозитории по Data Science, визуализации данных и глубокому обучению

Reading time6 min
Views36K

(с)

Гитхаб — это не просто площадка для хостинга и совместной разработки IT-проектов, но и огромная база знаний, составленная сотнями экспертов. К счастью, сервис предоставляет не просто инструменты для работы с открытым исходным кодом, но и качественные материалы для обучения. Мы выбрали некоторые популярные репозитории и отсортировали их по количеству звезд в порядке убывания.

Эта подборка поможет разобраться, на какие именно репозитории стоит обратить внимание, если вас интересует работа с данными и сфера глубокого обучения.
Читать дальше →

IVR с распознаванием голоса на Астериск — быстро, просто, бесплатно

Reading time5 min
Views14K
Создание IVR на базе Астериск, с распознаванием DTMF и имён сотрудников (на базе Voicer от уважаемого antirek) и подключение к существующей АТС.
Читать дальше →

Топ-10 фильмов про ИТ

Reading time7 min
Views172K
Привет, Хабр!

Летом в нашем ланитовском блоге мы делали подборку сериалов про ИТ (и хакеров), а теперь в преддверии Нового года пришло время полного метра. Такие «Топ-10 фильмов про ИТ» появляются примерно раз в год, и список там примерно один и тот же: «Хакеры» с Джоли, «Пароль «Рыба-меч» и «Матрица».

Кстати, о последней. При всем уважении к братьям сёстрам Вачовски и трилогии, мы таки не относили бы «Матрицу» к фильмам про айтишников или хакеров. То, что мистер Андерсон работает программистом, а вне работы немного хакерит, всё же не является сюжетной канвой фильма. Рискуем возобновить старый холивар, но «Матрица» — это таки киберпанк. Контраргументы приветствуются.

Так вот, про подборку. Мы решили предложить вам  фильмы посвежее. Под катом нет Джоли и знаменитой сцены из «Пароль „Рыба-меч“», но есть фильмы про ИТ, суперкомпьютеры, и информационную безопасность, большинство из которых выпущены в 2010–2018 годах.

Кадр из фильма «Апгрейд»

Разработка Action-able приложения для Slack

Reading time6 min
Views2.6K


От переводчика: публикуем для вас статью Томоми Имуры о том, как разработать приложение, интегрированное со Slack

Actions — то, что позволяет пользователям Slack взаимодействовать с вашим приложением при помощи сообщений: сообщить о проблеме с багом, отправить запрос в хелпдеск или сделать что-то еще. Эта функция похожа на встроенные возможности вроде комментирования или шеринга.

Этот туториал проведет вас через весь процесс создания действующего приложения.
Читать дальше →

История об одном глазе и 20 операциях (не читать впечатлительным) или он хотел быть летчиком, а его не пускали в небо

Reading time9 min
Views63K
Операции на глазах по улучшению зрения

Как вы думаете, сколько операций можно сделать на одном глазу? Клинический случай одного из моих пациентов подтверждает, что более 20 операций разного рода – не предел. Хотя, вне сомнения, этот случай – рекорд для России и мировой офтальмологии.

В 1978 году все было банально – был 18 летний мальчик (назовем его «А»), который хотел стать летчиком-испытателем как его отец. Этому мешала слабая близорукость правого глаза – всего минус 1, для жизни не мешала, но будущему пилоту нужно было хорошее зрение. Он решил подправить оптику одного глаза путем кератотомии – старого «ручного» метода коррекции в институте Фёдорова (конечно, по знакомству), но что-то пошло не так. Это была первая операция. Затем еще четыре в России, затем еще семь – в Швейцарии. Летчиком он не стал, зато стал олигархом, человеком, управляющим серьезными бизнес-проектами, но не управляющим ситуацией со своим зрением.

Ко мне «А» попал совершенно разочарованный в мировой офтальмологии, со зрением 10%, невозможностью коррекции стандартными способами и высоким внутриглазным давлением. И это был молодой 50-летний бизнесмен, по жизни — успешный (это важно – потому что дальше тоже не все пошло «так»). Так вот – следующие восемь операций – мои. И хотя мы рассчитывали, что одной-двух будет достаточно – пришлось пережить почти тотальную офтальмохирургию – все возможные виды операций.

Кстати, была бы вместо кератотомии коррекция СМАЙЛ (ReLEX SMILE) или, хотя бы, Femto-LASIK – не о чем бы было писать – ничего подобно при них невозможно!
Читать дальше →

5+1 случай, когда спецификация REST API играет огромную роль

Reading time13 min
Views36K

В этой статье речь пойдёт о написании и поддержке полезной и актуальной спецификации для REST API-проекта, которая позволит сэкономить много лишнего кода, а также серьёзно улучшить целостность, надежность и прозрачность прокта в целом.


Что такое RESTful API?



Это миф.


Серьёзно, если вы думаете, что в вашем проекте RESTful API, вы почти наверняка ошибаетесь. Идея RESTful — в построении API, который во всём соответствовал бы архитектурным правилам и ограничениям, описанным стилем REST, однако в реальных условиях это оказывается почти невозможно.

Читать дальше →

Computer-Telephony Integration и телефоны Grandstream

Reading time4 min
Views4.7K

Все больше и больше современные средства связи интегрируются в окружающий нас мир, и офисная телефония не является исключением. В компании Grandstream решили не отставать и добавили поддержку специального интерфейса CTI (Computer-Telephony Integration) в свои телефоны. Изначально были обновлены аппараты серии GXP21ХХ, а чуть позже обновились устройства младшей линейки GXP16ХХ, такие как GXP1610, GXP1620 и т.д.

Читать дальше →

Подслушиваем чат телеграма с помощью своего клиента

Reading time5 min
Views198K

Захотелось как-то мне, чтобы сообщения одного из чатов телеграма сохранялись у меня на диске (не запуская обычного клиента). Не буду раскрывать своих побудительных мотивов, но возможность эта показалась мне нужной и полезной.


Для этого в телеграме есть боты. На Хабре есть несколько статей, посвященных ботам, например: "Чат-помощник на сайт".


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


Но, как говорится, правильно поставленный вопрос — половина ответа.

Читать дальше →

Обзор SIP-телефонов Digium A20 и A25

Reading time9 min
Views3.3K

Digium A20, Digium A25


В феврале 2018 компания Digium, разработчик open-source проекта Asterisk, представила телефоны А серии, предназначенные для работы именно с Asterisk. Даже странно, что столько лет Digium воздерживался от производства под своим брендом обычных SIP-телефонов. А уже в августе 2018 компания Digium объявила о слиянии с Sangoma, ведущим производителем оборудования для Asterisk. Совпадение? Вряд ли, конечно.


Линейка телефонов серии А получилась, на мой взгляд, вполне конкурентной, со своими фишечками. Серия на текущий момента включает в себя четыре модели — A20, A22, A25, A30. Давайте посмотрим подробнее на телефон A20 — обычную лошадку начального уровня и А25 — телефон среднего уровня.


Читать дальше →

10 лучших инструментов для тестирования API

Reading time7 min
Views143K
10 лучших инструментальных средств тестирования интерфейсов прикладного программирования 2018 года.

Интерес к тестированию неудержимо растёт на протяжении нескольких последних лет, согласно исследованиям Google Trends. Опрос, проведенный компанией Smartbear в 2017 году среди 5000 профессионалов в области разработки программного обеспечения, показал, что более 50% опрошенных респондентов используют автоматические средства тестирования API, и ожидается рост их количества на 30% ( с 59% до 77%) в течении следующих двух лет, причем 80% участников опроса указали, что отвечают за тестирование API.
Читать дальше →

Honeypot- логгер на nodejs и tcpdump

Reading time3 min
Views4.9K
Всем привет. Недавно тов. R_Voland рассказал о своём http ханипоте. Он меня и вдохновил к написанию этого поста. Но в этом случае, будем ловить все tcp и udp сканы, а не только http. Запросы будем ловить с помощью tcpdump.

Для tcp ловим только syn пакеты:

tcpdump -n "tcp[tcpflags] & (tcp-syn) != 0"

Для udp все входящие udp пакеты

 tcpdump -n inbound and udp

В теории вывод от tcpdump'а можно перенаправить в файл и дальше парсить его по необходимости, но я ещё тот извращенец, поэтому напишем сервис на nodejs, который будет слушать tcpdump и сохранять результаты в mysql базу.
Читать дальше →

Information

Rating
10,524-th
Location
Красноярск, Красноярский край, Россия
Date of birth
Registered
Activity