Pull to refresh
35
0
Timofey @timo4ey

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

Send message

Asterisk + AMI + Python

Reading time5 min
Views17K
Честно признаюсь, я долго думал, стоит ли публиковать этот материал. Для тех, кто умеет работать с AMI Asterisk, ничего интересного тут нет. Для тех, кто только начинает что-то делать, вряд ли разберётся в моём коде (хотя я старался писать понятно). Вангую комментарии вроде: «Зачем использовать Хабр для своих заметок?». С другой стороны, приведённый под катом скрипт может стать кому-то отправной точкой. Скрипт ничего не делает кроме того, что шлёт в консоль все события из AMI и умеет их фильтровать. Для примера, я показываю в консоле все звонки, которые попадают в любой из контекстов «zadarma-in» или «sibseti_in». Если заинтересовал, прошу под кат:
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments7

Оптимизации, используемые в Python: список и кортеж

Reading time4 min
Views52K
В Python, есть два похожих типа — список (list) и кортеж (tuple). Самая известная разница между ними состоит в том, что кортежи неизменяемы.

Вы не можете изменить объекты в tuple:

>>> a = (1,2,3)
>>> a[0] = 10
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

Но вы можете модифицировать изменяемые объекты внутри кортежа:

>>> b = (1,[1,2,3],3)
>>> b[1]
[1, 2, 3]
>>> b[1].append(4)
>>> b
(1, [1, 2, 3, 4], 3)
Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments28

Организация регулярного дайджеста логов с помощью python и ansible на примере asterisk

Reading time6 min
Views3.9K
Когда я создавал данный инструмент, я не был знаком с logwatch. Мне захотелось видеть ситуацию с логами на своих серверах в целом, и, так я сделал этот велосипед. Думаю, что данный механизм может помочь новичкам в понимании альтернативных возможностей ansible.

Используемые программные продукты:

  • python 2.7.14
  • ansible 2.3
  • сервера asterisk на базе FreePBX 13

Механизм состоит из двух частей – python скрипт, который занимается обработкой лог файла и отправкой отчета на почту, и плейбука для сбора логов с серверов и передачи их скрипту для обработки.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments2

Визуализация данных для киноманов: скрапим рекомендации фильмов и делаем интерактивный граф

Reading time11 min
Views29K

Однажды я наткнулся на интерактивную карту lastfm и решил обязательно сделать подобный проект для фильмов. Под катом история о том, как собрать данные, построить граф и создать своё интерактивное демо на примере данных с кинопоиска и imdb. Мы рассмотрим фреймворк для скрапинга Scrapy, пробежимся по методам визуализации больших графов и разберёмся с инструментами для интерактивного отображения больших графов в браузере.

Читать дальше →
Total votes 67: ↑65 and ↓2+63
Comments18

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

Reading time26 min
Views101K

Новогодние праздники — прекрасный повод попрокрастинировать в уютной домашней обстановке и вспомнить дорогие сердцу мемы из 2k17, уходящие навсегда, как совесть Electronic Arts.



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

Читать дальше →
Total votes 76: ↑70 and ↓6+64
Comments42

Основы компьютерных сетей. Тема №6. Понятие VLAN, Trunk и протоколы VTP и DTP

Reading time20 min
Views676K

Всех с наступившим новым годом! Продолжаем разговор о сетях и сегодня затронем такую важную тему в мире коммутации, как VLAN. Посмотрим, что он из себя представляет и как с ним работать. А также разберем работающие с ним протоколы VTP и DTP.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments17

Как обучается ИИ

Reading time27 min
Views69K

Источник изображения.

Есть ли связь между трехглазой жабой и нейронными сетями? Что общего у программы, выигрывающей в го, и приложением Prisma, перерисовывающим фотографии под стили картин известных художников? Как компьютеры одолели нарды, а затем покусились на святое — и выиграли у человека в “Космических захватчиков”?
Дадим ответы на все эти вопросы, а еще поговорим о революции, связанной с глубоким обучением, благодаря которому удалось добиться прорыва во многих областях.
Читать дальше →
Total votes 56: ↑54 and ↓2+52
Comments35

Efficient Rails — новая книга по оптимизации процесса разработки Rails-приложений

Reading time3 min
Views9.2K


Эффективные Рельсы — более точного названия для книги придумать было бы сложно. Всё содержание описывается этими двумя словами и раскрывается для нас в сотне рецептов на 380+ страницах. В ожидании выхода финальной версии Rails 5, данное чтиво — то, на что стоит потратить время, благо потребуется его не так много. Но данное вложение вернётся колоссальной прибылью знаний и позволит, как говорится на обложке, «создавать Rails-приложения с нечеловеческой скоростью». Да и не только Rails, да и не только Ruby. Первые две главы включают в себя обилие информации по работе с терминалом и СКВ. Подробности под катом.
Узнать подробнее и получить промокод
Total votes 10: ↑9 and ↓1+8
Comments16

Обзор Xiaomi Mi Air Purifier 2 или как очистить воздух мегаполиса?

Reading time4 min
Views89K
Xiaomi Mi Air Purifier 2 — это вторая модификация очистителя воздуха от Xiaomi. Это устройство входит в линейку продуктов Xiaomi для умного дома, так что естественно у него есть WiFi и он может управляется с приложения. Впрочем, приложение служит больше для того, чтобы передавать информацию об окружающей среде, а основная функция Mi Air управляется одной кнопкой. Но давайте обо всё по порядку.

image
Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments86

Дарудар — облако в дар от Microsoft

Reading time6 min
Views16K
Дарудар — известный на просторах Рунета проект, ставший связующим звеном между людьми, желающими что-то подарить, но не знающими кому, и теми, кто может этого захотеть. На сайте можно найти все, что угодно — от бытовых и не очень вещей до самых настоящих котов в мешках. О том, как работает сервис, где уже подарили более 3 миллионов даров, рассказывает один из основателей сервиса, Антон brutto Каракулов.



Дарудар — самый настоящий высоконагруженный проект. Размещенный в облаке и использующий полностью Linux-стек, в сутки он выдерживает ~2.5 тыс даров и ~1.5 тыс благодарностей, ~20 тыс. комментариев, ~40 тыс. уведомлений и ~4.5 тыс. файлов. Подробности под катом.

Читать дальше →
Total votes 30: ↑23 and ↓7+16
Comments35

Сверхдлительный тест: Lenovo ThinkPad X220

Reading time10 min
Views48K
Я очень люблю читать обзоры гаджетов. Когда-то я даже любил их писать, и в те времена я очень хорошо понимал: за три дня, неделю и даже месяц оценить все достоинства и недостатки устройства практически невозможно. Если только не писать обзоры освежителей воздуха на батарейках, и то, возможны нюансы. Длительный опыт использования дает гораздо больше информации, которая, если знать заранее, могла бы повлиять на решение о покупке.

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

Выбор устройства для первого обзора очевиден: это мой лаптоп Lenovo ThinkPad X220. Во-первых, обзор нового я уже когда-то писал. Во-вторых, несмотря на суровые жизненные испытания, ноутбук по-прежнему активно используется и мало чем уступает современным аналогам. Под катом: совершенно негламурные пыльные фото, похвала и критика, сравнение с современными аналогами. Размышления на тему, чем бы все же этот ноутбук заменить, когда он сломается вероятно в полностью рабочем состоянии отправится на полку к дедушке ThinkPad 380ED, тоже вполне рабочему.
Опять скрипит потертое седло
Total votes 32: ↑29 and ↓3+26
Comments131

Интересные случаи организации работы на второй линии технической поддержки

Reading time11 min
Views26K


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

Если на этой стадии начать их знакомить, собирать встречи и объяснять, что надо работать, а не переводить стрелки, то конечные пользователи могут выйти толпой на улицы.

Поэтому работаем вместо них мы. Один раз – даже включенными в кислородно-изолирующие приборы после сработки пожарной сигнализации.
Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments5

Простой мониторинг нагрузки на сервер в реальном времени с веб-интерфейсом

Reading time2 min
Views80K
Сегодня существует довольно много профессиональных инструментов для мониторинга состояния серверов с обилием настроек, плагинов, поддержкой сразу множества машин и т.д., это известные Nagios, Zabbix, Munin, Cacti и многие другие.


Но в этом посте речь пойдет об очень маленьком и простом, но от этого не менее полезном инструменте: инструменте для мониторинга Scout Realtime. Этот написанный на Ruby open source проект позиционируется разработчиками как современная замена консольной утилите top с выводом статистики использования диска, памяти, сети, CPU и запущенных процессов. Все это отображается в реальном времени с плавными графиками. Во время диагностики работы сервера, иногда полезно пару минут понаблюдать за показателями, и проследить их изменение во времени (в отличие от гирлянды мерцающих чисел в терминале, отображающих данные исключительно на текущий момент).
Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments34

Масштабируя Zabbix

Reading time11 min
Views152K
Zabbix logoТех, кто использует или собирается использовать Zabbix в промышленных масштабах, всегда волновал вопрос: сколько реально данных сможет Заббикс «переварить» перед тем как окончательно поперхнется и подавится? Часть моей недавней работы как раз касалось этого вопроса. Дело в том, что у меня есть огромная сеть, насчитывающая более 32000 узлов, и которая потенциально может полностью мониториться Заббиксом в будущем. На форуме давно идут обсуждения о том, как оптимизировать Zabbix для работы в больших масштабах, но, к сожалению, мне так и не удалось найти законченное решение.

В этой статье я хочу показать, как я настраивал свою систему, способную обрабатывать реально много данных.
Подробности
Total votes 45: ↑45 and ↓0+45
Comments39

Почему Git

Reading time8 min
Views68K
Было время, когда я ничего не знал про VCS, ни что это такое, ни тем более зачем это мне. И верхом своих достижений считал папочку с архивами версий. К моменту осознания необходимости системы контроля версий я уже набил шишек и прочувствовал необходимость такого инструмента. Но борландовский аналог CVS меня не впечатлил. У каждого файла свой номер версии. Как мне получить срез определенного релиза я так и не разобрался. А в это время SVN победоносно шла сквозь умы разработчиков. Черт, это было то, чего мне так не хватало. Прочитав доку и начав работать я просто влюбился в нее. Да, были трудности и определенные неудобства, но куда без них.
Так я и работал бы в SVN, но ничего не стоит на месте. В интернете уже потекли тонкие ручейки новостей про Git. Я не кидаюсь за каждой новой технологией, и прошло уже достаточно много времени, пока мне не прожужжали этим Git’ом все мозги. Мне стало любопытно, я вначале присматривался, примерялся, а потом плюнул и начал новый проект на Git. Мучался с ребятами 2 недели, накачал литературы, написал шпаргалку… ничего, привыкли, … а потом меня поперло.

Теперь меня регулярно просят рассказать про Git и что в нем такого. Уже надоело, поэтому этот пост для тех, кто еще сомневается.
Читать дальше →
Total votes 207: ↑195 and ↓12+183
Comments265

Перевод «Simplified JavaScript Jargon»

Reading time2 min
Views14K
Упрощённый JavaScript-жаргон
Автор анонса — хабрапользователь elnee


Доброго вам new Date().toLocaleString(), хабрапользователи. Хочу представить всеобщему вниманию перевод англоязычного словаря терминов для фронтенд-разработчиков.
Если заинтересовались — добро пожаловать под кат.
Читать дальше →
Total votes 22: ↑14 and ↓8+6
Comments4

jQuery для начинающих. Часть 4. Селекторы

Reading time11 min
Views215K


Последнее время мне всё чаще задают вопрос как выбрать тот или иной элемент в DOM'е, и данный пост будет сплошь посвящен селекторам в jQuery, возможно большинство из них Вы видели в различных источниках, но собрать их воедино все же стоит…
Читать дальше →
Total votes 83: ↑79 and ↓4+75
Comments30

Создание веб-сайта. Курс молодого бойца

Reading time24 min
Views815K
Как-то меня попросили провести небольшой семинар в лицее, где я когда-то учился, по созданию веб-сайта. В процессе написания речи я подумал, что она может вылиться в материал, который, возможно, будет полезен многим начинающим в области веб-дизайна, вёрстки веб-страниц и пр. Я не претендую на истину в первой инстанции и всё изложенное носит чисто личностный взгляд на работу с дизайном и кодом. Статья даёт поверхностный взгляд на понятия и средства, которые, на мой взгляд, могут стать неплохим стартом для того, кто готов идти дальше.
Читать дальше →
Total votes 86: ↑77 and ↓9+68
Comments46

camelCase против under_score

Reading time3 min
Views76K
В настоящее время существует много стандартов наименования переменных, но два из них являются наиболее популярными среди программистов: это camel case («Верблюжья» нотация) и underscore (именование переменных с использованием символа нижнего подчеркивания в качестве разделителя). Кто-то может возразить, что существуют и другие популярные стандарты, но в рамках данной статьи мы сравним эти два, и узнаем у программистов — какого стандарта придерживаются они. Конечно, некоторые программисты связаны рамками стандартов кодирования языка или фреймворка, который они используют, но мы постараемся сделать независимое сравнение.
Читать дальше →
Total votes 70: ↑36 and ↓34+2
Comments165

Подборка бесплатных инструментов для разработчиков

Reading time28 min
Views186K
Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

Читать дальше →
Total votes 96: ↑89 and ↓7+82
Comments38
1
23 ...

Information

Rating
Does not participate
Registered
Activity