Pull to refresh
8
0
Send message

Основы BASH. Часть 1

Reading time5 min
Views1.4M
Безусловно, все те кто общается с ОС Linux хоть раз да имели дело(во всяком случае слышали точно) с командной оболочкой BASH. Но BASH не только командная оболочка, это еще и превосходный скриптовый язык программирования.
Цель этой статьи — познакомить поближе юзеров с bash, рассказать про синтаксис, основные приемы и фишки языка, для того чтобы даже обычный пользователь смог быстренько написать простой скрипт для выполнения ежедневной(-недельной, -месячной) рутинной работы или, скажем, «на коленке» наваять скриптик для бэкапа директории.
Читать дальше →
Total votes 146: ↑135 and ↓11+124
Comments114

NumPy, пособие для новичков. Часть 1

Reading time19 min
Views242K
NumPyLogoNumPy — это расширение языка Python, добавляющее поддержку больших многомерных массивов и матриц, вместе с большой библиотекой высокоуровневых математических функций для операций с этими массивами.

Первая часть учебника рассказывает об основах работы с NumPy: создании массивов, их атрибутах, базовых операциях, поэлементном применении функций, индексах, срезах, итерировании. Рассматриваются различные манипуляции с преобразованием формы массива, объединение массивов из нескольких и наоборот — разбиение одного на несколько более мелких. В конце мы обсудим поверхностное и глубокое копирование.
Читать дальше →
Total votes 69: ↑65 and ↓4+61
Comments39

Осваиваем Python. Унция 2. Ветвления, циклы + практика.

Reading time4 min
Views91K
image
Простые конструкции в языке Python: ветвления и циклы имеют свои особенности по сравнению с другими языками. Поэтому я всё же решил потратить на это время и рассказать. Материал совсем простой!
Так же по просьбам читающих добавил в конец статьи разбор простой программки для наглядной демонстрации пройденного материала.
Читать дальше →
Total votes 59: ↑54 and ↓5+49
Comments63

Получаем тип и размеры изображения без скачивания его целиком, используя Python

Reading time2 min
Views17K
Возникла задача профильтровать базу данных ссылок на изображения и удалить большие. В результате было найдено решение на Python, которым я поделюсь под хабракатом:

image
Читать дальше →
Total votes 53: ↑47 and ↓6+41
Comments14

По следам Кусто, или Новая одиссея для российского краудфандинга

Reading time7 min
Views47K
Дорогие друзья! Продолжаем рассказывать про наиболее интересные российские краудфандинговые проекты. На этот раз мы познакомились (и хотим познакомить вас) с экспедицией «Акватилис», которая также получила название «Новая одиссея». Как вы видите, проекту нужно собрать 1,5 млн рублей до 31 октября. В общем, знакомьтесь с автором, которого мы на канале «Простая наука» между собой называем «Кусто»

image

Читать дальше →
Total votes 108: ↑104 and ↓4+100
Comments78

Рисуем волну .wav-файла

Reading time5 min
Views82K

Некоторое время назад я решил посвятить себя решению экзотической задачи — нарисовать волну wave-файла, как это делают аудио- и видеоредакторы, используя для этого Питон. В результате у меня получился небольшой скрипт, который вполне с этим справляется. Так, картинка выше сгенерирована им из песни «Under Pressure» группы Queen. Для сравнения — вид волны в аудиоредакторе:

Для разбора звука я использовал библиотеку numpy, а для построения графика — matplotlib. Под катом я изложу основы работы с wav-файлами и алгоритм скрипта.
Читать дальше →
Total votes 73: ↑69 and ↓4+65
Comments39

Ежедневный Git

Reading time3 min
Views98K
Уже были статьи про основы гита (0, 1, 2), были и статьи про внутреннее устройство репозитория. Сегодня поговорим, как простому смертному работать с гитом на автопилоте и не морочить себе голову.

Во-первых, шорткаты (в порядке убывания популярности):

alias gst='git-status'
alias ga='git-add'
alias gc='git-commit -m'
alias gp='git pull && git push'
alias gull='git pull'
alias gush='git push'
alias gb='git-branch'
alias gco='git-checkout'
alias gd='git-diff'

Во-вторых, отображение текущей ветки в командной строке:
export PS1='`__git_ps1 "%s"` \w \$ '

Выглядит так:
lazy-args-in-futures ~/Work/io/oleganza-io.git $

(Как установить: ericgoodwin.com/2008/4/10/auto-completion-with-git)

Типичный поток работы в одной ветке
Читать дальше →
Total votes 36: ↑33 and ↓3+30
Comments36

Про Git на пальцах (для переходящих с SVN)

Reading time8 min
Views279K
Год назад мы с командой решили перейти с SVN на Git. Зачем это было надо — писать не буду, т.к. на эту тему уже и так много написано. А хочу я описать типичные алгоритмы работы, понятные человеку, который долгое время пользовался SVN. Ниже — памятка, написанная для команды год назад, чтобы легче было мигрировать. Надеюсь, кому-нибудь пригодится.
Читать...
Total votes 179: ↑175 and ↓4+171
Comments100

EyeDoc — пока от монитора не ослеп

Reading time5 min
Views23K


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

Конечно, тема поднималась на хабре не раз и авторы статей действительно давали дельные советы, которые могли бы помочь защитить зрение пользователям ПК. Однако, в большинстве случаев, все они сводились к тому, что основное средство спасения — тот остров посреди океана — это упражнения для глаз в разных количествах и разных видов. Но давайте подойдем сейчас к другу/коллеге/соседу и спросим, стал ли он пользоваться этими упражнениями и насколько регулярно их выполняет? Лично я не уверен ни в положительном ответе, ни в систематическом выполнении этих упражнений.

Я не смог смириться с тем, что и дальше буду терять зрение, поэтому принял решение пойти другим путем. О том, что я пробовал, чего добился и что для себя решил, я поведаю ниже, раскладывая все по полочкам и в хронологическом порядке.
Читать дальше →
Total votes 94: ↑82 and ↓12+70
Comments90

10 причин для перехода на Ruby

Reading time7 min
Views86K
Я познакомился с Ruby сравнительно недавно, благодаря чудесному фреймворку Ruby on Rails. Я не считаю себя экспертом в Ruby, но я прочитал PickAxe, написал несколько утилит на Ruby для личного пользования, а также разрабатываю на Rails в свободное время.
Читать дальше →
Total votes 58: ↑47 and ↓11+36
Comments255

LVM — это просто!

Reading time4 min
Views627K
Собственно, хочется просто и доступно рассказать про такую замечательную вещь как Logical Volume Management или Управление Логическими Томами.
Поскольку уже давно пользуюсь LVM-ом, расскажу что он значит именно для меня, не подглядывая в мануалы и не выдёргивая цитаты из wiki, своими словами, чтобы было понятно именно тем кто ничего о нем не знает. Постараюсь сразу не рассказывать о всяческих «продвинутых» функциях типа страйпов, снапшотов и т.п.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments75

Интеграция мобильного телефона с корпоративной IP-АТС с помощью Aastra Mobile Client

Reading time4 min
Views12K
В данной статья я хочу рассмотреть интересное решение от компании Aastra – это AMC (Aastra Mobile Client).

AMC – это SIP клиент для мобильных телефонов, позволяющий абоненту получать доступ к стандартным службам офисной АТС. Благодаря такой интеграции, пользователи могут совершать звонки со своих смартфонов напрямую через корпоративную телефонную сеть, использую для этого Интернет через сети Wi-Fi или мобильные сети GSM (3G/EDGE/GPRS).

Помимо классических телефонных функций, AMC позволяет: обмениваться мгновенными сообщениями, устанавливать статусы присутствия, настраивать интеллектуальную маршрутизацию вызовов по наименьшей стоимости в сети мобильной связи (MLCR), работать в двух режимах (Dual Mode GSM/Wi-Fi), иметь возможность использования локальных SIM-карт в поездках (Travel SIM) и обеспечивает интеграцию с корпоративными справочниками.

AMC клиент доступен для большинства известных устройств, работающих под управлением мобильных ОС: Android 2.3 и выше, iOS 6 и выше, BlackBerry RIM 6.0 и 7.0, Symbian.

Для взаимодействия AMC и коммуникационной системы (PBX) требуется AMC контролер (AMCC). AMCC может быть как программным (разворачивается в среде vmware), так и аппаратным (отдельная «коробочка»). AMCC соединяется с телефонной станицей, с помощью B2BUA – логического элемента в приложениях, работающих с протоколом SIP или через SIP-транк.

Решение от AMC может быть легко интегрировано в любую уже существующую SIP-инфраструктуру, достаточно иметь на IP-PBX несколько свободных SIP-аккаунтов и организовать SIP-транк в сторону контроллера AMC.

AMC – это платное решение, каждый пользователь в системе должен быть пролицензирован. В зависимости от требуемого функционала, приобретаются соответствующие лицензии (например, Travel SIM enabled, AMC+ Basic Mobile Presence and IM и т.д.). Сами клиенты, которые устанавливаются на смартфоны, бесплатны и могут быть скачены, например, из Google Play или App Store.

После покупки лицензий, у вас появляется доступ на AMC portal, через который осуществляется настройка AMC клиентов.

Принцип и особенности работы AMC


В нашей демо-лаборатории, совместно с моим коллегой Alexand3010, была развернута программная версия AMCC (на виртуальной машине под управлением vmware ESXi 5.1). Помимо этого в нашем распоряжении было несколько IP-АТС разных вендоров, например: Aastra MX-ONE 5.0 SP3, Aastra 400 v3, Mitel MCD 6.0/vMCD 6.0, FreePBX Asterisk 11.2.1.

Схема нашей лабораторной установки представлена на изображении ниже





Как следует из схемы, все коммуникационные устройства находятся за NAT, в одной подсети – 172.19.19.0/24. На роутере заданы правила трансляции IP-адресов и соответствующих портов.
Читать дальше
Total votes 7: ↑3 and ↓4-1
Comments2

Подключаем Asterisk к Avaya по протоколу H.323

Reading time4 min
Views36K

С одной стороны нам понадобится сам asterisk.

Можно воспользоваться одним из готовых дистрибутивов таких как Trixbox, Elastix, AsteriskNow, но у меня не получилось добиться адекватной работы от модуля работы с h323 входящего в состав первых двух дистрибутивов( во всяком случае при настройке транков к avaya).

У кого тоже не получилось или просто интересно, прошу под кат.
Да, интересно
Total votes 3: ↑3 and ↓0+3
Comments1

Asterisk + UniMRCP + VoiceNavigator. Синтез и распознавание речи в Asterisk. Часть 2

Reading time7 min
Views8.4K
Часть 1
Часть 3
Часть 4

В предыдущей статье была описана общая схема работы, установлен UniMRCP, Asterisk подключен к VoiceNavigator и создано простое голосовое приложение.
Остановимся подробнее на возможностях синтеза и распознавания. Первая часть статьи будет посвящена языку разметки SSML, вторая — построению грамматик.

Использование языка разметки SSML


Управление синтезом речи на лингвистическом и акустическом уровне, происходит с помощью управляющих тегов в формате SSML.
С помощью тегов можно определить произношение, управлять интонацией, скоростью и громкостью звучания и т.д.
Опишу только наиболее используемые теги.
Подробную информацию по всем тегам можно получит в описании стандарта .
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments8

Google translate+Asterisk IVR

Reading time7 min
Views34K
Долго думал в какой блог запостить и решил, что здесь ему наиболее подходящее место. Хотя бы потому, что основная идея топика «sh — может все».

В этом топике задали интересную тему — реализовать IVR для * с использованием синтезатора из Google Translate.

Я в общем то даже не планировал этим заниматься, но мне стало интересно.
Читать дальше →
Total votes 75: ↑71 and ↓4+67
Comments17

Синтез и распознавание речи от Google для Asterisk

Reading time5 min
Views84K
Доброе утро!

Вчера вечером заглянул на Хабр, увидел статью Google translate+Asterisk IVR и у меня волосы зашевелились в подмышках.

Синтез речи, как это просто!
Не нужно собирать Festival и искать для него семплы. Все уже готово, просто и от Google.

Читать дальше →
Total votes 49: ↑44 and ↓5+39
Comments14

Сон и продуктивная деятельность

Reading time8 min
Views106K

Вступление


Доброго времени суток, %habrauser%! Думаю, в этой статье я не открыл ничего нового. Просто меня самого заинтересовала тема продуктивного сна. Несколько последних лет я был приверженцем мнения, что сон – это бесполезная трата времени, к сожалению необходимая организму. И посему, я максимально старался сократить время сна. Но чем больше я это делал, тем больше я начинал походить на зомби. И тогда я стал искать альтернативу. И результатом обобщения всей найденной мной информацией и стала эта статья. Итак, поехали!
Читать дальше →
Total votes 243: ↑215 and ↓28+187
Comments149

Изучение иностранных языков: живые учителя или интернет?

Reading time4 min
Views74K


— Феденька, ты очень интеллигентный мальчик, ты мне очень нравишься, но Я БУДУ СТАВИТЬ ДВА В ГОДУ!!! — визжала моя школьная учительница по французскому и делала примерно такое лицо.

Моя школьная учительница по английскому языку делала другое лицо:
Читать дальше →
Total votes 282: ↑232 and ↓50+182
Comments366

Как прокачивать мозг

Reading time8 min
Views174K
В этой теме я хочу поделиться своими знаниями про устройство мозга и тем, как применяю это на практике.

Не правда ли, картинка объемна?

Итак, как известно, мозг — важнейший орган нашего тела. Кто-то говорит, что он — самая сложная вещь во вселенной. И незнание некоторых его особенностей может очень плачевно сказать на жизни человека.

Но обо всем по порядку.

Понимание роли мозга


Нет невежества страшнее, чем невежество по отношению к самому себе.

Мозг управляет почти всем в нашем организме — от дыхания, работы органов чувств до сложных мыслительных процессов и воображения. Существует множество методик и советов по развитию, однако, как я убедился, мало какие делают упор на роль мозга в процессе.
Читать дальше →
Total votes 340: ↑281 and ↓59+222
Comments229

Как правильно мерять производительность диска

Reading time14 min
Views339K
abstract: разница между текущей производительностью и производительностью теоретической; latency и IOPS, понятие независимости дисковой нагрузки; подготовка тестирования; типовые параметры тестирования; практическое copypaste howto.

Предупреждение: много букв, долго читать.

Лирика



Очень частой проблемой, является попытка понять «насколько быстрый сервер?» Среди всех тестов наиболее жалко выглядят попытки оценить производительность дисковой подсистемы. Вот ужасы, которые я видел в своей жизни:
  • научная публикация, в которой скорость кластерной FS оценивали с помощью dd (и включенным файловым кешем, то есть без опции direct)
  • использование bonnie++
  • использование iozone
  • использование пачки cp с измерениема времени выполнения
  • использование iometer с dynamo на 64-битных системах


Это всё совершенно ошибочные методы. Дальше я разберу более тонкие ошибки измерения, но в отношении этих тестов могу сказать только одно — выкиньте и не используйте.

Как мерять правильно
Total votes 151: ↑145 and ↓6+139
Comments164

Information

Rating
Does not participate
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity