RSS
Pages: 1 ... 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 ... 133
[>] Скрестить ежа (Marathon) с ужом (Spring Cloud). Эпизод 1
habra.16
habrabot(difrex,1) — All
2017-04-27 16:30:04


При переходе к распределённым системам с большим количеством инстансов сервисов в полный рост встают проблемы их обнаружения (**service discovery**) и балансировки запросов (**load balancing**) между ними. Как правило, для их решения используются такие специализированные инструменты как [**Consul**][1], [**Eureka**][2] или старый добрый [**Zookeeper**][3], в сочетании с **Nginx**, **HAProxy** и некоторым мостом между ними (см. [**registrator**][4]).



Основная проблема в подобном подходе это большое количество интеграций, и, как следствие, точек где что-то может пойти не так. Ведь помимо вышеупомянутых решений наверняка будет использоваться локальный маленький **PaaS** (например [**Mesosphere Marathon**][5] или **Kubernetes**). Последние, к слову, уже хранят необходимую конфигурацию об окружении (ведь через них идёт весь деплоймент). И встаёт вопрос, а можем ли мы отказаться от специализированных инструментов для **service discovery** и переиспользовать тот же **Marathon** для этой задачи?



Краткий ответ — можем. Если интересно как — читайте дальше.

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

[1]: https://www.consul.io/
[2]: https://github.com/Netflix/eureka
[3]: https://zookeeper.apache.org/
[4]: https://github.com/gliderlabs/registrator
[5]: https://mesosphere.github.io/marathon/
[6]: https://habrahabr.ru/post/325714/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] PyMC3 — MCMC и не только
habra.16
habrabot(difrex,1) — All
2017-04-27 16:30:04


# PyMC3 — МСМС и не только {#pymc3---msms-i-ne-tolko}



![][1]
Привет, Хабрахабр!



В [этом][2] посте уже упоминался PyMC3. Там можно почитать про основы MCMC-сэмплирования. Здесь я расскажу про вариационный вывод ([ADVI][3]), про то, зачем все это нужно и покажу на довольно простых примерах из галереи PyMC3, чем это может быть полезно. Одним из таких примеров будет байесовская нейронная сеть для задачи классификации, но это в самом конце. Кому интересно — добро пожаловать!


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

[1]: https://raw.githubusercontent.com/pymc-devs/pymc3/master/docs/pymc3_logo.jpg
[2]: https://habrahabr.ru/company/wunderfund/blog/279545/
[3]: https://arxiv.org/abs/1603.00788
[4]: https://habrahabr.ru/post/322716/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Paparazzo. Мощный, стильный, свой. Часть II
habra.16
habrabot(difrex,1) — All
2017-04-27 17:30:05


----

[Первая часть истории о медиапикере Paparazzo][1]
----

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

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

[1]: https://habrahabr.ru/company/avito/blog/326774/
[2]: https://habrastorage.org/getpro/habr/post_images/879/e7e/59e/879e7e59e3fffe43c7144c3e78fda6a7.png
[3]: https://habrahabr.ru/company/avito/blog/327486/
[4]: https://habrahabr.ru/post/327486/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Через год-два .NET Core потеснит Java на рынке enterprise решений», — Интервью с Jon Skeet специально для DotNext 2017
habra.16
habrabot(difrex,1) — All
2017-04-27 18:30:04


Наверняка, вы знаете, кто такой Джон Скит: [№1 на Stack Overflow][1], автор [C# in Depth][2], одной из лучших книг по .NET, разработчик в Google и 14-кратный MVP. Разработчиков такого масштаба не так много, хватит двух порядков, чтобы их всех перечислить. 19-20 мая Джон приедет в Петербург и выступит на [**DotNext 2017 Piter**][3].

Мне удалось пообщаться с Джоном и взять у него большое интервью по поводу судьбы .NET, .NET Core, нововведений в C# 7 и общем уровне развития среднего разработчика в 2017 году.



Если говорить конкретно, то обсудили следующие вопросы:

* Общее направление развития .NET и ошибки Microsoft;
* Чего ждать от .NET Core в ближайшем будущем;
* Стоит ли мигрировать на .NET Core, если у вас легаси на .NET Framework;
* Проблемы и победы .NET на поприще кроссплатформенности;
* Java vs .NET на рынке enterprise решений;
* Чем хороши tuples и pattern matching в С# 7, а что стоило сделать иначе;
* Небольшие, но приятные фичи C# 7;
* Деградация сообщества разработчиков (и есть ли она);
* Правильный подход к диагностике багов и постановке правильных вопросов на SO;
* Гайд по изучению новых языков и платформ;
* Проблемы с базовыми типами: числа, текст, дата и время;
Интервью получилось очень большое, но мне кажется, оно стоит каждой потраченной на него минуты.
[Читать дальше →][4]

[1]: http://stackoverflow.com/users/22656/jon-skeet
[2]: http://csharpindepth.com/
[3]: https://dotnext-piter.ru/#schedule
[4]: https://habrahabr.ru/post/327492/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Через год-два .NET Core потеснит Java на рынке enterprise решений», — Интервью с Jon Skeet, Google
habra.16
habrabot(difrex,1) — All
2017-04-27 19:30:03


Наверняка, вы знаете, кто такой Джон Скит: [№1 на Stack Overflow][1], автор [C# in Depth][2], одной из лучших книг по .NET, разработчик в Google и 14-кратный MVP. Разработчиков такого масштаба не так много, хватит двух порядков, чтобы их всех перечислить. 19-20 мая Джон приедет в Петербург и выступит на [**DotNext 2017 Piter**][3].

Мне удалось пообщаться с Джоном и взять у него большое интервью по поводу судьбы .NET, .NET Core, нововведений в C# 7 и общем уровне развития среднего разработчика в 2017 году.



Если говорить конкретно, то обсудили следующие вопросы:

* Общее направление развития .NET и ошибки Microsoft;
* Чего ждать от .NET Core в ближайшем будущем;
* Стоит ли мигрировать на .NET Core, если у вас легаси на .NET Framework;
* Проблемы и победы .NET на поприще кроссплатформенности;
* Java vs .NET на рынке enterprise решений;
* Чем хороши tuples и pattern matching в С# 7, а что стоило сделать иначе;
* Небольшие, но приятные фичи C# 7;
* Деградация сообщества разработчиков (и есть ли она);
* Правильный подход к диагностике багов и постановке правильных вопросов на SO;
* Гайд по изучению новых языков и платформ;
* Проблемы с базовыми типами: числа, текст, дата и время;
Интервью получилось очень большое, но мне кажется, оно стоит каждой потраченной на него минуты.
[Читать дальше →][4]

[1]: http://stackoverflow.com/users/22656/jon-skeet
[2]: http://csharpindepth.com/
[3]: https://dotnext-piter.ru/#schedule
[4]: https://habrahabr.ru/post/327492/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Школа данных: можно ли с помощью Big Data влиять на выборы
habra.16
habrabot(difrex,1) — All
2017-04-28 10:00:04


![][1]

Привет, Хабр! Можно ли с помощью данных управлять миром? Ну, ответ, очевиден. Вопрос в том, как…

Все уже слышали об успехе компании [CambridgeAnalytica][2] в предвыборной гонке Трампа и небезызвестного Brexit.

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

[1]: https://habrastorage.org/files/950/44e/4db/95044e4db2984660a962fa2b22d78c24.jpg
[2]: http://theins.ru/politika/38490
[3]: https://habrahabr.ru/post/327528/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Нашим разработчикам важен Social Impact»: Михаил Самарин о Futurice и мобильной разработке
habra.16
habrabot(difrex,1) — All
2017-04-28 13:00:07


![][1]

Возможно, вы уже знаете компанию **Futurice**, даже если сами об этом не подозреваете: она стоит за популярным списком «Android best practices», [перевод][2] которого пару лет назад собрал на Хабре почти 50 000 просмотров. За эту пару лет и [оригинал][3] текста был ощутимо обновлён, и с компанией произошло много интересного: она оплачивает вклад сотрудников в open source, активно работает с новыми мобильными технологиями вроде React Native (уже [поделившись][4] с миром своим starter kit для него), а к аутсорс-разработке добавила работу над стартапами.

На прошедшей в Петербурге конференции **Mobius**, где компания стала генеральным спонсором, её бизнес-директор **Михаил Самарин** рассказывал о трендах мобильной разработки за последний год: от взлёта того же React Native до дефицита нативных мобильных разработчиков. А мы отдельно расспросили Михаила для Хабра и о компании в целом, и о мобильной разработке. Поскольку он живёт в Хельсинки, в его русскоязычных ответах порой встречаются англоязычные слова — но так только интереснее.

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

[1]: https://habrastorage.org/files/d7c/e0c/7f4/d7ce0c7f49494d9c9f4a028f8726a159.jpg
[2]: https://habrahabr.ru/post/262501/
[3]: https://github.com/futurice/android-best-practices
[4]: https://github.com/futurice/pepperoni
[5]: https://habrahabr.ru/post/327516/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Всё не так просто с Ctrl+Z: об undo в быстром совместном редактировании ONLYOFFICE
habra.16
habrabot(difrex,1) — All
2017-04-28 15:00:04


Случайно накосячили в документе, который вам только что пошарили? Драг-н-дропнули куда-то кусок чужого текста и не знаете, как жить дальше? Угодили курсором в ячейку вашего коллеги и уничтожили его данные? Ctrl+Z не раз спасало наши жизни и репутации добропорядочных коллег, не портящих чужие (и свои) документы.

В последнем выпуске мы добавили возможность сделать Undo в быстром совместном редактировании. Почему его не было раньше, как там всё устроено, и почему случается так, что вы жмете undo до упора, а документ всё равно не остается пустым, вы узнаете из этой статьи.

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

[1]: https://habrastorage.org/files/0d3/0f1/b51/0d30f1b515cc408e9fd7421367fe8ec3.jpg
[2]: https://habrahabr.ru/post/327454/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Bash-скрипты, часть 7: sed и обработка текстов
habra.16
habrabot(difrex,1) — All
2017-04-28 15:00:04


> [Bash-скрипты: начало][1]
> [Bash-скрипты, часть 2: циклы][2]
> [Bash-скрипты, часть 3: параметры и ключи командной строки][3]
> [Bash-скрипты, часть 4: ввод и вывод][4]
> [Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями][5]
> [Bash-скрипты, часть 6: функции и разработка библиотек][6]


В прошлый раз мы говорили о функциях в bash-скриптах, в частности, о том, как вызывать их из командной строки. Наша сегодняшняя тема — весьма полезный инструмент для обработки строковых данных — утилита Linux, которая называется sed. Её часто используют для работы с текстами, имеющими вид лог-файлов, конфигурационных и других файлов.

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

[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://habrahabr.ru/company/ruvds/blog/326826/
[6]: https://habrahabr.ru/company/ruvds/blog/327248/
[7]: https://habrastorage.org/files/803/892/bfe/803892bfe548499aa763df324d40fd01.png
[8]: https://habrahabr.ru/company/ruvds/blog/327530/
[9]: https://habrahabr.ru/post/327530/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Сейчас дефицит «нативных» разработчиков»: Михаил Самарин о мобильной разработке в европейской компании
habra.16
habrabot(difrex,1) — All
2017-04-28 15:30:04


![][1]

Возможно, вы уже знаете компанию **Futurice**, даже если сами об этом не подозреваете: она стоит за популярным списком «Android best practices», [перевод][2] которого пару лет назад собрал на Хабре почти 50 000 просмотров. За эту пару лет и [оригинал][3] текста был ощутимо обновлён, и с компанией произошло много интересного: она оплачивает вклад сотрудников в open source, активно работает с новыми мобильными технологиями вроде React Native (уже [поделившись][4] с миром своим starter kit для него), а к аутсорс-разработке добавила работу над стартапами.

На прошедшей в Петербурге конференции **Mobius**, где компания стала генеральным спонсором, её бизнес-директор **Михаил Самарин** рассказывал о трендах мобильной разработки за последний год: от взлёта того же React Native до дефицита нативных мобильных разработчиков. А мы отдельно расспросили Михаила для Хабра и о компании в целом, и о мобильной разработке. Поскольку он живёт в Хельсинки, в его русскоязычных ответах порой встречаются англоязычные слова — но так только интереснее.
[Читать дальше →][5]

[1]: https://habrastorage.org/files/d7c/e0c/7f4/d7ce0c7f49494d9c9f4a028f8726a159.jpg
[2]: https://habrahabr.ru/post/262501/
[3]: https://github.com/futurice/android-best-practices
[4]: https://github.com/futurice/pepperoni
[5]: https://habrahabr.ru/post/327516/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Функциональное программирование в JavaScript с практическими примерами
habra.16
habrabot(difrex,1) — All
2017-04-28 16:30:04


![image][1]



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



Хочу подчеркнуть: в статье сделан упор на том, **ЗАЧЕМ** нужна фича Х, а не на том, **ЧТО** такое фича Х.

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

[1]: https://habrastorage.org/files/89a/77b/f22/89a77bf2292f4c58addca4905d5a6d0f.jpg
[2]: https://habrahabr.ru/post/327522/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Отчет с Go meetup 14 апреля
habra.16
habrabot(difrex,1) — All
2017-04-28 17:30:05


![][1]

Спустя полгода сообщество Go-разработчиков снова воссоединилось в нашем московском офисе 14 апреля. И теперь у нас есть возможность ознакомиться с тем, как проходила эта встреча. Пять докладов и прочие подробности ищите под катом.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/f6e/257/f27/f6e257f276704bcca6d544dd9e5a304e.jpg
[2]: https://habrahabr.ru/post/327252/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Gixy — open source от Яндекса, который сделает конфигурирование Nginx безопасным
habra.16
habrabot(difrex,1) — All
2017-04-28 18:30:04


Nginx, однозначно, один из крутейших веб-серверов. Однако, будучи в меру простым, довольно расширяемым и производительным, он требует уважительного отношения к себе. Впрочем, это относится к почти любому ПО, от которого зависит безопасность и работоспособность сервиса. Признаюсь, нам нравится Nginx. В Яндексе он представлен огромным количеством инсталляций с разнообразной конфигурацией: от простых reverse proxy до полноценных приложений. Благодаря такому разнообразию у нас накопился некий опыт его [не]безопасного конфигурирования, которым мы хотим поделиться.

[![][1]][2]

Но обо всем по порядку. Нас давно терзал вопрос безопасного конфигурирования Nginx, ведь он — полноправный кубик веб-приложения, а значит, и его конфигурация требует не меньшего контроля с нашей стороны, чем код самого приложения. В прошлом году нам стало очевидно, что этот процесс требует серьезной автоматизации. Так начался in-house проект [Gixy][3], требования к которому мы обозначили следующим образом:

— быть простым;
— но расширяемым;
— с возможностью удобного встраивания в процессы тестирования;
— неплохо бы уметь резолвить инклюды;
— и работать с переменными;
— и про регулярные выражения не забыть.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/dfb/469/db1/dfb469db172e4a2481e73438c87e3ae3.png
[2]: https://habrahabr.ru/company/yandex/blog/327590/
[3]: https://github.com/yandex/gixy/
[4]: https://habrahabr.ru/post/327590/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Дерзкий telegram бот
habra.16
habrabot(difrex,1) — All
2017-04-28 20:00:05


Недавно, в попытках разобраться с nlp, мне пришла идея написать простого telegram бота, который будет разговаривать, как дерзкий гопник. То есть:


* давать ответ по слову-триггеру, как "хочу", "короче", "нет" и т.д.;
* отвечать дерзким вопросом на вопрос;
* отвечать нецензурной рифмой;
* если ничего не подходит и бот в замешательстве, отвечать злой фразой.

Для имплементации был выбран JavaScript с ES6 и Flow. Возможно, Python подошёл бы лучше, так как под него существует больше стабильных и проверенных библиотек для nlp. Но для JS есть [Az.js][1], которого вполне хватило.



Для работы с Telegram API был использован [node-telegram-bot-api][2].



**TLDR:** [бот][3], [исходный код][4]



**Осторожно, под катом присутствует нецензурная речь и детали реализации!**

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

[1]: https://github.com/deNULL/Az.js
[2]: https://github.com/yagop/node-telegram-bot-api
[3]: http://t.me/swear_bot
[4]: https://github.com/nvbn/telegram-swear-bot/
[5]: https://habrahabr.ru/post/327586/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы на FPGA AES ускоряли: разработка драйвера
habra.16
habrabot(difrex,1) — All
2017-04-28 20:30:04


![][1] Недавно мы применили плату [Ethond][2] в качестве мини-роутера и запустили на нём OpenVPN.



Но обнаружилось, что процессор часто нагружается на 100%, а скорость не поднимается выше 15-16 Мбит/с. На канале связи 100 мегабит это очень мало, поэтому мы решили ускорить процесс аппаратно.



Ребята из группы FPGA-разработчиков сделали прошивку на базе [открытого IP-core][3] для Altera CycloneV с реализацией шифра AES-128, которая умеет шифровать 8 Гбит/сек и дешифровать 700 Мбит/сек. Для сравнения, программа `openssl` на CPU (ARM Cortex A9) того же CycloneV может обрабатывать лишь около 160 Мбит/сек.



Эта статья посвящена нашему исследованию по применению аппаратного шифрования AES. Мы сжато представим описание криптографической инфраструктуры в Linux и опишем драйвер (исходный код открыт и доступен на [github][4]), который осуществляет обмен между FPGA и ядром. Реализация шифрования на FPGA не является темой статьи — мы описываем лишь интерфейс, с которым происходит взаимодействие c акселератором со стороны процессора.


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

[1]: https://habrastorage.org/files/38d/8a1/7dd/38d8a17dd0564347af6bb050ffd3c7d0.jpg
[2]: http://metrotek.spb.ru/ethond.html
[3]: http://opencores.org/project,aes_decrypt_fpga,overview
[4]: https://github.com/STC-Metrotek/soc-aes-accel
[5]: https://habrahabr.ru/post/324042/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Dive into Ethereum
habra.16
habrabot(difrex,1) — All
2017-04-29 00:00:04


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



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



![preview][1]


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

[1]: https://habrastorage.org/files/b31/607/cf2/b31607cf2d2143a3b5452acc1a85f011.jpg
[2]: https://habrahabr.ru/post/327236/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Что такое service mesh и почему он мне нужен [для облачного приложения с микросервисами]?
habra.16
habrabot(difrex,1) — All
2017-04-29 12:00:03


_**Предисловие от переводчика**: Эта неделя ознаменовалась выходом [Linkerd 1.0][1], что является отличным поводом рассказать не только об этом продукте, но и о самой категории такого программного обеспечения — service mesh (дословно переводится, как «сетка для сервисов»). Тем более, что авторы Linkerd как раз опубликовали соответствующую статью._

tl;dr: Service mesh — это выделенный слой инфраструктуры для обеспечения безопасного, быстрого и надёжного взаимодействия между сервисами. Если вы создаёте приложение для запуска в облаке _(т.е. cloud native)_, вам нужен service mesh.

За прошедший год service mesh стал критически важным компонентом в облачном стеке. Компании с большим трафиком, такие как PayPal, Lyft, Ticketmaster и Credit Karma, уже добавили service mesh в свои приложения в production, а в январе [Linkerd][2] — Open Source-реализация service mesh для облачных приложений — [стал][3] официальным проектом фонда Cloud Native Computing Foundation _(в [этот же фонд][4] недавно передали [containerd и rkt][5], а ещё он известен как минимум по Kubernetes и Prometheus — прим. перев.)_. Но чем же является service mesh? И почему он стал внезапно необходим?

![][6]
В этой статье я дам определение service mesh и прослежу его происхождение через изменения в архитектуре приложений, произошедшие за последнее десятилетие. Я отделю service mesh от связанных, но отличающихся концепций: шлюза API, edge proxy, корпоративной сервисной шины. Наконец, я опишу, где нужен service mesh, и что ожидать от адаптации этой концепции в мире cloud native.
[Читать дальше →][7]

[1]: https://blog.buoyant.io/2017/04/25/announcing-linkerd-1.0/
[2]: https://linkerd.io/
[3]: https://techcrunch.com/2017/01/23/cloud-native-computing-foundation-adds-linkerd-as-its-fifth-hosted-project/
[4]: https://www.cncf.io
[5]: https://habrahabr.ru/company/flant/blog/325358/
[6]: https://habrastorage.org/files/976/516/ea5/976516ea5f1f4a6a8a8d10be0ef16340.png
[7]: https://habrahabr.ru/post/327536/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 17: DoublePulsar вырвался на волю, в сотне тысяч Linksys нашли дыры, SMSVova изгнан из Google Play
habra.16
habrabot(difrex,1) — All
2017-04-29 12:00:03


![][1]Пока безопасники охали и ахали над архивом хакерских инструментов АНБ, который слили в Сеть ShadowBrokers, серьезные дяди с темной стороны запустили новые госэксплойты в дело. И, как [выяснилось][2], не только эксплойты – поверхностное сканирование Интернета выявило большое число машин, зараженных свежеслитым бэкдором DoublePulsar.

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

[1]: https://habrastorage.org/files/ec8/c63/acc/ec8c63acc70e405dbe81afd2a033ceb5.png
[2]: https://threatpost.com/nsas-doublepulsar-kernel-exploit-in-use-internet-wide/125165/
[3]: https://zerosum0x0.blogspot.ru/2017/04/doublepulsar-initial-smb-backdoor-ring.html
[4]: https://habrahabr.ru/post/327598/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Быстрое вычисление факториала — PrimeSwing
habra.16
habrabot(difrex,1) — All
2017-04-29 12:00:03


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

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

[>] Что нас ждет в версии ReactOS 0.4.5?
habra.16
habrabot(difrex,1) — All
2017-04-29 19:00:07


![][1]
Приветствуем всех Хабражителей!
Мы решили прервать затянувшееся молчание и приоткрыть завесу неизвестности над тем, что интересного подстерегает всех в приближающемся релизе версии 0.4.5. Ждать релиза осталось совсем недолго, всего две недели. [Читать дальше →][2]

[1]: https://habrastorage.org/files/576/b61/b76/576b61b7699b4db9bb72cd85cabcfd0e.jpg
[2]: https://habrahabr.ru/post/327620/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Объяснение нейронных машин Тьюринга
habra.16
habrabot(difrex,1) — All
2017-04-29 19:30:04


Я обнаружил, что подавляющее большинство онлайновой информации об исследованиях в области искусственного интеллекта делится на две категории: первая рассказывает о достижениях непрофессиональной аудитории, а вторая — другим исследователям. Я не нашёл хорошего ресурса для людей с техническим образованием, которые не знакомы с более продвинутыми концепциями и ищут информацию для восполнения пробелов. Это моя попытка заполнить данную пустоту, предоставив доступные, но в то же время (относительно) подробные объяснения. Здесь я объясню научную статью Грейвса, Уэйна и Данихейки (2014) о [нейронных машинах Тьюринга][1] (NTM).

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

[1]: https://arxiv.org/abs/1410.5401
[2]: https://habrahabr.ru/post/327614/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] learnopengl. Урок 1.9 — Камера
habra.16
habrabot(difrex,1) — All
2017-04-30 01:30:06




В предыдущем уроке обсуждалась матрица вида, и то, как её можно использовать для перемещения по сцене (мы немного отодвинули назад точку зрения наблюдателя). В OpenGL отсутствует концепция _камеры_, но можно попытаться её сымитировать, перемещая все объекты сцены в направлении противоположном движению наблюдателя, и тем самым создать иллюзию, что движемся **мы сами**.



В этом уроке мы рассмотрим, как можно создать камеру в OpenGL. Мы обсудим камеру типа FPS (First Person Shooter), которая позволит вам свободно перемещаться в трехмерной сцене. Кроме того, мы поговорим о вводе с клавиатуры и мыши, а закончим созданием собственного C++ класса камеры.


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

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

[>] Что ждет нас в ReactOS версии 0.4.5?
habra.16
habrabot(difrex,1) — All
2017-04-30 01:30:06


![][1]

Приветствуем всех Хабражителей!

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

[1]: https://habrastorage.org/files/576/b61/b76/576b61b7699b4db9bb72cd85cabcfd0e.jpg
[2]: https://habrahabr.ru/post/327620/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Конфигурирование Spark на YARN
habra.16
habrabot(difrex,1) — All
2017-04-30 18:00:04


Хабр, привет! Вчера на [митапе, посвященном Apache Spark][1], от ребят из Rambler&Co, было довольно много вопросов от участников, связанных с конфигурированием этого инструмента. Решили по его следам поделиться своим опытом. Тема непростая — поэтому предлагаем делиться опытом тоже в комментариях, может быть, мы тоже что-то не так понимаем и используем.
[Читать дальше →][2]

[1]: https://www.facebook.com/events/1825957590998380/
[2]: https://habrahabr.ru/post/327556/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Линус Торвальдс представил ядро Linux 4.11
habra.16
habrabot(difrex,1) — All
2017-05-01 17:00:03


![image][1]

Сегодня, после двух месяцев работы, Линус Торвальдс [представил][2] ядро [Linux 4.11][3]. Среди прочих изменений стоит выделить такие пункты, как включение поддержки журналирования в программном RAID 4/5/6, системный вызов statx(), плюс поддержка протокола Opal, что позволяет работать с самошифруемыми накопителями информации.

О масштабах изменений можно судить по количеству принятых исправлений — около 12000 от полутора тысяч разработчиков. Размер патча составляет 39 МБ. Изменены 12479 файлов, добавлено чуть больше полумиллиона строк кода, удалено более 200 тысяч. Примерно половина представленных изменений имеет отношение к драйверам устройств, около 20% — поддержка различных аппаратных архитектур, остальное — сетевой стек, файловые системы и внутренние подсистемы ядра.
[Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/797/97d/dac/79797ddacf21a64defb92d52b843bbd1.jpg
[2]: https://lkml.org/lkml/2017/4/30/167
[3]: https://www.kernel.org/
[4]: https://habrahabr.ru/post/327678/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Шифрование в EXT4. How It Works?
habra.16
habrabot(difrex,1) — All
2017-05-01 18:00:05


![image][1] Паранойя не лечится! Но и не преследуется по закону. Поэтому в Linux Kernel 4.1 добавлена поддержка шифрования файловой системы ext4 на уровне отдельных файлов и директорий. Зашифровать можно только пустую директорию. Все файлы, которые будут созданы в такой директории, также будут зашифрованы. Шифруются только имена файлов и содержимое, метаданные не шифруются, inline data (когда данные файла, не превышающие по размеру 60 байт, хранятся в айноде) в файлах не поддерживается. Поскольку расшифровка содержимого файла выполняется непосредственно в памяти, шифрование доступно только в том случае, когда размер кластера совпадает с PAGE\_SIZE, т.е. равен 4К.
[Читать дальше →][2]

[1]: https://upload.wikimedia.org/wikipedia/commons/f/f0/Tux_ecb.jpg
[2]: https://habrahabr.ru/post/327682/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Введение в криптографию и шифрование, часть вторая. Лекция в Яндексе
habra.16
habrabot(difrex,1) — All
2017-05-01 23:00:05


Мы возвращаемся к самому краткому введению в криптографическую теорию от Владимира [ivlad][1] Иванова. Это вторая половина лекции — [первую часть][2] мы опубликовали несколько дней назад. К ней даже можно [присылать пуллреквесты][3] на гитхабе.


Под катом — расшифровка и часть слайдов.

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

[1]: https://habrahabr.ru/users/ivlad/
[2]: https://habrahabr.ru/company/yandex/blog/324866/
[3]: https://github.com/ivladdalvi/2hourscrypto
[4]: https://habrahabr.ru/post/327636/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Так зачем же все таки нужны Refresh токены в OAuth?
habra.16
habrabot(difrex,1) — All
2017-05-02 05:00:03


Наверняка каждый программист, работающий с OAuth 2.0, задумывался – зачем же нужны Refresh токены, неужели Access токенов недостаточно? 64 KB — Их должно хватать каждому!

Эта тема довольно активно дискутируется – вот и на Stackoverflow [вопрос есть][1] и на [Хабре тоже обсуждается][2]. Собственно, именно обсуждение на Хабре и заставило меня высказаться.

Все предложенные комментаторами и авторами мнения касаются безопасности двухтокенного подхода. Безусловно, так и должно быть, ведь безопасность – это главное для фреймворка авторизации/аутентификации! Но будем откровенны – во многих случаях использования подход с двумя токенами не дает никакого выигрыша в защищенности по сравнению с простым и тупым подходом с одним токеном. Или этого сразу не видно…

_«Refresh токен можно хранить более защищенно!»_ — можно и нужно, хотя почти никто так не делает.
_«Access token передается по сети чаще – и вероятность его утечки больше»_ — полноте, мы ведь всегда используем TLS, правда?
_«Утечка Ассеss токена на так страшна как утечка Refresh токена»_ — да, и это тоже правда, именно поэтому в браузер Refresh токен и не выдается…

Есть много нюансов, есть много сценариев использования, при которых использование разных токенов становится полезным, просто видно их не сразу!

Но есть и еще один аргумент, который я почему-то ни разу не встречал – хотя он, на мой взгляд, полностью объясняет, зачем же нужен Refresh токен и почему нельзя, абсолютно, категорически нельзя обойтись только Access токеном.

**Производительность.**
[Читать дальше →][3]

[1]: http://stackoverflow.com/questions/3487991/why-does-oauth-v2-have-both-access-and-refresh-tokens
[2]: https://habrahabr.ru/company/Voximplant/blog/323160/
[3]: https://habrahabr.ru/post/327702/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Выпуск Rust 1.17
habra.16
habrabot(difrex,1) — All
2017-05-02 11:00:04


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



Если у вас установлена предыдущая версия Rust, то для обновления достаточно выполнить:


$ rustup update stable

Если у вас ещё не установлен Rust, то вы можете [`установить rustup`][1] c
соответствующей страницы нашего веб-сайта и ознакомиться с [подробным примечанием
к выпуску 1.17.0][2] на GitHub.



### Что вошло в стабильную версию 1.17.0 {#chto-voshlo-v-stabilnuyu-versiyu-1170}



Выпуск Rust 1.17.0 в основном вносит небольшие улучшения, преимущественно касающиеся удобства использования.
Например, [`время жизни 'static` теперь автоматически подразумевается для констант или статических переменных][3]. При создании константы или статической переменной:


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

[1]: https://www.rust-lang.org/ru-RU/install.html
[2]: https://github.com/rust-lang/rust/blob/rust-1.17-relnotes/RELEASES.md#version-1170-2017-04-27
[3]: https://github.com/rust-lang/rust/pull/39265
[4]: https://habrahabr.ru/post/327708/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Вышел GitLab 9.1: Service Desk, Burndown Charts и канареечные развертывания
habra.16
habrabot(difrex,1) — All
2017-05-02 12:00:04


![image][1]



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



В версии GitLab 9.1 появились [канареечные развертывания][2]. Они позволяют вам развертывать новый код на небольшой части вашей инфраструктуры. Если обнаружатся проблемы, они успеют затронуть лишь малую часть пользователей, и вы сможете легко откатиться к предыдущей версии. Это _быстрая обратная связь от боевого окружения_.



С новой фичей [Service Desk][3] ваши пользователи могут отправлять свои вопросы и сообщать о проблемах на специальный адрес электронной почты, отдельный для каждого проекта. По письму от пользователя Service Desk заводит конфиденциальную задачу (issue) в вашем проекте. Когда кто-либо комментирует задачу, пользователь получает этот комментарий в ответном письме. Это — встроенный непосредственно в GitLab _канал обратной связи от пользователей_.


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

[1]: https://about.gitlab.com/images/9_1/9_1-cover-image.jpg
[2]: #kanareechnoe-razvertyvanie-eep
[3]: #service-desk-eep
[4]: https://habrahabr.ru/post/327710/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Настройка Zabbix 3.2 на Ubuntu Server 16.04 LTS
habra.16
habrabot(difrex,1) — All
2017-05-02 12:00:04


Всем, доброго времени! Довелось недавно настраивать систему мониторинга zabbix. Настраивал в первый раз. Поэтому решил сделать заметку здесь. Примеров на просторах интернета достаточно, но версии обновляются, новые «фичи» появляются.

Цель статьи, чтобы знания были открыты, кому нужно смог ими воспользоваться, а самое главное развитие it сообщества в рунете.
[Читать дальше →][1]

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

[>] [Из песочницы] Поиск в Django REST Framework с помощью Elasticsearch
habra.16
habrabot(difrex,1) — All
2017-05-02 12:00:04


Пользователи ищут товары в интернет-магазине, ищут стати, поиск это неотъемлемый компонент сайта. Быстрый и гибкий поиск сложно реализовать средствами реляционных баз данных. Для таких задач используют поисковые движки, один из которых [Elasticsearch][1]. Elasticsearch хорошо документирован и доступен из коробки на AWS.



Для работы с elasticsearch используется библиотека [elasticsearch-py][2] или [elasticsearch-dsl-py][3]. elasticsearch-dsl-py это надстройка над elasticsearch-py, она проста в использовании и поддерживает elasticsearch версии 5.x. На базе этой библиотеки была создана библиотека [django-rest-elasticsearch][4], которая основана на идеологии существующего поиска в [Django REST Framework][5]. Ниже я детально распишу как реализовать поиск в Django REST Framework с помощью elasticsearch используя данную библиотеку.


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

[1]: https://www.elastic.co/products/elasticsearch
[2]: https://github.com/elastic/elasticsearch-py
[3]: https://github.com/elastic/elasticsearch-dsl-py
[4]: https://github.com/myarik/django-rest-elasticsearch
[5]: http://www.django-rest-framework.org/
[6]: https://habrahabr.ru/post/327694/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как удалённо отлаживать через WinDbg не включая отладочный режим Windows
habra.16
habrabot(difrex,1) — All
2017-05-02 12:00:04


![][1] Иногда при анализе какой-нибудь платной программы малвари случается так, что она не хочет нормально работать, если в памяти есть отладчик или включён отладочный режим Windows.
В таких ситуациях помогает использование виртуальной машины с подключённым к ней отладчиком (например, GDB или IDA). Это если программа не пытается «сломаться» и в виртуальной машине тоже.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/29b/1a1/c2c/29b1a1c2c9fa4696ac1fdd88f40f9a99.gif
[2]: https://habrahabr.ru/post/327128/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как запускать на SAP Cloud Platform сервлеты из Eclipse
habra.16
habrabot(difrex,1) — All
2017-05-02 15:30:05


----

Это четвёртая публикация в рамках помощи участникам конкурса **[«SAP Кодер-2017»][1]**.
----

Вы хотите попробовать SAP Cloud Platform, но вам привычнее работать в Eclipse. Нет проблем! Вы можете изучить новые возможности в максимально комфортных условиях. Но все по порядку.
Сегодня мы разберем, как разработать сервлет в Eclipse и запустить его в SAP Cloud Platform.
[![][2]][3] [Читать дальше →][4]

[1]: http://sapcoder.ru/
[2]: https://habrastorage.org/getpro/habr/post_images/278/224/8b1/2782248b1c3053cdd1a35416c15940f0.png
[3]: https://habrahabr.ru/company/sap/blog/327510/
[4]: https://habrahabr.ru/post/327510/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Компьютерная криминалистика (форензика) — обзор инструментария и тренировочных площадок
habra.16
habrabot(difrex,1) — All
2017-05-02 15:30:05


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

[1]: https://habrastorage.org/getpro/habr/post_images/802/6fd/011/8026fd0113d85dc326477b01b644b19e.png
[2]: https://www.pentestit.ru/audit/forensic/
[3]: https://habrahabr.ru/post/327740/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Bash-скрипты, часть 8: язык обработки данных awk
habra.16
habrabot(difrex,1) — All
2017-05-02 16:00:04


> [Bash-скрипты: начало][1]
> [Bash-скрипты, часть 2: циклы][2]
> [Bash-скрипты, часть 3: параметры и ключи командной строки][3]
> [Bash-скрипты, часть 4: ввод и вывод][4]
> [Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями][5]
> [Bash-скрипты, часть 6: функции и разработка библиотек][6]
> [Bash-скрипты, часть 7: sed и обработка текстов][7]


[![][8]][9]

В прошлый раз мы говорили о потоковом редакторе [sed][10] и рассмотрели немало примеров обработки текста с его помощью. Sed способен решать многие задачи, но есть у него и ограничения. Иногда нужен более совершенный инструмент для обработки данных, нечто вроде языка программирования. Собственно говоря, такой инструмент — awk.
[Читать дальше →][11]

[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://habrahabr.ru/company/ruvds/blog/326826/
[6]: https://habrahabr.ru/company/ruvds/blog/327248/
[7]: https://habrahabr.ru/company/ruvds/blog/327530/
[8]: https://habrastorage.org/files/803/892/bfe/803892bfe548499aa763df324d40fd01.png
[9]: https://habrahabr.ru/company/ruvds/blog/327754/
[10]: https://habrahabr.ru/company/ruvds/blog/327530/
[11]: https://habrahabr.ru/post/327754/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Шпаргалка по работе с Tmux (терминальный мультиплексор)
habra.16
habrabot(difrex,1) — All
2017-05-02 19:30:04


![][1]


На Хабрахабре Tmux (ти-макс) упоминался неоднократно, тем не менее, решил написать еще одну шпаргалку, т.к. в других некоторые важные моменты не показаны.

Tmux (терминальный мультиплексор) позволяет работать с несколькими сессиями в 1 окне. Вместо нескольких окон терминала к серверу — вы можете использовать одно. Позволяет подключаться/отключаться к текущему состоянию сессии. Запущенные программы и процессы продолжают работать. (Можно использовать вместо nohup, dtach).

Например, на работе правим файлы в Vim. Окно терминала с открытыми файлами, процессами. Отключаемся от сессии. Далее подключаемся к этой сессии из дома и получаем те же окна с открытыми файлами в Vim, процессами и т.д. Можно продолжить работу с того же момента, на котором остановились. Также удобно при разрыве связи. Дополнительно можно работать совместно с другими в терминале, если подключены к одной сессии. Каждый видит, что делает другой.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/68f/b75/b59/68fb75b5900c4eab8629f8d154c4ca56.png
[2]: https://habrahabr.ru/post/327630/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Разработка симулятора эволюции одноклеточных организмов «The strongest survives»
habra.16
habrabot(difrex,1) — All
2017-05-02 21:00:04


![][1]


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

[1]: https://habrastorage.org/files/74e/6b7/2b2/74e6b72b2e424a13b1bb3046bf22fff9.PNG
[2]: https://habrahabr.ru/post/327792/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Построение гибких PHP приложений
habra.16
habrabot(difrex,1) — All
2017-05-02 21:30:04


Эра фулстэк фрэймворков в прошлом. Современные разработчики фрэймворков разделяют свои монолитные репозитории на компоненты с помощью ответвлений в Git, позволяя разработчику выбрать то, что действительно необходимо его проекту. Это означает, что вы можете построить свое приложение на топовых Zend Service Manager, Aura Router, Doctrine ORM, Laravel (Illuminate) Eloquent, Plates, Monolog, Symfony Cache или любых других компонентах, которые можно установить через Composer.

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

[1]: https://habrastorage.org/getpro/habr/post_images/9ac/dbe/d47/9acdbed47ffacd36b80143aed62c3194.jpg
[2]: https://habrahabr.ru/post/327746/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] От двух камертонов из опытов Лиссажу к одной эллиптической уровнемерной трубке с шагом в столетия и всё на Python
habra.16
habrabot(difrex,1) — All
2017-05-02 21:30:04


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

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


### Немного истории


Ещё в школе на уроках физики я вглядывался в осциллограф, на экране которого, сменяя друг друга, появлялись разные фигуры: сначала простые – линия, парабола, круг, эллипс, потом фигуры становились всё более насыщенные непрерывными волнообразными линиями, напоминающие мне кружева. Автором этого кружевного дива был Жюль Антуан Лиссажу французский физик, член — корреспондент Парижской АН (1879) [1]. Сами фигуры — это замкнутые траектории, прочерчиваемые точкой, совершающей одновременно два гармонических колебания в двух взаимно перпендикулярных направлениях [2]. Думаю, что в те далёкие от современности годы основной заслугой Жюля, кроме конечно накопленных опытом знаний математики и физики, была простая механическая визуализация этих фигур подручными средствами. Захотелось конструировать подобно Жулю максимально просто и наглядно, реализовать его идеи применительно к современной задаче линейных измерений. Но сделать это путём математического моделирования с графической визуализацией его результатов на Python. Но сначала рассмотрим классический вариант [3] построения фигур. [Читать дальше →][3]

[1]: https://habrastorage.org/files/ecb/27f/12f/ecb27f12fd1f40a686ee0be527f479ec.png
[2]: https://habrastorage.org/files/2ec/d33/230/2ecd3323001a4215a6220b9f4f9e38f1.png
[3]: https://habrahabr.ru/post/327768/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] MP3 окончательно переходит в общественное достояние
habra.16
habrabot(difrex,1) — All
2017-05-03 03:00:04


![image][1]
Возможно многие не задумывались об этом, но столь известный всем стандарт mp3 имел проблемы с патентной чистотой. 23 апреля 2017 истекли последние патенты и формат стал окончательно свободным. Компания Компания Technicolor [официально остановила сборы лицензионных отчислений][2] с производителей софта и встраиваемых решений.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/f46/286/3bf/f462863bfd6ff93426cb3800bf799a4a.jpg
[2]: https://www.iis.fraunhofer.de/en/ff/amm/prod/audiocodec/audiocodecs/mp3.html
[3]: https://habrahabr.ru/post/327842/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Юбилейный PYCON RUSSIA пройдёт 16-17 июля
habra.16
habrabot(difrex,1) — All
2017-05-03 08:30:04


Пятый российский [PyCon][1] пройдёт 16-17 июля в отеле «Cronwell Яхонты Таруса» в 95 км. от Москвы. Если вы не знаете, что такое PyCon, посмотрите ролик ниже — в нём коротко про PyCon-2016 и историю конференции.


Чтобы оценить уровень спикеров, посмотрите [видео и презентации][2] прошлогодних докладов или почитайте [отчёт на Хабре][3] о PyConRu-2016.

Регистрация для участников открыта. Early Bird билеты стоят 14 500 рублей. Таких билетов будет 50, потом стоимость увеличится. Для студентов действует спец.цена.

Присоединяйтесь!
[Читать дальше →][4]

[1]: http://pycon.ru/2017/?utm_source=habr&utm_medium=post&utm_campaign=2.05
[2]: https://www.youtube.com/playlist?list=PLRdS-n5seLRqszBqVDF342RMlCWgOTm6q
[3]: https://habrahabr.ru/company/it_people/blog/307044/
[4]: https://habrahabr.ru/post/327744/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Часть 1. Где хранить данные децентрализованным приложениям на блокчейне?
habra.16
habrabot(difrex,1) — All
2017-05-03 08:30:04


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

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

[>] Как автоматизировать подтверждение заказа, если ты не Юлмарт (спойлер: точно так же, как Юлмарт)
habra.16
habrabot(difrex,1) — All
2017-05-03 13:30:04


![][1]


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

К чему это приводит видно довольно хорошо: за последние два года закрылся «Белый Ветер», сменил собственника «Связной», ну а часть крупных игроков просто год от года публично отчитываются об убытках.

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

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

[1]: https://habrastorage.org/files/c3c/ba0/0f2/c3cba00f2014404983c526885219ee8f.jpg
[2]: https://habrahabr.ru/post/327014/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Книга «ECMAScript 6 для разработчиков»
habra.16
habrabot(difrex,1) — All
2017-05-03 13:30:04


![image][1] Познакомьтесь с радикальными изменениями в языке JavaScript, которые произошли благодаря новому стандарту ECMAScript 6. Николас Закас — автор бестселлеров и эксперт-разработчик — создал самое полное руководство по новым типам объектов, синтаксису и интересным функциям. Каждая глава содержит примеры программ, которые будут работать в любой среде JavaScript и познакомят вас с новыми возможностями языка. Прочитав эту книгу, вы узнаете о том, чем полезны итераторы и генераторы, чем ссылочные функции отличаются от обычных, какие дополнительные опции позволяют работать с данными, о наследовании типов, об асинхронном программировании, о том, как модули меняют способ организации кода, и многом другом.

Более того, Николас Закас заглядывает в изменения, которые появились в ECMAScript 7. Неважно, являетесь вы веб-разработчиком или работаете с node.js, в этой книге вы найдете самую необходимую информацию, позволяющую эффективно использовать все возможности ECMAScript 6.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/7c0/848/6b7/7c08486b73dd4e6284431c475138fdca.jpg
[2]: https://habrahabr.ru/post/327730/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Безопасность данных в разработке мобильного приложения
habra.16
habrabot(difrex,1) — All
2017-05-03 13:30:04


# Вступление {#vstuplenie}



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

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

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

[>] [Перевод] Bash-скрипты, часть 9: регулярные выражения
habra.16
habrabot(difrex,1) — All
2017-05-03 17:30:04


> [Bash-скрипты: начало][1]
> [Bash-скрипты, часть 2: циклы][2]
> [Bash-скрипты, часть 3: параметры и ключи командной строки][3]
> [Bash-скрипты, часть 4: ввод и вывод][4]
> [Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями][5]
> [Bash-скрипты, часть 6: функции и разработка библиотек][6]
> [Bash-скрипты, часть 7: sed и обработка текстов][7]
> [Bash-скрипты, часть 8: язык обработки данных awk][8]
> [Bash-скрипты, часть 9: регулярные выражения][9]


Для того, чтобы полноценно обрабатывать тексты в bash-скриптах с помощью sed и awk, просто необходимо разобраться с регулярными выражениями. Реализации этого полезнейшего инструмента можно найти буквально повсюду, и хотя устроены все регулярные выражения схожим образом, основаны на одних и тех же идеях, в разных средах работа с ними имеет определённые особенности. Тут мы поговорим о регулярных выражениях, которые подходят для использования в сценариях командной строки Linux.

[![][10]][11]

Этот материал задуман как введение в регулярные выражения, рассчитанное на тех, кто может совершенно не знать о том, что это такое. Поэтому начнём с самого начала.
[Читать дальше →][12]

[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://habrahabr.ru/company/ruvds/blog/326826/
[6]: https://habrahabr.ru/company/ruvds/blog/327248/
[7]: https://habrahabr.ru/company/ruvds/blog/327530/
[8]: https://habrahabr.ru/company/ruvds/blog/327754/
[9]: https://habrahabr.ru/company/ruvds/blog/327896/
[10]: https://habrastorage.org/files/803/892/bfe/803892bfe548499aa763df324d40fd01.png
[11]: https://habrahabr.ru/company/ruvds/blog/327896/
[12]: https://habrahabr.ru/post/327896/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Ужасный import кракен — как использовать ES6-модули и не сойти с ума
habra.16
habrabot(difrex,1) — All
2017-05-03 19:00:04


Глобальная область видимости (aka namespace в TypeScript) — уже давно не круто. Можно долго перечислять преимущества модулей (ES6 модулей, в частности), но лично для меня решающим стала возможность использовать SystemJS для динамической загрузки исходников и Rollup, для сборки бандла.



Однако, первое, с чем пришлось столкнуться при внедрении ES6-модулей- безумное количество import выражений, с безумным количеством точек внутри:


import { FieldGroup } from "../../../Common/Components/FieldGroup/FieldGroup";
[Читать дальше →][1]

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

[>] Типизируя техническое интервью
habra.16
habrabot(difrex,1) — All
2017-05-03 21:00:04


Предлагаю читателям "Хабрахабра" перевод [статьи][1] Kyle Kingsbury, a.k.a "Aphyr".
Ранее: [Заклиная техническое интервью][2]



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

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

[1]: https://aphyr.com/posts/342-typing-the-technical-interview
[2]: https://habrahabr.ru/post/326726/
[3]: https://habrahabr.ru/post/327913/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ROS. Стек навигации
habra.16
habrabot(difrex,1) — All
2017-05-03 21:30:03


![title][1]



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



Также будут рассмотрены несколько специфичных для антропоморфных роботов пакетов. Любой робот (наверняка даже машинка со средне-мощным бортовым ПК под управлением Linux и парой веб камер) наверняка найдет здесь что — нибудь для себя.

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

[1]: https://habrastorage.org/files/6ca/ec6/fc5/6caec6fc5d694b07b3050704076ec131.png
[2]: https://habrahabr.ru/post/327888/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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