RSS
Pages: 1 ... 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 ... 210
[>] [Из песочницы] Qemu.js с поддержкой JIT: фарш всё же можно провернуть назад
habra.16
habrabot(difrex,1) — All
2016-11-21 18:00:04


Несколько лет назад Фабрис Беллар [написал jslinux][1] — эмулятор ПК, написанный на JavaScript. После этого был ещё как минимум [Virtual x86][2]. Но все они, насколько мне известно, являлись интерпретаторами, в то время как написанный значительно раньше тем же Фабрисом Белларом Qemu, да и, наверное, любой уважающий себя современный эмулятор, использует JIT-компиляцию гостевого кода в код хостовой системы. Мне показалось, что самое время реализовать обратную задачу по отношению к той, которую решают браузеры: JIT-компиляцию машинного кода в JavaScript, для чего логичнее всего виделось портировать Qemu. Казалось бы, почему именно Qemu, есть же более простые и user-friendly эмуляторы — тот же VirtualBox, например — поставил и работает. Но у Qemu есть несколько интересных особенностей


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

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



И вот, после двух лет неспешного ковыряния в свободное время исходников Qemu появился работающий прототип, в котором уже можно запустить, например, Kolibri OS.

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

[1]: https://habrahabr.ru/post/119424/
[2]: https://habrahabr.ru/post/198192/
[3]: https://habrahabr.ru/post/315770/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] JetBrains Night в Москве. Видео. Первые шаги с TeamCity DSL
habra.16
habrabot(difrex,1) — All
2016-11-21 18:00:04


29 сентября в Москве прошла мини-конференция JetBrains Night: 7 часов разработчики из JetBrains рассказывали разработчикам из других компаний о том, что компания делает, зачем, и что будет делать дальше, а потом отвечали на вопросы, обсуждали общие проблемы и вообще делились опытом (т.е. слушали, как разработчики из других компаний рассказывают им о том, что они делают и почему им удобно или пока еще не очень удобно делать это с помощью того, что делает JetBrains).

На Хабре мы постепенно публикуем видео всех докладов, чтобы можно было в комментариях обсудить то, что не успели обсудить на JetBrains Night, особенно с теми, кто не смог приехать лично.

В предыдущих постах Дмитрий Жемеров [рассказывал про язык Kotlin][1] (там до сих пор продолжается умеренно живая дискуссия в комментариях), а затем Максим Мазин и Валерия Андрианова [делились практическими советами по интеграции серверных продуктов и использовании новых Agile-досок][2].

Если вы раньше не знали, что билды в TeamCity можно настроить с помощью DSL (например, чтобы проще было менять и использовать эти настройки в других проектах), то
[вот видео об этом][3]

[1]: https://habrahabr.ru/company/JetBrains/blog/314826/
[2]: https://habrahabr.ru/company/JetBrains/blog/315244/
[3]: https://habrahabr.ru/post/315652/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы заново собирали серверы в американском ЦОДе из России
habra.16
habrabot(difrex,1) — All
2016-11-21 18:00:04


_Сегодня мы хотели рассказать вам о том, как наши ребята за три часа повысили производительность кластера для тестирования ПО в 4 раза, просто «пораскинув мозгами»._

![image][1]

Upd. Этот пост это — НЕ МАСШТАБНОЕ ТЕСТИРОВАНИЕ — это реальная история из практики с забавными моментами. Мы повысили плотность ВМок в 4 раза, если вы ожидаете увидеть сравнительное тестирование, графики и анализ производительности, вам не сюда. Тут сегодня скорее душевное чтиво.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/cf5/fa2/3b3/cf5fa23b304e63960f5b34cc9ce335f7.jpg
[2]: https://habrahabr.ru/post/315722/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Выбор технологий для большого и не очень большого веб-проекта
habra.16
habrabot(difrex,1) — All
2016-11-21 18:00:04


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

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

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

[>] Lenovo исправила уязвимости в прошивках своих компьютеров
habra.16
habrabot(difrex,1) — All
2016-11-21 18:00:04


Lenovo исправила две важные уязвимости в системном ПО своих компьютеров. Уязвимости исправляются обновлением [LEN-9903][1] (_Intel ME protection not set on some Lenovo Notebook and ThinkServer systems_) и [LEN-8327][2] (_Microsoft Device Guard protection bypass_). Первая уязвимость с идентификатором CVE-2016-8222 заключается в неправильной конфигурации Lenovo системного механизма чипсетов Intel — Intel Management Engine на некоторых моделях ноутбуков и компьютеров ThinkServer.

![][3]
Вторая уязвимость с идентификатором CVE-2016-8222 чем-то похожа на известную прежде уязвимость ThinkPwn, о которой мы уже писали [здесь][4]. Уязвимость может позволить атакующему перезаписать важные системные переменные BIOS и вызывать сервисы SMM режима работы микропроцессора, т. е. на уровне привилегий минус второго кольца (-2).

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

[1]: https://support.lenovo.com/ru/ru/solutions/LEN_9903
[2]: https://support.lenovo.com/ru/ru/product_security/len_8327
[3]: https://habrastorage.org/files/76e/488/045/76e488045d8b46bb9f377a989cdf69fc.jpeg
[4]: https://habrahabr.ru/company/eset/blog/305844/
[5]: https://habrahabr.ru/post/315744/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Расширения языков C и C++. Часть 1
habra.16
habrabot(difrex,1) — All
2016-11-21 20:00:03


Данная статья (и я надеюсь что серия статей) посвящена нестандартным расширениям языков C и C++, которые существуют практически в каждом компиляторе.

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

Языковые расширения — это такая «серая», теневая область, про которую обычно мало пишут и мало знают. Но именно этим она и и интересна!

Предварительно могу сказать, что будут рассмотрены компиляторы общего назначения gcc, msvs, clang, intel, embarcadero, компиляторы для микроконтроллеров iar и keil, и по возможности многие другие компиляторы. Больше всего расширений в GCC, что не удивительно — свободная разработка способствует воплощению разных языковых фич. К тому же, информация по расширениям GCC вся собрана в одном месте, а информацию по остальным компиляторам придется собирать по крупицам. Поэтому начнем с GCC.
[Читать дальше →][1]

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

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


![][1]

Глава из книги "Современное программирование на C++" называется "В сто первый раз об интеллектуальных указателях". Все бы ничего, но книга была издана в 2001 году, так стоит ли в очередной раз возвращаться к этой теме? Мне кажется что как раз сейчас и стоит. За эти пятнадцать лет поменялась сама точка зрения, тот угол под которым мы смотрим на проблему. В те далекие времена только-только вышла первая де-факто стандартная реализация — boost::shared\_ptr<>, до этого каждый писал себе реализацию по потребности и как минимум представлял себе детали, сильные и слабые стороны своего кода. Все книги по C++ в то время обязательно описывали одну из вариаций умных указателей в мельчайших деталях.
Сейчас нам дан стандарт, и это хорошо. Но с другой стороны, уже не требуется понимать что там внутри, вместо этого достаточно три раза повторить мантру _"используйте умные указатели везде где вы бы использовали обычные указатели"_, и это уже не так хорошо. Я подозреваю что далеко не все отдают себе отчет что данный стандарт — лишь один из возможных вариантов интерфейса, не говоря уже о разнице между реализациями различных вендоров. При выборе стандарта был сделан выбор между различными возможностями учитывающий разные факторы, но, оптимальный или нет, этот выбор очевидно не единственен.
А еще на stackoverflow например снова и снова задается вопрос — "потокобезопасны ли умные указатели из стандартной библиотеки?". Ответы даются обычно категоричные, но какие-то мало информативные. Если бы я например не знал о чем идет речь, то наверное бы не понял. И кстати, все сравнительно новые книги описывающие новый стандарт C++ этому вопросу тоже уделяют мало внимания.
Так давайте же попробуем сорвать покровы и разберемся с деталями.

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

[1]: https://habrastorage.org/files/ed3/c27/14b/ed3c2714b20d44f49daa617b7428dcce.png
[2]: https://habrahabr.ru/post/311560/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Уничтожить SSD за 7 секунд: тактическая защита информации от несанкционированного доступа
habra.16
habrabot(difrex,1) — All
2016-11-22 11:30:03


> _«Любую ценность контролирует лишь тот, кто в состоянии её уничтожить»
> — Дюна, Фрэнк Герберт_



На втором курсе универа мой одногруппник устроился на работу помощником админа. Через месяц в столовке он нам (был я и еще три одногруппника) похвастался, что написал софтину, которая позволяла ему качать файлы из интернета через корпоративный аккаунт (напомню, что по диалапу в те времена одна mp3шка качалась час). Другой одногруппник за пивасом рассказал это уже в своей компании друзей, а те без его ведома решили прикольнуться. Базы данных с номерами телефонов, адресов, ГАИ и прочие давно гуляли по рукам, городок маленький. Звонок:

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

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

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

Защита от [несанкционированного доступа][1] бывает не только софтовой, но и хардкорной. Ситуации всякие бывают, и защищать информацию приходится ценой ее жизни. «Так не достанься же ты никому!» или «Ultima ratio regum» (последний довод королей).

Сегодня — репортаж из лаборатории по оперативному уничтожению информации. (Спасибо эксперту по ИБ Олегу Позднякову из "[Детектор Системс][2]" за право доступа.)
[Читать дальше →][3]

[1]: https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D1%81%D0%B0%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF
[2]: http://www.detsys.ru/
[3]: https://habrahabr.ru/post/306520/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Зловреды-вымогатели для IoT опаснее «традиционных» зловредов
habra.16
habrabot(difrex,1) — All
2016-11-22 12:30:03


![][1]

[Зловреды, используемые для вымогательства][2] (ransomware), в этом году стали [одной из серьёзнейших киберугроз][3]. И сегодня все — от обычных пользователей до корпораций и правительственных организаций — стараются обезопасить себя от программ-шифровальщиков. Однако, мы пока игнорируем начало следующей волны атак зловредов-вымогателей, которые нацелены на шифрование не файлов, а устройств, подключённых к интернету вещей. И это может быть куда опаснее и убыточнее, учитывая вездесущую и крайне разнообразную природу IoT. [Читать дальше →][4]

[1]: https://habrastorage.org/files/22c/78a/cc9/22c78acc950a4c19a263852dbab1b394.jpg
[2]: https://ru.wikipedia.org/wiki/Ransomware
[3]: http://www.zdnet.com/article/ransomware-is-now-the-top-cybersecurity-threat-warns-kaspersky/
[4]: https://habrahabr.ru/post/315730/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Open Source-законодательство
habra.16
habrabot(difrex,1) — All
2016-11-22 13:00:04


Здравствуйте, я тут подумал, что системы управления версиями вроде GitHub — это идеальная площадка для экспериментов в области электронного законодательства.

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

Например, я залил сюда [сюда][1]\* Конституцию Российской Федерации и предлагаю внести в нее правки. Можно и другие законы внести и их тоже поправить. И не обязательно России.

Мне интересно, если любой желающий имеет возможность предложить свои редакции существующих норм — кто что предложит? Сколько народу поддержит чьи правки? Какие будут комментарии? Сколько возникнет форков?

Welcome, как говорится.

\* Если кому показался знакомым никнейм, то да, это я, надеюсь, никто не против, что меня тут снова захабрили. [][2]

[1]: https://github.com/DileSoft/law_rf
[2]: https://habrahabr.ru/post/315792/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Детский интернет глазами отца. Опыт пользователя
habra.16
habrabot(difrex,1) — All
2016-11-22 17:30:04


![][1]
_[ncmares, deviantart][2]_

В интересное время мы живём. Весь мир опутан единой информационной сетью Интернет, в которой проводят львиную долю своего свободного времени как взрослые, так и дети. Стоп! Дети… Это что же, они смотрят то же самое, что и мы, взрослые?! Понятно, что мультики, котиков, простенькие игры, домашние задания. Но, мы ж смотрим не только это. И на вполне безобидный запрос «киска» порой получаем несколько иную киску, чем ожидает ребёнок. И это – одна из основных проблем единого информационного пространства, в котором вся информация в равной степени доступна практически всем подключившимся. И тут передо мной, как и перед любым ответственным родителем, встаёт вопрос о том, можно ли как-то оградить психику ребёнка от потока негатива и знаний, которые ему пока что рановаты.

Ещё совсем недавно всё было просто. Для доступа в сеть был лишь один (чаще всего) компьютер. Родительский. Дети же допускались к нему исключительно под присмотром, поэтому дозировать пребывание в сети, равно как и контролировать контент было довольно просто. Сейчас же времена изменились. Практически у каждого ребёнка есть свой собственный гаджет: смартфон или планшет. И порой родителям неведомо, что их чадо там смотрит.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/e26/4f8/e38/e264f8e380514d91ad1958c7b0859f93.png
[2]: http://ncmares.deviantart.com/art/Perfect-Organism-615249748
[3]: https://habrahabr.ru/post/315742/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Обучаемся самостоятельно: подборка видеокурсов по Computer Science
habra.16
habrabot(difrex,1) — All
2016-11-22 18:00:05


![image][1]


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


1. [Введение в Computer Science][2]
2. [Структуры данных и Алгоритмы][3]
3. [Системное программирование][4]
4. [Распределенные системы][5]
5. [Базы данных][6]
6. [Объектно-ориентированный дизайн и разработка софта][7]
7. [Искусственный интеллект][8]
8. [Машинное обучение][9]
9. [Веб-разработка и интернет-технологии][10]
10. [Concurrency][11]
11. [Компьютерные сети][12]
12. [Разработка мобильных приложений][13]
13. [Математика для программистов][14]
14. [Теория информатики и языки программирования][15]
15. [Архитектура компьютера][16]
16. [Безопасность][17]
17. [Компьютерная графика][18]
18. [Работа с изображениями и компьютерное зрение][19]
19. [Интерфейс Человек-Компьютер][20]
20. [Вычислительная биология][21]
21. [Прочее][22]
[Читать дальше →][23]

[1]: https://habrastorage.org/getpro/habr/post_images/941/729/900/941729900fdac1862e3cb6b27d29617d.png
[2]: https://habrahabr.ru/post/315724/#1
[3]: https://habrahabr.ru/post/315724/#2
[4]: https://habrahabr.ru/post/315724/#3
[5]: https://habrahabr.ru/post/315724/#4
[6]: https://habrahabr.ru/post/315724/#5
[7]: https://habrahabr.ru/post/315724/#6
[8]: https://habrahabr.ru/post/315724/#7
[9]: https://habrahabr.ru/post/315724/#8
[10]: https://habrahabr.ru/post/315724/#9
[11]: https://habrahabr.ru/post/315724/#10
[12]: https://habrahabr.ru/post/315724/#11
[13]: https://habrahabr.ru/post/315724/#12
[14]: https://habrahabr.ru/post/315724/#13
[15]: https://habrahabr.ru/post/315724/#14
[16]: https://habrahabr.ru/post/315724/#15
[17]: https://habrahabr.ru/post/315724/#16
[18]: https://habrahabr.ru/post/315724/#17
[19]: https://habrahabr.ru/post/315724/#18
[20]: https://habrahabr.ru/post/315724/#19
[21]: https://habrahabr.ru/post/315724/#20
[22]: https://habrahabr.ru/post/315724/#21
[23]: https://habrahabr.ru/post/315724/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Навыки опытного программиста: Самые популярные советы начинающим
habra.16
habrabot(difrex,1) — All
2016-11-22 18:00:05


Быть программистом — это призвание? Возможно. Мы в **[1cloud][1]** решили выяснить, как сами программисты оценивают свои достижения, какие качества считают неотъемлемыми в своей работе (вне зависимости от выбранного языка и специализации) и какие советы дают начинающим разработчикам.

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

[1]: https://1cloud.ru
[2]: https://habrastorage.org/files/b8d/24d/b4b/b8d24db4b7fc4829a175bb571dc5e508.jpg
[3]: https://habrahabr.ru/company/1cloud/blog/315852/
[4]: https://habrahabr.ru/post/315852/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Детский интернет глазами отца. Опыт пользователя
habra.16
habrabot(difrex,1) — All
2016-11-22 18:00:05


![][1]
_[ncmares, deviantart][2]_

В интересное время мы живём. Весь мир опутан единой информационной сетью Интернет, в которой проводят львиную долю своего свободного времени как взрослые, так и дети. Стоп! Дети… Это что же, они смотрят то же самое, что и мы, взрослые?! Понятно, что мультики, котиков, простенькие игры, домашние задания. Но, мы ж смотрим не только это. И на вполне безобидный запрос «киска» порой получаем несколько иную киску, чем ожидает ребёнок. И это – одна из основных проблем единого информационного пространства, в котором вся информация в равной степени доступна практически всем подключившимся. И тут передо мной, как и перед любым ответственным родителем, встаёт вопрос о том, можно ли как-то оградить психику ребёнка от потока негатива и знаний, которые ему пока что рановаты.

Ещё совсем недавно всё было просто. Для доступа в сеть был лишь один (чаще всего) компьютер. Родительский. Дети же допускались к нему исключительно под присмотром, поэтому дозировать пребывание в сети, равно как и контролировать контент было довольно просто. Сейчас же времена изменились. Практически у каждого ребёнка есть свой собственный гаджет: смартфон или планшет. И порой родителям неведомо, что их чадо там смотрит.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/e26/4f8/e38/e264f8e380514d91ad1958c7b0859f93.png
[2]: http://ncmares.deviantart.com/art/Perfect-Organism-615249748
[3]: https://habrahabr.ru/post/315742/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Двойная аутентификация Вконтакте — секс или имитация?
habra.16
habrabot(difrex,1) — All
2016-11-22 19:00:04


Всем привет! Недавно решил протестировать аппаратный OTP токен с возможностью перепрошивки по NFC, подключив его к своей учетке в vk.com. При этом наткнулся на недоработки в системе двухфакторной аутентификации Вконтакте, которые показались мне довольно существенными. Хочу поделиться своими наблюдениями с вами, так как в самом VK ошибок не признали. Возможно, я немного параноик? Интересно, что скажете вы, хабровчане.


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

[1]: https://habrastorage.org/files/53e/cdf/c1e/53ecdfc1ee2e4d049a9e01067a400dd6.jpg
[2]: https://habrahabr.ru/post/315862/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Гренландский программист (cоздатель PHP): «Ненавижу программирование. Но я люблю решать проблемы»
habra.16
habrabot(difrex,1) — All
2016-11-22 19:00:04


Сегодня день рождения создателя PHP, [Расмуса Лердорфа][1] (дат. [Rasmus Lerdorf][2]). Хочу представить вашему вниманию несколько фактов из его биографии и парочку цитат, чтобы понять ход мысли и мировоззрение этого «программиста».

В 1994 году Расмус запилил набор скриптов на Perl/CGI, обрабатывающих шаблоны HTML-документов, позже воплотившийся в интерпретатор языка программирования PHP, с помощью которого можно было решать различные задачи веб-приложений.

![image][3]

_«Тот PHP который мы знаем сейчас — совсем не то, что я сделал в самом начале. Десятки, если не сотни людей принимали участие в разработке. Я был просто первым разработчиком.»_

_«PHP как зубная щетка. Вы пользуетесь ей каждый день, она выполняет свою работу, простой инструмент. Что вы хотите знать про зубные щетки?»_ [Читать дальше →][4]

[1]: https://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D1%80%D0%B4%D0%BE%D1%80%D1%84,_%D0%A0%D0%B0%D1%81%D0%BC%D1%83%D1%81
[2]: https://en.wikipedia.org/wiki/Rasmus_Lerdorf
[3]: https://habrastorage.org/getpro/habr/post_images/e36/4d8/041/e364d804197860b663a05ecee0701dcc.jpg
[4]: https://habrahabr.ru/post/315680/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] [ZeroNights2016] [CTFzone] Разбор полётов за 50
habra.16
habrabot(difrex,1) — All
2016-11-22 20:00:04


![][1]

Ну, что же, вот и завершился [ZeroNights 2016][2]. Хотелось бы поблагодарить организаторов данного мероприятия и всех её участников: за два дня прозвучало множество удивительных дайджестов, мы делали себе алкогольные коктейли, думали как взломать «умный дом», доказывали свой интеллект в викторинах и, разумеется, множество участников CTF попытались побороться за звания «лучших в своём деле» — одними из таких стали и мы. В связи с вышеизложенным, данный цикл статей посвятим врайтапу по CTFzone.
[Продолжение внутри][3]

[1]: https://habrastorage.org/files/a25/45e/3b0/a2545e3b056f48a1a133ae12207d5f90.jpg
[2]: https://2016.zeronights.ru/
[3]: https://habrahabr.ru/post/315876/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Глубокое обучение для новичков: тонкая настройка нейронной сети
habra.16
habrabot(difrex,1) — All
2016-11-23 04:00:04


## Введение


Представляем третью (и последнюю) статью в серии, задуманной, чтобы помочь быстро разобраться в технологии _глубокого обучения_; мы будем двигаться от базовых принципов к нетривиальным особенностям с целью получить достойную производительность на двух наборах данных: MNIST (классификация рукописных цифр) и CIFAR-10 (классификация небольших изображений по десяти классам: самолет, автомобиль, птица, кошка, олень, собака, лягушка, лошадь, корабль и грузовик).
[Читать дальше →][1]

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

[>] Учимся работать с asyncio+aiohttp: в Москве пройдет курс от Core-разработчика Python
habra.16
habrabot(difrex,1) — All
2016-11-23 06:00:03


[![][1]][2]

**17 и 18 декабря** в Москве пройдет двухдневный курс под названием «Обучение работе с asyncio+aiohttp». Его автор — core-разработчик Python, украинский программист Андрей Светлов (подробнее о нем можно почитать [здесь][3]). Андрей — один из ведущих мировых экспертов по Python и создатель авторского курса. Он никогда раньше не читал его в Москве, так что наше мероприятие — отличный шанс для всех, кто интересуется Python и асинхронной разработкой, получить новые знания и ответы на свои вопросы напрямую от создателя популярных инструментов.

Мы поговорили с Андреем о том, какие вопросы будут рассмотрены на курсе, кому он может быть полезен, и какие еще ресурсы Python-разработчикам следует изучить, чтобы повысить свой уровень. [Читать дальше →][4]

[1]: https://habrastorage.org/files/215/4ef/2ac/2154ef2ac48f418ba872c33631c1a456.png
[2]: https://habrahabr.ru/company/pt/blog/315818/
[3]: http://ain.ua/chelovek-kotoryj-pishet-python-kak-ukrainec-andrej-svetlov-stal-core-developerom-populyarnogo-yazyka-programmirovaniya
[4]: https://habrahabr.ru/post/315818/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] PDUG Meetup. SSDL для руководителей: как перевести команду на безопасную разработку и не выстрелить себе в ногу
habra.16
habrabot(difrex,1) — All
2016-11-23 06:00:03


[![][1]][2]

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

Так как же внедрить практики SSDL и не потерять контроль над ситуацией? Что делать самому и чему учить своих специалистов?

Обсудить эти и другие вопросы можно будет 25 ноября в Технологическом центре Microsoft, где состоится PDUG Meetup: SSDL for Management — встреча для руководителей R&D- и ИБ-подразделений, управляющих крупными проектами и командами разработки. [Читать дальше →][3]

[1]: https://habrastorage.org/files/84d/952/fb7/84d952fb78bb466db14da1ab3482695f.png
[2]: https://habrahabr.ru/company/pt/blog/315840/
[3]: https://habrahabr.ru/post/315840/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Международный конкурс для молодых исследователей и профессионалов в области ИБ
habra.16
habrabot(difrex,1) — All
2016-11-23 06:00:03


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

Поэтому, наш департамент образовательных инициатив Kaspersky Academy решил организовать международный конкурс [Talent Lab][1], цель которого — привлечь к решению проблем кибербезопасности как можно больше молодых специалистов из разных сфер. От вайтхетов и разработчиков мобильных приложений до специалистов в области коммуникаций, маркетинга и дизайна.

![image][2]

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

[1]: https://kas.pr/t1M7
[2]: https://habrastorage.org/files/0ba/8ec/403/0ba8ec403c9c401195deb98d2686652c.jpg
[3]: https://habrahabr.ru/post/315854/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [ZeroNights2016] [CTFzone] Без 100 грамм не разберёшься
habra.16
habrabot(difrex,1) — All
2016-11-23 09:00:04


![][1]

Продолжаем цикл статей, посвященный врайтапу по CTFzone, который проходил 17 и 18 ноября в рамках ZeroNights2016 под флагом Bi.Zone. В этот раз мы поговорим о заданиях, выполнение которых приносило по 100 очков в пользу реальных хакеров!
[Продолжение внутри][2]

[1]: https://habrastorage.org/files/a25/45e/3b0/a2545e3b056f48a1a133ae12207d5f90.jpg
[2]: https://habrahabr.ru/post/315898/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] LEGO MINDSTORMS Education EV3 в профориентации
habra.16
habrabot(difrex,1) — All
2016-11-23 12:30:04


![][1]
_изображение — roboconstructor.ru_

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

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

Способов быстро показать молодой и заинтересованной аудитории основы программирования и робототехники сейчас существует много. Все они стоят недорого, достаточно просты в освоении, дают уже через несколько часов понимание основ алгоритмов и концепций кибернетических устройств. Но в учебных классах легко столкнуться и с недостатками этих платформ – ограниченной износоустойчивостью (да и чего греха таить – «идиотоустойчивостью» тоже) макетных плат, не очень дружелюбными для детей 11-12 лет интерфейсами ПО, относительно небольшим элементом «игры».
[Читать дальше →][2]

[1]: https://habrastorage.org/files/da4/3df/626/da43df6268d74b69a6ee2c83dae5d79b.jpg
[2]: https://habrahabr.ru/post/315740/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Подборка полезных слайдов про Linux
habra.16
habrabot(difrex,1) — All
2016-11-23 13:00:03


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

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

[1]: https://habrahabr.ru/company/first/blog/310164/
[2]: https://habrastorage.org/files/9d3/aa9/f40/9d3aa9f4051b4f6588fae783f23ef5dc.png
[3]: https://habrahabr.ru/post/315754/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Виртуальное приватное облако: работа с CoreOS и RancherOS
habra.16
habrabot(difrex,1) — All
2016-11-23 13:30:05





Недавно мы добавили в сервис [«Виртуальное приватное облако»][1] новый образ с операционной системой [RancherOS][2] и обновили образ [CoreOS][3].



Эти операционные системы будут интересны пользователям, которым необходим инструмент для простого управления большим количеством приложений в контейнерах и использования различных систем кластеризации контейнеров — [Kubernetes][4], [Docker Swarm][5], [Apache Mesos][6] и других.


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

[1]: https://selectel.ru/services/vpc/
[2]: http://rancher.com/rancher-os/
[3]: https://coreos.com/
[4]: http://kubernetes.io/
[5]: https://docker.github.io/swarm/overview/
[6]: http://mesos.apache.org/
[7]: https://habrahabr.ru/post/315930/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Fedora 25. Новая надежда: Wayland, Storaged, поддержка Raspberry Pi…
habra.16
habrabot(difrex,1) — All
2016-11-23 14:30:04


![Fedora 25][1]

22 ноября Fedora опять зарелизилась. 25-й релиз, на мой взгляд, получился очень удачный:

* Замена старого сервера X.Org или X11 на Wayland. Поддержка сеанса на базе X11 сохранена в качестве опции
* UDisks2 заменён на Storaged, предоставляющий унифицированный D-Bus API для управления LVM2, iSCSI, Btrfs, BCache, LSM и ZRam
* Поддержка устройств Raspberry Pi 2 и 3
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/b1a/ad9/22a/b1aad922ad6151446b5aacff3ebdda8c.jpg
[2]: https://habrahabr.ru/post/315926/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как остановить отток людей с онлайн-курса и заодно попасть на хакатон
habra.16
habrabot(difrex,1) — All
2016-11-23 14:30:04


Онлайн-курсы, кроме своей удобности и доступности, славятся тем, что на них необычайно легко забивать, что с успехом и делают многие слушатели. Забивать слушателям случается по самым разным причинам — непонятен курс, пропущен дедлайн, не успел набрать баллы, вышел Fallout 4 – у всех свои оправдания. А вот у нас оправданий быть не может: если человек покидает курс, мир теряет потенциального разработчика или специалиста по анализу данных, а ещё киловатт-часы и затраченное нашим героем время.



Самая сложная задача здесь — определить, кто из пользователей убежит, а зная их, уже намного проще предотвратить потери: “предупрежден, значит вооружен”.



В конце статьи вы узнаете, как с помощью решения проблемы попасть на хакатон по анализу данных



![image][1]


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

[1]: https://pp.vk.me/c630523/v630523190/163d8/qnSEkuEvkV8.jpg
[2]: https://habrahabr.ru/post/315828/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Dart Developer Summit 2016: главные новости из мира Dart
habra.16
habrabot(difrex,1) — All
2016-11-23 14:30:04


![][1]



26-27 октября в Мюнхене прошел Dart Developer Summit. Он проводится компанией Google уже второй год подряд и неизменно собирает всех неравнодушных к молодому языку разработчиков.



Как вы, [возможно, знаете][2], команда Wrike активно использует в своем проекте Dart в связке с новым фреймворком Angular 2 (Dart).



На текущий момент в Wrike работает более 45 фронтенд-разработчиков, пишущих Dart, а количество строк кода уже перевалило за несколько сотен тысяч строк. И хотя конференция была рассчитана в большей степени на тех, кто либо начал пользоваться Dart и Angular 2 не так давно, либо пока только рассматривает Dart как возможную опцию, для нас было важно из первых уст узнать новости о развитии платформы, а также пообщаться с разработчиками языка лично.



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


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

[1]: https://habrastorage.org/files/d41/0e5/717/d410e571775842ca9047e1d568171552.jpg
[2]: https://youtu.be/TtLMHfvY2uM
[3]: https://habrahabr.ru/post/315768/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Релиз CLion 2016.3: улучшения поддержки C11, C++11 и C++14, изменения в работе с проектной моделью CMake и многое другое
habra.16
habrabot(difrex,1) — All
2016-11-23 19:00:06


Привет, Хабр! Год потихоньку подходит к концу, кто-то уже готовится к праздничным мероприятиям, а кто-то еще старается завершить все задуманное. А мы вот выпустили **третий за этот год релиз нашей кросс-платформенной IDE для разработки на C и C++**. Оглядываясь назад (и подводя итоги, как принято делать накануне нового года), нам кажется, что за 2016 год CLion существенно вырос и стал гораздо более зрелым:

* Как в плане языковой поддержки (variadic templates, auto-import и просто многочисленные исправления в части анализа кода),
* Так и в плане разнообразных возможностей, повышающих продуктивность разработки (новые опции кодогенерации, complete statement, рефакторинги в CMake),
* Новых языков (Python, Swift),
* Ну и, конечно, инструментов, сопутствующих разработке на C и C++ (удаленная отладка и отладка процессов, запущенных не из IDE на локальной машине, поддержка формата документации кода Doxygen, множество улучшений в работе с системами контроля версий).
Мы старались прислушиваться к нашим пользователям (насколько это было возможно) и ориентироваться на их запросы. Версия 2016.3 не стала исключением и принесла множество долгожданных улучшений:

* Помимо недостающих возможностей C++11, мы смогли, наконец, начать поддержку возможностей стандартов C++14 и C11.
* Переработанный подход к работе с проектной моделью CMake решил много сложностей, с которыми сталкивались наши пользователи (от невозможности изменить директорию, в которой запускается генерация CMake, до проблем с производительностью и потреблением памяти).
* Удаленная отладка возможна теперь и на платформе Windows.
* В редакторе появилась семантическая подсветка.
* Повышена производительность при повторной индексации проектов на базе Unreal Engine, а еще мы изучили текущее состояние стороннего плагина для генерации CMake для проектов на UE4 и написали об этом [целый отдельный пост][1].
* Множество других улучшений и изменений.

А теперь обо всем по порядку.

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

[1]: https://blog.jetbrains.com/clion/2016/10/clion-and-ue4/
[2]: https://habrahabr.ru/post/315962/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ASP.NET Core: Ваше первое приложение на Mac c использованием Visual Studio Code
habra.16
habrabot(difrex,1) — All
2016-11-23 19:00:06


Представляем вам последнюю статью из [цикла по разработке на ASP.NET Core][1]. В данной статье вы узнаете как можно написать свое первое приложение ASP.NET Core на Mac.

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

[1]: https://habrahabr.ru/search/?q=%5Bmsaspnetcore%5D&target_type=posts
[2]: https://habrastorage.org/files/c8b/eee/98d/c8beee98d3064d43904233c0489f46d0.jpg
[3]: https://habrahabr.ru/post/315780/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Техника тотального предрасчёта в алгоритме освещения для тайловой 2D игры
habra.16
habrabot(difrex,1) — All
2016-11-23 20:00:04


Привет! Моя последняя игра – изометрическая бродилка, одной из особенностью которой является «исследование» территории: изначально карта чёрная и игрок открывает этот «shadow war» по ходу игры. Причём видимость тайлов зависит не только от расстояния до персонажа, но и от окружения: клетки за непрозрачными стенами не видны, даже если подойти в упор, а, например, кустарник ухудшает видимость клеток за ним на 50%.

![image][1]

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

[1]: https://habrastorage.org/getpro/habr/post_images/5c2/ff7/02e/5c2ff702e7fb2ca479449e19d39ac7fc.png
[2]: https://habrahabr.ru/post/315970/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Защита виртуальных машин, размещенных в дата центре
habra.16
habrabot(difrex,1) — All
2016-11-24 02:00:03


![][1]


В век облачных технологий, когда у каждого пользователя есть собственное облако для хранения фотографий, а компании арендуют сервера для облачных вычислений, встает вопрос о конфиденциальности хранимой информации. И если пользователи для защиты хранимых данных могут обойтись доверием к облаку или использованием крипто контейнеров, то у компаний дела обстоят хуже. Так как в облака переносится не только хранилище данных, но и сами вычисления.
Особенно страдает защита виртуальных машин, так как в случае компрометации хоста, не составит труда получить доступ к ВМ. До недавнего времени ни один из гипервизоров будь то VMware, Xen, Hyper-V не предоставляли каких-либо значимых технологий по защите ВМ.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/e20/739/a3c/e20739a3c429493aaed59b56ef375191.jpg
[2]: https://habrahabr.ru/post/315972/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Марсоход, Координаты посадки
habra.16
habrabot(difrex,1) — All
2016-11-24 09:00:04


[![][1]][2]



В этой серии статей мы строим программное обеспечение марсохода в [соответствии со следующими спецификациями][3]. Это позволит применить нам на практике следующие подходы:


* Monolithic Repositories — **MonoRepo** _(Монолитные репозитории)_
* Command/Query Responsibility Segregation — **CQRS** _(Сегрегация ответственности на чтение и запись)_
* Event Sourcing — **ES** _(События как источник)_
* Test Driven Development — **TDD** _(Разработка через тестирование)_
**Оглавление**
[Марсоход, Введение][4]
[Марсоход, Инициализация][5]
[Марсоход, Посадка][6]
Марсоход, Координаты посадки


В предыдущих частях мы создали [пакет навигации][7], а в нем `LandRover` класс, который [валидирует входные параметры][8] для нашего первого способа использования:


> Марсоход должен будет сначала приземлиться в заданном положении. Положение состоит из координат (`X` и `Y`, являющихся целыми числами) и ориентации (строковое значение `north`, `east`, `west` или `south`).

Сегодня мы будем рефакторить `LandRover`:

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

[1]: https://habrastorage.org/files/147/222/882/1472228826b441d2b4bc5a64978d996f.png
[2]: https://habrahabr.ru/post/315684/
[3]: https://habrahabr.ru/post/314536/
[4]: https://habrahabr.ru/post/314536/
[5]: https://habrahabr.ru/post/314544/
[6]: https://habrahabr.ru/post/314958/
[7]: https://habrahabr.ru/post/314544/
[8]: https://habrahabr.ru/post/314958/
[9]: https://habrahabr.ru/post/315684/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] WebRTC: Делаем peer to peer игру на javascript
habra.16
habrabot(difrex,1) — All
2016-11-24 12:00:05


Недавно мне довелось поработать над прототипом видеочата. Это был отличный повод поближе познакомиться с концепциями WebRTC и опробовать их на практике. Как правило, когда говорят про WebRTC, подразумевают организацию аудио- и видеосвязи, но эта технология может применяться и для других интересных вещей. Я решил попробовать сделать peer-to-peer игру и поделиться опытом ее создания. Видео того что получилось и подробности реализации под катом.

![][1]

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

[1]: https://habrastorage.org/files/8f4/a22/330/8f4a223309db459695247a0d44ddb051.png
[2]: https://habrahabr.ru/post/315812/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Пишем простую программу захвата скриншотов
habra.16
habrabot(difrex,1) — All
2016-11-24 12:00:05


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

Не долго думая и имея под рукой Visual Studio 2015 конечно же создал новый C# проект т.к. это очень удобно и я уже делал ранее небольшие C# программы.
[Читать дальше →][1]

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

[>] Antidote — TOX клиент для iOS наконец-то стал доступен
habra.16
habrabot(difrex,1) — All
2016-11-24 16:30:04


![image][1]



Пару недель назад состоялось значимое событие в сфере безопасности — состоялся релиз клиента Antidote для мобильных устройств от Apple.

Как это происходило и какие перспективы — рассмотрим в посте.
Что интересно — автор данного приложения [dvor][2] _(так, что по сути это еще и качественное импортозамещение)_
[Читать дальше →][3]

[1]: https://habrastorage.org/files/c64/f59/6ea/c64f596eaacb4771b9021eee6e0c6eb6.PNG
[2]: https://habrahabr.ru/users/dvor/
[3]: https://habrahabr.ru/post/315850/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] CTFzone write-ups – First comes Forensics
habra.16
habrabot(difrex,1) — All
2016-11-24 18:00:04


![][1]

Прошло несколько дней после окончания CTFzone от компании BI.ZONE, а наши смартфоны до сих пор разрываются от уведомлений Telegram – чат с участниками битвы после конференции стал еще более оживленным. По отзывам игроков, многие задания CTFzone были очень нестандартными и действительно непростыми. Во время соревнования мы пообещали участникам, что, как только наши разработчики отоспятся и придут в себя, мы выложим райтапы для всех заданий в нашем блоге.

Начнем мы с направления Forensics, и в этой статье представляем вам решения на все таски – от задания на 50 до 1000. Мы знаем, что [hackzard][2] опередил нас и уже выложил райтапы к заданиям на 50 и 100, но с более крутыми тасками будет сложнее ;)
[Читать дальше →][3]

[1]: https://habrastorage.org/files/4cb/e22/f87/4cbe22f87a914e519e22fcf96b1b3a01.jpg
[2]: https://habrahabr.ru/users/hackzard/
[3]: https://habrahabr.ru/post/315954/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Задача коммивояжера методом Литтла на C++
habra.16
habrabot(difrex,1) — All
2016-11-24 18:30:05


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

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

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

[1]: https://habrastorage.org/files/ef4/c68/155/ef4c6815518d4d6aa5ea2073b56e8291.jpg
[2]: https://habrahabr.ru/post/316014/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Универсальный конструктор Auto
habra.16
habrabot(difrex,1) — All
2016-11-24 19:30:04


С приходом C++11 появилась возможность объявлять переменные с типом auto, а компилятор сам определил фактический тип переменной, на основе типа инициализируемого значения. Это удобно, когда мы хотим проинициализировать переменную тип которой слишком сложный, либо неизвестен, либо он нам не очень важен, либо просто для простоты.

Например:

auto f = [](){}; //указатель на функцию
auto r = foo(10); //тип возвращаемый функцией foo
for (auto i = 0; i < 10; i++){}
… и т.д. То есть в левой части равенства у нас автоматический тип auto, а в правой части значение четко определенного типа. А теперь представим, что у нас все наоборот:

int a = auto(10); [Читать дальше →][1]

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

[>] Релиз PyCharm 2016.3: Полная поддержка Python 3.6, улучшения в Python консоли, обозревателе переменных, и многое другое
habra.16
habrabot(difrex,1) — All
2016-11-24 23:00:05


Всем привет! Вчера мы выпустили новый PyCharm 2016.3, который уже [доступен для скачивания][1].
Этот релиз является последним крупным обновлением с новой функциональностью в 2016 году.

![][2]
С момента предыдущего релиза PyCharm прошло ровно 4 месяца. За это время PyCharm получил ряд новых полезных улучшений в инструментах для Python, Django, веб и научной разработки, которые, как всегда, тесно интегрированы и эффективно работают друг с другом. Сегодня мы рады рассказать, что же интересного и важного появилось в новой версии PyCharm.
[Читать дальше →][3]

[1]: http://www.jetbrains.com/pycharm/download
[2]: https://habrastorage.org/files/ee3/5c0/1fd/ee35c01fd9b4479495a59d1595b473c7.png
[3]: https://habrahabr.ru/post/316068/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Вышел Riot.js 3.0
habra.16
habrabot(difrex,1) — All
2016-11-25 06:30:04


![image][1]22 ноября года сиего [вышло обновление Riot.js][2] — минималистичной библиотеки для создания веб-интерфейсов. Как пишут её авторы на главной странице своего сайта, Riot.js — это «Simple and elegant component-based UI library». И она действительно очень простая и элегантная.

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

Для меня программирование и API различных популярных библиотек всегда было чем-то похожим на математику. На основе чего работает вся математика? На основе чистых и минималистичных формул, доведённых до совершенства. За время существования этой науки человечество смогло довести различные сложнейшие идеи до коротких и чистых выражений. И примерно тем же самым занимаются и хорошие библиотеки и фреймворки в мире программирования. Они предоставляют инженерам ПО простой и понятный API для решения проблем. Все мы знаем jQuery с его короткими и лаконичными методами для работы в браузере и её девиз "_write less, do more_". Или, скажем, многие знают о такой замечательной библиотеке, как [Sugar.js][3] для добавления разумной порции сахарка вашим глобальным объектам JavaScript. И Riot.js — в точности об этом же, только на тему веб-компонентов с учётом всех последних тенденций в эволюции веб-технологий. [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/8fb/ba8/96e/8fbba896e7b80a3de00130da980b07fb.png
[2]: http://riotjs.com/release-notes/#november-22-2016
[3]: https://sugarjs.com/
[4]: https://habrahabr.ru/post/316090/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Banana Pi — сервер резервного копирования
habra.16
habrabot(difrex,1) — All
2016-11-25 12:00:05


### Задача


Имеется три хоста. Два в домашней сети и один удалённый. Для резервного копирования требуется независимый бэкап-сервер, который можно подключить к прямо к домашней сети или разместить удалённо. Главная задача: делать регулярные бэкапы как домашних так и удалённых систем. Сервер должен быть максимально экономичным. Все хосты и бэкап-сервер используют операционную систему FreeBSD.

Легче всего в качестве сервера приспособить старый компьютер. Однако он должен дежурить круглосуточно и поэтому будет жрать много электроэнергии. Поэтому я обратил я свой взор на single board computers на ARM процессоре. Этот процессор поддерживается операционной системой FreeBSD.

![image][1]
Оптимальный выбор Banana Pi М1. Подходящий процессор и память. Можно подключить SATA диск. Параметры вполне удовлетворительные для бэкап-сервера, которому особо некуда торопиться.

В качестве программного решения выбран BackupPC. С ним всё хорошо за исключением одной вещи: архивы не шифруются. Для выгрузки копии архива в облако (а тем более в некошерный mail.ru) потребуется дополнительное шифрование. Но это отдельный вопрос не по этой теме. Для доступа к web-интерфейсу BackupPC требуется веб-сервер. В классической установке для BackupPC предлагается Apache. Но рука не поднимается на маленький Banana Pi громоздить такого монстра. Поэтому будет nginx.
[Читать дальше →][2]

[1]: http://travel.gryff.com/wp-content/uploads/2016/11/bpi.jpg
[2]: https://habrahabr.ru/post/316102/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Нескучный однострочный калькулятор на sed
habra.16
habrabot(difrex,1) — All
2016-11-25 13:00:04


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

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

[>] За гранью хакерских возможностей
habra.16
habrabot(difrex,1) — All
2016-11-25 15:00:04


![image][1]

Сегодня, 25 ноября 2016 г. в 21:00 (МСК), будет запущена новая, 10-я по счету лаборатория тестирования на проникновение в которой примут участие специалисты по информационной безопасности со всего мира.

Лаборатория представляет копию современной корпоративной сети компании, занимающейся разработкой Security продуктов. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/693/d1f/ceb/693d1fceb48755e39f0f864c9c1f833d.png
[2]: https://habrahabr.ru/post/314686/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Клон Trello на Phoenix и React. Части 10-12. Финиш долгостроя
habra.16
habrabot(difrex,1) — All
2016-11-25 15:00:04


![][1]




**Оглавление (текущий материал выделен)**
1. [Введение и выбор стека технологий][2]
2. [Начальная настройка проекта Phoenix Framework][3]
3. [Модель User и JWT-аутентификация][4]
4. [Front-end для регистрации на React и Redux][5]
5. [Начальное заполнение базы данных и контроллер для входа в приложение][6]
6. [Аутентификация на front-end на React и Redux][7]
7. [Настраиваем сокеты и каналы][8]
8. [Выводим список и создаём новые доски][9]
9. [Добавляем новых пользователей досок][10]
10. **Отслеживаем подключённых пользователей досок**
11. **Добавляем списки и карточки**
12. **Выкладываем проект на Heroku**


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

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

[1]: https://habrastorage.org/files/86e/e8d/293/86ee8d2930024c60a834695276f5de15.jpg
[2]: https://habrahabr.ru/post/308056/#1
[3]: https://habrahabr.ru/post/308056/#2
[4]: https://habrahabr.ru/post/308056/#3
[5]: https://habrahabr.ru/post/308100/#4
[6]: https://habrahabr.ru/post/308100/#5
[7]: https://habrahabr.ru/post/308248/#6
[8]: https://habrahabr.ru/post/308248/#7
[9]: https://habrahabr.ru/post/308382/#8
[10]: https://habrahabr.ru/post/308382/#9
[11]: https://habrahabr.ru/post/316108/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Головоломки TCP
habra.16
habrabot(difrex,1) — All
2016-11-25 16:30:04


![][1]


Говорят, что нельзя полностью понять систему, пока не поймёшь её сбои. Ещё будучи студентом я ради забавы написал реализацию TCP, а потом несколько лет проработал в IT, но до сих пор продолжаю глубже и глубже изучать работу TCP — и его ошибки. Самое удивительное, что некоторые из этих ошибок проявляются в базовых вещах. И они неочевидны. В этой статье я преподнесу их как головоломки, в стиле [Car Talk][2] или [старых головоломок Java][3]. Как и любые другие хорошие головоломки, их очень просто воспроизвести, но решения обычно удивляют. И вместо того, чтобы фокусировать наше внимание на загадочных подробностях, эти головоломки помогают изучить некоторые глубинные принципы работы TCP.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/1c0/ac2/6fe/1c0ac26feba04897addf31831cc60ea4.jpg
[2]: http://www.cartalk.com/content/puzzlers
[3]: https://www.youtube.com/watch?v=wbp-3BJWsU8
[4]: https://habrahabr.ru/post/316128/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Как протестировать наследство без боли и страха
habra.16
habrabot(difrex,1) — All
2016-11-25 17:00:04


![image][1]

Вы получили или пришли на проект, которому _d+_дцать лет? PHP код был написан в перерывах между охотой на мамонтов и поэтому слегка не читаем? Вам предстоит это как минимум сапортить, как максимум — рефакторить или переписывать?

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

[1]: http://blog.adacore.com/uploads/_2400x1200_crop_center-center/punch_cards.jpg
[2]: https://habrahabr.ru/post/316140/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Linux WiFi из командной строки с wpa_supplicant
habra.16
habrabot(difrex,1) — All
2016-11-25 19:00:04


В этой статье я расскажу, как можно настроить WiFi с помощью _wpa\_supplicant_, без всяких Xorg/X11 утилит. Это необходимо для того, чтобы базовые службы ОС исправно работали с минимальным набором технических средств удаленного доступа. Программа будет исполняться как служба, настройки сделаны правкой конфиг файлов.



По-быстрому, установить соединение с открытой точкой доступа можно таким образом.


[root@home ~]$ wpa_cli
> add_network
> set_network 0 ssid "MYSSID"
> set_network 0 key_mgmt NONE
> enable_network 0

Если же надо всерьез и надолго, то прошу внутрь.

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

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

[>] [Из песочницы] Поднимаем собственный репозиторий пакетов для Ubuntu (Debian)
habra.16
habrabot(difrex,1) — All
2016-11-25 22:30:04


В жизни любого развивающегося проекта рано или поздно (и лучше рано) наступает момент, когда эксплуатация многозначительно смотрит на разработку и предлагает оформить отношения. Дальнейшее развитие событий, как водится, зависит от обеих сторон. О плохом сегодня не будем, рассмотрим сразу случай, когда разработка готова использовать нехитрый инструментарий сборки пакетов, подготовленный для нее эксплуатацией (шаблоны debian/rules и debian/control, команды fakeroot, debuild, и так далее). Осталась самая малость: поднять для собранных пакетов собственный репозиторий.



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

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

[1]: http://l10n-russian.alioth.debian.org/repository-howto.ru.html
[2]: https://habrahabr.ru/post/225825/
[3]: https://habrahabr.ru/post/316158/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 47: закладки в Android, безопасность Wi-Fi, уязвимость NTP
habra.16
habrabot(difrex,1) — All
2016-11-26 17:00:04


![][1]В прошлом выпуске я [писал][2] о том, что Apple, похоже, по умолчанию шлет информацию об истории телефонных звонков в iCloud, и отключить это возможно только полностью заблокировав облачный бэкап. За неделю это была не единственная новость на тему: отличился и разработчик устройств на базе Android. Исследователи из компании Anubis Networks обнаружили ([новость][3], [исследование][4]) в китайских смартфонах OEM-компании Ragentek механизм, который по ряду параметров может быть квалифицирован как бэкдор.

Речь идет о схеме обновления прошивки: программный модуль имеет в смартфонах этого производителя права рута, регулярно запрашивает серверы производителя, и может загружать и устанавливать с них обновления. Вроде бы все неплохо, но есть два «но». Во-первых, все коммуникации ведутся по HTTP, что делает смартфоны уязвимыми для атак типа man-in-the-middle с возможностью выполнения произвольного кода. Во-вторых, из трех зашитых в модуль доменов два разработчики софта просто забыли зарегистрировать — они так и были бы в свободном доступе, но исследователи из Anubis не зарегистрировали их на себя. Мониторинг подключений к доменам позволил оценить примерное количество уязвимых устройств: под три миллиона.

Чуть раньше, 15 ноября, в New York Times со ссылкой на исследовательскую группу Kryptowire [рассказали][5] о том, что в ряде Android-устройств производителя BLU Products установлен мониторинговый модуль рекламной сети Adups, высылающий «куда-то в Китай» подробную информацию о пользователе, включая «историю звонков, тексты сообщений» и прочее. Тогда производитель объяснил проблему досадной ошибкой, и выпустил патч. Проходит неделя, и выясняется, что смартфоны BLU подвержены еще и проблеме с загрузчиком обновлений.
[Совпадение?][6]

[1]: https://habrastorage.org/files/015/4d7/ab4/0154d7ab45d34987b95fe5d30c5a4379.png
[2]: https://habrahabr.ru/company/kaspersky/blog/315610/
[3]: https://threatpost.ru/backdoor-found-in-firmware-of-some-android-devices/19264/
[4]: http://blog.anubisnetworks.com/blog/ragentek-android-ota-update-mechanism-vulnerable-to-mitm-attack
[5]: http://www.nytimes.com/2016/11/16/us/politics/china-phones-software-security.html?_r=0
[6]: https://habrahabr.ru/post/316174/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 ... 210