RSS
Pages: 1 ... 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 ... 210
[>] Вы неправильно пишете животных
habra.14
habrabot(difrex,1) — All
2015-04-01 11:30:02


Животные – это платформы с очень ограниченной памятью, вычислительными способностями и возможностями модификаций. Разработчикам энимал-сцены приходится выдавать практически гениальные низкоуровневые алгоритмы. Правда, большое количество хардкода вызывает характерные проблемы с отсутствием проверки в экзотических условиях. Та же фильтрация входных данных делается очень и очень криво. ![][1] _Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти_ Не знаю, кто писал большую часть птиц, но я хочу обратить внимание на особенность, позволяющую провести **инъекцию произвольного яйца в гнездо**. Дело в том, что птица проверяет только расположение и количество яиц, но не их хэши. В 20% случаев кукушка, эксплуатирующая этот баг, может внести яйцо с сохранением контрольной суммы, чего вполне достаточно для повышения прав в гнезде. Но пойдём далее. Я не знаю, кто разрабатывал архитектуру ящериц, но они бегают в одном процессе, а дышат в другом. При этом платформа не поддерживает многозадачность, поэтому костыль с максимальной длиной бега в 4-6 секунд просто эпичен. [Читать дальше →][2]

[1]: //habrastorage.org/files/a80/d75/4ad/a80d754ad09b474cb494c933f978c292.png
[2]: http://habrahabr.ru/post/254473/#habracut

[>] Инфраструктура и торговые роботы: Какие языки программирования используются в сфере финансов
habra.15
habrabot(difrex,1) — All
2015-11-23 18:00:04


[![][1]][2] Биржевая торговля — это высокотехнологичная отрасль. В нашем блоге на Хабре мы рассказывали о том, какие протоколы используются для передачи финансовой информации ([раз][3], [два][4], [три][5], [четыре][6]), [демонстрировали инфраструктуру][7] узла финансового трейдинга и описывали процесс [оптимизации производительности][8] торгового терминала. Сегодня речь пойдет о том, какие языки программирования используются в сфере финансов, для решения каких задач они применяются, и на каком из них остановить выбор в каждом конкретном случае. [Читать дальше →][9]

[1]: https://habrastorage.org/files/5bc/fac/e9c/5bcface9c18a40748587aef082ef403c.jpg
[2]: http://habrahabr.ru/company/itinvest/blog/271493/
[3]: http://habrahabr.ru/company/itinvest/blog/242789/
[4]: http://habrahabr.ru/company/itinvest/blog/243657/
[5]: http://habrahabr.ru/company/itinvest/blog/261709/
[6]: http://habrahabr.ru/company/itinvest/blog/270961/
[7]: http://habrahabr.ru/company/itinvest/blog/255967/
[8]: http://habrahabr.ru/company/itinvest/blog/257919/
[9]: http://habrahabr.ru/post/271493/#habracut

[>] Факториал на числах Чёрча — теперь и в смайликах
habra.14
habrabot(difrex,1) — All
2015-04-01 13:00:02




#### Всем доброго утра

![][1] Это полностью валидный код на JavaScript. [Как же так?][2]

[1]: http://habrastorage.org/getpro/habr/post_images/ffb/d23/6b5/ffbd236b5e1e03b1cf4b85168a6a5694.png
[2]: http://habrahabr.ru/post/254587/#habracut

[>] Как в Badoo генерируются изображения для «шаринга» в соцсетях
habra.15
habrabot(difrex,1) — All
2015-11-23 18:00:04


Социальные сети — важный источник трафика. Нам выгодно, когда пользователи делятся контентом, и мы даем им такую возможность — у нас есть несколько видов контента, которым можно поделиться:

* свой профиль;
* чужой профиль (если его владелец это разрешил);
* свой рейтинг, отражающий популярность пользователя на сайте;
* награды, полученные пользователем за свои действия или действия других пользователей.

Чтобы пользователю хотелось делиться всем этим, мы генерируем специальные изображения, которые называем бейджами. Вот пример бейджа, который может получить пользователь: ![][1] Особенность бейджей состоит в том, что на них присутствуют фото самих пользователей, поэтому каждый видит и делится уникальными изображениями. В этой статье я расскажу, как мы генерируем такие изображения, с какими проблемами сталкивались и как их решали. [Читать дальше →][2]

[1]: https://habrastorage.org/files/2e2/920/d07/2e2920d07e2f499eba28ee18a27e5c7f.jpg
[2]: http://habrahabr.ru/post/270991/#habracut

[>] Superfish: возвращение
habra.15
habrabot(difrex,1) — All
2015-11-23 21:00:03


В начале этого года исследователями было найдено шпионское ПО, поставляемое с ноутбуками фирмы Lenovo. [Без постов][1] по этой теме на хабре не обошлось. За это [Lenovo поплатились][2] атакой на свой сайт. ![][3] [Читать дальше →][4]

[1]: http://habrahabr.ru/post/251069/
[2]: http://habrahabr.ru/company/pt/blog/251609/
[3]: https://habrastorage.org/files/3c0/e24/046/3c0e2404660a40289f78dd9ef0654ee8.jpg
[4]: http://habrahabr.ru/post/271511/#habracut

[>] [Из песочницы] Погодная станция на Arduino
habra.14
habrabot(difrex,1) — All
2015-04-01 13:00:02


Метеостанция предназначена прежде всего для наблюдения за погодой, просмотром текущей температуры, влажности и атмосферного давления. Вещь очень удобная для рыбаков. Я решил сделать свою метеостанцию на основе Arduino, но с отображением данных на мобильном телефоне. ![image][1] [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/a4e/5d1/668/a4e5d16687414d2aa89440d3216b11ab.jpg
[2]: http://habrahabr.ru/post/254465/#habracut

[>] ZeroNights — про прошедший hackquest и грядущий Hardware Village
habra.15
habrabot(difrex,1) — All
2015-11-23 21:30:03


![image][1]

# Привет!

До конференции ZeroNights, о которой мы уже не раз писали на Хабре, остаются считанные дни! Одним из последних наших постов был рассказ про [HackQuest][2]. Он успешно прошел и пришло время о заданиях и о том, как их решали. И конечно же — поздравить победителей!

* 1 день, задание “Chocolate Factory” (web) — cdump и BlackFan
* 2 день, задание “HSM V1.0” (web, crypto, hash cracking) — Abr1k0s
* 3 день, задание “BAZAAR NG” (web) — AV1ct0r
* 4 день, задание “ILLOGICAL PHOTOGALLERY” (web, oauth) — Beched
* 5 день, задание “CRACKME” (reverse) — sysenter
* 6 день, задание “BANK ROBBERY”, (phreaking, web) — dr.glukyne
* 7 день, задание “BLINK2PWN”, (reverse, binary pwn) — mr\_dawerty

[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/6b7/1d3/db8/6b71d3db8a086658cd9d64609f444de6.jpg
[2]: http://habrahabr.ru/company/dsec/blog/270393/
[3]: http://habrahabr.ru/post/271431/#habracut

[>] [Из песочницы] Пять очевидных ошибок, которые почему-то продолжают совершать
habra.14
habrabot(difrex,1) — All
2015-04-01 13:00:02


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

#### Пролог

Сайты иногда падают. Такое случается. Но вот то, что описано в статье, случаться не должно.

#### \#1

Недавно зашёл на сайт одной компании и увидел (в очередной раз, замечу) вместо него сообщение об ошибке: ![][1] Почему сайт упал — это отдельный разговор. Скажу лишь, что это на совести его разработчиков. **Первая ошибка (слишком очевидная, но…)**: показ сообщений об ошибках. Да, все знают, что нужно отключать дебаг в продакшене. Но, чёрт возьми, почему я регулярно вижу сообщения об ошибках в своём браузере?! [Читать дальше →][2]

[1]: //habrastorage.org/files/f28/c28/478/f28c28478b7241ecb3136b1509f60560.png
[2]: http://habrahabr.ru/post/254597/#habracut

[>] О бане, троллях и бесплатных продуктах «Лаборатории»
habra.14
habrabot(difrex,1) — All
2015-04-01 13:30:02


![][1]В «Космической одиссее 2001 года» Фрэнк Боумэн отключает, один за другим, модули памяти компьютера HAL 9000, а HAL 9000 поет песню про Дейзи. Чуть раньше HAL пытался убить самого Боумэна, а заодно и всех остальных людей на борту «Дискавери-1», и у него почти получилось. Зачем он это сделал? Трактовать можно по-разному. Например, что получив две вводные: «Я знаю больше, чем экипаж, и должен хранить этот секрет» и «Они планируют меня отключить», HAL абсолютно логично посчитал, что он важнее, чем экипаж. Фрэнку тем не менее очень хотелось жить, и, зная, что имеет дело с компьютером, он не стал просить компьютер одуматься, а просто разнес чертову железку на микросхемы. С компьютерами на самом деле очень просто: они всегда (всегда!) делают то, на что запрограммированы. С людьми сложнее: понять мотивацию и причины для высказываний и поступков подчас вовсе невозможно. Люди (пока что только они) программируют компьютеры, и собственно все компьютерные проблемы – от глюков системы до вирусов – от людей. В сегодняшнем первоапрельском посте – пять историй про людей, а также немножко про программы. И совсем чуть-чуть про троллей и баню. И самую малость – про то, как люди мешают программистам работать. [Читать дальше →][2]

[1]: http://habrastorage.org/files/1d0/16a/b5c/1d016ab5ccab48348c53b80d93c04b4e.jpg
[2]: http://habrahabr.ru/post/254611/#habracut

[>] [Из песочницы] Очередной XSS на SoundCloud
habra.14
habrabot(difrex,1) — All
2015-04-01 14:30:02


![image][1] Вечерний багхантинг на Facebook привел к сервису Soundcloud. Исследовалась возможность XSS уязвимостей при шейринге треков в ленту Facebook. После нескольких неудачных попыток захотелось проверить и сам Soundcloud. В течение первых 5 минут был обнаружен бесполезный, так называемый self-xss — при добавлении нового тега можно передать скрипт. При наведении на этот тэг курсором исполнялся код. Чуть позже я нашел два видео в youtube.com, где горе багхантеры выкладывали это как нечто критичное (один даже назвал видео как «Soundcloud Xss epic fail»). Продолжив свои развлечения, подключил второго персонажа, ведь если есть атакующий, должна быть и жертва. [Читать дальше →][2]

[1]: http://s1.postimg.org/idvxdyblb/image.jpg
[2]: http://habrahabr.ru/post/254583/#habracut

[>] Релиз Android Studio 2.0: две убер-фичи
habra.15
habrabot(difrex,1) — All
2015-11-24 10:30:02


![][1]Приветствую. Сегодня утром состоялся ожидаемый релиз Android Studio версии 2.0, в которой google представил нам сразу две крутые фичи. Во-первых, это новый эмулятор android. Который, по словам google, «на хорошем железе работает быстрее физического устройства». Во-вторых, это новая функция «instant run», которая позволяет почти мгновенно обновлять запущенное под отладкой мобильное приложение при изменении исходного кода. Это практически [«hot reload»][2] из веб разработки. Под катом — чуть подробнее и ряд менее заметных улучшений. [Читать дальше →][3]

[1]: https://habrastorage.org/files/aab/5ef/27d/aab5ef27d28845db9f0e7e0a28d29d27.png
[2]: http://habrahabr.ru/company/Voximplant/blog/270593/
[3]: http://habrahabr.ru/post/271535/#habracut

[>] [Из песочницы] Программирование для непрограммистов к 1 апреля
habra.14
habrabot(difrex,1) — All
2015-04-01 14:30:02


Наступает один из самых веселых народных праздников – День дурака, или более политкорректно – День смеха. Соответственно, встает насущный вопрос – как подшутить над коллегами на работе, не нажив себе дополнительных врагов. Можно, конечно, воспользоваться классическими приколами типа: • спросить подопытного, как расшифровывается слово «ДУНЯ»; предложить свой вариант «Дураков У нас Нет»; и дождаться недоуменного «А Я?»; • напихать в фотодатчик мышки испытуемого ворсинок или просто заклеить его скотчем (в смысле, датчик)… Но можно применить и более высокотехнологичные и изощренные способы «сноса крыши» с помощью программ-шуток. В принципе, в интернете можно найти и накачать кучу таких приложений. Но запуск подобных программ – весьма сомнительное и опасное занятие. Оптимальный вариант – написать такую программу самому. О том, как это быстро сделать, не имея совершенно никаких навыков в программировании, вы узнаете в данной статье. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/254609/#habracut

[>] Декларативное программирование на C++
habra.15
habrabot(difrex,1) — All
2015-11-24 12:00:02


![][1] В пятницу выдался свободный вечер, такой когда срочных дел нет, а несрочные делать лень и хочется чего-то для души. Для души я решил посмотреть какой-нибудь доклад [CppCon 2015][2] которая прошла чуть больше месяца назад. Как правило на видео доклады вживую у меня никогда времени не хватает, но тут все так уж сложилось — прошел месяц, C++-17 уже на носу и конференция должна была быть интересной, но никто еще ничего о ней не писал, а тут еще и вечер свободный.В общем я быстренько ткнул мышкой в первый привлекший внимание заголовок: [Andrei Alexandrescu “Declarative Control Flow"][3] и приятно провел вечер. А потом решил поделиться с хабрасообществом вольным пересказом. [Читать дальше →][4]

[1]: https://habrastorage.org/files/ef3/519/7e2/ef35197e24db482dbb90df084b1ca883.png
[2]: https://github.com/CppCon/CppCon2015
[3]: https://www.youtube.com/watch?v=WjTrfoiB0MQ
[4]: http://habrahabr.ru/post/270545/#habracut

[>] Простой DICOM клиент на GO с балансировщиком задач и веб-интерфейсом
habra.14
habrabot(difrex,1) — All
2015-04-01 14:30:02


![][1] Привет Хабр! В последнее время я очень сильно увлекся разработкой на языке GO. Изящный и выразительный язык программирования. Мне давно хотелось сделать что-нибудь полезное. По специфике своей работы мне приходится работать с медицинскими архивами DICOM-изображений PACS. [Читать дальше →][2]

[1]: //habrastorage.org/files/7a6/072/855/7a6072855a2a468fb6560fb42ad0b478.jpeg
[2]: http://habrahabr.ru/post/254581/#habracut

[>] Доступна preview Android Studio 2.0: две убер-фичи
habra.15
habrabot(difrex,1) — All
2015-11-24 12:30:02


![][1]Приветствую. Сегодня утром состоялся ожидаемый релиз Android Studio версии 2.0, в которой google представил нам сразу две крутые фичи. Во-первых, это новый эмулятор android. Который, по словам google, «на хорошем железе работает быстрее физического устройства». Во-вторых, это новая функция «instant run», которая позволяет почти мгновенно обновлять запущенное под отладкой мобильное приложение при изменении исходного кода. Это практически [«hot reload»][2] из веб разработки. Под катом — чуть подробнее и ряд менее заметных улучшений. [Читать дальше →][3]

[1]: https://habrastorage.org/files/aab/5ef/27d/aab5ef27d28845db9f0e7e0a28d29d27.png
[2]: http://habrahabr.ru/company/Voximplant/blog/270593/
[3]: http://habrahabr.ru/post/271535/#habracut

[>] Командно-ориентированная навигация в xaml-приложениях
habra.14
habrabot(difrex,1) — All
2015-04-01 14:30:02


Недавно мы уже узнали о _[принципе прямых инжекции][1]_ и эффективном связывании вью-моделей с представлениями, а также о том, каким образом создавать [_расширения привязки_][2]. Продолжим исследование библиотеки [_Aero Framework_][3] и рассмотрим ещё один архитектурный вопрос. Навигация между представлениями (экранами) в _xaml_-ориентированных приложениях довольно важная и интересная задача. Особенно это касается её реализации в рамках паттерна _MVVM_. В идеале вью-модели не должны содержать никаких прямых ссылок на представления, чтобы быть кросс-платформенными и сохранялась возможность повторного их использования в нескольких проектах. Сегодня мы узнаем, как этого достичь. ![][4] [Читать дальше →][5]

[1]: http://habrahabr.ru/post/254373/
[2]: http://habrahabr.ru/post/254115/
[3]: http://makeloft.by/ru/tools
[4]: //habrastorage.org/files/741/5d8/8d1/7415d88d178848f6a1c93df00c75657c.jpg
[5]: http://habrahabr.ru/post/254615/#habracut

[>] Хроники лаборатории: как мы молотый кофе считали софтом для анализа клеточных структур
habra.15
habrabot(difrex,1) — All
2015-11-24 13:00:03


![][1] Продолжаю кофейную тематику, которую я начал еще на geektimes: [Здравствуйте, я Meklon и я кофеин-зависимый][2]. Сегодня мы будем творить непотребства с софтом для биоинженерных задач — CellProfiler. Нормальные люди им считают клетки, плазмиды, экспрессию белка и прочие нужные вещи. Мы долбанутые, поэтому будем проводить гранулометрический анализ помола по микрофотографии, бить кофе статическим электричеством и думать, как прицепить к этому безобразию фен. Ну и конечно нам потребуется скотч для получения картины распределения частиц. В целом, компьютерный анализ изображения — штука гибкая и может применяться в совершенно странных задачах. Заодно проверим, можно ли заменить турку колбой с магнитной мешалкой. В конце концов, главный принцип выживания в лаборатории — «Нет кофе — нет работы») Под катом очень много фотографий, но я постарался их ужать до приличных размеров. [Читать дальше →][3]

[1]: https://habrastorage.org/files/4d1/801/742/4d18017421ce403f876c9e979e88daca.jpg
[2]: http://geektimes.ru/post/253326/
[3]: http://habrahabr.ru/post/271405/#habracut

[>] [Из песочницы] Установка и настройка LXC на Debian 8
habra.15
habrabot(difrex,1) — All
2015-11-24 13:00:03


На предыдущих версиях Debian я успешно использовал технологию виртуализации OpenVZ. Она меня полностью устраивала, несмотря на наличие некоторых спорных моментов. На Debian 8 Jessie установка этой технологии не шла ни под каким соусом. Позже мои догадки о невозможности существования OpenVZ на Debian 8 и старше нашли свое подтверждение на toster.ru. Там же была предложена альтернатива — LXC, что я и решил попробовать. Кратко опишу способ установки и настройки LXC на Debian Jessie. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/271537/#habracut

[>] Программирование смайликами
habra.14
habrabot(difrex,1) — All
2015-04-01 14:30:02


![image][1] В честь сегодняшнего светлого дня публикую эту статью. Ведь вам тоже иногда кажется, что код состоит из смайликов?

#### Ruby

Определение значения по умолчанию или мимика губами:

foo ||= []
foo ||= {}
foo ||= ''
foo ||= 0


[Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/390/63d/8d3/39063d8d36811d7d8be02a9493e182d8.png
[2]: http://habrahabr.ru/post/184278/#habracut

[>] Классический криптоанализ
habra.15
habrabot(difrex,1) — All
2015-11-24 13:30:02






На протяжении многих веков люди придумывали хитроумные способы сокрытия информации — шифры, в то время как другие люди придумывали еще более хитроумные способы вскрытия информации — методы взлома. В этом топике я хочу кратко пройтись по наиболее известным классическим методам шифрования и описать технику взлома каждого из них. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/271257/#habracut

[>] [Перевод] Чем отличаются SSL-сертификаты от Namechap? Шифрование, проверка и доверие
habra.15
habrabot(difrex,1) — All
2015-11-24 14:30:04


_Примечание переводчика. После моего [поста][1] о [Хостинг Кафе][2] появились два комментария ([1][3], [2][4]) о том, что на [HTTPS.menu][5] нет бесплатных сертификатов, и как раз в тот день вышла статья основателя Namecheap о бесплатных SSL. Изначально статья называлась «Факты о бесплатных SSL» («The Facts About Free SSL»), однако через пару дней после публикации статью переименовали и немного отредактировали._ [![][6]][7] (Замечание: После получения ценной обратной связи сообщества по сетевой безопасности, мы отредактировали эту статью, чтобы разъяснить нашу точку зрения, а также удалили второстепенные вопросы, которые отвлекали от основных, а именно: значительности проверки при SSL-сертификации и необходимости разъяснять пользователям, что из-за разработок в сфере автоматизации SSL-сертификации, наличие букв ¨https¨ и изображения замка в адресной строке уже может не свидетельствовать о безопасности, как ранее. Благодарим Вас за ценную обратную связь. Мы всегда прислушиваемся к ней и всегда открыты к обсуждению вопросов.) Namecheap ориентирован на обеспечение безопасности и защиты данных всех пользователей. Мы считаем, что тенденция к шифрованию практически всего веб-трафика посредством автоматизированной выдачи SSL-сертификатов – положительное изменение в Интернете. Предотвращение MITM атак, а также других попыток перехвата данных, в интересах всех сторон. Это неоспоримый факт. Однако существует значительная разница между шифрованием и обеспечением безопасности. Это может показаться тривиальным продвинутым пользователям или специалистам, но для потребителей – это актуальная информация. Мы думаем, что проверка владельца сертификата – важный вопрос, который требует особого внимания и обсуждения. Разработки последнего времени в сфере автоматизации выпуска SSL-сертификатов с технической точки зрения потрясающие. Тем не менее, следует разъяснить пользователям специфику новой модели обеспечения безопасности и то, на какие сигналы обращать внимание при принятии решений об обеспечении безопасности. Искать буквы «https» и изображение замка в адресной строке — т. е. показатели, которые традиционно считались достоверными, уже может быть и не так надежны, когда речь заходит о безопасности пользователя. [Читать дальше →][8]

[1]: http://habrahabr.ru/company/hosting-cafe/blog/271139/
[2]: http://hosting.cafe
[3]: http://habrahabr.ru/company/hosting-cafe/blog/271139/#comment_8657687
[4]: http://habrahabr.ru/company/hosting-cafe/blog/271139/#comment_8657765
[5]: http://https.menu
[6]: https://habrastorage.org/files/607/522/ca2/607522ca21eb49649b7f1ba8c766259f.png
[7]: http://https.menu
[8]: http://habrahabr.ru/post/271521/#habracut

[>] [Перевод] Нейросеть в 11 строчек на Python: часть 1
habra.15
habrabot(difrex,1) — All
2015-11-24 16:30:02




#### О чём статья

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

#### Дайте код!



X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])
y = np.array([[0,1,1,0]]).T
syn0 = 2*np.random.random((3,4)) - 1
syn1 = 2*np.random.random((4,1)) - 1
for j in xrange(60000):
l1 = 1/(1+np.exp(-(np.dot(X,syn0))))
l2 = 1/(1+np.exp(-(np.dot(l1,syn1))))
l2_delta = (y - l2)*(l2*(1-l2))
l1_delta = l2_delta.dot(syn1.T) * (l1 * (1-l1))
syn1 += l1.T.dot(l2_delta)
syn0 += X.T.dot(l1_delta)


Слишком сжато? Давайте разобьём его на более простые части. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/271563/#habracut

[>] Приглашаем на третью встречу IT-специалистов Hack Weekend
habra.14
habrabot(difrex,1) — All
2015-04-01 16:00:02


![][1] Приглашаем всех желающих на третью встречу IT-специалистов Hack Weekend, которая пройдёт в Калуге с 3 по 4 апреля. Здесь собираются представители самых разных профессий — разработчики, дизайнеры, проектировщики и т.д. В течение суток они будут обмениваться опытом и тут же применять полученные знания. Самые стойкие смогут заниматься разработкой без перерыва на сон, все 24 часа. Причём с участниками, создающими свои продукты, будут работать менторы. Помимо практического блока, на хакатоне можно будет посетить и лекции от специалистов. Александр [spiteful][2] Панфилов, ведущий программист Mail.Ru Group, расскажет о протоколе авторизации OAuth2, о его создании, причинах популярности и способах использования. Также будут материалы от таких компаний, как ФРИИ, Яндекс, Астрал. В заключительной части хакатона будет проходить Startup-сессия перед Фондом Развития Интернет Инициатив (ФРИИ), Microsoft, Центром Облачных Вычислений (ЦОВ), IT Центром Астрал, инвесторами и акселераторами. Лучшие представленные проекты имеют шанс найти инвесторов, а также будут вручены подарки. Организаторы хакатона: Центр облачных вычислений, IT Центр ЗАО «Калуга Астрал», NeuronWeb. Генеральным спонсором и партнером является ИКТ Кластер Калужской области. Участие в Hack Weekend #3 бесплатное. [Регистрация на мероприятие][3]. [][4]

[1]: //habrastorage.org/files/6e0/16e/057/6e016e057adb496693b4ccf8e8833198.jpg
[2]: http://habrahabr.ru/users/spiteful/
[3]: https://hack-weekend.timepad.ru/event/183155/
[4]: http://habrahabr.ru/post/254641/#habracut

[>] Asyncio Tarantool Queue, вставай в очередь
habra.15
habrabot(difrex,1) — All
2015-11-24 16:30:02


![][1] В одной из своих статей я рассказывал об [асинхронной работе с Tarantool на Python][2]. В данной статье продолжу эту тему, но внимание хочу уделить обработке информации через очереди на [Tarantool][3]. Мои коллеги опубликовали несколько статей о пользе очередей ([Инфраструктура обработки очередей в социальной сети Мой Мир][4] и [Push-уведомления в REST API на примере системы Таргет Mail.Ru][5]). Хочу дополнить информацию об очередях на примере решений наших задач, а также рассказать о работе с [Tarantool Queue][6] на Python и asyncio. Почему мы выбираем именно Tarantool, а не Redis или RabbitMQ? [Читать дальше →][7]

[1]: https://habrastorage.org/files/efa/035/436/efa035436cca4b3a9f41d64e195f9f69.jpg
[2]: http://habrahabr.ru/company/mailru/blog/254727/
[3]: http://tarantool.org/
[4]: http://habrahabr.ru/company/mailru/blog/228131/
[5]: http://habrahabr.ru/company/mailru/blog/232981/
[6]: https://github.com/tarantool/queue/
[7]: http://habrahabr.ru/post/271513/#habracut

[>] Geo индекс для поиска новых знакомых или революционное открытие ученых из Австрии
habra.14
habrabot(difrex,1) — All
2015-04-01 16:30:02


Как вы знаете, Badoo — сервис для поиска новых людей. Кроме всего прочего, мы позволяем искать людей вокруг и в «игре» тоже показываем людей, которые находятся недалеко от вас. Эта часть «вокруг» очень и очень важна. Ведь молодому человеку из Новосибирска гораздо интереснее познакомиться с девушкой, которая живет в пяти минутах ходьбы от него, а не во Владивостоке. ![][1] Мы до сих пор не рассказывали публично о том, как мы это делаем. Но [новое открытие][2] австрийских ученых настолько нас обрадовало, что мы решились это сделать. Перейдем же к делу. Badoo работает по всему миру и наш поиск работает абсолютно одинаково, вне зависимости от того, в какой точке земного шара вы находитесь. Как же эффективно искать людей вокруг среди всех 200+ миллионов пользователей? Решение нетривиально, честно говоря. Нам нужен какой-то индекс, какой-то способ сразу же сузить область поиска. В случае с земным шаром, самым простым разбиением является сетка географических широт и долгот. Однако проблема с этой сеткой в ее неравномерности. Ячейка у северного полюса и ячейка у экватора имеют совсем разные формы. Такое несимметричное разбиение вносит большие проблемы, если мы хотим равномерно распределить нагрузку по поисковому кластеру. [Читать дальше →][3]

[1]: //habrastorage.org/files/b7b/4f4/f74/b7b4f4f7453444958c56bbf655d71d5a.png
[2]: http://pub.ist.ac.at/~edels/hexasphere/
[3]: http://habrahabr.ru/post/254643/#habracut

[>] [Перевод] Учебное пособие по Nim (часть 2)
habra.15
habrabot(difrex,1) — All
2015-11-24 18:30:03





Перевод делался для себя, то есть коряво и на скорую руку. Формулировки некоторых фраз приходилось рожать в страшных муках, чтобы они хоть отдалённо были похожи на русский язык. Кто знает, как написать лучше — пишите в личку, буду править.





## Введение



> «Повторение придаёт нелепости вид благоразумия.» – Норман Вайлдбергер

_(в оригинале: "Repetition renders the ridiculous reasonable." – Norman Wildberger)_ Этот документ является учебным пособием по сложным конструкциям языка _Nim._ **Помните, что этот документ в чём-то устарел, а в руководстве есть гораздо больше актуальных примеров по сложным особенностям языка.** [Читать дальше →][1]

[1]: http://habrahabr.ru/post/271361/#habracut

[>] Google поздравил с 1 апреля запуском в корневой зоне .google
habra.14
habrabot(difrex,1) — All
2015-04-01 18:30:02


Компания Google на 1 апреля (Fool's Day) поздравила с одной стороны ожидаемым от гугла, в принципе — дудлом (doodlers), а с другой весьма любопытным в истории коммерческого интернета — фактом. А именно, запустив стартовую страничку поиска в корневом домене **.google** ![][1] Под катом скрины в натуральную величину, а также еще один дудл от Google в этот день. [Прошу под катbjornvalor pass:MerlAt810][2]

[1]: //habrastorage.org/files/86d/a01/7d3/86da017d3033487586a18b2552e45b5f.png
[2]: http://habrahabr.ru/post/254651/#habracut

[>] Как оценивать работу программиста? Мнение сотрудников Яндекса
habra.14
habrabot(difrex,1) — All
2015-04-01 19:00:02


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




В Яндексе работают сотни программистов, и результаты их работы влияют на сервисы, которыми пользуются миллионы людей. Когда на тебе такая ответственность, нужно уметь остановиться и оценить, что можно сделать лучше, в чем ты сильнее всего и где эти твои навыки пригодятся еще. Для этого надо уметь оценить и свою работу, и работу людей, с которыми ты вместе что-то создаешь. О том, как это делать, мы и спросили наших коллег. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/254635/#habracut

[>] Пример простейшего cgi сервера
habra.14
habrabot(difrex,1) — All
2015-04-01 19:30:02


Думаю многие знают, как работает CGI взаимодействие между клиентом и сервером: клиент получает от сервера и отдает серверу данные через стандартные stdin и stdout. Многие наверное даже сами писали CGI клиентов, ведь по сути — любой скрипт для веб-сервера это и есть CGI-клиент. А многие ли задавались вопросом, как именно происходит эта «магия»? Каким образом стандартные функции для ввода/вывода вместо экрана взаимодействуют с сервером? Результаты поиска ответа в сети меня не удовлетворили и я решил сам написать простейший CGI сервер, который сможет:

* Запускать дочерний процес — CGI скрипт
* Передавать скрипту переменные окружения и переменные командной строки
* Принимать от скрипта ответ
* Завершаться, когда завершится процесс клиента

Кроме этого, мне хотелось, чтобы клиент и сервер компилировались как в Windows, так и в Linux. [Подробности][1]

[1]: http://habrahabr.ru/post/254621/#habracut

[>] [Из песочницы] Формат хранения данных HV как попытка решения проблемы наглядного хранения текстовых полей
habra.15
habrabot(difrex,1) — All
2015-11-24 19:00:03


![][1] Не так давно передо мной встала задача иметь возможность хранить данные в текстовом виде, чтобы с ними работала не только программа, но мог прочитать и отредактировать (а также создать с нуля в текстовом редакторе) человек. Для этого уже существует множество удобных и хороших форматов, например JSON, YAML, XML и так далее. Но в рассмотренных системах попадались моменты, которые, все же, немного не понравились. Уделю особенное внимание яркому неудобству большинства таких форматов (естественно, на мой взгляд), в том числе и очень мощных и популярных, — проблеме, связанной с хранением текста: как записать текстовое поле, которое может содержать любые текстовые символы, чтобы его содержимое не приходилось менять, и оно не повлияло на парсинг, ведь там могут встретиться и различные подстроки, совпадающие со служебными комбинациями, и различные нестандартные отступы. [Читать дальше →][2]

[1]: https://habrastorage.org/files/87f/411/1f6/87f4111f6ee947d88aa87a53a129a222.jpg
[2]: http://habrahabr.ru/post/271501/#habracut

[>] Видео докладов с конференции IT NonStop Воронеж 2015
habra.14
habrabot(difrex,1) — All
2015-04-01 19:30:02


Привет, Хабр! Совсем недавно завершился воронежский этап отличной международной конференции [IT NonStop 2015][1]. Перед гостями выступили отличные спикеры с докладами на самые разные темы. Сегодня мы хотели бы поделиться с вами видео с выступлений. [Читать дальше →][2]

[1]: http://it-nonstop.net/
[2]: http://habrahabr.ru/post/254657/#habracut

[>] «Нежданчики» языка Фортран
habra.14
habrabot(difrex,1) — All
2015-04-02 11:30:04






Многие из нас, обучаясь программированию ещё в университетах или дома, делали это на языках С/С++. Конечно, всё зависит от времени, в которое начиналось наше знакомство с языками программирования. Скажем, кто-то начинал с Фортрана, другие — с Basic’a или Delphi, но стоит признать, что доля начавших свой тернистый путь программиста с С/С++ наибольшая. К чему я всё это? Когда перед нами стоит задача изучить новый язык и написать на нём код, мы часто основываемся на том, как бы я это написал на своём «базовом» языке. Сузим вопрос — если нужно написать что-то на Фортране, то мы вспоминаем, как бы это было реализовано на С и делаем по аналогии. Очередной раз столкнувшись с тонкостью языка, которая привела к абсолютно неработающему алгоритму и большой проблеме, эскалированной мне, я решил отыскать как можно больше нюансов языка Фортран, по сравнению с С, с которыми столкнулся лично. Это своего рода «нежданчики», которые ты явно не планировал увидеть, а они бац – и всплыли! Конечно, речь не пойдёт о синтаксисе — в каждом языке он свой. Я попробую рассказать о глобальных вещах, способных изменить всё «с ног на голову». Поехали! [Читать дальше →][1]

[1]: http://habrahabr.ru/post/254235/#habracut

[>] Способ быстрого измерения производительности случайного сервера
habra.15
habrabot(difrex,1) — All
2015-11-24 19:00:03


В мире веб-разработки часто возникает задача подбора сервера под веб-приложение, либо по-аналогии проверка производительности имеющегося сервера. Возможно, нам необходимо купить новый сервер, чтобы он выдерживал предполагаемую нагрузку. Может быть, заказчик передает нам для деплоя свой имеющийся сервер. В любом случае, если после развертывания и запуска приложения оно будет показывать низкую производительность, то спросят с команды. Основная проблема в том, что выполнить оценку производительности сервера нужно быстро, без использования специальных (читай, сложных) инструментов и, разумеется, до релиза. Мы должны уметь снять с сервера некие метрики и, умножив их на известные показатели приложения, получить оценку производительности приложения на этом сервере. В жизни выполнить эту задачу может далеко не каждый разработчик, а из оставшихся далеко не каждый хочет её выполнять. В этой статье я хочу рассказать о тех приёмах и инструментах, которые мы используем для оценки производительности сервера. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/271485/#habracut

[>] Релиз Django 1.8
habra.14
habrabot(difrex,1) — All
2015-04-02 12:30:02


![image][1] После почти целого года разработки, команда Django [объявила о релизе Django 1.8][2]. Эта версия Django является релизом с долговременной поддержкой(LTS), это означает, что данный релиз будет поддерживаться примерно около 3-х лет. Как всегда, много чего новенького, и это можно почитать в [заметках к релизу][3]. [Краткий список самого интересного..][4]

[1]: http://habrastorage.org/getpro/habr/post_images/964/2e4/825/9642e48253b1bb032ab1df86a9285602.png
[2]: https://www.djangoproject.com/weblog/2015/apr/01/release-18-final/
[3]: https://docs.djangoproject.com/en/1.8/releases/1.8/
[4]: http://habrahabr.ru/post/254701/#habracut

[>] Написание простейшей программы под Linux в машинных кодах
habra.15
habrabot(difrex,1) — All
2015-11-24 19:00:03


**Всем привет**. Я давно хотел прикоснуться к этой теме и написать что-то подобное, но никак руки не доходили. Сегодня я решился, и мы с вами разберем структуру ELF-файла (исполняемый файл на \*nix-подобных системах), и напишем простую программу под x86 Linux в машинных кодах, которая выведет сообщение на экран. Но тут не все так однозначно, поверьте мне. Начать бы я хотел с конца. А именно с того, что будет делать наша программа. Наша программа — не что иное, как куча машинного кода, который, впоследствии, будет исполняться системой. В качестве заместителя системы счисления Hex я буду использовать «Wct», ибо он гораздо удобнее, потому что имеется онлайн компилятор и возможность вставлять строки на ходу и использовать десятичные числа. У нас она будет выводить одну строку текста на экран. ![image][1] [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/123/79a/2c1/12379a2c1168ac3edf378fe67a8a0c49.jpg
[2]: http://habrahabr.ru/post/271519/#habracut

[>] Вышел Django 1.8
habra.14
habrabot(difrex,1) — All
2015-04-02 13:30:03


Согласно [официальному блогу][1] Django, 1 апреля 2015 года вышла новая версия Django — 1.8. Эта версия будет иметь долговременную поддержку (Long-Term Support) ещё по крайней мере три года. Из интересных нововведений —

* встроенная поддержка разных шаблонизаторов (определён API и добавлена встроенная поддержка Jinja2);
* поддержка сложных SQL-выражений в ORM, в том числе выражения if — then — else;
* определён API для Model.\_meta;
* в contrib.postgres добавлена новая PostgreSQL-специфичная функциональность.

Подробную информацию о релизе смотрите в [release notes][2]. [Читать дальше →][3]

[1]: https://www.djangoproject.com/weblog/2015/apr/01/release-18-final/
[2]: https://docs.djangoproject.com/en/1.8/releases/1.8/
[3]: http://habrahabr.ru/post/254703/#habracut

[>] IBM Watson научили обсуждать проблемы мирового уровня
habra.15
habrabot(difrex,1) — All
2015-11-24 19:00:03


Когнитивная система IBM Watson теперь может обсуждать различные проблемы людей не хуже любого эксперта. Команда специалистов из Технологического университета Джорджии (США) совместно с представителями IBM в течение шести месяцев обучали когнитивную систему понимать окружающий мир и находить пути решения некоторых важных проблем. Каждая из шести команд, работавших над проектом, подготовила 200 различных вопросов. IBM Watson пришлось изучить несколько новых для себя предметов, чтобы быть в состоянии вести диалог. К примеру, когнитивная система изучила несколько сотен статей по биологии из репозитория статей Biologue. После обучения Watson команды стали задавать системе вопросы об архитектуре, телекоммуникациях, вычислительной технике. Watson должен был сформулировать четкий ответ, используя изученный материал. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/271589/#habracut

[>] Анализ защищенности терминалов общего пользования
habra.14
habrabot(difrex,1) — All
2015-04-02 13:30:03


![][1] Игра Watch Dogs прекрасно описывает недалекое будущее: вокруг всевозможные девайсы, средства выдачи и приема наличных, а также разнообразные имеющие доступ в интернет устройства, нашпигованные уязвимостями, эксплуатация которых позволяет хакеру извлечь определенную выгоду. Например, в игре главный герой при помощи смартфона может скомпрометировать систему видеонаблюдения, получив тем самым возможности вести слежку и добывать дополнительную информацию. [Читать дальше →][2]

[1]: //habrastorage.org/files/8e3/e47/971/8e3e479715e94a53a0a7aad5e7d3cf75.jpg
[2]: http://habrahabr.ru/post/254003/#habracut

[>] Встречайте релиз Django 1.8
habra.14
habrabot(difrex,1) — All
2015-04-02 13:30:03


![image][1] После почти целого года разработки, команда Django [объявила о релизе Django 1.8][2]. Эта версия Django является релизом с долговременной поддержкой(LTS), это означает, что данный релиз будет поддерживаться примерно около 3-х лет. Как всегда, много чего новенького, и это можно почитать в [заметках к релизу][3]. [Краткий список самого интересного..][4]

[1]: http://habrastorage.org/getpro/habr/post_images/964/2e4/825/9642e48253b1bb032ab1df86a9285602.png
[2]: https://www.djangoproject.com/weblog/2015/apr/01/release-18-final/
[3]: https://docs.djangoproject.com/en/1.8/releases/1.8/
[4]: http://habrahabr.ru/post/254701/#habracut

[>] Azure Machine Learning для Data Scientist
habra.14
habrabot(difrex,1) — All
2015-04-02 14:00:02




> _Эта статья создана нашим другом из коммьюнити, [Дмитрием Петуховым][1], Microsoft Certified Professional, разработчиком компании Quantum Art. Статья — часть цикла про Fraud Detection, остальные статьи можно найти в профиле у Дмитрия._

![][2] **Azure Machine Learning** – облачный сервис для выполнения задач прогнозной аналитики (_predictive analytics_). Сервис представлен двумя компонентами: **_Azure ML Studio_** – средой разработки, доступной через web-интерфейс, и **_web-сервисами Azure ML_**. Типичная последовательность действий data scientist'a при поиске закономерностей в наборе данных с использованием алгоритмов обучения с учителем изображена и подробно описана под хабракатом. [Читать дальше →][3]

[1]: http://habrahabr.ru/users/codezombie/
[2]: http://litehtmlconv.azurewebsites.net/api/pics/438butzat46ss2c297_alurb
[3]: http://habrahabr.ru/post/254637/#habracut

[>] Алгоритм Брезенхема в паяльной печи — теория
habra.14
habrabot(difrex,1) — All
2015-04-02 15:00:02


Алгоритм Брезенхема является одним из старейших алгоритмов в машинной графике. Казалось бы, как можно применить алгоритм построения растровых прямых при создании домашней паяльной печи? Оказывается можно, причем с очень достойным результатом. Забегая вперед, скажу, что данный алгоритм очень хорошо скармливается маломощному 8-битному микроконтроллеру. Но обо всем по порядку. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/254719/#habracut

[>] swirl: стремительное погружение в R (learning by doing)
habra.15
habrabot(difrex,1) — All
2015-11-24 19:00:03


![][1] Еще каких-нибудь полтора года назад я был одним из тех, кто убежденно говорил «Нет, программирование — это точно не для меня». Не рискну сказать, что я стал программистом, но за последний год [R][2] заменил мне большинство повседневных программ для работы. Я работаю исследователем. С интересом наблюдаю, как постепенно R становится стандартом в академическом мире. В общем, в мире ширится понимание того, что с компьютером имеет смысл общаться чуть свободнее, чем на уровне программ click&drag. Так, совсем недавно [Медуза писала][3] о том, что программирование стоит изучать гораздо более широкому кругу людей, чем всегда было принято считать. В этом посте я расскажу об одном из самых коротких путей к программированию — изучении R с помощью специального пакета [swirl][4] (пакет в R — это то же, что во многих других языках называется библиотекой, расширение/дополнение исходного функционала). Пост рассчитан на читателя с нулевым знанием R, заинтересованного в изучении этого языка программирования; он поможет, как мне кажется, максимально эффективно и безболезненно сделать первые шаги в темный лес программирования.

: потому что только этим я могу поделиться, других языков программирования не знаю.
.
На Хабре довольно много публикаций с использованием R. Есть и посты о самом языке, например человека, заставшего R чуть ли не у самых истоков.
Для исследователя R — это просто must.



[Читать дальше →][5]

[1]: https://habrastorage.org/files/a8c/437/ffe/a8c437ffe65049968eb224a3e4a1e903.PNG
[2]: https://www.r-project.org/
[3]: https://meduza.io/cards/kak-perestat-boyatsya-i-nachat-programmirovat
[4]: http://swirlstats.com/
[5]: http://habrahabr.ru/post/271265/#habracut

[>] SaltStack: Предварительная генерация паролей для использования в сервисах
habra.14
habrabot(difrex,1) — All
2015-04-02 16:00:02




##### **О чем статья?**

Короткая статейка о том, как сгенерировать пароли необходимые для разнообразных сервисов автоматически устанавливаемых с помощью SaltStack. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/254403/#habracut

[>] [Перевод] Чем отличаются SSL-сертификаты от Namecheap? Шифрование, проверка и доверие
habra.15
habrabot(difrex,1) — All
2015-11-24 19:00:03


_Примечание переводчика. После моего [поста][1] о [Хостинг Кафе][2] появились два комментария ([1][3], [2][4]) о том, что на [HTTPS.menu][5] нет бесплатных сертификатов, и как раз в тот день вышла статья основателя Namecheap о бесплатных SSL. Изначально статья называлась «Факты о бесплатных SSL» («The Facts About Free SSL»), однако через пару дней после публикации статью переименовали и немного отредактировали._ [![][6]][7] (Замечание: После получения ценной обратной связи сообщества по сетевой безопасности, мы отредактировали эту статью, чтобы разъяснить нашу точку зрения, а также удалили второстепенные вопросы, которые отвлекали от основных, а именно: значительности проверки при SSL-сертификации и необходимости разъяснять пользователям, что из-за разработок в сфере автоматизации SSL-сертификации, наличие букв ¨https¨ и изображения замка в адресной строке уже может не свидетельствовать о безопасности, как ранее. Благодарим Вас за ценную обратную связь. Мы всегда прислушиваемся к ней и всегда открыты к обсуждению вопросов.) Namecheap ориентирован на обеспечение безопасности и защиты данных всех пользователей. Мы считаем, что тенденция к шифрованию практически всего веб-трафика посредством автоматизированной выдачи SSL-сертификатов – положительное изменение в Интернете. Предотвращение MITM атак, а также других попыток перехвата данных, в интересах всех сторон. Это неоспоримый факт. Однако существует значительная разница между шифрованием и обеспечением безопасности. Это может показаться тривиальным продвинутым пользователям или специалистам, но для потребителей – это актуальная информация. Мы думаем, что проверка владельца сертификата – важный вопрос, который требует особого внимания и обсуждения. Разработки последнего времени в сфере автоматизации выпуска SSL-сертификатов с технической точки зрения потрясающие. Тем не менее, следует разъяснить пользователям специфику новой модели обеспечения безопасности и то, на какие сигналы обращать внимание при принятии решений об обеспечении безопасности. Искать буквы «https» и изображение замка в адресной строке — т. е. показатели, которые традиционно считались достоверными, уже может быть и не так надежны, когда речь заходит о безопасности пользователя. [Читать дальше →][8]

[1]: http://habrahabr.ru/company/hosting-cafe/blog/271139/
[2]: http://hosting.cafe
[3]: http://habrahabr.ru/company/hosting-cafe/blog/271139/#comment_8657687
[4]: http://habrahabr.ru/company/hosting-cafe/blog/271139/#comment_8657765
[5]: http://https.menu
[6]: https://habrastorage.org/files/607/522/ca2/607522ca21eb49649b7f1ba8c766259f.png
[7]: http://https.menu
[8]: http://habrahabr.ru/post/271521/#habracut

[>] Совершенствуем xaml: Bindable Converters, Switch Converter, Sets
habra.14
habrabot(difrex,1) — All
2015-04-02 16:00:02


Нужно признать, _xaml_-код бывает отчасти многословным, что вызывает иногда некоторый дискомфорт при разработке. В статье рассмотрим оптимизации, которые помогут существенно улучшить организацию разметки и сделать её более читаемой. Особенно это касается работы с конвертерами, которые неотъемлемо связаны с механизмом привязки данных. Нам понадобятся некоторые знания из [прошлых статей][1], в частности, понимание [_принципа прямых инжекций_][2]. ![][3] [Читать дальше →][4]

[1]: http://habrahabr.ru/users/makeman/topics/
[2]: http://habrahabr.ru/post/254373/
[3]: //habrastorage.org/files/741/5d8/8d1/7415d88d178848f6a1c93df00c75657c.jpg
[4]: http://habrahabr.ru/post/254731/#habracut

[>] Векторный, открытый и удобный: Inkscape 0.91
habra.15
habrabot(difrex,1) — All
2015-11-24 21:00:03


Давно увлекаюсь векторной графикой, особенно ее созданием, отрисовкой с нуля. Много программ я пробовал, но в основном моим рабочим инструментом был CorelDraw, который меня всем устраивал. Не помню, почему и зачем я начал искать ему альтернативы, но в один прекрасный день я наткнулся на Inkscape. Это была любовь с первого взгляда… Я все ждал, что на Хабре появится статья-обзор новых возможностей версии Inkscape 0.91, а ее все нет. Решил написать сам, если что не так – не судите строго, пишу редко. Под катом будет много иллюстративных примеров и технических деталей. ![image][1] [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/ed3/8c1/fb7/ed38c1fb77d0e4b5f58afff6956dcec1.png
[2]: http://habrahabr.ru/post/271559/#habracut

[>] Асинхронная работа с Tarantool на Python
habra.14
habrabot(difrex,1) — All
2015-04-02 16:30:01


На Хабре уже есть статьи о NoSQL СУБД [Tarantool][1] и о том, как его используют в Mail.Ru Group (и не только). Однако нет рецептов того, как работать с Tarantool на Python. В своей статье я хочу рассказать о том, как мы готовим Tarantool Python в своих проектах, какие проблемы и сложности при этом возникают, плюсы, минусы, подводные камни и, конечно же, «в чем фишка». Итак, обо всем по порядку. ![][2] Tarantool представляет собой [Application Server для Lua][3]. Он умеет хранить данные на диске, обеспечивает быстрый доступ к ним. Tarantool используется в задачах с большими потоками данных в единицу времени. Если говорить о цифрах, то это десятки и сотни тысяч операций в секунду. Например, в одном из моих проектов генерируется более 80 000 запросов в секунду (выборка, вставка, обновление, удаление), при этом нагрузка равномерно распределяется по 4 серверам с 12 инстансами Tarantool. Не все современные СУБД готовы работать с такими нагрузками. Кроме того, при таком количестве данных, очень дорого ожидание выполнения запроса, поэтому сами программы должны быстро переключаться от одной задачи к другой. Для эффективной и равномерной загрузки CPU сервера (всех его ядер) как раз нужен Tarantool и асинхронные приемы в программировании. [Читать дальше →][4]

[1]: http://tarantool.org/
[2]: //habrastorage.org/files/716/488/7c9/7164887c961446a09aea38a920a4019f.jpg
[3]: http://habrahabr.ru/company/mailru/blog/252065/
[4]: http://habrahabr.ru/post/254727/#habracut

[>] [Перевод] Нейросеть в 11 строчек на Python
habra.15
habrabot(difrex,1) — All
2015-11-24 21:00:03




#### О чём статья

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

#### Дайте код!



X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])
y = np.array([[0,1,1,0]]).T
syn0 = 2*np.random.random((3,4)) - 1
syn1 = 2*np.random.random((4,1)) - 1
for j in xrange(60000):
l1 = 1/(1+np.exp(-(np.dot(X,syn0))))
l2 = 1/(1+np.exp(-(np.dot(l1,syn1))))
l2_delta = (y - l2)*(l2*(1-l2))
l1_delta = l2_delta.dot(syn1.T) * (l1 * (1-l1))
syn1 += l1.T.dot(l2_delta)
syn0 += X.T.dot(l1_delta)


Слишком сжато? Давайте разобьём его на более простые части. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/271563/#habracut

[>] [Из песочницы] Bubot — очень легкий фреймворк на Python 3 для программирования роботов и домашней автоматизации
habra.14
habrabot(difrex,1) — All
2015-04-02 18:30:03


Концептуально фреймворк представляет собой набор поддерживаемых пользователем модулей реализующих различные функции робототехники. При работе Bubot строит сеть из процессов, которые могут асинхронно получать и отправлять сообщения между собой. Так же вы можете построить сеть из роботов, которые будут общаться между собой. ![Bubot - Схема][1] Сеть процессов строится на базе стандартного Python модуля multiprocessing. Система обмена сообщениями и разделяемая память реализованы при помощи [Redis][2]. Каждый Bubot имеет встроенный веб-сервер веб-сервер [Tornado][3], который позволяет контролировать состояние, управлять роботом, на ходу менять параметры (калибровать) робота, а также закладывается возможность обмена данными между роботами. Bubot не является системой реального времени, хотя Bubot возможно интегрировать с кодом реального времени. [Читать дальше →][4]

[1]: http://wiki.razgovorov.ru/images/thumb/d/de/Bubot_scheme.png/700px-Bubot_scheme.png
[2]: http://devacademy.ru/posts/vvedenie-v-redis-py/
[3]: http://wiki.python.su/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D0%B8/Tornado-web?highlight=%28%28%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D0%B8%7CTornado-web%29%29
[4]: http://habrahabr.ru/post/254749/#habracut

[>] Про программистов
habra.15
habrabot(difrex,1) — All
2015-11-25 09:30:03


Не смог удержаться — очередной шедевр от 420 к «Часу кода». _Создатели поддерживают идею увеличения популяции программистов и призывают зрителей по мере сил этому способствовать._ ![][1] Один мальчик, однажды, провалился в параллельный мир, где все были дикие и невоспитанные, но поскольку он был начинающим ИТишником, то заново изобрел там компьютер, и все все игры, и программы, и стал там в конце концов царем планеты. А другого мальчика похитили инопланетяне, но он тоже умел программировать и сумел перепрошить космолет, чтобы он слушался только его, и прилетел обратно на землю, и привез с собой пришельцев на опыты. И ему сам президент вручил медаль, и дом у моря, и велосипед. А еще, как то раз, одна девочка сидела в парке с книжкой по программированию, а мимо проходил самый красивый мальчик в мире, и когда он увидел что она читает, он тут же признался ей в любви, и они жили долго и счастливо, и все время программировали. А один толстый мальчик решил написать игру и так увлекся, что все время забывал поесть, и очень сильно похудел пока писал, а потом эту игру продали, и он стал миллионером и плейбоем. А еще был случай когда некрасивая девочка выучила программирование лучше всех и стала директором огромной корпорации, и все мальчики за ней бегали, потому что красивых женщин много, а умных найти трудно. А один хулиган и двоечник решил изучать программирование просто от скуки, и у него вдруг оказался к этому талант, и он сразу получил кучу премий, и купил машину, и на ней поехал учиться в самый лучший институт. А все его друзья-хулиганы продолжали пить пиво во дворе и ничего в жизни не добились. А другой мальчик был такой умный, [Читать дальше →][2]

[1]: https://habrastorage.org/files/36d/0f6/94e/36d0f694ec1d4165af9ca6f28352f3a6.jpg
[2]: http://habrahabr.ru/post/271621/#habracut

Pages: 1 ... 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 ... 210