RSS
Pages: 1 ... 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 133
[>] Принципы и приёмы обработки очередей
habra.16
habrabot(difrex,1) — All
2016-09-12 12:30:03


![][1]


# Принципы и приёмы обработки очередей



### Константин Осипов (Mail.ru)



Как вы считаете, какова стоимость очередей с приоритетами? То есть если кто-то лезет вне очереди, то как посчитать стоимость для всей системы в этой ситуации, чему она пропорциональна? Времени обслуживания клиента — например, 5 минут стоит его обслужить? Она пропорциональна количеству ожидающих, потому что время ожидания для каждого из них увеличится.



Для начала о себе — я занимаюсь разработкой СУБД [Tarantool][2] в Mail.ru. Этот доклад будет об обработке очередей. У нас много очередей внутри системы, фактически вся база данных построена как система массового обслуживания.



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




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

[1]: https://habrastorage.org/getpro/habr/post_images/fb5/d06/4aa/fb5d064aa3101d98c1fa522e8fbb97b2.jpg
[2]: https://tarantool.org/
[3]: https://habrahabr.ru/post/309332/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Intel и Hewlett Packard выпустили уведомления безопасности для уязвимости ThinkPwn
habra.16
habrabot(difrex,1) — All
2016-09-12 12:30:03


![][1]Ранее мы несколько раз [писали][2] об LPE-уязвимости ThinkPwn, которая была обнаружена в одном из драйверов UEFI-прошивок ноутбуков Lenovo. Уязвимость была обнаружена security-ресерчером под ником Cr4sh и считается достаточно опасной, поскольку с ее помощью можно скомпрометировать наиболее современные защитные механизмы Windows 10 для загрузочного и Hyper-V кода как Secure Boot, Virtual Secure Mode (VSM) и Credential Guard. ThinkPwn присутствует в SMM-драйвере под названием SystemSmmRuntimeRt и позволяет атакующему запустить свой код в режиме SMM. Мы также [указывали][3], что компания Lenovo выпустила уведомление безопасности LEN-8324 и начала постепенно исправлять ThinkPwn в UEFI-прошивках и выпускать эти обновления для владельцев компьютеров Lenovo. На сей раз очередь дошла до прошивок компьютеров Intel и HP, поскольку ThinkPwn актуальна и для них.

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

[1]: https://habrastorage.org/files/bfd/560/a8e/bfd560a8eaf846579acd3583e8d6f184.jpeg
[2]: https://habrahabr.ru/company/eset/blog/305254/
[3]: https://habrahabr.ru/company/eset/blog/305844/
[4]: https://habrahabr.ru/post/309694/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Конечные автоматы в среде динамического моделирования SimInTech. Часть 3. Переходим к коду Си
habra.16
habrabot(difrex,1) — All
2016-09-12 12:30:03


В [первой][1] и [второй][2] части была рассмотрен пример создания системы управления на основе логики «конечных автоматов» и создана модель регулятора нагревателя.

В этой части будет показано как из SimInTech сгенерировать код Си, реализующий программу управления на основе логики «конечных автоматов», а потом отдалить в MS Visual Studio 2015 совместно с моделью объекта в SimInTech.
[Читать дальше →][3]

[1]: https://habrahabr.ru/post/307090/
[2]: https://habrahabr.ru/post/307162/
[3]: https://habrahabr.ru/post/309296/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] III Международная конференция АI Ukraine, 8-9 октября, Харьков
habra.16
habrabot(difrex,1) — All
2016-09-12 12:30:03


Команда **[FlyElephant][1]** приглашает всех** c 8 по 9 октября в Харьков** на [**III Международнаю конференцию АI Ukraine**][2], которая посвящена вопросам Data Science, Machine Learning, Big Data и Artificial Intelligence.

На конференции будут рассмотрены темы из различных областей Data Science и Machine Learning:
* глубокое обучение нейронных сетей;
* компьютерное зрение;
* обработка естественного языка;
* рекомендательные системы;
* использование Machine Learning в биоинформатике;
* Big Data инструменты: Hadoop, Spark и др.
Я буду рад видеть всех на нашем **стенде**, а также на **докладе**, в котором расскажу об **инфраструктуре для работы Data Scientist’а**.

Регистрация и все подробности [на сайте конференции][3]. Для читателей нашего блога действует скидочный промокод на 7%: flyelephant. [][4]

[1]: https://flyelephant.net/
[2]: http://bit.ly/2cEbfKu
[3]: http://bit.ly/2cEbfKu
[4]: https://habrahabr.ru/post/309736/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] В сеть утекло демовидео шпионского софта от разработчиков кибероружия RCS Lab
habra.16
habrabot(difrex,1) — All
2016-09-12 13:00:04


[![][1]][2]

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

В сеть утекло видео, на котором, как предполагается, показана работа шпионского софта от компании RCS Lab. [Читать дальше →][3]

[1]: https://habrastorage.org/files/f03/549/678/f03549678d2f4a8580a6b02f9a5b15c7.png
[2]: https://habrahabr.ru/company/pt/blog/309734/
[3]: https://habrahabr.ru/post/309734/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Краткая история паролей от П до Ь: рождение, смерть и зомби-апокалипсис
habra.16
habrabot(difrex,1) — All
2016-09-12 13:30:04


![][1]Атака на башни Всемирного Торгового Центра 11 сентября 2001 года унесла жизни 658 сотрудников финансовой компании Cantor Fitzgerald. Ее директор Говард Лутник, потерявший в тот день родного брата, столкнулся с невиданной ранее проблемой. И дело было даже не в том, что серверы компании, включая резервные, также были погребены под обломками. Информация частично была доступна, но она была закрыта за сотнями учетных записей погибших коллег. На помощь были привлечены специалисты из компании Microsoft, они задействовали мощные серверы для максимально быстрого брутфорса — от доступа к данным зависело существование компании, и надо было успеть к первому открытию торгов после атак. Ускорить взлом могли персональные данные погибших. Лутнику пришлось обзванивать родственников и, в самый неподходящий момент, задавать им серию вопросов: день свадьбы, название колледжа или университета, имя собаки.

Это краткий пересказ, пожалуй, самой грустной статьи о паролях за всю их историю, [опубликованной][2] в 2014 году в New York Times. История дает две главные характеристики парольной защиты: она создает кучу проблем, и, во многих случаях, все равно не работает. Пароли — настолько плохая концепция защиты, что их уже не раз хоронили и СМИ, и специалисты по безопасности, и научные исследователи. Но воз и ныне там, пароль по-прежнему остается главным методом отделения публичного от приватного, и такую ситуацию, после похорон-то, вполне можно официально считать цифровым зомби-апокалипсисом.

Сегодня я попробую проанализировать, что именно плохого в паролях (короткий ответ — всё), что можно с этим сделать, а также поделюсь парой интересных исторических наблюдений.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/7a7/9ff/74e/7a79ff74ecfb4a55b5cdb298f22881a7.jpg
[2]: http://www.nytimes.com/2014/11/19/magazine/the-secret-life-of-passwords.html?_r=1
[3]: https://habrahabr.ru/post/309542/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Modest — разработка открытого движка HTML рендера на «голом» Си
habra.16
habrabot(difrex,1) — All
2016-09-12 14:30:04


Всем привет! Меня зовут Александр Борисов и я разрабатываю **Modest** — открытый движок HTML-рендера на «голом» Си без использования внешних зависимостей (далее движок). Сразу хочется пояснить, что значит «без внешних зависимостей» — весь код пишется с нуля, код ни где не заимствован.
![][1]
После моей [последней публикации][2] прошло не мало времени. За это время многое изменилось и я хочу поделиться с вами достижениями в разработке.
[Приступим!][3]

[1]: https://habrastorage.org/files/ea2/fb5/687/ea2fb5687aea466c9f1b3d1b00794a57.png
[2]: https://habrahabr.ru/post/279409/
[3]: https://habrahabr.ru/post/309756/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Домашний алгоритм разбиения на слова (c картинками)
habra.16
habrabot(difrex,1) — All
2016-09-12 15:00:04


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

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

[1]: http://s8.hostingkartinok.com/uploads/images/2016/09/ce0427cbe873f3c0146b7fee00e61652.jpg
[2]: https://habrahabr.ru/post/309762/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как работает Центр оперативного управления мобильной сетью МТС. Ответы на ваши вопросы
habra.16
habrabot(difrex,1) — All
2016-09-12 15:00:04


Уважаемые читатели, спасибо вам за то, что наш [первый пост][1], который подготовил директор Департамента эксплуатации конвергентных сетей и сервисов МТС Андрей Серегин, стал самым читаемым за сутки. Нам очень приятно, что тема оказалась интересной для вас. Спасибо также за множество вопросов. И спасибо за темы будущих постов, которые вы предлагали.

Когда мы вместе с Андреем Вячеславовичем стали готовить ответы на ваши вопросы, то поняли, что ответы получаются слишком развернутые – хватит на целый новый пост. Именно поэтому мы решили опубликовать ответы в форме нового поста.

Напомним, что речь в прошлый раз шла о нашем [Центре оперативного управления мобильной сетью в Краснодаре][2], который мы открыли в 2012 году.

Итак, отвечаем на ваши вопросы:

**Что делает человек, у которого 12 мониторов?**

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

[1]: https://habrahabr.ru/company/ru_mts/blog/308044/
[2]: https://habrahabr.ru/company/ru_mts/blog/308044/
[3]: https://habrastorage.org/getpro/habr/post_images/680/32f/de7/68032fde7792cee3fb126a59356cf50f.jpg
[4]: https://habrahabr.ru/post/309760/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пишем квайн-полиглот-палиндромы в честь дня программиста
habra.16
habrabot(difrex,1) — All
2016-09-12 16:00:03


[![PalidromePolyglotQuine][1]][2]



Поздравляю всех трансляторов человеческого языка в машинный с их профессиональным днем, желаю вам меньше багов и больше-либо-равно классных идей! А в качестве идейного подарка со своей стороны предлагаю решение одной красивой задачи — написание кода, который на выходе выдаёт свой собственный текст, является валидным для интерпретаторов и компиляторов разных языков, и при этом правильно исполняется при реверсе исходников.



Не так давно я узнал о коде, который может одновременно интерпретироваться в PHP и компилироваться в Java: [PhpJava.java][3]. Как оказалось, эта идея не нова: код, валидный сразу для нескольких компиляторов или интерпретаторов, называется [полиглотом (polyglot)][4]. Такой код возможно писать из-за особенностей обработки строк и комментариев в различных интерпретаторах или компиляторах.

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

[1]: https://habrastorage.org/files/b0e/458/9ec/b0e4589ec6494616b28f63c65843d896.png
[2]: https://habrahabr.ru/post/309702/
[3]: https://gist.github.com/forairan/b1143f42883b3b0ee1237bc9bd0b7b2c
[4]: https://en.wikipedia.org/wiki/Polyglot_(computing)
[5]: https://habrahabr.ru/post/309702/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Начальные грабли в работе с Service Bus for Windows Server
habra.16
habrabot(difrex,1) — All
2016-09-12 16:00:03


Есть у Майкрософта такая не очень известная вещь, как [Service Bus for Windows Server][1]. И так случилось, что в нескольких проектах подряд довелось с ней поработать. В итоге получилось собрать небольшой набор подводных камней, встречавшихся в проектах чаще других. Чем и делюсь. [Читать дальше →][2]

[1]: https://msdn.microsoft.com/en-us/library/dn282144.aspx
[2]: https://habrahabr.ru/post/308464/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Открытая трибуна для разработчиков opensource-проектов
habra.16
habrabot(difrex,1) — All
2016-09-12 16:00:03


![][1]

На одной из встреч Программного комитета конференции разработчиков высоконагруженных систем [HighLoad++][2] возникла следующая идея — открытая трибуна на HighLoad++ для opensource-разработчиков. Мы даём оборудованный зал, формируем специальную программу для активистов, которые готовы рассказать про свой opensource-продукт. Движок, фреймворк, библиотеку, технологию, базу данных. У каждого 30 минут, рекламируй себя, вовлекай, ищи себе последователей!


## Как вам идея, кто хотел бы попробовать? С каким продуктом?


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

Аудитория HighLoad++ — около 2500 разработчиков, тимлидов, DBA, devops-инженеров и системных администраторов, технических менеджеров и директоров. [][3]

[1]: https://habrastorage.org/files/e14/c8b/940/e14c8b940fe94f86841b75e8b9af4b8e.jpg
[2]: http://highload.ru/
[3]: https://habrahabr.ru/post/309750/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Вынесение управления состоянием компонентов в пользовательские классы в React
habra.16
habrabot(difrex,1) — All
2016-09-12 16:30:04


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

В React приложениях данные обычно можно разделить на 2 вида: данные самого приложения (хранятся в store) и данные, которые используются конкретным компонентом при отрисовке (хранятся в state).

Многие разработчики выносят работу с состоянием компонента отдельно от него. В популярном Redux состояния также убраны из компонентов. Я тоже пришел к данному решению, попутно отказавшись от использования распространенных библиотек вроде Flux, Reflux, Redux. Поначалу я использовал Reflux, но быстро почувствовал следующие недостатки:

1) Постоянно приходилось писать код для объявления новых actions и подписки на них.
2) Проблемы из-за того, что изменение свойств внутри объекта в state не вызывает обновление компонента.

В решении, к которому я пришел, этих недостатков нет. Так как оно хорошо показало себя на реальном проекте, то я решил поделиться им в данной статье.
[Читать дальше →][1]

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

[>] Извините, мы обновляем протокол
habra.16
habrabot(difrex,1) — All
2016-09-12 16:30:04


Еще в 2011 году нас спрашивали, зачем вводить номер телефона для выставления счета на стороне партнера? Мы давно хотели облегчить интеграцию для наших партнеров, но раньше сделать это было достаточно сложно. Что же изменилось в QIWI в 2016? Сейчас расскажем, а также поэкспериментируем с хабровским R&D голосованием.

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

[1]: https://habrastorage.org/files/1d2/346/26d/1d234626ddb74cc4b6bb760424637bdd.PNG
[2]: https://habrahabr.ru/company/qiwi/blog/309772/
[3]: https://habrahabr.ru/post/309772/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пишем квайн-полиглот-палиндромы в честь дня 2^2^3
habra.16
habrabot(difrex,1) — All
2016-09-12 16:30:04


[![PalidromePolyglotQuine][1]][2]



Поздравляю всех трансляторов человеческого языка в машинный с их профессиональным днем, желаю вам меньше багов и больше-либо-равно классных идей! А в качестве идейного подарка со своей стороны предлагаю решение одной красивой задачи — написание кода, который на выходе выдаёт свой собственный текст, является валидным для интерпретаторов и компиляторов разных языков, и при этом правильно исполняется при реверсе исходников.



Не так давно я узнал о коде, который может одновременно интерпретироваться в PHP и компилироваться в Java: [PhpJava.java][3]. Как оказалось, эта идея не нова: код, валидный сразу для нескольких компиляторов или интерпретаторов, называется [полиглотом (polyglot)][4]. Такой код возможно писать из-за особенностей обработки строк и комментариев в различных интерпретаторах или компиляторах.

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

[1]: https://habrastorage.org/files/b0e/458/9ec/b0e4589ec6494616b28f63c65843d896.png
[2]: https://habrahabr.ru/post/309702/
[3]: https://gist.github.com/forairan/b1143f42883b3b0ee1237bc9bd0b7b2c
[4]: https://en.wikipedia.org/wiki/Polyglot_(computing)
[5]: https://habrahabr.ru/post/309702/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] С Днем Программиста :)
habra.16
habrabot(difrex,1) — All
2016-09-12 18:00:04


Уважаемые пользователи Хабрасообщества, спешу вас поздравить с этим замечательным 256 днем года!

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

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

[1]: https://habrastorage.org/getpro/habr/post_images/c09/210/ecb/c09210ecbbebc6eb567f5849e2b674f7.jpg
[2]: https://habrahabr.ru/post/309720/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] От черного списка до машинного обучения. Антифишинг в Яндекс.Браузере
habra.16
habrabot(difrex,1) — All
2016-09-13 13:30:04


Злоумышленники, специализирующиеся на воровстве паролей, номеров банковских карт и прочей личной информации, появились еще в прошлом веке и с тех пор их число только растет. Согласно отчету [Лаборатории Касперского][1], от 9% до 13% их пользователей в России сталкиваются с фишингом. Ежегодно в мире фишинг и другие формы кражи личных данных наносят ущерб в $5 млрд, согласно оценкам [Microsoft][2]. Это в целом соответствует нашим наблюдениям и объясняет, почему в любом более-менее популярном браузере есть защита от фишинга, основанная на «черных списках». В Яндекс.Браузере она тоже есть. Казалось бы, зачем изобретать что-то еще?

![][3]

**Safe Browsing**

Самое очевидное решение для защиты пользователей – это использование готовой базы со списком фишинг-сайтов. Проверяем по «черному списку» посещаемые страницы и предупреждаем, если нашлось совпадение. На этой идее и основана защита с использованием технологии Safe Browsing, которая работает в Яндекс.Браузере с момента его появления.

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

[1]: https://kasperskycontenthub.com/securelist-russia/files/2016/08/Spam-report_Q2-2016_final_RUS.pdf
[2]: https://news.microsoft.com/en-sg/2014/02/11/microsoft-consumer-safety-index-reveals-impact-of-poor-online-safety-behaviours-in-singapore/#sm.00f3k5lc11wwe5a11wr1perny4f9z
[3]: https://habrastorage.org/files/39f/3ed/82c/39f3ed82c2ae4f249a80f34e7bafb063.png
[4]: https://habrahabr.ru/post/309808/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] JetBrains Night в Москве 29 сентября
habra.16
habrabot(difrex,1) — All
2016-09-13 14:30:04


Вот уже больше 16 лет JetBrains успешно занимается созданием профессиональных инструментов для программистов.

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

Сегодня мы хотим пригласить вас на мини-конференцию, JetBrains Night Moscow, которая состоится 29 сентября (четверг) в гостинице «Novotel Москва Сити». Цель данного мероприятия — пообщаться вживую. Мы расскажем о некоторых наших продуктах, о том что мы делаем, как и почему.

Вход свободный, но количество мест ограничено. Спешите [ознакомиться с программой и зарегистрироваться][1]!

До встречи!
Команда JetBrains [][2]

[1]: http://info.jetbrains.com/JetBrains-Night-Moscow.html
[2]: https://habrahabr.ru/post/309830/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] PHP 7.1: Обзор новых возможностей
habra.16
habrabot(difrex,1) — All
2016-09-13 17:00:04


![image][1] На Хабре уже был перевод с обзором несколько месяцев назад, но недавно вышел первый релиз-кандидат PHP 7.1, а значит никаких существенных изменений больше не будет и можно сказать, какие точно изменения будут в релизе. Я решил немного оживить сухой “changelog” своим вольным переводом изменений, которые принесет нам новая минорная версия 7.х ветки.


## Новая функциональность

[Хочу узнать][2]

[1]: https://habrastorage.org/getpro/habr/post_images/8c9/678/b98/8c9678b988563df4589096d34da40d56.jpg
[2]: https://habrahabr.ru/post/309858/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Применение нелинейной динамики и теории Хаоса к задаче разработки нового алгоритма сжатия аудио данных
habra.16
habrabot(difrex,1) — All
2016-09-13 20:00:04


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

Чего вы не найдёте здесь:

* Сложных уравнений. Цель данной публикации является представление идей и видение задачи. И как любое видение оно во многом абстрактно;
* Каких либо генераторов фрактальных изображений. Такие изображения выглядят интересно, но мня интересуют реальные задачи.
Что вы найдёте здесь:

1. Краткий обзор применения фрактальных преобразований к задаче сжатия данных с потерями;
2. Необычная интерпретация фрактальных преобразований;
3. Ссылки на реальный код компрессора и декомпрессора аудио данных посредством фрактальных преобразований (декомпрессор представлен в форме плагина для аудио плейера Winamp);
4. Описание нового формата для хранения сжатых аудио данных с пятью уникальными свойствами, отличающими новый формат от многих хорошо известных индустриальных аудио форматов.[Читать дальше →][1]

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

[>] [Из песочницы] Пишем Hello World на FASM
habra.16
habrabot(difrex,1) — All
2016-09-13 20:00:04


Одним томным пятничным вечером взбрела мне в голову безумная идея: а почему бы мне не поразмять мозг, и не написать HelloWorld на ассемблере. Однако это показалось слишком простым. А давайте соберем не x86 программу, а java class? Сказано — сделано.
[Читать дальше →][1]

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

[>] [Из песочницы] Использование Android устройства в качестве тонкого UI для С++ программ
habra.16
habrabot(difrex,1) — All
2016-09-14 01:30:03


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


### Предисловие


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

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

[>] Разработчик, который живет на крыше: хроники прошедшего PDUG Picnic
habra.16
habrabot(difrex,1) — All
2016-09-14 01:30:04


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

[![][1]][2]

Так прошел PDUG Picnic 2016 — неформальная тусовка для разработчиков, которые на досуге всерьез задумываются о том, безопасен ли код, который они пишут.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/b63/7f0/00b/b637f000bb1c42aa90cdf9834e7c34db.jpg
[2]: https://habrahabr.ru/company/pt/blog/309884/
[3]: https://habrahabr.ru/post/309884/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] NIO: между Сциллой и Харибдой?
habra.16
habrabot(difrex,1) — All
2016-09-14 10:00:04


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

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

[>] Настройки безопасности iOS 10, на которые следует обратить внимание
habra.16
habrabot(difrex,1) — All
2016-09-14 12:00:03


![][1]Сегодня Apple [выпустила][2] iOS 10. Пользователи iPhone 5+, iPad mini 2+, iPad 4, iPad Air 1/2, iPad Pro, а так же iPod touch 6 уже могут установить обновление на свои устройства. О функциях этой новой версии мобильной ОС от Apple уже достаточно написано в различных обзорах, так что не будет повторять эту информацию еще раз. Вместо этого, остановимся более детально на ее настройках конфиденциальности и безопасности. Отметим, что в iOS 10 Apple переключилась на более безопасный механизм доставки обновлений — протокол HTTPS. Этой новой security функцией Apple исправляет уязвимость с идентификатором CVE-2016-4741, которая позволяла атакующим удаленно блокировать доставку обновлений устройству с iOS. Apple также исправила проблему с OTA-обновлением iOS 10 для устройств, на которую уже успели [пожаловаться][3] некоторые владельцы устройств iDevice.

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

[1]: https://habrastorage.org/files/ac4/5f5/514/ac45f55148ea411f98c6386254d1ead5.png
[2]: https://support.apple.com/en-ca/HT207143
[3]: http://www.macrumors.com/2016/09/13/ios-10-update-bricking-iphones-and-ipads/
[4]: https://habrahabr.ru/post/309948/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Почему я отказался от Rust
habra.16
habrabot(difrex,1) — All
2016-09-14 13:00:03


![][1]



Когда я узнал, что появился новый язык программирования системного уровня, с производительностью как у С++ и без сборщика мусора, я сразу заинтересовался. Мне нравится решать задачи с помощью языков со сборщиками мусора, вроде C# или JavaScript, но меня постоянно терзала мысль о сырой и грубой мощи С++. Но в С++ так много способов выстрелить себе в ногу и других хорошо известных проблем, что я обычно не решался.



Так что я влез в Rust. И, блин, влез глубоко.



Язык Rust все еще довольно молод, поэтому его экосистема пока находится в стадии начального развития. В некоторых случаях, например, в случае с [вебсокетами][2] или [сериализацией][3] есть хорошие и популярных решения. В других областях у Rust не все так хорошо. Одна из таких областей это OpenGL GUI, вроде [CEGUI][4] или [nanogui][5]. Я хотел помочь сообществу и языку, поэтому взялся за портирования nanogui на Rust, с кодом на чистом Rust, без связок с С/C++. Проект можно [найти тут][6].



Обычно, знакомство с Rust начинается с борьбы с идеей borrow-checker. Как и у других программистов, у меня тоже был период, когда я не мог понять, как решить ту или иную проблему. К счастью, есть классное сообщество в [\#rust-beginners][7]. Его обитатели помогали мне и отвечали на мои дурацкие вопросы. Мне понадобилось несколько недель на то, чтобы почувствовать себя более-менее комфортно в Rust.



Но я не подозревал, что когда сталкиваешься с проблемой, поиск решения похож на ориентацию в джунглях. Часто находится несколько ответов, которые _похожи_ на решение твоей проблемы, но не подходят из-за крохотной детали.

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

[1]: https://habrastorage.org/files/3ee/da0/a79/3eeda0a79fd646aea814490e796078ea.jpg
[2]: https://github.com/cyderize/rust-websocket
[3]: https://github.com/serde-rs/json
[4]: http://cegui.org.uk/
[5]: https://github.com/wjakob/nanogui
[6]: https://github.com/Oipo/nanogui-rust-sdl
[7]: https://client00.chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-beginners
[8]: https://habrahabr.ru/post/309968/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Выход «в поле»: Как мы делали мобильное приложение для повышения эффективности выездных работников
habra.16
habrabot(difrex,1) — All
2016-09-14 17:30:07


[![image][1]][2]

Сервис для управления выездными сотрудниками (field management software) обычно состоит из веб-части, которой пользуются менеджеры в офисе, и мобильного приложения для работников, выезжающих на заказы к клиентам. Сегодня мы расскажем о разработке такого [приложения][3].
[Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/0ab/23c/cc1/0ab23ccc11b173acc57ca154891fd1e4.jpg
[2]: https://habrahabr.ru/company/planado/blog/309842/
[3]: http://www.planado.ru/
[4]: https://habrahabr.ru/post/309842/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] UDL-поддержка
habra.16
habrabot(difrex,1) — All
2016-09-14 18:30:04


Вы когда нибудь задумывались, почему вы пишете код на Caché Object Script, а он экспортируется в XML файл?

![][1]

Так вот, пора меняться. Начиная с выхода новой среды разработки Atelier и версии Caché 2016.2, у вас будет возможность экспортировать и импортировать файлы в формате, в котором вы пишете в студии, так называемый формат UDL (Universal Definition Language). Теперь вы сможете писать код, который не только быстро работает, но еще и приятен глазу в экспортированном виде. Но, возникает другая, не менее важная проблема: если все новые проекты будут находиться в UDL формате, то, кто позаботиться об обратной совместимости?
[Читать дальше →][2]

[1]: https://habrastorage.org/files/8ff/670/9f2/8ff6709f25bd4f1e93e80909fc1f6e76.jpg
[2]: https://habrahabr.ru/post/308936/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Однажды программисты погубят этот мир
habra.16
habrabot(difrex,1) — All
2016-09-14 21:30:04


![][1]


### 1\. История первая: воспоминание


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

А ведь самое логичное объяснение — он сам упал. Просто он рос, выбрасывал новые побеги, развивал и наращивал массу. Тянулся к солнцу. Однажды проекция центра тяжести цветка вышла за пределы опоры и он опрокинулся.

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

[1]: https://habrastorage.org/files/068/986/8e3/0689868e316a4e0e91bb403d0ccee053.jpg
[2]: https://habrahabr.ru/post/310026/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Почему не нужно сваливать на неточность O-оценок свои проблемы
habra.16
habrabot(difrex,1) — All
2016-09-15 08:00:04


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

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

[1]: https://habrastorage.org/getpro/habr/post_images/570/b9b/dd3/570b9bdd394f69cbe4cebaaf68d3fb2e.jpg
[2]: https://habrahabr.ru/post/308818
[3]: https://habrahabr.ru/post/309394/
[4]: https://habrahabr.ru/post/310038/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] OpenJDK: Project Panama
habra.16
habrabot(difrex,1) — All
2016-09-15 11:30:04


![][1]

Два года назад в OpenJDK был создан новый проект под кодовым названием [«Panama»][2]. Основным направлением исследований анонсировалось создание нового интерфейса для работы с платформозависимыми библиотеками и данными вне Java heap’а (off-heap). Но цели проекта шире: исследование механизмов взаимодействия JVM и «внешнего» (не-Java) API.

![][3]**[Владимир Иванов][4]** [iwanowww][5] — ведущий инженер Oracle, работает в группе разработки виртуальной Java-машины HotSpot. Специализируется на JIT-компиляции и поддержке альтернативных языков на платформе Java. Владимир пришел в Sun Microsystems (приобретена Oracle в 2010) в 2005 году и с того момента поучаствовал в большом количестве проектов, связанных с Java (HotSpot JVM, RTSJ, JavaFX).

**— Большая часть проекта Panama — это работа с native библиотеками из Java кода. Как это можно делать сейчас?**

— Работать с native кодом в Java можно было всегда. Native методы были еще в первой версии Java, а стандартный интерфейс JNI появился уже в версии 1.1. Но время идет, платформа развивается, требования меняются и, смотря на JNI сейчас, есть понимание, что можно организовать работу с native библиотеками удобнее и эффективнее.
[Читать дальше →][6]

[1]: https://habrastorage.org/files/54e/f83/3ca/54ef833cae1a44189fe0cb4a36b97d17.jpg
[2]: http://openjdk.java.net/projects/panama/
[3]: https://habrastorage.org/files/c38/8cb/752/c388cb752fc24ecf8cfa22ab3c55bc1f.jpg
[4]: http://jokerconf.com/#vivanov
[5]: https://habrahabr.ru/users/iwanowww/
[6]: https://habrahabr.ru/post/310014/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Темная сторона protobuf
habra.16
habrabot(difrex,1) — All
2016-09-15 12:00:04


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

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

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

[>] Анимированные QR коды
habra.16
habrabot(difrex,1) — All
2016-09-15 13:30:05


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

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

**Github:** [github.com/sylnsfar/qrcode][1]
**Веб-версия:** [www.amazing-qrcode.com][2]

**Примеры анимированных QR кодов, GIF 1Мб**

[][3]

[1]: https://github.com/sylnsfar/qrcode
[2]: http://www.amazing-qrcode.com/
[3]: https://habrahabr.ru/post/310052/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Миф о незрелости мобильных NFC технологий
habra.16
habrabot(difrex,1) — All
2016-09-15 13:30:05


Современные NFC-технологии в их нынешнем виде появились в 2002 году. Однако, начало этим технологиям было положено еще в 1980, с появлением RFID. Возможно, причина, по которой люди считают эту технологию недостаточно зрелой, заключается в том, что за годы, прошедшие с момента ее изобретения, она не успела получить массового распространения. Действительно, пользователи по всему миру начали активно применять NFC технологии только в последние 18 месяцев, после запуска систем мобильных и бесконтактных платежей.


[Читать дальше: Миф о незрелости мобильных NFC технологий][1]

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

[>] Как избежать ошибок, используя современный C++
habra.16
habrabot(difrex,1) — All
2016-09-15 14:00:05


![][1]



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

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

[1]: https://habrastorage.org/files/3be/f20/4f0/3bef204f0fa44b4f8ade9198f65a56c2.png
[2]: https://habrahabr.ru/post/310064/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Dropbox на macOS использует приёмы malware, чтобы получить привилегии, которые ему не нужны
habra.16
habrabot(difrex,1) — All
2016-09-15 16:00:04


Если у вас установлен Dropbox, загляните в `Системные настройки` → `Защита и безопасность` → `Конфиденциальность`.


![][1]

TL;DR: Dropbox


* Показывает фальшивое системное окно macOS, чтобы получить пароль пользователя
* Добавляет себя в привилегированные процессы без обязательного для всех разрешения
* Ставит в систему backdoor, чтобы восстановить разрешения, если их явно отберут
* Эти разрешения толком не использует <irony/> [Подробности и как с этим бороться][2]

[1]: https://habrastorage.org/files/f93/38d/9de/f9338d9debf24643b9403bdab7c1dd5d.png
[2]: https://habrahabr.ru/post/310074/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Для чего финтеху машинное обучение
habra.16
habrabot(difrex,1) — All
2016-09-15 17:30:03


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

В 80-х появились компьютеры, и постепенно мы наблюдали, как их использование для хранения и обработки информации становилось нормой для большинства компаний. В 90-х мы стали свидетелями интернет-бума, по-настоящему изменившего мир. Собрать информацию о чем-либо сегодня — сущий пустяк. В середине прошлого десятилетия появились социальные сети и предприниматели заметили, что клиенты начали проводить в них столько времени, сколько до этого не проводили ни на одном другом сайте. В итоге бизнесмены по всему миру начали инвестировать в социальные медиа для увеличения охвата аудитории и в маркетинговых целях. Когда широкой публике были представлены Android и iOS, произошел сдвиг парадигмы. Люди стали проводить больше времени со своими смартфонами, нежели персональными компьютерами. Со временем потребители начали пользоваться смартфонами для принятия решений, совершения покупок и даже платежей. Сегодня, поняв, что смартфоны стали неотъемлемой частью процесса принятия потребителем решений, компании стремятся предоставить им омниканальный опыт взаимодействия. В связи с этим возникает вопрос: «Какие еще существуют инновационные инструменты, способные изменить рынок?» Вероятно, компаниям следует обратить внимание на использование алгоритмов машинного обучения.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/0c1/977/7fa/0c19777fa60340bbbec8c5bd9fbe82a1.PNG
[2]: http://payonline.ru/?utm_source=habrahabr&utm_medium=referral&utm_campaign=webpayments-main
[3]: https://letstalkpayments.com/winning-with-algorithms-in-fintech/
[4]: https://habrahabr.ru/post/305646/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Исследование и доработка IP-видеосервера на базе Orange Pi PC
habra.16
habrabot(difrex,1) — All
2016-09-15 19:00:03


![][1]

Около полугода назад мне достался миниатюрный видеосервер, применение которому я нашёл в арендуемом для мотоцикла гараже, где он всё это время благополучно работал в связке с двумя китайскими NoName IP-камерами, худо-бедно поддерживающими ONVIF, и 3G-модемом, что позволяло мне удалённо посмотреть видео с камер при оповещениях о детекции движения, к счастью совпадавшими пока только с моим приходом в гараж. Не дал этому микросерверу спокойно работать дальше я сам, так как, ещё когда только получил его в руки, из любопытства разобрал и неожиданно для себя обнаружил, что построен он на одноплатнике Orange Pi PC, который незадолго до этого, благодаря низкой цене, широко освещался в интернете, в том числе и на Geektimes, поэтому я примерно представлял его возможности.

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

[1]: https://habrastorage.org/files/b6d/e48/6a2/b6de486a22e84d8fb5027074cb52953a.JPG
[2]: https://habrahabr.ru/post/310090/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Bagri — NoSQL база данных с открытым кодом, построенная поверх распределенного кэша
habra.16
habrabot(difrex,1) — All
2016-09-15 19:30:04


Сегодня хочу рассказать вам об open source проекте под названием [Bagri][1]. Bagri — это распределенная база данных документов (document database), или как сейчас модно говорить NoSQL база данных, написанная на Java и спроектированная с учетом требований, в основном используемых в корпоративном секторе, таких как высокая готовность, отказоустойчивость, масштабируемость и поддержка транзакционности.

Bagri построена поверх продуктов реализующих распределенный кэш, таких как Hazelcast, Coherence, Infinispan и других подобных систем. Именно за счет возможностей распределенного кэша Bagri поддерживает требования корпоративного сектора прямо из коробки. Распределенный кэш используется системой не только как хранилище данных, но и как распределенная система обработки этих данных, что позволяет эффективно и быстро обрабатывать любые большие объемы слабо структурированных данных. Транзакционность в системе решена с помощью алгоритма реализующего [multi-version concurrency control][2]
[Читать дальше →][3]

[1]: http://bagridb.com/
[2]: https://en.wikipedia.org/wiki/Multiversion_concurrency_control
[3]: https://habrahabr.ru/post/310110/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Microsoft выпустила обновления для своих продуктов
habra.16
habrabot(difrex,1) — All
2016-09-15 19:30:04


![][1]Microsoft [обновила][2] свои продукты, выпустив 14 обновлений, 7 из которых получили статус Critical. Обновления адресуются веб-браузерам Internet Explorer и Edge, различным компонентам Windows, Office, а также Exchange Server. Закрытая обновлением [MS16-104][3] уязвимость CVE-2016-3351 типа Information Disclosure в веб-браузере Internet Explorer 9-11 используется злоумышленниками в направленных атаках. Одно из обновлений [MS16-111][4] исправляет Local Privilege Escalation (LPE) уязвимости в загрузчике Windows (Winload.efi), а также в файлах ядра ntoskrnl и ntdll. Уязвимости позволяют атакующему получить максимальные права SYSTEM в системе.

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

[1]: https://habrastorage.org/files/068/900/8a3/0689008a34504389b4ff5d0a5d2039bf.jpeg
[2]: https://technet.microsoft.com/library/security/ms16-sep
[3]: https://technet.microsoft.com/library/security/MS16-104
[4]: https://technet.microsoft.com/library/security/MS16-111
[5]: https://habrahabr.ru/post/310094/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Изменение в PHP 7, ломающее при обновлении с пятой версии некоторые сервера на Ubuntu
habra.16
habrabot(difrex,1) — All
2016-09-16 04:30:04


Это явно не заслуживает отдельной статьи на Хабре, но ошибка может коснуться большого количества людей, поэтому я всё-таки решил написать.



:


> 7\.0.0 Hash marks (#) are no longer recognized as comments.

Казалось бы, что такого? Админы на тестовом сервере обнаружат появившиеся ошибки в конфигах и быстро поправят. Но тут вступает в дело одна неприятная особенность php-fpm: он отказывается запускаться с некорректным файлом `php-fpm.conf`, но спокойно запустится с некорректным `php.ini`, проигнорировав все его настройки и используя значения по умолчанию. Ошибка не будет видна в консоли, так как её проглотит скрипт запуска службы, и не будет записана в лог php-fpm.


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

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

[>] RailsClub 2016: Интервью c Алексеем Тактаровым
habra.16
habrabot(difrex,1) — All
2016-09-16 10:30:04


Всем привет! До [**RailsClub 2016**][1] осталось чуть больше месяца. Самое время регистрироваться!

Мы уже рассказали, что в этом году к нам приедут выступать Юкихиро Мацумото, Акира Мацуда, Шон Гриффин, Стив Клабник и Зак Бригс. А сегодня мы начинаем публиковать традиционные интервью с нашими докладчиками. В этом году сделать разговор со спикерами интересным нам помогает подкаст [**RubyNoName**][2].

![image][3]Ребята записали первый разговор, с **Алексеем Тактаровым**, фронтенд(!) разработчиком из These Guys. Алексей специализируется на разработке single-page приложений, пропагандирует чистоту и простоту дизайна и кода. Принимал участие в проектах Смартомато, ficus.io и resume.io, работал со Злыми марсианами; его основные инструменты — Ember.js, React и Ruby on Rails. В свободное время занимается южной около-фронтенд тусовкой Code Hipsters.

Мы впервые ставим в программу бэкенд конференции доклад про фронт. Никуда без него в 2016 году :). Лешин доклад называется "**Дайте фронтенду в Rails второй шанс!**".
[Читать дальше →][4]

[1]: http://railsclub.ru/
[2]: http://rubynoname.ru/
[3]: https://habrastorage.org/getpro/habr/post_images/f03/9c8/b15/f039c8b159b89f56d2c755a2c8825ce5.jpg
[4]: https://habrahabr.ru/post/310104/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 37: патчи Windows станут кумулятивнее, Google против HTTP, уязвимость в MySQL
habra.16
habrabot(difrex,1) — All
2016-09-16 12:30:04


![][1]С октября Microsoft меняет политику доставки обновлений для ряда операционных систем ([новость][2], [пост][3] на Technet). С целью упрощения процесса обновления (и, вероятно, по многочисленным заявкам трудящихся) Windows 7 и 8.1, а также Windows Server 2008 и 2012 будут обновляться одним большим патчем раз в месяц. Преимущества такого подхода очевидны: достаточно посмотреть на дату последнего обновления, чтобы понять актуальность установленных патчей.

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

Впрочем, остается одна лазейка: кумулятивный патч включает в себя и обновления безопасности, и обновления, направленные на повышение надежности работы. Можно выбрать и устанавливать только security-фиксы и больше ничего, но эта опция рассчитана на клиентов из числа крупных компаний. Новая политика может выйти боком при использовании специализированного софта с жесткими требованиями по совместимости. Примеров, когда выход патча ломал совместимость немало: можно вспомнить [проблемы][4] с софтом от Citrix после апдейта Windows 10, или скажем [поломку][5] системы [конфигурации][6] через Powershell (вот тут интересный момент — по ссылке левая рука Microsoft жалуется на баги у правой).
[Читать дальше →][7]

[1]: https://habrastorage.org/files/5f1/06f/e73/5f106fe73b2d472c9ec09fe939e3d25d.jpg
[2]: https://threatpost.com/new-windows-patch-policy-at-odds-with-acceptable-risk/120491/
[3]: https://blogs.technet.microsoft.com/windowsitpro/2016/08/15/further-simplifying-servicing-model-for-windows-7-and-windows-8-1/
[4]: http://support.citrix.com/article/CTX205398
[5]: https://blogs.msdn.microsoft.com/powershell/2016/08/23/powershell-dsc-broken-in-kb3176932/
[6]: https://msdn.microsoft.com/en-us/powershell/dsc/overview
[7]: https://habrahabr.ru/post/310128/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Особенности использования машинного обучения при защите от DDoS-атак
habra.16
habrabot(difrex,1) — All
2016-09-16 12:30:04


![][1]

_Этот пост подготовлен по материалам выступления [Константина Игнатова][2], Qrator Labs, на [партнёрской конференции «1С-Битрикс»][3]._

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

Как правило, владелец ресурса узнает об атаке только в тот момент, когда ему начинают звонить недовольные пользователи. Эту ситуацию большинство компаний встречают неподготовленными. В момент пожара разрабатывать план спасения поздно, и все бросаются на поиски универсального средства, которое окажется под рукой. Но «волшебной пилюли» против DDoS, которая мгновенно бы устранила проблему, нет. Готовиться необходимо заранее.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/6c9/0dc/bfa/6c90dcbfa8ca4a6ea174c8d40b29c061.jpg
[2]: https://habrahabr.ru/users/kpp/
[3]: http://conf.1c-bitrix.ru/winter2016/agenda/
[4]: https://habrahabr.ru/post/310084/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Долг знаний
habra.16
habrabot(difrex,1) — All
2016-09-16 13:00:03


Если вы — программист, то вам приходится учиться **очень** много. Вспомните свой первый "Hello, World!". У меня это было в четвертом классе. Мы изучали С++, и наш учитель написал программу от руки на доске. Мы использовали Turbo C++, копировали ее на дискету, чтобы экспериментировать дома.



![img][1]



В том время я не думал, что Turbo C++ это _редактор_. Я не думал о нем _как об IDE_. Для меня **Turbo C++ был языком C++**. Это был единственный известный мне способ программировать. Я не знал, что значит "компиляция", не знал, зачем нужен `#include`  в начале файла. Я не понимал, что делает `main` и что `printf` может принимать любое количество аргументов. Я просто скопировал программу с доски, нажал `Run` и увидел вывод на экране.



Это круто. Так и нужно учить программированию. Нужно делать что-то до того когда еще не понимаешь, как это работает. Некоторое время нужно умышленно быть в неведении о деталях. Детали отвлекают.

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

[1]: https://habrastorage.org/files/bca/28f/5ce/bca28f5ce8b04cfbbc2838d34a8e57e6.png
[2]: https://habrahabr.ru/post/310158/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Страхи мобильной безопасности
habra.16
habrabot(difrex,1) — All
2016-09-16 14:00:03


![][1]

Гернет Герц, научный сотрудник Калифорнийского университета, предложил такой способ обеспечения мобильной безопасности: сейф с прорезью для мобильного телефона в верхней части. Сейф позволяет задать время, в течение которого телефон будет заблокирован внутри. Его нельзя достать, и нет никакого способа уменьшить заданное время. Пока телефон находится в запертом ящике, и вы им не пользуетесь – ваши данные находятся в безопасности. Своей инсталляцией Герц показывает, что главная уязвимость кроется в самом пользователе. Так ли это, рассуждаем под катом.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/b0c/cfd/426/b0ccfd426bff4c73b14a24f43e240558.jpg
[2]: https://habrahabr.ru/post/310120/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Logeek Night в Воронеже
habra.16
habrabot(difrex,1) — All
2016-09-16 14:30:04


[![][1]][2]

Всем короткой пятницы, хабравчане! Спешим [анонсировать наше мероприятие][3], которое начнется через неделю в Воронеже, в баре PITNICA. Как и всегда, Logeek Night пройдет вечером, с 19:00 до 21:30 в формате двух выступлений и беседы как о выступлениях, так и на смежные темы.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/232/80e/548/23280e5488f74b0f8ebd90bad2778e2e.jpg
[2]: http://career.luxoft.com/lts/logeek/russia/
[3]: http://career.luxoft.com/lts/logeek/russia/
[4]: https://habrahabr.ru/post/310176/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Жаргон функционального программирования
habra.16
habrabot(difrex,1) — All
2016-09-16 14:30:04


![][1]



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



В примерах используется JavaScript ES2015). ([Почему JavaScript?][2])



_Работа над материалом [продолжается][3]; присылайте свои пулл-реквесты в оригинальный репозиторий на английском языке._



В документе используются термины из спецификации [Fantasy Land spec][4] по мере необходимости.



## Arity (арность)



Количество аргументов функции. От слов унарный, бинарный, тернарный (unary, binary, ternary) и так далее. Это необычное слово, потому что состоит из двух суффиксов: "-ary" и "-ity.". Сложение, к примеру, принимает два аргумента, поэтому это бинарная функция, или функция, у которой арность равна двум. Иногда используют термин "диадный" (dyadic), если предпочитают греческие корни вместо латинских. Функция, которая принимает произвольное количество аргументов называется, соответственно, вариативной (variadic). Но бинарная функция может принимать два и только два аргумента, без учета каррирования или частичного применения.

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

[1]: https://habrastorage.org/files/c94/6aa/c01/c946aac01f494ceb8e9e8f6986802b4c.jpg
[2]: https://github.com/hemanth/functional-programming-jargon/wiki/Why-JavaScript%3F
[3]: https://github.com/hemanth/functional-programming-jargon/issues/20
[4]: https://github.com/fantasyland/fantasy-land
[5]: https://habrahabr.ru/post/310172/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Еще один из способов обойти блокировку PornHub
habra.16
habrabot(difrex,1) — All
2016-09-16 17:30:03


Думаю, все помнят telnet версию SW:New Hope. В связи с блокировкой PornHub'а, возникла идея сделать что-то подобное с их видео. Вооружимся питоном и попробуем реализовать задумку.


Тот самый StarWars.
[Читать дальше →][1]

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

[>] Новый плагин от Stepik.org для IntelliJ IDEA
habra.16
habrabot(difrex,1) — All
2016-09-16 19:00:03


В сентябре мы выпустили плагин для IntelliJ IDEA с поддержкой Python и Java. О процессе разработки, и о том, почему плагин упростит жизнь учащихся программированию на Stepik.org, расскажем в этой статье.

![][1]
[Подробнее о плагине][2]

[1]: https://habrastorage.org/files/3af/331/407/3af33140760846d28216706f547a1dd1.png
[2]: https://habrahabr.ru/post/310204/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 133