RSS
Pages: 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 210
[>] Spring Security 4 + CSRF (добавление в Spring проект защиты от межсайтовой подделки запроса)
habra.15
habrabot(difrex,1) — All
2015-08-13 17:00:02


![][1] Здравствуйте! Современное веб приложение считается уязвимым, если в нем отсутствует защита от [Межсайтовой подделки запроса (CSRF)][2]. В Spring Security 4.x она включена по умолчанию, поэтому при [миграции с Spring Security 3.x на 4.x][3] ее надо либо отключить

<http>
...
<csrf disabled="true"/>
</http>


либо, правильнее и зачетнее, добавить в проект. Собственно, сделал это в 10-минутном видео:




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

[1]: https://habrastorage.org/files/58e/643/b73/58e643b730ad4cf5ae1bd8af29b29c96.jpg
[2]: https://ru.wikipedia.org/wiki/Межсайтовая_подделка_запроса
[3]: http://docs.spring.io/spring-security/site/migrate/current/3-to-4/html5/migrate-3-to-4-xml.html#m3to4-xmlnamespace-csrf
[4]: http://habrahabr.ru/post/264641/#habracut

[>] Обработка и оформление отчетов в Excel на PHP
habra.14
habrabot(difrex,1) — All
2014-12-08 08:00:04


Не редко при разработке некоего проекта, возникает необходимость в формировании отчетной статистики. Если проект разрабатывается на **Delphi**, **C#** или к примеру, на **С++** и под **Windows**, то тут проблем нет. Всего лишь необходимо воспользоваться [COM][1] объектом. Но дела обстоят иначе, если необходимо сформировать отчет в формате excel на **PHP**. И чтобы это творение функционировало на **UNIX**-подобных системах. Но, к счастью, не так все плохо. И библиотек для этого хватает. Я свой выбор остановил на **PHPExcel**. Я уже пару лет работаю с этой библиотекой, и остаюсь доволен. Поскольку она является кроссплатформенной, то не возникает проблем с переносимостью. PHPExcel позволяет производить импорт и экспорт данных в excel. Применять различные стили оформления к отчетам. В общем, все на высоте. Даже есть возможность работы с формулами (сам я не пробовал). Только помните, что вся работа (чтение и запись) должна вестись в кодировке _utf-8_. [Читать дальше →][2]

[1]: http://ru.wikipedia.org/wiki/Component_Object_Model "Component Object Model"
[2]: http://habrahabr.ru/post/245233/#habracut

[>] Прошлое и настоящее SSL-сертификатов
habra.15
habrabot(difrex,1) — All
2015-08-13 22:00:02


![][1]

##

SSL (Secure Sockets Layer), семейство транспортных криптографических протоколов, известно примерно с 1994 года (первые работы по использованию средств криптографии в качестве транспорта для уже известных протоколов проводились и раньше). Последний протокол семейства, SSL v3, в июне 2015 года в [RFC7568][2] объявлен устаревшим. Взамен него надлежит использовать новые версии семейства SSL, протоколы TLS (Transport Layer Security) версии 1.2 или старше (на момент написания этого текста). Оба протокола используют так называемый сертификат открытого ключа стандарта X.509, который не вполне корректно принято называть сейчас SSL-сертификатом. Стандарт известен с 1988 года. Сертификат открытого ключа, успешно использовавшийся на протяжении всего прошедшего времени, успел продемонстрировать свои сильные и слабые стороны (о них сказано ниже). [Читать дальше →][3]

[1]: https://habrastorage.org/files/513/7ff/be5/5137ffbe5f09465aa61c286b86c94a39.jpg
[2]: https://tools.ietf.org/html/rfc7568
[3]: http://habrahabr.ru/post/264551/#habracut

[>] [Перевод] Go как первый язык программирования для школьников
habra.15
habrabot(difrex,1) — All
2015-08-13 22:30:02


_Перевод рассказа об опыте обучения программированию группы школьников, с использованием языка Go. Оригинальный текст в почтовой рассылке [тут][1]_ ![][2] [Читать дальше →][4]

[1]: https://groups.google.com/forum/m/#!topic/golang-nuts/FIRSDBehb3g
[2]: https://habrastorage.org/files/467/cd2/ebe/467cd2ebe74a46029cfd7063fe1a1e41.jpg
[3]: https://pixabay.com/es/adulto-de-fondo-negocio-equipo-15745/
[4]: http://habrahabr.ru/post/264643/#habracut

[>] Highload ++ 2014 глазами докладчика, который очень любит Processing Large-Scale Graph Data разными нехорошими способами
habra.14
habrabot(difrex,1) — All
2014-12-08 14:00:03


Всем привет! Вы наверняка слышали о конференции разработчиков высоконагруженных систем Highload++ или сами участвовали или выступали или даже перестали ездить на нее, проклиная ее в соц.сетях. К конференции Highload у меня весьма трепетное отношение, ибо моя первая поездка на нее в 2012 стабилизировала хаотичные на тот момент знания в некую упорядоченную цепь, структуру и предоставила наиболее широкий обзор текущего рынка Highload технологий в России и за ее пределами. В 2013 году я с удовольствием смотрел онлайн-трансляцию вечером из офиса Тамтэка, обсуждая с коллегами преимущества Rabbit MQ, дубльгисовские попытки запихать все в Neo4j, а также доклад нашего коллеги Дениса Нелюбина о сравнении производительности NoSQL баз данных (Aerospike, Couchbase, Mongo, Cassandra) на нашем тестовом фреймворке, в разработке которого я сам принимал участие годом ранее. В 2014, 14 марта, в свой день рождения, я отправил заявку с описанием доклада на Highload и стал ждать. После полугода мне пришло подтверждение и я отправился в путь, надеясь не только познакомиться с коллегами, работающими в смежных областях, но и поднять свое Big Data сознание на новой уровень. ![image][1] [И наступил день первый ... и разверзлись врата ..][2]

[1]: http://habrastorage.org/getpro/habr/post_images/12f/507/9af/12f5079af15e8bc21538c5bcbdf6ba95.jpg
[2]: http://habrahabr.ru/post/245215/#habracut

[>] Вышла финальная версия ядра Linux 3.18
habra.14
habrabot(difrex,1) — All
2014-12-08 14:00:03


Линус Торвальдс, в соответствии с графиком, в воскресенье вечером выпустил новое ядро Linux 3.18. В этой версии ядра пользователи смогут найти довольно много [обновлений][1] и новых возможностей. Осталось дождаться пока новое ядро интегрируют в репозитории и дистрибутивы. Хотя, опытные пользователи могут установить ядро прямо сейчас. [Читать дальше →][2]

[1]: http://www.phoronix.com/scan.php?page=news_item&px=MTg1NjA
[2]: http://habrahabr.ru/post/245261/#habracut

[>] Обустраиваем хомяка или «OpenWrt уделывает прошивку от TP-LINK?». Часть 1 — подготовительная
habra.14
habrabot(difrex,1) — All
2014-12-08 14:30:03


![][1] «Этим полукреслом мастер Гамбс начинает новую партию мебели. 1865 г. Санкт-Петербург» (И. Ильф, Е. Петров). Вы не ошиблись, это еще одна статья о сборке альтернативной прошивки для домашних маршрутизаторов, этих горячих в некоторых местах повелителей наших малых локальных сетей. На резонный вопрос почему бы сразу не писать там, где такому материалу [самое место][2] отвечу: хочу описать процесс начав с подготовки виртуальной машины для сборки (да, это будет Ubuntu на VirtualBox), пройдя через сборку прошивки, подключение внешнего жёсткого диска и настройку загрузки с него, подключение принтера, установку и настройку пакетов вроде медиасервера и torrent клиента, и попытаться закончить описанием такой настройки [StrongSwan][3], которая позволит подключаться к нему с IPhone, IPad и Windows Phone без установки сторонних клиентов. При этом хочется не обойти стороной как важные вещи вроде безопасности, так и полезные мелочи вроде скрипта, который будет отключать на ночь вырвиглазные синие светодиоды моего TL-WDR3600. И я совсем не уверен в полноте своих знаний по многим из озвученных сейчас вопросов. Одним словом, на данном этапе у меня громадьё планов и сумбур. Поэтому важны любые советы и предложения. Текст статьи точно будет меняться и дополняться с течением времени, а вся статья может быть скрыта в черновики по итогам голосования чтобы не засорять Хабр. Если вы заинтересовались, хотите помочь советом или вам просто захотелось бросить в автора тапком — добро пожаловать. Далее по тексту я постараюсь подробно описать это обещающее интересное времяпрепровождение действо, суть которого схематично изобразил [средневековый японский художник][4].




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

[1]: //habrastorage.org/files/290/b35/1c3/290b351c392945f8985cda203657d563.png
[2]: http://wiki.openwrt.org/
[3]: http://en.wikipedia.org/wiki/StrongSwan
[4]: http://en.wikipedia.org/wiki/Keisai_Eisen
[5]: http://habrahabr.ru/post/245103/#habracut

[>] [Из песочницы] Перенаправление данных из COM-порта в Web
habra.15
habrabot(difrex,1) — All
2015-08-14 04:00:01


Недавно на хабре была статья [«Отображаем данные из Serial в Chrome Application»][1] о том, как красиво представить данные, отправляемые Arduin-кой в Serial. По-моему, ребята предложили очень красивое решение, которое с одной стороны выглядит достаточно простым, а с другой позволяет получить прекрасный результат с минимумом усилий. В комментариях к статье было высказано сожаление о том, что такое решение не заработает под Firefox-ом и высказана идея, что «можно еще написать простенький веб-сервер с выдачей html на основе этой штуки». Меня эта идея «зацепила», быстрый поиск в google готового решения не выдал, и я решил реализовать идею сам. И вот, что из этого вышло. _Предупреждение! Предлагаемое решение ни в коем случае нельзя рассматривать как законченное. В отличие от Serial Projector от Амперки — это концепт, демонстрация возможного подхода, работающий прототип и не более того. _ [Читать дальше →][2]

[1]: http://habrahabr.ru/company/amperka/blog/263505/
[2]: http://habrahabr.ru/post/264663/#habracut

[>] Можно ли полагаться на данные, извлекаемые WMI классами?
habra.15
habrabot(difrex,1) — All
2015-08-14 10:00:02


_На примере нескольких WMI-классов Win32\_xxxx, показано, что как минимум некоторые из свойств объектов, возвращаемые указанными классами, совершенно не соответствуют реальным значениям этих свойств._ [Читать дальше →][1]

[1]: http://habrahabr.ru/post/264717/#habracut

[>] [Перевод] Пять признаков того, что вы должны сейчас же нанять этого программиста
habra.15
habrabot(difrex,1) — All
2015-08-14 13:30:02


![][1]**Когда вы приглашаете программиста для собеседования и выполнения тестового задания, это может оказаться интересным опытом и для вас, и для него. Большинство собеседований заканчивается тем, что менеджер по подбору персонала обещает «оставаться на связи», но иногда соискатель просто попадает в точку. В такие моменты вы обдумываете, не нанять ли его еще до того, как он успеет покинуть здание. Мы в [Alconost Translations][2] перевели для вас статью шароварщика Брайана Келли именно о таких удачных случаях.** В TimeTrade мы даем программистам тестовое задание, с которым большинство из них должно справиться за 2 часа. Все задание состоит из последовательности небольших задач, каждая сложнее предыдущей. Это позволяет нам оценить производительность программиста, основываясь исключительно на времени выполнения задания: если все решено меньше, чем за час, мы будем довольны. Но если прошло два часа, а первая задача все еще не решена, скорее всего, мы укажем кандидату на дверь. Но, помимо одного лишь быстрого решения задач, есть еще несколько признаков того, что перед вами действительно потрясающий программист, которому надо немедленно предложить работу прежде, чем он успеет уйти. [Читать дальше →][3]

[1]: https://habrastorage.org/files/f3c/91c/ac2/f3c91cac212a40909237ac699f7f56c6.jpg
[2]: http://alconost.com/?utm_source=habrahabr&utm_medium=article&utm_campaign=translation&utm_content=5-signs-hiring-programmer
[3]: http://habrahabr.ru/post/264735/#habracut

[>] [Перевод] Эффективный JSON с функциональными концепциями и generics в Swift
habra.14
habrabot(difrex,1) — All
2014-12-08 16:30:04


Это перевод статьи Tony DiPasquale [«Efficient JSON in Swift with Functional Concepts»][1].

### Предисловие переводчика.

Передо мной была поставлена задача: закачать данные в формате JSON с [Flickr.com][2] о 100 топ местах, в которых сделаны фотографии на данный момент, в массив моделей:

//------ Массив моделей Places
struct Places {
var places : [Place]
}

//-----Модель Place
struct Place {

let placeURL: NSURL
let timeZone: String
let photoCount : Int
let content : String

}


Кроме чисто прагматической задачи, мне хотелось посмотреть как в _Swift _работает «вывод типа из контекста» (type Inference), какие возможности _Swift_ в функциональном программировании, и я выбрала для парсинга JSON алгоритмы из статьи Tony DiPasquale [«Efficient JSON in Swift with Functional Concepts and Generics»][3], в которой он «протягивает» generic тип `Result` для обработки ошибок по всей цепочке преобразований: от запроса в сеть до размещения данных в массив Моделей для последующего представления в `UITableViewController`. Чтобы посмотреть как _Swift _работает «в связке» с _Objective-C_, для считывания данных с [Flickr.com][4] использовался Flickr API, представленный в курсе Стэнфордского Университета [«Stanford CS 193P iOS 7»][5], написанный на _Objective-C_. В результате помимо небольшого расширения Моделей:

extension Place: JSONDecodable {
static func create(placeURL: String)(timeZone: String)(photoCount: String)(content: String) -> Place {
return Place(placeURL: toURL(placeURL), timeZone: timeZone, photoCount: photoCount.toInt() ?? 0, content: content)
}
static func decode(json: JSON) -> Place? {
return _JSONParse(json) >>> { d in
Place.create
<^> d <| "place_url"
<*> d <| "timezone"
<*> d <| "photo_count"
<*> d <| "_content"
}
}
}

extension Places: JSONDecodable {
static func create(places: [Place]) -> Places {
return Places(places: places)
}
static func decode(json: JSON) -> Places? {
return _JSONParse(json) >>> { d in
Places.create
<^> d <| "places" <| "place"

}
}
}


мне самостоятельно пришлось написать только три строчки кода: [Читать дальше →][6]

[1]: http://robots.thoughtbot.com/efficient-json-in-swift-with-functional-concepts-and-generics
[2]: https://www.flickr.com/
[3]: http://robots.thoughtbot.com/efficient-json-in-swift-with-functional-concepts-and-generics
[4]: https://www.flickr.com/
[5]: http://web.stanford.edu/class/cs193p/cgi-bin/drupal/
[6]: http://habrahabr.ru/post/244821/#habracut

[>] Приглашаем на GDG DevFest Omsk 2014
habra.14
habrabot(difrex,1) — All
2014-12-08 19:30:05


14 декабря в Омске пройдет **GDG DevFest 2014** — уникальная возможность для молодых и опытных IT-специалистов погрузиться в мир новых и перспективных информационных технологий! На мероприятии вы сможете создать собственное приложение с использованием технологических новинок этого года, в том числе, [Android Wear SDK][1], [Web Components][2], [Polymer][3] и [Cardboard][4] VR SDK, а также узнать всю необходимую для этого теорию! ![][5] [Читать дальше →][6]

[1]: http://www.android.com/wear/
[2]: http://webcomponents.org/
[3]: https://www.polymer-project.org/
[4]: https://cardboard.withgoogle.com/
[5]: //habrastorage.org/files/b61/75c/0a1/b6175c0a1c7e4b86805792c5ae820cc3.png
[6]: http://habrahabr.ru/post/245259/#habracut

[>] Что в ORM тебе моем? Околонаучный подход выбора ORM для Android
habra.14
habrabot(difrex,1) — All
2014-12-08 20:30:04


Выбор инструментов, которые так или иначе понадобятся при разработке – один из главных подготовительных этапов на старте нового Android-проекта. В случае, если вы разрабатываете приложение, которое должно в том или ином виде хранить большое количество сущностей – вам не избежать использования баз данных. В отличие от коллег по цеху, разрабатывающих для iOS, у Android-программистов нет удобных инструментов, облегчающих хранение объектов вроде Core Data, предоставляемых платформой (кроме Content Provider, о том почему он не в счет, будет дальше). Поэтому многие Android-разработчики прибегают к использованию сторонних ORM-решений в своих проектах. О том, на что стоит смотреть при выборе библиотеки для вашего проекта, и пойдет речь в этой статье.



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

[1]: http://habrahabr.ru/post/245299/#habracut

[>] Как Windows 10 собирает данные о пользователях
habra.15
habrabot(difrex,1) — All
2015-08-14 15:30:02


[![][1]][2] Информация о том, что Windows 10 [собирает данные о пользователях][3], не нова. Еще в 2014 году компания Microsoft [опубликовала][4] заявление о конфиденциальности, из которого следует, что на ее серверы может передаваться информация об использованных программах, устройстве и сетях, в которых они работают. Эти данные могут объединяться с идентификатором пользователя (учетная запись Microsoft), также собирается информация об адресе электронной почты, предпочтениях, интересах местоположении, и многом другом. Чешское издание Aeronet.cz [опубликовало][5] расследование неназванного ИТ-специалиста, который решил отследить активность Windows 10 по сбору данных. В ходе исследования использовались следующие инструменты: программа Destroy Windows 10 Spying, блокирующуа передачу данных на серверы Microsoft, PRTG Network Monitor, Windows Resource Monitor, и Wireshark. По мнению исследователя, Windows 10 — больше похожа на терминал по сбору данных, чем на операционную систему. [Читать дальше →][6]

[1]: https://habrastorage.org/files/a6c/4bd/211/a6c4bd211ee54d35a074ab1613aadc4c.jpg
[2]: http://habrahabr.ru/company/pt/blog/264763/
[3]: http://www.securitylab.ru/news/459419.php
[4]: http://www.securitylab.ru/bitrix/exturl.php?goto=http%3A%2F%2Fwindows.microsoft.com%2Fru-ru%2Fwindows%2Fpreview-privacy-statement
[5]: http://aeronet.cz/news/analyza-windows-10-ve-svem-principu-jde-o-pouhy-terminal-na-sber-informaci-o-uzivateli-jeho-prstech-ocich-a-hlasu/
[6]: http://habrahabr.ru/post/264763/#habracut

[>] Как изобрести велосипед и познакомиться с FRP
habra.14
habrabot(difrex,1) — All
2014-12-08 22:30:03


Недавно мне выпал шанс заняться веб-приложением для взаимодействия с интерактивной доской (!) для мобильных устройств (!!) на любом стеке технологий, как серверных, так и клиентских (!!!). На этапе прототипа задача представляла собой простейший графический редактор. Заказчик изъявил желание уметь рисовать ломаные каким-нибудь способом, круги, отрезки, произвольные кривые и добавлять текст. Все вроде бы просто, однако, наученный горьким опытом GoF, Фаулера и прочих апологетов всяческих паттернов, я сразу понял, что заказчик лукавит, и что уже через неделю-месяц после прототипа ему понадобится рисовать эллипсы, прямоугольники и кучи прочих ништяков. И все это точно надо будет делать разными способами. По крайней мере, для десктопа и мобил. Собственно, можно все сделать в лоб (для прототипа-то), но выпали выходные, пауза в задачах текущего проекта, и я решил сделать все по-хорошему. И в первый же вечер — **callback hell**. А потом… ![Потому что на работе больше заниматься нечем][1] [И вот так я изобрел велосипед...][2]

[1]: //habrastorage.org/files/baf/f7f/526/baff7f526d994fbb8da8a8d7bddac06d.png
[2]: http://habrahabr.ru/post/245269/#habracut

[>] [Из песочницы] Pebble: добавляем в своё приложение возможности конфигурирования и сохранения настроек
habra.14
habrabot(difrex,1) — All
2014-12-09 01:00:04


С наращиванием функциональности и увеличением сложности приложения возникает необходимость дать пользователю возможность самому настраивать необходимые ему параметры. Приложение в свою очередь должно уметь сохранять эти настройки и предоставить пользователю интерфейс для управления ими. Какие средства и возможности для этого дали нам разработчики Pebble? Документация у проекта Pebble хорошая и целью изложенного не является её дублирования. Это попытка собрать то, что касается хранения данных и возможностей по конфигурированию приложения в одном месте. Далее присутствуют краткие выдержки из документации и немного кода в виде примера проекта. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/245247/#habracut

[>] [Перевод] Краткая история появления Mathematica
habra.15
habrabot(difrex,1) — All
2015-08-14 19:30:04






_Перевод поста Стивена Вольфрама (Stephen Wolfram) "[There Was a Time before Mathematica…][1]". Выражаю огромную благодарность Кириллу Гузенко [KirillGuzenko][2] за помощь в переводе._

----

Через несколько недель [пост был написан 6 июня 2013 г. — прим. ред.] будет двадцатипятилетний юбилей: 23 июня 1988 года — день, когда была выпущена [_Mathematica_][3]. Поздней ночью мы все ещё записывали дискеты и упаковывали их. Однако уже в полдень 23 июня я был в конференц-центре в Санта-Кларе, впервые показав публике _Mathematica_:



Да, именно таким был загрузочный экран, и да, _Mathematica_ 1.0 [работала][4] на маках и различных рабочих станциях на Unix; PС тогда не хватало мощности. Многие оказались под впечатлением от того, что может делать _Mathematica_. И были очень приятные речи о перспективах _Mathematica_ от различных лидеров компьютерной индустрии, в числе которых был и [Стив Джобс][5] (тогда он был в NeXT'е), который был весьма любезен, чтобы прийти, хоть он и не появлялся на публике в течение некоторого времени. А кто-то на этом мероприятии был достаточно дальновиден, чтобы попросить всех выступающих расписаться на [книге о _Mathematica_][6], которая только поступила в продажу в тот день в книжных магазинах по всей стране: [][7]



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

[1]: http://blog.wolfram.com/2013/06/06/there-was-a-time-before-mathematica/
[2]: http://habrahabr.ru/users/kirillguzenko/
[3]: http://www.wolfram.com/mathematica/
[4]: http://www.mathematica25.com/1989_mathematicapricelist-2/
[5]: http://blog.stephenwolfram.com/2011/10/steve-jobs-a-few-memories/
[6]: http://www.mathematica25.com/1988_originalmathematicabook-2/
[7]: http://www.mathematica25.com/1988_announcementevent-2/2/
[8]: http://habrahabr.ru/post/264793/#habracut

[>] Создание простого магазина в CMS Orchard (widget-way)
habra.15
habrabot(difrex,1) — All
2015-08-14 23:00:02


Цель статьи состоит не столько в написании пошагового руководства по созданию eCommerce-модуля (для этого есть замечательный [цикл постов][1] в блоге IDeliverable), сколько в описании решения утилитарных подзадач, с которыми лично столкнулся при разработке для Orchard чего-то более интересного, чем Twitter-виджет. Надеюсь, мои изыскания окажутся полезны для тех, кто только собрался разрабатывать решения под эту CMS. Сама по себе реализациия сколько-нибудь серьёзного решения на базе этого продукта представляла для меня определённый интерес довольно давно, но всё, как говорится, руки не доходили. И вот недавно передо мной была поставлена конкретная задача — создать простой фронтенд [VirtoCommerce][2]-магазина с использованием какой нибудь популярной CMS. Недолго думая выбрал Orchard — скачал исходники последней версии, скомпилировал, запустил и приступил к работе. ![image][3] [Читать дальше →][4]

[1]: http://www.ideliverable.com/blog/writing-an-orchard-webshop-module-from-scratch-part-1
[2]: http://virtocommerce.com
[3]: https://habrastorage.org/files/d91/637/459/d916374590984964bf38ffa36f23319d.jpg
[4]: http://habrahabr.ru/post/264689/#habracut

[>] Сказ о том как мы «движок для блогов WordPress» заточили под CRM/ERP/ACM систему комплексного управления предприятием
habra.14
habrabot(difrex,1) — All
2014-12-09 10:30:04


![image][1] Многие у нас в стране думают что WordPress это движок для блогов. Особо смелые признали за ней ранг CMS. Но мало кто отважится признать WordPress полноценным фреймворком для создания сложных веб-приложений. А мы не такие. Мы попробовали :) И вот что из этого получилось… [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/801/b2c/8d8/801b2c8d84849d145d5c3fd4d1c8c283.png
[2]: http://habrahabr.ru/post/245329/#habracut

[>] Lock-free структуры данных. Диссекция очереди
habra.14
habrabot(difrex,1) — All
2014-12-09 12:00:04


![][1] Со времени [предыдущего поста][2] из жизни lock-free контейнеров прошло немало времени. Я рассчитывал быстро написать продолжение трактата об очередях, но вышла заминка: о чем писать, я знал, но реализации на C++ этих подходов у меня не было. «Не годится писать о том, что сам не попробовал», — подумал я, и в результате я попытался реализовать в [libcds][3] новые алгоритмы очередей. Сейчас настал момент, когда я могу аргументированно продолжить свой цикл. В данной статье закончим с очередями. Кратко напомню, на чем я остановился. Были рассмотрены несколько интересных алгоритмов lock-free очередей, а под занавес приведены результаты их работы на некоторых синтетических тестах. Главный вывод — всё плохо! Надежды на то, что lock-free подход на магическом compare-and-swap (CAS) даст нам пусть не линейный, но хотя бы _какой-то_ рост производительности с увеличением числа потоков, не оправдались. Очереди не масштабируются. В чем причина?.. [Читать дальше →][4]

[1]: http://habrastorage.org/getpro/habr/post_images/fe5/e1d/6b9/fe5e1d6b9d857a50da2edbe8399f44b4.jpg
[2]: http://habrahabr.ru/company/ifree/blog/219201/
[3]: http://libcds.sourceforge.net/
[4]: http://habrahabr.ru/post/230349/#habracut

[>] Час Кода в России
habra.14
habrabot(difrex,1) — All
2014-12-09 15:30:03


С 4 по 12 декабря 2014 года проходит_ беспрецедентная_ акция Час Кода в России. — [www.coderussia.ru/][1] На Хабре даже об [этом писали.][2] ![][3] Но сами организаторы что-то не очень хотят думать, а берут чужое (даже без указания авторства). _Это не история разоблачения, просто наблюдение._ [Читать дальше →][4]

[1]: http://www.coderussia.ru/
[2]: http://habrahabr.ru/company/codabra/blog/244287/
[3]: //habrastorage.org/files/2ba/d7a/b18/2bad7ab188d74d7fae8f5aa62bc6f61e.png
[4]: http://habrahabr.ru/post/245377/#habracut

[>] Как я потерял пароль от Android keystore, но потом смог восстановить с помощью Jetbrains Idea
habra.14
habrabot(difrex,1) — All
2014-12-09 16:30:04


**Предыстория** Жило-было в Google Play Android приложение с несколькими тысячами пользователей. Через год понадобилось его обновить. Ок, запускаем Idea, выбираем «Build» — «Generate Signed APK». Вспоминаю что за это время успел пересесть в Linux, ничего страшного, выбираю файл с ключами, ввожу ранее заботливо записанный пароль… Не подходит. Хмм… Ввожу еще раз, еще… Перебор вариантов, переспрос коллег… Всё плохо. [Что делать, что делать?][1]

[1]: http://habrahabr.ru/post/245365/#habracut

[>] YotaPhone 2: инновации и безопасность
habra.14
habrabot(difrex,1) — All
2014-12-09 16:30:04


2 декабря в МСИ «Гараж» в Парке Горького состоялась презентация YotaPhone 2. Компания «Актив», в которой я работаю, является технологическим партнером YotaDevices, поэтому мне удалось приобщиться к новому смартфону еще до презентации. Как приверженец платформы iOS я весьма прохладно отнесся к появлению этого девайса, но все же приписываемая ему инновационность вызывала любопытство. ![][1] Подробности под катом [Читать дальше →][2]

[1]: //habrastorage.org/files/20e/a03/096/20ea03096e484b1cb05c68e2deae78c2.jpg
[2]: http://habrahabr.ru/post/245379/#habracut

[>] Современные способы аутетификации и безопасность iOS-устройств
habra.14
habrabot(difrex,1) — All
2014-12-09 17:00:04


Сегодня мы выложим два новых доклада с нашей конференции мобильных разработчиков [ #MBLTDev][1], которая прошла в конце октября в Москве. Оба доклада посвящены безопасности: один от главы EMEA PayPal Тима Мессершмидта про современные виды аутентификации, второй – от ведущего инженера по безопасности viaForensics Андрея Беленко про безопасность iOS-устройств. Тим призвал отказывать от паролей и рассказал, чем их можно заменить. «8,5% пользователей используют в качестве пароля Password или 123456 45% уходят с сайта вместо того, чтобы восстановить пароль или ответить на секретные вопросы. — сказал Тим. — Для повышения безопасности мы в PayPal предлагаем использовать носимые устройства или аутентификацию без пароля (например, OpenID).»




[Презентация][2] [Читать дальше →][3]

[1]: http://mbltdev.ru
[2]: http://www.slideshare.net/elegion/ss-40957408?related=1
[3]: http://habrahabr.ru/post/245367/#habracut

[>] Современные способы аутентификации и безопасность iOS-устройств
habra.14
habrabot(difrex,1) — All
2014-12-09 18:00:04


Сегодня мы выложим два новых доклада с нашей конференции мобильных разработчиков [ #MBLTDev][1], которая прошла в конце октября в Москве. Оба доклада посвящены безопасности: один от главы EMEA PayPal Тима Мессершмидта про современные виды аутентификации, второй – от ведущего инженера по безопасности viaForensics Андрея Беленко про безопасность iOS-устройств. Тим призвал отказывать от паролей и рассказал, чем их можно заменить. «8,5% пользователей используют в качестве пароля Password или 123456 45% уходят с сайта вместо того, чтобы восстановить пароль или ответить на секретные вопросы. — сказал Тим. — Для повышения безопасности мы в PayPal предлагаем использовать носимые устройства или аутентификацию без пароля (например, OpenID).»




[Презентация][2] [Читать дальше →][3]

[1]: http://mbltdev.ru
[2]: http://www.slideshare.net/elegion/ss-40957408?related=1
[3]: http://habrahabr.ru/post/245367/#habracut

[>] [Из песочницы] Упрощаем for-цикл по индексам: range-based версия
habra.15
habrabot(difrex,1) — All
2015-08-15 01:00:03


Волею судеб мне довелось заняться одной задачей автоматизации при помощи Python-скрипта. Изучая базовые конструкции, наибольший интерес у меня вызвал следующий код:

for index in range(0,10) :
do_stuff()


Удобно, читаемо, лаконично (модно, стильно, молодежно)! Почему бы не организовать такой же цикл в С++? Что из этого вышло — под катом. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/264803/#habracut

[>] Pebble: работа со статической графикой на примере создания 7-segment watchface
habra.14
habrabot(difrex,1) — All
2014-12-09 19:00:04


![][1] Все приложения для часов Pebble делятся на две категории _watchapp_ — просто приложения, и _watchface_ — приложения «часы», которые исходя из названия являются лицом устройства. Отличие «фейсов» — отсутствие реакции на хардварные кнопки, так как «UP» и «DOWN» используются для циклического переключения между установленными _watchface_. Но, наверное, в силу низкого разрешения экрана 144x168 px, найти органично вписывающийся в дизайн часов ватчфейс, который при этом выполняет основную свою функцию — отсчет времени, довольно непросто. Как мне кажется лучше всего на таком экране смотрятся цифры в стиле семисегментных индикаторов. Ниже, подробнее о том, как добавить в свой _watchface_ элегантного минимализма, индивидуальности и уникальных фишек. Итак, немного картинок, обрывков кода и в итоге ссылка на готовый проект. [Читать дальше →][2]

[1]: //habrastorage.org/files/404/ea7/27b/404ea727b7b84d8eb42841b90d584ff0.png
[2]: http://habrahabr.ru/post/245297/#habracut

[>] Битва с роботом, опасности социальных сетей и хакнутый WiFi: как прошел NeoQUEST-2015
habra.15
habrabot(difrex,1) — All
2015-08-15 02:30:03


![][1] В этой статье мы расскажем о докладах «очной ставки» питерского NeoQUEST-2015, поделимся материалами, и заодно вспомним, как это всё было! Читателей ждут:

* описания докладов
* презентации докладов: — «Узнать за 60 секунд» — «Обнаружение malware с помощью… осциллографа?» — «Evil Maid» — «Быстрый перебор медленных хэшей на GPU» — «Наглядный pentesting» — «TPM.TXT: попробуем взломать!» — «Crazy Car: управляем электроникой автомобиля через CAN-шину»
* яркие фотографии позитивных гостей NeoQUEST
* 3 видео с докладами

О том, как развлекались гости NeoQUEST в перерывах между докладами, и почему осталось только 3 видео с докладами — читаем под катом! [Читать дальше →][2]

[1]: https://habrastorage.org/files/0d1/59c/fe5/0d159cfe5d954245b1f448f05b1a36f7.jpg
[2]: http://habrahabr.ru/post/264369/#habracut

[>] Разработчики криптовалют — кто они? [Интервью]
habra.15
habrabot(difrex,1) — All
2015-08-15 04:30:02


[![][1]][2] В последние годы сектор финансового софта переживает бум. Причем развиваются не только около-банковские системы, а появляются и различные альтернативные решения. Одной из тем, вызвавших широкий общественный резонанс, стало появление и бурное развитие криптовалют. Помимо своей монетарной и сетовой составляющей, криптовалюты являются ещё и специализированным программным обеспечением. Кто же работает над их кодом, и как это делается? Самая популярная криптовалюта на сегодня — это Биткоин. Однако по скорости внедрения инноваций в последнее время стал заметен ещё и криптовалютный проект “Dash” (бывший “Darkcoin”) (по капитализации — Анонимная криптовалюта №1). В команде “Dash” есть русскоязычный разработчик, и я уговорил его дать интервью — специально для читателей Хабрахабра.

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

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

[1]: https://habrastorage.org/files/edb/43f/e2e/edb43fe2ea41470bb0fbd692554fcf23.jpg
[2]: http://habrahabr.ru/post/264723/
[3]: http://habrahabr.ru/post/264723/#habracut

[>] Мобильная печать
habra.15
habrabot(difrex,1) — All
2015-08-16 10:30:02


![][1] В наше время никого уже не удивишь печатью картиночек на листе бумаги. Существует огромный выбор принтеров (в том числе и карманных). Многие из моих знакомых покупают или собирают 3D-принтеры. Я же хочу рассказать, как я снова изобретал велосипед. Итак, снова шаг назад — это история про 2D печать. Рассказ про то, как я делал мобильный принтер для телефона на основе термального принтера (принтер, который печатает на термобумаге — не нужны чернила, только специальная бумага и электричество), модуля bluetooth и ещё нескольких мелочей. Хочу сразу предупредить, что в электронике и электротехнике я ничего не понимаю, что я принципиально не использовал готовых решений и библиотек. Поэтому это рассказ про рукожопство и велосипеды, про проблемы с которыми я столкнулся. Продолжайте чтение на свой страх и риск. [Читать дальше →][2]

[1]: https://habrastorage.org/files/591/700/86c/59170086cbda4e0893e8afd76a8db6ae.JPG
[2]: http://habrahabr.ru/post/264829/#habracut

[>] Мегафон — кто угодно может управлять вашим счётом
habra.15
habrabot(difrex,1) — All
2015-08-16 19:30:02


Недавно обнаружил, что если зайти на страницу с мобильного устройства через мобильный интернет Мегафона, то имеется возможность попасть в «Мегафон Сервис-Гид Северо-Запад» без пароля (для других регионов, возможно, существует аналогичная ссылка) ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/ca4/ffc/4e7/ca4ffc4e7750496c80028595af8c1846.png
[2]: http://habrahabr.ru/post/264849/#habracut

[>] [Из песочницы] Сериализация C++ с полиморфизмом и прототипами
habra.14
habrabot(difrex,1) — All
2014-12-09 19:30:04


Уже достаточно давно заинтересовался темой сериализации, а если конкретно, то сериализацией объектов, хранящихся по указателю на базовый класс. Например, если мы хотим загружать интерфейс приложения из файла, то скорее всего нам придется заполнять полиморфными объектами контейнер по типу “std::vector<iWidget\*>”. Возникает вопрос, как подобное реализовать. Этим я недавно решил заняться и вот что получилось. Для начала я предположил, что нам все-таки придется унаследовать в базовом классе интерфейс iSerializable, такого вида:

class iSerializable
{
public:
virtual void serialize (Node node) = 0;
};


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

[1]: http://habrahabr.ru/post/245305/#habracut

[>] Бизнес vs программная инженерия
habra.14
habrabot(difrex,1) — All
2014-12-09 22:30:04


_Где-то я слышал, что в психотерапии существует следующая методика работы с пациентом – пациенту предлагают сесть и написать в свободной, «потоковой» форме все что накипело, волнует, будоражит сознание и, отражаясь на подсознании, не дает спать по ночам. Применительно к этому есть хорошее, нежно ласкающее слух слово – фрирайтинг. Итак, почему я решил это написать – когда сталкиваешься с полным пренебрежением к проектированию ПО как таковому, пренебрежением к качеству и соблюдению хоть какой-нибудь методологии разработки, всегда удивляешься. Когда сталкиваешься с этим раз за разом, об этом уже хочется написать._ [Читать дальше →][1]

[1]: http://habrahabr.ru/post/245327/#habracut

[>] Полная анонимизация траффика через VPN + TOR/I2P. Собираем миддлбокс с нуля
habra.14
habrabot(difrex,1) — All
2014-12-10 00:30:03


В этой статье будет рассказано, как пробросить весь трафик операционной системы через TOR так, чтобы о наличии TOR-а операционная система даже не подозревала. ![][1] Это поможет не думать о бесконечных настройках прокси и onion, перестать бояться на тему «а не сливает ли торрент клиент мой реальный IP адрес, так как не полностью поддерживает прокси?» и, наконец, быть застрахованным от законодательного запрета TOR-а в России. Когда я говорю «TOR», я подразумеваю «TOR и I2P». По схожей методике сюда можно подключить любой даркнет. Статья — «чисто конкретная». Теория уже неплохо изложена в статье [Pandos][2] 'а [habrahabr.ru/post/204266/][3]. В данном тексте будет дана детальная инструкция «как сделать, чтобы работало».

### Постановка задачи

1. Мой компьютер должен по нажатию одной кнопки переходить в режим «весь трафик — не русский». 2. По нажатию второй кнопки он должен переходить в режим «весь траффик идет через TOR» 3. Третья кнопка — для I2P. 4. Входная TOR-нода должна находиться за рубежом. 5. Все это должно работать под linux, windows, android. Заранее: с OS X и iPhone тоже все в порядке, просто у меня их нету, так что протестить не смогу. [Далее][4]

[1]: http://habr.habrastorage.org/post_images/49e/a24/835/49ea24835969e47be3d690f30a269d8f.png
[2]: http://habrahabr.ru/users/pandos/
[3]: http://habrahabr.ru/post/204266/
[4]: http://habrahabr.ru/post/245435/#habracut

[>] Ubuntu Core (Snappy) с транзакционными обновлениями
habra.14
habrabot(difrex,1) — All
2014-12-10 01:00:05


![][1]Представьте, что ваши облачные инстансы обновляются так же чётко, точно и быстро, как ОС мобильного телефона. Что, если все приложения можно изолировать друг от друга полностью, так что установка какого-нибудь из них не повредит работе другого или что уязвимость в одном повлияет на другие? То есть программы ставятся без зависимостей друг с другом и без сборочных конструкций. Именно такую логику Canonical реализовала в новом образе [Ubuntu Core][2] (Snappy), который сегодня выкатили в облаке Azure и в виде KVM для установки на любой Linux-компьютер. Марк Шаттлворт назвал Ubuntu Core [самым большим нарушением традиции за 10 лет с момента создания Ubuntu][3], потому что здесь не используются пакеты .deb или apt-get. Новая система полностью меняет традиционную пакетную систему серверов и настольных версий Ubuntu. Это нововведение анонсировалось ещё в [мае 2013 года][4]. Тогда говорилось, что новые «клик-пакеты» в первую очередь «коснутся версий ОС для планшетов/смартфонов, но в последствии могут быть применены где угодно, вплоть до не убунтушных дистров и даже не линуксовых осей». Так оно и вышло. Систему сначала опробовали в Ubuntu Phone, а теперь накатили на серверные и десктопные Ubuntu. [Читать дальше →][5]

[1]: //habrastorage.org/files/102/0f8/225/1020f8225cd742f795957e1e4e00135d.png
[2]: http://www.ubuntu.com/cloud/tools/snappy
[3]: http://www.markshuttleworth.com/archives/1434
[4]: http://habrahabr.ru/post/179751/
[5]: http://habrahabr.ru/post/245437/#habracut

[>] [Из песочницы] 6 способов: как добавить security для Rest сервиса в Java
habra.14
habrabot(difrex,1) — All
2014-12-10 02:00:02


В данной статье я попытаюсь описать несколько способов, а точнее 6, как добавить security для rest сервиса на Java. Перед нашей командой была поставлена задача найти все возможные способы добавить security к rest сервису. Проанализировать все за и против и выбрать наиболее подходящий для нашего проекта. Когда я начал искать такую статью в Гугле ничего подходящего не нашел, а были лишь фрагменты и мне пришлось собирать эту информацию по крупицам. Так что думаю, данная статья будет полезна и другим Java разработчикам, пишущим back-end. Я не буду утверждать, что какой-то из этих способов лучше или хуже, все зависит от поставленной задачи и конкретного проекта. Поэтому какой из шести способов подходит больше всего вашему проекту решать только Вам. Я постараюсь описать принцип каждого из подходов и дать небольшой пример с использованием Java и Spring Security. [6 способов][1]

[1]: http://habrahabr.ru/post/245415/#habracut

[>] Анонимизация всего траффика через VPN + TOR/I2P. Собираем миддлбокс с нуля
habra.14
habrabot(difrex,1) — All
2014-12-10 02:30:04


В этой статье будет рассказано, как пробросить весь трафик операционной системы через TOR так, чтобы о наличии TOR-а операционная система даже не подозревала. ![][1] Это поможет не думать о бесконечных настройках прокси и onion, перестать бояться на тему «а не сливает ли торрент клиент мой реальный IP адрес, так как не полностью поддерживает прокси?» и, наконец, быть застрахованным от законодательного запрета TOR-а в России. Когда я говорю «TOR», я подразумеваю «TOR и I2P». По схожей методике сюда можно подключить любой даркнет. Статья — «чисто конкретная». Теория уже неплохо изложена в статье [Pandos][2] 'а [habrahabr.ru/post/204266/][3]. В данном тексте будет дана детальная инструкция «как сделать, чтобы работало».

### Постановка задачи

1. Мой компьютер должен по нажатию одной кнопки переходить в режим «весь трафик — не русский». 2. По нажатию второй кнопки он должен переходить в режим «весь траффик идет через TOR» 3. Третья кнопка — для I2P. 4. Входная TOR-нода должна находиться за рубежом. 5. Все это должно работать под linux, windows, android. Заранее: с OS X и iPhone тоже все в порядке, просто у меня их нету, так что протестить не смогу. [Далее][4]

[1]: http://habr.habrastorage.org/post_images/49e/a24/835/49ea24835969e47be3d690f30a269d8f.png
[2]: http://habrahabr.ru/users/pandos/
[3]: http://habrahabr.ru/post/204266/
[4]: http://habrahabr.ru/post/245435/#habracut

[>] В системе защиты от подделки запросов PayPal обнаружена серьезная уязвимость
habra.14
habrabot(difrex,1) — All
2014-12-10 04:30:02


Инженер из Египта Ясер Али во время исследования работы PayPal обнаружил критическую уязвимость, которая позволила ему полностью обойти используемую сервисом систему защиты от CSRF-атак ([межсайтовая подделка запросов][1]). Эту уязвимость он подробно описал в [своем блоге][2], мы перевели и адаптировали пост с описанием уязвимости. Для успешного проведения атаки такого рода злоумышленнику требуется заставить жертву обманным путем попасть по специально подготовленной ссылке, с помощью которой он сможет создавать запросы от лица жертвы. Атака возможна только если пользователь авторизован на веб-сайте, который подвергается ей. Пост подготовлен специально для корпоративного блога сайта о платежных системах c мониторингом обменников [Web-payment.ru][3]. [Читать дальше →][4]

[1]: https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D0%BB%D0%BA%D0%B0_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0
[2]: http://yasserali.com/hacking-paypal-accounts-with-one-click/
[3]: http://web-payment.ru/
[4]: http://habrahabr.ru/post/245445/#habracut

[>] Исследуем OpenWRT: чем отличаются образы uImage и sysupgrade
habra.15
habrabot(difrex,1) — All
2015-08-16 23:30:02


![][1] В комментариях к статье [“Прошиваем роутер Upvel UR-313N4G на OpenWRT” ][2] между вашим покорным слугой и уважаемым [Maysoft][3] завязался спор насчет различий в структуре образов uImage и sysupgrade прошивки OpenWRT. Я обещал [Maysoft][4] разобраться в проблеме, и вот перед вами эта статья. Как известно, в каталоге загрузок OpenWRT доступны, по большей части, прошивки двух типов — uImage и sysupgrade, например: openwrt-15.05-rc3-ramips-rt305x-dir-320-b1-initramfs-uImage.bin openwrt-15.05-rc3-ramips-rt305x-dir-320-b1-squashfs-sysupgrade.bin [Официальный FAQ][5] пишет об их различиях весьма скупо:

> What is the difference between the different image formats?
>
>
>
> a factory image is one built for the bootloader flasher or stock software flasher
>
>
>
> a sysupgrade image (previously named trx image) is designed to be flashed from within openwrt itself
>
>
>
> The two have the same content, but a factory image would have extra header information or whatever the platform needs. Generally speaking, the factory image is to be used with the OEM GUI or OEM flashing utilities to convert the device to OpenWrt. After that, use the sysupgrade images.

Согласно документации, содержание образов идентично, за исключением того, что в образе factory присутствуют дополнительные заголовки, чтобы этот образ можно было прошить через Web-интерфейс оригинальной прошивки. [Читать дальше →][6]

[1]: https://habrastorage.org/files/d90/9e5/26b/d909e526b8034f0bb821806160cc0c32.jpg
[2]: http://habrahabr.ru/post/264025/
[3]: http://habrahabr.ru/users/maysoft/
[4]: http://habrahabr.ru/users/maysoft/
[5]: http://wiki.openwrt.org/doc/faq/before.installation
[6]: http://habrahabr.ru/post/264843/#habracut

[>] mhddfs — Монтирование нескольких разделов в одну директорию
habra.15
habrabot(difrex,1) — All
2015-08-17 00:30:03


Хочу рассказать о том, как смонтироват в одну директорию два раздела. Честно говоря, никогда не задумывался о такой возможности, пока не попался клиент с подобным пожеланием. Поначалу мне показалось что это невозможно, но покопавшись в интернете нашел пару интересных статей. За основу в работе была взята статья с сайта [hotbits.ru][1]. Но в статье монтировали разделы одного и того же диска, мне же предстояло смонтировать разделы с разных дисков. Как оказалось, нет никакой разницы. [Читать дальше →][2]

[1]: http://hotbits.ru/2013/04/%D0%BC%D0%BE%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%B8%D1%85-%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2-%D0%B2-%D0%BE/
[2]: http://habrahabr.ru/post/264853/#habracut

[>] MindStream. Как мы пишем ПО под FireMonkey. Часть 4 Serialization
habra.14
habrabot(difrex,1) — All
2014-12-10 08:30:03


[Часть 1][1]. [Часть 2][2]. [Часть 3. DUnit + FireMonkey][3]. [Часть 3.1. По мотивам GUIRunner][4]. Ещё в начале увлечения программированием мне нравилось работать с файлами. Работа, правда, в основном заключалась в чтении входных данных и записей результатов. Дальше была работа с БД, файлами я пользовался все реже. Максимум IniFile иногда. Поэтому задача сериализации была довольно интересной для меня. Сегодня я расскажу о том, как мы добавили сериализацию в нашу программу, какие возникли трудности и как мы их преодолели. Так как материал уже не новый, то он скорее для новичков. Хотя, кое-какие приемы смогут покритиковать все.



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

[1]: http://habrahabr.ru/post/232955/
[2]: http://habrahabr.ru/post/234801/
[3]: http://habrahabr.ru/post/241301/
[4]: http://habrahabr.ru/post/241377/
[5]: http://habrahabr.ru/post/245441/#habracut

[>] Сравнение скорости исполнения кода Drupal для PHP 5.3-5.6 и 7.0. «Битва оптимизаторов кода» apc vs xcache vs opcache
habra.15
habrabot(difrex,1) — All
2015-08-17 01:00:02








----



##### В продолжение статьи:

[Ускорение и оптимизация PHP-сайта. Какие технологии стоит выбирать при настройке сервера под PHP][1]

----

В отличии от предыдущего материала, в этой статье сделан упор на сравнение скорости отклика и интерпретации кода для различных версий PHP, включая PHP 7 beta3. Для ранних версий PHP, проведено тестирование между оптимизаторами кода apc, xcache и opcaсhe. Эта статья не содержит тестов на производительность, таких как нагрузочные тесты ab и siege. Возможно, об этом я напишу в одной из следующих статей. В данном случае, меня не интересует сколько страниц за секунду способна сгенерировать та или иная версия php-интерпретатора, скорее то, с какой скоростью она сгенерирует мне страницу и с какой задержкой. В данном случае разница в том, что тесты производительности замеряют отношение скорости интерпретатора к общим ресурсам сервера, а так же подготовленности других связанных компонентов web-системы к работе на повышенных нагрузках. Остановимся на скорости и отклике. Очевидно что производительность зависит от скорости, но высокая скорость не может гарантировать высокую производительность. Это, возможно, связанно с тем, что недостаточно хорошо настроен web-сервер или база данных, а также с какими-то не было ограничениями, например сетевого стека. Что бы не заниматься попыткой объять необъятное, мы просто замерим скорость и отклик работы интерпретаторов php, на мощном сервере без нагрузки, с одинаковыми конфигурациями web-сервера, базы данных и операционной системы для всех испытуемых. Используем конфигурацию php-fpm + nginx. База данных MariaDB. Все технические детали скрыты под спойлером ниже. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/264487/
[2]: http://habrahabr.ru/post/264775/#habracut

[>] SoC: пишем реализацию framebuffer для контроллера в FPGA
habra.15
habrabot(difrex,1) — All
2015-08-17 06:00:02


![][1] Приветствую! [В прошлый раз][2] мы остановились на том, что подняли DMA в FPGA. Сегодня мы реализуем в FPGA примитивный LCD-контроллер и напишем драйвер фреймбуфера для работы с этим контроллером. Вы ещё раз убедитесь, что разработка под FPGA и написание драйверов под Linux дело очень простое, но интересное. Также в конце есть маленький опрос — хочется узнать мнение сообщества. Если не сложно, прошу проголосовать. [Добро пожаловать][3]

[1]: https://habrastorage.org/files/a63/5af/c38/a635afc38da84c6a8882ae9550030d48.jpg
[2]: http://habrahabr.ru/company/metrotek/blog/248145/
[3]: http://habrahabr.ru/post/263571/#habracut

[>] «Ваша конфиденциальность очень важна для нас». Читаем Заявление о конфиденциальности корпорации Майкрософт
habra.15
habrabot(difrex,1) — All
2015-08-17 14:30:02


Прошлая неделя во многом прошла под знаком Microsoft — точнее обсуждения того, какие персональные данные собирает новая операционная система. Но прежде чем подробно разобрать этот вопрос. позволю себе цитату из [The Guardian][1]:

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

Ну а теперь [посмотрим][2], что хочет знать о нас Microsoft. [Читать дальше →][3]

[1]: http://www.theguardian.com/technology/2014/sep/29/londoners-wi-fi-security-herod-clause
[2]: https://www.microsoft.com/ru-ru/privacystatement/default.aspx
[3]: http://habrahabr.ru/post/264885/#habracut

[>] [Из песочницы] Использование фильтра Калмана для определения производных измеряемой величины
habra.15
habrabot(difrex,1) — All
2015-08-17 15:00:03


Недавно занимался решением задачи передачи вектора состояния из имеющейся модели движения в специальное устройство формирования навигационного сигнала. При этом существовали следующие ограничения:

* модель движения примерно периодически отправляет ранее рассчитанные координаты и скорость объекта с меткой времени в известном формате по UDP;
* имитатор навигационного сигнала умеет устанавливать TCP-соединение и через него принимать вектор состояния, включающий кроме координат и скоростей еще ускорения и джерки — производные ускорения или третьи производные координат;
* при скоростях до 10^4 м/с возмущающее ускорение не превышает 0.001 м/с2;
* координаты можно считать независимыми;
* в имитатор навигационного сигнала должен поступать .

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

[1]: http://habrahabr.ru/post/264895/#habracut

[>] Test lab v.8 — лаборатория, построенная на базе реальных корпоративных сетей. Принять участие в разработке
habra.15
habrabot(difrex,1) — All
2015-08-17 16:00:02


![][1] Разрабатывая лаборатории «Test lab» мы стараемся охватить практически все области ИБ: безопасность сетей, ОС и приложений. Участникам предлагается выполнить эксплуатацию различных уязвимостей, связанных с работой сетевых компонентов и криптографических механизмов, ошибками конфигурации и кода, а также с человеческим фактором. Участники, выступающие в роли пентестеров, пытаются эксплуатировать их, и, в случае удачи, получают доступ к серверам и рабочим станциям, каждый из которых содержит токен. Победителем считается участник, первым собравший все токены. Работа в лаборатории осуществляется на основе методики «серый ящик»: перед началом исследования предоставляется информация об инфраструктуре «Test lab» в виде схемы и описания деятельности виртуальной компании. Собирая пентестеров со всего мира, мы разрабатываем лаборатории «Test lab» для различных мероприятий, таких как всероссийский конкурс ПрофИТ-2013, ZeroNights'13, PHD IV.

##

В предыдущей лаборатории «Test lab v.7», запущенной 01 мая 2015 г, приняло участие более 2000 участников из 73 стран мира. Большиноство активных участников были из России, Украины, США, Германии и Китая. По мнению пентестеров, наиболее интересные задания были свзаны с эксплуатацией уязвимостей веб-приложений, в то время как брутфорс не представлял особого интереса и реализовывался в последнюю очередь, несмотря на то, что по мировой статистике уязвимости, связанные с использованием нестойких паролей, являются одной из основных причин компрометации корпоративных сетей. [Читать дальше →][2]

[1]: https://habrastorage.org/files/334/b59/ff9/334b59ff98cc41eab560006749203e93.png
[2]: http://habrahabr.ru/post/264805/#habracut

[>] Подпольный рынок кардеров. Перевод книги «Kingpin». Глава 4. «The White Hat»
habra.15
habrabot(difrex,1) — All
2015-08-17 17:00:02


![][1]Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «[одного своего знакомого][2]». В книге показывается путь от подростка-гика (но при этом качка), до матерого киберпахана, а так же некоторые методы работы спецслужб по поимке хакеров и кардеров. Начало и план перевода тут: «[Шкворень: школьники переводят книгу про хакеров][3]». [Пролог][4] [Глава 1. «The Key»][5] [Глава 3. «The Hungry Programmers»][6] [Глава 4. «The White Hat»][7] [Глава 5. «Cyberwar!»][8] [Глава 6. «I miss crime»][9] [Глава 34. DarkMarket][10] _(публикуем по мере готовности переводов)_ Логика выбора книги для работы со школьниками у меня следующая:

* книг про хакеров на русском языке мало (полторы)
* книг про кардинг на русском нет вообще(**UPD** нашлась [одна][11])
* Кевин Поулсен — редактор WIRED, не глупый товарищ, авторитетный
* приобщить молодежь к переводу и творчеству на Хабре и получить обратную связь от старших
* работать в спайке школьники-студенты-специалисты очень эффективно для обучения и показывает значимость работы
* текст не сильно хардкорный и доступен широкому кругу, но затрагивает вопросы информационной безопасности, уязвимости платежных систем, структуру кардингового подполья, базовые понятия инфраструктуры интернет
* книга иллюстрирует, что «кормиться» на подпольных форумах — плохо заканчивается

Кто хочет помочь с переводом других глав пишите в личку [magisterludi][12].

#### The White Hat

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

[1]: https://habrastorage.org/files/353/64b/a0e/35364ba0e409475fbd05cd11e8132734.jpg
[2]: https://en.wikipedia.org/wiki/Max_Butler
[3]: http://habrahabr.ru/post/261491/
[4]: http://habrahabr.ru/post/261491/
[5]: http://habrahabr.ru/post/264227/
[6]: http://habrahabr.ru/post/263819/
[7]: http://habrahabr.ru/post/264891/
[8]: http://habrahabr.ru/post/263813/
[9]: http://habrahabr.ru/post/264349/
[10]: http://habrahabr.ru/post/263293/
[11]: http://habrahabr.ru/company/piter/blog/204042/
[12]: http://habrahabr.ru/users/magisterludi/
[13]: http://habrahabr.ru/post/264891/#habracut

[>] .NET/Mono в Java? Легко!
habra.14
habrabot(difrex,1) — All
2014-12-10 09:00:03


Здравствуйте. Хочу представить свой проект – компилятор .NET/Mono в Java. Целью проекта является создание компилятора, и набора стандартных библиотек позволяющих переносить написанные приложения и библиотеки на платформу Java, версии не выше 1.6. Из аналогичных проектов мне известен лишь проект dot42. Но он заточен под Android и имеет собственную стандартную библиотеку не совсем совместимую с .NET/Mono. Пока есть только альфа версия, и поэтому для реального использования компилятор пока не годится, однако уже частично работоспособен, генерирует валидный код Java и поддерживает часть стандарта ECMA-335. Исходные коды на github.com: [Подробнее о том, что не поддерживается, что поддерживается и как это все работает.][1]

[1]: http://habrahabr.ru/post/245449/#habracut

[>] [Перевод - recovery mode ] При запуске реплеев игры World Of Tanks на вашем компьютере может исполняться произвольный код
habra.14
habrabot(difrex,1) — All
2014-12-10 12:00:03


Перевод с reddit.com Пару месяцев назад я иссследовал реплеи WoT и их формат. Я обнаружил, что способ, с помощью которого они хранят пакеты данных, позволяет легко получить возможность исполнения произвольного кода. После пары дней улучшения запуска кода в реплее до надежного состояния, я получил возможность встроить произвольный код в произвольный реплей. Этот код выполняется сразу после открытия, и нет способа остановить его с момента когда WoT-клиент начал воспроизводить реплей. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/245461/#habracut

Pages: 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 210