RSS
Pages: 1 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ... 133
[>] SimSim, откройся
habra.16
habrabot(difrex,1) — All
2016-05-23 20:00:02


![image][1]Привет! Многие из вас пишут под iOS. Практически у любого разработчика рано или поздно возникает нужда поковыряться во внутренностях своего приложения на уровне файлов — посмотреть, корректно ли распаковался какой-нибудь бандл, не полетела ли база. Самые настырные пользуются приложением SimPholders. Мы с коллегами какое-то время эксплуатировали вышеупомянутое творение, а потом утомились и перестали. [Читать дальше →][2]

[1]: https://habrastorage.org/files/740/d7d/50a/740d7d50ac39472b8651c9fc3ab4fd1c.jpg
[2]: https://habrahabr.ru/post/301488/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Kino: communication frawemork на NetMQ. Краткое описание
habra.16
habrabot(difrex,1) — All
2016-05-23 20:00:02




Лет 8 назад я начал работать в команде, которая разрабатывала один сервис. Интерфейс сервиса был достаточно прост, всего 4 метода, и выполнял он одну единственную задачу. В течение всего этого времени код постоянно изменялся: реализовались новые бизнес-правила и ограничения, добавлялась версионность. В один прекрасный момент, front-end‘у понадобился очень небольшой функционал, который был «зарыт» глубоко в сервисе. Реализация необходимой функции была разработана в виде компоненты и не представляло никаких проблем дать к ней доступ из сервиса через дополнительный метод… Кроме одной: нарушалась логическая связанность методов сервиса, то есть его «внутренности» начали становиться «внешностями».



Проблему можно было бы решить, если преобразовать все эти небольшие внутренние компоненты, к которым потребовался доступ извне, в отдельные сервисы. В таком случае, front-end мог бы получить доступ к их функционалу; основной же сервис стал бы более компактным и его роль сводилась к оркестровке вызовов.



Мы использовали WCF для построения сервисов. Разворачивать сервис в 50 строчек кода на WCF, как минимум на 3-4 серверах, с load-balancer‘ом, новыми URL‘ами и прочими наворотами, казалось не очень хорошей идеей. А хотелось какой-то легкости, перспективы…



Несколько лет спустя я принимал участие в другом проекте на Workflow Foundation. Глядя на то, что получалось в XAML-редакторе, я подумал: «А почему-бы не представить весь workflow, как последовательность сообщений»?

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

[1]: https://habrahabr.ru/post/301454/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] FizzBuzz на TensorFlow
habra.16
habrabot(difrex,1) — All
2016-05-24 03:30:03




**интервьюер**: Приветствую, хотите кофе или что-нибудь еще? Нужен перерыв?



**я**: Нет, кажется я уже выпил достаточно кофе!



**интервьюер**: Отлично, отлично. Как вы относитесь к написанию кода на доске?



**я**: Я только так код и пишу!



**интервьюер**: ...



**я**: Это была шутка.



**интервьюер**: OK, итак, вам знакома задача "fizz buzz"?



**я**: ...



**интервьюер**: Это было да или нет?



**я**: Это что-то вроде "Не могу поверить, что вы меня об этом спрашиваете."



**интервьюер**: OK, значит, нужно напечатать числа от 1 до 100, только если число делится нацело на 3, напечатать слово "fizz", если на 5 — "buzz", а если делится на 15, то — "fizzbuzz".



**я**: Я знаю эту задачу.



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



**я**: ...



**интервьюер**: Вот маркет и губка.



**я**: [задумался на пару минут]



**интервьюер**: Вам нужна помощь, чтобы начать?



**я**: Нет, нет, все в порядке. Итак, начнем с пары стандартных импортов:



import numpy as np
import tensorflow as tf



**интервьюер**: Эм, вы же правильно поняли проблему в fizzbuzz, верно?



**я**: Так точно. Давайте обсудим модели. Я думаю тут подойдет простой многослойный перцептрон с одним скрытым слоем.

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

[1]: https://habrahabr.ru/post/301536/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Первые слова крупных проектов
habra.16
habrabot(difrex,1) — All
2016-05-24 12:30:02


![][1] Большое дело начинается с малого шага. Какой-то студент из Питера смастерил веб-сайт на коленке. Никому не известный энтузиаст из Финляндии прислал анонс в тематическую эхо-конференцию по Minix. Кто может предположить, к чему это приведёт? Спустя много лет интересно взглянуть, как начинались некоторые популярные ИТ-проекты. [Читать дальше →][2]

[1]: https://habrastorage.org/files/275/a8e/a86/275a8ea869f94d9dba00709a0e4cdded.png
[2]: https://habrahabr.ru/post/301496/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сотрудники Яндекса будут представлять Россию в комитете по стандартизации C++
habra.16
habrabot(difrex,1) — All
2016-05-24 12:30:02


[![][1]][2] Хочу поделиться с вами радостной новостью: теперь мы можем влиять на развитие C++! Под «мы» я имею в виду всех российских программистов, работающих с C++. Но обо всем по порядку. [Читать дальше →][3]

[1]: https://habrastorage.org/files/5f4/faa/a43/5f4faaa43ff84516bef92059b01de9d2.jpg
[2]: https://habrahabr.ru/company/yandex/blog/301514/
[3]: https://habrahabr.ru/post/301514/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Рост хоккеистов: анализируем данные всех чемпионатов мира в текущем веке
habra.16
habrabot(difrex,1) — All
2016-05-24 13:00:02




[][1]





На днях завершился очередной чемпионат мира по хоккею.



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












И я задался вопросами. Действительно ли хоккеисты выше обычных людей? Как изменяется рост хоккеистов со временем в сравнении с обычными людьми? Есть ли устойчивые межстрановые различия?

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

[1]: http://image.spreadshirtmedia.com/image-server/v1/designs/13069879,width=280,height=280?mediaType=png
[2]: https://habrahabr.ru/post/301340/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как защитить облачную инфраструктуру
habra.16
habrabot(difrex,1) — All
2016-05-24 14:00:02


[][1] / [фото Joe Grand][2] [CC][3] Согласно [статистике][4], треть предприятий США использует облако. При этом ожидается, что к 2020 году количество облачных потребителей увеличится в два раза. Похожая ситуация наблюдается и в России. Несмотря на кризис, количество компаний, использующих облачные решения, с каждым годом растет. Российский облачный рынок [вырос][5] на 25% и достиг планки в 16,5 миллиардов рублей в 2015 году, и ожидается, что к 2018 году эта цифра увеличится до 32 миллиардов рублей. [Читать дальше →][6]

[1]: https://habrahabr.ru/company/it-grad/blog/283402/
[2]: https://www.flickr.com/photos/joesmooth/25004327896/in/photolist-E6xKfh-DZCBHe-Dzoyzv-Dbu3ti-E6xHL5-DXrKhh-DzoypF-Dbu2ZH-E8SJ9Z-DzoA3a-E6xHxE-DzozoK-Db9FU1-Dbu27k-E6xHtb-DZCzRZ-E8SHNP-DZCz9r-E6xFiQ-DFKZTu-Dzow86-Dbu2cR-Db9EzY-DzovF4-DzowgH-E6xFKb-DXrFiL-wWDGRc-DzoAnP-Db9LMY-DXrL85-DFL5SN-DFL6dh-DzoAfz-uVwDfp-Db9GVu-Db9GZ7-DFL3tj-Dzox94-Db9FdG-DXrHmo-DXrF9h-E6xDTf-Dzovn8-DbtZ3v-E8SGVX-DXrGxQ-vPWANB-rU79Bh-q62jtY
[3]: https://creativecommons.org/licenses/by/2.0/
[4]: http://goo.gl/uixTKK
[5]: http://www.comnews-conferences.ru/en/conference/cloud2016
[6]: https://habrahabr.ru/post/283402/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Pillow-SIMD
habra.16
habrabot(difrex,1) — All
2016-05-24 15:00:02




# Ускорение операций в 2.5 раза по сравнению с Pillow и в 10 по сравнению с ImageMagick

![][1]

[Pillow-SIMD][2] — это «форк-последователь» библиотеки работы с изображениями [Pillow][3] (которая сама является форком библиотеки PIL, ныне покойной). «Последователь» означает, что проект не становится самостоятельным, а будет обновляться вместе с Pillow и иметь ту же нумерацию версий, только с суффиксом. Я надеюсь более-менее оперативно выпускать версии Pillow-SIMD сразу после выхода версий Pillow.



## Почему SIMD



Есть несколько способов улучшения производительности обработки изображений (да и всех остальных вещей, наверное, тоже).



1. Можно использовать более лучшие алгоритмы, которые дают такой же результат.
2. Можно сделать более быструю реализацию существующего алгоритма.
3. Можно подключить больше вычислительных ресурсов для решения той же задачи: дополнительные ядра CPU, GPU.

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

[1]: https://habrastorage.org/files/44d/568/307/44d5683071214a0ca5cbfc1f2a14a67a.png
[2]: https://github.com/uploadcare/pillow-simd
[3]: https://python-pillow.org/
[4]: https://habrahabr.ru/post/301576/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Подробная инструкция по установке SSL-сертификата Let’s Encrypt на сервер с CMS Bitrix и Nginx
habra.16
habrabot(difrex,1) — All
2016-05-24 15:00:02


Да, на Хабре уже много текстов про сертификаты Let’s Encrypt, но полной пошаговой инструкции я, к сожалению, не нашёл. Хотел восполнить пробел. К тому же, с мая 2016 года в процессе установки произошли незначительные изменения, которые могут сбить с толку новичка. Поэтому я решил написать эту инструкцию. Так сказать себе на память и другим в помощь. Эта инструкция, в первую очередь, должна быть интересна новичкам. ![image][1] [Читать дальше →][2]

[1]: https://letsencrypt.org/images/letsencrypt-logo-horizontal.svg
[2]: https://habrahabr.ru/post/301558/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Разработка микро-учётной системы на lua, часть первая. Установка Lua 5.3.2 на Alt Linux 7.0
habra.16
habrabot(difrex,1) — All
2016-05-24 15:00:02


Задача: взять / сделать микроучётную систему для записи прихода / расхода. Исходная система: **Alt Linux 7.0** На альте такие вещи реализовываются через различные связки: **Framework + PostgreSQL**, **FPC + Firebird (superserver / portable)**. Поскольку речь идёт о создании простой программы с базой (ибо Firebird хоть и хорош для хранения больших данных, у него есть «приколы» при работе со связями и отображениями; хранимые процедуры, конечно, это круто, но без корректного механизма отображений и связей это тот ещё геморрой — ждать подтверждение каждой транзакции / записи не прикольно). Связка **Ananas + Firebird / MySQL / PostgreSQL** (нужное дополнить) не подходит по следующим причинам:

* Громоздкость приложения во время выполнения, даже если речь идёт о нескольких справочниках с формами.
* Сбойность самой платформы даже при простом добавлении данных в справочник.
* Необходимость шаманства с подключением базы чуть ли не при каждом запуске.
* Некорректно описанный внутренний язык бизнес-приложений — отсутствуют примеры, неудобочитаемый синопсис.
* Тяжёлая переносимость бизнес-платформы между рабочими станциями.

В итоге выбор остановился на связке **Lua + SQLite3**. Поскольку всё происходило в **Alt Linux 7.0**, с интерпретатором пришлось помучиться.

* Во-первых, в наличии была только версия 5.1.4.
* Во-вторых, указанная версия версия состояла только из интерпретатора и базовых библиотек. Ни о каком-либо **luarocks** или **luasql** речь просто не шла. Окей, вызов принят.

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

[1]: https://habrahabr.ru/post/301552/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Microsoft открыла исходники Xamarin.Forms. Мы не могли упустить шанс проверить их с помощью PVS-Studio
habra.16
habrabot(difrex,1) — All
2016-05-24 15:30:02






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

[1]: https://habrahabr.ru/post/301606/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Фестиваль для тех, кто делает Интернет. Встречайте лето правильно!
habra.16
habrabot(difrex,1) — All
2016-05-24 17:00:02


31 мая и 1 июня в кампусе бизнес-школы Сколково будет жарко вне зависимости от погоды - на одной площадке соберутся около 1500 участников. Повод собраться более чем подходящий - профессиональный фестиваль "Российские интернет-технологии". Это событие, по масштабам не просто превосходящее конференцию, а включающее в себя целых 7 конференций, объединённых вокруг отраслевой выставки. На фестивале не будет скучно никому: от уставшего от опыта системного администратора или программиста высоконагруженных систем до начинающих тестировщиков и прожжённых продажников. Почти как на обновлённом Хабре :-) Участников будут встречать конференции: по [серверной][1] и [фронтенд][2]-разработке, по [управлению и предпринимательству][3], по [разработке мобильных приложений][4], по [эксплуатации и devops][5], по [высоконагруженным системам][6] и конференция на стыке [enterprise и web-культур][7]. Кстати, кто дочитает до конца, кроме примеров, видео и бесплатного учебного курса получит неплохую скидку по волшебному коду HabrCode2016. [Читать дальше][8]

[1]: http://backendconf.ru/?utm_source=habr.mega&utm_medium=email&utm_campaign=ritfest.2016&utm_content=ritfest.2016.common
[2]: http://frontendconf.ru/?utm_source=habr.mega&utm_medium=email&utm_campaign=ritfest.2016&utm_content=ritfest.2016.common
[3]: http://whalerider.ru/?utm_source=habr.mega&utm_medium=email&utm_campaign=ritfest.2016&utm_content=ritfest.2016.common
[4]: http://appsconf.ru/?utm_source=habr.mega&utm_medium=email&utm_campaign=ritfest.2016&utm_content=ritfest.2016.common
[5]: http://rootconf.ru/?utm_source=habr.mega&utm_medium=email&utm_campaign=ritfest.2016&utm_content=ritfest.2016.common
[6]: http://junior.highload.ru/?utm_source=habr.mega&utm_medium=email&utm_campaign=ritfest.2016&utm_content=ritfest.2016.common
[7]: http://webscaleconf.ru/?utm_source=habr.mega&utm_medium=email&utm_camp aign=ritfest.2016&utm_content=ritfest.2016.common
[8]: https://habrahabr.ru/post/301572/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Чистим лук (но не плачем): методики оптимизации
habra.16
habrabot(difrex,1) — All
2016-05-24 17:00:02


Эта статья представляет собой формализованный ответ на [публикацию на форуме IDZ][1]. Проблема, которую описывал автор исходной публикации, заключалась в том, что производительность работы кода не увеличивалась в достаточной степени при использовании OpenMP на 8-ядерном процессоре E5-2650 V2 с 16 аппаратными потоками. Потребовалось некоторое время на форуме, чтобы помочь автору публикации и предоставить ему необходимые подсказки, однако времени для оптимизации кода было недостаточно. В этой статье описываются дальнейшие методики оптимизации в дополнение к описанным на форуме IDZ. [][2]



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

[1]: https://software.intel.com/en-us/forums/intel-moderncode-for-parallel-architectures/topic/590710
[2]: https://habrahabr.ru/company/intel/blog/301428/
[3]: https://habrahabr.ru/post/301428/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Настройка сервиса OpenVPN + LDAP аутентификация
habra.16
habrabot(difrex,1) — All
2016-05-24 17:00:02




# Цель статьи

Основная цель статьи – показать один из возможных сценариев настройки системы VPN доступа на базе OpenVPN с аутентификацией из LDAP (FreeIPA)

# Аудитория

Статья предназначена для Linux системных администраторов.

# Введение

Удаленный доступ к инфраструктуре необходим для выполнения многих задач таких как удаленная поддержка и использование конечных сервисов для удаленных сервисов.

# Про OpenVPN

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

# Исходные данные

Имеем инфраструктуру, которая включает несколько серверов, где все сервисы реализованы в виде контейнеров LXC. Данная инфраструктура уже включат в себя следующие настроенные серверы:






















Все контейнеры управляются через LXC драйвер для libvirt. Предполагается, что все последующие сервисы мы тоже развернем в LXC драйвере для libvirt. На сервере server1 доступ контейнеров в сеть осуществляется через сетевой мост с именем br0. Для подключения к LDAP серверу выдана учетная запись.

# Задачи

Нам следует организовать систему удаленного доступа для сотрудников к инфраструктуре. Обязательным условием является дополнительная проверка пользователя по паре username/password. В нашей инфраструктуре учетные записи пользователей храняться в FreeIPA, поэтому нам следует настроить интеграцию OpenVPN системы аутентификации с FreeIPA. Крупноблочно нам следует решить следующие задачи: • Установка и настройка LXC контейнера для обслуживания запросов OpenVPN • Установка и настройка OpenVPN сервера • Настройка LDAP (на базе FreeIPA) аутентификации на OpenVPN сервере • Настройка клиента OpenVPN [Читать дальше →][1]

[1]: https://habrahabr.ru/post/301554/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Web scraping при помощи Node.js
habra.16
habrabot(difrex,1) — All
2016-05-24 17:00:02




![][1]Тема веб-скрейпинга вызывает всё больше интереса как минимум потому, что это неисчерпаемый источник небольших, но удобных и интересных заказов для фрилансеров. Естественно, что всё больше людей пытаются выяснить, что это такое. Однако, довольно трудно понять, что такое веб-скрейпинг по абстрактным примерам из документации к очередной библиотеке. Гораздо проще разобраться в этой теме наблюдая за решением реальной задачи шаг за шагом.



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



Цель этой статьи – показать весь процесс создания и использования такого скрипта от постановки задачи и до получения конечного результата. В качестве примера я рассмотрю реальную задачу вроде тех, какие часто можно найти, например, на биржах фриланса, ну, а в качестве инструмента для веб-скрейпинга будем использовать Node.js.

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

[1]: https://habrastorage.org/files/1ad/554/426/1ad5544260064818be850112381d1e95.png
[2]: https://habrahabr.ru/post/301426/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Быстрое кодирование видео в Linux c Nvidia NVENC с SDK 7.5 и ffmpeg 3.0.2 на Nvidia GTX 960/970/980
habra.16
habrabot(difrex,1) — All
2016-05-25 00:30:02


![image][1] Данная статья была написана по мотивам статьи [Эффективное кодирование видео в Linux c Nvidia NVENC: часть 1, общая][2], однако имеет свои особенности и, в отличие от оригинальной статьи, где почему-то упустили этот момент, я применил переработанный [патч Nvidia Acceleration][3] к FFmpeg 3.0.2, получив помимо энкодера nvenc еще и быстрый фильтр ресайза — nvresize. В итого я получил возможность аппаратно кодировать видео в H.264 и HEVC при помощи видеокарты **Nvidia GTX 960** на достаточно слабом компьютере (Xeon L5420) со скоростью (для H.264), превышающей возможности данного процессора до 10 раз (и в 3 раза относительно Core i7)! Причем на моем любимом Debian 8 Jessie. Итак, начнем! [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/065/847/0f1/0658470f1a2b267895472031365f60cf.png
[2]: https://habrahabr.ru/post/262507/
[3]: http://developer.download.nvidia.com/compute/redist/ffmpeg/1511-patch/FFMPEG-with-NVIDIA-Acceleration-on-Ubuntu_UG_v01.pdf
[4]: https://habrahabr.ru/post/301654/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] I2P: Ускорение асимметричной криптографии с помощью таблиц
habra.16
habrabot(difrex,1) — All
2016-05-25 02:30:02


Асимметричная криптография в I2P всегда приводила к замедлению работы: алгоритм Диффи-Хельмана при установлении транспортных сессий и, на мой взгляд, неудачный выбор схемы Эль-Гамаля в I2P адресах. Это особенно заметно при работе на слабом железе и floodfill-ах. Предложенный в статье подход основан на использовании некоторых особенностей I2P и позволяет добиться существенного ускорения работы и снижения нагрузки на процессор. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/301304/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Обработка данных в iPython notebook для задач SEO
habra.16
habrabot(difrex,1) — All
2016-05-25 05:30:02


![image][1] При выполнении аналитических задач SEO, SMM, маркетинга мы столкнулись с непомерно растущим количеством инструментов для обработки данных. Каждый заточен под свои возможности или доступность для пользователя: Excel и VBA, сторонние SEO-инструменты, PHP и MySQL, Python, C, Hive и другие. Разнообразные системы и источники данных добавляют проблем: счетчики, рекламные системы, CRM, инструменты вебмастера Яндекса и Google, соцсети, HDFS. Необходим инструмент, совмещающий в себе простоту настройки и использования, модули для получения, обработки и визуализации данных, а также работы с различными типами источников. Выбор пал на iPython notebook (с недавних пор Jupyter notebook), представляющий собой платформу для работы со скриптами на 40 языках программирования. Широкое распространение платформа получила для научных вычислений, среди специалистов по обработке данных и машинному обучению. К сожалению для автоматизации и обработки данных маркетинговых задач Jupyter notebook используется крайне редко. [Читать дальше →][2]

[1]: https://habrastorage.org/files/c1e/b5f/287/c1eb5f287a574d1682177ab79a5f07ed.jpg
[2]: https://habrahabr.ru/post/301640/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Программист ли я, или просто хорошо гуглю?
habra.16
habrabot(difrex,1) — All
2016-05-25 11:00:02


![][1]

#### **Письмо Скотту Хансельману**

«Иногда в моей голове звучит вопрос — действительно ли я разработчик или просто хорошо гуглю. Я не знаю правильного ответа — я гуглер или разработчик. Скотт, пожалуйста, помоги мне выяснить»

#### **От переводчика**

Всем привет, с вами Максим Иванов, и сегодня мы поговорим об одном из постов [Скотта Хансельмана][2] (Scott Hanselman), который он написал по причине довольно серьезного и хорошо сформулированного письма к нему. В общем-то, меня вдохновила одна из статей на нашем ресурсе под названием [Google-oriented programming][3]. Больше всего мне понравилось то, что в программистах порой может появиться синдром самозванца. Конечно, труды Хансельмана не единственны в этом мире с точки зрения психологии, но он дает четко нам понять, что это нормально. Как он пишет: «Но вот в чем дело. Мы все иногда чувствуем себя обманщиками. Мы все обманщики. Это часть роста. Мы попадаем в ситуации, которые немного сложнее того, с чем мы можем справиться. Но мы справляемся с ними, мы не обманщики, и мы двигаемся к следующему испытанию.» Так давайте же разберемся, какие решения и выводы Скотт предлагает нам в своем посте. Приступим. [Читать дальше →][4]

[1]: https://habrastorage.org/files/59a/753/ac5/59a753ac594749689e03b84b9f97bdef.png
[2]: http://www.hanselman.com/
[3]: https://habrahabr.ru/company/geekbrains/blog/301306/
[4]: https://habrahabr.ru/post/301674/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Конкурс WAF Bypass на Positive Hack Days VI
habra.16
habrabot(difrex,1) — All
2016-05-25 14:00:02


![][1] В рамках международного форума по практической безопасности [Positive Hack Days][2] в очередной раз состоялся конкурс WAF Bypass. Как и прежде, задачей участников было решение заданий путем обхода проверок [PT Application Firewall][3], защищавшего уязвимые веб-приложения. Каждое из заданий подразумевало заложенные нами варианты обхода, которые были возможны из-за специально допущенных ошибок в конфигурации. Цель каждого задания — получить флаг, который мог храниться в базе данных, в файловой системе или в Cookie, выдаваемых специальному боту. Описание заданий и способы их решения под катом. [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/db2/b02/4cb/db2b024cb93726a1b6b3b44da0f4dc1b.jpg
[2]: http://www.phdays.com/
[3]: https://af.ptsecurity.com/
[4]: https://habrahabr.ru/post/301642/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] HowTo: Подключение к Cisco VPN с использованием Aladdin eToken в Linux (Ubuntu)
habra.16
habrabot(difrex,1) — All
2016-05-25 14:30:02


Сравнительно недавно я решил перевести домашний компьютер с Windows на Linux. То есть идея такая бродила уже некоторое время, подогреваемая новостями с фронтов борьбы с добровольно-принудительной установкой Windows 10 и размышлениями о неизбежном устаревании «семерки» следом за XP, а вот поводом взяться за дело стал выход очередного LTS-релиза Ubuntu. При этом основным мотивом такого перехода я назову простое любопытство: домашний компьютер используется в основном для развлечений, ну а знакомство с новой ОС — развлечение не хуже прочих. Причем развлечение, как мне кажется, полезное в плане расширения кругозора. Дистрибутив же от Canonical был выбран просто как наиболее популярный: считаю при первом знакомстве с системой это немаловажным подспорьем. Довольно быстро я на собственном опыте убедился, что для котиков и кино Ubuntu вполне подходит. Но, поскольку компьютер используется еще и для удаленной работы, для отказа от Windows не хватало настроенного подключения к Cisco VPN c авторизацией по eToken.

#### Набор программ

Было ясно, что для подключения понадобятся по меньшей мере драйвер токена и некий VPN-клиент. В результате поисков в сети получился такой список:

1. OpenConnect — VPN-клиент, «совершенно случайно» совместимый с серверами Cisco «AnyConnect»
2. GnuTLS — свободная реализация протоколов TLS и SSL. Что важно, в состав этой библиотеки входит утилита p11tool для работы со смарт-картами
3. SafeNet Authentication Client — набор драйверов и дополнительных утилит, обеспечивающий работу с электронными ключами eToken

Поскольку для установки соединения OpenConnect-у требуется URL сертификата клиента, который можно узнать с помощью утилиты p11tool, и обеим программам требуется драйвер для работы со смарт-картой — с установки этого драйвера и начнем. [Настроить][1]

[1]: https://habrahabr.ru/post/301700/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ASP.NET Core сегодня: за и против
habra.16
habrabot(difrex,1) — All
2016-05-25 15:00:02


ASP.NET Core имеет все шансы заменить ASP.NET в его текущем виде. Стоит ли переходить на ASP.NET Core уже сейчас? Под катом интервью с зарубежными гостями конференции:

1. Дино Эспозито – писатель, консультант, тренер и технический евангелист, признанный эксперт и популяризатор концепций DDD и CQRS
2. Морис де Бейер – независимый консультант, MVP и автор онлайн-курса The React Tutorial
3. Андрей Терехов – full-stack разработчик EPAM, специалист по серверному пререндерингу.

[][1]



Дино и Морис отвечали на английском языке, ниже мы публикуем перевод их ответов. [Читать дальше →][2]

[1]: https://habrahabr.ru/company/jugru/blog/301512/
[2]: https://habrahabr.ru/post/301512/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Расширяем фреймворк Kivy пакетом XPopup
habra.16
habrabot(difrex,1) — All
2016-05-25 15:00:02




### Эти забавные зверушки

Не так давно передо мной встала задача в сжатые сроки написать работающий прототип GUI-приложения, которое без лишней строки кода хорошо дружило бы как с Windows, так и с OS X. Выбор пал на змеиный фреймворк [Kivy][1], который с легкостью решал вышесказанное. А также, в базовой комплектации имел весь необходимый инструментарий для реализации приложения. Ну… почти весь. Под катом расскажу что не так и как это побороть. [Читать дальше →][2]

[1]: https://kivy.org/#home
[2]: https://habrahabr.ru/post/301712/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Корпоративные лаборатории — лучшие практики информационной безопасности
habra.16
habrabot(difrex,1) — All
2016-05-25 15:00:02


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

[1]: https://habrastorage.org/getpro/habr/post_images/251/60d/569/25160d5695974ff393c714703a791adb.png
[2]: https://habrahabr.ru/post/301574/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Почему я больше не использую современный C++
habra.16
habrabot(difrex,1) — All
2016-05-25 17:00:04




## Современный C++: что это и как он появился?

В течение последнего десятилетия с приходом стандарта C++11, а перед этим — предваряющих его спецификации _TR1_ и библиотеки _Boost_, — в сообществе C++-разработчиков наблюдался массовый переход на новый стиль программирования, так называемый современный C++. Этот переход подразумевал введение в оборот таких приемов как ключевое слово _auto_, замыкания (лямбда-выражения), вариативные шаблоны и многое другое. C++ оказался благодатной почвой для экспериментов, и на свет появилось несколько библиотек, написанных в новом стиле. Те, кто смог разобраться в новых идиомах вроде SFINAE, диспетчеризации тегов, CRTP, генератора типов, безопасного _bool _ и т.д., или хотя бы научился их воспроизводить, были награждены званием гуру. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/301736/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Осторожно — Бульдозер (сборка apk пакетов в Kivy)
habra.16
habrabot(difrex,1) — All
2016-05-25 20:30:02








Фух! Только что выбрался из под траков этого чудовища. А кое-кому повезло меньше. Как и было обещано в [предыдущей статье][1], сегодня мы расскажем, как собираются apk пакеты для программ, написанных с использованием фреймворка Kivy при помощи утилиты Buildozer.



Что для этого понадобится? Помимо уже известных инструментов — кофе-сигареты, полкило нервов — нам потребуются ключи от новенького Бульдозера, который стоит в ангаре на github и сопутствующие зависимости, без которых он, к сожалению, не заведется, а если заведется, то никого задавить не удастся и apk пакет для Android не собрать.



Кстати, пользователи Microsoft, на своих Windows машинах за Бульдозером с нами не едут, потому что для сборки apk пакета требуется Linux система, либо ее образ на виртуалке. Ну, что ж. А мы отправляемся на github, отбуксируем [Бульдозер][2] и распакуем архив в какую-нибудь директорию. Блин. Да это просто монстр!

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

[1]: https://habrahabr.ru/post/300960/
[2]: https://github.com/kivy/buildozer
[3]: https://habrahabr.ru/post/301776/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Рабочее место .NET разработчика или трудности выбора идеальной конфигурации
habra.16
habrabot(difrex,1) — All
2016-05-25 20:30:02


Хабр, привет! Мы продолжаем приоткрывать дверь в технологическую кухню [Retail Rocket][1]. В сегодняшней статье мы решили поделиться историей о нашем «корпоративном backend\`е», речь пойдет о рабочем месте для разработчика. Та самая зона комфорта, которая окружает нас в жизни, но является не менее важной, чем выбор стека технологий. Передо мной встала задача подготовить рабочее место для нового члена команды разработки, казалось бы, что может быть проще? На практике оказалось все гораздо сложнее, чем я ожидал. Раньше мы покупали стол «Галант» в IKEA, любое офисное кресло + MacBook Pro – и у нас готово новое рабочее место.



_Старое рабочее место .NET разработчика в офисе Retail Rocket_ С тех пор прошло 2 года, мы выросли, у нас изменился стиль работы — пора подбирать новую конфигурацию. Половина нашей команды работает на технологическом стеке от Microsoft. Это большой проект в Visual Studio 2015 + Resharper: 26 приложений, 9 библиотек, 3 проекта с тестами, что в сумме на момент публикации статьи дает 4 312 файлов и **более 60 тыс. строк кода**. Плюс IIS с компиляцией и запуском приложения на локальной машине, что накладывает повышенные требования к вычислительной мощности используемого оборудования. На выбор подходящей конфигурации я потратил 4 недели и все еще не уверен, что все сделал правильно, поэтому решил, что мой опыт будет полезен сообществу, тем более, что вы всегда сможете скорректировать конфигурацию индивидуально под себя. [Читать дальше →][2]

[1]: http://retailrocket.ru/
[2]: https://habrahabr.ru/post/301750/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Push-уведомления на Android в InterSystems Ensemble на примере Штрафов ГИБДД
habra.16
habrabot(difrex,1) — All
2016-05-25 21:30:02


Во многих мобильных приложениях, которые позволяют узнавать штрафы и оплачивать их, есть возможность получать информацию о новых штрафах. Для этого удобно реализовывать отправку Push-уведомлений на устройства клиентов. Наше [приложение][1] по оплате штрафов не стало исключением. Серверная часть у нас реализована на платформе Ensemble, в которой с версии 2015.1 очень вовремя появилась встроенная поддержка push-уведомлений.

### Для начала немного теории

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



Для уведомления пользователей мобильных приложений используются сервисы доставки уведомлений, данные с которых получают устройства. Причем просто так отправить уведомление нельзя. Пользователь должен быть подписан на канал push-уведомлений или на уведомления от конкретного приложения. [Читать дальше →][2]

[1]: https://play.google.com/store/apps/details?id=com.blackmushroom.shtrafi
[2]: https://habrahabr.ru/post/301470/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Фестиваль для тех, кто делает Интернет. Встречайте лето правильно
habra.16
habrabot(difrex,1) — All
2016-05-25 22:00:02


31 мая и 1 июня в кампусе бизнес-школы Сколково будет жарко вне зависимости от погоды - на одной площадке соберутся около 1500 участников. Повод собраться более чем подходящий - профессиональный фестиваль "Российские интернет-технологии". Это событие, по масштабам не просто превосходящее конференцию, а включающее в себя целых 7 конференций, объединённых вокруг отраслевой выставки. На фестивале не будет скучно никому: от уставшего от опыта системного администратора или программиста высоконагруженных систем до начинающих тестировщиков и прожжённых продажников. Почти как на обновлённом Хабре. Семь конференций, крутые спикеры и огромное сообщество профессионалов обещают нереальные возможности нетворкинга, деловых знакомств и прокачки собственных скиллов! [Читать дальше][1]

[1]: https://habrahabr.ru/post/301784/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Запись входящих звонков
habra.16
habrabot(difrex,1) — All
2016-05-26 11:30:02


Несколько месяцев назад мой знакомый попросил помочь решить вопрос с записью входящих звонков. Все необходимое или было в наличии, или обещал предоставить. ![image][1] Если интересно, мой опыт реализации на python вместе с кодом под катом. [Читать дальше →][2]

[1]: https://habrastorage.org/files/b42/293/f11/b42293f117fb4340acb22ab1d3c55dd9.png
[2]: https://habrahabr.ru/post/301708/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Мы стараемся, чтобы User Experience не отличался в разных операционках» — Интервью с разработчиками Rider из JetBrains
habra.16
habrabot(difrex,1) — All
2016-05-26 14:00:02


В начале января JetBrains объявили о разработке Rider, кроссплатформенной IDE на основе ReSharper и платформы IntelliJ, доступной под Windows, Linux и Mac OS X, и включающей в себя все фишки ReSharper, и поддерживающей .NET Framework, Mono и CoreCLR. Предполагается, что разработка будет завершена к осени этого года, а все желающие смогут попробовать среду «на зубок» в рамках Early Access Program. ![][1] На хабре Rider уже неоднократно упоминался, но дабы дать нашим читателям взглянуть на процесс разработки «изнутри», при этом поняв специфику процесса на разных этапах производства, мы обратились в JetBrains, и на наши вопросы ответили:

* **Кирилл Скрыган**, тимлид проекта Rider и старший разработчик;
* **Дмитрий Иванов**, главный разработчик протокола реактивного многопроцессного взаимодействия в Rider;
* **Андрей Акиньшин**, серебряный призёр ACM ICPC, в Rider отвечает за NuGet-менеджер.

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

[1]: https://habrastorage.org/getpro/habr/post_images/4ea/f09/978/4eaf09978f03eb1148b434d20dd579f6.png
[2]: https://habrahabr.ru/post/301754/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Так ли безопасны «топовые» сайты: исследуем рейтинг Alexa
habra.16
habrabot(difrex,1) — All
2016-05-26 14:30:02


Если посмотреть на Top-1000 сайтов рейтинга [Alexa][1] в зоне .ru, то в первых трех сотнях будут сайты Яндекса, Google, Mail.ru и других крупных проектов и компаний, а дальше пойдут, в основном, развлекательные, игровые ресурсы, торренты и профильные СМИ (а еще временами будут встречаться домены тизерных партнерских сетей). ![][2] У сайтов, занимающих не самые топовые позиции из первой тысячи, посещаемость бывает порядка 10 000 – 80 000 уникальных хостов в сутки, а иногда и выше. Для хакеров подобные ресурсы привлекательны тем, что, с одной стороны, сайты имеют высокую посещаемость, а с другой – низкий уровень защиты (обычно, вообще никакого), поскольку владельцы подобных сайтов часто не уделяют должного внимания вопросам безопасности (не знают, не умеют, не хотят). Например, ресурс с посещаемостью 85000 уникальных хостов в сутки может работать на Wordpress с уязвимыми версиями плагинов. Получается, что соотношение затрат на взлом к “профиту” от него для данной категории сайтов максимально, и это лакомый кусок, которым, как минимум, один злоумышленник да воспользуется. В теории все вроде бы логично, но хотелось бы в этом убедиться на практике, поэтому я решил просканировать большой массив топовых ресурсов (например, первые 50 000 сайтов Alexa в зоне .ru) на предмет взлома/заражения, редиректов и других проблем безопасности. Что из этого получилось – ниже в статье. [Читать дальше →][3]

[1]: https://ru.wikipedia.org/wiki/Alexa_Internet
[2]: https://habrastorage.org/files/610/cf8/8de/610cf88ded1244d5bd5828977610bec1.jpg
[3]: https://habrahabr.ru/post/301816/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Исследование защищенности карты Тройка
habra.16
habrabot(difrex,1) — All
2016-05-26 15:00:04


![Карта тройка][1] Карта Тройка представляет из себя универсальный пополняемый электронный кошелек, широко используемый в системах оплаты общественного транспорта Москвы с 2013 года. Цель данного исследования — выяснить защищенность системы электронного кошелька от подделки баланса, оценить безопасность инфраструктуры, работающей с картой. Вся работа была выполнена без использования специальных технических средств. Использовался дешевый смартфон на платформе Android и персональный компьютер. Общее время, затраченное на исследование, составило 15 дней. В ходе работы был успешно проведен реверс­-инжиниринг мобильного приложения «Мой проездной», что позволило получить доступ к памяти карты и изучить структуру хранения данных. Были найдены уязвимости, позволяющие выполнить подделку баланса, записанного на электронном кошельке карты Тройка. В результате чего стало возможным использование систем, поддерживающих карту, без оплаты. Итогом исследования стала разработка приложения TroikaDumper, позволяющего эксплуатировать уязвимости системы электронного кошелька. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/a56/359/523/a56359523a66bcf7edcd956ea6f538b6.png
[2]: https://habrahabr.ru/post/301832/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Dropbox объяснил, почему внедряется в ядро операционной системы
habra.16
habrabot(difrex,1) — All
2016-05-26 15:30:03


![][1] Ровно месяц назад Dropbox анонсировал [Dropbox Infinite][2] — «революционно новый способ доступа к вашим файлам», как писала компания в корпоративном блоге. В [демонстрационном видео][3] показали, что десктопный клиент Dropbox предоставляет прямой доступ к облачному хранилищу файлов на уровне файловой системы, без необходимости запускать браузер. Локальный диск «увеличивается» на размер облачного хранилища, файлы доступны напрямую. Облачное хранилище может быть больше по размеру, чем локальный диск. Сейчас компания [раскрыла технические подробности][4], как работает эта функция. Сразу после первого анонса [эксперты][5] [высказали][6] [опасения][7], что Project Infinite откроет доступ в систему посторонним, если они найдут уязвимости в клиенте Dropbox. Собственное расширение ядра от Dropbox станет тогда своеобразным бэкдором в системе. [Читать дальше →][8]

[1]: https://habrastorage.org/files/1b8/893/ce5/1b8893ce586142b8a7d0398523fbd3a9.jpg
[2]: https://blogs.dropbox.com/business/2016/04/announcing-project-infinite/
[3]: https://www.youtube.com/watch?v=iT4rAaV9MhU
[4]: https://blogs.dropbox.com/tech/2016/05/going-deeper-with-project-infinite/
[5]: https://twitter.com/info_dox/status/735389113751326721
[6]: https://twitter.com/ultimateloather/status/735460387491971072
[7]: https://twitter.com/ahojmark_dk/status/735447162784501760
[8]: https://habrahabr.ru/post/301826/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пол Грэм: Глава 2. Хакеры и художники (Habr edition)
habra.16
habrabot(difrex,1) — All
2016-05-26 16:00:02


![image][1] Сейчас Пол Грэм [учит правительства и университеты как создавать стартап-хабы][2], а а вот раньше… он провел замечательную аналогию между высококлассными программистами и художниками. За 13 лет глава, одноименная с названием книги, затерялась в сети. Для удобства, хочу опубликовать ее, собранную по кусочкам из различных архивов. Перевод Анастасии Грызуновой, Яны Щекотовой. Приведение текста в порядок — [CaptainCrocus][3]. Помощь в публикации — компания [Edison][4]. Оригинал — [Hackers and Painters][5] (May 2003) ![][6] Закончив аспирантуру по computer science, я пошел на художественный факультет изучать живопись. Многие удивились, что компьютерщик вдруг заинтересовался живописью. Эти люди, видимо, считали, что хакерство и художество — очень разные занятия: хакерство — холодное, точное и методичное, а художество — яростное выражение некого первобытного порыва. Оба представления неверны. У хакерства и художества масса общего. Из множества различных типов людей хакеры и художники — едва ли не самые похожие. Общее у них вот в чем — и те, и другие творцы. И те, и другие пытаются делать нечто качественное. Как композиторы, архитекторы и писатели. И те, и другие проводят исследования не ради исследований (хотя если в процессе создания чего-то качественного открываются новые методы — тем лучше). Мне никогда не нравился термин «computer science». Главным образом потому, что такой науки не бывает. «Computer science» — мешок старьевщика, куда история капризно свалила кучу слабо связанных областей науки — получилась какая-то Югославия. На одном полюсе математики, которые зовут свою работу computer science, чтобы получать гранты DARPA. На экваторе — какое-нибудь компьютерным естествознание: скажем, поведение алгоритмов при передаче данных по сетям. А на другом полюсе — хакеры; они пишут интересное ПО, и компьютеры для них — только среда самовыражения, как бетон для архитектора или краска для художника. Все равно что математиков, физиков и архитекторов согнать на один факультет. Иногда работу хакеров называют «программной инженерией» (software engineering). Этот термин тоже сбивает с толку. С тем же успехом можно назвать инженером архитектора. Между архитектурой и инженерией граница нечеткая, однако она есть. Проходит она между «что» и «как»: архитектор решает, что делать, инженер вычисляет, каким образом. [Читать дальше →][7]

[1]: https://habrastorage.org/getpro/habr/post_images/b71/f91/8eb/b71f918eb1bca2d9a94b317ae189be10.jpg
[2]: https://habrahabr.ru/company/edison/blog/301664/
[3]: https://habrahabr.ru/users/captaincrocus/
[4]: https://www.edsd.com/principles/quality
[5]: http://www.paulgraham.com/hp.html
[6]: https://habrastorage.org/files/766/2cc/31c/7662cc31c74a4fee9d8ca9711a6391a0.jpg
[7]: https://habrahabr.ru/post/301790/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Большое интервью с Ханнесом Дорфманом, создателем фреймворка Mosby для Android
habra.16
habrabot(difrex,1) — All
2016-05-26 17:00:02


2 июня в московском офисе Яндекса пройдет очередная Droid Party. В этот раз своим опытом поделится [Ханнес Дорфман][1]. Многим из вас он известен как разработчик фреймворка [Mosby][2] для Android. Ханннес много времени уделяет исследованию подходов к Андроид-архитектуре. В преддверии мероприятия мы попросили Ханнеса ответить на вопросы, которые собрали от разработчиков внутри Яндекса. Интервью получилось большим и интересным. Обсудили будущее языков программирования, получили много прикладных советов и даже вспомнили уже легендарные модели Nokia. Читайте подробнее под катом. [![][3]][4] Для тех, кто не сможет попасть на Droid Party, мы по традиции организуем трансляцию, которую можно будет посмотреть [здесь][5]. Там же можно зарегистрироваться на мероприятие. А те, кто живет в Питере, смогут поучаствовать в телемосте в нашем питерском офисе. Как обычно, вы можете задавать в комментариях свои вопросы — мы передадим их Ханнесу, и он ответит на них на Droid Party. [Читать дальше →][6]

[1]: https://github.com/sockeqwe
[2]: http://hannesdorfmann.com/mosby/
[3]: https://habrastorage.org/files/16c/3b8/dff/16c3b8dff93a4a31a9a9372f27108310.jpg
[4]: https://habrahabr.ru/company/yandex/blog/301858/
[5]: https://events.yandex.ru/events/meetings/02-june-2016/?utm_source=habr&utm_medium=site&utm_campaign=dpdorfmann
[6]: https://habrahabr.ru/post/301858/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Новые производные функций Бесселя выведены с помощью языка Wolfram Language
habra.16
habrabot(difrex,1) — All
2016-05-26 17:30:02








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

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

[1]: https://habrastorage.org/getpro/habr/post_images/e0e/53f/3ac/e0e53f3ace057589e8e3cd1254adfcce.png
[2]: https://habrahabr.ru/post/301862/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] IaaS-дайджест: 30 материалов по теме облачной безопасности
habra.16
habrabot(difrex,1) — All
2016-05-26 20:00:02


[][1] / [фото Perspecsys Photos][2] [CC][3] Сегодня компания «[ИТ-ГРАД][4]» снова делится с вами своими материалами в формате дайджеста. Тема сегодняшнего дня – безопасность данных (и не только) и повышение качества сервисов. [Читать дальше →][5]

[1]: https://habrahabr.ru/company/it-grad/blog/283404/
[2]: https://www.flickr.com/photos/111692634@N04/
[3]: https://creativecommons.org/licenses/by-sa/2.0/
[4]: http://it-grad.ru/
[5]: https://habrahabr.ru/post/283404/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Wind River Rocket: начало работы
habra.16
habrabot(difrex,1) — All
2016-05-26 20:30:02


В этом материале мы расскажем о том, как начать разработку приложений с использованием облачной платформы Helix App Cloud. А именно, поговорим о разработке для Intel Galileo Gen 2 и рассмотрим работу с x86-эмулятором. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/301898/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Семантический разрыв «The Semantic Gap»
habra.16
habrabot(difrex,1) — All
2016-05-26 20:30:02


коротенькая статья от архитектора движка PowerShell, дается его взгляд на индустрию, статья проясняет почему пош стал именно таким. **Семантический разрыв** Есть 2 мира: 1. Мир, как мы его представляем. 2. Мир, как мы можем им управлять. Разница между этими двумя мирами это то что называется **семантическим разрывом**. Наша индустрия _(прим переводчика: IT индустрия)_ борется с семантическим разрывом в течение многих десятилетий. Отличным примером семантического разрыва это запись в блоге «TechProsaic: VMWare Perl Toolkit versus Powershell V1 ToolKit», в котором показаны 20 строк кода на Perl необходимых чтобы сделать то же самое что делает один командлет «Get-VM». Кто-то мог прочитать это бросить читать дальше со словами «PowerShell мощный, а Perl это дерьмо», он был бы прав и не прав. PowerShell мощный, но Perl **не** дерьмо. (снимите шляпу перед суперзвездой Larry Wall и его Perl, очень мало людей и технологий, которые имели уровень (положительного :-) ) воздействия на нашу отрасль как они. Этот мир хорошее место потому что рождаются такие хорошие парни как он!). Настоящей разницей между этими двумя примерами является семантический разрыв. Пример на PowerShell имеет очень небольшой разрыв между тем, что вы думаете и что вы печатаете чтобы решить задачу. Пример на Perl имеет очень большой разрыв. В конце концов, семантический разрыв «контролируется» людьми, которые разрабатывают инструментарий. VMWare мог бы так же легко предоставить PowerShell скрипт, который имел бы столько строк как например на Perl или они могли бы прислать библиотеку для Perl или сценарий на нем, который обеспечивает семантику командлета Get-VM одной или парой команд. Так почему же поставщики инструментария закрыли или не закрыли семантический разрыв? Ааа – это и есть тот самый вопрос! [Читать дальше →][1]

[1]: https://habrahabr.ru/post/301834/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Методы генерация случайных чисел с равномерным законом распределения
habra.16
habrabot(difrex,1) — All
2016-05-27 00:00:02


**Введение** Промышленность не стоит на месте. Еще в 1990 году псевдослучайные числа, длинной в целых 40 бит, сгенерированные на ЭВМ можно было угадать за несколько часов [1]. На сегодняшний же день, качественные характеристики псевдослучайных величин на ЭВМ поражает даже опытных математиков. Во многих областях применения алгоритмов генераций всевдослучайных чисел существует ряд ограничений, связанных с тем или иным недостатком методов их генерации. Совершенствованию существующих методов способствует высокий интерес к теме, который повышается с ростом числа публикаций. Пусть эта статья станет моим вкладом в развитие методов моделирования и генерации случайных процессов, так важных для моих исследований и разработок. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/301900/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] «Кандидат имеет право уточнять задание», или Как довести интервьюера до истерики
habra.16
habrabot(difrex,1) — All
2016-05-27 00:00:02


Недавно я прочёл запись в блоге одного парня, который жаловался, что на интервью его [попросили написать функцию, которая должна скопировать файл][1]. Нет, я понимаю, как можно взъесться на такое задание, но если бы в подобной ситуации оказался _я_… уж я бы оторвался по полной:

----

**Кандидат**: Что конкретно Вы имеете в виду, говоря «скопировать»? **Интервьюер**: Ну… создать новый файл, содержимое которого является копией содержимого исходного файла. [Читать дальше →][2]

[1]: https://web.archive.org/web/20070704122624/http://blogs.msdn.com/davidlem/archive/2006/05/16/598696.aspx
[2]: https://habrahabr.ru/post/301924/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] «Кандидат имеет право задавать уточняющие вопросы», или Доводим интервьюера до нервного срыва
habra.16
habrabot(difrex,1) — All
2016-05-27 07:30:06


Недавно я прочёл запись в блоге одного парня, который жаловался, что на интервью его [попросили написать функцию, которая должна скопировать файл][1]. Нет, я понимаю, как можно взъесться на такое задание, но если бы в подобной ситуации оказался _я_… уж я бы оторвался по полной:

----

**Кандидат**: Что конкретно Вы имеете в виду, говоря «скопировать»? **Интервьюер**: Ну… создать новый файл, содержимое которого является копией содержимого исходного файла. [Читать дальше →][2]

[1]: https://web.archive.org/web/20070704122624/http://blogs.msdn.com/davidlem/archive/2006/05/16/598696.aspx
[2]: https://habrahabr.ru/post/301924/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] DevConf:: Хакатон по Yii в ТАСС 18-19 июля 2016
habra.16
habrabot(difrex,1) — All
2016-05-27 13:00:02



![][1]Приглашаем принять участие в первом открытом Yii-хакатоне в ТАСС,
который пройдет в 18-19 июня сразу после условно платной конференции [DevConf 2016][2]!

Если вы горите желанием внести свой вклад в развитие фреймворка, если у вас есть идеи по улучшению или созданию новых расширений – приходите, и мы все вместе сделаем мир чуть лучше.
Только реальные задачи, свобода творчества и команда единомышленников!
Предлагать свои идеи для реализации можно в специальной теме
на [форуме Yii][3]

_Участие в хакатоне бесплатно, но требуется регистрация_
Полная информация о месте и требования к участникам на [**страничке хакатона DevConf**][4] [][5]

[1]: https://habrastorage.org/files/967/5b6/730/9675b6730cfd44f9a69dfb8c3cf2ae9a.jpg
[2]: http://devconf.ru/ru
[3]: http://yiiframework.ru/forum/viewtopic.php?f=13&t=36365
[4]: http://devconf.ru/ru/page/yiihack
[5]: https://habrahabr.ru/post/301828/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Методы генерация случайных чисел с равномерным законом распределения. Часть 1
habra.16
habrabot(difrex,1) — All
2016-05-27 13:30:02



**Введение**

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

[1]: https://habrahabr.ru/post/301900/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как понять нужно ли интегрировать blockchain в ваш продукт?
habra.16
habrabot(difrex,1) — All
2016-05-27 15:30:03



_![image][1]Blockchain технологии в данный момент являются слишком раздутыми. О нем пишут и говорят все: от конференций [Sibos][2] и [Money20/20][3] до популярных материалов в изданиях [The Economist][4] и [Euromoney][5] – кажется, что каждый стремится ухватить свою долю в золотой блокчейн-лихорадке.

Как определить, что у вас реальный случай применения технологии блокчейн? Мы в [Web-payment.ru][6] много [пишем][7] о технологии распределенного реестра, и по роду деятельности нашего Digital агентства, ориентированного на финтех компании, замечаем, что поднятый вопрос очень актуальный для многих игроков рынка. Эта статья, опубликованная в блоге открытой платформы для создания своих блокчейнов [MultiChain][8], призвана помочь разобраться в этом._
[Читать дальше →][9]

[1]: https://habrastorage.org/files/b4d/03a/d62/b4d03ad62eca4d4c92e936b4678b5783.jpg
[2]: https://www.sibos.com/conference/conference-programme/new-kids-blockchain-platform
[3]: http://www.coindesk.com/bitcoin-blockchain-money2020-2015-pictures/
[4]: http://www.economist.com/printedition/covers/2015-10-29/ap-e-eu-la-me-na-uk
[5]: http://www.euromoney.com/Article/3501936/Getting-to-grips-with-blockchain.html
[6]: http://web-payment.ru/
[7]: http://web-payment.ru/blockchain/
[8]: http://www.multichain.com/
[9]: https://habrahabr.ru/post/301972/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Анонс Rust 1.9
habra.16
habrabot(difrex,1) — All
2016-05-27 17:00:02




Мы рады представить новую версию Rust 1.9. Rust — это системный язык программирования, нацеленный на безопасную работу с памятью, скорость и параллельное выполнение кода.



Как обычно, вы можете [установить Rust 1.9][1] с соответствующей страницы официального сайта, а также ознакомиться с [подробным списком изменений][2] в этой версии на GitHub. В этот релиз вошло порядка 1400 патчей.



### Что вошло в стабильную версию 1.9



#### Управляемая размотка стека



Самое большое изменение в Rust 1.9 — стабилизация модуля `std::panic`, который предоставляет методы остановки процесса размотки стека, запущенного паникой:

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

[1]: https://www.rust-lang.org/install.html
[2]: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-190-2016-05-26
[3]: https://habrahabr.ru/post/301994/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Приглашаем на конференцию DotNext
habra.16
habrabot(difrex,1) — All
2016-05-27 17:30:02



3 июня в Санкт-Петербурге состоится пятая по счету [конференция DotNext][1] для разработчиков на платформе .NET. О будущем платформы .NET рассказывают **Ромуальд Здебский**, руководитель направления Microsoft по играм в Центральной и Восточной Европе, который сделает на DotNext доклад на тему «Разработка игр на платформе Microsoft — технологический обзор», и технологический евангелист Microsoft **Дмитрий Сошников**, который выступит на DotNext с докладом «Сколько жизней у .NET: размышляем о судьбах любимой платформы, гибели Silverlight и тому подобном».

![][2]

> #### ![][3] Какими изначально были цели создания платформы .NET? Достигнуты ли они?
**Дмитрий Сошников**: Появление .NET — это реакция на повышение сложности программных систем. Когда стало слишком трудно создавать серьезные приложения на C++, особенно с учетом существования различных вычислительных платформ, появилась цель радикально упростить процесс создания программного обеспечения, в том числе многоплатформенного. И в конце концов исследователи научились изолировать аппаратные сложности (а заодно и ряд трудоемких моментов, таких, как распределение памяти, многопоточность и т.д.) на уровне абстрактной виртуальной машины, а прикладному программисту давать возможность создавать код для этой машины. Так появились Java и .NET. Но основной целью языка Java была возможность запускать один и тот же байт-код на всех устройствах, в то время как платформа .NET гордилась многообразием поддерживаемых языков программирования.
Надо сказать, что основные цели по сути были достигнуты уже по факту создания платформы. Теперь же мы продвинулись гораздо дальше. На основе .NET можно писать приложения под все основные мобильные платформы и под микроконтроллеры. В арсенале .NET-программиста — целый спектр языков от C# и F# до Python и Objective C. Код на базе .NET используется как на устройствах, так и в облаке. Мечта программиста сбылаcь — зная всего лишь один стек технологий, он может быть продуктивным, разрабатывая практически любой программный код.
[Читать дальше →][4]

[1]: http://dotnext.ru/spb/
[2]: https://habrastorage.org/files/bc3/9b5/759/bc39b5759af14d6e8f9173bcd8eb3343.png
[3]: https://habrastorage.org/files/c10/684/f78/c10684f7823f4d2faa4cded4ad981071.png
[4]: https://habrahabr.ru/post/283238/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Профилирование и оптимизация программ на Go
habra.16
habrabot(difrex,1) — All
2016-05-27 18:00:03




## Введение


В этой статье я расскажу, как профилировать и оптимизировать приложения на языке Go с использованием встроенных и общих инструментов, доступных в ОС Linux.

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

Я привел такое определение, чтобы сразу отсечь вопросы некорректной работы приложения. В этой статье мы не будем говорить о проблемах мультитредового программирования, о дата-рейсах (англ. _data race_), о поиске ошибок (англ. _debugging_). Для всего этого в Go есть свои утилиты и подходы, но оставим эту тему на будущее.

![][1]

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

[1]: https://habrastorage.org/files/cc7/3da/ec9/cc73daec92724c60954e0eebae8918a5.jpg
[2]: https://habrahabr.ru/post/301990/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Статистика распределения доменов по AS, IP, NS, MX и прочим параметрам
habra.16
habrabot(difrex,1) — All
2016-05-27 18:00:03



Давным-давно перестал работать 1stat.ru — откровенно говоря, для нас это была трагедия (сейчас вроде он как-то работает).

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

![][1]
[Подробности][2]

[1]: https://habrastorage.org/files/2fe/65d/77a/2fe65d77a88c4e24a507f37ac44c228a.png
[2]: https://habrahabr.ru/post/301894/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ... 133