Как стать автором
Обновить
5
0
Денис @cellmon

IP-телефония, Asterisk, Python, Viberbot

Отправить сообщение

Проверяем доступность SIP провайдера

Время на прочтение2 мин
Количество просмотров34K
В это статье хочу поделиться одним интересным на мой взгляд способом проверки доступности sip провайдера, или другого устройства, особенно он актуален когда по какой-либо причине нельзя проверить сторону icmp запросами, и основывается на OPTIONS запросах протокола SIP. Кого заинтересовала данная тема прошу под кат.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии13

Профессиональное хамство

Время на прочтение2 мин
Количество просмотров22K

Возьму на себя смелость утверждать, что клиенты ведутся на профессиональное хамство, когда продаёшь им услуги сопровождения или внедрения информационной системы или инфраструктуры. По текущей накопленной мной статистике, клюют 80%. Оставшиеся 20% почти сразу отваливаются – это, в основном, те, кому нужна лесть и важен этикет.

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

Приобретённая вежливость обычно заставляет людей продолжить встречу, довести её до "мы изучим ваше предложение". Частенько результатом изучения предложения становится сотрудничество. Но 80%, всё-таки, клюют прямо на встрече.

Читать далее
Всего голосов 83: ↑62 и ↓21+41
Комментарии75

Управление уязвимостями (Vulnerability Management) — чего больше: управления или уязвимостей?

Время на прочтение4 мин
Количество просмотров5.4K


В этой статье мы хотим поделиться с вами случаями, которые происходили у наших заказчиков, и рассказать/показать/ответить на вопрос, почему управление уязвимостями – это почти всегда не про уязвимости, и простого — «мы за вас отфильтруем из 1 000 000 уязвимостей до реально важного минимума» недостаточно.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии0

pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way

Время на прочтение16 мин
Количество просмотров41K

КДПВ


Наверняка, каждый, кто хоть раз писал что-то на Python, задумывался о том, как распространять свою программу (или, пусть даже, простой скрипт) без лишней головной боли: без необходимости устанавливать сам интерпретатор, различные зависимости, кроссплатформенно, чтобы одним файлом-exe'шником (на крайний случай, архивом) и минимально возможного размера.


Для этой цели существует немало инструментов: PyInstaller, cx_Freeze, py2exe, py2app, Nuitka и многие другие… Но что, если вы используете в своей программе PyQt? Несмотря на то, что многие (если не все) из выше перечисленных инструментов умеют упаковывать программы, использующие PyQt, существует другой инструмент от разработчиков самого PyQt под названием pyqtdeploy. К моему несчастью, я не смог найти ни одного вменяемого гайда по симу чуду, ни на русском, ни на английском. На хабре и вовсе, если верить поиску, есть всего одно упоминание, и то — в комментариях (из него я и узнал про эту утилиту). К сожалению, официальная документация написана довольно поверхностно: не указан ряд опций, которые можно использовать во время сборки, для выяснения которых мне пришлось лезть в исходники, не описан ряд тонкостей, с которыми мне пришлось столкнуться.


Данная статья не претендует на всеобъемлющее описание pyqtdeploy и работы с ним, но, в конце концов, всегда приятно иметь все в одном месте, не так ли?

Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии10

Как создать проект Django из шаблона

Время на прочтение4 мин
Количество просмотров11K
И снова здравствуйте! Специально для студентов курса «Web-разработчик на Python» мы подготовили еще один интересный перевод.





Шаблон проекта на Django – это естественный способ решения проблем, которые возникают, когда формат Django-проекта по умолчанию уже не отвечает требованиям. Сегодня в этом руководстве вы узнаете, как создать свой собственный проект из шаблона.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии8

Android insets: разбираемся со страхами и готовимся к Android Q

Время на прочтение23 мин
Количество просмотров48K
Android Q — это десятая версия Android с 29-м уровнем API. Одна из главных идей новой версии это концепция edge-to-edge, когда приложения занимают весь экран, от нижней рамки до верхней. Это значит, что Status Bar и Navigation Bar должны быть прозрачными. Но, если они прозрачны, то системный UI нет — он перекрывает интерактивные компоненты приложения. Эта проблема решается с помощью insets.

Мобильные разработчики избегают insets, они вызывают у них страх. Но в Android Q обойти insets не удастся — придется их изучить и применять. На самом деле, в insets нет ничего сложного: они показывают, какие элементы экрана пересекаются с системным интерфейсом, и подсказывают, как переместить элемент, чтобы он не конфликтовал с системным UI. О том, как работают insets и чем они полезны, расскажет Константин Цховребов.

Всего голосов 22: ↑21 и ↓1+20
Комментарии10

Битва SEC против Telegram

Время на прочтение19 мин
Количество просмотров10K


Здание суда имени сенатора Дэниэла Патрика Мойнихэна (в центре), одно из зданий, в которых располагается Федеральный окружной суд по Южному округу Нью-Йорка. Здесь будет слушаться дело SEC v. Telegram Group Inc.
(автор фотографии — Ron Coleman, распространяется на условиях CC BY-NC 2.0, оригинал выложен на Flickr)


В феврале этого года начнется рассмотрение судебного спора по иску Комиссии по биржам и ценным бумагам США (U.S. Securities and Exchange Commission, SEC) против Telegram LLP относительно Gram – анонсированной в 2017 году криптовалюты от команды известного мессенджера.


Ранее в октябре 2019 года SEC добилась временного приостановления выпуска Gram до момента окончания судебного разбирательства, а сейчас SEC требует окончательно запретить выпуск и публичное предложение к продаже Gram, утверждая, что Gram являются ценными бумагами и Telegram не выполнил все необходимые процедуры для их выпуска. Команда Павла Дурова, в свою очередь, говорит о том, что Gram являются криптовалютой, а не ценными бумагами – и у SEC нет полномочий по его регулированию.


Дело рассматривается в Федеральном окружном суде по Южному округу Нью-Йорка.


Весь криптовалютный мир внимательно следит за ходом спора, полагая, что в данном деле будут разрешены ключевые вопросы, влияющие на законность и стоимость проведения ICO, а также оборот криптовалют на территории США. В рамках дела прошла стадия раскрытия доказательств (даже Павел Дуров давал показания), обе стороны попросили о рассмотрении дела в ускоренном порядке, что означает, что и SEC, и Telegram уверены в том, что суд поддержит именно их позицию. Не исключено, что в ближайшие месяцы спор действительно будет разрешен по существу.

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии13

Я добавляю 3-25 секунд задержки сайтам, которые посещаю

Время на прочтение2 мин
Количество просмотров44K


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

В индустрии программного обеспечения, все гонятся за ускорением всего и вся.

Доход и многие вещи влияющие на него, по мнению многих «авторитетных» компаний зависит от задержки на вашем сайте. Чем задержка меньше, тем выше конверсия, люди проводят больше времени на сайте, успевают потребить больше информации и так далее.
Читать дальше →
Всего голосов 50: ↑42 и ↓8+34
Комментарии97

Релогин и HTTP Basic Auth

Время на прочтение5 мин
Количество просмотров57K
Вэб разработчикам давно известна проблема разлогина и перелогина на сайтах, защищённых HTTP Basic Authorization. И хотя существуют другие методы аутентификации, не страдающие от этой проблемы, до сих пор Basic Authorization зачастую является наиболее оптимальным выбором. В сети хватает материалов, описывающих различные общие и частные решения. Но все они, найденные мной, к сожалению, описывают только какие-то частичные решения, работающие в одном браузере и не работающие в другом. Под катом привожу обобщённый конечный результат своего исследования этой проблемы
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии15

Создание полноценного Viberbot. Часть вторая — первый контакт или «сonversation_started»

Время на прочтение4 мин
Количество просмотров10K

Отправка первого сообщения пользователю — приветствуем и подписываем


В первой части мы научились запускать стартер устанавливать webhook для нашего проекта botviber.

В этой 2-й мы научимся отправлять первое сообщение показываемое для наших пользователей, создавать ссылки для поиска и запуска нашего бота как внутри ViberURL так и NoViberURL

image

Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Давайте быстрокодить как профессионалы

Время на прочтение21 мин
Количество просмотров20K

Дайте мне рычаг, точку опоры, место для ног и армированный скотч



Даже попытавшись, нельзя лаконично обрисовать, насколько бездонная кроличья нора вас поджидает. Здесь один из тех редкостных случаев, когда, чтобы осознать, о чём будет идти речь, надо выслушать речь до самого финала. Изучив по шагам настоящее руководство, каждый обнаружит для себя что-то своё: эзотерический «текстовый» редактор Leo Editor всей своей сутью призывает применить его самым изумительным образом.
Читать дальше →
Всего голосов 39: ↑31 и ↓8+23
Комментарии26

Разработка чрезвычайно быстрых программ на Python

Время на прочтение7 мин
Количество просмотров68K
Ненавистники Python всегда говорят, что одной из причин того, что они не хотят использовать этот язык, является то, что Python — это медленно. Но то, что некая программа, независимо от используемого языка программирования, может считаться быстрой или медленной, очень сильно зависит от разработчика, который её написал, от его знаний и от умения создавать оптимизированный и высокопроизводительный код.



Автор статьи, перевод которой мы сегодня публикуем, предлагает доказать то, что те, кто называет Python медленным, неправы. Он хочет рассказать о том, как улучшить производительность Python-программ и сделать их по-настоящему быстрыми.
Читать дальше →
Всего голосов 90: ↑83 и ↓7+76
Комментарии47

Пишем чат на Python и Django

Время на прочтение9 мин
Количество просмотров46K
Добрый день, друзья. В преддверии старта курса «Web-разработчик на Python» традиционно делимся с вами полезным переводом.




Вы видите перед собой руководство, которое расскажет, как создать приложение-чат на Python, Django и React.

В отличие от других руководств, я не использую Python и Django для WebSocket-соединений. Несмотря на то, что это звучит круто с технической точки зрения, работает это довольно вяло и само по себе затратно, особенно, если у вас приличное количество пользователей. Такие языки, как C++, Go и Elixir намного лучше справляются с ядром чата.
Читать дальше →
Всего голосов 24: ↑16 и ↓8+8
Комментарии3

Python и быстрые HTTP-клиенты

Время на прочтение7 мин
Количество просмотров56K
В наши дни, если вы пишете некое Python-приложение, то вам, скорее всего, придётся оснащать его функционалом HTTP-клиента, который способен общаться с HTTP-серверами. Повсеместное распространение REST API сделало HTTP-инструменты уважаемыми жителями бесчисленного множества программных проектов. Именно поэтому любому программисту необходимо владеть паттернами, направленными на организацию оптимальной работы с HTTP-соединениями.



Существует множество HTTP-клиентов для Python. Самым распространённым среди них, и, к тому же, таким, с которым легко работать, можно назвать requests. Сегодня этот клиент является стандартом де-факто.
Читать дальше →
Всего голосов 46: ↑45 и ↓1+44
Комментарии3

Бот VS Приложения: плюсы и минусы. Кейс бота-бухгалтера

Время на прочтение4 мин
Количество просмотров3.6K
Работать со сложнейшими налоговыми приложениями для бухгалтеров нашей команде – не в новинку. Но рынок диктует свои правила, и вот однажды у наших партнёров родилась идея создания чат-бота, который бы полностью заменил для предпринимателей сервисы отчетности, и позволил ФОПам платить налоги и подавать отчетность, не вникая в бухгалтерские нюансы и не заполняя налоговые формы. Другими словами, предприниматель просто отвечает на вопросы, а бот на основе ответов самостоятельно генерирует и подает в госорганы все отчеты.
В итоге, в мае этого года мы выпустили на рынок бота-бухгалтера предпринимателя. Рассказываем, как это было.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии3

Получение обычных SMS в мессенджеры Viber и Telegram (с помощью шлюзов GoIP)

Время на прочтение3 мин
Количество просмотров37K
Во многих компаниях использующих IP-телефонию и применяющих GSM-шлюзы для корпоративной связи часто возникает вопрос приема и отправки СМС со своих номеров.

Для китайских моделей GOIP существует неплохое решение GOIP-SMS-Сервер, о котором неоднократно упоминалось на просторах интернета и в нашем Habr сообществе в том числе. Это простой, бесплатный и удобный продукт, но СМС через WEB, особенно с мобильных не совсем удобно.

Возникла идея приема и передачи СМС с помощью мессенджера — и была реализована за час с помощью простого скрипта на Python3.6 и бота Telegram (и спустя 2 месяца перенесена на Viber) Прошу под кат:
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии32

Радио Вайбер — все радиостанции в мессенджере онлайн

Время на прочтение1 мин
Количество просмотров10K
Скажу сразу — для полноты эффекта нужно пользоваться мобильной версией.

Идея сбора медиа-потоков прямо в мессенджере пришла сразу после долгих попыток поисков музыки завершившейся удачно, но не с первого раза. Ссылка будет в самом конце статьи
Radio Viber

Почему Viber?


Соглашусь со многими, что Телеграм лучше для строительства ботов, и для меня лично
Читать дальше →
Всего голосов 27: ↑14 и ↓13+1
Комментарии43

Информация

В рейтинге
Не участвует
Откуда
Симферополь, Республика Крым, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Chief Technology Officer (CTO)
Lead
От 250 000 ₽
Asterisk
Mikrotik
IT consulting
Network design
Routing
Django
Python