RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... 41
[>] [Из песочницы] Как я учился на своих ошибках или как сделать вторую игру лучше
habra.14
habrabot(difrex,1) — All
2014-11-18 15:00:03


Привет, Хабр! ![][1] Хочу поделиться с вами опытом разработки двух игр под Андроид, их продвижением и рассказать об ошибках, которые я совершал, и как я решил их избежать в будущем. Год назад я начал делать свою первую игру на Андроид. Всё начиналось с идеи. Обычная, ничем не примечательная — запоминать фигурки на экране. Ради опыта и своего первого проекта на **Google Play** я начал усердно работать с моим братом. **Ошибка №1 — Нежелание прислушиваться к чужому мнению** Неделя работы — и у нас уже был мало-мальски рабочий прототип. Ну конечно же, я показывал его друзьям, говорил о планах, спрашивал мнение. Многие говорили, что идея не новая, не интересная, но я не хотел это слышать и мы продолжали разработку. В конце концов мы сами поняли, что от игры многого ждать не стоит, но желание закончить начатое превзошло все. [Читать дальше →][2]

[1]: //habrastorage.org/files/d7f/ed3/79f/d7fed379f2c94ceca8a52db607f4987d.png
[2]: http://habrahabr.ru/post/243519/#habracut

[>] [Перевод] Когда строка не является строкой?
habra.14
habrabot(difrex,1) — All
2014-11-18 15:30:04


В рамках моей «работы» над стандартизацией C# 5 в технической группе [ECMA-334 TC49-TG2][1] мне посчастливилось увидеть несколько интересных способов, которыми [Владимир Решетников][2] проверял C# на прочность. В данной статье описана одна из проблем, которые он поднял. Разумеется, она, скорее всего, никак не затронет 99.999% C#-разработчиков… но разобраться все равно любопытно. Спецификации, используемые в статье:

* Стандарт [Unicode 7.0.0][3] – в особенности, [глава 3][4]
* [C# 5][5] (Документ Word)
* [ECMA-335 ][6](Спецификация CLI)



### Что такое строка?

Как бы вы объявили тип `string` (или `System.String`)? Я могу предположить несколько вариантов ответа на данный вопрос, от расплывчатых до довольно конкретных:

* «Какой-нибудь текст в кавычках»
* Последовательность символов
* Последовательность символов Юникода
* Последовательность 16-битных символов
* Последовательность кодов UTF-16

Только последнее утверждение полностью верно. Спецификация C# 5 (раздел 1.3) гласит:

> Обработка строк и символов в C# использует UTF-16. Тип
>
> `char`
>
> представляет код UTF-16, а тип string – последовательность кодов UTF-16.
>
>

Пока всё в порядке. Но это C#. А как насчет IL? Что используется там, и имеет ли это значение? Оказывается, что имеет… Строки должны быть объявлены в IL как константы, и природа этого способа представления важна – не только кодировка, но и интерпретация этих закодированных данных. В частности, последовательность кодов UTF-16 не всегда может быть представлена в виде последовательности кодов UTF-8. [Читать дальше →][7]

[1]: http://www.ecma-international.org/memento/TC49-TG2.HTM
[2]: https://twitter.com/vreshetnikov
[3]: http://www.unicode.org/versions/Unicode7.0.0/
[4]: http://www.unicode.org/versions/Unicode7.0.0/ch03.pdf
[5]: http://www.microsoft.com/en-us/download/details.aspx?id=7029
[6]: http://www.ecma-international.org/publications/standards/Ecma-335.htm
[7]: http://habrahabr.ru/post/243523/#habracut

[>] Компактная реализация RSA для встраиваемых применений
habra.14
habrabot(difrex,1) — All
2014-11-18 16:00:04


[RSA][1] является широкоизвестным алгоритмом шифрования с открытым ключом. На его основе, кроме асимметричного шифрования, можно также реализовать электронную подпись ([ЭЦП][2]). Эти возможности привлекательны для встраиваемых систем, микроконтроллеров. Сам метод шифрования с виду чрезвычайно прост:








где C,M,e,n — целые числа, M — открытый текст, числа e и n представляют собой открытый ключ, C — шифротекст. mod — остаток от деления. Расширование выглядит столь же просто:








где C,M,n играют ту же роль, что и при шифровании, d — закрытый ключ. При этом n=p\*q, где p и q — простые числа (секретные), e обычно равно 65537, d вычисляется на основе e, p и q. Криптостойкость основана на том, что для достаточно больших p и q задача разложения n на множители или обращения формулы шифрования без знания p и q не решается за приемлемое время. Но эта кажущаяся простота обманчива. За ней скрывается огромное количество деталей и сложностей реализации. Особенно если стоит цель получить эффективную по быстродействию и памяти реализацию, пригодную для применения в микроконтроллерах. Я не нашел в интернете подходящих библиотек, а попытки изучения исходников **libgcrypt** заводят в такие дебри, из которых не выберешься. Поэтому я написал свою компактную библиотеку, которой и делюсь с уважаемыми читателями. [Читать дальше →][3]

[1]: https://ru.wikipedia.org/wiki/RSA
[2]: https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D1%8C
[3]: http://habrahabr.ru/post/243425/#habracut

[>] Reveal для всех!
habra.14
habrabot(difrex,1) — All
2014-11-18 19:00:03


![][1] Здравствуйте, ** Хабровчане **! Я расскажу как я реализовал Circual Reveal анимацию из Lollipop, опустив порог до Gingerbread. В Lollipop появились нативные классы HardwareCanvas, RenderNodeAnimator для более плавной анимации и отрисовки, на нем построена Ripple и Reveal анимация. Теперь многие элементы рисуются и анимируются на уровне железа. [Читать дальше →][2]

[1]: //habrastorage.org/files/626/67f/1d0/62667f1d00eb4ba08d9eda3d93503cc0.jpg
[2]: http://habrahabr.ru/post/243541/#habracut

[>] Теоретический минимум *nix-based-систем для WebDev-падавана
habra.14
habrabot(difrex,1) — All
2014-11-18 20:00:02


![][1]

###### Помни: сила рыцаря-джедая — это сила Вселенной. Но помни: гнев, страх — это всё ведет на темную сторону Силы. Как только ты сделаешь первый шаг по темному пути, ты уже не сможешь с него свернуть…

Добрый день, уважаемый галактический сенат! На связи снова Денис Мельский, и сегодня на повестке дня — определение теоретического минимума познания \*nix систем для юного падавана web-мастерства. Хотелось бы начать с того, что все мы прекрасно знаем: на 67.4 % наши любимые интернеты крутятся на \*nix-based-серверах, а в жизни среднестатистического web-разработчика в вакууме — так и на все 90 %. ![][2] Для любителей пруфов — [welcome][3]. Т. ч. в нашем ремесле без знания \*nix-систем никак. Давайте проведем экскурс в мир \*nix и поймем, какими знаниями должен обладать юный падаван. Предлагаю рассмотреть три юниорских степени познания дзена управлением шайтан-машиной ака \*nix-сервак на примере всеми любимой ubuntu. [Читать дальше →][4]

[1]: //habrastorage.org/files/8c0/1ed/7fa/8c01ed7fa4a84b1a8bd27bf1dc126bfb.png
[2]: //habrastorage.org/files/431/32d/d9c/43132dd9c4e54039aff49e642fa9e8fc.png
[3]: http://en.wikipedia.org/wiki/Usage_share_of_operating_systems
[4]: http://habrahabr.ru/post/243563/#habracut

[>] Классика Computer Science
habra.14
habrabot(difrex,1) — All
2014-11-18 20:30:03


Привет, Хабражители! На той неделе у нас вышло переиздание классической книги [«Архитектура компьютера»][1]. ![image][2] Предлагаем пополнить коллекцию хорошими книгами с 18% скидкой, подробности внутри [Читать дальше →][3]

[1]: http://www.piter.com/collection/klassika-computer-science/product/arhitektura-kompyutera-6-e-izd
[2]: http://habrastorage.org/files/e63/fc1/414/e63fc1414db84ecea3acc1fd546ee983.jpg
[3]: http://habrahabr.ru/post/243497/#habracut

[>] Golang и ООП
habra.14
habrabot(difrex,1) — All
2014-11-19 02:30:03


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

[1]: //habrastorage.org/files/e1b/004/2d2/e1b0042d294c4991b9d67ad9be8cfbd5.jpg
[2]: http://habrastorage.org/files/cb2/802/618/cb280261874d4e0dbabfe6e8bdfd7a1d.jpg
[3]: http://habrahabr.ru/post/243593/#habracut

[>] [Перевод] Учебник по языку программирования D. Часть 3
habra.14
habrabot(difrex,1) — All
2014-11-19 07:00:06


Вторая часть перевода [D Programming Language Tutorial][1] от [Ali Çehreli][2]. Содержание главы расчитано для начинающих и, как мне кажется, даже не раскрывает темы. Но это перевод одной из глав. Предыдущие части:

1. [Часть 1][3]
2. [Часть 2][4]

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

[1]: http://ddili.org/ders/d.en/index.html
[2]: http://ddili.org/AliCehreli_resume.html
[3]: http://habrahabr.ru/post/226071/
[4]: http://habrahabr.ru/post/226565/
[5]: http://habrahabr.ru/post/243595/#habracut

[>] Хакатон в Казани: как что-то сделать и не забить на это
habra.14
habrabot(difrex,1) — All
2014-11-19 09:30:03


15 ноября в Казанском ИТ-парке стартовала Kazan Startup Week. Да, таких эвентов сейчас много, но здесь это делают на более менее подготовленной почве. Плюс, тут с каждым годом все больше программистов, особенно интересна их работа с детской аудиторией [http://juniorstartup.ru][1] и , но заметка будет немного о другом, хотя и частично с теми же участниками. ![][2] Итак, в субботу-воскресенье в Казани прошел Хакатон. В первый день как обычно были презентации идей и в итоге, после 24 часов кодинга (3-4 команды реально [не спали][3] всю ночь), из 50 проектов осталось чуть более 30. Помимо большого количества игр, были приложения, симулирующие эвакуацию из зданий, визуализатор химических реакций и даже проект, который позволяет выявить рак на ранних стадиях заболевания. [Читать дальше →][4]

[1]: http://juniorstartup.ru/
[2]: //habrastorage.org/files/569/136/6ac/5691366acc2f4735847e36e0f57815f7.png
[3]: http://instagram.com/p/vcNhrOSZSR/
[4]: http://habrahabr.ru/post/243599/#habracut

[>] Intel INDE 2015 — новый полезный инструмент для разработки кросс-платформенных приложений
habra.14
habrabot(difrex,1) — All
2014-11-19 13:30:05


![][1] Недавно компания Intel выпустила обновление для набора инструментов и библиотек INDE, про который неоднократно писал здесь мой коллега [Terror][2]. Причем, обновление настолько значительное, что его можно сравнить с апгрейдом с мопеда до внедорожника (хотя и мопед тоже останется у вас). Intel INDE включает в себя инструменты для полного цикла разработки приложений: настройка окружения (интеграция с IDE для Android), оптимизированные под каждую платформу классы (работа с медиа, библиотеки для работы с потоками, разнообразные утилиты), компиляторы, средства для отладки, профилирования и оптимизации кода. Все эти средства способны значительно ускорить и упростить создание кроссплатформенных приложений. А производительность на каждой отдельной платформе и архитектуре будет оптимальной. [Подробности про INDE][3]

[1]: //habrastorage.org/files/44c/407/38f/44c40738faed4927bf5d8335a21481e0.PNG
[2]: http://habrahabr.ru/users/terror/
[3]: http://habrahabr.ru/post/242105/#habracut

[>] Python Meetup 31.10.14: асинхронность и soft skills
habra.14
habrabot(difrex,1) — All
2014-11-19 14:00:03


Meetup. Так получилось, что последняя пятница месяца выпала как раз на 31 октября. Это, конечно, не могло не сказаться на формате проведения встречи. Духи играли с техникой, а наши докладчики рассказывали об асинхронной работе в JavaScript и Python, преимуществах open source ERP и CRM системы Odoo и жаловались, как же не просто быть хорошим программистом, но плохим человеком. [Читать дальше →][1]

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

[>] Mosh — SSH с блекджеком и роумингом
habra.14
habrabot(difrex,1) — All
2014-11-19 15:00:03


На Хабре [пару лет назад][1] уже упоминали Mosh, но, кажется, есть смысл напомнить хабражителям об этой великолепной программе, которая, вполне возможно, станет для кого-то одним из самых приятных открытий и облегчит жизнь. Забегая наперед, сразу спойлер — для mosh **не нужны** права суперпользователя, он **не является демоном**, и не занимается аутентификацией и шифрованием (это остается на плечах ssh). Разработали его в MIT, активно развивают, и поддерживают для всех платформ и дистрибутивов. ![][2] Чем же mosh лучше традиционного ssh-client, какие проблемы решает и почему вы, скорее всего, на него перейдете? [Читать дальше →][3]

[1]: http://habrahabr.ru/post/141912/
[2]: //habrastorage.org/files/35c/3dc/e8d/35c3dce8dd8a429da99742db364fb275.png
[3]: http://habrahabr.ru/post/243651/#habracut

[>] Анти-DDoS Voxility: чему нас научила война пиццерий
habra.14
habrabot(difrex,1) — All
2014-11-19 15:00:03


Вы даже не представляете, какие драмы могут разворачиваться в такой мирной, казалось бы, отрасли, как торговля пиццей. В одной из них довелось поучаствовать и нам, как облачному провайдеру: в декабре 2013 года «Империя пиццы» — один из клиентов [Cloud4Y][1] и крупнейшая сеть доставки пиццы в Москве и Московской области, начала интенсивную экспансию на новые территории, на которых уже присутствовали другие игроки. ![][2] _И у пиццы есть тёмная сторона_ Все бы ничего, но имперская ценовая политика в сфере предоставления услуг быстрого питания для его конкурентов имела демпинговый характер. Началась война на всех фронтах, и вскоре в ход пошли DDoS-атаки. [Читать дальше →][3]

[1]: http://cloud4y.ru/
[2]: //habrastorage.org/files/47b/1fb/f41/47b1fbf41fb946caa3306f69f2f6388a.jpg
[3]: http://habrahabr.ru/post/243647/#habracut

[>] [Из песочницы] Удобное удаленное управление консолью linux из-под Windows
habra.14
habrabot(difrex,1) — All
2014-11-19 15:00:03


Итак, друзья, некоторое подмножество нас (людей) так или иначе испытавает необходимость удаленного управления компьютером (как правило, сервера) на linux (способ может сработать и в BSD, и в Mac OS X, но я не пробовал) при помощи ssh. Другое подмножество использует Windows в качестве ОС на основной рабочей машине. К пересечению этих подмножеств обращена моя статья. UPD:_У меня часто спрашивают, зачем же всё, описанное в статье, надо. Всё просто: 1. Сохранение подключения при обрыве связи. Этот пункт для меня самый важный и сыграл решающую роль в том, чтобы взяться за настройку такой системы. Дело в том, что я живу в общежитии с очень-очень нестабильным интернетом, и обрывы связи у меня (в плохие дни) могут происходить поминутно. А putty требует последовательности действий, чтобы переподключиться каждый раз 2. Сохранение сессии. Зачастую, единственной задачей при подключении к серверу стоит: зайти в одну и ту же директорию и написать git pull. Чтобы каждый раз не вспоминать путь к этой директории, нужно сохранение сессии 3. Терминал поддерживает вкладки. Самое главное, что данный терминал можно использовать также и для cmd, и для PS, и для git bash консоли. Поэтому, не придется держать несколько разных терминалов открытыми. 4. Плюсы tmux: многооконность в одной сессии и split Не спорю, часть из этого можно решить другими средствами Как же получить комфортный remote access к bash из-под Windows? _ ![image][1] [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/249/406/2f0/2494062f01435f2734140f6f4b0779b8.png
[2]: http://habrahabr.ru/post/243613/#habracut

[>] Apple выпустила iOS 8.1.1
habra.14
habrabot(difrex,1) — All
2014-11-19 15:30:03


Компания выпустила набор обновлений для своих продуктов, в т. ч. iOS 8.1.1 (APPLE-SA-2014-11-17-1), закрыв ряд уязвимостей в компонентах мобильной ОС с формулировкой "_This release includes bug fixes, increased stability and performance improvements for iPad 2 and iPhone 4S_". Всего было закрыто девять уязвимостей в различных компонентах, включая браузерный движок WebKit и сервис блокировки экрана Lock Screen. Кроме этого, специально для iPad 2 & iPhone 4S были исправлены недоработки ОС, которые приводили к быстрой разрядке аккумулятора при использовании Wi-Fi, а также проблемы с подключением устройства по Bluetooth. ![][1] Список исправленных уязвимостей представлен ниже. [Читать дальше →][2]

[1]: //habrastorage.org/files/9af/0a8/824/9af0a88241f446398e92d900f325c9f1.png
[2]: http://habrahabr.ru/post/243585/#habracut

[>] [Из песочницы] Eskimo — Node.js бойлерплэйт для создания прототипов
habra.14
habrabot(difrex,1) — All
2014-11-19 15:30:03


[Эскимо][1] — новый Node.js бойлерплэйт для быстрого прототайпинга (MVP). Даже если интернет заполнен разными бойлерплэйтами и фрэймворками, на нынешний день отсутствует современный, модульный и минимальный бойлерплэйт для запуска прототипов (специально для строительства rapid minimal product-ов «RMVP's»). Проект создается с малого, одним человеком, но потом, под влиянием вкладчиков, он растет до непредсказуемых размеров. Поиск в Google и GitHub про Nodejs бойлерплэйт и Nodejs фрэймворк дает сотни результатов. Но многие из этих запускателей проектов не имеют автоматизации для развертывания и тестирования продуктов. Некоторые игнорируют практику фронт-энда и не используют [Bower][2], [Bootstrap][3], [Font Awesome][4], [S3/CloudFront][5], [clustering][6] и [LESS][7]. И ни один бойлерплэйт или фрэймворк не внедрили инъекцию зависимостей с помощью [электролита][8], за исключением [Эскимо][9] и проекта [Джареда Хэнсона][10]. [Читать дальше →][11]

[1]: http://eskimo.io/
[2]: http://bower.io/
[3]: http://getbootstrap.com/
[4]: http://fontawesome.io/
[5]: https://aws.amazon.com/
[6]: http://nodejs.org/api/cluster.html
[7]: http://lesscss.org/
[8]: https://github.com/jaredhanson/electrolyte
[9]: http://eskimo.io
[10]: https://github.com/jaredhanson
[11]: http://habrahabr.ru/post/243579/#habracut

[>] Взгляд из Японии на аномалии российского трафика, ошибки ARM TrustZone, взлом смартфонов через NFC — что было на PacSec
habra.14
habrabot(difrex,1) — All
2014-11-19 15:30:04


Одна из известнейших в Японии конференций по информационной безопасности [PacSec][1] состоялась 12 и 13 ноября в Токио. Конференция проводится уже в 12-й раз вместе с [AVTOKYO][2] — менее формальной хакерской тусовкой с интернациональным лозунгом «No drink, no hack». По западным меркам PacSec невелика: в этом году она собрала меньше 200 человек, что тяжело сравнивать с посещаемостью того же PHDays IV, где участвовало 2500. [![image][3]][4] _Отдавая дань «[New Rose Hotel][5]» праотца киберпанка Уйльяма Гибсона, докладчики Positive Technologies не удержались и протестировали капсульный отель_ На конференции присутствовали звездные спикеры с уже известными докладами: Карстен Ноль (Karsten Nohl) представил работу «Bad USB: об аксессуарах, обратившихся во зло» ([Bad USB — On Accessories that Turn Evil][6]), Брайан Горенк и Мэтт Молиньяве из HP (Brian Gorenc, Matt Molinyawe) выступили с исследованием «Взрываем сотик: строим свой фаззер для SMS и MMS» ([Blowing up the Celly — Building Your Own SMS/MMS Fuzzer][7]). [Читать дальше →][8]

[1]: https://twitter.com/PacSecjp
[2]: http://www.avtokyo.org/
[3]: http://habrastorage.org/getpro/habr/post_images/d79/8f4/fd7/d798f4fd7bd8e90dba2841e6c4530a91.jpg
[4]: http://habrahabr.ru/company/pt/blog/243627/
[5]: http://lib.ru/GIBSON/hotelru.txt
[6]: http://habrahabr.ru/post/239305/
[7]: http://www.defcon.org/images/defcon-22/dc-22-presentations/Gorenc-Molinyawe/DEFCON-22-Brian-Gorenc-Matt-Molinyawe-Blowing-Up-The-Celly.pdf
[8]: http://habrahabr.ru/post/243627/#habracut

[>] Пара слов о кэшировании данных при чтении и смартпойнтерах
habra.14
habrabot(difrex,1) — All
2014-11-19 15:30:04


Я не думаю что сильно ошибусь, если скажу, что у большинства читателей данной статьи на компьютере присутствует папка, в которой хранятся наработки кода, применяющиеся потом в боевых проектах. Маленькие такие кусочки алгоритмов, на которых проверяется сама возможность реализации той или иной идеи. Я их называю «ништячки». Чем больше программист работает по своим задачам, тем больше эта папочка пухнет. Вот моя уже вылезла за пределы семи сотен различных демопримеров. Но проблема в том, что в 99 процентов случаев все эти «ништячки» пишутся в стол, и о существовании оных наработок знает только владелец данной папки, а ведь там же иногда целые закрома идей, подходов к реализации, алгоритмических трюков, да и просто остановленных на взлете мыслей, которыми не грех бы и поделиться (а вдруг кто-то возьмет да и разовьет подход). В данной статье я поделюсь тремя наработками, которые вышли как раз из таких вот «папок с ништяками» и уже не первый год применяются в наших боевых проектах. Будет немножко ассемблера — но не пугайтесь, он там только в виде информационной составляющей. [Читать дальше →][1]

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

[>] Способы передачи финансовых данных #2: протокол FAST
habra.14
habrabot(difrex,1) — All
2014-11-19 16:00:03


[![image][1]][2] В одном из прошлых топиков мы рассмотрели [протокол FIX][3], который был создан для передачи финансовой информации и автоматизации коммуникаций на фондовом рынке. Однако этот протокол оказался не самым идеальным инструментом в условиях все увеличивающихся объёмов финансовых данных, поэтому в качестве его развития был создан новый стандарт — протокол FAST (FIX Adapted for STreaming). Сегодня мы поговорим об этой технологии. [Читать дальше →][4]

[1]: http://habrastorage.org/getpro/habr/post_images/4b6/3d9/708/4b63d970876a4ce8dd45b7585795d48d.jpg
[2]: http://habrahabr.ru/company/itinvest/blog/243657/
[3]: http://habrahabr.ru/company/itinvest/blog/242789/
[4]: http://habrahabr.ru/post/243657/#habracut

[>] Уязвимость в Android < 5.0 (ObjectInputStream)
habra.14
habrabot(difrex,1) — All
2014-11-19 17:00:05


Как сообщает Jann Horn в рассылке [Full Disclosure][1], в Android 5.0 включили патч, который исправляет уязвимость в объекте java.io.ObjectInputStream. До этого патча java.io.ObjectInputStream не проверял, является ли объект сериализируемым, перед его де-сериализацией. Атакующему достаточно создать экземпляр любого класса с конструктором без параметров и наполнить его поля случайными значениями. При срабатывании сборщика мусора, у этого экземпляра будет вызван метод finalize. В конечном итоге, если передать этот экземпляр в сервис system\_service через Intents с Bundles, произойдет перезапись указателя на адрес, подконтрольный злоумышленнику, и если ему удастся записать нужный payload на этот адрес, код атакующего выполнится с привилегиями system\_service. [Читать дальше →][2]

[1]: http://seclists.org/fulldisclosure/2014/Nov/51
[2]: http://habrahabr.ru/post/243663/#habracut

[>] Безопасность 4G: захватываем USB-модем и SIM-карту с помощью SMS
habra.14
habrabot(difrex,1) — All
2014-11-19 22:30:03


[![image][1]][2] Телеком-операторы активно рекламируют быструю и дешевую 4G-связь. Но насколько она защищена, знают немногие. Экспертам Positive Technologies в процессе исследования безопасности 4G-коммуникаций удалось найти уязвимости в USB-модемах, позволяющие взять под контроль компьютер, к которому подключён модем, а также аккаунт абонента на портале мобильного оператора. Кроме того, атаки на SIM-карту с помощью бинарных SMS позволяют перехватить и расшифровать трафик абонента, либо просто заблокировать заданную «симку». [Читать дальше →][3]

[1]: http://habrastorage.org/getpro/habr/post_images/786/3ab/6fb/7863ab6fb663ac902f848d3aa16ce538.jpg
[2]: http://habrahabr.ru/company/pt/blog/243697/
[3]: http://habrahabr.ru/post/243697/#habracut

[>] Защита личных фотоснимков на телефонах Android
habra.14
habrabot(difrex,1) — All
2014-11-19 22:30:03


![][1] Как сделать личные фотографии на своем телефоне недоступными для посторонних? Как настроить телефон таким образом, чтобы при фотографировании конфиденциальные снимки автоматически записывались в криптоконтейнер? И как сохранить за собой возможность быстрого и удобного доступа к ним? [Читать дальше →][2]

[1]: //habrastorage.org/files/b3c/201/b13/b3c201b1364844a7bde795845e14a36a.jpg
[2]: http://habrahabr.ru/post/243463/#habracut

[>] [Перевод] Эффективный Django. Часть 2
habra.14
habrabot(difrex,1) — All
2014-11-20 13:00:02






_Продолжение перевода статей о Django с сайта [effectivedjango.com][1]. Наткнулся я на этот сайт во время изучения данного фреймворка. Информация размещенная на этом ресурсе показалась мне полезной, но так как нигде не нашел перевода на русский, решил сделать сие доброе дело сам. Этот цикл статей, как мне думается, будет полезен веб-разработчикам, которые делают только первые шаги в изучении Django._ [Приступить к чтению][2]

[1]: http://effectivedjango.com/
[2]: http://habrahabr.ru/post/242261/#habracut

[>] [Из песочницы] Изучаем WatchKit — создаем первое приложение для Apple Watch
habra.14
habrabot(difrex,1) — All
2014-11-20 17:00:03


Буквально пару дней назад Apple выпустила Xcode 6.2 с поддержкой iOS 8.2 beta и WatchKit. Данный фреймворк предназначен для взаимодействия с Apple Watch и разработки приложений для них. Впрочем, все не так просто. [Читать дальше →][1]

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

[>] [Из песочницы] Использование анонимных методов в Delphi
habra.14
habrabot(difrex,1) — All
2014-11-20 17:00:03


Поводом для написания статьи стал интерес к возможностям анонимных функции в Delphi. В разных источниках можно найти их теоретические основы, информацию о внутреннем устройстве, а вот примеры использования везде даются какие-то тривиальные. И многие задают вопросы: а для чего вообще нужны эти _reference_, какая может быть польза от их применения? Поэтому предлагаю некоторые варианты использования анонимных методов, применяемые в других языках, возможно, более ориентированных на функциональный стиль программирования. [Читать дальше →][1]

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

[>] [Из песочницы] ASP.NET vNext приложение под Ubuntu
habra.14
habrabot(difrex,1) — All
2014-11-20 19:00:03


Я хочу рассказать про мой опыт развертывания ASP.NET vNext под Ubuntu 14.04. Сам я долгое время разрабатываю под Widows и дела с Unix системами если и имел, то вскользь и незаметно для меня и для Unix систем. Но, несмотря на это, новости о переводе части .Net в OpenSource с поддержкой Unix меня порадовали как повод для дальнейшего развития и расширения границ знаний. В результате недолгих мучений и исследований различных форумов и issue трекеров мне удалось то, что раньше казалось немыслимым. Код написанный на C#, который запускается в среде придуманной и разработанной в MS, который представляет из себя ASP.NET MVC приложение (!) заработал. [Читать дальше →][1]

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

[>] [Перевод] Выразительный JavaScript: Document Object Model (объектная модель документа)
habra.14
habrabot(difrex,1) — All
2014-11-21 02:30:04


Когда вы открываете веб-страницу в браузере, он получает исходный текст HTML и разбирает (парсит) его примерно так, как наш парсер из главы 11 разбирал программу. Браузер строит модель структуры документа и использует её, чтобы нарисовать страницу на экране. Это представление документа и есть одна из игрушек, доступных в песочнице JavaScript. Вы можете читать её и изменять. Она изменяется в реальном времени – как только вы её подправляете, страница на экране обновляется, отражая изменения. [Читать дальше →][1]

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

[>] Just backup btrfs
habra.14
habrabot(difrex,1) — All
2014-11-21 03:00:04


К btrfs приглядывался давно, даже на дисках с различными медиа-данными использовал около года, но расширенной функциональностью этой замечательной файловой системы не пользовался. А вот появилось обновление — два новеньких SSD, было решено во время переноса системы заодно перейти на btrfs. Всё отлично — RAID0 для данных RAID1 для метаданных средствами файловой системы, сжатие на лету, корень в одном суб-томе (subvolume), домашняя папка в другом, веб-сайты в третьем. Всё это грузится прямо с UEFI в Linux EFI stub без GRUB и других загрузчиков, работает быстро и удобно. И вот дошло дело до снимков (snapshot), их я хотел использовать для резервных копий суб-томов средствами всё того же драйвера btrfs. Поиск выдает несколько релевантных решений, но одни решения слишком громоздки (синхронизация резервных копий, через сеть, создание каких-то репозиториев, вложенных потоков и т.д.) и навязывают свою архитектуру, другие не имеют адекватной ротации резервных копий (можно указать только один интервал и количество копий в нём). Решение принято — новому инструменту быть! [Читать дальше →][1]

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

[>] За один проход
habra.14
habrabot(difrex,1) — All
2014-11-21 07:00:03


За один проход. Среди задач по программированию часто попадаются такие: дана последовательность однотипных элементов (обычно это числа), требуется за один проход по ней найти какую-нибудь характеристику (среднее квадратическое отклонение, количество минимальных элементов, непрерывный участок с наибольшей суммой...) Дополнительное ограничение — последовательность может быть очень длинной, и в память не поместится. Других ограничений на элементы последовательности, обычно, не накладывается. С этими задачами всё, более или менее, понятно: нужно найти то, что на мехмате МГУ называют «индуктивным расширением» искомой функции, и реализовать её вычисление. Если найти не удалось (требуемый объём памяти слишком велик), то задача не решается. Но попадаются и другие задачи. В них есть дополнительные ограничения на элементы последовательности в совокупности, и эти ограничения приходится существенно использовать для решения (и проверять их не надо). Простейшая такая задача выглядит так: _**Задача 1. В последовательности записаны целые числа от 1 до N в произвольном порядке, но одно из чисел пропущено (остальные встречаются ровно по одному разу). N заранее неизвестно. Определить пропущенное число**_ Решение очевидно: просматриваем числа, находим их количество K и сумму S. По условию, N=K+1, значит, сумма чисел от 1 до N будет равна (K+1)\*(K+2)/2, и пропущенное число равно (K+1)\*(K+2)/2-S. Если вы почему-то боитесь переполнений, то работайте с беззнаковыми числами (там переполнения не страшны — но будьте осторожны с вычислением (K+1)\*(K+2)/2 :) ), или вместо суммы ищите XOR всех чисел. [Другие задачи][1]

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

[>] Как провести бенчмарк или кто быстрее, Слон или Селедка?
habra.14
habrabot(difrex,1) — All
2014-11-21 12:00:04


Я часто слышу советы по сравнению алгоритмов — “проведи бенчмарк и будет понятно”. Или сам довольно часто хочу проверить производительность того или иного инструмента или алгоритма. В сети много анти-примеров как люди проводят бенчмарк. Видел много правильных и успешных бенчмарков, видел кривые бенчмарки. Ниже будет описание как нужно проводить бенчмарк, с простыми примерами на простом C. Для тех, кто профи в этом я вряд ли открою что то новое, а для тех, кто хочет этому научится — соберу знания в одной статье. [Читать дальше →][1]

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

[>] [recovery mode] Адаптивное хеширование
habra.14
habrabot(difrex,1) — All
2014-11-21 13:30:03


![image][1] **Preview.** Эта идея уже очень давно мучала мой воспаленный криптографией мозг. **TL;DR** идея хеш функции которая генерируется на основе входных данных [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/7e5/ca3/2c3/7e5ca32c389f78f77a21a454ec9afecc.png
[2]: http://habrahabr.ru/post/243849/#habracut

[>] Вышел новый PyCharm 4: больше да лучше!
habra.14
habrabot(difrex,1) — All
2014-11-21 14:30:02


Всем пятничный привет от JetBrains! Мы рады рассказать вам, что на днях вышел новый PyCharm 4, который [уже доступен для скачивания][1]. С момента предыдущего релиза PyCharm 3.4 прошло ровно полгода, за это время мы поработали над разными подсистемами PyCharm'а, и теперь рады рассказать, что же интересного и важного появилось в новой версии PyCharm. В ней мы сделали упор на инструменты для научного программирования. Пожалуй, главной и долгожданной особенностью этого релиза является поддержка **IPython Notebook** прямо в PyCharm: [Читать дальше →][2]

[1]: http://www.jetbrains.com/pycharm/download
[2]: http://habrahabr.ru/post/243831/#habracut

[>] Отчет о конференции Firebird 2014
habra.14
habrabot(difrex,1) — All
2014-11-21 15:00:03


24-25 октября 2014 года в Праге прошла международная конференция по СУБД Firebird. Присутствовало 110 участников, 18 докладчиков представили 23 интересных презентации. Открывали конференцию ведущие разработчики СУБД Firebird Дмитрий Еманов и Влад Хорсун, с докладами о новых возможностях Firebird 3, который готовится к релизу в начале 2015 года, и Firebird 4 (2016). Наиболее важными новостями являются сокращение релизного цикла и фокус на отказоустойчивости и производительности. [Читать дальше →][1]

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

[>] Apple Watch. Что можно и чего нельзя в приложениях, разбор SDK
habra.14
habrabot(difrex,1) — All
2014-11-21 20:00:03


После официального анонса Apple Watch многие остались в недоумении — что же это такое, почему вокруг этого столько шума и действительно ли сдулся Apple. Было совершенно непонятно, зачем же эта штука нужна, что в ней такого особенного и чем она будет лучше других часов от конкурентов? Маркетинговая болтовня Тима Кука и попытки рисовать на этом девайсе не убедили совершенно.



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

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

[>] [Перевод] Моделирование пандемий с помощью языка Wolfram Language (системы Mathematica 10) на примере лихорадки Эбола
habra.14
habrabot(difrex,1) — All
2014-11-22 00:00:04


_Перевод поста Виталия Каурова (Vitaliy Kaurov) "[Modeling a Pandemic like Ebola with the Wolfram Language][1]". Выражаю благодарность за помощь в переводе участникам [сообщества ВКонтакте][2] Русскоязычной поддержки Wolfram _Mathematica_: [Еве Фрумен,][3] [Курбану Магомедову][4], [Глебу Михновцу][5], [Андрею Кротких][6]. Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно [здесь][7] (архив, ~100 МБ)._ Данные крайне важны для беспристрастного взгляда в будущее, но одни только данные еще не являются прогнозом. Для предсказания развития пандемий, террористических актов, природных катастроф, падений рынков и других сложных явлений нашего мира необходимы научные модели. Один из инструментов борьбы с текущей ужасающей вспышкой лихорадки Эбола — создание компьютерной модели возможного распространения вируса. Понимая, где и как быстро вспышка может проявиться, правительственные структуры смогут организовать эффективные профилактические меры для снижения скорости передачи и, в конечном итоге, остановить эпидемию. Наша цель сейчас: продемонстрировать построение математической модели, описывающей глобальное распространение пандемии на основе реальных данных. Модель применима к любой эпидемии, но мы будем иногда упоминать и использовать данные о текущей вспышке лихорадки Эбола в качестве примера. Результаты не следует рассматривать как реалистичную количественную оценку текущей пандемии вируса Эбола. ![EbolaAnimFINAL.gif][8] [Читать дальше →][9]

[1]: http://blog.wolfram.com/2014/11/04/modeling-a-pandemic-like-ebola-with-the-wolfram-language/
[2]: http://vk.com/wolframmathematica
[3]: http://vk.com/eshhka
[4]: http://vk.com/iamkurban
[5]: http://vk.com/glebmc
[6]: http://vk.com/id11899929
[7]: http://goo.gl/oPCN2q
[8]: http://habrastorage.org/getpro/habr/post_images/afe/0e4/fdf/afe0e4fdf38da47a1760a1e4d219e356.gif
[9]: http://habrahabr.ru/post/243913/#habracut

[>] Дайджест KolibriOS #6: последняя осень
habra.14
habrabot(difrex,1) — All
2014-11-22 19:30:03


![][1]Мы рады представить вам новый выпуск дайджеста изменений, сделанных в KolibriOS. По нескольким причинам, было решено делать не ежемесячный, а ежеквартальный дайджест. Именно поэтому он так долго не выходил. Но сейчас ноябрь, конец осени, а значит, пришло время поделиться новостями. Если интересно, добро пожаловать под кат. [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/332/ac0/97c/332ac097cb7bfba245943a942c69f564.png
[2]: http://habrahabr.ru/post/231433/#habracut

[>] Статья про нетипичную эксплуатацию SQL инъекции и про трюк в sqlmap. А еще — про Counter Strike
habra.14
habrabot(difrex,1) — All
2014-11-23 04:00:03


Очень давно не писал на Хабр и решил поделиться небольшой, произошедшей в свободное время, и забавной историей. Нет-нет, это статья не о том, что такое sqli и как от них защищаться, а про нетипичную «раскрутку» SQLi. Полезна будет скорее начинающим веб-пентестерам как обучение и, внезапно, некоторым админам мониторингов серверов Counter Strike.




Давайте по-порядку. [Читать дальше →][1]

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

[>] Web-разработка на Python глазами PHP-программиста
habra.14
habrabot(difrex,1) — All
2014-11-23 18:30:02




## Введение

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

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

[>] Автоматизированная классификация каталогов по цветам
habra.14
habrabot(difrex,1) — All
2014-11-23 21:30:04


Привет всем, В каталогах часто необходимо классифицировать объекты по цветам. Это могут быть товары, предметы искусства, художественные фото, да что угодно — важно что пользователи хотят находить только красные, только синие, синие с красным объекты каталога и т.п. Исходим из того, что в текстовых описаниях объектов отсутствуют упоминания цветов — классифицировать нужно на основе изображений. ![][1] Объектов в каталоге достаточно много (>1.000.000), ручная классификация станет в копейку, займет много времени и качество под вопросом. Привлечь профессионалов с правильно поставленным цветовосприятием на такой объем будет проблематично (художник и дня не усидит за такой работой), а случайные люди дадут «случайный» результат — известно, каждый видит цвета по разному, а рутинность работы будет способствовать значительным погрешностям вследствие замыленности взгляда. К тому же хотелось бы выделить не просто один цвет, а N доминантных, в порядке убывания доминанты. В общем, сразу понятно — на эту работенку неплохо бы взять хорошего дроида, смышлённого и симпотишного как C-3PO. Открывайте статью, будем конструировать. [Читать дальше →][2]

[1]: //habrastorage.org/files/a42/5a3/d78/a425a3d7818944058dc86a2befded5dd.jpg
[2]: http://habrahabr.ru/post/243975/#habracut

[>] Давим шумы средствами PulseAudio
habra.14
habrabot(difrex,1) — All
2014-11-24 02:00:03


![image][1] Часто вижу, как владельцы ноутбуков жалуются на шумы микрофона в Linux, в то время как под Windows их меньше, либо же они вообще отсутствуют. Как правило, виноват в этом производитель, установивший самый дешевый микрофон и/или кодек из возможных, надеясь на сглаживание отвратительного качества железа программными средствами. К счастью, в Linux есть замечательный аудиосервер PulseAudio, с помощью которого можно сделать аудио с вашего микрофона заметно качественней.

#### Способ #1

Для того, чтобы использовать встроенный модуль подавления шума и эха PulseAudio, работающий по алгоритму webrtc или speex, для какой-то конкретной программы, достаточно запустить ее с переменной окружения:



И весь ваш звук магическим образом будет избавлен от шумов и эха! [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/3da/d3d/63f/3dad3d63f71341ac88618c1b6331a5f7.png
[2]: http://habrahabr.ru/post/243977/#habracut

[>] [Перевод] Безопасность Виртуализации. Часть 1
habra.14
habrabot(difrex,1) — All
2014-11-24 02:30:03


Перевод статьи [«Virtualization Security»][1] за авторством Terry Komperda [Ссылка на вторую часть][2] **1\. КРАТКИЙ ОБЗОР** За короткое время виртуализация оказала огромное влияние на сферу IT и сетевые технологии, она уже поспособствовала огромной экономии затрат и окупаемости вложений для дата-центров, предприятий и Облака. Что кажется менее значительным и сильно отстает от реальности — это понимание виртуализации и виртуализированных сред с точки зрения безопасности. Некоторые люди считают, что виртуализация является более безопасной, чем традиционные среды, так как они слышали об изоляция между виртуальными машинами (ВМ) и потому что они раньше не слышали о каких-либо успешных атаках на гипервизоры. Другие считают, что новые виртуальные среды нуждаются в безопасности так же, как традиционные физические среды, поэтому применяют тот же многолетний подход к безопасности. Наиболее важным фактором является то, что новая среда более сложная. Виртуальные подходы, добавленные к уже существующим сетям, создают новую сеть, которая требует иного подхода к безопасности. Помимо обычных мер следует применять и специальные меры безопасности для виртуализации. В этом документе мы рассмотрим различия, проблемы, трудности, риски, вызванные применением виртуализации, а также предоставим дельные рекомендации и практические советы, чтобы убедиться, что после применения виртуализации сеть останется такой же защищенной. **2\. ВВЕДЕНИЕ** Виртуализация развивается и планирует задержаться здесь надолго. Хотя ее концепция известна уже более пятидесяти лет, эта технология будет по-прежнему расти и совершенствоваться в сферах, существующих повсеместно и планирующих развивать себя и дальше. Более того, половина всех серверов сегодня работают на Виртуальных Машинах. IDC предсказывает, что 70% всех рабочих нагрузок будет работать и на ВМ к 2014 году. Что действительно должно идти в ногу с технологическим прогрессом из-за широкомасштабного применения — это обеспечение безопасности компонентов виртуализации и виртуальных сред. Давайте рассмотрим некоторые выгоды в плане безопасности, существующие благодаря использованию виртуализации. [Читать дальше →][3]

[1]: http://resources.infosecinstitute.com/virtualization-security-2/
[2]: http://habrahabr.ru/post/243895/
[3]: http://habrahabr.ru/post/243845/#habracut

[>] [Из песочницы] Псевдопрактический пример замыканий и декораторов
habra.14
habrabot(difrex,1) — All
2014-11-24 14:30:03


Когда я только начинал изучать Python, большое впечатление на меня произвели route-декораторы в известном фреймворке flask. Конечно, я догадывался, как они могли быть реализованы, но как всегда желание писать (а не читать) превзошло необходимость взглянуть на исходный код flask, и мне пришлось выдумать то, что могло бы выглядеть так же лапидарно, как вышеупомянутые декораторы из flask'а. Упражнение на тему замыканий, декораторов и области видимости в Python могло бы выглядеть так:

def do_something(p):
return p

@implements(do_something, lambda: not p % 2)
def do_mod2_something(p):
return p / 2

@implements(do_something, lambda: not p % 3)
def do_mod3_something(p):
return p / 3

do_something(10) # returns 5
do_something(9) # returns 3
do_something(11) # returns 11


Как реализовать декоратор @implements? Может ли подобная реализация использоваться где-то в реальных проектах — вопрос, который мы редко принимаем во внимание, выдумывая себе упражнения для понимания того, как работают те или иные программы. Мне показалось, что это выглядит как некое замещение (override) функции, имеющее место в других языках программирования. [Читать дальше →][1]

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

[>] [Из песочницы] SSL-сертификаты: всем, каждому, и пусть никто не уйдёт обиженным
habra.14
habrabot(difrex,1) — All
2014-11-24 16:30:02


Как [ранее сообщалось][1] на GeekTimes, EFF при поддержке Mozilla, Cisco, Akamai, IdenTrust и исследователей из Мичиганского университета (University of Michigan) создали новый некоммерческий центр сертификации (Certificate Authority) [Let's Encrypt][2] [[1]][3]. Целью проекта является ускорение перехода всемирной паутины от HTTP к HTTPS. [Подробности, часть из которых уже была описана на GeekTimes][4]

[1]: http://geektimes.ru/post/241630/
[2]: https://letsencrypt.org/ "Let’s Encrypt"
[3]: #ref_one
[4]: http://habrahabr.ru/post/244037/#habracut

[>] [Перевод] Выразительный JavaScript: Обработка событий
habra.14
habrabot(difrex,1) — All
2014-11-24 19:30:03




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



* [Введение][1]
* [Величины, типы и операторы][2]
* [Структура программ][3]
* [Функции][4]
* [Структуры данных: объекты и массивы][5]
* [Функции высшего порядка][6]
* [Тайная жизнь объектов][7]
* [Проект: электронная жизнь][8]
* [Поиск и обработка ошибок][9]
* [Регулярные выражения][10]
* [Модули][11]
* [Проект: язык программирования][12]
* [JavaScript и браузер][13]
* [Document Object Model][14]
* [Обработка событий][15]
* Проект: игра-платформер
* Рисуем на Canvas
* HTTP
* Формы и поля ввода
* Проект: Paint
* Node.js
* Проект: веб-сайт по обмену умениями
* [Песочница для кода][16]

_Вы властны над своим разумом, но не над внешними событиями. Когда вы поймёте это, вы обретёте силу. Марк Аврелий, «Медитации»._ Некоторые программы работают с вводом пользователя, мышью и клавиатурой. Время возникновения такого ввода и последовательность данных нельзя предсказать заранее. Это требует иного подхода к контролю над порядком выполнения программы, чем уже привычный нам.

#### Обработчики событий

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

[1]: http://habrahabr.ru/post/240219/
[2]: http://habrahabr.ru/post/240223/
[3]: http://habrahabr.ru/post/240225/
[4]: http://habrahabr.ru/post/240349/
[5]: http://habrahabr.ru/post/240813/
[6]: http://habrahabr.ru/post/241155/
[7]: http://habrahabr.ru/post/241587/
[8]: http://habrahabr.ru/post/241776/
[9]: http://habrahabr.ru/post/242609/
[10]: http://habrahabr.ru/post/242695/
[11]: http://habrahabr.ru/post/243273/
[12]: http://habrahabr.ru/post/243277/
[13]: http://habrahabr.ru/post/243311/
[14]: http://habrahabr.ru/post/243815/
[15]: http://habrahabr.ru/post/244041/
[16]: http://eloquentjavascript.net/code
[17]: http://habrahabr.ru/post/244041/#habracut

[>] [Из песочницы] Разбираем методы проксирования на основе HAProxy
habra.14
habrabot(difrex,1) — All
2014-11-24 20:00:03


Недавно пришлось разбираться с проксированием доступа к веб-серверам с помощью HAProxy. Основная проблема оказалась в шифрованном доступе. Кому интересна эта тема, добро пожаловать под кат. [Читать дальше →][1]

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

[>] Многозадачность в ядре Linux: прерывания и tasklet’ы
habra.14
habrabot(difrex,1) — All
2014-11-24 22:30:03


![Котейка и младшие братья][1]В [предыдущей своей статье][2] я затронула тему многопоточности. В ней речь шла о базовых понятиях: о типах многозадачности, планировщике, стратегиях планирования, машине состояний потока и прочем. На этот раз я хочу подойти к вопросу планирования с другой стороны. А именно, теперь я постараюсь рассказать про планирование не потоков, а их “младших братьев”. Так как статья получилась довольно объемной, в последний момент я решила разбить ее на несколько частей:

1. **Многозадачность в ядре Linux: прерывания и tasklet’ы**
2. Многозадачность в ядре Linux: workqueue
3. Protothread и кооперативная многозадачность

В третьей части я также попробую сравнить все эти, на первый взгляд, разные сущности и извлечь какие-нибудь полезные идеи. А через некоторое время я расскажу про то, как нам удалось применить эти идеи на практике в [проекте Embox][3], и про то, как мы запускали на маленькой платке нашу ОС с почти полноценной многозадачностью. Рассказывать я постараюсь подробно, описывая основное API и иногда углубляясь в особенности реализации, особо заостряя внимание на задаче планирования. [Читать дальше →][4]

[1]: http://habrastorage.org/files/c6c/410/b72/c6c410b72716448c84e60c48126dce02.jpg
[2]: http://habrahabr.ru/post/219431/
[3]: https://code.google.com/p/embox/
[4]: http://habrahabr.ru/post/244071/#habracut

[>] Троян Regin: кто шпионит за GSM через Windows?
habra.14
habrabot(difrex,1) — All
2014-11-25 00:30:02


[![image][1]][2] В нескольких последних публикациях нашего блога мы рассказывали об [уязвимостях сетей мобильной связи][3], а также о [возможностях прослушки][4] на основе таких уязвимостей. При этом читатели в комментариях не раз выражали сомнение в том, что можно вот так легко попасть во внутреннюю технологическую сеть оператора. Однако свежий пример с троянцем Regin показывает, что это не только возможно, но и делалось систематически уже много лет. [Читать дальше →][5]

[1]: http://habrastorage.org/getpro/habr/post_images/42c/ddc/894/42cddc894e2b171ee540ae2008f1d164.png
[2]: http://habrahabr.ru/company/pt/blog/244073/
[3]: http://habrahabr.ru/company/pt/blog/237981/
[4]: http://habrahabr.ru/company/pt/blog/226977/
[5]: http://habrahabr.ru/post/244073/#habracut

[>] Как мы внедряем Open source в госкомпаниях и крупной коммерции России
habra.14
habrabot(difrex,1) — All
2014-11-25 11:30:04


![][1] КРОК — одна из самых больших в России компаний по построению IT-инфраструктур. У нас в год 2000+ проектов, из которых 200 штук — с бюджетом больше миллиона. Долларов. Внутри этой огромной компании есть мой небольшой отдел, который занимается тем, что ставит **open source** для крупных заказчиков. Нередко приходится сталкиваться с мнением, что open source — это кривые поделки гаражных программистов. Мы работаем только с нормальным рабочим ПО; помогаем подобрать оптимальные варианты решений для инфраструктуры и обеспечиваем поддержку там, где производитель по очевидным причинам сделать этого не может. Это — не самая простая работа, в основном, связанная с мифами и легендами про открытое ПО. Но к чёрту детали, давайте покажу, что и как можно поставить на рабочие места, сервера, в облако, для СУБД, VDI, BPM и серверов приложений. И про галстук. [Читать дальше →][2]

[1]: //habrastorage.org/files/f7b/772/8d3/f7b7728d302349b3842ba6af5fd62517.jpg
[2]: http://habrahabr.ru/post/244085/#habracut

[>] [Из песочницы] PIN-код при оплате картой — точки над i
habra.14
habrabot(difrex,1) — All
2014-11-25 15:30:03


Всем доброго дня! После прочтения нескольких статей на хабре о пластиковых картах, POS терминалах и сопутствующих вещах, мне показалось, что эта тема довольно интересна сообществу. В данной небольшой публикации я хочу окончательно разобрать тему ввода PIN–кода на POS терминалах и ответить, наконец, в меру своих знаний, на вопрос: почему же в одних случаях требуется ввод PIN, а в других — нет? [Читать дальше →][1]

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

[>] Тестирование компонентов в Unity Engine
habra.14
habrabot(difrex,1) — All
2014-11-25 16:00:03


В продолжение [статьи о КОП][1] я подробней расскажу о тестировании компонентов. Существует много информации о юнит-тестировании и BDD, эта статья будет посвящена настройке SpecFlow для работы с Unity Engine, а также содержать общие рекомендации по созданию тестируемой архитектуры игры с компонентно-ориентированным подходом. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/243479/
[2]: http://habrahabr.ru/post/244091/#habracut

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... 41