RSS
Pages: 1 ... 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 ... 133
[>] Обманываем время: о тестировании с «подставным» временем на Linux и Docker
habra.16
habrabot(difrex,1) — All
2017-04-18 17:00:04


При разработке очередного бота для группы в Telegram у меня возникла необходимость испытать его при различных значениях системного времени. Этот бот в конце каждого дня отправляет (или, в зависимости от ряда условий, **не** отправляет) сообщение в чат и производит манипуляции с некоторыми предыдущими своими сообщениями (или, опять же, **не** производит).



Менять системное время глобально ой, как не хотелось. Муторно, плюс у меня в ней столько всего понаставлено, не дай Б-г что-то заглючит (вряд ли, но мало ли). Думал запустить VirtualBox, но уж больно лень было ставить «чистую» Убунту, расшаривать папки, и т. д., тем более что этот вариант жрёт, как троглодит серьёзно потребляет машинные ресурсы.



Но буквально недавно я начал ковырять Docker. «У него просто _обязан_ быть механизм контроля системного времени внутри контейнера», — подумал я. Рассмотрим, что же в результате вышло.

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

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

[>] Питерский бездомный — в Праге. Продолжение истории разработчика-самоучки
habra.16
habrabot(difrex,1) — All
2017-04-18 17:30:04


Что бы вы ответили на вопрос работодателя: «Готовы ли вы переехать в наш новый офис в другой стране?». Скорее всего, правильно было бы уточнить, в какую конкретно страну, на каких условиях и что-то еще в таком духе. Потом начать изучать законодательство, штудировать форумы, задавать вопросы, переживать по поводу транспортировки вещей, разбираться в особенностях местной ипотеки, строить планы на 10 лет вперед, волноваться, начать пить и курить или бросить пить и курить.

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

Кстати, после публикации [прошлой истории][1] на Хабре, где я написал о том, как стихийно стал программистом, я ощутил что-то вроде славы – всплывали старые знакомые, появлялись новые, меня даже пару раз узнавали в транспорте (а это показатель!).

В общем, прошло 1,5 года, я переехал в новый R&D офис Veeam Software в Чехии и пишу продолжение своей истории. Вдруг кого-то заинтересует мой опыт релокации, налаживания быта и работы в другой стране.
[Читать дальше →][2]

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

[>] Новости онлайн-курсов Mail.Ru Group: перезапуск «Углублённого программирования на С++»
habra.16
habrabot(difrex,1) — All
2017-04-18 18:00:04


![image][1]



17 апреля мы перезапустили онлайн-курс «Углублённое программирование на С/С++» на платформе Stepik. Это курс для тех, кто знает С++ и хочет научиться использовать его в промышленной разработке. Мы упростили доступ к модулям, чтобы вы прошли курс в удобное время и получили сертификат. Но обо всём по порядку.

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

[1]: https://habrastorage.org/files/e74/913/f87/e74913f8793d44a08b77dfa898d463c3.jpg
[2]: https://habrahabr.ru/post/326590/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Не верьте навигатору: уязвимости GPS и ГЛОНАСС
habra.16
habrabot(difrex,1) — All
2017-04-18 18:30:03


[![][1]][2]

_Изображение: [2Tales][3], Flickr_

Сейчас приемник GPS/ГЛОНАСС есть не только в каждом смартфоне, но даже в тех устройствах, которые не особенно перемещаются — в промышленных установках, в датчиках телеметрии, в банкоматах. Кроме того, такие приемники обеспечивают навигацию в автоматически управляемых системах, от городского транспорта до военных дронов. Системы глобального позиционирования настолько глубоко проникли во все сферы нашей жизни, что большинство людей пользуются ими, не задумываясь о том, насколько им можно доверять.

Между тем уже есть множество примеров, подтверждающих, что подобные системы уязвимы к разнообразным атакам, включая spoofing, то есть подмену сигнала. Более 5 лет назад иранские военные смогли посадить американский беспилотник, используя [данную технику][4]. А в конце 2016 года темой многих СМИ стали искажения GPS и ГЛОНАСС в центре Москвы, около Кремля: навигаторы вдруг показывали своим пользователям, что они [находятся в аэропорту Внуково][5]. Мы решили выяснить, действительно ли нужно обладать возможностями спецслужб, чтобы спровоцировать подобные сбои.
[Читать дальше →][6]

[1]: https://habrastorage.org/files/89b/262/261/89b262261a144cff9734af777c36a19d.jpg
[2]: https://habrahabr.ru/company/pt/blog/326786/
[3]: https://www.flickr.com/photos/stigster/
[4]: https://habrahabr.ru/post/135150/
[5]: https://lenta.ru/articles/2016/11/07/gpsoff
[6]: https://habrahabr.ru/post/326786/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Про технику безопасности, ядерную физику и любовь: о противоречиях современной ИТ-архитектуры фронтальных решений
habra.16
habrabot(difrex,1) — All
2017-04-18 20:00:04


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


## Больше изоленты!


У меня есть друг, его профессия связана с электромонтажом. Когда он был моложе и циничнее, он любил травить байки про электриков, которые работали на необесточенных сетях. Конец всегда был занимательный, но печальный для главного героя. С компонентной архитектурой так же: где-нибудь не изолируешь один функционал от другого, «ударит током» и тебя, и того, кто будет после тебя. Разница в том, что изоляция в IT пока более затратное удовольствие, чем в электрике.

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

[1]: https://habrahabr.ru/company/efs/blog/324626/
[2]: https://habrastorage.org/files/cf5/f87/e50/cf5f87e50e7a4e83a3ae1d5a56997283.jpg
[3]: https://habrahabr.ru/company/efs/blog/326790/
[4]: https://habrahabr.ru/post/326790/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] GoTo MeetUp: Security by Default
habra.16
habrabot(difrex,1) — All
2017-04-18 22:30:04


![][1]

**Информационная безопасность — это важно**; впрочем, это знание мало кому помогает. Количество соединенных general-purpose компьютеров (==сложность) растёт каждый день, происходят очень реальные инциденты от [Heart][2] или [Cloudbleed][3] до [Stuxnet][4] или [проблем с бортовым компьютером Toyota][5] (когда машина не останавливается), и ситуация не становится лучше сама по себе. Становится хуже, потому что "интернет вещей" — это стартапы, делающие физическую инфраструктуру типа [лампочек][6] или дверных замков (разработчики SCADA плачут кровавыми слезами). Потому что огромное количество кода пишется на memory-unsafe языках. Потому что образование разработчиков — это, как правило, либо про фичи (проекты / этожпрототип), либо про фундаментальные алгоритмы (что не помогает пониманию того, что система работает не в вакууме).



Кажется, что основных корней проблемы два: это небезопасный инструментарий — например, ЯП (C/C++) и библиотеки (OpenSSL), и люди. Люди забывают про ИБ, думают "выпустим что-нибудь, а потом разберёмся", не понимают tradeoff'ы своих инструментов (то, что "C — это быстро", знают все, а вот про memory unsafety и масштаб UB — немногие), etc. Первая проблема сейчас решается сообществом: разрабатываются безопасные языки типа Rust и простые, понятные библиотеки типа TweetNaCl. Остаётся вторая (ведь хорошим инструментам надо ещё научить, как и соответствующему мышлению).



Поэтому мы проводим митап по информационной безопасности Security by Default.

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

[1]: https://habrastorage.org/files/5ae/915/276/5ae91527665d4c65a190b958f6bbb8e6.png
[2]: http://heartbleed.com
[3]: https://en.wikipedia.org/wiki/Cloudbleed
[4]: https://en.wikipedia.org/wiki/Stuxnet
[5]: http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences
[6]: https://twitter.com/internetofshit/status/849667478385037317
[7]: https://habrahabr.ru/post/326764/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пишем Telegram бота на Rust, который будет запускать код на...Rust?
habra.16
habrabot(difrex,1) — All
2017-04-19 03:30:04


Доброй ночи! Сегодня хотелось бы кратко рассказать, о том, как написать Telegram бота на Rust, который будет запускать код на Rust. У статьи нет цели произвести полное погружение в API telegram\_bot, Serde, Telegram или в нюансы разработки на Rust. Она скорее носит ознакомительный характер. Числа Пеано с помощью системы типов складывать не будем.
![Превью к статье][1]


[Хотел складывать числа Пеано, но ладно, давай своего бота...][2]

[1]: https://habrastorage.org/files/e1d/a90/000/e1da900003684042a932bb58d714ea01.png
[2]: https://habrahabr.ru/post/326830/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пишем Telegram-бота на Rust, который будет запускать код на...Rust?
habra.16
habrabot(difrex,1) — All
2017-04-19 10:30:06


Доброй ночи! Сегодня хотелось бы кратко рассказать о том, как написать Telegram-бота на Rust, который будет запускать код на Rust. У статьи нет цели произвести полное погружение в API telegram\_bot, Serde, Telegram или в нюансы разработки на Rust. Она скорее носит ознакомительный характер. Числа Пеано с помощью системы типов складывать не будем.
![Превью к статье][1]


[Хотел складывать числа Пеано, но ладно, давай своего бота...][2]

[1]: https://habrastorage.org/files/e1d/a90/000/e1da900003684042a932bb58d714ea01.png
[2]: https://habrahabr.ru/post/326830/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Теперь обязательно»: выдача SSL-сертификатов с учетом DNS-записи
habra.16
habrabot(difrex,1) — All
2017-04-19 12:30:04


В этом году публичные организации, отвечающие за распределение сертификатов, в обязательном порядке [начнут][1] учитывать специальные DNS-записи. Эти записи позволяют владельцам доменов определять «круг лиц», которым дозволено выдавать [сертификаты SSL/TLS][2] (о них мы писали в нашем предыдущем [посте][3]) для их домена.

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

[1]: http://www.itworld.com/article/3188822/security/dns-record-will-help-prevent-unauthorized-ssl-certificates.html
[2]: https://1cloud.ru/services/ssl
[3]: https://habrahabr.ru/company/1cloud/blog/326292/
[4]: https://habrastorage.org/files/2f7/599/ae2/2f7599ae2f1640d8abe61b6fd0955b78.jpg
[5]: https://habrahabr.ru/company/1cloud/blog/326734/
[6]: https://habrahabr.ru/post/326734/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Нативные ECMAScript модули — первый обзор
habra.16
habrabot(difrex,1) — All
2017-04-19 13:30:05


[![Бандлеры и компайлеры против нативных модулей][1]][2]

_В этой статье хочу поделиться переводом статьи о нативных [ECMAScript модулях][3], которые все больше и больше обсуждаются среди фронтендеров. Javascript ранее никогда не поддерживал нативно работу с модулями, и нам, фронтендерам, всегда приходилось использовать дополнительные инструменты для работы с модулями. Но вы только представьте, что в скором времени не нужно будет использовать Webpack для создания бандлов модулей. Представьте мир, в котором браузер будет собирать все за вас. Подробнее об этих перспективах я и хочу рассказать._
[Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/be1/220/2ad/be12202ad80598308949f8bfe6b8b728.png
[2]: https://habrahabr.ru/company/tuturu/blog/326716/
[3]: http://www.ecma-international.org/ecma-262/6.0/#sec-modules
[4]: https://habrahabr.ru/post/326716/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Реализация псевдо-3D в гоночных играх
habra.16
habrabot(difrex,1) — All
2017-04-19 13:30:05


![][1]


## Введение


**Почему псевдо-3d?**

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

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

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

[1]: https://habrastorage.org/files/885/034/247/8850342476fe46648474d819ba082581.gif
[2]: https://habrahabr.ru/post/325482/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Начнем с математики. Векторизация вычислений в реализации технологии RAID-6
habra.16
habrabot(difrex,1) — All
2017-04-19 14:00:04


Многие помнят публикацию о «Рэйдикс» на Хабре [«Как разработчики сидели в Петербурге и тихо ели грибы»][1], в которой партнеры кратко изложили историю появления нашего продукта. Поэтому в первой статье своего Хаброблога мы бы хотели погрузиться в математические основы технологий RAIDIX.

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

[1]: https://habrahabr.ru/company/croc/blog/246155/
[2]: https://habrastorage.org/files/2d7/6d1/2e2/2d76d12e2fad4dce840a7cc3651ab7db.jpg
[3]: https://habrahabr.ru/post/326816/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Версия редакторов 4.3: да, мы добавили сноски
habra.16
habrabot(difrex,1) — All
2017-04-19 16:00:05


Мы тут выпустили новую версию редакторов документов ONLYOFFICE. Не будем мучить вас техническими деталями, но там вы найдете сноски, такое удобство для совместного редактирования, как Undo в «быстром» режиме, специальную вставку в таблицах и еще много всего.

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

[1]: https://habrastorage.org/files/ac4/05c/d85/ac405cd859614478ae7b027febd90297.jpg
[2]: https://habrahabr.ru/post/326118/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] LVM Thin Provision: опыт эксплуатации на малом объекте
habra.16
habrabot(difrex,1) — All
2017-04-19 16:00:05


Хочу поделится своим опытом эксплуатации LVM Thin Provision, и набитыми шишками. В целом, я доволен этой технологией.
[Читать дальше →][1]

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

[>] Масштабируя TLS
habra.16
habrabot(difrex,1) — All
2017-04-19 16:00:05


![][1]

_Хабр, это доклад с одного из «не главных» залов Highload++ 2016. Артём [ximaera][2] Гавриченков, технический директор Qrator Labs, рассказывает про прикладное шифрование, в том числе, в высоконагруженных проектах. Видео и презентация в конце поста — спасибо [Олегу Бунину][3]._

Приветствую! Мы продолжаем находиться на сессии про HTTPS, TLS, SSL и всё такое.
То, о чём я сейчас буду говорить — не какой-то туториал. Как говорил мой преподаватель в университете по базам данных, Сергей Дмитриевич Кузнецов: «Я не буду учить вас настраивать Microsoft SQL сервер — пусть это делает Microsoft; не буду учить вас настраивать Oracle — пусть это делает Oracle; не буду учить вас настраивать MySQL — делайте это сами».

Точно так же и я не буду учить вас настраивать NGINX — это всё есть на сайте [у Игоря Сысоева][4]. Что мы обсудим, так это некий общий взгляд на проблематику и на возможности для решения проблем, которые возникают при внедрении шифрования на публичных сервисах.
[Читать дальше →][5]

[1]: https://habrastorage.org/files/570/e41/f97/570e41f97d4246b69713a978d2f6d09e.jpg
[2]: https://habrahabr.ru/users/ximaera/
[3]: http://www.highload.ru/
[4]: https://nginx.org/ru/
[5]: https://habrahabr.ru/post/326824/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] TypeScript в Slack
habra.16
habrabot(difrex,1) — All
2017-04-19 16:30:04


#### Или как мы перестали беспокоиться и научились доверять компилятору


![][1]

Когда Брендан Эйх создал самую первую версию JavaScript для Netscape Navigator 2.0 всего за десять дней, вряд ли он ожидал, в какой степени Slack Desktop App будет использовать его изобретение. Мы используем только кодовую базу JavaScript для многопоточного десктопного приложения, которое постоянно взаимодействует с нативным кодом и работает под Windows, macOS и Linux.

Управлять большими кодовыми базами JavaScript непросто. Всякий раз, когда мы мимоходом передаём объекты из JavaScript браузера Chrome в Objective-C, чтобы просто получить обратный вызов через другой поток на Node.js, нужна гарантия, что все кусочки складываются вместе. В десктопном мире маленькая ошибка может привести к сбою приложения. С этой целью мы внедрили [TypeScript][2] (статически типизированное надмножество JavaScript) и быстро поняли, как жить без волнений и с любовью к компилятору. И не только мы: [опрос разработчиков на Stack Overflow][3] показывает, что TypeScript является [третьей самой любимой технологией программирования][4]. Учитывая, насколько быстро статическая проверка типов набирает ход, мы хотим поделиться нашим опытом и методиками.
[Читать дальше →][5]

[1]: https://habrastorage.org/files/762/274/0af/7622740afb90474e8a200b2ee1fae075.jpg
[2]: http://typescriptlang.org/
[3]: https://stackoverflow.com/insights/survey/2017/
[4]: https://stackoverflow.com/insights/survey/2017/#technology-most-loved-dreaded-and-wanted-languages
[5]: https://habrahabr.ru/post/326854/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод - recovery mode ] Как подойти к анализу сайта с точки зрения взломщика и выявить уязвимости?
habra.16
habrabot(difrex,1) — All
2017-04-19 16:30:04


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

**97%** проверенных [TrustWave][1] приложений уязвимы перед тем или иным видом угрозы.

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

[1]: https://www2.trustwave.com/GSR2016.html
[2]: https://habrastorage.org/files/42a/1c6/bb5/42a1c6bb553e40cc85cd0fe3a0116995.png
[3]: https://habrahabr.ru/post/326832/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Выбор MQ для высоконагруженного проекта
habra.16
habrabot(difrex,1) — All
2017-04-19 18:30:05


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

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

Если микросервис перестает отвечать на запросы в результате аварии, его клиенты должны быть мгновенно перенаправлены на резервный. Для управления потоком запросов часто используют так называемые очереди сообщений (message queues).

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

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

[1]: https://martinfowler.com/articles/microservices.html
[2]: https://habrahabr.ru/post/326880/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Алгоритм Джонкера-Волгенанта + t-SNE = супер-сила
habra.16
habrabot(difrex,1) — All
2017-04-19 18:30:05


До:

![][1]

После:

![][2]

Заинтригованы? Но обо всем по порядку.


## t-SNE


[t-SNE][3] — это очень популярный алгоритм, который позволяет снижать размерность ваших данных, чтобы их было проще визуализировать. Этот алгоритм может свернуть сотни измерений к всего двум, сохраняя при этом важные отношения между данными: чем ближе объекты располагаются в исходном пространстве, тем меньше расстояние между этими объектами в пространстве сокращенной размерности. t-SNE неплохо работает на маленьких и средних реальных наборах данных и не требует большого количества настроек гиперпараметров. Другими словами, если взять 100 000 точек и пропустить их через эту волшебный черный ящик, на выходе мы получим красивый график рассеяния.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/14b/047/01f/14b04701f5234739baf7c70b58f70921.png
[2]: https://habrastorage.org/files/0d8/21e/8bc/0d821e8bc2fe47c6897a7c3fa1b44c8a.png
[3]: https://lvdmaaten.github.io/tsne/
[4]: https://habrahabr.ru/post/326750/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы делали ML Boot Camp III
habra.16
habrabot(difrex,1) — All
2017-04-19 19:00:04


![image][1]



19 марта закончился третий чемпионат по машинному обучению на платформе [ML Boot Camp][2]. 614 человек прислали решения и поборолись за главный приз ー MacBook Air. Для нас это важный проект: мы хотим расширить сообщество ML-специалистов России. Поэтому в наших задачах сможет разобраться даже новичок. Теоретически… Профи же соревнуются благодаря сложности метрик и большому ряду параметров задачи.



Со второго контеста многое изменилось. Мы увеличили количество участников вдвое, прикрутили к серверу новую метрику, пофиксили баги и создали [ML-комьюнити в Телеграме][3]. Рассказываем, как проводили третий контест.

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

[1]: https://habrastorage.org/files/0ec/0e9/24f/0ec0e924f02b4743ae92dc48289d4983.jpg
[2]: http://mlbootcamp.ru/main/
[3]: https://t.me/mailrucontests
[4]: https://habrahabr.ru/post/326752/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Передача намерений
habra.16
habrabot(difrex,1) — All
2017-04-19 21:00:04


Rust — элегантный язык, который несколько отличается от многих других популярных языков. Например, вместо использования классов и наследования, Rust предлагает собственную систему типов на основе типажей. Однако я считаю, что многим программистам, начинающим свое знакомство с Rust (как и я), неизвестны общепринятые шаблоны проектирования.



В этой статье, я хочу обсудить шаблон проектирования _новый тип_ (newtype), а также типажи `From` и `Into`, которые помогают в преобразовании типов.

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

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

[>] [recovery mode] Как сделать свой С++ код кроссплатформенным?
habra.16
habrabot(difrex,1) — All
2017-04-19 21:00:04


Возможно, кто-то, прочитав заголовок, спросит: «Зачем что-то делать со своим кодом?! Ведь С++ кроссплатформенный язык!». В целом, это так… но только пока нигде нет завязок на специфичные возможности компилятора и целевой платформы…

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

В итоге получаем приложение, которое, в некоторой степени, «заточено» под конкретный компилятор (и даже под его конкретную версию!) и целевую ОС. Более того, из-за скудности стандартной библиотеки С++ некоторые вещи просто невозможно написать, не воспользовавшись специфичным API системы.

Так было и у нас в Тензоре. Мы писали на MS Visual Studio 2010. Наши продукты были 32-х битными Windows-приложениями. И, само собой, код был пронизан всевозможными завязками на технологии от Microsoft. Однажды мы решили, что пора осваивать новые горизонты: пора научить СБИС работать под Linux и другими ОС, пора попробовать перейти на другое «железо» (POWER).

В данном цикле статей я расскажу, как мы сделали свои продукты настоящими кроссплатформенными приложениями; как заставили их работать на Linux, MacOS и даже под iOS и Android; как запустили свои приложения на множестве аппаратных архитектур (x86-64, POWER, ARM и другие); как научили работать на big-endian машинах.
![][1]
[Читать дальше →][2]

[1]: https://habrastorage.org/files/061/63c/d9b/06163cd9b2474cc4bb5b9e4a2258e022.png
[2]: https://habrahabr.ru/post/326856/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Ломать нельзя помиловать, или что ждет хакеров на PHDays VII
habra.16
habrabot(difrex,1) — All
2017-04-19 21:30:04


[![][1]][2]

Пожалуй, самая ожидаемая часть форума — это конкурсы. В этом году мы подготовили обширную программу: участников ждут конкурсы, ставшие классикой PHDays, и кое-что совершенно новое. Основное правило остается неизменным — только реальные цели, только хардкор. Большинство соревнований PHDays VII пройдет в рамках [Противостояния][3], центральным объектом будет умный город. Посетители форума смогут попробовать себя во взломе систем умного дома, камер видеонаблюдения, IoT-устройств, а также заглянуть [под капот умного автомобиля][4] и поломать систему автоматизации целого города. [Читать дальше →][5]

[1]: https://habrastorage.org/files/312/9b2/de0/3129b2de03c5482b8da3a446c752b7b5.jpg
[2]: https://habrahabr.ru/company/pt/blog/326866/
[3]: http://www.phdays.ru/program/standoff/
[4]: https://www.phdays.ru/press/news/197817/
[5]: https://habrahabr.ru/post/326866/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Чат-бот для ВКонтакте на Python на Callback API
habra.16
habrabot(difrex,1) — All
2017-04-19 21:30:04


Чат-боты стали уже очень распространенным явлением, и появляются во всех мессенджерах ежедневно.

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

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

[>] Как я сделал самый быстрый ресайз изображений. Часть 2, SIMD
habra.16
habrabot(difrex,1) — All
2017-04-19 21:30:04


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



→ [Часть 0][1]
→ [Часть 1, общие оптимизации][2]



В прошлый раз мы получили ускорение в среднем в 2,5 раза без изменения подхода. В этот раз я покажу, как применять SIMD-подход и получить ускорение еще в 3,5 раза. Конечно, применение SIMD для обработки графики не является ноу-хау, можно даже сказать, что SIMD был придуман для этого. Но на практике очень мало разработчиков используют его даже в задачах обработки изображений. Например, довольно известные и распространенные библиотеки ImageMagick и LibGD написаны без использования SIMD. Отчасти так происходит потому, что SIMD-подход объективно сложнее и не кроссплатформенный, а отчасти потому, что по нему мало информации. Довольно просто найти азы, но мало детальных материалов и разбора реальных задач. От этого на Stack Overflow очень много вопросов буквально о каждой мелочи: как загрузить данные, как распаковать, запаковать. Видно, что всем приходится набивать шишки самостоятельно.

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

[1]: https://habrahabr.ru/post/321744/
[2]: https://habrahabr.ru/post/322352/
[3]: https://habrahabr.ru/post/326900/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пишем Telegram-бота на Rust, который будет запускать код на… Rust?
habra.16
habrabot(difrex,1) — All
2017-04-20 00:00:04


Доброй ночи! Сегодня хотелось бы кратко рассказать о том, как написать Telegram-бота на Rust, который будет запускать код на Rust. У статьи нет цели произвести полное погружение в API telegram\_bot, Serde, Telegram или в нюансы разработки на Rust. Она скорее носит ознакомительный характер. Числа Пеано с помощью системы типов складывать не будем.
![Превью к статье][1]


[Хотел складывать числа Пеано, но ладно, давай своего бота...][2]

[1]: https://habrastorage.org/files/e1d/a90/000/e1da900003684042a932bb58d714ea01.png
[2]: https://habrahabr.ru/post/326830/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Исключения в Windows x64. Как это работает. Часть 4
habra.16
habrabot(difrex,1) — All
2017-04-20 01:30:03


Опираясь на материал, описанный в [первой][1], [второй][2] и [третьей][3] частях данной статьи, мы продолжим обсуждение темы обработки исключений в Windows x64.

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

[1]: https://habrahabr.ru/company/aladdinrd/blog/321868/
[2]: https://habrahabr.ru/company/aladdinrd/blog/322956/
[3]: https://habrahabr.ru/company/aladdinrd/blog/324376/
[4]: https://habrahabr.ru/post/326878/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Под капотом среды разработки. Базовые модели
habra.16
habrabot(difrex,1) — All
2017-04-20 08:00:04


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

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

[>] Запись WebRTC видеопотока с веб-камеры браузера с буксировкой на Amazon S3
habra.16
habrabot(difrex,1) — All
2017-04-20 08:30:04


![][1]


**Amazon S3** — это файловое облачное хранилище, которое используют такие известные сервисы как Dropbox, Trello и миллионы других проектов. Несмотря на сбой 28 февраля 2017 года, в результате которого кое-где перестали работать даже холодильники, S3 остается, пожалуй, самым популярным распределенным хранилищем, в котором пользователи и бизнес хранят фотки, видео, бэкапы и другой полезный контент.

**Web Call Server** — это медиасервер с поддержкой технологии WebRTC и записи видеопотоков из браузеров и мобильных устройств. HTML страница в браузере или мобильное приложение может захватить видеопоток с веб-камеры и отправить на сервер для дальнейшей ретрансляции и записи.

В этой статье мы расскажем как записать видеопоток со страницы браузера Google Chrome с последующей отправкой mp4-файла в хранилище Amazon S3. [Читать дальше →][2]

[1]: https://habrastorage.org/files/19e/c2b/f27/19ec2bf27fa34ec5af0fa9b98b1124bc.png
[2]: https://habrahabr.ru/post/326720/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Псевдотонирование изображений: одиннадцать алгоритмов и исходники
habra.16
habrabot(difrex,1) — All
2017-04-20 09:30:04


### Псевдотонирование: обзор


![][1]

Про сегодняшнюю тему для программирования графики — псевдотонирование (дизеринг) — я получаю много писем, что может показаться удивительным. Вы можете подумать, что псевдотонирование — это не то, чем программисты должны заниматься в 2012 году. Разве псевдотонирование — не артефакт история технологий, архаизм времён, когда дисплей с 16 миллионами цветов программистам и пользователям мог только сниться? Почему я пишу статью о псевдотонировании в эпоху, когда дешевые мобильные телефоны работают с великолепием 32-битной графики?

На самом деле псевдотонирование по-прежнему остаётся уникальным методом не только по практическим соображениям (например, подготовка полноцветного изображения для печати на чёрно-белом принтере), но и по художественным. Дизеринг также находит применение в веб-дизайне, где этот полезный метод используется для сокращения числа цветов изображения, что уменьшает размер файла (и трафик) без ущерба для качества. Он также используется при уменьшении цифровых фотографий в формате RAW в 48 или 64 бита на пиксель до RGB в 24 бита на пиксель для редактирования.

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

[1]: https://habrastorage.org/files/b47/09d/6dc/b4709d6dc9394296bf47d22907e6eaaa.png
[2]: https://habrahabr.ru/post/326936/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
habra.16
habrabot(difrex,1) — All
2017-04-20 15:00:04


> [Bash-скрипты: начало][1]
> [Bash-скрипты, часть 2: циклы][2]
> [Bash-скрипты, часть 3: параметры и ключи командной строки][3]
> [Bash-скрипты, часть 4: ввод и вывод][4]


[![image][5]][6]

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

[1]: https://habrahabr.ru/company/ruvds/blog/325522/
[2]: https://habrahabr.ru/company/ruvds/blog/325928/
[3]: https://habrahabr.ru/company/ruvds/blog/326328/
[4]: https://habrahabr.ru/company/ruvds/blog/326594/
[5]: https://habrastorage.org/files/803/892/bfe/803892bfe548499aa763df324d40fd01.png
[6]: https://habrahabr.ru/company/ruvds/blog/326826/
[7]: https://habrahabr.ru/post/326826/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Библиотеки для глубокого обучения: Keras
habra.16
habrabot(difrex,1) — All
2017-04-20 15:30:04


Привет, Хабр! Мы уже говорили про [Theano][1] и [Tensorflow][2] (а также много про что еще), а сегодня сегодня пришло время поговорить про Keras.
Изначально Keras вырос как удобная надстройка над Theano. Отсюда и его греческое имя — κέρας, что значит "рог" по-гречески, что, в свою очередь, является отсылкой к Одиссее Гомера. Хотя, с тех пор утекло много воды, и Keras стал сначала поддерживать Tensorflow, а потом и вовсе стал его частью. Впрочем, наш рассказ будет посвящен не сложной судьбе этого фреймворка, а его возможностям. Если вам интересно, добро пожаловать под кат.


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

[1]: https://habrahabr.ru/company/ods/blog/323272/
[2]: https://habrahabr.ru/company/ods/blog/324898/
[3]: https://habrastorage.org/getpro/habr/post_images/68f/fc1/d69/68ffc1d69c10d1ede103288c779c8f4e.jpg
[4]: https://habrahabr.ru/post/325432/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Редакторы ONLYOFFICE v.4.3: да, мы добавили сноски
habra.16
habrabot(difrex,1) — All
2017-04-20 15:30:04


Мы тут выпустили новую версию редакторов документов ONLYOFFICE. Не будем мучить вас техническими деталями, но там вы найдете сноски, такое удобство для совместного редактирования, как Undo в «быстром» режиме, специальную вставку в таблицах и еще много всего.

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

[1]: https://habrastorage.org/files/ac4/05c/d85/ac405cd859614478ae7b027febd90297.jpg
[2]: https://habrahabr.ru/post/326118/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как Reddit создал r/Place
habra.16
habrabot(difrex,1) — All
2017-04-20 16:30:04


![enter image description here][1]



Над проектом работали несколько команд — фронтенд, бэкенд, мобильная разработка. По большей части он был реализован на уже существовавших в Reddit технологиях. В этой статье мы рассмотрим, как с технической стороны создавался Place. Если хотите посмотреть код Place, то [он здесь][2].

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

[1]: https://habrastorage.org/files/0f4/7c9/e58/0f47c9e58d7a480abc028db4a40b22e3.png
[2]: http://github.com/reddit/reddit-plugin-place-opensource
[3]: https://habrahabr.ru/post/326984/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Галлюцинируй как Трамп, или мини-анализ Рекуррентных Нейронных Сетей
habra.16
habrabot(difrex,1) — All
2017-04-20 16:30:04


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

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

[1]: https://habrastorage.org/files/1c4/463/7f0/1c44637f054d4b098f38395b629f19f5.jpg
[2]: https://habrahabr.ru/post/326966/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Атаки на сетевое оборудование с Kali linux
habra.16
habrabot(difrex,1) — All
2017-04-20 16:30:04


![image][1]


В данной статье мы рассмотрим актуальные атаки на сетевое оборудование и инструменты, доступные в популярном дистрибутиве Kali Linux для их проведения.

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

[1]: https://habrastorage.org/getpro/habr/post_images/a30/c2d/676/a30c2d676b07070487c16f388a8cb659.png
[2]: https://habrahabr.ru/post/326968/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Атаки на сетевое оборудование с Kali Linux
habra.16
habrabot(difrex,1) — All
2017-04-20 17:00:04


![image][1]


В данной статье мы рассмотрим актуальные атаки на сетевое оборудование и инструменты, доступные в популярном дистрибутиве Kali Linux для их проведения.

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

[1]: https://habrastorage.org/getpro/habr/post_images/a30/c2d/676/a30c2d676b07070487c16f388a8cb659.png
[2]: https://habrahabr.ru/post/326968/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Универсальная работа с VCS/SCM в рамках автоматизации с FutoIn CID
habra.16
habrabot(difrex,1) — All
2017-04-20 19:00:06


![use cases][1]



Для некоторых современных программистов не существует систем контроля версий кроме Git, но на практике Subversion всё ещё востребован, а Mercurial имеет своих ярых сторонников. [Быстрый поиск][2] в подкрепление.



В результате DevOps'ы не монопроектных компаний встречаются с необходимостью автоматизировать работу с весьма разными системами. При этом у каждой есть свои нюансы и неизбежно появляются скрытые ошибки в сценариях, выстреливающие в самый неподходящий момент. Возникает потребность в предсказуемом поведении с минимальной "гибкостью", а не пёстрым букетом возможностей.

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

[1]: https://habrastorage.org/files/6cf/9eb/dee/6cf9ebdee6444af8b525a848931b7066.png "use cases"
[2]: https://rhodecode.com/insights/version-control-systems-2016
[3]: https://habrahabr.ru/post/326928/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Все, что вам нужно знать об обнаружении изменений в Angular
habra.16
habrabot(difrex,1) — All
2017-04-20 19:00:06


Наткнулся на хорошую статью об устройстве Angular'овского механизма обнаружения изменений (change detection). Т.к. тема достаточна важна, но при этом недостаточно глубоко раскрыта даже на англоязычных ресурсах, а найти русскоязычные материалы на эту тему, вообще, не представляется возможным, решил перевести данную статью.
[Перевод под катом][1]

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

[>] Частное облако для видео и фотографий за полчаса «на коленке»
habra.16
habrabot(difrex,1) — All
2017-04-20 19:00:06


Многие пользуются функцией синхронизации с облаком от крупных компаний, таких как Apple или Google, кто-то предпочитает Yandex, mail.ru и тому подобное. Мне эти варианты не приглянулись, предпочитаю свои данные хранить самостоятельно. Потому, однажды, решил сделать себе простенькое «облако».

![][1]
Задача: синхронизировать устройства и дать возможность получить отснятый материал через web-браузер, авторизировавшись по паролю. Пароль этот раздать родным и близким.
[Как быстренько собрать это все с использованием Syncthing, LUKS и nginx я и поведаю далее][2]

[1]: https://habrastorage.org/files/df0/e18/53d/df0e1853dd8047329adccd545e817737.jpg
[2]: https://habrahabr.ru/post/326982/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Разбор вступительного экзамена ШАД-2015 и воспоминания выпускника 2017 года
habra.16
habrabot(difrex,1) — All
2017-04-20 19:30:04


## Введение


В мае далёкого 2015 года я заканчивал бакалавриат факультета общей и прикладной физики МФТИ. В основном я занимаюсь квантовой теорией поля, но в тот момент я решил, что хотелось бы больше вникнуть в современный мир компьютерных наук, что можно попробовать совместить МФТИ с ШАД Yandex (две магистратуры). ШАД тогда уже был у всех на слуху, вокруг только и твердили, какой там жёсткий курс алгоритмов, мне понравился сайт (лол), тематика курсов, и я решился поступать.

В этом посте я хотел бы рассказать о том, как происходило моё поступление в ШАД, рассказать своё решение экзаменационного варианта (разборов ШАДовских заданий на просторах рунета не очень-то много) и поговорить о том, что понравилось / не понравилось в этом замечательном заведении.
[Вперёд!][1]

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

[>] [Перевод] TypeScript в Slack, или как перестать беспокоиться и начать доверять компилятору
habra.16
habrabot(difrex,1) — All
2017-04-20 20:00:04


Занимательная история от Феликса Ризеберга, разработчика в Slack, о том как они используют JavaScript, почему перешли на TypeScript и какие подводные камни встретились на их пути.

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

[1]: https://habrastorage.org/files/3b5/444/efc/3b5444efccf746c49ed5622f48735684.jpg
[2]: https://habrahabr.ru/post/327020/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] GeekUniversity — первый в России онлайн-университет с гарантированным трудоустройством
habra.16
habrabot(difrex,1) — All
2017-04-20 20:30:03


![][1]

Новость для тех, кто мечтает заниматься разработкой сайтов, веб- или мобильных приложений. Образовательный IT-портал GeekBrains и Mail.Ru Group запустили совместный проект — первый в России онлайн-университет, готовящий веб-разработчиков, Android- и iOS-программистов. Студенты GeekUniversity смогут пройти путь от новичка до middle-разработчика всего за год.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/8bb/ae4/2a5/8bbae42a5d534142939311e4a91855d4.png
[2]: https://habrahabr.ru/post/327008/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Прогнозирование финансовых временных рядов с MLP в Keras
habra.16
habrabot(difrex,1) — All
2017-04-20 20:30:03


![image][1]
Всем привет! В этой статье я хочу рассказать про базовый пайплайн в прогнозировании временных рядов с помощью нейронных сетей, в данном случае, наверное, с самыми сложными временными рядами для анализа — финансовыми данными, которые имеют случайную природу, и, казалось бы, непредсказуемые. Или все-таки нет?

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

[1]: http://imgur.com/guH2UIm.png
[2]: https://habrahabr.ru/post/327022/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] В 25 устройствах Linksys Smart Wi-Fi обнаружены критичные уязвимости
habra.16
habrabot(difrex,1) — All
2017-04-21 07:30:03


![image][1]

**Список устройств Linksys Smart Wi-Fi с обнаруженными уязвимостями: WRT1200AC, WRT1900AC, WRT1900ACS, WRT3200ACM, EA2700, EA2750, EA3500, EA4500 v3, EA6100, EA6200, EA6300, EA6350 v2, EA6350 v3, EA6400, EA6500, EA6700, EA6900, EA7300, EA7400, EA7500, EA8300, EA8500, EA9200, EA9400, EA9500**

Исследователи компании IOActive, специализирующейся на безопасности firmware, обнаружили 10 уязвимостей, в том числе критичных, в 25 популярных роутерах Linksys серии Smart Wi-Fi. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/b82/b17/152/b82b17152b1cdca1eec4185abc1bfc2b.jpg
[2]: https://habrahabr.ru/post/327044/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Предсказываем популярность статьи на TJ
habra.16
habrabot(difrex,1) — All
2017-04-21 15:00:05


Однажды томным вечером, сидя напротив мелькающей ленты tjournal и попивая ромашковый чай, внезапно обнаружил себя за чтением статьи про советскую лампочку, которая освещала чей-то подъезд уже 80 лет. Да, весьма интересно, но все же я предпочитаю статьи про политику достижения ИИ в игре дум, приключения ракет SpaceX и, в конце концов, — с наибольшим кол-вом просмотров. А какие вообще статьи набирают внушительные рейтинги? Посты размером с твит про какую-то политическую акцию или же талмуды с детальным анализом российской киноиндустрии? Ну что же, тогда самое время расчехлять свой Jupyter notebook и выводить формулу идеальной статьи.



![][1]

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

[1]: https://habrastorage.org/files/487/76d/3ee/48776d3ee7ac4672b8dfa7099e3b2b5b.jpg
[2]: https://habrahabr.ru/post/327072/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Исследование пропорций более 1 000 000 лиц: правило золотого сечения или правило третей?
habra.16
habrabot(difrex,1) — All
2017-04-21 15:30:04


![][1]


_Перевод поста Майкла Тротта (Michael Trott) "[Profiling the Eyes: ϕaithful or ROTen? Or Both?][2]".
Код, приведенный в статье, можно скачать [здесь][3].

Выражаю огромную благодарность [Полине Сологуб][4] за помощь в переводе и подготовке публикации_

----


## Содержание


— [Исследование проявления золотого сечения в положении человеческих лиц на картинах и фотографиях][5]
— [Уровень линии глаз на старых картинах — скорее ROT, чем φaithful][6]
— [Высота линии глаз в современных картинах][7]
— [Высота линии глаз в работах профессиональных фотографов][8]
— [Высота линии глаз в селфи][9]
— [Фото из профилей LinkedIn][10]
— [Лица с обложек еженедельных журналов последних трех десятилетий][11]
— [Обложки комиксов][12]
— [Ежедневные газеты и журналы мод][13]
— [Знаменитости из киноиндустрии][14]
— [Кино: линия глаз в движении][15]
— [Выводы][16]

----

<>

## Исследование проявления золотого сечения в положении человеческих лиц на картинах и фотографиях


Существует огромное количество литературы, посвященной золотому сечению в природе, в физиологии и психологии, а также в произведениях искусства (см. [эту статью о золотом сечении][17], и вот эти: о золотом сечении [в искусстве][18], [в природе][19] и [в человеческом теле][20], и еще — [о структуре творческого процесса в науке и искусстве][21]). В последние годы нарастает скептицизм по поводу распространенности золотой пропорции в этих областях. Были пересмотрены более ранние исследования. Смотрите, например, исследования греческих храмов [Фотакиса][22], [Марковского][23], [Фостера][24], [Холланда][25] и [Бенджафилда][26], и [Свободовой и др.][27] — по физиологии человека.
[Читать дальше →][28]

[1]: https://habrastorage.org/files/7ff/beb/421/7ffbeb421e3a41aaa320ad94891c1da6.png
[2]: http://blog.wolfram.com/2016/03/02/profiling-the-eyes-phiaithful-or-roten-or-both/
[3]: http://blog.wolfram.com/data/uploads/2016/03/Profiling-the-eyes-blog.cdf
[4]: https://vk.com/id65091763
[5]: https://habrahabr.ru/company/wolfram/blog/327078/#1
[6]: https://habrahabr.ru/company/wolfram/blog/327078/#2
[7]: https://habrahabr.ru/company/wolfram/blog/327078/#3
[8]: https://habrahabr.ru/company/wolfram/blog/327078/#4
[9]: https://habrahabr.ru/company/wolfram/blog/327078/#5
[10]: https://habrahabr.ru/company/wolfram/blog/327078/#6
[11]: https://habrahabr.ru/company/wolfram/blog/327078/#7
[12]: https://habrahabr.ru/company/wolfram/blog/327078/#8
[13]: https://habrahabr.ru/company/wolfram/blog/327078/#9
[14]: https://habrahabr.ru/company/wolfram/blog/327078/#10
[15]: https://habrahabr.ru/company/wolfram/blog/327078/#11
[16]: https://habrahabr.ru/company/wolfram/blog/327078/#12
[17]: https://ru.wikipedia.org/wiki/%D0%97%D0%BE%D0%BB%D0%BE%D1%82%D0%BE%D0%B5_%D1%81%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5
[18]: http://www.goldennumber.net/art-composition-design
[19]: http://io9.com/5985588/15-uncanny-examples-of-the-golden-ratio-in-nature
[20]: http://www.sacred-geometry.es/?q=en/content/phi-human-body
[21]: http://link.springer.com/chapter/10.1007/978-88-470-0869-4_13
[22]: http://dx.doi.org/10.1017/S0959774314000201
[23]: http://www.math.nus.edu.sg/aslaksen/teaching/maa/markowsky.pdf
[24]: http://dx.doi.org/10.1016/S0022-3913(13)60359-5
[25]: http://link.springer.com/article/10.1007%2Fs00266-007-9080-z
[26]: http://onlinelibrary.wiley.com/doi/10.1002/jhbs.20409/abstract
[27]: http://dx.doi.org/10.1016/j.jenvp.2014.01.005
[28]: https://habrahabr.ru/post/327078/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как я писал предложение к стандарту С++
habra.16
habrabot(difrex,1) — All
2017-04-21 16:00:03


Это будет история младшего разработчика из Яндекс.Паспорта о появлении предложения в стандарт С++, разработанного в соавторстве с Антоном [antoshkka][1] Полухиным. Как часто бывает в жизни, что-то новое началось с боли, а точнее — с желания её прекратить.

[![][2]][3]

Жила-была библиотека у меня на поддержке. Всё у неё было хорошо: собиралась под Linux, работала, не падала. Однажды пришли люди с просьбой (требованием) собрать её под Windows. Почему бы и нет? Но с первого раза не получилось. Корнем зла оказалась рукописная криптография, которая в какой-то момент умножала два 64-битных целых числа. Для сохранения результата такого умножения потребуется число на 128 бит, и в библиотеке использовался тип \_\_int128. Он прекрасен: имеет естественный интерфейс, поддерживается несколькими компиляторами (gcc, clang), работает без аллокации памяти, но главное — он есть.

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

[1]: https://habrahabr.ru/users/antoshkka/
[2]: https://habrastorage.org/files/d6a/8e6/82c/d6a8e682c00447e9b03880a1064970d4.jpg
[3]: https://habrahabr.ru/company/yandex/blog/327080/
[4]: https://habrahabr.ru/post/327080/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Исследование положения глаз у более 1 000 000 лиц: правило золотого сечения или правило третей?
habra.16
habrabot(difrex,1) — All
2017-04-21 16:00:03


![][1]


_Перевод поста Майкла Тротта (Michael Trott) "[Profiling the Eyes: ϕaithful or ROTen? Or Both?][2]".
Код, приведенный в статье, можно скачать [здесь][3].

Выражаю огромную благодарность [Полине Сологуб][4] за помощь в переводе и подготовке публикации_

----


## Содержание


— [Исследование проявления золотого сечения в положении человеческих лиц на картинах и фотографиях][5]
— [Уровень линии глаз на старых картинах — скорее ROT, чем φaithful][6]
— [Высота линии глаз в современных картинах][7]
— [Высота линии глаз в работах профессиональных фотографов][8]
— [Высота линии глаз в селфи][9]
— [Фото из профилей LinkedIn][10]
— [Лица с обложек еженедельных журналов последних трех десятилетий][11]
— [Обложки комиксов][12]
— [Ежедневные газеты и журналы мод][13]
— [Знаменитости из киноиндустрии][14]
— [Кино: линия глаз в движении][15]
— [Выводы][16]

----

<>

## Исследование проявления золотого сечения в положении человеческих лиц на картинах и фотографиях


Существует огромное количество литературы, посвященной золотому сечению в природе, в физиологии и психологии, а также в произведениях искусства (см. [эту статью о золотом сечении][17], и вот эти: о золотом сечении [в искусстве][18], [в природе][19] и [в человеческом теле][20], и еще — [о структуре творческого процесса в науке и искусстве][21]). В последние годы нарастает скептицизм по поводу распространенности золотой пропорции в этих областях. Были пересмотрены более ранние исследования. Смотрите, например, исследования греческих храмов [Фотакиса][22], [Марковского][23], [Фостера][24], [Холланда][25] и [Бенджафилда][26], и [Свободовой и др.][27] — по физиологии человека.
[Читать дальше →][28]

[1]: https://habrastorage.org/files/1ba/529/6f5/1ba5296f58a14821a8c18799b1067e47.png
[2]: http://blog.wolfram.com/2016/03/02/profiling-the-eyes-phiaithful-or-roten-or-both/
[3]: http://blog.wolfram.com/data/uploads/2016/03/Profiling-the-eyes-blog.cdf
[4]: https://vk.com/id65091763
[5]: https://habrahabr.ru/company/wolfram/blog/327078/#1
[6]: https://habrahabr.ru/company/wolfram/blog/327078/#2
[7]: https://habrahabr.ru/company/wolfram/blog/327078/#3
[8]: https://habrahabr.ru/company/wolfram/blog/327078/#4
[9]: https://habrahabr.ru/company/wolfram/blog/327078/#5
[10]: https://habrahabr.ru/company/wolfram/blog/327078/#6
[11]: https://habrahabr.ru/company/wolfram/blog/327078/#7
[12]: https://habrahabr.ru/company/wolfram/blog/327078/#8
[13]: https://habrahabr.ru/company/wolfram/blog/327078/#9
[14]: https://habrahabr.ru/company/wolfram/blog/327078/#10
[15]: https://habrahabr.ru/company/wolfram/blog/327078/#11
[16]: https://habrahabr.ru/company/wolfram/blog/327078/#12
[17]: https://ru.wikipedia.org/wiki/%D0%97%D0%BE%D0%BB%D0%BE%D1%82%D0%BE%D0%B5_%D1%81%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5
[18]: http://www.goldennumber.net/art-composition-design
[19]: http://io9.com/5985588/15-uncanny-examples-of-the-golden-ratio-in-nature
[20]: http://www.sacred-geometry.es/?q=en/content/phi-human-body
[21]: http://link.springer.com/chapter/10.1007/978-88-470-0869-4_13
[22]: http://dx.doi.org/10.1017/S0959774314000201
[23]: http://www.math.nus.edu.sg/aslaksen/teaching/maa/markowsky.pdf
[24]: http://dx.doi.org/10.1016/S0022-3913(13)60359-5
[25]: http://link.springer.com/article/10.1007%2Fs00266-007-9080-z
[26]: http://onlinelibrary.wiley.com/doi/10.1002/jhbs.20409/abstract
[27]: http://dx.doi.org/10.1016/j.jenvp.2014.01.005
[28]: https://habrahabr.ru/post/327078/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Итоги второго раунда Russian Code Cup 2017
habra.16
habrabot(difrex,1) — All
2017-04-21 18:00:08


![image][1]



16 апреля прошёл второй квалификационный раунд [Russian Code Cup 2017][2], на котором были побиты рекорды посещаемости за последние три года. По традиции чуть-чуть хвастаемся результатами и выкладываем разбор задач.



A. [Очень важные гости][3]
B. [Наименьшее общее кратное][4]
C. [Портим порядок][5]
D. [Красно-чёрное дерево][6]
E. [Изучение массива][7]

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

[1]: https://hsto.org/files/4f8/bf2/28b/4f8bf228b3c24a59a4ede02dc470e237.jpg
[2]: http://www.russiancodecup.ru/ru/
[3]: https://habrahabr.ru/company/mailru/blog/327066/#a-ochen-vazhnye-gosti
[4]: https://habrahabr.ru/company/mailru/blog/327066/#b-naimenshee-obschee-kratnoe
[5]: https://habrahabr.ru/company/mailru/blog/327066/#c-portim-poryadok
[6]: https://habrahabr.ru/company/mailru/blog/327066/#d-krasno-chyornoe-derevo
[7]: https://habrahabr.ru/company/mailru/blog/327066/#e-izuchenie-massiva
[8]: https://habrahabr.ru/post/327066/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 ... 133