Pull to refresh
5
0
Денис @cellmon

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

Send message

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

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

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

Reading time2 min
Views22K

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

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

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

Читать далее
Total votes 83: ↑62 and ↓21+41
Comments75

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

Reading time4 min
Views5.4K


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

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

Reading time16 min
Views41K

КДПВ


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


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


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

Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments10

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

Reading time4 min
Views11K
И снова здравствуйте! Специально для студентов курса «Web-разработчик на Python» мы подготовили еще один интересный перевод.





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

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

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

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

Total votes 22: ↑21 and ↓1+20
Comments10

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

Reading time19 min
Views10K


Здание суда имени сенатора Дэниэла Патрика Мойнихэна (в центре), одно из зданий, в которых располагается Федеральный окружной суд по Южному округу Нью-Йорка. Здесь будет слушаться дело 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 уверены в том, что суд поддержит именно их позицию. Не исключено, что в ближайшие месяцы спор действительно будет разрешен по существу.

Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments13

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

Reading time2 min
Views44K


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

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

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

Релогин и HTTP Basic Auth

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

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

Reading time4 min
Views10K

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


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

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

image

Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments1

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

Reading time21 min
Views20K

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



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

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

Reading time7 min
Views68K
Ненавистники Python всегда говорят, что одной из причин того, что они не хотят использовать этот язык, является то, что Python — это медленно. Но то, что некая программа, независимо от используемого языка программирования, может считаться быстрой или медленной, очень сильно зависит от разработчика, который её написал, от его знаний и от умения создавать оптимизированный и высокопроизводительный код.



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

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

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




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

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

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

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



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

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

Reading time4 min
Views3.6K
Работать со сложнейшими налоговыми приложениями для бухгалтеров нашей команде – не в новинку. Но рынок диктует свои правила, и вот однажды у наших партнёров родилась идея создания чат-бота, который бы полностью заменил для предпринимателей сервисы отчетности, и позволил ФОПам платить налоги и подавать отчетность, не вникая в бухгалтерские нюансы и не заполняя налоговые формы. Другими словами, предприниматель просто отвечает на вопросы, а бот на основе ответов самостоятельно генерирует и подает в госорганы все отчеты.
В итоге, в мае этого года мы выпустили на рынок бота-бухгалтера предпринимателя. Рассказываем, как это было.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments3

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

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

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

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

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

Reading time1 min
Views10K
Скажу сразу — для полноты эффекта нужно пользоваться мобильной версией.

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

Почему Viber?


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

Information

Rating
Does not participate
Location
Симферополь, Республика Крым, Россия
Date of birth
Registered
Activity

Specialization

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