RSS
Pages: 1 ... 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 ... 133
[>] Как программисты с PVS-Studio ошибки в проектах искали
habra.16
habrabot(difrex,1) — All
2017-12-04 15:30:08


Недавно сайт Pinguem.ru совместно с командой PVS-Studio устраивали конкурс, в котором программистам было необходимо в течение месяца использовать статический анализатор PVS-Studio для нахождения и исправления ошибок в коде open-source проектов. Благодаря их стараниям, программы в мире стали чуточку безопаснее и надежнее. В статье мы рассмотрим парочку наиболее интересных ошибок, которые были найдены при помощи PVS-Studio.


![Picture 13][1]


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

[1]: https://habrastorage.org/getpro/habr/post_images/5c5/335/f13/5c5335f13aca2369c8b7f4dc81c6a26d.png
[2]: https://habrahabr.ru/post/343844/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пирожки в Go
habra.16
habrabot(difrex,1) — All
2017-12-04 17:30:08


![][1]

В продолжение эпопеи с [дистрибутивно-семантическими пирожками][2] (и в погоне за модными тенденциями) решил переписать веб-сервис с лапидарного Питона на прогрессивный Go. Заодно был вынужден перенести и всю «интеллектуальную» часть (благо, не бином Ньютона). Сделать это оказалось куда проще и приятней, чем предполагал в начале. Впрочем, на медово-синтаксическом празднике жизни не обошлось без ложки дёгтя — самая быстрая гошная «числодробилка», какую смог найти (mat из gonum) таки уступила по скорости питоновской связке numba + numpy.
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/h5/zn/a5/h5zna5qtbveolyysgtx6wgaqqto.jpeg
[2]: https://habrahabr.ru/post/275913/
[3]: https://habrahabr.ru/post/343788/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Объяснение SNARKs. Знание о принятом коэффициенте и достоверное слепое вычисление полиномов (перевод)
habra.16
habrabot(difrex,1) — All
2017-12-04 22:00:05


Привет, Хабр! Представляю вашему вниманию перевод статей блога ZCash, в которых рассказывается о механизме работы системы доказательств с нулевым разглашением SNARKs, применяемых в криптовалюте ZCash (и не только).

Предыдущая статья: [Объяснение SNARKs. Гомоморфное скрытие и слепое вычисление полиномов (перевод)][1]

В этой статье мы рассмотрим тест на принятый коэффициент и слепое вычисление полиномов, поддающихся проверке. Поехали…
[Читать дальше →][2]

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

[>] [Из песочницы] Дыра у хостинг провайдера или как получить доступ к удаленному(не активному) аккаунту
habra.16
habrabot(difrex,1) — All
2017-12-04 22:30:03


## Спасибо Elasticweb



### Предыстория


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

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

![image][1]
[Читать полную версию][2]

[1]: https://habrastorage.org/getpro/habr/post_images/402/2a1/5d7/4022a15d7f07f644dd22356df5f98685.jpg
[2]: https://habrahabr.ru/post/343774/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Дебаты об Отличном Сервере Приложений Java c Tomcat, Jboss, GlassFish, Jetty и Liberty Profile
habra.16
habrabot(difrex,1) — All
2017-12-04 23:30:04


Всем доброго!
Что ж у нас очередной новый [курс Java Enterprise,][1] а это значит, что есть то, чем мы с радостью поделимся с вами. Просьба особо не обращать внимания на версии и даты, т.к. суть от этого особо не меняется (или, если считаете, что меняется, то ждём комментарии).

**Вступление: Да начнутся дебаты…**

Какой тип сервера приложений Java вам стоит выбрать для следующего проекта? Зависит от того, какое приложение вы разрабатываете, какие у вас потребности, в какой организации работаете и многих других факторов. Без дебатов не обойтись. Поэтому навострите уши и слушайте внимательно.

**Что делает сервер приложений сервером приложений, мистер Лебовски?**

Что представляет собой сервер приложений — вопрос, вызывающий много споров в силу неточности определения. Википедия, как неоспоримый источник знаний, говорит следующее:
Java Platform, Enterprise Edition, сокращенно Java EE (до версии 5.0 — Java 2 Enterprise Edition или J2EE) — набор спецификаций и соответствующей документации для языка Java, описывающей архитектуру серверной платформы для задач средних и крупных предприятий.
Прости, Википедия, но в целях этой статьи, нам плевать на педантичные описания и полную имплементацию Java EE. Мы больше заботимся о нуждах и желаниях разработчиков.
Большинство разработчиков работают над веб-приложениями и резко используют все навороченные особенности EE-спецификации. На самом деле, ныне доступные сервера, обладающие только базовым функционалом, являются наиболее используемыми, как показал наш [Отчет Производительности Разработчиков][2]:

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

[1]: https://otus.pw/p8NK/
[2]: http://zeroturnaround.com/rebellabs/devs/developer-productivity-report-2012/
[3]: https://habrastorage.org/webt/8r/h8/lo/8rh8lozzjnfiv7oplge2syqumvu.png
[4]: https://habrahabr.ru/post/343890/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Вероятностная интерпретация классических моделей машинного обучения
habra.16
habrabot(difrex,1) — All
2017-12-05 00:00:04


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


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

[1]: https://habrastorage.org/getpro/habr/post_images/7dc/2f7/207/7dc2f72074162747496f561e842540e3.gif
[2]: https://habrahabr.ru/post/343800/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как я написал приложение, которое за 15 минут делало тоже самое, что и регулярное выражение за 5 дней
habra.16
habrabot(difrex,1) — All
2017-12-05 01:30:04


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


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

Несколько недель назад вышла замечательная англоязычная статься об open-source python-библиотеки **FlashText**. Эта библиотека предоставляла быстрое работающее решение задачи поиска и замены ключевых слов в тексте.

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

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

[>] Строгая типизация в нестрогих тестах
habra.16
habrabot(difrex,1) — All
2017-12-05 02:30:03


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

Особенно потому, что можно. И сегодня мы попробуем добавить немного типизации в самую хаотическую область javascript — mock-и в unit-тестах.

А то говорят тут всякие, что [mocking is a coding smell][1].


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

[1]: https://medium.com/javascript-scene/mocking-is-a-code-smell-944a70c90a6a
[2]: https://habrahabr.ru/post/343720/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Архитектура сервиса сбора и классификации объявлений жилья из Вконтакте
habra.16
habrabot(difrex,1) — All
2017-12-05 10:30:09


![][1]

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

[1]: https://habrastorage.org/webt/k6/zb/bg/k6zbbg6c9o9icbkmcecgotnojmm.png
[2]: https://habrahabr.ru/post/342220/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы расписание общественного транспорта в 2ГИС добавляли
habra.16
habrabot(difrex,1) — All
2017-12-05 11:00:07


![][1]

2ГИС помогает ориентироваться в городе. Открываешь приложение, вводишь в поиск название улицы или организации, находишь, радуешься. После того, как нужная организация найдена, возникает резонный вопрос: как же туда добраться? И если автомобильным сценариям мы в последнее время уделяли значительное внимание, то поиск проезда на общественном транспорте оказался немного подзабыт. Я расскажу про то, как создавался поиск проезда, поделюсь тонкостями сбора и обработки информации.
[Поехали!][2]

[1]: https://habrastorage.org/webt/iv/vq/vz/ivvqvzsblexpxjsszzlpjetb3ry.png
[2]: https://habrahabr.ru/post/343924/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как я написал приложение, которое за 15 минут делало то же самое, что и регулярное выражение за 5 дней
habra.16
habrabot(difrex,1) — All
2017-12-05 12:00:08


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


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

Несколько недель назад вышла замечательная англоязычная статься об open-source python-библиотеки **FlashText**. Эта библиотека предоставляла быстрое работающее решение задачи поиска и замены ключевых слов в тексте.

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

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

[>] tldr — альтернатива man с названием, говорящим за себя
habra.16
habrabot(difrex,1) — All
2017-12-05 12:00:08


Все мы любим `--help` и `man`. Несмотря на появление многочисленных форумов, Stack Exchange и прочих ресурсов, хорошим тоном в начале решения своих проблем по-прежнему остаётся самостоятельный поиск ответа в официальной документации _(и на этих ресурсах вам скорее всего об этом сразу напомнят)_. Однако лень продолжает двигать прогресс даже там, где не всегда того ожидаешь. Впрочем, это не только лень — бывают и другие аргументы в пользу «упрощений»…

В общем, оказалось, что классический `man` утраивает не всех. Поэтому появился проект [tldr][1], который, следуя своей расшифровке «Too long; didn't read», решил принести в консоль лаконичную документацию, содержащую только самое главное. Проекту tldr уже больше 3 лет, но про него ещё почему-то не писали на хабре.

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

[1]: https://tldr.sh/
[2]: https://habrastorage.org/webt/od/2n/ru/od2nrue6wv-i-rsmygff-bj6vry.jpeg
[3]: https://habrahabr.ru/post/343702/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Присвоение имён: руководство для программиста
habra.16
habrabot(difrex,1) — All
2017-12-05 12:30:09


_Перевод [Naming 101: Programmer’s Guide on How to Name Things][1]_.

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

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

Ниже объясним важность хороших правил присвоения имён и поделимся полезными советами.
[Читать дальше →][2]

[1]: https://blog.elpassion.com/naming-101-quick-guide-on-how-to-name-things-a9bcbfd02f02?source=topic_page---8------1------------------1&gi=5b88fadea72b
[2]: https://habrahabr.ru/post/343932/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Tcl/Tk. Тематические виджеты TTK и дизайнер TKproE-2.20
habra.16
habrabot(difrex,1) — All
2017-12-05 14:00:08


![image][1]Просматривая свои [заметки ][2]по проектированию GUI с использованием виджетов Tk, я почувствовал какую-то неудовлетворенность. А дело оказалось в том, что я фактически упустил работу с тематическими виджетами ttk (themed tk). Они в скользь были задействованы при рассмотрении пакета Tkinter для Python и использовании дизайнера [Page ][3]. Там речь шла о виджете TNotebook (блокнот, записная книжка) из пакета ttk. [Читать дальше →][4]

[1]: https://habrastorage.org/webt/gf/rb/pk/gfrbpkyntedc5r5z9iwcfhotnek.png
[2]: https://habrahabr.ru/post/333742/
[3]: https://habrahabr.ru/post/335712/
[4]: https://habrahabr.ru/post/343930/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Введение в обучение с подкреплением: от многорукого бандита до полноценного RL агента
habra.16
habrabot(difrex,1) — All
2017-12-05 14:00:08


Привет, Хабр! Обучение с подкреплением является одним из самых перспективных направлений машинного обучения. С его помощью искусственный интеллект сегодня способен решать широчайший спектр задач: от робототехники и видеоигр до моделирования поведения покупателей и здравоохранения. В этой вводной статье мы изучим главную идею reinforcement learning и с нуля построим собственного самообучающегося бота.

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

[1]: https://habrastorage.org/webt/q9/gx/s6/q9gxs6zyezpxccjaexi8erd6lu4.jpeg
[2]: https://habrahabr.ru/post/343834/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Шаблон проектирования Entity-Component-System — реализация и пример игры
habra.16
habrabot(difrex,1) — All
2017-12-05 14:30:08


![image][1]



В этой статье я хочу обсудить шаблон проектирования «сущность-компонент-система» (Entity-Component-System, **ECS**). По этой теме можно найти много информации в Интернете, поэтому я не буду глубоко вдаваться в объяснения, а больше расскажу о моей собственной реализации.


## Часть 1: Реализация шаблона Entity-Component-System на C++


Начнём сначала. Полный исходный код моей реализации ECS можно найти в репозитории на [github][2].

Entity-Component-System, в основном используемый в играх — это шаблон проектирования, обеспечивающий огромную гибкость в проектировании общей архитектуры программного обеспечения[1]. Такие большие компании, как Unity, Epic или Crytek используют этот шаблон в своих фреймворках, чтобы предоставить разработчикам очень богатый возможностями инструмент, с помощью которого они могут разрабатывать собственное ПО. Прочитать более широкое обсуждение по этой тематике можно в этих постах [2,3,4,5].
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/db6/486/421/db6486421d2282d555d5ac5af577aafc.png
[2]: https://github.com/tobias-stein/EntityComponentSystem
[3]: https://habrahabr.ru/post/343778/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] DNS-туннель, PsExec, кейлоггер: разбираем схему и технические инструменты атаки
habra.16
habrabot(difrex,1) — All
2017-12-05 15:00:08


Статью «Один квартал из жизни SOC. Три инцидента без купюр» весьма активно плюсовали, так что мы решили рассказать о еще одной интересной атаке, расследованием которой мы недавно занимались.

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

Некоторое время назад крупная компания с развитой инфраструктурой обратилась к нам за помощью. Проблема заключалась в странных событиях в инфраструктуре компании:

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

[1]: https://habrastorage.org/webt/eu/kn/ec/euknecun9xazfqvydvixn5brbiq.jpeg
[2]: https://habrahabr.ru/post/343668/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Почему repository в pom.xml — плохая идея
habra.16
habrabot(difrex,1) — All
2017-12-05 15:30:08


Где-то полгода назад я опубликовал [туториал][1], посвящённый добавлению в проект библиотек, которых нет в репозиториях maven. Речь шла о маленьких проектах, и я порекомендовал ставить тег repository прямо в pom.xml, чтобы можно было собирать проект без необходимости править settings.xml.


![][2]

В комментариях этот подход критиковали [sshikov][3], [igor\_suhorukov][4], [jbaruch][5] и многие другие. Там же в комментариях мне дали ссылку на [статью][6] Брайана Фокса, в которой чётко и понятно изложено, чем чреваты repository в pom.xml. Статья 2009 года, но не потеряла актуальности до сих пор. Перевода на Хабре я не нашел — поэтому предлагаю вашему вниманию свой.

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

[1]: https://habrahabr.ru/company/lanit/blog/323008/
[2]: https://habrastorage.org/webt/aa/tj/pk/aatjpkkhgbdqbka8-6qvlmawhsm.jpeg
[3]: https://habrahabr.ru/users/sshikov/
[4]: https://habrahabr.ru/users/igor_suhorukov/
[5]: https://habrahabr.ru/users/jbaruch/
[6]: http://blog.sonatype.com/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/
[7]: https://habrahabr.ru/post/343934/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Собираем пользовательскую активность в Js и ASP
habra.16
habrabot(difrex,1) — All
2017-12-05 16:30:07


После написания функционала авторекордера действий пользователя, названного нами breadcrumbs, в [WinForms][1] и [Wpf][2], пришло время добраться и до клиент-серверных технологий.

![image][3]
Начнем с простого — JavaScript. В отличии от десктопных приложений тут все довольно просто — подписываемся на события, записываем необходимые данные и, в общем-то, всё.
[Читать дальше →][4]

[1]: https://habrahabr.ru/company/devexpress/blog/342530/
[2]: https://habrahabr.ru/company/devexpress/blog/343358/
[3]: https://habrastorage.org/getpro/habr/post_images/d11/4eb/064/d114eb064787257a148e2354adea1add.jpg
[4]: https://habrahabr.ru/post/343816/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Стоит ли свое хобби развить в стартап?
habra.16
habrabot(difrex,1) — All
2017-12-05 16:30:07


![image][1]

Много лет назад я увлекся программированием и начал писать для себя приложение (плагин для AutoCAD). И вот прошли годы и встает вопрос — развить свое хобби в стартап или оставить его и дальше как хобби? Рассуждения на тему под катом
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/5a/aw/mc/5aawmctdx4kr8z17dqhq6qqgtr8.jpeg
[2]: https://habrahabr.ru/post/343912/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Собираем пользовательскую активность в JS и ASP
habra.16
habrabot(difrex,1) — All
2017-12-05 17:00:08


После написания функционала авторекордера действий пользователя, названного нами breadcrumbs, в [WinForms][1] и [Wpf][2], пришло время добраться и до клиент-серверных технологий.

![image][3]
Начнем с простого — JavaScript. В отличии от десктопных приложений тут все довольно просто — подписываемся на события, записываем необходимые данные и, в общем-то, всё.
[Читать дальше →][4]

[1]: https://habrahabr.ru/company/devexpress/blog/342530/
[2]: https://habrahabr.ru/company/devexpress/blog/343358/
[3]: https://habrastorage.org/getpro/habr/post_images/d11/4eb/064/d114eb064787257a148e2354adea1add.jpg
[4]: https://habrahabr.ru/post/343816/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] 8 учебных проектов
habra.16
habrabot(difrex,1) — All
2017-12-06 05:00:04


_«Мастер совершает больше ошибок, чем новичок — попыток»_

Предлагаем 8 вариантов проектов, которые можно сделать «по фану», дабы получить реальный опыт разработки.


### Проект 1. Клон Trello



![image][1]

_[Клон Trello от Indrek Lasn .][2]_

Что вы освоите:

* Организация маршрутов обработки запросов (Routing).
* Drag and drop.
* Как создавать новые объекты (доски, списки, карточки).
* Обработка и проверка входных данных.
* Со стороны клиента: как использовать локальное хранилище, как сохранять данные в локальном хранилище, как читать данные из локального хранилища.
* Со стороны сервера: как использовать базы данных, как сохранять данных в базе, как читать данные из базы.

[Тут пример репозитория][3], сделанного на React+Redux.
[Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/881/d34/15a/881d3415a3f5f3c5a574d121815a5ff3.gif
[2]: https://trello-copy-axndcrswkc.now.sh/
[3]: https://github.com/wesharehoodies/simple-trello
[4]: https://habrahabr.ru/post/344006/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Не было печали, апдейтов накачали (Arch)
habra.16
habrabot(difrex,1) — All
2017-12-06 10:30:07


_По мотивам [этого поста][1]._



Про Archlinux ходит множество слухов, в том числе не совсем правдивых. В частности, устоявшееся общественное мнение говорит, что Арч часто ломается при обновлениях, так как bleeding edge. На практике это это одна из самых живучих и ремонтопригодных систем, которая может жить годами без переустановок, при этом обновляясь чуть не каждый день.



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



## Ситуация {#situaciya}



С очередным обновлением всё ломается к хренам собачьим. Уровень возможных проблем варьируется от "шрифты стали некрасивые" до "перестала работать сеть", а то и "ядро не видит дисковые разделы". Многие пользователи Арча умеют справляться с этой проблемой так или иначе, а в этой статье я расскажу как это делаю я.

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

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

[>] Начало новой эры криптовалют? Биржи CME Group выпускают фьючерс на биткоин
habra.16
habrabot(difrex,1) — All
2017-12-06 12:00:08


![][1]

В среду, 29 ноября, различные СМИ со ссылкой на источники [Bloomberg][2] сообщили, что 18 декабря группа чикагских бирж CME Group и биржа Cantor Exchange выпускают фьючерс на биткоин. Также было объявлено, что операционный директор NASDAQ (крупнейшая технологическая биржа мира) Адена Фридман [заявила][3], что её структура рассматривает возможность запуска торговли фьючерсами и опционами на биткоин. Сейчас этот вопрос находится в ранней стадии обсуждения. По словам Фридман, в планах руководства биржи запустить продажи во втором квартале 2018 года.


### Что это означает для крипторынка?


Если вернуться к историкам и вспомнить манифест Сатоши Накамото, то биткоин и криптовалюты рассматривались как альтернатива и в итоге замена фиатным валютам (реальным деньгам). Почти десять лет развития криптовалют показали поэтапное формирование биткоина и альткоинов, но не в том направлении, в котором предлагал аноним Накамото. Сейчас мировые финансовые институты признали биткоин как минимум в качестве объекта инвестирования и инструмента сбережения средств. Однако не стоит путать это с признанием биткоина в качестве платежного средства: сейчас же никто не расплачивается золотыми слитками или монетами. Поэтому примерно такой же статус в глазах трейдоров имеет и биткоин: инструмент накопления и приумножения. Именно по этой причине на бирже будут торговаться фьючерсы (и возможно опционы), а не валютные пары BTC/USD или BTC/EUR.
[Читать дальше →][4]

[1]: https://habrastorage.org/webt/ot/d8/pu/otd8pu_e-yahgd5iz6ovv83ahbe.jpeg
[2]: https://www.bloomberg.com/news/articles/2017-11-28/cme-group-plans-to-manage-customer-exposure-to-bitcoin-futures
[3]: https://www.cnbc.com/2017/11/30/nasdaq-cool-on-bitcoin-futures-launch.html
[4]: https://habrahabr.ru/post/344010/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Настройка валидации DTO в Spring Framework
habra.16
habrabot(difrex,1) — All
2017-12-06 12:30:13


Всем привет! Сегодня мы коснёмся валидации данных, входящих через Data Transfer Object (DTO), настроим аннотации и видимости — так, чтобы получать и отдавать только то, что нам нужно.

Итак, у нас есть DTO-класс UserDto, с соответствующими полями:

public class UserDto {

private Long id;
private String name;
private String login;
private String password;
private String email;
}
Я опускаю конструкторы и геттеры-сеттеры — уверен, вы умеете их создавать, а увеличивать в 3-4 раза код смысла не вижу — представим, что они уже есть.

Мы будем принимать DTO через контроллер с CRUD-методами. Опять же, я не буду писать все методы CRUD — для чистоты эксперимента нам хватит пары. Пусть это будут create и updateName.
[Читать дальше →][1]

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

[>] Как при помощи токена сделать удаленный доступ более безопасным?
habra.16
habrabot(difrex,1) — All
2017-12-06 12:30:13


![][1]

В 2016 году компания Avast решила провести [ эксперимент ][2]над участниками выставки Mobile World Congress. Сотрудники компании создали три открытые Wi-Fi точки в аэропорту возле стенда для регистрации посетителей выставки и назвали их стандартными именами «Starbucks», «MWC Free WiFi» и «Airport\_Free\_Wifi\_AENA». За 4 часа к этим точкам подключились 2000 человек.



В результате эксперимента был составлен доклад, в котором сотрудники компании Avast проанализировали трафик всех подключившихся к открытым Wi-Fi точкам людей. Также была раскрыта личная информация 63% подключившихся: логины, пароли, адреса электронной почты и т.п. Если бы не представленный на выставке доклад, то участники эксперимента никогда бы и не поняли того, что кто-то получил доступ к их данным.



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

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

[1]: https://habrastorage.org/webt/uh/hn/vz/uhhnvzhtvwpdue0jq-ej2nnvg_k.jpeg
[2]: https://press.avast.com/en-us/avast-wi-fi-hack-experiment-demonstrates-reckless-behavior-of-mobile-world-congress-attendees
[3]: https://habrahabr.ru/post/343638/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Двенадцать советов по повышению безопасности Linux
habra.16
habrabot(difrex,1) — All
2017-12-06 14:30:08


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

Возможно, вы уделяете внимание безопасности и периодически обновляете систему, но обычно этого недостаточно. Поэтому сегодня мы поделимся двенадцатью советами по повышению безопасности Linux-систем на примере CentOS 7.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/585/18b/a98/58518ba9884cfa5c4bc1cd9053ef5b4d.png
[2]: https://habrahabr.ru/company/ruvds/blog/343892/
[3]: https://habrahabr.ru/post/343892/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Dart: как правильно начать знакомство с языком?
habra.16
habrabot(difrex,1) — All
2017-12-06 15:00:08


![image][1]



Всем привет!
На прошлой неделе [мы][2] провели вторую ежегодную встречу русскоязычного сообщества Dart (ака Dartup) и получили очень информативную и полезную обратную связь от людей, пришедших на мероприятие. В этом году нас было около 130 человек. Если вы не были и хотите посмотреть, вот [ссылка][3] на записи. Спасибо за митап всем участникам, организаторам и партнерам.
Многие гости в кулуарах и в [телеграм-канале][4], посвященном встрече, спрашивали нас, почему, обладая большой экспертизой в языке, мы до сих пор не задумались о Dart академии, вебинарах или хотя бы кратком руководстве для новичков. Признаюсь, чтобы начать такой процесс, нам нужен был импульс от вас. Мы его получили. Поэтому начинаем серию статей для тех, кто интересуется языком и хочет попробовать в нем разобраться. И если вам понравится и пригодится эта информация, то мы как компания сможем больше уделять этому времени.


**Про что**
Давайте начнем с базового плана:

* Где узнать про Dart больше?
* Как и где попробовать?
* Настройка среды разработки
* Запуск Hello world
[Читать дальше →][5]

[1]: https://habrastorage.org/getpro/habr/post_images/fc3/8c6/c9c/fc38c6c9cae0475d5cdb1860e0cfaed3.jpg
[2]: http://wrike.com
[3]: https://goo.gl/VfxuPP
[4]: https://t.me/rudart
[5]: https://habrahabr.ru/post/343988/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Восстановление таблиц Хаффмана в Intel ME 11.x
habra.16
habrabot(difrex,1) — All
2017-12-06 17:00:08


_Сегодня эксперт Positive Technologies Дмитрий Скляров на конференции Black Hat в Лондоне расскажет о том, [как устроена файловая система на которой располагается часть Intel CSME / ME версий 11.x][1] и некоторые файлы для этой системы. Мы представляем вашему вниманию его статью о восстановлении таблиц Хаффмана в Intel ME 11.x._

![][2]

Как [известно][3], многие модули Intel ME 11.x хранятся во Flash-памяти в упакованном виде, и для сжатия применяются два алгоритма — LZMA и [Huffman Encoding][4]. Для LZMА существует [публичная реализация][5], которую можно использовать для распаковки, но для Huffman все сложнее. Распаковщик Huffman Encoding в ME реализован на аппаратном уровне, и построение эквивалентного программного кода представляет собой сложную и нестандартную задачу. [Читать дальше →][6]

[1]: https://www.blackhat.com/eu-17/briefings/schedule/index.html#intel-me-flash-file-system-explained-8484
[2]: https://habrastorage.org/webt/y8/5r/wr/y85rwrvgodhd9khvw60c1-f-2pm.png
[3]: https://recon.cx/2014/slides/Recon%202014%20Skochinsky.pdf
[4]: https://en.wikipedia.org/wiki/Huffman_coding
[5]: http://www.7-zip.org/sdk.html
[6]: https://habrahabr.ru/post/344056/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Pygest #19. Релизы, статьи, интересные проекты, пакеты и библиотеки из мира Python [20 ноября 2017 — 5 декабря 2017]
habra.16
habrabot(difrex,1) — All
2017-12-06 17:00:08


![image][1] Всем привет! Это уже девятнадцатый выпуск дайджеста на Хабрахабр о новостях из мира Python.

Присылайте свои интересные события из мира Python. Вместе мы сделаем Python еще лучше:)

Итак, поехали!



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

[1]: https://habrastorage.org/files/aa2/815/f22/aa2815f2207940fab9ac72e85219fe3c.png
[2]: https://habrahabr.ru/post/344026/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Взлом сайта с помощью другого сайта. Доверяй, но проверяй
habra.16
habrabot(difrex,1) — All
2017-12-06 20:00:08


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

После более подробной беседы, выяснилось:

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

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

[>] [recovery mode] [Перевод статьи] 7 базовых правил защиты от фишинга
habra.16
habrabot(difrex,1) — All
2017-12-06 20:00:08


![image][1]



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



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


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

[1]: https://itsecurity.blog.fordham.edu/wp-content/uploads/2017/09/phishing03_web.png
[2]: https://habrahabr.ru/post/344066/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Релиз CLion 2017.3: существенные улучшения поддержки C++, интеграция с Valgrind Memcheck и Boost.Test и многое другое
habra.16
habrabot(difrex,1) — All
2017-12-06 20:30:08


Привет, Хабр!

Наша команда приготовила всем разработчикам на C и C++ новогодний подарок под елку – **новый релиз CLion 2017.3**! В этом посте постараемся рассказать, чем он хорош, прикинуть дальнейшие направления для развития продукта и, конечно, ответить на все интересующие вас вопросы в комментариях.



Коротко об основных улучшениях для тех, кто не хочет много читать:

* Поддержка языка C++

* Улучшения в таких подсистемах парсера, как list initialization и name lookup
* Поддержка расширений специфичных для компилятора Microsoft Visual C++
* Поддержка макроса _\_\_COUNTER\_\__
* И не только!
* Новые инструменты и фреймворки

* Valgrind Memcheck
* Boost.Test
* CMake 3.9, GDB 8.0, LLDB 5.0
* Существенные переработки и расширение возможностей в настройке компилятора, окружения, CMake, отладчика, и пр.
* Возможность запуска почти произвольной функции main, иконки для запуска функций main и тестов
* Возможность разрабатывать на Kotlin/Native в CLion
Можно прямо сейчас скачать бесплатную 30-дневную версию с [нашего сайта][1] и попробовать новые возможности (для этого мы даже подготовили специальный небольшой [демо-проект][2]). А ниже мы поговорим об улучшениях более подробно.
[Читать дальше →][3]

[1]: https://www.jetbrains.com/clion/download
[2]: https://github.com/anastasiak2512/CLionDemo2017_3
[3]: https://habrahabr.ru/post/344076/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы помогаем быстро аттестоваться по требованиям ИБ тем, кто переезжает в облако
habra.16
habrabot(difrex,1) — All
2017-12-07 12:00:07


![][1]

На сайте Роскомнадзора [вывешивают][2] в декабре плановые проверки на следующий год. Начинали с иностранных соцсетей, сейчас в очереди банки и ряд компаний на Дальнем Востоке. Не у всех всё гладко, а проверки подбираются близко. В результате это породило некоторую заинтересованность к переездам в аттестованное облако, поэтому хотелось бы рассказать подробнее про то, что может предстоять по ФЗ-149 и 152.

А ещё я видел, как аттестацию на соответствие ФЗ-152 делают по ошибке. Ниже поясню, почему она не всегда нужна.

Сейчас далеко не все понимают, что необходимо делать при развёртывании инфраструктуры не у себя в виде стойки. Российский рынок не сильно подкован в вопросах переезда в облако. Крупные госзаказчики интуитивно понимают, что облачные технологии (в частности гособлако) им необходимы, но не понимают, что нужно для этого сделать. У нас всё готово для таких ситуаций, есть специальный центр компетенций по информационной безопасности. Платформа аттестована по требованиям безопасности информации и позволяет размещать ГИС и ИСПДн, к которым предъявляются наивысшие требования по защите информации, остаётся только аттестовать решение клиента. С нашей помощью это обычно проходит за 2–3 месяца, что гораздо быстрее (самостоятельно это занимает обычно 6 месяцев).

**Давайте рассмотрим такую процедуру на примере. **Предположим, вы медицинская компания, которая очень охраняет персональные данные пациентов.
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/kg/vg/7_/kgvg7_tarnfrqea5snurtd5hyka.png
[2]: https://rkn.gov.ru/plan-and-reports/contolplan/
[3]: https://habrahabr.ru/post/344084/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Что я узнал после 1000 code review
habra.16
habrabot(difrex,1) — All
2017-12-07 14:30:08


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

Вот мои 3 (+1 бонусная) наиболее распространенные рекомендации по код-ревью.

![image][1]


### Рекомендация 1: Выбрасывайте исключения, если что то идет не так


Зачастую паттерн выглядит так:

List getSearchResults(...) {
try {
List results = // make REST call to search service
return results;
} catch (RemoteInvocationException e) {
return Collections.emptyList();
}
}

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

[1]: https://habrastorage.org/getpro/habr/post_images/2c4/684/8f3/2c46848f34aa4fc0a1ba109fc95d025d.jpg
[2]: https://habrahabr.ru/post/344094/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Улучшаем работу искусственного интеллекта в Nemesida WAF
habra.16
habrabot(difrex,1) — All
2017-12-07 15:00:10


![][1]

В [предыдущей статье][2] мы рассказали, как искусственный интеллект Nemesida WAF помогает с абсолютной точностью выявлять атаки на веб-приложения при минимальном количестве ложных срабатываний. В этой статье будет рассмотрен новый механизм работы Nemesida AI, позволяющий увеличить точность выявления атак в 2 раза по сравнению с сигнатурным методом, а также снизить количество ложных срабатываний до 0.01%.
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/59/e7/75/59e775120eb32190002675.png
[2]: https://habrahabr.ru/company/pentestit/blog/340704/
[3]: https://habrahabr.ru/post/344104/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Ростелеком: чужие счета — это не спам
habra.16
habrabot(difrex,1) — All
2017-12-07 16:00:07


Уже с год длится такая история: на телефон раз в месяц, а то и чаще, стали приходить СМС от Ростелекома. Не подделка. Но про деньги. Увы.

На первый раз я удивился, на второй изумился, на третий — позвонил в техподдержку (да-да, ту, где надо голосом сказать роботу, по поводу чего ты звонишь; слова «спам» и даже «счет» он в моём исполнении не осилил, ну да ладно, я и не ждал). Пообщался, понервничал, попрощался — сообщения как приходили, так и продолжили (и сейчас летят, что и подвигло меня написать этот пост).

Текст в СМС незамысловатый. Не буду мучить видом фотографии на своем телефоне, приведу на желтом «цитатном» хабравском фоне контент:
> На ЛС 111111111111 выставлен счет №4 за ноябрь 2017г на сумму 200,00р. К оплате с учетом долга 300,00р._(номер ЛС я тут забил единицами, потому что получал я сообщения про разные ЛС; суммы были тоже разные, так что, полагаю, сообщали мне про долги разных абонентов)_

Договора у меня с РТ нет ни на что вообще, мобильный номер у меня давно, в общем, «ничто не предвещает беды», но СМС-дождь продолжается. Пару раз звонили грозными голосами (полагаю) сотрудники РТ, и вопрошали, когда я им деньги занесу, а то они в суд собрались. Узнавали в каждом случае, что номер мой, а договора у меня нет, задумывались, прощались…

[Секрет-то прост...][1]

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

[>] [Перевод] Отладка злого бага в рантайме Go
habra.16
habrabot(difrex,1) — All
2017-12-07 16:30:08


![][1]



Я большой поклонник [Prometheus][2] и [Grafana][3]. Поработав SRE в Google, я научился ценить хороший мониторинг и за прошедший год предпочитал пользоваться комбинацией этих инструментов. Я использую их для мониторинга своих личных серверов (black-box и white-box мониторинг), внешних и внутренних событий [Euskal Encounter][4], для мониторинга клиентских проектов и много другого. Prometheus позволяет очень просто писать кастомные модули экспорта для мониторинга моих собственных данных, к тому же вполне можно найти подходящий модуль прямо из коробки. Например, для создания симпатичной панели имеющихся метрик Encounter-событий мы используем [sql\_exporter][5].

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

[1]: https://habrastorage.org/webt/pb/wy/7i/pbwy7iszx6tlxruyh6xel5fhpc0.jpeg
[2]: https://prometheus.io/
[3]: https://grafana.com/
[4]: https://encounter.eus/
[5]: https://github.com/justwatchcom/sql_exporter
[6]: https://habrahabr.ru/post/344080/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сверточная сеть на python. Часть 1. Определение основных параметров модели
habra.16
habrabot(difrex,1) — All
2017-12-08 01:30:03



Несмотря на то, что можно найти не одну статью, объясняющую принцип метода обратного распространения ошибки в сверточных сетях ([раз][1], [два][2], [три][3], [четыре][4], [пять][5] и даже дающих “интуитивное” понимание — [шесть][6]), мне, тем не менее, никак не удавалось полностью понять эту тему. Кажется, что авторы недостаточно внимания уделяют обычным примерам либо же опускают какие-то хорошо понятные им, но не очевидные другим особенности, и весь материал по этой причине становится неподъемным. Мне хотелось разложить все по полочкам для самого себя и в итоге конспекты вылились в статью. Я постарался исключить все недостатки существующих объяснений и надеюсь, что эта статья ни у кого не вызовет вопросов или недопониманий. И, может, следующий новичок, который, также как и я, захочет во всем разобраться, потратит уже меньше времени.
[Читать дальше →][7]

[1]: http://andrew.gibiansky.com/blog/machine-learning/convolutional-neural-networks/
[2]: https://grzegorzgwardys.wordpress.com/2016/04/22/8/#unique-identifier2
[3]: http://jefkine.com/general/2016/09/05/backpropagation-in-convolutional-neural-networks/
[4]: http://www.simon-hohberg.de/2014/10/10/conv-net.html
[5]: http://cthorey.github.io/backprop_conv/
[6]: http://soumith.ch/ex/pages/2014/08/07/why-rotate-weights-convolution-gradient/
[7]: https://habrahabr.ru/post/344008/?utm_source=habrahabr&utm_medium=rss&utm_campaign=344008#habracut

[>] [Из песочницы] Слои, Луковицы, Гексогоны, Порты и Адаптеры — всё это об одном
habra.16
habrabot(difrex,1) — All
2017-12-08 01:30:03


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

Один из моих читателей спросил меня:> Вернон, в своей книге [«Implementing DDD»][2] много говорит об архитектуре Порты и Адаптеры, как о более продвинутом уровне **Слоистой Архитектуры**. Хотелось бы услышать ваше мнение на этот счёт.Если не вдаваться в детали, то в своей [книге][3] я описываю именно этот архитектурный паттерн, хотя никогда не называю его этим именем.

_TL;DR Если применить принцип инверсии зависимостей к слоистой архитектуре, то в конечном счете получим **Порты и Адаптеры**._
[Читать дальше →][4]

[1]: http://blog.ploeh.dk/2013/12/03/layers-onions-ports-adapters-its-all-the-same/
[2]: https://www.amazon.com/gp/product/0321834577/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0321834577&linkCode=as2&tag=ploeh-20
[3]: https://www.amazon.com/gp/product/1935182501/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1935182501&linkCode=as2&tag=ploeh-20
[4]: https://habrahabr.ru/post/344164/?utm_source=habrahabr&utm_medium=rss&utm_campaign=344164#habracut

[>] Исследование внутренних дефектов ПЛИС: ищем черную кошку в темной комнате
habra.16
habrabot(difrex,1) — All
2017-12-08 04:00:04


_Сезон 1. Проект на Virtex5 не работает, хотя на другой партии кристаллов все в порядке._

Однажды случилось так, что плата с кристаллом XC5VSX95T не заработала. Было известно, что это новая партия кристаллов. Для проверки проблемы был написан тест, тестирующий подряд все слайсы FPGA. Тестирование кристаллов показало наличие неисправных модулей LUT, входящих по 4 элемента в состав одного слайса. Оказалось, что триггеры в этих слайсах в порядке, и тогда был создан блок памяти на триггерах, которые в свою очередь созданы на LUT. См. рис. 1. Здесь показан пример триггера на LUT4. Каждая ячейка(бит) в тесте отвечает за один слайс. Триггерная ячейка задействует все четыре LUT слайса. Кристалл был разбит на 5 областей (и в другом тесте 9 областей), которые тестировались отдельно, каждый своей прошивкой. Правильное размещение используемых слайсов регламентировалось атрибутами LOC. Неисправность характеризуется невозможностью изменить состояние тестируемого триггера. Выход такого триггера может читаться 0 или 1, но всегда одинаково. Поэтому сначала память заполнялась 1, и проверялась, потом 0, и проверялась. Полный диапазон слайсов такой: X0Y0 – X91Y159. (14720 слайсов)

![][1]
_Рис.1_
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/rf/kj/ya/rfkjyaoyutgxn-nmazuzkz08ts4.jpeg
[2]: https://habrahabr.ru/post/344182/?utm_source=habrahabr&utm_medium=rss&utm_campaign=344182#habracut

[>] DevDay на функционале
habra.16
habrabot(difrex,1) — All
2017-12-08 09:00:04


![][1]

Планов на декабрь много: и завалы на проекте разгрести, и новогодние праздники распланировать. Если среди всей этой предновогодней беготни захотелось пищи для ума, айда к нам — 15 декабря обсудим функциональное программирование. Мы поделимся секретами написания быстрого бекенда, вместе разрушим десяток мифов о ФП и устроим холивар про будущее ФП/ООП.
[Хочу пищи для ума][2]

[1]: https://habrastorage.org/webt/ef/8c/qb/ef8cqbuervscrlykkfmb9tr5ube.png
[2]: https://habrahabr.ru/post/344196/?utm_source=habrahabr&utm_medium=rss&utm_campaign=344196#habracut

[>] [Перевод] Как Фейсбук приобрел Инстаграм и почему это привело к открытию исходного кода React.js
habra.16
habrabot(difrex,1) — All
2017-12-08 11:30:08


# История фреймворка React: как Фейсбук приобрел Инстаграм и почему это привело к открытию исходного кода React.js


![][1]

Сегодня [React][2] — одна из самых популярных в мире библиотек JavaScript для пользовательского интерфейса: более 70 тыс. «звезд» на Гитхабе, не менее 1100 авторов и [миллионы скачиваний][3] каждый месяц — кроме того, этот фреймворк [используется более чем в 4 тыс. компаний][4]. Но когда Фейсбук впервые показал React миру, это мало кого обрадовало.

Мы решили погрузиться в историю рождения одной из самых популярных технологий в мире разработки ПО — [React][5], и пригласили Пита Ханта (Pete Hunt), стоявшего у истоков этой библиотеки (сейчас он генеральный директор компании [Smyte][6]), чтобы он наконец-то рассказал о том, для чего создавали React, почему эта технология стала популярной в Фейсбуке после приобретения Инстаграма, и как она в итоге вышла в люди.


## Основные моменты



### От приложения Facebook Camera к приобретению Инстаграма


Марк (Цукерберг) собрал всех и говорит: «Мобильные устройства «выстрелят», поэтому срочно бросаем всё и переводим ресурсы на мобильные разработки». Мне казалось, это какая-то сумасшедшая идея: мы не могли поддерживать работу самого большого фотосайта в сети, имея горстку людей в команде. Совершенно бессмысленно переводить людей на разработку приложений для iOS и Android, которые составляют совсем небольшую долю нашего трафика. Но оказалось, что Марк был на 100% прав — поэтому я и не генеральный директор Фейсбука…

Мы разработали приложение Facebook Camera, и даже гордились тем, что получилось… Но пришел Инстаграм — и наш проект канул в Лету…

Ребятам из Инстаграма дали гараж на территории Фейсбука, где можно было сидеть и спокойно пилить свою идею. Они пользовались надежными системами безопасности Фейсбука, но кроме того продолжали использовать [AWS][7], а еще — разрабатывали собственную стратегию продукта, насколько я могу судить… И я был первым сотрудником из Фейсбука, которого перевели в Инстаграм…

**Переведено в [Alconost][8]** [Читать дальше →][9]

[1]: https://habrastorage.org/webt/5e/ef/h4/5eefh4cykvvk8ad7tbdtuus5hfm.jpeg
[2]: https://stackshare.io/react
[3]: https://www.npmjs.com/package/react
[4]: https://stackshare.io/react/in-stacks
[5]: https://stackshare.io/react
[6]: https://www.smyte.com/
[7]: https://stackshare.io/amazon-ec2
[8]: https://alconost.com?utm_source=habrahabr&utm_medium=article&utm_campaign=translation&utm_content=fb_insta_react
[9]: https://habrahabr.ru/post/344106/?utm_source=habrahabr&utm_medium=rss&utm_campaign=344106#habracut

[>] Обзор литературы по языку Python для начинающих
habra.16
habrabot(difrex,1) — All
2017-12-08 12:00:08


Очень часто можно увидеть вопросы на том же тостере: «А какую книгу взять книгу, чтобы выучить технологи Х», и естественно в комментариях идет большое число мнений и большое число различных книг. В данной теме, я сделаю обзор самых популярных книг по Python для начинающих программистов, и дам четкое мнение – нужно ли их читать или нет (субъективно).

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

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

[>] [Из песочницы] От «Hello World» до приложения в App Store: советы новичкам от новичка
habra.16
habrabot(difrex,1) — All
2017-12-08 12:30:12


После переезда в солнечный Будапешт я осознал, что изучать новый язык по карточкам или с помощью онлайн-курсов — не для такого прокрастинатора, как я. А что если сделать приложение без карточек, курсов и механического заучивания, в таком контексте, который был бы мне интересен? Так родилась идея приложения, о котором я рассказывать не буду, но расскажу о том, с какими сложностями пришлось столкнуться, изучая программирование практически с нуля. Материал может быть полезен для людей, которые хотели бы развиваться в сфере мобильной разработки на iOS.

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

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

[>] Четыре релиза 1.0 от CNCF и главные анонсы про Kubernetes с KubeCon 2017
habra.16
habrabot(difrex,1) — All
2017-12-08 13:30:06


![][1]

В эти дни (6-8 декабря) в США проходит местная версия конференций KubeCon + CloudNativeCon 2017, в фокусе внимания которой многочисленные проекты некоммерческой организации CNCF во главе с Kubernetes. Мероприятие собрало более 4100 посетителей, 77 % из которых используют K8s, причём в 75 % случаев речь идёт про production. Событие оказалось не только богатым на анонсы от различных стартапов и гигантов индустрии, но и стало поводом для подведения итогов Open Source-сообщества из мира cloud native — достаточно заметить, что в декабре сразу у четырёх проектов CNCF состоялся знаковый релиз 1.0. Так что новенького? [Читать дальше →][2]

[1]: https://habrastorage.org/webt/dh/i5/uw/dhi5uwjqpwipszt0opxgputyvw0.jpeg
[2]: https://habrahabr.ru/post/344098/?utm_source=habrahabr&utm_medium=rss&utm_campaign=344098#habracut

[>] [Перевод] Учим машину разбираться в генах человека
habra.16
habrabot(difrex,1) — All
2017-12-08 14:00:07


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

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

[1]: https://habrastorage.org/webt/hv/rl/pt/hvrlptakasipn6nuhuihaihcqfe.jpeg
[2]: https://habrahabr.ru/post/343604/?utm_source=habrahabr&utm_medium=rss&utm_campaign=343604#habracut

[>] [Перевод] Как узнать, что будет делать программа для Linux, не выполняя её по-настоящему?
habra.16
habrabot(difrex,1) — All
2017-12-08 14:30:08


Хотелось ли вам когда-нибудь узнать, какие именно действия будет выполнять команда Linux, ещё до вызова этой команды? Предположим, вы опытный пользователь, и вы знаете, как ведут себя многие команды. Но даже вам не под силу знать, как работает абсолютно всё. Конечно, определённую помощь в выяснении подробностей о командах может оказать веб-сервис [Explainshell][1]. Для этого нужно будет скопировать и вставить туда интересующую вас команду, после чего вы найдёте подробное описание того, как работает каждая её часть. Однако, это не наш метод. Благодаря тому инструменту, о котором мы сейчас расскажем, узнать, как именно работает некая программа, можно прямо из командной строки.

[![][2]][3]

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

[1]: https://www.explainshell.com/
[2]: https://habrastorage.org/webt/gh/b0/bt/ghb0bttv863e4jcv6ptbs-iutmm.jpeg
[3]: https://habrahabr.ru/company/ruvds/blog/344210/
[4]: https://habrahabr.ru/post/344210/?utm_source=habrahabr&utm_medium=rss&utm_campaign=344210#habracut

[>] [Перевод] Learnopengl. Урок 4.2 — Тест трафарета
habra.16
habrabot(difrex,1) — All
2017-12-08 19:00:07




Как только, фрагментный шейдер обработал фрагмент, выполняется так называемый **тест трафарета**, который, как и тест глубины, может отбрасывать фрагменты. Затем оставшиеся фрагменты переходят к тесту глубины, который, может отбросить еще больше фрагментов. Трафаретный тест основан на содержимом еще одного буфера, называемого **трафаретным буфером**. Мы можем обновлять его во время рендеринга для достижения интересных эффектов.


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

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

[>] [Из песочницы] Отчет о старте Atos IT Challenge
habra.16
habrabot(difrex,1) — All
2017-12-09 00:30:04


Есть ли у вас та штука, что называется pet project или side project? Тот самый проект, который бы вы делали в свое удовольствие и для себя, для саморазвития или расширения портфолио. Лично у меня долгое время не было ничего, что можно было бы показать. Однако, в рамках стартовавшего этой осенью конкурса [Atos IT Challenge 2018][1], у меня как раз появилась возможность начать такой проект.

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

[1]: https://www.atositchallenge.net/
[2]: https://habrahabr.ru/post/344254/?utm_source=habrahabr&utm_medium=rss&utm_campaign=344254#habracut

Pages: 1 ... 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 ... 133