RSS
Pages: 1 ... 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 ... 210
[>] Solar JSOC – опыт построения коммерческого SOC
habra.16
habrabot(difrex,1) — All
2016-09-21 15:00:04


Эта статья открывает цикл публикаций, посвященных функционированию центра по мониторингу и реагированию на инциденты информационной безопасности – Security Operations Center (SOC). В них мы будем рассказывать о том, что надо учитывать при создании SOC, о процессе подготовки инженеров мониторинга, регистрации инцидентов и практических кейсах, с которыми сталкивается Solar JSOC.

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


### Зачем нужен SOC


Что такое SOC, чем он отличается от SIEM, и зачем вообще он нужен, я описывать не буду – слишком много статьей в последнее время написано на эту тему. Причем в статьях можно было встретить взгляд с любой стороны: эксперта, вендора SIEM, владельца или сотрудника SOC.

В качестве вводной информации стоит упомянуть статистику по данным исследований, проведенных ФРИИ, а также компаниями Group-IB и Microsoft:

* Потери экономики РФ от киберпреступности за 2015 год оцениваются в 123,5 млрд рублей.
* 60% российских компаний отметили рост числа киберинцидентов на 75%, а размера ущерба — в два раза.
Также хотелось бы упомянуть статистику по нашим клиентам, которая отражается в ежеквартальных отчетах JSOC Security Flash Report:

* Двукратный рост количества инцидентов информационной безопасности в первом квартале 2016 года по отношению к аналогичному периоду 2015 года.
* Значительный рост инцидентов, связанных с утечками конфиденциальной информации.
* Увеличение критичных инцидентов с 26% до 32% по отношению к общему скоупу.
* Рост числа различных кибергруппировок, работающих по известным схемам мошенничества.
[Читать дальше →][1]

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

[>] [Из песочницы] Ещё один тип XSS-атаки на сайт
habra.16
habrabot(difrex,1) — All
2016-09-21 15:00:04


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

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

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

[>] [Из песочницы] Проверка паролей пользователей домена Windows на стойкость к атаке по словарю без компрометации пароля
habra.16
habrabot(difrex,1) — All
2016-09-21 15:30:03


Добрый день, коллеги. Хочу рассказать о полученном мной интересном опыте. Может быть кому-то пригодится.

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

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

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

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

[>] Проект Jigsaw в Java 9. Модулярное будущее, которого не избежать
habra.16
habrabot(difrex,1) — All
2016-09-21 18:00:03


![][1]

О проекте модуляризации Java мы слышим из года в год. Каждый раз ждём, следим за анонсами. Нам говорят, что Jigsaw практически готов, но каждый раз переносят срок выхода. Может быть, это не такой простой проект, как видится многим? Возможно, что изменения в нем повлияют на разработку в корне? Может быть, модулярная система — это только верхушка айсберга? Ответить на вопросы, связанные с проектом Jigsaw, мы попросили Ивана Крылова.

![][2] Иван занимается разработкой виртуальных машин Java и компиляторов более 10 лет, в настоящее время развивает компиляторную инфраструктуру в виртуальной машине Zing в Azul Systems. Регулярный докладчик на конференциях JUG.ru и других европейских Java-конференциях.


#### **Что такое Jigsaw, и как он повлияет на мир Java?**


** — Иван, добрый день. Расскажите, пожалуйста, какое влияние проект Jigsaw окажет на экосистему Java?**

— Добрый. Для объяснения моего взгляда на Java и модулярность стоит немного рассказать о моей деятельности. Коммерческим программированием я занимаюсь примерно двадцать лет. Последние одиннадцать из них — разработкой виртуальных машин. Работал в команде HotSpot Runtime в Sun. Потом компания была куплена Oracle. Далее было несколько изменений деятельности, и последние три с половиной года работаю в компании Azul Systems, где занимаюсь разработкой виртуальных машин.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/f60/e47/022/f60e47022c484721a3d59eacaa50e534.jpg
[2]: https://habrastorage.org/files/8f4/d49/3ec/8f4d493ecbcd40ad88bc10f6e46aa4f0.jpg
[3]: https://habrahabr.ru/post/310368/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Почему традиционная защита от кражи денежных средств в системах ДБО уязвима
habra.16
habrabot(difrex,1) — All
2016-09-21 20:00:03


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



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



Эти задачи традиционно решаются с использованием средств строгой двухфакторной аутентификации и электронной подписи, выполненных в виде USB-токенов или смарт-карт (далее – токены).

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

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

[>] [Из песочницы] Запуск отдельных приложений через OpenVPN без контейнеров и виртуализации
habra.16
habrabot(difrex,1) — All
2016-09-21 21:00:04


Как-то одним прекрасным утром я рассказывал в телеграмме бывшему другу и коллеге о том, что такое network namespaces в Linux и с чем его едят. Коллега восхитился, так же, как я, в свое время, а мне пришла в голову, что надо не костылить скриптом, как я делал до этого, а автоматизировать запуск отдельного network namespace и OpenVPN в нем. Так как я использую Debian Sid и Ubuntu 16.04 LTS автоматизацию я себе сделал в виде юнитов systemd, но об этом в конце статьи. После того, как я рассказал старшему брату, человеку далекому от IT, о возможности запускать только одно приложение, например браузер, под VPN, а остальные, как и прежде, он сказал «Только ради этого стоит перейти на Linux на компе», а я решил написать статью-инструкцию, как это сделать.
[Читать дальше →][1]

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

[>] [Перевод] GitLab CI: Учимся деплоить
habra.16
habrabot(difrex,1) — All
2016-09-21 23:00:04


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



Чтобы не привязываться к какой-либо конкретной технологии, предположим, что ваше приложение является простым набором HTML-файлов, никакого выполнения кода на сервере, никакой компиляции JS assets. Деплоить будем на [Amazon S3][2].



У автора нет цели дать рецепты для конкретной технологии в этой статье. Наоборот, примеры кода максимально примитивны, чтобы слишком на них не зацикливаться. Смысл в том чтобы вы посмотрели на фичи и принципы работы GitLab CI в действии, а потом применили их для вашей технологии.



![][3]


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

[1]: https://about.gitlab.com/2016/07/29/the-basics-of-gitlab-ci/#run-our-first-test-inside-ci
[2]: https://aws.amazon.com/s3/
[3]: https://about.gitlab.com/images/blogimages/ci-deployment-and-environments/intro.jpg
[4]: https://habrahabr.ru/post/310502/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] О новых успехах противостояния (СР УВЧ!*)
habra.16
habrabot(difrex,1) — All
2016-09-22 09:00:03


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

Не идеально, но по мне — очень классно. 3D шутер, который играется в реальном времени — это впервые.
[А теперь чуть-чуть теории][2]

[1]: https://arxiv.org/pdf/1609.05521v1.pdf
[2]: https://habrahabr.ru/post/310638/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Номенклатура JavaScript (в контексте Node.js и Web API)
habra.16
habrabot(difrex,1) — All
2016-09-22 12:00:04


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



Я много лет использую UltraEdit как редактор на самые разные случаи жизни. Одна из основных причин — быстрая работа с гигабайтными файлами без загрузки их в память. Для программирования на JavaScript он тоже достаточно удобен, вот только с одним существенным недостатком: автодополнение в нём основывается на достаточно бедном, жёстко заданном списке ключевых слов и глобальных переменных, вдобавок отстающем от развития языка. Как-то я задался вопросом, можно ли пополнить этот список полным перечнем всех готовых свойств и методов, какие только можно ввести в контексте Node.js и Web API (браузера). Где бы такой список можно раздобыть? Мне приходили в голову такие варианты:


1. Готовый перечень, кем-то составляемый и обновляемый для всеобщего пользования, вроде библиотеки [globals][1], но полнее.
2. Парсинг документации (спецификация ECMAScript, сайты MDN и Node.js и т.п.), вручную или программно.
3. Получение списка метапрограммированием.
[Читать дальше →][2]

[1]: https://github.com/sindresorhus/globals/
[2]: https://habrahabr.ru/post/310662/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Masking Bitmaps на Android
habra.16
habrabot(difrex,1) — All
2016-09-22 12:00:04


![][1]


# Введение


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

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

Я предполагаю, что читатель имеет опыт в разработке под Android и знаком с классами Canvas, Drawable и Bitmap.

Код, используемый в статье, можно найти на [GitHub][2].
[Читать дальше →][3]

[1]: https://habrastorage.org/files/7a1/945/18c/7a194518c95e43a3a7a3953cb4209dd3
[2]: https://github.com/ArkadyGamza/MaskingBitmaps
[3]: https://habrahabr.ru/post/310618/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы написали фриланс-биржу для Telegram
habra.16
habrabot(difrex,1) — All
2016-09-22 12:30:04


![][1]

Добрый день, дорогие Хабравчане! Сегодня решил рассказать вам о нашем опыте создания бота для Telegram на Node.js практически без опыта серверной разработки и на добровольных началах. Сразу оговорюсь: у меня за спиной чуть больше четырех лет разработки под iOS, у остальных членов команды тоже был опыт разработки от одного до шести лет в смежных областях. Для большинства из нас это был первый случай использования Node.js в сравнительно большом проекте. Как мы это сделали, зачем мы это сделали, почему фриланс-биржа и как она отличается от классических моделей, какие у нас были проблемы и как мы с ними боролись – под катом!
[Читать дальше →][2]

[1]: https://habrastorage.org/files/a35/3bd/e2c/a353bde2c9db4b959aacf8e7922fa40b.png
[2]: https://habrahabr.ru/post/310434/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] IL2CPP: вызовы методов
habra.16
habrabot(difrex,1) — All
2016-09-22 13:30:04


Это четвертая статья из серии по IL2CPP. В ней мы поговорим о том, как il2cpp.exe генерирует код C++ для вызовов методов в управляемом коде.

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

[1]: https://habrastorage.org/files/50f/e10/b54/50fe10b546304038a74cd6cd84a95bea.jpg
[2]: https://habrahabr.ru/post/310614/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Утечки данных в сфере здравоохранения: новая чума
habra.16
habrabot(difrex,1) — All
2016-09-22 14:00:04


Службы ИТ-безопасности в отрасли здравоохранения сталкиваются со все возрастающими трудностями. 2015 год оказался настолько плохим с точки зрения защиты данных пациентов, что Управление по гражданским правам при Министерстве здравоохранения и социального обеспечения США начало публиковать информацию об утечках данных в отрасли здравоохранения на так называемой «Стене позора». Только в прошлом году было зафиксировано 253 утечки в области здравоохранения, каждая из которых затрагивала как минимум 500 отдельных лиц и в результате которых было потеряно в общей сложности более 112 миллионов записей данных. Кроме того, была зафиксирована самая крупная утечка данных в отрасли здравоохранения за всю историю – в результате этой утечки, медицинская страховая компания Anthem потеряла 78,8 миллионов записей персональной информации пациентов, и еще от 8,8 до 18,8 миллионов записей, не относящихся к пациентам.


[Читать дальше: Как победить утечки данных в сфере здравоохранения][1]

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

[>] Как мы делали поиск в elasticsearch на vulners.com
habra.16
habrabot(difrex,1) — All
2016-09-22 14:30:04


![][1]
Как мы писали ранее, в качестве основной базы для поиска на сайте используется elasticsearch. Поиск в elastic работает очень быстро и из коробки доступно много полезных функций для работы с данными — полнотекстовый поиск, неточный поиск, всевозможные методы агрегации и тд.
И в отличии от классических SQL баз данных или noSQL типа MongoDB здесь очень удобно делать неточный поиск по всему документу. Для этого используется синтаксис Query DSL. Для полнотекстового поиска по всему документу есть несколько поисковых запросов. У себя на сайте мы используем тип query\_string. Этот запрос поддерживает Lucene синтаксис, который позволяет и нам и пользователю создавать сложные запросы в google-style. Вот примеры таких запросов:

_title:apache AND title:vulnerability_
type:centos cvss.score:[8 TO 10]

Можно сделать вот такой простой запрос и все:
{
"query": {
"query_string": {
"query": "exploit wordpress"
}
}
}


Но начав впервые использовать query\_string, вы столкнетесь с тем, что поиск выдает не то, что вы хотите видеть. Как же добиться от elasticsearch внятного результата поиска?
[Читать дальше →][2]

[1]: https://habrastorage.org/files/d47/00f/c75/d4700fc7567d4883bc727d4b1c995c84.png
[2]: https://habrahabr.ru/post/310688/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Книга «Многопользовательские игры. Разработка сетевых приложений»
habra.16
habrabot(difrex,1) — All
2016-09-22 14:30:04


[![image][1]][2] Привет, Хаброжители! Ранее мы Вас [спрашивали ][3] переводить ли книгу «Multiplayer Game Programming: Architecting Networked Games (Game Design)». Недавно новинка пришла из типографии.

В этой книге подробно рассматриваются все основные понятия, необходимые для создания сетевых многопользовательских игр. Вначале мы познакомимся с основами сетевых взаимодействий: как работает Интернет и как выполняется пересылка данных на другие компьютеры. Далее, после закладки фундамента, будут рассмотрены основы передачи данных в играх, как подготавливать игровые данные к передаче по сети, как изменять содержимое игровых объектов по сети и как организовать взаимодействие компьютеров, вовлеченных в игру. Затем мы поговорим о том, как компенсировать ненадежность соединения и задержки при передаче данных по сети и как обеспечить масштабируемость и безопасность игрового кода. В главах 12 и 13 рассматриваются службы объединения игроков для выделенных серверов и использование облачного хостинга — две темы, чрезвычайно важные для современных сетевых игр.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/13d/f10/17c/13df1017c71349f3abdb8d4b0fb18880.jpg
[2]: https://habrahabr.ru/company/piter/blog/310680/
[3]: https://habrahabr.ru/post/271849/
[4]: https://habrahabr.ru/post/310680/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Ищем ошибки в Mono: сотни их
habra.16
habrabot(difrex,1) — All
2016-09-22 20:00:03


![][1]


Крупные проекты проверять интересно. Как правило, в них удаётся найти различные интересные ошибки и рассказать о них людям. Также это хороший способ тестирования нашего анализатора и улучшения различных его аспектов. Я давно хотел проверить 'Mono', и наконец-то такая возможность появилась. И, стоит сказать, проверка себя оправдала, так как удалось найти много занимательного. О том, что же нашлось, какие нюансы возникли при проверке, и будет эта статья.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/91c/df3/ef6/91cdf3ef660140bd866711f9cfddc54d.png
[2]: https://habrahabr.ru/post/310732/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Учетные записи пользователей Yahoo оказались скомпрометированы
habra.16
habrabot(difrex,1) — All
2016-09-23 09:30:03


Компания Yahoo [сообщила][1] в своем блоге о масштабной компрометации учетных данных пользователей своих сервисов. Результаты расследования инцидента показали, что компрометация имела место в конце 2014 г. и ее результатом стала утечка 500 млн. аккаунтов. Особенность этой ситуации еще и в том, что Yahoo заверяет о компрометации своих сервисов со стороны state-sponsored кибергруппировки.

![][2]
> We have confirmed that a copy of certain user account information was stolen from the company’s network in late 2014 by what we believe is a state-sponsored actor. The account information may have included names, email addresses, telephone numbers, dates of birth, hashed passwords (the vast majority with bcrypt) and, in some cases, encrypted or unencrypted security questions and answers.
[Читать дальше →][3]

[1]: https://yahoo.tumblr.com/post/150781911849/an-important-message-about-yahoo-user-security
[2]: https://habrastorage.org/files/9cd/43d/8f9/9cd43d8f9c15458880b94ac4c3f9bbf5.png
[3]: https://habrahabr.ru/post/310774/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Браузеры и app specific security mitigation. Часть 1
habra.16
habrabot(difrex,1) — All
2016-09-23 11:00:04


![][1]
Данная статья является вводной для небольшого цикла, посвященного механизмам безопасности, предназначенным для противодействия успешной эксплуатации уязвимостей класса memory corruption в web-браузерах. В рамках этого цикла мы рассмотрим, какие механизмы и с какой целью внедряются разработчиками браузеров, и поговорим о том, как их можно было или до сих пор можно обойти.

Если вам интересна тема защиты приложений или то, как разработчики эксплоитов преодолевают защиту, добро пожаловать под кат.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/2eb/6b1/90b/2eb6b190bc2f43a284afb2f82554bb5d.png
[2]: https://habrahabr.ru/post/310676/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Кластер Docker Swarm за 30 секунд
habra.16
habrabot(difrex,1) — All
2016-09-23 12:30:03


![][1]



В этом июне в качестве лейтмотива конференции DockerCon мы увидели демо, в котором 3-узловой Swarm-кластер был создан за 30 секунд, используя набор инструментов для кластеризации Swarm, интегрированную в Docker Engine 1.12.



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


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

[1]: https://habrastorage.org/files/a2f/096/30c/a2f09630c66d4a11bb308a42aa4ff715.JPG
[2]: https://habrahabr.ru/post/310606/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 38: уязвимость в Firefox, взлом Windows через Safe Mode и Tesla через Wifi
habra.16
habrabot(difrex,1) — All
2016-09-23 13:00:04


![][1]На ландшафте киберугроз случилась неделя баклажанов странных хаков — появилось сразу несколько исследований, в которых заголовок оказывается несколько круче содержания. Начнем с взлома Tesla ([новость][2]): китайские исследователи из компании Tencent показали, как можно удаленно взломать этот суперкар. Здесь бы нужно приложить ссылку на [исследование][3], хотя исследования как такового нет: первооткрыватели ограничились видеороликом, где показано, как удаленно можно включать дворники, открывать багажник, и, увы, отключать панель приборов и даже нажимать на тормоз.

Удаленный перехват управления CAN-шиной — это в любом случае кошмар любого автопроизводителя: если каким-то образом удается проникнуть на этот уровень, дальше злоумышленнику почти ничто не мешает творить зло. Чуть больше деталей об уязвимости раскрыли представители Tesla в [интервью][4] Reuters. Для эксплуатации уязвимости нужно соблюсти следующие условия: используется встроенный в мультимедийную систему авто браузер, при подключении к подготовленной точке WiFi. Вряд ли такое возможно во время движения, хотя всякое бывает: при всей серьезности подобных дыр в этот раз Tesla отделалась легким испугом.

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

[1]: https://habrastorage.org/files/014/bcf/be0/014bcfbe03fa407aad5da5d2dcc3784c.jpg
[2]: https://threatpost.ru/tesla-fixes-critical-remote-hack-vulnerability/18217/
[3]: http://keenlab.tencent.com/en/2016/09/19/Keen-Security-Lab-of-Tencent-Car-Hacking-Research-Remote-Attack-to-Tesla-Cars/
[4]: http://www.reuters.com/article/us-tesla-cyber-idUSKCN11Q2SD
[5]: https://habrahabr.ru/post/310778/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Моим самым важным проектом был интерпретатор байт-кода (или «как увидеть матрицу»)
habra.16
habrabot(difrex,1) — All
2016-09-23 13:00:04


![][1]



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



## Как все началось



В 200Х году я учился на втором курсе в университете. У меня уже был небольшой опыт в программировании. Я умел использовать абстракции, доступные в С++, я не понимал _на самом деле_ как все работает. Для меня компилятор и операционная система были просто черными коробками, работающими благодаря магическим заклинаниям, и я в целом считал это приемлемым.

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

[1]: https://habrastorage.org/files/e9c/ac8/2ae/e9cac82ae63a4a4d81d48fa911779faf.jpg
[2]: https://habrahabr.ru/post/310806/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Крупный процессинг планирует уйти с российского рынка, возможно, из-за действий хакеров
habra.16
habrabot(difrex,1) — All
2016-09-23 14:30:03


Международная компания Global Payments, главный офис которой находится в США, в ближайшее время планирует расстаться со своим российским активом — компанией UCS, независимой процессинговой компанией. В числе покупателей акционеры UCS видят крупнейших игроков на рынке процессинговых и эквайринговых услуг: Сбербанк, ВТБ, Русский стандарт, Газпромбанк, процессинговый центр «Картстандарт» и группу Qiwi, а для поиска покупателей был нанят инвестбанк Goldman Sachs.
![image][1]
[Но интересно не это, а...][2]

[1]: https://habrastorage.org/files/0d0/dbe/e20/0d0dbee20dba4279b8f35b4f1379f35d.PNG
[2]: https://habrahabr.ru/post/310802/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Запуск ReactOS на защищенном военном ноутбуке из комплекта танка M1 Abrams
habra.16
habrabot(difrex,1) — All
2016-09-23 15:00:03


Привет всем хабраюзерам! Нет времени долго объяснять, просто нам внезапно прислали видео о том, как ReactOS запускают на военном ноутбуке General Dynamics Itronix GoBook III IX260+. Обычно этот ноутбук входит в бортовой комплект танка M1 Abrams и его трудно найти в другой стране, кроме стран эксплуатантов данного танка. Сами понимаете, умолчать о таком сложно, поэтому делимся с вами.

![][1]


Запись прислали из ReactOS Support Center на базе Open FabLab TVP Tver. [][2]

[1]: https://habrastorage.org/files/dfc/a7a/a04/dfca7aa04edc4f61a5af65feee18fcb0.jpg
[2]: https://habrahabr.ru/post/310814/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Книга «Как пережить полный конец обеда, или безопасность в PHP». Часть 1
habra.16
habrabot(difrex,1) — All
2016-09-23 16:30:03


![image][1]

[Big Five Part 3][2] by CrazyAsian1

Привет. Меня зовут Саша Баранник. В Mail.Ru Group я руковожу отделом веб-разработки, состоящим из 15 сотрудников. Мы научились создавать сайты для десятков миллионов пользователей и спокойно справляемся с несколькими миллионами дневной аудитории. Сам я занимаюсь веб-разработкой около 20 лет, и последние 15 лет по работе программировать приходится преимущественно на PHP. Хотя возможности языка и подход к разработке за это время сильно изменились, понимание основных уязвимостей и умение от них защититься остаются ключевыми навыками любого разработчика.

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

P. S. Книга длинная, поэтому перевод будет выкладываться несколькими статьями. Итак, приступим…
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/9bc/758/c44/9bc758c44d663dc20240bdf01147a199.jpg
[2]: http://crazyasian1.deviantart.com/art/Big-Five-Part-3-376266867
[3]: https://habrahabr.ru/post/310726/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Принципы реактивного программирования на примере простого RSS-агрегатора с использованием ReactiveX для Python
habra.16
habrabot(difrex,1) — All
2016-09-23 17:00:04


![][1]


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

[1]: https://habrastorage.org/files/6f8/f99/898/6f8f998985204190b009996aafbd2863.png
[2]: http://reactivex.io/
[3]: https://habrahabr.ru/post/310824/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] SObjectizer: проблема перегрузки агентов и средства борьбы с ней
habra.16
habrabot(difrex,1) — All
2016-09-23 17:30:04


В предыдущих статьях мы несколько раз упоминали о такой проблеме, как перегрузка агентов. Что это такое? Чем это грозит? Как с этим бороться? Обо всем этом мы и поговорим сегодня.



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



Проблема усугубляется еще и тем, что взаимодействие посредством асинхронных сообщений и использование подхода fire-and-forget прямо таки провоцирует возникновение перегрузок (fire-and-forget – это когда агент A получает входящее сообщение M1, выполняет его обработку и отсылает исходящее сообщение M2 агенту B не заботясь о последствиях).

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

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

[>] [Перевод] Структуры данных для самых маленьких
habra.16
habrabot(difrex,1) — All
2016-09-23 18:00:03


James Kyle как-то раз взял и написал пост про структуры данных, добавив их реализацию на JavaScript. А я взял и перевёл.

**Дисклеймер:** в посте много ascii-графики. Не стоит его читать с мобильного устройства — вас разочарует форматирование текста.

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

[1]: https://habrastorage.org/files/8b6/72f/6ff/8b672f6ff3f4458b925530a9462a7694.png
[2]: https://habrahabr.ru/post/310794/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как выжать максимум из минификации кода
habra.16
habrabot(difrex,1) — All
2016-09-23 19:00:03


Вы задумывались над тем, что если в конструкторе и методах использовать не `this`, а переменную, то после минификации экономия байтов начнётся уже с четвёртого `this`?


// просто сравните длину строк
this.this.this.this.
var s=this;s.s.s.s.

Я использовал этот и некоторые другие упоротые способы для участия в конкурсе [js13kGames][1], цель которого — написать игру, размер которой не превысит 13 килобайт.


![Скриншот ранней версии игры][2]

_Игра почти готова, осталось всего-то пару дней не спать..._


[Мы любим сжимать!][3]

[1]: http://js13kgames.com/
[2]: https://habrastorage.org/files/6a1/e59/251/6a1e59251a3345a6bfd30d0958cef434.png "Тема конкурса в этом году — glitch"
[3]: https://habrahabr.ru/post/310830/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Современная операционная система: что надо знать разработчику
habra.16
habrabot(difrex,1) — All
2016-09-23 20:00:03


## Александр Крижановский ([NatSys Lab.][1])


![Александр Крижановский][2]

Нас сегодня будет интересовать операционная система – ее внутренности, что там происходит… Хочется поделиться идеями, над которыми мы сейчас работаем, и отсюда небольшое вступление – я расскажу о том, из чего состоит современный Linux, как его можно потюнить?


## По моему мнению, современная ОС – это плохая штука.


![][3]

Дело в том, что на картинке изображены графики сайта Netmap (это штуковина, которая позволяет вам очень быстро захватывать и отправлять пакеты сетевого адаптера), т.е. эта картинка показывает, что на одном ядре с разной тактовой частотой до 3 ГГц Netmap позволяет 10 Гбит – 14 млн. пакетов в сек. отрабатывать уже на 500 МГц. Синенькая линия – это pktgen – самое быстрое, что, вообще, есть в ядре Linux’а. Это такая штуковина – генератор графиков, который берет один пакет и отправляет его в адаптер много раз, т.е. никаких копирований, никакого создания новых пакетов, т.е., вообще, ничего – только отправка одного и того же пакета в адаптер. И вот оно настолько сильно проседает по сравнению с Netmap (то, что делается в user-space показано розовой линией), и оно вообще где-то там внизу находится. Соответственно, люди, которые работают с очень быстрыми сетевыми приложениями, переезжают на Netmap, Pdpdk, PF\_RING – таких технологий море сейчас. [Читать дальше →][4]

[1]: http://natsys-lab.com/
[2]: https://habrastorage.org/getpro/habr/post_images/a01/e2d/4c3/a01e2d4c3412329353830e0e325a4228.jpg
[3]: https://habrastorage.org/getpro/habr/post_images/19e/c0e/a72/19ec0ea724d3593758ab57b44dbf39ca.png
[4]: https://habrahabr.ru/post/310848/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] learnopengl. Урок 1.1. OpenGL
habra.16
habrabot(difrex,1) — All
2016-09-24 05:30:04


![][1]
Здравствуйте. Несколько недель назад я начинал серию переводов статей по изучению OpenGL. Но на 4 статье один хабровчанин заметил, что мои переводы могут нарушать лицензию, по которой распространяются учебные материалы, предоставленные в исходной статье. И действительно, мои переводы нарушали лицензию. Для разрешения этой проблемы я обратился к авторам того набора уроков, но так и не смог добиться нормального ответа. По этой причине я связался с автором другого, не менее (а возможно даже и более) крутого, набора уроков по OpenGL: [Joey de Vries][2]. И он дал полное разрешение на перевод его набора уроков. Его уроки гораздо более обширные, чем прошлый набор, поэтому эти переводы растянутся на долго. И я обещаю, будет интересно. Заинтересовавшихся прошу под кат.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/220/f71/c36/220f71c361864aa4b470499186994907.png
[2]: http://learnopengl.com
[3]: https://habrahabr.ru/post/310790/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Занимательная математика командной строки
habra.16
habrabot(difrex,1) — All
2016-09-24 10:00:03


Если вы пользователь Linux, Free/Open BSD или другой свободной ОС, есть вероятность, что интерфейс командной строки вам не чужд. В таком случае можно использовать командную оболочку для простых арифметических действий. Для этого не нужно устанавливать дополнительных программ, все уже есть в базовом наборе операционной системы. Они позволяют качественно заменить привычный калькулятор на столике счетовода.


![][1] [к awk-гадалке ходи][2]

[1]: https://habrastorage.org/files/ac3/022/f59/ac3022f59856451dac8325c527c54a70.png
[2]: https://habrahabr.ru/post/310566/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Spring Boot стартер для Apache Ignite своими руками
habra.16
habrabot(difrex,1) — All
2016-09-24 10:00:03


![][1]


Вот уже вышло две статьи в потенциально очень длинной серии обзоров распределённой платформы [Apache Ignite][2] ([первая][3] про настройку и запуск, [вторая][4] про построение топологии). Данная статья посвящена попытке подружить Apache Ignite и Spring Boot. Стандартным способом подключения некой библиотеки к Spring Boot является создание для этой технологии «стартера». Несмотря на то, что Spring Boot весьма популярен и на Хабре описывался не единожды, про то, как делать стартеры, вроде бы ещё не писали. Этот досадный пробел я постараюсь закрыть.

Статья посвящена преимущественно Spring Boot'у и Spring Core, так что те, кого тема Apache Ignite не интересует, всё равно могут узнать что-то новое. Код выложен на GitHub, [стартера][5] и [демо-приложения][6].
[Читать дальше →][7]

[1]: https://habrastorage.org/files/9c6/f06/103/9c6f06103f0443899a4c2de4d1d582cb.jpeg
[2]: https://ignite.apache.org/
[3]: https://habrahabr.ru/post/310334/
[4]: https://habrahabr.ru/post/310464/
[5]: https://github.com/kvmorozov/ignite-spring-boot
[6]: https://github.com/kvmorozov/ignite-spring-boot-demo
[7]: https://habrahabr.ru/post/310672/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Реализация синхронизации по требованию
habra.16
habrabot(difrex,1) — All
2016-09-24 12:00:04


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

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

[1]: https://habrastorage.org/files/2f5/527/34e/2f552734e9c24e27a5f7574db6ee3c20.png
[2]: https://habrahabr.ru/post/310696/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Анализ аудио-кодека ROAD
habra.16
habrabot(difrex,1) — All
2016-09-24 16:30:04


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

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

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

[>] Canvas Gauges 2.0
habra.16
habrabot(difrex,1) — All
2016-09-25 15:00:03


![image][1]


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



Как и раньше, библиотека OpenSource и распространяется по лицензии [MIT][2], так что берите, используйте и, вообще, далайте что хотите без каких-либо ограничений.


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

[1]: https://habrastorage.org/getpro/habr/post_images/98b/f90/a2f/98bf90a2f3c01bde5a96a4d34fddb771.png
[2]: https://raw.githubusercontent.com/Mikhus/canvas-gauges/master/LICENSE
[3]: https://habrahabr.ru/post/310946/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] После крупнейшей кражи данных в истории на Yahoo! обрушились еще «33 несчастья»
habra.16
habrabot(difrex,1) — All
2016-09-25 15:00:03




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

Это произошло еще в 2014 году, но факт был признан компанией только сейчас. Yahoo! обнаружила этот взлом после того, как в августе получила информацию о другой атаке, которая оказалась ложной.

Объем похищенных данных превышает объемы, украденные с серверов других электронных компаний – таких как MySpace. [Читать дальше →][2]

[1]: https://yahoo.tumblr.com/post/150781911849/an-important-message-about-yahoo-user-security
[2]: https://habrahabr.ru/post/310944/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Размещение таблицы значений с помощью доп реквизита и расширения конфигурации 1С
habra.16
habrabot(difrex,1) — All
2016-09-25 16:30:03


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

**В итоге чаще всего используется 2 варианта:**

> **1\.** Простой способ. Прямо в объекте добавляется таблица, а затем либо программно либо жестко(вручную) выводится на форму.
> **Минусы.** Обновление конфигурации будет требовать соблюдения изменений и повышенной внимательности, чтобы не потерять эти изменения.
> **Плюсы.** Самый простой вариант для разработки, к таблице значений можно обращаться без танцев с бубном, например через запросы.
> **2\.** Нормальный вариант, но тоже с доработкой конфигурации.
> Добавляется объект с таблицей значений и реквизитом с ссылкой на объект родитель, данная таблица значений выводится, к примеру, через расширение конфигурации на форму основного объекта.
> **Плюсы.** Простое обновление, к таблице значений можно обращаться, например через запросы.
> **Минусы.** Требуется больше предусмотреть различные ограничения на созданный объект а, следовательно, требует определенных знаний. Возможно, потребуется добавление роли\\ей и настройки профилей пользователей.
Есть, конечно, еще другие варианты к примеру с хранилищем, но статья не об этом…
[Читать дальше →][1]

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

[>] Драйвер компьютерной игры Street Fighter V отключает встроенный механизм защиты Windows
habra.16
habrabot(difrex,1) — All
2016-09-25 16:30:03


Драйверы компьютерных игр, которые используются для защиты целостности файлов игры, а также легитимности данных игроков не являются редкостью. Ранее публиковалось несколько обзоров наиболее известных подобных драйверов, например, [nProtect GameGuard][1] и [Blizzard Lockdown][2]. Такие драйверы могут использовать в своих целях перехваты API-вызовов на уровне ядра Windows, постоянное сканирование виртуального адресного пространства процессов, отслеживание доступа операций к системному реестру и др.

![][3]

Несколько дней назад компания Capcom [уведомила][4] своих пользователей об обновлении anti-hack драйвера (Capcom.sys), который используется для контроля за целостностью файлов игры и предотвращает возможную компрометацию содержимого памяти процесса игры с целью предотвращения читерства. Однако, пользователей в этом обновлении ждал неприятный сюрприз в одной из функций драйвера. Она позволяет отключать защитную меру ядра SMEP и исполнять код по указателю, полученному из пользовательского режима.

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

[1]: https://en.wikipedia.org/wiki/NProtect_GameGuard
[2]: http://uninformed.org/?v=9&a=1
[3]: https://habrastorage.org/files/8b2/f99/a68/8b2f99a684ed4acf978e200ac3f67144.jpeg
[4]: https://steamcommunity.com/games/310950/announcements/detail/832427843307776226
[5]: https://habrahabr.ru/post/310950/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Безопасность Android-приложений. Лекция в Яндексе
habra.16
habrabot(difrex,1) — All
2016-09-25 18:00:04


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



Меня зовут Дмитрий, я работаю в компании Яндекс в минском офисе, занимаюсь разработкой аккаунт-менеджера. Это библиотека, которая отвечает за авторизацию пользователей. Поэтому мы поговорим о безопасности Android-приложений.

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

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

[>] Логика сознания. Часть 7. Самоорганизация пространства контекстов
habra.16
habrabot(difrex,1) — All
2016-09-26 05:30:03


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

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

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

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

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

[1]: https://habrastorage.org/getpro/habr/post_images/cb6/aeb/52f/cb6aeb52f9ff86c0b4453c129d128103.jpg
[2]: https://habrahabr.ru/post/310960/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Хобби-проект польского разработчика — усовершенствованная и дополненная версия языка Go
habra.16
habrabot(difrex,1) — All
2016-09-26 13:00:04


![][1]

Один из признаков того, что язык программирования имеет успех, – появление новых языков на его основе. Известным примером является JavaScript. На его базе возникли такие языки, как TypeScript, GorillaScript, Kaffeine, Sweet.js и так далее.

Со временем язык программирования Go, разработанный компанией Google, сможет соперничать с JavaScript по количеству надстроек и диалектов.

Миру уже был явлен [Oden][2] – функциональный язык со статической типизацией, разработанный в рамках экосистемы Go. В то же время он создавался как надстройка Go и впитал в себя его лучшие стороны.

А теперь появился новый язык – [Have][3], который имеет все шансы стать усовершенствованной и дополненной версией Go. [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/cc5/683/639/cc56836390b038a3c5d98d0e90da720d.jpg
[2]: https://oden-lang.org/about/
[3]: http://havelang.org/
[4]: https://habrahabr.ru/post/310994/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] DRY и цена неправильных абстракций
habra.16
habrabot(difrex,1) — All
2016-09-26 16:30:03


![][1]



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



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



Конечно, я не намекаю, что такие принципы, как DRY — плохие. Это определенно не так. Просто я считаю, что всё **зависит от ситуации**. Сильно. Что касается именно DRY, это ведёт к логическому выводу: «На самом деле я тот, кто иногда склоняет других к дублированию, а не абстракции».



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

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

[1]: https://habrastorage.org/files/64b/33c/4ae/64b33c4ae3824031adb6b00594521e7a.jpg
[2]: https://habrahabr.ru/post/311014/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Где распознают лица
habra.16
habrabot(difrex,1) — All
2016-09-26 17:00:03


Компания [VisionLabs][1], которая специализируется на технологии распознавания лиц, меньше чем за год стала одним из победителей конкурса Web Ready (с 2016 года — [GoTech][2]), вошла в список 12 финалистов программы Challenge UP!, организованной Intel, Cisco и Deutsche Telekom AG, а также привлекла 350 млн рублей инвестиций венчурного фонда Sistema Venture Capital.

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

[1]: http://www.visionlabs.ru/
[2]: http://www.gotech.vc/
[3]: https://habrahabr.ru/post/311026/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сверхлегкая BDD: малая механизация автономных тестов
habra.16
habrabot(difrex,1) — All
2016-09-26 17:30:03


Тема автономного тестирования давняя, почтенная, разобранная до косточек. Кажется, что после отличной [книги Роя Ошероува][1] и сказать особо нечего. Но на мой взгляд есть некоторая несбалансированность доступных инструментов. С одной стороны монстры вроде [SpecFlow][2], с огромным оверхедом ради возможности писать тесты-спецификации на квази-естественном языке, с другой — челябинская суровость фреймворков старой школы вроде [NUnit][3]. Чего не хватает? Инструмента для лаконичной, выразительной, легко читаемой записи тестов, по удобству и ортогональности аналогичного библиотекам для создания подделок, таких как [FakeItEasy][4], или проверки утверждений вроде [FluentAssertion][5].


[Их есть у меня][6]

[1]: http://www.ozon.ru/context/detail/id/26230428/
[2]: http://www.specflow.org/
[3]: http://www.nunit.org/
[4]: https://fakeiteasy.github.io/
[5]: http://www.fluentassertions.com/
[6]: https://habrahabr.ru/post/310942/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Какая-такая Data? Или ещё раз про MapReduce
habra.16
habrabot(difrex,1) — All
2016-09-26 19:00:03



> _Если Вы последние 10 лет провели на удаленном острове, без интернета и в отрыве от цивилизации, то специально для Вас мы попытаемся еще раз рассказать про концепцию MapReduce. Введение будет небольшим, в объеме достаточном, для реализации концепции MapReduce в среде InterSystems Caché. Если же Вы не сильно далеко удалялись последние 10 лет, то сразу переходите ко 2ой части, где мы создаем основы инфраструктуры._[Читать дальше →][1]

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

[>] [Перевод] Руби(н) vs Питон: самые важные вопросы и ответы
habra.16
habrabot(difrex,1) — All
2016-09-27 00:00:04


![][1]



«Питон или Руби» — это один из самых горячо обсуждаемых топиков в мире программирования. Впереди него только “emacs или vim” и “pro-skub или anti-skub” по важности и сложности. Сегодня мы изучим разницу и ответим на вопросы, а также объективно и окончательно решим, что лучше.



# Что такое Питон?



Питон это крупная змея, которая обитает в юго-восточных регионах планеты. Они не ядовитые и нейтрализуют врагов в основном удушением. Многие из сохранившихся видов находятся под угрозой исчезновения.



# Что такое Руби(н)?



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



# В чем схожесть?



Для незнакомого с темой человека рубин и питон могут показаться идентичными:


* **Динамическая типизация:** Тип, к которому относится слово, динамически определяется из контекста. Питон может относится к семейству (_питонов_), роду (_broghammerus_) или к виду (_сетчатый питон_). Аналогично, рубин может быть конкретным минералом (корунд с примесями хрома), или относиться к общей категории красных камней.
* **Интерпретируемый:** Питоны и рубины часто используются как символы и метафоры, особенно в поэзии и мифологии.
* **Объектно-ориентированные:** Они оба — объекты, но некоторым людям некомфортно относиться к животным как к объектам.
* **Высокоуровневые:** Я изучал в университете физику, и все, что больше атома водорода считаю «высокоуровневым». Я не шучу. Мы еще не нашли решение уравнению Шредингера для атома гелия, а это все лишь атом водорода с дополнительной болтающейся хреновиной.[Читать дальше →][2]

[1]: https://habrastorage.org/files/7d0/a69/d96/7d0a69d960b748f0af5d461d98239658.jpg
[2]: https://habrahabr.ru/post/311036/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Безопасность интернета вещей: прогресс, хайп и головная боль
habra.16
habrabot(difrex,1) — All
2016-09-27 01:00:04


![][1]Интернет вещей — это такой же модный термин, как облачные технологии. Точно так же он не имеет особого смысла с технической точки зрения: это бренд, под которым спрятан миллион разных технологий и еще больше вариантов использования. Поводом для написания этого текста стали обсуждения новостей IoT в моих [дайджестах][2]: в разных случаях я получал справедливые и не очень упреки. Например, можно ли считать «вещами интернета» домашние роутеры, или распространяется ли IoT на производство и прочий индустриальный хайтек.

Чтобы в будущем таких вопросов возникало меньше, сегодня я попробую сформулировать более-менее четкое определение IoT, исходя не из задач производства или рекламирования соответствующих устройств и систем, а скорее из необходимости их защиты. Кроме того, я приведу пару ссылок на интересные исследования специалистов «Лаборатории» по теме, постараюсь дать оценку ситуации с безопасностью «интернета вещей» в настоящий момент, и даже сделаю попытку заглянуть в будущее.

Источником информации о чудо-устройствах в этой статье является твиттер [Internet of Shit][3] — его автор уже год занимается отважной работой по разоблачению попыток разных производителей направить развитие вещей интернета в направлении полного провала. Впрочем, лучше воспринимать этот канал как современную техносатиру: пока мы ржем над 100500-м чайником с фейсбуком внутри, реальный IoT приходит к нам незаметно, и без спроса. В этом-то и заключается настоящая проблема.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/40d/a10/b02/40da10b02c76476299d2a44c17404c8f.jpg
[2]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[3]: https://twitter.com/internetofshit
[4]: https://habrahabr.ru/post/311076/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] YT: зачем Яндексу своя MapReduce-система и как она устроена
habra.16
habrabot(difrex,1) — All
2016-09-27 12:30:03


В течение последних шести лет в Яндексе идет работа над системой под кодовым называнием YT (по-русски мы называем её «Ыть»). Это основная платформа для хранения и обработки больших объемов данных — мы [уже о ней рассказывали][1] на YaC 2013. С тех пор она продолжала развиваться. Сегодня я расскажу о том, с чего началась разработка YT, что нового в ней появилось и что ещё мы планируем сделать в ближайшее время.

[![][2]][3]

Кстати, 15 октября в офисе Яндекса мы расскажем не только о YT, но и о других наших инфраструктурных технологиях: Media Storage, Yandex Query Language и [ClickHouse][4]. На [встрече][5] мы раскроем тайну — расскажем, сколько же в Яндексе MapReduce-систем.


### Какую задачу мы решаем?


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

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

[1]: https://events.yandex.ru/lib/talks/1091/
[2]: https://habrastorage.org/files/751/fb6/77c/751fb677ccd7464ea05f890825525ae7.png
[3]: https://habrahabr.ru/company/yandex/blog/311104/
[4]: https://habrahabr.ru/company/yandex/blog/303282/
[5]: https://events.yandex.ru/events/meetings/15-oct-2016/?utm_source=habr&utm_medium=articles&utm_campaign=Infr
[6]: https://habrahabr.ru/post/311104/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Что нового появилось в C# 7 и уже поддерживается в Visual Studio “15” Preview 4
habra.16
habrabot(difrex,1) — All
2016-09-27 13:00:03


С релизом [Visual Studio “15” Preview 4][1] многие новые фичи C# 7 можно попробовать самому. Основные новшества C# 7 призваны облегчить работу с данными, упростить код и улучшить производительность. От себя скажу, что C# движется в сторону функционального языка, добавляя такие вещи, как кортежи и сопоставления с шаблоном (pattern matching). Не все из новой функциональности работает так, как задумано, в Preview 4, в этих случаях будет указано, что именно вы можете пока использовать и как это будет работать в будущем. Что ж, приступим.
[Читать дальше →][2]

[1]: https://blogs.msdn.microsoft.com/visualstudio/2016/08/22/visual-studio-15-preview-4/
[2]: https://habrahabr.ru/post/311112/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Голос и видео для программистов. Как мы создаем конференцию, посвященную realtime communications
habra.16
habrabot(difrex,1) — All
2016-09-27 13:00:03


![][1]Идея ничего не стоит. Реализация, если о ней не говорить, тоже. Популярно рассказывать о платформе для разработчиков не очень легко, особенно если занимаешься магией с телефонными и видеозвонками. Но мы стараемся! И приглашаем вас 6 октября на конференцию о коммуникациях в реальном времени [INTERCOM][2]. В центре ВДНХ, хакспейс "[СТАЛЬ][3]". Зачем? Сейчас тема коммуникаций в реальном времени разбита на кусочки, которые мы обсуждаем на отдельных конференциях. Где-то про ботов и мессенджеры, где-то про работу с голосовыми звонками, где-то про видеосвязь. На INTERCOM мы впервые в России собрали кусочки вместе и пригласили интересных спикеров, которые расскажут нам, как все это работает **вместе**.

[И как же оно работает вместе?][4]

[1]: https://habrastorage.org/files/158/997/e83/158997e836a14a9dad9bbf67bb32090c.png
[2]: https://intercomconf.com/
[3]: http://steelup.ru/
[4]: https://habrahabr.ru/post/310296/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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