RSS
Pages: 1 ... 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 ... 133
[>] [Перевод] Марсоход, Инициализация
habra.16
habrabot(difrex,1) — All
2016-11-11 13:00:04


[![][1]][2]

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

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

Cначала нам нужно инициализировать наш проект. [Читать дальше →][5]

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

[>] Freeform распознавание речи в реальном времени и распознавание записей звонков
habra.16
habrabot(difrex,1) — All
2016-11-11 13:00:04


![][1]


Мы уже [писали][2] про возможность создания сценариев с распознаванием речи, но тогда функционал данной системы был несколько ограничен. Не так давно компания Google [предоставила возможность][3] использовать свои возможности распознавания речи и мы, конечно же, этим воспользовались. Многие компании реализуют разные сценария взаимодействия со своими клиентами с помощью Voximplant и автоматизация этого взаимодействия с помощью распознавания речи или уменьшение издержек на поиск и фильтрацию определенных записей с определенным контентом всегда остаются важными задачами для бизнеса. Далее мы подробно расскажем про несколько основных кейсов, ради которых делали интеграцию, и про проблемы, с которыми столкнулись в процессе, а также приведем несколько примеров использования нового функционала.
[Попробовать демо и почитать, как оно сделано][4]

[1]: https://habrastorage.org/files/5f7/f2e/4c3/5f7f2e4c3fc449519640b571e831927d.jpg
[2]: https://habrahabr.ru/company/Voximplant/blog/231319/
[3]: https://9to5google.com/2016/07/20/google-natural-language-speech-api-beta/
[4]: https://habrahabr.ru/post/310684/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Конкурс на ZeroNights 2016 от Mail.Ru Group
habra.16
habrabot(difrex,1) — All
2016-11-11 13:30:04


![][1]

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

[1]: https://habrastorage.org/files/d92/586/caf/d92586cafcd146a2b1ab48f3ef9498fb.png
[2]: https://2016.zeronights.ru/
[3]: https://habrahabr.ru/post/314976/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] TDD не работает
habra.16
habrabot(difrex,1) — All
2016-11-11 14:30:04


![][1]



TDD не работает.



_Правда? Странно. У меня всегда работал хорошо._



А вот [новое исследование][2] говорит об обратном.



_Новое исследование?_



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



_Авторы считают его убедительным?_



Авторы рекомендуют проводить новые исследования. Но они скорее всего просто скромничают. Результаты довольно убедительные.



_Какие результаты?_

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

[1]: https://habrastorage.org/files/3fb/80f/92f/3fb80f92f74b4668b1756310a80e631d.jpeg
[2]: http://people.brunel.ac.uk/~csstmms/FucciEtAl_ESEM2016.pdf
[3]: https://habrahabr.ru/post/314994/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Прокси-сервер с помощью Tor. Основа для многопоточного парсинга
habra.16
habrabot(difrex,1) — All
2016-11-11 15:30:04


Всем привет! На днях прилетела интересная задача: «Найти бесплатные прокси-сервера». Взявшись за нее, решил обойти все сайты свободных проксей и понял — дохлые… ну или с высоким пингом.

После нескольких часов безуспешных поисков, было принято решение использовать свои ресурсы!

Итак, что в итоге должно получиться:

**1\.** VM Ubuntu/Debian 2 CPU, 2GB RAM, 8GB HDD (ну тоесть совсем не требовательная)
**2\.** PRIVOXY для проксирования запросов (Можно взять nginx, varnish — я взял Privoxy)
**3\.** TOR сервер
[Читать дальше →][1]

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

[>] [Из песочницы] Salt за 10 минут
habra.16
habrabot(difrex,1) — All
2016-11-11 17:00:05


**SaltStack** — cистема управления конфигурациями и удалённого выполнения операций.
В данный момент изучаю данную систему и раз уж есть такая возможность решил попереводить статьи с официального сайта и повыкладывать здесь пока хватит энтузиазма. Т.к. у нас в организации используется в основном Red Hat и Centos, переводить буду части касающиеся этих операционных систем.

Данная статья представляет собой перевод официальной документации. Внизу страницы вы найдете ссылку на первоисточник на англ. языке.
[Читать дальше →][1]

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

[>] [Перевод] Думаешь ты знаешь Си?
habra.16
habrabot(difrex,1) — All
2016-11-11 17:30:04


![image][1]


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

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

Если вы думаете что он прост — пройдите этот тест. В нем всего 5 вопросов. Каждый вопрос в принципе одинаковый: какое будет значение возврата?
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/490/1cc/b53/4901ccb53eb3cfd5eeefb23a11dea02a.jpg
[2]: https://habrahabr.ru/post/315016/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Приглашаем на онлайн-конференцию GeekWeek 2016
habra.16
habrabot(difrex,1) — All
2016-11-11 19:00:04


![][1]


Профессионалами (а особенно IT-профессионалами) не рождаются. Это значит, что необходимо постоянно учиться и развиваться сразу во многих направлениях. Именно поэтому мы совместно с образовательным порталом [GeekBrains.ru][2] организуем онлайн-конференцию [GeekWeek 2016][3]. И приглашаем всех, кто интересуется сферой информационных технологий или хочет попробовать себя в различных направлениях программирования, веб-дизайна и интернет-маркетинга.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/81d/8a1/165/81d8a1165045415cab47641a51fe2d9d.jpg
[2]: https://geekbrains.ru/
[3]: https://geekweekconf.com/
[4]: https://habrahabr.ru/post/315034/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Немного о квантовой криптографии
habra.16
habrabot(difrex,1) — All
2016-11-11 19:30:03


> _Квантовые компьютеры и связанные с ними технологии в последнее время становятся все актуальнее. Исследования в этой области не прекращаются вот уже десятилетия, и ряд революционных достижений налицо. Квантовая криптография — одно из них._
> © Владимир Красавин «Квантовая криптография»


Данная статья является прологом к циклу статей и переводов по теме Квантовая криптография.

Действительно в последнее время все чаще мы слышим такие понятия как «Квантовый компьютер», «Квантовые вычисления» и конечно же «Квантовая криптография».

И если с первыми двумя понятиями в принципе всё понятно, то «Квантовая криптография» — понятие, которое хоть и имеет точную формулировку, до сих пор остается для большинства людей темным и не совсем понятным этакий Ёжик в тумане.
[Читать дальше →][1]

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

[>] CTF от Bi.Zone на ZeroNights2016
habra.16
habrabot(difrex,1) — All
2016-11-11 19:30:03


### Capture Your Chance – регистрация на CTFzone от BI.ZONE объявляется открытой.


![][1]

«Форензика вся? Где дескрипшн реверса на 100? Почему опять лагает регистрация?!» — в двадцатых числах октября подобные возгласы слышались с утра до вечера. Бессонные ночи, несколько чашек кофе каждое утро, стопки коробок из-под пиццы и пирамиды пустых банок энергетиков – так выглядела жизнь разработчиков компании BI.ZONE последние несколько месяцев. Никто не жалел себя, чтобы подготовить интереснейший ивент, проводимый в рамках международной конференции по кибербезопасности ZERONIGHTS 2016 – соревнование Capture the Flag (CTF) от компании BI.ZONE.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/ca7/1a0/396/ca71a0396d6f487199256004197cd44a.jpg
[2]: https://habrahabr.ru/post/315026/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Думаешь, ты знаешь Си?
habra.16
habrabot(difrex,1) — All
2016-11-11 20:00:03


![image][1]


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

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

Если вы думаете что он прост — пройдите этот тест. В нем всего 5 вопросов. Каждый вопрос в принципе одинаковый: какое будет значение возврата?
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/490/1cc/b53/4901ccb53eb3cfd5eeefb23a11dea02a.jpg
[2]: https://habrahabr.ru/post/315016/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 45: обход двухфакторной авторизации в OWA, перехват аккаунтов GMail, уязвимость в OpenSSL
habra.16
habrabot(difrex,1) — All
2016-11-12 02:30:03


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

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

Понятно, что атака имеет крайне ограниченную сферу применения: против реальных почтовых ящиков она возможна только в случае, если каким-то образом заставить владельца деактивировать аккаунт. Второй вариант: жертва заблокировала ваш почтовый ящик, в таком случае начинают присылаться аналогичные сообщения. Как бы то ни было, можно только отправлять письма от имени жертвы, но не получать их. Исследователю удалось прикрутить к своей почте несуществующие адреса с красивыми именами типа gmail@gmail.com. Естественно, на момент публикации исследования, лазейка уже была закрыта.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/673/aeb/568/673aeb56825c49158a8b4c31dc37adbb.jpg
[2]: https://threatpost.com/clever-gmail-hack-let-attackers-take-over-accounts/121818/
[3]: http://blog.securityfuse.com/2016/11/gmail-account-hijacking-vulnerability.html
[4]: https://habrahabr.ru/post/315052/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Gentoo — это возможность выбора
habra.16
habrabot(difrex,1) — All
2016-11-12 11:00:03


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


![][1]


Ладно, потерпите немного, я собираюсь поговорить о `systemd`. Это не пост о `systemd`, но без упоминания о нем, это сообщение скорее всего не будет заслуживать внимания. Так что, давайте поговорим о том, почему я поднимаю эту тему.

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

[1]: https://habrastorage.org/files/471/d07/322/471d0732254d43668d5f90e82327d225.jpg
[2]: https://habrahabr.ru/post/315048/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Принимая PHP всерьёз
habra.16
habrabot(difrex,1) — All
2016-11-12 13:00:04


![image][1]
Ракета Союз, доставленная на поезде на пусковую площадку. Фото из общественного достояния NASA.

_Это перевод статьи [Taking PHP Seriously][2], автор которой является одним из инженеров известного приложения Slack. Он рассказывает о недостатках и преимуществах PHP, а также о языке [Hack][3] и виртуальной машине [HHVM][4], на которую почти завершил переход Slack._

Slack использует PHP для большей части своей серверной логики, что является не самым популярным выбором в наши дни. Почему же мы решили написать новый проект именно на этом языке? Следует ли вам поступать также?

Большинство программистов, которые немного игрались с PHP, знают две вещи про него: это плохой язык, который они никогда не станут использовать при наличии выбора, и что некоторые из чрезвычайно успешных проектов в истории мира используют его. Это не совсем противоречие, но этот факт должен заставить вас задуматься. То есть, Facebook, Wikipedia, Wordpress, Etsy, Baidu, Box и в последнее время Slack — все они успешно решают проблемы, не смотря на то, что используют PHP? Были ли бы они более успешными, если бы они использовали у себя Ruby? Erlang? Haskell?

Вполне возможно, что нет. [Читать дальше →][5]

[1]: https://habrastorage.org/getpro/habr/post_images/262/bb4/f50/262bb4f506e1cdcfc397149d9a9ef6f7.jpg
[2]: https://slack.engineering/taking-php-seriously-cf7a60065329#.v0vmkde83
[3]: http://hacklang.org/
[4]: http://hhvm.com/
[5]: https://habrahabr.ru/post/314970/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Установка salt-master, salt-minion на RHEL / CENTOS
habra.16
habrabot(difrex,1) — All
2016-11-12 15:30:04


![SaltStack][1]



### Установка


Установку salt-master и salt-minion будем делать из официального репозитория SaltStack.

sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm
> **Внимание!** При установке на Red Hat Enterprise Linux 7 с отключенными (не подписанными на) 'RHEL Server Releases' или 'RHEL Server Optional Channel' репозиториями, добавьте CentOS 7 GPG key URL к конфигурации yum репозитория SaltStack для установки базовых пакетов. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/3d9/3e6/595/3d93e65951a1d87910fdbe9d8dca3c26.png
[2]: https://habrahabr.ru/post/315054/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Конфигурация Salt
habra.16
habrabot(difrex,1) — All
2016-11-12 15:30:04


![image][1]



После успешной установки необходимых пакетов SaltStack приступаем к настройке.
Установка описана [здесь][2].


### Конфигурация Salt


Конфигурация Salt очень проста. Дефолтная конфигурация Мастера будет работать в большинстве установок и единственное требование для настройки Миньона установить местоположение Мастера в конфигурационном файле.

Конфигурационные файлы будут установлены в **/etc/salt** и названы в честь соответствующих компонент, **/etc/salt/master** и **/etc/salt/minion**.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/3d9/3e6/595/3d93e65951a1d87910fdbe9d8dca3c26.png
[2]: https://habrahabr.ru/post/315054/
[3]: https://habrahabr.ru/post/315056/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Шишки и грабли Android-разработчика за 2 года
habra.16
habrabot(difrex,1) — All
2016-11-12 16:30:04


![image][1]

Я ясно помню тот день в далеком 2014 году, когда я решил заняться программирование под Android. Это оказалось лучшим решением, которое я принял в моей жизни. Уже прошло почти два с половиной года, и за это время у меня возможность кое-чему научиться.

Когда я только начал, я не знал никого, кто мог бы научить меня, показать, как правильно нужно делать. И я совершил МНОЖЕСТВО ошибок, в так же потратил кучу времени на то, чтобы потом их исправить.

Полтора года спустя, мне выпал шанс поработать с очень талантливыми и опытными Android-разработчиками, которые направляли меня и помогли мне привести все в порядок. Эти две составляющие научили меня многому. Я понял, что надо ДЕЛАТЬ, а самое главное, что НЕ НАДО.

И уже какое-то время я, как могу, стараюсь помогать другим разработчикам — прямо или косвенно. Вот мои профили: [StackOverflow][2] и [Github][3].

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

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

[1]: https://habrastorage.org/getpro/habr/post_images/912/7c2/953/9127c295316fd2a226766ace12391e84.jpg
[2]: http://stackoverflow.com/users/2858654/aritra-roy
[3]: https://github.com/aritraroy
[4]: https://habrahabr.ru/post/315070/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Установка PROXMOX 4.3 на Soft-RAID 10 GPT
habra.16
habrabot(difrex,1) — All
2016-11-12 19:00:03


Добрый день, друзья. Сегодня я бы хотел поделиться своим личным опытом по настройке Proxmox на soft-Raid 10.

**Что имеем:**
* Сервер HP ProLiant DL120 G6 (10 GB ОЗУ)
* 4x1000Gb SATA винчестера – без физического RAID контроллера на борту
* Флешка с PROXMOX 4.3 (об этом ниже)
**Что хотим:**
* Получить инсталляцию PROXMOX 4.3 установленную полностью на S-RAID 10 GPT, что бы при отказе любого диска система продолжала работу.
* Получить уведомление об отказе сбойного диска на почту.
**Что делаем – общий план действий:**
* Устанавливаем PROXMOX 4.3
* Поднимаем и тестируем RAID10
* Настраиваем уведомления на почту
Под катом поэтапное прохождение квеста.
[Читать дальше →][1]

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

[>] Принимаем электронную почту на Node.js
habra.16
habrabot(difrex,1) — All
2016-11-13 16:30:04


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



Тем временем, хвала комьюнити Node.js, появились пакеты, которые позволяют принимать почту без боли и страданий – это [smtp-server][1] и [mailparser][2]. Давайте я покажу, как в пару десятков строк кода создать свой почтовый сервер с поддержкой SSL шифрования, фильтрацией спама с помощь spamassassin и прочими радостями.

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

[1]: https://www.npmjs.com/package/smtp-server
[2]: https://www.npmjs.com/package/mailparser
[3]: https://habrahabr.ru/post/315134/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Простой API gateway на базе PHP и Lumen
habra.16
habrabot(difrex,1) — All
2016-11-13 16:30:04


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

Традиционно перед коллекцией микросервисов предлагается дополнительный слой – так называемый API gateway, который решает сразу несколько проблем (они будут перечислены позже). На момент написания этой статьи open source реализаций таких gateway почти нет, поэтому я решил написать свой на PHP с использованием микрофреймворка Lumen (часть Laravel).

В этой статье я покажу насколько это простая задача для современного PHP!
[Читать дальше →][1]

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

[>] Пробрасываем USB–ключ в облако (Linux клиент — Linux сервер)
habra.16
habrabot(difrex,1) — All
2016-11-13 17:00:04


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


Давайте посмотрим, как реализовать проброс USB–ключа по сети в виртуальную машину с Linux в облаке [Azure Pack Infrastructure от InfoboxCloud][2].
[Читать дальше →][3]

[1]: https://infoboxcloud.ru/services/azurepack/
[2]: https://infoboxcloud.ru/services/azurepack/
[3]: https://habrahabr.ru/post/315076/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] О сравнении объектов по значению — 3, или Type-specific Equals & Equality operators
habra.16
habrabot(difrex,1) — All
2016-11-14 01:00:03


Ранее мы [рассмотрели][1] корректную реализацию минимально необходимого набора доработок класса для сравнения объектов класса по значению.



Теперь рассмотрим Type-specific реализацию сравнения объектов по значению, включающую реализацию Generic-интерфейса [IEquatable(Of T)][2] и перегрузку операторов "==" и "!=".



Type-specific сравнение объектов по значению позволяет достичь:


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

Кроме того, реализация Type-specific сравнения по значению необходима по причинам:


* Стандартные Generic-коллекции (List(Ot T), Dictionary(Of TKey, TValue) и др.) рекомендуют наличие реализации IEquatable(Of T) для всех объектов, помещаемых в коллекции.
* Стандартный компаратор [EqualityComparer(Of T).Default][3] использует (по умолчанию — при наличии) реализацию IEquatable(Of T) у операндов.

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


* Соответствие результатов сравнения у различных способов.
* Сохранение поведения при наследовании.
* Минимизацию copy-paste и общего объема кода.
* Учет того, что операторы сравнения технически являются статическими методами и, соответственно, у них отсутствует полиморфность (а также, что не все [CLS][4]-совместимые языки поддерживают операторы или их перегрузку).

Рассмотрим реализацию сравнения объектов по значению с учетом вышеизложенных условий, на примере класса Person.



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

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

[1]: https://habrahabr.ru/post/314500/
[2]: https://msdn.microsoft.com/library/ms131187.aspx
[3]: https://msdn.microsoft.com/library/ms224763.aspx
[4]: https://msdn.microsoft.com/library/12a7a7h3.aspx
[5]: https://habrahabr.ru/post/315168/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Одна простенькая задачка. Быстро, красиво или чисто?
habra.16
habrabot(difrex,1) — All
2016-11-14 01:30:03


Я полагаю, что 99% Python разработчиков решали так или иначе эту задачу, поскольку она входит в стандартный набор задач, предлагаемый им для соискателей должности Python Developer'а в одной широко известной компании.

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

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

[>] CleverScrollbar.js — Сайдбар для понятной навигации
habra.16
habrabot(difrex,1) — All
2016-11-14 09:30:03


Для тех, кому хочется сразу посмотреть, о чём идёт речь: [пример работы библиотеки][1]. Нажмите на кнопку "Load Scrollbar!", чтобы увидеть результат.



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



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

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

[1]: https://believer-ufa.github.io/clever-scrollbar/
[2]: https://habrahabr.ru/post/315186/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Выпуск Rust 1.13
habra.16
habrabot(difrex,1) — All
2016-11-14 11:30:04


Команда Rust рада представить выпуск Rust 1.13.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.



Как обычно, вы можете [установить Rust 1.13.0][1] с соответствующей страницы официального сайта, а также ознакомиться с [подробным списком изменений в 1.13.0][2] на GitHub. В этот выпуск вошло 1448 патчей.



Это была по-настоящему горячая пора в Rust. Мы участвовали в трёх конференциях подряд — [RustConf][3], [RustFest][4] и [Rust Belt Rust][5]. Было классно увидеть так много любителей Rust; со многими мы встретились впервые! Мы много думали о будущем, разрабатывали [план на 2017][6] и [создавали инструменты][7], [нужные][8] нашим пользователям.



И несмотря на всё это, мы собрали новый выпуск с кучей новых крутых фишек.



### Что вошло в стабильную версию 1.13 {#chto-voshlo-v-stabilnuyu-versiyu-113}



Выпуск 1.13 включает долгожданный оператор `?`, ускорение компиляции, добавление
некоторых возможностей в Cargo и стандартную библиотеку. Также этот выпуск привносит множество небольших улучшений в документацию и сообщения об ошибках. Это результат работы многих людей, и они не упоминаются в замечаниях к выпуску индивидуально.

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

[1]: https://www.rust-lang.org/install.html
[2]: https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1130-2016-11-10
[3]: http://rustconf.com/
[4]: http://www.rustfest.eu/
[5]: http://www.rust-belt-rust.com/
[6]: https://github.com/rust-lang/rfcs/pull/1774
[7]: https://internals.rust-lang.org/t/introducing-rust-language-server-source-release/4209
[8]: https://internals.rust-lang.org/t/2016-rust-commercial-user-survey-results/4317
[9]: https://habrahabr.ru/post/315192/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Объясняем бабушке: Как зашифроваться за час
habra.16
habrabot(difrex,1) — All
2016-11-14 12:00:03


> «Выживают только параноики».
> — Энди Гроув


![image][1]

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

Вынужден предупредить, что Гроув не единственный влиятельный человек, который призывает к этому. Даже директор ФБР — тот же человек, который недавно заплатил хакерам миллион долларов, чтобы разблокировать iPhone террориста — настоятельно рекомендует всем скрывать свои веб-камеры.

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

> «Если кто-то даст мне шесть строк написанных самым честным человеком, я найду то, за что его можно повесить.»
> — кардинал Ришелье в 1641.
В этой статье я покажу вам, как обезопасить себя, используя искусство шифрования. В один присест, вы можете сделать большой шаг вперед к обеспечению вашей конфиденциальности.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/4c0/ca0/02b/4c0ca002bcbbfc26f149dddcce5d11d7.jpg
[2]: https://habrahabr.ru/post/315132/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как я добавил 30000 человек в первый круг контактов, а эту соцсеть заблокируют в РФ
habra.16
habrabot(difrex,1) — All
2016-11-14 13:00:03


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

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

![][1]

Мне посчастливилось познакомиться и пообщался с интересными людьми из индустрии, получить сотни сообщений со спамом и ссылки на сотни вакансий. Готового скрипта здесь не будет, но в публикации есть пара фрагментов кода для магии webdriver и ссылки. Также вы узнаете последние новости про поиск работы в России и описание моего опыта по продвижению в соцсети…
[Читать дальше →][2]

[1]: https://habrastorage.org/files/d25/037/54a/d2503754ac214a9bb4465de7a136d74a.png
[2]: https://habrahabr.ru/post/315136/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Итоги контеста PwnFest
habra.16
habrabot(difrex,1) — All
2016-11-14 16:00:04


Соревнование (контест) между security-ресерчерами под названием [PwnFest][1] чем-то напоминает другой известный контест — Pwn2Own. PwnFest проходил в Южной Корее, где исследователям по безопасности предлагалось скомпрометировать различные устройства и приложения для удаленного исполнения кода, а также повышения своих привилегий в системе. Спектр предлагаемых для взлома продуктов достаточно обширен, это веб-браузер Edge на Windows 10, ОС Android 7 на новейшем устройстве Google Pixel, известная среда виртуализации Microsoft Hyper-V, веб-браузеры Google Chrome и Apple Safari, а также VMware Workstation, Adobe Flash Player и Apple iOS 10.

![][2]
Команда китайских исследователей по безопасности из известной компании Qihoo 360 Technology не только сумела успешно скомпрометировать Microsoft Edge, VMware Workstation, Adobe Flash, Google Pixel, а также выиграть титул «Lord of Pwn». В общей сложности команда заработала $530k.

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

[1]: http://pwnfest.org/
[2]: https://habrastorage.org/files/b56/9e7/612/b569e761297f48358cf6552aded01aed.jpeg
[3]: https://habrahabr.ru/post/315224/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Кто ты по професии: Разница между «Programmer», «Software Engineer» и «Computer Scientist»
habra.16
habrabot(difrex,1) — All
2016-11-14 17:00:05


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

Меняется ли от этого суть работы? Мы в **[1cloud][1]** попробовали разобраться в том, какую работу подразумевают такие специализации как «Programmer», «Software Engineer» и «Computer Scientist».

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

[1]: https://1cloud.ru
[2]: https://habrastorage.org/files/b77/2d0/2bd/b772d02bddf340bc96d3882788b26c59.jpg
[3]: https://habrahabr.ru/company/1cloud/blog/315230/
[4]: https://habrahabr.ru/post/315230/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Марсоход, Посадка
habra.16
habrabot(difrex,1) — All
2016-11-14 18:00:04


[![][1]][2]



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


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


Ранее мы создали [пакет навигации][6], теперь можно приступать к разработке первого варианта использования:


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

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

[>] СМИ узнали о новом способе перехвата паролей и PIN-кода с мобильных телефонов
habra.16
habrabot(difrex,1) — All
2016-11-14 19:00:04


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

Недавно СМИ [узнали][1] о появлении новой технологии взлома персональных данных пользователей через мобильный телефон, подключенный к сети Wi-Fi.

В популярном [блоге][2] бывшего технического директора компании SpringSource (создателя Java-фреймворка Spring) Адриана Колье (Adrian Colyer) The Morning Paper появилось описание этой технологии. Она работает при вводе PIN-кода контактным способом. [Читать дальше →][3]

[1]: http://www.securitylab.ru/bitrix/exturl.php?goto=http%3A%2F%2Fdl.acm.org%2Fcitation.cfm%3Fid%3D2978397
[2]: https://blog.acolyer.org/2016/11/10/when-csi-meets-public-wifi-inferring-your-mobile-phone-password-via-wifi-signals/
[3]: https://habrahabr.ru/post/315242/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] JetBrains Night в Москве. Видео. Интеграция серверных продуктов JetBrains друг с другом
habra.16
habrabot(difrex,1) — All
2016-11-14 22:00:04


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

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

В [предыдущем посте][1] Дмитрий Жемеров [рассказывал про язык Kotlin][2] (там до сих пор продолжается умеренно живая дискуссия в комментариях).

Сегодня Максим Мазин, team lead команд YouTrack и Hub, рассказывает, как JetBrains предлагает интегрировать свои серверные продукты друг с другом, а Валерия Андрианова, Product Marketing Manager в этих командах, показывает новые Agile-доски в YouTrack и объясняет, как можно выжать из Agile-досок все, что надо. По ходу дела коллеги делятся и тем, как устроена проектная работа в JetBrains.
[Смотреть видео][3]

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

[>] [Перевод] Глубокое обучение для новичков: распознаем изображения с помощью сверточных сетей
habra.16
habrabot(difrex,1) — All
2016-11-15 01:00:04


## Введение


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

[1]: https://habrastorage.org/files/21e/5ba/817/21e5ba81799f4a1095d9347c0284b69e.png
[2]: https://habrahabr.ru/post/314872/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Разгоняем производительность iOS-приложений
habra.16
habrabot(difrex,1) — All
2016-11-15 11:30:04


![image][1]
_Тормоз для броненосца USS Iowa BB-1, 1910 год. Эта штуковина должна тормозить 11 346 тонн брони._

Оригинал: [iOS App Performance: Instruments & beyond][2]
Автор: Igor M

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

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

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

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

[1]: https://habrastorage.org/getpro/habr/post_images/914/018/821/914018821531d185f8a709ba52210369.jpg
[2]: https://medium.com/@mandrigin/ios-app-performance-instruments-beyond-48fe7b7cdf2#.89qcnp72d
[3]: https://habrahabr.ru/post/315150/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] learnopengl. Урок 1.6 — Текстуры
habra.16
habrabot(difrex,1) — All
2016-11-15 12:30:04


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


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

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

[>] DDoS на российские банки. Хронология атаки
habra.16
habrabot(difrex,1) — All
2016-11-15 12:30:04


9 ноября крупный российский банк зафиксировал атаку на свой основной публичный web-сайт. События совпали по времени с большим количеством политических медийных событий, связанных с подведением итогов выборов президента США.

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

Довольно быстро стало понятно, что это внешняя атака. Специалисты банка начали борьбу за поддержание работоспособности сайта. «Инфосистемы Джет» выслали в помощь специалистам финансовой организации инженера для совместного отражения атаки.

По итогам анализа событий ИБ и журналов web-серверов была зафиксирована следующая хронология событий.
[Читать дальше →][1]

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

[>] Анонс встречи ThinkJava #4
habra.16
habrabot(difrex,1) — All
2016-11-15 12:30:04


![][1]Приглашаем вас на очередную встречу Java-разработчиков ThinkJava #4. Спикеры нашего ThinkJava-сообщества переплыли моря и океаны, чтобы побывать на SpringOne Platform в Лас-Вегасе, и теперь готовы поделиться привезёнными знаниями и своим опытом со всеми гостями ThinkJava #4. Мы посвящаем эту встречу вопросам облачных вычислений.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/899/b6c/5cd/899b6c5cd26a437db3bf7c72fc5bda79.png
[2]: https://habrahabr.ru/post/315218/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Узнаем текущую погоду простеньким скриптом на Python'е
habra.16
habrabot(difrex,1) — All
2016-11-15 14:00:04


Есть интересная статья о том, как [Энтузиасты делают погоду][1].

Энтузиасты делают, а мы воспользуемся плодами их трудов — получим эту самую погоду от OpenWeatherMap.org скриптом на Python'е.

Для получения доступа к сервису погоды придется пройти несложную процедуру регистрации на сайте [OpenWeatherMap.org][2]
Сформируем и отправим запрос, разберем ответный пакет в формате [JSON][3], и получим текущую температуру с описанием состояния погоды.

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

[1]: https://habrahabr.ru/post/164045/
[2]: http://openweathermap.org/
[3]: https://ru.wikipedia.org/wiki/JSON
[4]: https://habrastorage.org/files/d5b/62d/a07/d5b62da07ddf4848b3ef2ea1f267d08c.jpg
[5]: https://habrahabr.ru/post/315264/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Простыми словами: как работает машинное обучение
habra.16
habrabot(difrex,1) — All
2016-11-15 14:30:05


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

![][1]

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

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

[1]: https://habrastorage.org/files/06d/5a4/3de/06d5a43de3a743a89328582bc52cbb46.jpg
[2]: https://habrahabr.ru/post/315326/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Анонс встречи ThinkJava #4 (Харьков)
habra.16
habrabot(difrex,1) — All
2016-11-15 16:30:05


![][1]Приглашаем вас на очередную встречу Java-разработчиков ThinkJava #4. Спикеры нашего ThinkJava-сообщества переплыли моря и океаны, чтобы побывать на SpringOne Platform в Лас-Вегасе, и теперь готовы поделиться привезёнными знаниями и своим опытом со всеми гостями ThinkJava #4. Мы посвящаем эту встречу вопросам облачных вычислений.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/899/b6c/5cd/899b6c5cd26a437db3bf7c72fc5bda79.png
[2]: https://habrahabr.ru/post/315218/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Создание и тестирование Firewall в Linux, Часть 1.1 Виртуальная лаборатория
habra.16
habrabot(difrex,1) — All
2016-11-15 17:30:04


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

Итак, речь пойдет о написании firewall в среде Linux. Всю статью я поделю на несколько частей. То, что вы читаете сейчас – первая часть, она поделена еще на три части. Некоторые темы хорошо известны и задокументированы, поэтому я постараюсь отдельно давать минимум теории по ним и отдельно практику. Чтобы всем было интересно. А также ссылки для углубления (часто это будут английские статьи).

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

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

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

[>] [Из песочницы] Создание и тестирование Firewall в Linux, Часть 1.2. Простой перехват трафика с Netfilter
habra.16
habrabot(difrex,1) — All
2016-11-15 18:30:04


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

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

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

[>] Решение пасхалки из анонса CTF от Bi.Zone
habra.16
habrabot(difrex,1) — All
2016-11-16 08:00:03


![][1]


За несколько недель перед стартом регистрации на CTF, организованный компанией **BI.Zone**, на различных информационных порталах был выложен анонс этого мероприятия.

Если посмотреть на [анонс][2], например, на сайте ZN2016, то можно заметить некоторую странность в форматировании текста.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/40b/823/ade/40b823ade9a644bf8be0c6992d164da0.png
[2]: https://2016.zeronights.ru/news/bizon-priglashaet-na-ctf/
[3]: https://habrahabr.ru/post/315338/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Названия больших чисел в idle-играх
habra.16
habrabot(difrex,1) — All
2016-11-16 11:30:03


![][1]

_(Прим. пер.: приведённые в статье алгоритмы относятся к названиям степеней тысячи [по короткой шкале][2].)_

Некоторое время назад я получил возможность поучаствовать в разработке [игры в жанре idle][3]. Что же такое idle-игра? Если вы впервые слышите об этом [быстро развивающемся жанре][4], попробуйте поиграть в [Adventure Capitalist][5]. На сайте Gamasutra также есть несколько статей ([1][6], [2][7], [3][8], [4][9]), позволяющих рассмотреть жанр немного глубже.
[Читать дальше →][10]

[1]: https://habrastorage.org/files/738/e7d/a86/738e7da86970459d82e2efa0ad7fd0df.jpg
[2]: https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D0%BD%D0%B0%D0%B8%D0%BC%D0%B5%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D1%87%D0%B8%D1%81%D0%B5%D0%BB#.D0.9A.D0.BE.D1.80.D0.BE.D1.82.D0.BA.D0.B0.D1.8F_.D1.88.D0.BA.D0.B0.D0.BB.D0.B0
[3]: https://en.wikipedia.org/wiki/Incremental_game
[4]: http://gdcvault.com/play/1022065/Idle-Games-The-Mechanics-and
[5]: http://www.kongregate.com/games/HyperHippoGames/adventure-capitalist
[6]: http://www.gamasutra.com/view/news/279401/F2P_idle_clicker_games_are_making_the_jump_from_PCmobile_to_consoles.php
[7]: http://www.gamasutra.com/blogs/NickYee/20160708/276661/The_Surprising_Profile_of_Idle_Clicker_Gamers.php
[8]: http://www.gamasutra.com/view/news/237926/The_rise_of_games_you_mostly_dont_play.php
[9]: http://www.gamasutra.com/blogs/AnthonyPecorella/20161013/282422/The_Math_of_Idle_Games_Part_I.php
[10]: https://habrahabr.ru/post/314512/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Атака BlackNurse: Как отключить межсетевой экран с помощью ноутбука и ICMP
habra.16
habrabot(difrex,1) — All
2016-11-16 11:30:03


[![][1]][2]

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

[1]: https://habrastorage.org/files/219/999/dbe/219999dbe8f949478e5fcc78ecebdf8c.png
[2]: https://habrahabr.ru/company/pt/blog/315362/
[3]: http://soc.tdc.dk/blacknurse/blacknurse.pdf
[4]: https://habrahabr.ru/post/315362/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Судоку: так сколько же их? Часть 2/2
habra.16
habrabot(difrex,1) — All
2016-11-16 11:30:03


Привет Хабр!

Это вторая часть перевода [статьи][1] про подсчет различных судоку.

![][2]

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

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

[1]: http://www.math.cornell.edu/~mec/Summer2009/Mahmood/Intro.html
[2]: https://habrastorage.org/files/d90/893/9b0/d908939b06b7475a870dbb6759ef7a53.jpg
[3]: https://habrahabr.ru/post/314514/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Досье на Хакера: Альберт Гонсалес. 20 лет тюрьмы и 170 000 000 украденных кредитных карт
habra.16
habrabot(difrex,1) — All
2016-11-16 12:00:04


![image][1]



Albert Gonzalez (1981 г.) — американский компьютерный хакер и компьютерный преступник, который обвиняется в комбинированной краже данных кредитных карт и последующей перепродаже более 170 миллионов карт и банковских номеров с 2005 по 2007 год — крупнейшем мошенничестве такого рода за всю историю.

Gonzalez и его сообщники использовали внедрение SQL-кода для развертывания бэкдоров на несколько корпоративных систем для запуска перехватчика пакетов (в частности, [ARP спуфинга][2]), которые позволили ему украсть данные внутренних корпоративных сетей.

Во время своего запоя он, как говорили, спустил $75,000 на вечеринку ко дню рождения и жаловался на то, что ему приходиться считать $340 000 вручную из-за того, что его валютно-счетная машина сломалась.

Gonzalez получил три федеральных обвинения:
* В мае 2008 года в Нью-Йорке по делу Dave & Busters (суд прошел в сентябре 2009 года)
* В мае 2008 года в штате Массачусетс по делу TJ Maxx (суд прошел в начале 2010 года)
* Августа 2009 года в Нью-Джерси в связи с Heartland Payment.
25 марта 2010 года Гонсалес был приговорен к 20 годам заключения в федеральной тюрьме.

Gonzalez вместе с его командой были представлены в 5-м эпизоде сезона сериала CNBC «Американская Жадность» под названием «Хакеры: Операция Get Rich Or Die Tryin».
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/562/e86/323/562e8632305e03e2a63f7f715b36f045.jpg
[2]: https://en.wikipedia.org/wiki/ARP_Spoofing
[3]: https://habrahabr.ru/post/315388/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сигнализация для холодильника. Не жизнь, а «малина» c RaspberryPi 3
habra.16
habrabot(difrex,1) — All
2016-11-16 13:00:04


Запылилась за месяц у меня на полке Raspberry Pi 3 со встроенным Wi-Fi. Ресурсов процессора и объема памяти уже достаточно для запуска ресурсоемких программ. Как же быстро разработать и запустить на ней свою программу состоящую всего из одного небольшого файла с отправкой фото на почту и веб сервером мониторинга?

![][1]

Соберем простую систему для охраны холодильника от незаконного проникновения с фото регистрацией и интеграцией в интернет через smtp. Устроим у себя настоящий интернет вещей на кухне!
[Читать дальше →][2]

[1]: https://habrastorage.org/files/6da/4de/d2d/6da4ded2d6204916b13b43870a9f5a31.jpg
[2]: https://habrahabr.ru/post/314898/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Уязвимость Cryptsetup в Linux с шифрованием LUKS: достаточно просто зажать Enter
habra.16
habrabot(difrex,1) — All
2016-11-16 14:30:04


![][1]

В безопасности Linux обнаружилась огромная брешь, которая оставалась незамеченной с версии 2.6. Все интернет-издания ссылаются на [отчет][2] авторства Гектора Марко и Исмаила Риполла из компании Cybersecurity Group.

Уязвимость находится в скриптах, которые дают доступ к разбивке системы на разделы, при условии, что процедура защищена с помощью Linux Unified Key Setup (LUKS). Сведения о «слабом месте» были обнародованы 11 ноября во время конференции по безопасности [DeepSec 2016][3] в Вене. Название доклада, прозвучавшего со сцены, — «Злоупотребление LUKS для взлома системы».
[Читать дальше →][4]

[1]: https://habrastorage.org/files/041/784/405/041784405a404ad1a02df1c92c68c2b7.png
[2]: http://hmarco.org/bugs/CVE-2016-4484/CVE-2016-4484_cryptsetup_initrd_shell.html
[3]: https://deepsec.net/
[4]: https://habrahabr.ru/post/315376/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей
habra.16
habrabot(difrex,1) — All
2016-11-16 15:00:05


![][1]
_В отличие от CTF, лаборатории Pentestit представляют собой копию реальной структуры компаний с единым сюжетом и взаимосвязанными узлами._


#### Test lab v.10


25 ноября 2016 г. в 21:00 (МСК) будет запущена новая, 10-я по счету лаборатория тестирования на проникновение — копия современной корпоративной сети компании, занимающейся разработкой Security продуктов. Лаборатория будет содержать актуальные уязвимости и ошибки конфигурации, такие как:
* уязвимости и ошибки конфигурации в WEB-приложении (OWASP TOP 10);
* повышение привилегий в Linux и в Windows домене;
* обход аутентификации;
* выход за пределы современных систем виртуализации (LXC, Docker);
* command injection;
* security through obscurity;
* обход популярных WAF.[Читать дальше →][2]

[1]: https://habrastorage.org/files/e4f/a7f/4a7/e4fa7f4a745241a5a75a41987a2aca68.png
[2]: https://habrahabr.ru/post/314842/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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