RSS
Pages: 1 ... 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 ... 133
[>] [Перевод] Обучаемся самостоятельно: подборка видеокурсов по 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

[>] CTFzone write-ups – Going 300, going 500, OSINT sold
habra.16
habrabot(difrex,1) — All
2016-11-26 20:00:04


![image][1]



Друзья, спасибо за проявленную активность в чате и по ссылке с заданиями – ваши заинтересованность и увлеченность мотивируют нас работать по 25 часов в сутки, и это не предел! В связи с увеличением нашего светового дня мы уже готовы представить вам следующую партию райтапов – на этот раз мы рассмотрим ветку **OSINT**.



Судя по количеству решенных заданий, данное направление оказалось довольно сложным и требовало проявления максимума изобретательности. Примечателен тот факт, что задание на 500 решили всего два человека, а с таском на 1000 справился только один участник. Поэтому в этой статье мы опубликуем решения только на два задания – на 300 и на 500 очков, а райтап на 1000 будет несколько позже в отдельном посте. Следите за обновлениями ;)


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

[1]: https://habrastorage.org/files/1ad/de3/f4c/1adde3f4c7ab480194fb548e6abfa037.jpg
[2]: https://habrahabr.ru/post/316166/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Телевидение через Acestream на Raspberry PI. Теперь в docker контейнерах
habra.16
habrabot(difrex,1) — All
2016-11-27 12:30:03


На хабре уже неоднократно упоминался AceStream: технология, предоставляющая пользователю доступ к видеопотокам по закрытому P2P протоколу AceStream, т.н. torrent телевидение. AceStream предоставляет доступ к распределенной сети доставки контента, т.е. просматривая телеканал пользователь передает данные другим пользователям, что позволяет кардинально снизить стоимость услуг.



А теперь хорошая новость для обладателей медиаплеера на основе raspberry (OSMC, LibreELEC): нашлась [**сборка acestream под arm**][1], что позволило установить его прямо на raspberry pi. В этой статье предлагается инструкция по установке acestream, и всего необходимого для просмотра ТВ в докер-контейнерах под raspberry. На момент написания статьи, предлагаемое решение позволяет смотреть бесплатно большое количество телеканалов, впрочем без гарантий: acestream в любой момент может перестать быть бесплатным.



![kodi live tv channels list screenshot][2]

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

[1]: https://dl.bintray.com/pipplware/dists/unstable/armv7/misc/acestream_rpi_3.1.5.tar.gz
[2]: https://habrastorage.org/files/585/8cb/2c1/5858cb2c1082454e88a849117e26d113.png
[3]: https://habrahabr.ru/post/316208/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] msvcore – c++, кроссплатформенная библиотека, велосипед и 12 лет разработки
habra.16
habrabot(difrex,1) — All
2016-11-27 15:00:03


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

Msvcore – это кроссплатформенная библиотека для c++, написанная с нуля по принципам оптимальности, открытости и простоты. По крайней мере, это закладывалось как базовая идея. Что получилось в итоге…
[Читать дальше →][1]

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

[>] [Перевод] Я смог и вы сможете: делаем RPG на JavaScript
habra.16
habrabot(difrex,1) — All
2016-11-27 15:30:03


![image][1]

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

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

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

Имейте в виду, что я новичок (всего 2 месяца в программировании), поэтому некоторые мои решения можно улучшить. Я же постараюсь дать вам основы, с которых можно начать.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/ccf/3c9/883/ccf3c9883e3889c33539ef371c0995b1.png
[2]: https://habrahabr.ru/post/316072/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Создание и тестирование Firewall в Linux, Часть 1.3. Написание char device. Добавление виртуальной файловой системы…
habra.16
habrabot(difrex,1) — All
2016-11-27 16:00:04


**Содержание первой части:**

[ **1\.1** — Создание виртуальной лаборатории (чтобы нам было где работать, я покажу как создать виртуальную сеть на вашем компьютере. Сеть будет состоять из 3х машин Linux ubuntu).][1]
[**1\.2** – Написание простого модуля в Linux. Введение в Netfilter и перехват трафика с его помощью. Объединяем все вместе, тестируем.][2]
** **1\.3** – Написание простого char device. Добавление виртуальной файловой системы — sysfs. Написание user interface. Объединяем все вместе, тестируем. **

**Содержание второй части:**
**Скрытый текст**
**2\.1** — Введение во вторую часть. Смотрим на сеть и протоколы. Wireshark.
**2\.2** — Таблицы Firewall. Transport Layer. Структуры TCP, UDP. Расширяем Firewall.
**2\.3** — Расширяем функциональность. Обарабатываем данные в user space. libnetfilter\_queue.
**2\.4** — (\*Опиционально) Изучаем реальную Buffer Overflow атаку и предотвращаем с помощью нашего Firewall'а.

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

[1]: https://habrahabr.ru/post/315340/
[2]: https://habrahabr.ru/post/315350/
[3]: https://habrahabr.ru/post/315454/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Рефакторинг — это не задача в Backlog
habra.16
habrabot(difrex,1) — All
2016-11-27 19:30:05


Некоторое время назад было достаточно много шума в Интернете и вопросов на конференциях по поводу того, являются ли задачи по рефакторингу кода такого же рода задачами, как и все остальные, с необходимостью описывать их, помещать в Backlog, а затем перемещать в новый спринт. Я считаю что это плохой идеей, даже в случае непомерно разросшегося «технического долга» проекта. И вот почему:
![image][1]
Когда начинается новый проект — его код чист и прекрасен. Самое время проектировать красивые абстракции, писать хорошие интерфейсы и профессиональные реализации. Жизнь прекрасна! Наш проект тоже.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/ed2/9af/e40/ed29afe40af7821e2a2cd9f395ad313a.jpg
[2]: https://habrahabr.ru/post/316236/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Склад мемов или Бот для Telegram — Часть 1
habra.16
habrabot(difrex,1) — All
2016-11-27 20:30:03


Здравствуйте, уважаемые хабравчане!

В этой статье для новичков, я покажу вам, как легко и просто создать своего бота для Telegram. Писать будем на языке C#. Бот будет коллекционировать картинки, и выдавать их по первому требованию пользователя. Мой вариант бота будет хранить картинки мемов и название у него будет соответствующее.

Кому стало интересно, прошу пожаловать под кат.
![][1]
[Читать дальше →][2]

[1]: https://habrastorage.org/files/f58/ebf/f70/f58ebff707514c21a8ed7e33a4f82cec.jpg
[2]: https://habrahabr.ru/post/316222/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] 7 самых неприятных проблем в программировании
habra.16
habrabot(difrex,1) — All
2016-11-27 22:30:06


![image][1]


Известно, что на старых картах, на неизведанных территориях, часто помещали зловещее предупреждение: «Здесь живут драконы». [Вероятно][2], смысл этого предупреждения состоял в том, что не стоит входить в это пространство мира, не будучи готовыми сражаться с внушающим ужас противником. Всё что угодно может случиться на этих загадочных просторах, и нередко такое «что угодно» может закончиться очень плохо.

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

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

Вот семь из устрашающих уголков мира программирования, на которых легко можно написать: «Здесь живут драконы».
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/83b/dd5/ad7/83bdd5ad713d1894490a16e0286a2516.jpg
[2]: http://www.theatlantic.com/technology/archive/2013/12/no-old-maps-actually-say-here-be-dragons/282267/
[3]: https://habrahabr.ru/post/316150/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Объединяем Code Coverage от PHPUnit и phpspec
habra.16
habrabot(difrex,1) — All
2016-11-27 23:00:03


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

![][1]

Стремиться к стопроцентному покрытию кода нет никакого смысла, однако понимать в среднем какой процент кода покрыт вашими тестами — хорошая метрика при непрерывном интегрировании.

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

![image][2]

Но что делать, если вы используете несколько библиотек для тестирования? Как получить общее покрытие кода?
[Читать дальше →][3]

[1]: https://habrastorage.org/files/fe9/e45/d8b/fe9e45d8b9cc48468ba4b11a31571f96.png
[2]: https://habrastorage.org/files/aad/ee9/3e5/aadee93e52b0447e8b4dd04d9a3c5164.png
[3]: https://habrahabr.ru/post/316210/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] О квантовой криптографии. Протоколы E91 & Lo05
habra.16
habrabot(difrex,1) — All
2016-11-28 02:00:02


Доброе время суток, Хабражители! Как и обещал в[ первой статье][1], расскажу о протоколах E91 и Lo05.


### E91



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


Это протокол был разработан Артуром Экертом в 1991 году. Так же он имеет название EPR (Einstein-Podolsky-Rosen) так как он основан на [парадоксе Эйнштейна-Подольского-Розена][2].

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

[1]: https://habrahabr.ru/post/315032/
[2]: https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80%D0%B0%D0%B4%D0%BE%D0%BA%D1%81_%D0%AD%D0%B9%D0%BD%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0_%E2%80%94_%D0%9F%D0%BE%D0%B4%D0%BE%D0%BB%D1%8C%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%E2%80%94_%D0%A0%D0%BE%D0%B7%D0%B5%D0%BD%D0%B0
[3]: https://habrahabr.ru/post/316252/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Информационная безопасность АСУ ТП: Дон Кихот в эру кибероружия
habra.16
habrabot(difrex,1) — All
2016-11-28 04:30:05


![][1]
В данной статье проведена систематизация требований к информационной безопасности (ИБ) АСУ ТП. Требования выбраны из доступных на настоящий момент стандартов, в первую очередь, из [NIST SP 800-82 «Guide to Industrial Control Systems (ICS) Security»][2] и разрабатываемой новой редакции серии [ISA/IEC 62443 «Security for Industrial Automation and Control Systems»][3].

АСУ ТП взаимодействуют с объектами физического мира и обеспечивают защиту от аварий и катастроф. В англоязычной литературе АСУ ТП называют Industrial Control Systems (ICS) или Industrial Automation and Control Systems (IACS). В мире IT технологий их можно сравнить с Дон Кихотом, который остался верен простым, но не очень модным принципам в уже давно изменившемся мире.

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

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

[1]: https://habrastorage.org/files/a56/654/07d/a5665407dc0c481ebbec61fca0fbc4a0.jpg
[2]: http://dx.doi.org/10.6028/NIST.SP.800-82r2
[3]: http://isa99.isa.org/Public/Forms/AllItems.aspx?RootFolder=%2fPublic%2fDocuments&FolderCTID=&View=%7b476E9791-A24B-4521-9B5D-AC0B10F560B0%7d
[4]: https://habrahabr.ru/post/316184/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 ... 133