RSS
Pages: 1 ... 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 ... 133
[>] [Перевод] 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

[>] Виртуальное приватное облако: подготовка образов
habra.16
habrabot(difrex,1) — All
2016-09-27 14:00:06





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



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



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



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


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

[1]: https://selectel.ru/services/vpc/
[2]: https://habrahabr.ru/post/311120/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как с помощью maven подключить библиотеку к проекту
habra.16
habrabot(difrex,1) — All
2016-09-27 14:30:03


Спросите кого-нибудь, для чего вообще нужен Maven — 90 процентов поголовья программистов ответит, что именно для этого и будут во многом правы.



Если в случае с, например, C++ подключение библиотеки к своему проекту — это серьёзный шаг, который гарантированно усложнит сборку до такой степени, что придётся включить инструкции по подключению данной конкретной библиотеки в readme, то в случае с Java это делается легко и непринуждённо — не в последнюю очедь благодаря Maven.



Хочу отметить, что статья предназначена для тех, кто начал изучать java относительно недавно и хотя уже значет из предыдущей [статьи][1], что такое maven — о том, что такое библиотеки, знает не очень хорошо, а как их подключать не знает вообще.

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

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

[>] Unit-тестирование в сложных приложениях
habra.16
habrabot(difrex,1) — All
2016-09-27 14:30:03


Ни один разработчик в здравом уме и трезвой памяти при разработке сложных приложений (> 100K LOC, например) не станет отрицать необходимость использования тестирования вообще и модульного тестирования (unit tests) в частности. Это так же верно, как и то, что каждый разработчик постарается исключить бессмысленную работу из творческого процесса создания приложения. Где же та грань, которая отделяет необходимость от бессмысленности, если мы говорим о модульном тестировании в контексте сложных приложений? Пару своих соображений по этому поводу я изложил под катом.

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

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

[>] Спецслужбы и не только: как защитить свое приложение от бэкдоров
habra.16
habrabot(difrex,1) — All
2016-09-27 14:30:03


[![][1]][2]

_Изображение: EFF-Graphics [[CC BY 3.0][3]]_

Глава службы Общей разведки и безопасности Нидерландов Роб Бертоли (Rob Bertholee) в интервью местной газете [De Volkskrant][4] заявил о том, что разработчики защищенных приложений — в частности, мессенджеров — должны облегчить спецслужбам доступ к данным пользователей, если это необходимо для расследований.

Главный голландский разведчик сказал, что защищенными мессенджерами вроде Telegram, WhatsApp и Signal пользуются террористы, что затрудняет для спецслужб перехват их коммуникаций и, как следствие, предотвращение атак. [Читать дальше →][5]

[1]: https://habrastorage.org/files/d84/ae9/1b4/d84ae91b469348d2b418892fc06c77fe.png
[2]: https://habrahabr.ru/company/pt/blog/311102/
[3]: http://creativecommons.org/licenses/by/3.0/us/deed.en
[4]: http://www.volkskrant.nl/4378383
[5]: https://habrahabr.ru/post/311102/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как это было: раскрываем детали Droidcon Moscow 2016
habra.16
habrabot(difrex,1) — All
2016-09-27 14:30:03


22 сентября в Москве прошла третья ежегодная конференция Android-разработчиков [Droidcon Moscow 2016][1]. В Технополисе собрались более четырехсот жадных до знаний участников, Google Developer Expert’ов и представителей СМИ. Мы впервые присоединились к организации этой конференции в этом году. И вот наш отчет.

![][2]

Деловая программа проходила в два потока и была разделена на четыре секции: Android, VR, IoT и Firebase. Секцию Android открыл **Google Developer Expert Денис Неклюдов** с докладом об адаптации приложений под новые возможности API 24 (Android 7.0 Nougat). Обсуждение жизненного цикла Activity в условиях MultiWindow перенеслось в Issue Tracker андроида, что привело к интересным результатам: оказалось, что вызов onStop не произойдет, если пользователь нажмет кнопку “Домой” во время работы с многооконными приложениями, а вот on Pause вызовется. **Юрий Шмаков из Arello Mobile** рассказал об их собственной библиотеке для реализации MVP. Тема жизненного цикла и проблем наследования от множества библиотечных базовых Activity вызвала бурный интерес у слушателей.
[Читать дальше][3]

[1]: http://droidcon.moscow/
[2]: https://habrastorage.org/files/a23/937/92b/a2393792b9c34193be3739508c5e27bc.jpg
[3]: https://habrahabr.ru/post/311126/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Создание шейдеров на основе Babylon.js и WebGL: теория и примеры
habra.16
habrabot(difrex,1) — All
2016-09-27 15:30:04


Во время своего [доклада на второй день конференции Build 2014][1] евангелисты Microsoft Стивен Гуггенхаймер и Джон Шевчук рассказали о реализации поддержки Babylon.js для Oculus Rift. Одним из ключевых пунктов их демонстрации было упоминание разработанной нами технологии имитации линз:

![][2]

Я также присутствовал на докладе Фрэнка Оливье и Бена Констебля на тему использования [графики в IE с применением Babylon.js.][3]

Эти доклады напомнили мне об одном вопросе, который мне часто задают в отношении Babylon.js: «Что вы подразумеваете под шейдерами?» Я решил посвятить этому вопросу целую статью с целью объяснить принцип работы шейдеров и привести несколько примеров их основных типов. [Читать дальше →][4]

[1]: http://channel9.msdn.com/Events/Build/2014/KEY02
[2]: https://habrastorage.org/files/31b/106/310/31b1063103bd4b229f3c121a5543fc98.jpg
[3]: http://channel9.msdn.com/Events/Build/2014/3-558
[4]: https://habrahabr.ru/post/311138/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Блокчейн как «волшебная таблетка»?
habra.16
habrabot(difrex,1) — All
2016-09-27 17:30:03


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

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

[1]: https://habrastorage.org/files/8a2/f11/ce7/8a2f11ce71974635b13fc44dd1fd62c6.jpg
[2]: https://habrahabr.ru/company/acronis/blog/309686/
[3]: https://habrahabr.ru/post/309686/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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


## Алгоритмы сортировки


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

![image][1]

Данный анализ я проводил в качестве летней практики в компании [«Программные технологии»][2].
Сортируемая последовательность не имеет заголовка, числа в ней имеют различную разрядность и хранятся без выравнивания. Между числами стоят разделители (0xFF).

Для осуществления сортировки с помощью библиотечной функции вводится дополнительный уровень данных – контейнер, содержащий указатели на области памяти, каждая из которых содержит одно BCD число. В сравнении участвуют:

> 1\. Сортировка слиянием;
> 2. Сортировка слиянием без использования буфера;
> 3. Естественная сортировка слиянием;
> 4. Естественная сортировка слиянием без использования буфера;
> 5. Модифицированная естественная сортировка слиянием;
> 6. Модифицированная естественная сортировка слиянием без использования буфера;
> 7. std::sort.[Читать дальше →][3]

[1]: https://habrastorage.org/files/76e/497/48c/76e49748cc984dd39b59ffac0acf2efe.png
[2]: http://www.softech.ru/home-ru.html
[3]: https://habrahabr.ru/post/311150/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как сделать всплывающие подсказки в JavaFX
habra.16
habrabot(difrex,1) — All
2016-09-28 11:00:04


### Забытое искусство подсказки


Давным-давно, когда люди ещё делали домашние странички, интернет был по шипучему модему, а Napster казался опасной провокацией коммунистов, простенькие оконные приложения под Windows очень часто писали на библиотеке VCL. Одни пользовались Delphi (но признавались только домашним), другие смело запускали её из C++ Builder (и удивлялись ещё одному String, а также спискам, которые начинаются с 1). А кто-то ухитрялся писать на нём под unix-ы (вы помните Kylix? А он был!)

В VCL почти у всех визуальных компонент были свойства **ShowHint** и **Hint**. Если быть точным, они были у всех компонент оконного типа (кнопок, выпадающих списков и прочих панелек).

В строковой **Hint** писался текст подсказки, а булевый **ShowHint** мог её отключить. А более прокачанные даже знали, что можно сделать расширенный вариант подсказки. Если написать в **Hint** _Нажми меня|Кнопка просит, чтобы вы её нажали_, то левая часть всплывёт, а правая будет передана в событие. Это событие перехватывали и показывали полученный текст в строке состояния.

Настолько простые и удобные подсказки были предметом величайшей зависти тех, кто сидел на MFC (никаких WinForms в тогдашней Visual Studio ещё не было, не говоря о WPF), поддерживал OWL или штурмовал чистый WinAPI с Петцольдом наперевес. Кто знает, может быть кто-то из них и приложил свою мозолистую от кодинга руку к тому, что уникальная по своей удобности технология подсказок оказалась полностью утрачена в JavaFX.


### Что у нас есть?


В JavaFX за подсказки отвечает компонент Tooltip. По всей видимости, это тайный компонент, потому что, к примеру, SceneBuilder его знать не знает.
[Читать дальше →][1]

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

[>] Управляем кучей таймеров в JavaScript
habra.16
habrabot(difrex,1) — All
2016-09-28 11:30:03


В прошлом [посте][1] было о том, как я писал игру для конкурса js13kGames, цель которого — уместить свою поделку на стеке открытых web-технологий в 13 килобайт.



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


![][2]

_[Демо][3], где можно позапускать ракеты и заценить пару примеров кода_

[Поиграть со временем][4]

[1]: https://habrahabr.ru/post/310830/
[2]: https://habrastorage.org/files/9df/d1d/90d/9dfd1d90dbeb42aaa492085e51cff6f1.png
[3]: https://xenohunter.github.io/timestore/
[4]: https://habrahabr.ru/post/311180/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Битва дроидов и джедаев на клеточном автомате
habra.16
habrabot(difrex,1) — All
2016-09-28 13:00:03


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



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


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

[1]: https://habrastorage.org/files/2ee/fb6/e94/2eefb6e948144051971528d585f972c7.jpg
[2]: https://habrahabr.ru/post/311196/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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