Как стать автором
Обновить
3
0

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

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

Конкурентность: Асинхронность

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

Мы всё-таки смогли дойти до третьей части и добрались до самого интересного — организации асинхронных вычислений.


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


Теперь посмотрим, как можно управлять потоком исполнения (control flow) в случае обработки асинхронных задач.


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

16 ядер и 30 Гб под капотом Вашего Jupyter за $0.25 в час

Время на прочтение8 мин
Количество просмотров32K
Если Вам не очень повезло, и на работе нет n-ядерного монстра, которого можно загрузить своими скриптами, то эта статья для Вас. Также если Вы привыкли запускать скрипты на всю ночь (и утром читать, что где-то забыли скобочку, и 6 часов вычислений пропали) — у Вас есть шанс наконец познакомиться с Amazon Web Services.



В этой статье я расскажу, как начать работать с сервисом EC2. По сути это пошаговая инструкция по полуавтоматической аренде спотового инстанса AWS для работы с Jupyter-блокнотами и сборкой библиотек Anaconda. Будет полезно, например, тем, кто в соревнованиях Kaggle все еще пользуется своим игрушечным маком.

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

Аутентификация на основе JSON Web Token в Django и AngularJS: часть вторая

Время на прочтение8 мин
Количество просмотров19K
В первой части мы рассмотрели, что для формирования JSON Web Token необходимы: сериализаторы и представления.

Теперь мы создадим шаблоны и поработаем над сервисами для аутентификации и получения данных.

Bower, менеджер пакетов для web-приложений


Прежде чем перейдем к коду, давайте установим все необходимые зависимости. Для этого мы будем использовать Bower, он является идеальным инструментом для управления зависимостями web-приложений.

Предполагается что у вас уже установлен Node.js. Для установки bower просто выполните следующую команду:
$ npm install -g bower

Примечание: Возможно понадобятся права администратора.
Для того чтобы изменить каталог по умолчанию, в который bower будет устанавливать пакеты, в корне вашего проекта создайте файл с названием “.bowerrc ” и добавьте в него следующие строки:
{
    "directory": "static/bower_components"
}

Мы указали каталог “static”, чтобы эти компоненты были доступны в Django.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии3

[ПЕРЕВОД] Аутентификация на основе JSON Web Token в Django и AngularJS: часть первая

Время на прочтение7 мин
Количество просмотров72K
Наиболее распространенным методом аутентификации является аутентификация с использованием cookie файлов. Более современный метод аутентификации основан на использовании JSON Web Token (дословно: вэб маркер в формате JSON) и он быстро набирает популярность. В этой статье мы сосредоточимся на нем.

Что такое JSON Web Token?


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

JSON Web Token – это простой маркер в специальном формате. Пока формат не стандартизован, но многие уже используют одну из его реализаций (JWT).

JWT (произносится как jot) состоит из трех частей:
  • Заголовок
  • Полезная нагрузка
  • Подпись

Давайте рассмотрим каждую из них, прежде чем углубимся в реализацию.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии5

Практическое применение универсальной электронной карты (УЭК) в городе и интернете. Часть 3

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


И снова здравствуй, Xабраюзер! Этот топик продолжает 2 предыдущих поста о получении и использовании универсальной электронной карты (УЭК) в Москве.

Пост 1: Опыт получения универсальной электронной карты. Розовая теория против суровой реальности. Часть 1
Пост 2: Как я получил универсальную электронную карту после 3-х месяцев ожидания. Часть 2
Пост 3 Практическое применение универсальной электронной карты (УЭК) в городе и интернете. Часть 3
Пост 4 Электронная подпись на УЭК, что даёт и нужна ли вообще? Часть 4

Изначально я сразу понял, что хочу УЭК только для того, что бы поближе пообщаться с ЭЦП (кстати в УЭК она является квалифицированной) и всем, что с ней связано. Поэтому я оформил себе УЭК, купил ридер за 527 рублей, и решил описать мытарства с установкой и использованием этого ридера, софта от КриптоПро и портала ГосУслуги. В конце поста добавил небольшой бонус, в виде практического применения УЭК в городе.

Вообще, весь смысл можно уложить в несколько пунктов:

В интернете:

1) Поставить дрова на ридер и УЭК.
2) Установить комплект ПО от КриптоПро.
3) Установить сертификат от УЦ УЭК и установить личный сертификат с карты УЭК.
4) Установить плагин для работы с сайтом gosuslugi.ru.
5) Если нет аккаунта на госуслугах — зарегистрироваться на этом сайте, с использованием ЭЦП.

IRL:

1) Описание того, как карта работает в общественном транспорте.

Но почти в каждом из пунктов есть свои подводные камни, поэтому пришлось пройти весь этот путь самому…
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии66

Переезд IT-шника в Германию: от А до Я

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

Germany Blue CardВ этом посте я хочу подробно рассказать о моём опыте переезда на работу PHP-разработчиком в Германию — от момента, когда есть просто желание переехать, но не знаешь что и как делать, до момента, когда уже переехал, вселился в квартиру и получил вид на жительство. Кроме того, в конце поста я приведу немного полезной информации и ссылок по переезду в некоторые другие страны.

Ещё с универа я понимал, что в Украине ловить нечего и надо валить. В течение нескольких лет я исследовал вопрос эмиграции: читал блоги, форумы, сообщества, общался с друзьями и знакомыми, которые могли мне рассказать что-то новое и, естественно, за это время, учитывая и сам переезд, у меня накопился определённый багаж информации, которым и хочется поделиться.

Итак, если вы имеете IT-шное образование и вам интересна идея сваливания из печальной пост-совковой реальности, прошу под кат.
Читать дальше →
Всего голосов 211: ↑189 и ↓22+167
Комментарии163

А кому на солнышке зарядиться?

Время на прочтение3 мин
Количество просмотров23K
процесс подзарядки смартфона с  BP-SC4000
Есть у меня друг-непоседа. Отпустила его учеба университетская и летом нагрянул сезон путешествий. Было принято решение пойти с туристами в поход в Карпаты. Комфортно и только на недельку.
Я по семейным делам только сочувствующий, но хотя бы помочь организации смог. Так как комфорт и цивилизация сейчас неотделима от режима «на связи» и надо пользоваться GPS-навигацией, то мне было поручено разобраться с проблемой зарядки смартфонов компании, которые имеют свойство очень быстро садится в ненужный момент.

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

В результате решили шикануть и раздобыть зарядку американского производителя «Opteka».
Нам приглянулся BP-SC4000
Всего голосов 116: ↑111 и ↓5+106
Комментарии117

Как купить акции IT-компаний на зарубежных биржах? (часть 2)

Время на прочтение18 мин
Количество просмотров136K
Stock Investing for Dummies (theory)В первой части этой статьи мы рассмотрели теоретические основы торговли акциями на американских фондовых рынках (NASDAQ, NYSE, AMEX). Ознакомились с основными понятиями, определениями и принципами. Если во второй части что-то будет непонятно, то, возможно, вы не слишком внимательно ознакомились с первой частью. Всегда можете вернуться туда и что-то уточнить.

Во второй части я хотел сформулировать и изложить пошаговое практическое руководство, т.е. некий HowTo о том, как купить какие-то конкретные акции на бирже NASDAQ или NYSE. Допустим, вы захотели купить акции какой-то конкретной компании, например, Google, Apple, Microsoft, Yandex, Intel или Tesla Motors с целью инвестиций (в расчёте на рост стоимости этих акций в будущем).

Что для этого нужно, и с чего вообще начать?
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии20

Как купить акции IT-компаний на зарубежных биржах? (часть 1)

Время на прочтение45 мин
Количество просмотров264K
Stock Investing for Dummies (theory)Многие из вас, читая на Хабре статьи об успешных IT-фирмах и быстро развивающихся высокотехнологичных компаниях, наверняка, задумывались о том, чтобы инвестировать свои деньги в их акции с целью получения прибыли, когда через несколько месяцев или даже лет рыночная стоимость этих акций заметно вырастет.

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

Но в итоге я всё же сделал усилие над собой: сначала немного вник в азы торговли акциями, а потом наконец решился и начал торговать акциями на фондовых рынках США (NYSE, NASDAQ, AMEX). И, самое главное, я понял, что купить акции — это не так уж и сложно, как казалось раньше, и даже не так затратно (в плане накладных расходов), как я предполагал. И в этой статье я хочу поделиться исключительно своим опытом в данной области в виде общих теоретических сведений и практического руководства (HOWTO) для новичков.

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

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

Разделил статью на две части:
  1. В первой части рассмотрим теоретические основы торговли акциями.
  2. Во второй части будет практическое руководство для новичков по покупке и продаже акций.
Кто заинтересовался, добро пожаловать под кат.
Всего голосов 42: ↑41 и ↓1+40
Комментарии59

Centos5.5 Nginx 0.8.33 + PHP5.3.1(fpm) + MySQL5.5.0(phpmyadmin) — полная настройка для начинающих — 1 часть

Время на прочтение12 мин
Количество просмотров5.3K
Centos5.5 Nginx 0.8.33 + PHP5.3.1(fpm) + MySQL5.5.0(phpmyadmin)

Недавно мой знакомый купил ВПС, и конечно же ему захотелось развернуть полноценный сервер, плюс учитывая начальные ресурсы: 768Мб памяти и 2 ядра выделеных на его контейнер, сервер должен быть не прожорливым и быстрым, на нем будет крутиться blog. Решил поставить nginx, и php+php-fpm. Думаю nginx описывать не буду, как и php+php-fpm обзоры можно найти на хабре. Вот только вся соль проблемы в том, что он хотел поставить все правильно, как в учебнике. Заглянул по форумам, перегуглил весь интернет, но так и не нашел правильного пацанского мануала. Везде только основные моменты настроек и установки сервера. Так не пойдет, сказал он и пришел ко мне. Одна голова хорошо, но пиво в двоем пить лучше!
Стали составлять план, что нам нужно для работы.

! Данный пост предназначен только для начинающих, для тех кто не имеет опыта в установке и настройке сервера. Вам будет понятно на примере что и где и как установить, и потом углубившись в мануалы и вооружившись напильником, сделать все конкретно под ваши задачи.
Как минимум для начала работы нужно:
Putty — the.earth.li/~sgtatham/putty/latest/x86/putty.exe — SSH client

Centos 5.5 — последяя будет уже стоять на серваке.
Nginx 0.8.33 — можно выбрать и старший релиз или стабильный.
PHP 5.3.1 — думаю проблем с ней не будет.
MySQL 5.5.0 — база!
php-fpm патч
suhosin-patch
libevent-1.4.13-stable

и далее все остальные пакеты которые понадобятся для компиляции и работы сервера:
gcc gcc-c++ libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libmcrypt libmcrypt-devel pcre-devel

Поехали...
Всего голосов 40: ↑25 и ↓15+10
Комментарии28

YouTube EDU — обучающие видеоматериалы из колледжей и университетов

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


26 марта 2009 года на youtube открыли раздел YouTube EDU, в котором собраны лучшие обучающие видеоматериалы (в основном — лекции и обучающие материалы из колледжей и университетов).

Среди лидеров просмотров: MIT, Stanford University, индийские универститеты.

Представлены целые курсы в виде плей-листов: курс линейной алгебры, введение в биологию, принципы цифровых коммуникаций и многие другие.

Информации становится более чем достаточно, чтобы изучать всё что угодно. Остаётся только вопрос мотивации.

Upd. Еще один подобный ресурс — academicearth.org (Женя Теплов, спасибо!)
Upd2. University of Washington, Engineering & Computer Science (YasonBy, спасибо!)
Всего голосов 78: ↑77 и ↓1+76
Комментарии49

Руководство по собеседованию на вакансию PHP-программиста

Время на прочтение22 мин
Количество просмотров254K
Вездесущий… это определённо то слово, которым можно описать язык PHP по отношению к вебу. Он действительно вездесущ. В настоящее время, среди всех серверных языков программирования, PHP используется наиболее широко. На нём написаны более 80% сайтов, при этом следующий по популярности ASP.NET со своими 17% остаётся далеко позади.



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

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

Как же отличить тех, кто обладает реальной компетентностью в PHP (не говоря уже о тех, кто входит в 1% наиболее опытных кандидатов) от тех, у кого только поверхностные знания?
Читать дальше →
Всего голосов 96: ↑73 и ↓23+50
Комментарии107

Zabbix + Iostat: мониторинг дисковой подсистемы

Время на прочтение4 мин
Количество просмотров93K
Zabbix + Iostat: мониторинг дисковой подсистемы.
image
Зачем?
Дисковая подсистема одна из важных подсистем сервера и от уровня нагрузки на дисковую подсистему зачастую зависит очень многое, например скорость отдачи контента или то как быстро будет отвечать база данных. Это в большей степени относится к почтовым или файловым серверам, серверам БД. Вобщем, показатели дисковой производительности отслеживать нужно. На основании графиков производительности дисковой подсистемы мы можем принять решение о необходимости наращивания мощностей задолго до того как петух клюнет. Да и вобще полезно поглядывать от релиза к релизу как работа разработчиков сказывается на уровне нагрузки.

Под катом, о мониторинге и о том как настроить.
Читать дальше →
Всего голосов 43: ↑36 и ↓7+29
Комментарии18

CMS будущего

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

Покончим с устаревшим подходом к контенту


На протяжении всей истории интернета мы работали с контентом двумя способами:
  1. Создавали «один шаблон на все случаи жизни»
  2. Создавали для каждого случая свой уникальный шаблон

Как только мы сталкивались с тем, что не можем организовать контент с помощью базового текстового поля и привязанного к нему WYSIWYG редактора, мы тут же делали отдельный шаблон со своими собственными полями и логикой.

image
Читать дальше →
Всего голосов 68: ↑58 и ↓10+48
Комментарии73

Сервис для логов за 5 минут

Время на прочтение2 мин
Количество просмотров15K
Во время разработки под мобильные устройства появилась проблема наблюдать и сравнивать несколько характеристик производительности и параметров на разных устройствах. (iPad/Samasung Galaxy Note 10.1/Nexus и т.д.). Можно было бы просто записывать логи в файл, потом свести их воедино, но хочется, чтобы информация с устройств поступала сразу после отладки в единую таблицу, да и не все устройства находятся у разработчиков на руках.

Единственным быстрым решением, приходящим на ум, был небольшой сервис на flask/bottle, но для этого пришлось бы поднять хранилище данных. Сказать честно, даже использование облачных решений на Azure/Heroku/AWS — это небольшая кучка дополнительных проблем для такой простой задачи: пароли, пути, зависимости и т.д. Нам же надо вести одну небольшую таблицу с несколькими параметрами, которые поступают с устройств. К тому же, данная утилита требовалась исключительно для удобства разработки, а не для продуктивного использования с тысячами пользователей.

Я постоянно записываю в свою базу знаний в Evernote различные хаки для повседневных задач, и недавно нашел там пример кода из какого-то open source проекта, где идет обращение с формой Google Docs через post запросы. И понеслось.
Читать дальше →
Всего голосов 46: ↑42 и ↓4+38
Комментарии15

Сервер онлайн-вещаний на базе nginx

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

Введение


Привет всем! Несколько месяцев назад на Хабре была опубликована статья «Вещание онлайн-видео с помощью nginx» , в которой Aecktann рассказал о своем опыте внедрения разрабатываемого мной модуля к nginx для вещания видео — nginx-rtmp-module. С тех пор продукт активно развивался и в этой статье я более подробно расскажу о нем.

Вещатель нужен для передачи видео-потока клиенту. Речь идет либо о живом потоке, либо о вещании записанного видео (VOD, Video-on-demand). Существует большое количество технологий вещания видео. Среди них можно выделить традиционные протоколы, такие как RTMP или MPEG-TS, а также появившиеся в последнее время технологии адаптивного вещания поверх HTTP. К последним относятся HLS (Apple), HDS (Adobe), Smooth Streaming (Microsoft), MPEG-DASH. При выборе технологии основным фактором является ее поддержка на клиентской стороне. Именно поэтому вещание в формате RTMP на текущий момент является одним из самых распространенных. Протокол HLS поддерживается устройствами компании Apple, а также некоторыми версиями Android.
Читать дальше →
Всего голосов 82: ↑82 и ↓0+82
Комментарии99

MPEG-DASH в nginx-rtmp-module: живое видео в браузере без флеша

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

Что такое MPEG-DASH


MPEG-DASH — технология нового поколения, позволяющая вещать адаптивный видео-поток. Данные разбиваются на фрагменты и передаются клиенту по протоколу HTTP. Это позволяет надежно передавать видео через существующую HTTP-инфрастуктуру, преодолевать прокси-сервера, а также безболезненно переносить проблемы с сетью, изменения сетевых адресов итд.
DASH — Dynamic Adaptive Streaming over HTTP. Стандарт DASH ISO/IEC 23009-1:2012 был разработан группой MPEG в 2011 году
Технология MPEG-DASH в целом аналогична другой известной технологии HLS (HTTP Live Streaming), разработанной компанией Apple и широко используемой на мобильных устройствах с iOS и Android. Поток представлен в виде небольших по длительности фрагментов и плейлиста (манифеста), содержащего метаданные потока и ссылки на фрагменты.

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

Как мы делали API для социальной сети (REST API для WEB)

Время на прочтение9 мин
Количество просмотров55K
Я в своей работе часто сталкиваюсь с разными новыми концепциями, идеологиями и проектами. В основном из-за того, что участвую в разработке разных больших проектов, в каждом из которых встречаю что-то новое. Сегодня я хочу рассказать о своем опыте с REST API. Идеологии, которую мне как-то раз довелось применить при разработке одной социальной сети.

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

Хочу сразу оговориться: REST для меня — это, в первую очередь, идеология, к которой я отношусь трепетно и нежно. И, если кто-то не готов принять ее такой, какая она есть — не стоит читать дальше эту статью. У программиста всегда есть куча полезных дел, которыми можно заняться, пока приходит понимание необходимости писать узнаваемые интерфейсы и прятать за их простотой логику приложений любой сложности…

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

Теперь давайте по порядку.
Читать дальше →
Всего голосов 61: ↑49 и ↓12+37
Комментарии52

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность