RSS
Pages: 1 ... 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 41
[>] [Из песочницы] Hotpatch. Патчим память ядра Windows
habra.14
habrabot(difrex,1) — All
2015-03-05 17:30:03


В версии Windows Server 2003 SP1 была представлена технология, называемая «хотпатчингом». То есть обновление системы «на лету», без необходимости ее перезагрузки. Технология позволяет устанавливать патчи на отдельные функции (как пользовательские, так и режима ядра). В версии 8.1 возможность установки хотпатчей была ликвидирована. Примечательно, что использовать данную возможность можно из user-mode'a даже в случае kernel-mode патчей. [Читать дальше →][1]

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

[>] [Из песочницы] Запускаем стоковое ядро на Intel Galileo
habra.14
habrabot(difrex,1) — All
2015-03-06 02:00:03


Не сомневаюсь, что большинство пользователей Intel Galileo задаётся вопросом, когда же наконец можно будет обновить ядро? ![][1] [Читать дальше →][2]

[1]: //habrastorage.org/files/792/d06/ba6/792d06ba6ef748a2bba6f102d56ede8d.jpg
[2]: http://habrahabr.ru/post/252301/#habracut

[>] PHPixie 3.0 ORM или новый взгяд на ActiveRecord
habra.14
habrabot(difrex,1) — All
2015-03-06 06:00:02


![image][1] Уже закончен долгообещанная третья версия [PHPixie][2] ORM компонента. Он теперь полностью независим от фреймворка и может спокойно использоваться сам по себе. В связи с этим, пока продолжается работа над другими компонентами и пишется документация, разработчики составили [небольшой туториал][3] для того чтобы можно было уже начать работу с ОРМ. Ниже я предоставлю его перевод и добавлю несколько вещей от себя, но сначала давайте посмотрим чем полезным порадует нас эта версия:

* Большинство ORM используют Model классы, которые используются как для выполнения запросов так и для репрезентации самых записей в базе данных. Например так делают Kohana и Laravel. PHPixie разделила модель на Repository, Entity и Query, каждая из которых имеет строго свое предназначение.
* Кроме SQL баз данных (SQLite, PostgreSQL, MySQL) полностью поддерживается также Mongo. Вы сможете связать отношениями модели с SQL баз данных с моделями хранящимися в коллекциях Mongo.
* Чтобы поддерживать связи между разными базами ( например между таблицами в разных базах в MySQL ) много ORM используют отдельные запросы вместо join-ов и субзапросов. PHPixie же использует субзапросы всегда где это возможно.
* Поддержка встроенных сущностей в Mongo
* [На 97% покрыта юнит тестами][4] ( планируется 100% до конца этой недели), и еще на 75% функцыоналными тестами.
* Эффектывное использование Query позволяет уменьшить число запросов к базе. Например вам надо связать все топики автора с какими-то тегами. В большинстве ОРМ вам придется сначала найти топики, потом теги и тогда связать их ( 3 запроса к БД ). PHPixie позволяет сделать это за один запрос. Кстати пример этого есть в туториале снизу

Надеюсь я смог вас заинтересовать, теперь посмотрим на пример с ссылки вверху в переводе: [Читать дальше →][5]

[1]: http://habrastorage.org/getpro/habr/post_images/a9e/60d/e1d/a9e60de1db7f9c18a643766e8aea6f4e.png
[2]: http://phpixie.com
[3]: https://github.com/PHPixie/ORM/blob/master/examples/quickstart.php
[4]: http://phpixie.com/coverage/orm/ORM/index.html
[5]: http://habrahabr.ru/post/252305/#habracut

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


Вычитывая документацию к одной библиотеке, обнаружил более десятка опечаток. Документация увесистая и редактируют её несколько человек. Многократно просматривать тексты на опечатки нет времени и желания, копипастить тексты в онлайн-сервисы — долго и утомительно, хотелось как-то автоматизировать процесс. В итоге появился [yaspeller][1] на основе [API Яндекс.Спеллера][2]. [Читать дальше →][3]

[1]: https://github.com/hcodes/yaspeller
[2]: https://tech.yandex.ru/speller/
[3]: http://habrahabr.ru/post/252297/#habracut

[>] Поиск текстов, не соответствующих тематике и нахождение похожих статей
habra.14
habrabot(difrex,1) — All
2015-03-06 07:30:06


У меня есть сайт со статьями схожей тематики. На сайте было две проблемы: спамерские сообщения и дубликаты статей, причём дубликаты часто являлись не точными копиями. Данный пост повествует о том, как я решил эти проблемы. Дано:

* общее количество статей 140 000;
* количество спама: примерно 5%;
* количество не чётких дубликатов: примерно 75%;

Задача: избавиться от спама и дубликатов, а так же не допустить их дальнейшего появления. ![][1] [Читать дальше →][2]

[1]: //habrastorage.org/files/d3d/41e/dab/d3d41edab5924e50b37d2d85b9aab9a6.jpg
[2]: http://habrahabr.ru/post/252265/#habracut

[>] [Из песочницы] SibSUTIS CTF 2015: Как мы проводили свои студенческие соревнования
habra.14
habrabot(difrex,1) — All
2015-03-06 07:30:06


![image][1] Доброго времени суток! 52 участника, 11 команд, 8 часов – таковы основные цифры соревнования по информационной безопасности SibSUTIS CTF 2015, которое 21 февраля впервые состоялось в Сибирском государственном университете телекоммуникаций и информатики (г. Новосибирск). Хотел бы рассказать, как проходила подготовка этих соревнований от лица организаторов. [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/9aa/a4d/739/9aaa4d7397f577abe6227a476013956c.jpg
[2]: http://habrahabr.ru/post/252303/#habracut

[>] Документируем код эффективно при помощи Doxygen
habra.14
habrabot(difrex,1) — All
2015-03-06 11:00:03


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

[1]: //habrastorage.org/files/650/a92/a88/650a92a88c314e8aa8560607712057c2.png
[2]: http://www.stack.nl/~dimitri/doxygen/
[3]: http://habrahabr.ru/post/252101/#habracut

[>] Web технологии глазами С++ программиста
habra.14
habrabot(difrex,1) — All
2015-03-06 12:00:02


![][1]Год назад знакомые попросили сделать меня сайт с динамическим контентом. Тогда о Web я знал чуть больше чем ничего, но попробовать было интересно. Под катом впечатления заядлого С++ программиста от мира Web, собственные велосипеды, необычные решения, возмущения по поводу и без. Все эмоции вынесены в спойлеры, дабы не нагружать статью. Надеюсь будет интересно Web разработчикам посмотреть на потуги С++ника, ну а С++ разработчикам узнать для себя что-то новое. [Что там у тебя...][2]

[1]: //habrastorage.org/files/783/fbc/12a/783fbc12a6d34b40befb308fa911d7a2.jpg
[2]: http://habrahabr.ru/post/250825/#habracut

[>] Гранты, митапы и школы для начинающих и продолжающих разработчиков в Москве и не только. Выпуск второй
habra.14
habrabot(difrex,1) — All
2015-03-06 12:30:02


После первого поста нам написали 7 человек: одна выбила грант для программистов-подростков, у второй компания делает хорошую штуку для студентов-технарей, третья развивает свежий некоммерческий онлайн-проект по теме, четвертый рекомендовал, где проверять скиллы, пятый после нескольких лет разработки игр решил собрать свой первый митап. А двое только планируют свои школы программирования. Мы подумали рассказать их истории, плюс восполнить пробел по несколькими не вошедшим в первый дайджест программам. ![image][1] _Это реальный вопрос, заданный ребенком Григорию Бакунову месяц назад. Мы до сих пор ходим улыбаемся_ Интересные штуки, касающиеся, в первую очередь, [Android и Java вы можете посмотреть в первом выпуске][2]. А сегодня мы поговорим о C/С#/С++, геймдеве, Ruby, Linux, Arduino, курсах для ваших детей, племянников и детей ваших знакомых. И – PHP. [Читать дальше →][3]

[1]: http://habrastorage.org/files/a66/2cd/d69/a662cdd692e0495e982097453b897d6f.jpg
[2]: http://habrahabr.ru/company/tceh/blog/250333/
[3]: http://habrahabr.ru/post/252317/#habracut

[>] Конференция Mobius 2015 по iOS/Android разработке: анонс докладов
habra.14
habrabot(difrex,1) — All
2015-03-06 13:00:02


Всем привет! В последние две недели я что-то слегка забегался и перестал следить за докладами, [опубликованными][1] на сайте Mobius 2015. Сегодня зашел и **офигел**: пока я мотался по командировкам, наш программный директор Андрей [real\_ales][2] Дмитриев замутили **нереально крутую** программу! Лично мне кажется, что она на голову выше как прошлогодней, так и вообще любой программы любой другой мобильной конфы. На сегодня программа Mobius 2015 сформирована на 85%: анонсировано **18 докладов** из планируемых 21. Все доклады мы разбили на **5** групп: Devices, Tools, Tests, Security и Others. Сейчас, за 4 недели до конфы, самое время для того, чтобы коротко по ним пройтись. [Обзор докладов Mobius 2015][3]

[1]: http://mobiusconf.com/?utm_refcode=20ed16bc0cc965e9df0b5897a2abcf28073ae6f9
[2]: http://habrahabr.ru/users/real_ales/
[3]: http://habrahabr.ru/post/252273/#habracut

[>] [Из песочницы] Запускаем ванильное ядро на Intel Galileo
habra.14
habrabot(difrex,1) — All
2015-03-06 15:00:02


Не сомневаюсь, что большинство пользователей Intel Galileo задаётся вопросом, когда же наконец можно будет обновить ядро? ![][1] [Читать дальше →][2]

[1]: //habrastorage.org/files/792/d06/ba6/792d06ba6ef748a2bba6f102d56ede8d.jpg
[2]: http://habrahabr.ru/post/252301/#habracut

[>] Седьмая ежегодная Летняя школа Microsoft Research по машинному обучению и интеллекту — сотрудничество с ACM Europe
habra.14
habrabot(difrex,1) — All
2015-03-06 17:30:02


Привет! Как мы писали [ранее][1], 29 июля в Санкт-Петербурге в седьмой раз откроется ежегодная Летняя школа Microsoft Research по машинному обучению. Обычно следующий за открывающим постом пост пишут, когда известны докладчики, но тут я не смог удержаться. ![][2] Школа получила поддержку ACM Europe! На ней выступит докладчик от ACM, и **все участники получат статус профессионального члена ассоциации (ACM Professional Membership) и доступ к цифровой библиотеке (ACM Digital Library) на один год**. В один из вечеров ассоциация организует вечеринку (beer party) для участников школы. Для нас это большая радость — подобное происходит впервые, и докладчик от АСМ, который знают все как старейшую ИТ-организацию — ценность для слушателей. Напоминаем, что регистрироваться надо все еще [здесь][3]. [][4]

[1]: http://habrahabr.ru/company/microsoft/blog/250669/
[2]: //habrastorage.org/files/63b/40c/e51/63b40ce5138e4173b383350f36f4faec.png
[3]: http://machinelearning2015.ru/ru
[4]: http://habrahabr.ru/post/252213/#habracut

[>] Конференция Mobius 2015 по мобильной разработке: анонс докладов
habra.14
habrabot(difrex,1) — All
2015-03-06 17:30:02


Всем привет! В последние две недели я что-то слегка забегался и перестал следить за докладами, [опубликованными][1] на сайте Mobius 2015. Сегодня зашел и **офигел**: пока я мотался по командировкам, наш программный директор Андрей [real\_ales][2] Дмитриев замутили **нереально крутую** программу! Лично мне кажется, что она на голову выше как прошлогодней, так и вообще любой программы любой другой мобильной конфы. На сегодня программа Mobius 2015 сформирована на 85%: анонсировано **18 докладов** из планируемых 21. Все доклады мы разбили на **5** групп: Devices, Tools, Tests, Security и Others. Сейчас, за 4 недели до конфы, самое время для того, чтобы коротко по ним пройтись. [Обзор докладов Mobius 2015][3]

[1]: http://mobiusconf.com/?utm_refcode=20ed16bc0cc965e9df0b5897a2abcf28073ae6f9
[2]: http://habrahabr.ru/users/real_ales/
[3]: http://habrahabr.ru/post/252273/#habracut

[>] Распределённый Captive Portal в публичных местах и сложности с Apple
habra.14
habrabot(difrex,1) — All
2015-03-06 18:00:02


Почитав [про метро][1], хотел было комментировать, но решил написать отдельно. Мы участвовали в создании публичных сетей с распределёнными captive portal и наступали практически на все грабли, поэтому хочу поделиться опытом. [Подробности][2]

[1]: http://habrahabr.ru/post/251599/
[2]: http://habrahabr.ru/post/252263/#habracut

[>] Хабраэффект для 130 000 камер Москвы
habra.14
habrabot(difrex,1) — All
2015-03-06 18:30:03


**Привет, Хабр!** Спасибо за неожиданно теплый приём. Высокий рейтинг нашей первой [публикации][1] и бурное обсуждение в комментариях окончательно убедили нас в том, что вы довольно отзывчивая аудитория и из этой затеи обязательно выйдет что-то полезное. Сегодня расскажем подробнее о том, как вы можете помочь городу стать лучше. [][2]



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

[1]: http://habrahabr.ru/company/dit/blog/251711/
[2]: http://habrahabr.ru/company/dit/blog/252375/
[3]: http://habrahabr.ru/post/252375/#habracut

[>] [Из песочницы] Веб-парсинг на Ruby
habra.14
habrabot(difrex,1) — All
2015-03-06 21:30:03


_Это перевод статьи [«Web Scraping with Ruby»][1], которую я нашел полезной при изучении языка программирования Ruby. Парсинг меня интересует в личных целях. Мне кажется, это не только полезный навык, но и хороший способ изучить язык._ [Читать дальше →][2]

[1]: https://www.chrismytton.uk/2015/01/19/web-scraping-with-ruby/
[2]: http://habrahabr.ru/post/252379/#habracut

[>] Web-технологии глазами С++ программиста
habra.14
habrabot(difrex,1) — All
2015-03-07 00:30:05


![][1]Год назад знакомые попросили сделать меня сайт с динамическим контентом. Тогда о Web я знал чуть больше чем ничего, но попробовать было интересно. Под катом впечатления заядлого С++ программиста от мира Web, собственные велосипеды, необычные решения, возмущения по поводу и без. Все эмоции вынесены в спойлеры, дабы не нагружать статью. Надеюсь будет интересно Web разработчикам посмотреть на потуги С++ника, ну а С++ разработчикам узнать для себя что-то новое. [Что там у тебя...][2]

[1]: //habrastorage.org/files/783/fbc/12a/783fbc12a6d34b40befb308fa911d7a2.jpg
[2]: http://habrahabr.ru/post/250825/#habracut

[>] Что плохого в изменении *_defconfig при работе с исходниками ядра Linux
habra.14
habrabot(difrex,1) — All
2015-03-07 01:00:02


По следам моей первой [публикации][1] хочу сделать небольшую заметку об изменении файлов i386\_defconfig или x86\_64\_defconfig, входящих в поставку исходников ядра Linux. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/252301/
[2]: http://habrahabr.ru/post/252391/#habracut

[>] CxxMock — принцип действия
habra.14
habrabot(difrex,1) — All
2015-03-07 09:00:03


![][1] Иногда бывает интересно изучить архитектуру какого либо изделия, и посмотреть как оно устроено. Вот бывало разберешь часы, а обратно собрать не можешь… Но в отличии от часов программные продукты при доступе к исходникам можно разобрать, и собрать. А найденные решения применять уже в своей практике. Когда у меня возникла необходимость в создании [CxxMock][2], о котором я писал в статье [CxxMock — Mock-объекты в C++][3], я разобрал принцип действия похожего [GoogleMock][4]. Или еще раньше разобрал основную идею c10k сервера [mathopd][5], что последующих проектах позволило мне лучше маневрировать в проектировании архитектуры. Поэтому, я расскажу об основных концепциях и за счет которых работает CxxMock. И которые было интересно придумывать. Возможно, некоторые трюки покажутся вам простыми, а другие смогут вам помочь в вашей практике. [CxxMock взгляд изнутри][6]

[1]: http://habrastorage.org/getpro/habr/post_images/570/e79/e73/570e79e73ed38f63467392e937ed9e13.jpg
[2]: http://cxxmock.com
[3]: http://habrahabr.ru/post/250979/
[4]: http://code.google.com/p/googlemock/
[5]: http://www.mathopd.org/
[6]: http://habrahabr.ru/post/251133/#habracut

[>] Анонс книги Брайана Кернигана «The Go Programming Language»
habra.14
habrabot(difrex,1) — All
2015-03-07 17:00:02


На Амазоне [анонсировали][1] новую книгу Брайана Кернигана и Алана Донована с ёмким названием «The Go Programming Language». Кто не в курсе — [Брайан Керниган][2] это один из соавторов Unix, автор cron-а и автор одной из самых культовых книг в мире программирования "[The C Programming Language][3]", написанную вместе с Деннисом Ричи в 1978-м. Книга доступна для предзаказа, релиз бумажной версии запланирован на 27 августа 2015. ![][4] [Читать дальше →][5]

[1]: http://www.amazon.com/Programming-Language-Addison-Wesley-Professional-Computing/dp/0134190440/
[2]: http://en.wikipedia.org/wiki/Brian_Kernighan#Writings
[3]: http://en.wikipedia.org/wiki/The_C_Programming_Language
[4]: //habrastorage.org/files/240/fdd/bd4/240fddbd4a0b4153adec056c90c894f2.jpg
[5]: http://habrahabr.ru/post/252417/#habracut

[>] Reconnect — уязвимость в Facebook Login
habra.14
habrabot(difrex,1) — All
2015-03-07 22:30:02


![image][1] Все очень просто — если мы можем перелогинить пользователя в свой фейсбук то мы можем присоединить свой фейсбук к аккаунту жертвы на других вебсайтах. Жертва загружает нашу страничку и мы получаем доступ к аккаунту жертвы на Booking.com, Bit.ly, About.me, Stumbleupon, Angel.co, Mashable.com, Vimeo и куче других вебсайтов. [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/20d/0bc/2a6/20d0bc2a6d807dd33596d2cb498f1de9.png
[2]: http://habrahabr.ru/post/252441/#habracut

[>] Оформление документации в Doxygen
habra.14
habrabot(difrex,1) — All
2015-03-08 02:30:02


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

[1]: //habrastorage.org/files/710/118/8be/7101188bec8f42e29462893eda478e4f.png
[2]: http://habrahabr.ru/post/252101/
[3]: http://habrahabr.ru/post/252443/#habracut

[>] [Перевод] Супер-куки на основе HSTS отследят вас даже в приватном режиме
habra.14
habrabot(difrex,1) — All
2015-03-08 05:00:02


Уже несколько лет все браузеры предлагают настройки для приватного браузинга. В приватном режиме они могут не сохранять куки, историю страниц и временные файлы. Люди, ценящие приватность, полагаются на эту возможность. Но недавно был предложен ещё один способ отследить пользователя даже и в этом случае, если тот не предпримет особых мер. Ирония в том, что работе этой системы отслеживания способствует механизм под названием HTTP Strict Transport Security. Он нужен для того, чтобы сайты могли убедиться, что пользователь работает с их серверами только по протоколу HTTPS. Если сервер добавляет в заголовки соответствующий флаг, то по правилам HSTS все соединения с сервером должны быть зашифрованы. Таким образом пользователя защищают от различных возможных атак. [Читать дальше →][1]

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

[>] Сделаем код чище: Специальные расширения vsnprintf() в ядре Linux
habra.14
habrabot(difrex,1) — All
2015-03-08 07:30:05


Смотря на кучу исходного кода, который засылают программисты в списки рассылки подсистем ядра Linux иногда хочется плакать. С одной стороны бывает ужасный и непотребный код, с другой — люди, возможно, впервые пытаются что-то сделать для ядра, поэтому не знают всех его особенностей. Книга Linux Device Drivers устарела, а новая версия выйдет нескоро. Поэтому мне хочется заполнить пробелы в знаниях тех программистов, которые пишут код в ядро. [Читать дальше →][1]

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

[>] Метод фрагментарного сжатия видеопотока
habra.14
habrabot(difrex,1) — All
2015-03-08 08:00:04


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

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

[>] Два с половиной приема при работе с argparse
habra.14
habrabot(difrex,1) — All
2015-03-08 10:00:02






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

1. Вызов определенной функции в ответ на заданный параметр командной строки с лаконичной диспетчеризацией.
2. Инкапсуляция обработки и валидации введенных пользователем данных.

[Что там еще за пол-приема?][1]

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

[>] [Перевод] Взаимодействие с командной строкой perl 6 из функции MAIN
habra.14
habrabot(difrex,1) — All
2015-03-08 11:00:02


В Unix-среде множество скриптов получают аргументы из командной строки. В Perl 6 обрабатывать их очень просто:

$ cat add.pl




sub MAIN($x, $y) {
say $x + $y
}




$ perl6 add.pl 3 4
7
$ perl6 add.pl too many arguments
Usage:
add.pl x y


Просто создав функцию MAIN и задав ей сигнатуру из параметров, вы автоматически получаете парсер командной строки, который передаёт их в аргументы функции $x и $y, и сообщение о правильном вызове скрипта. [Читать дальше →][1]

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

[>] Лекции Технопарка. Мастер-класс Владислава Бирюкова «Электронное образование: инструкция по применению»
habra.14
habrabot(difrex,1) — All
2015-03-08 20:30:02


Онлайн-обучение, как и любой другой вид получения знаний, имеет свои особенности. Многие из тех, кто впервые попробовал этот образовательный формат, оказались разочарованы, не получив ожидаемой отдачи. О том, как получить максимум от онлайн-обучения, рассказывает Владислав Бирюков, сотрудник инвестиционной компании «АйКомИнвест», занимающийся образовательными проектами.




[Конспект лекции][1]

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

[>] DICOM Viewer изнутри. Воксельный рендер
habra.14
habrabot(difrex,1) — All
2015-03-08 22:00:02


Добрый день, уважаемое хабра-сообщество! Сегодня мне бы хотелось пролить свет на одну из самых неосвещённых тематик на хабре. Речь пойдёт о визуализаторе медицинских радиологических изображений или DICOM Viewer'е. Планируется написать несколько статей, в которых поговорим об основных возможностях DICOM Viewer'а — в том числе возможности воксельного рендера, 3D, 4D, рассмотрим его устройство, поддержку протокола DICOM и др. В этой статье я расскажу о воксельном рендере и его устройстве. Всем заинтересовавшимся добро пожаловать под кат.



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

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

[>] [Перевод] 9 фактов, которые знают программисты, и не знают все остальные
habra.14
habrabot(difrex,1) — All
2015-03-08 23:00:03


![image][1]

#### Факт 1



> Под капотом самых критичных программ, которые вы используете на ежедневной основе (Mac OS X или Facebook) содержится ужасное количество хаков и костылей, которые с трудом уживаются друг с другом. Это как если бы вы разобрали боинг 747 и увидели, что топливопровод держится вешалкой для одежды, а шасси смотаны изолентой.

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

[1]: http://habrastorage.org/getpro/habr/post_images/a01/882/d35/a01882d354b094cbee0731cf35b83efa.jpg
[2]: http://habrahabr.ru/post/252483/#habracut

[>] Как внедрить статический анализ в проект, в котором более 10 мегабайт исходного кода?
habra.14
habrabot(difrex,1) — All
2015-03-09 00:30:02


![][1] Итак, вы – разработчик в проекте, в котором много (или даже очень много) исходного кода. Например, более 10 мегабайт. Вы начитались [статей][2] про проверку open source проектов и захотели проверить свой собственный проект каким-нибудь анализатором кода. Вы проверили проект и получили более тысячи сообщений от анализатора. Тысяча – это оптимистичный вариант. Может быть и более десятка тысяч. Но вы же не ленивый разработчик? Вы начали просматривать их. И, о ужас, уже пятое сообщение анализатора оказалось реальной ошибкой! А также седьмое, девятое, двенадцатое и пятнадцатое. Вы выписали себе еще десяток реальных ошибок, на которые указал анализатор и направляетесь к боссу со словами: _«Шеф, смотри. Я скачал крутой анализатор. Он нам уже только за полчаса нашел десять реальных ошибок. А всего он выдал тысячу (две, три, четыре) сообщений. Давай купим этот анализатор, мы с ребятами займемся и все сообщения поправим за две-три недели. И потом, когда все поправим, он нам будет выдавать 0 сообщений. А значит мы – крутые программисты и делаем качественный код!»_ [Читать дальше →][3]

[1]: //habrastorage.org/files/46b/b42/4bd/46bb424bd8834156aea8de0cf497d43b.png
[2]: http://www.viva64.com/ru/a/0084/
[3]: http://habrahabr.ru/post/252493/#habracut

[>] [Перевод] TLS в HTTP/2
habra.14
habrabot(difrex,1) — All
2015-03-09 01:30:02


![image][1] Я написал обзор «http2 explained» и сделал несколько выступлений по поводу HTTP/2. После я получил много вопросов по поводу связки TLS и HTTP/2, поэтому я хотел бы ответить на некоторые из них в данной статье.

#### TLS не обязателен

В одобренной спецификации HTTP/2, которая скоро станет официальным RFC, нет ничего об обязательном использовании TLS. Наоборот, там рассказывается, как можно передавать данные открытым текстом TCP, и как – через TLS. [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/47b/13d/895/47b13d895fc8ffa993dbc94c26083ae3.jpg
[2]: http://habrahabr.ru/post/252491/#habracut

[>] Об одном трюке для возврата кода ошибки из функции
habra.14
habrabot(difrex,1) — All
2015-03-09 02:30:03


Ядро Linux — кладезь как применяемых алгоритмов, так и некоторых хакерских или полухакерских трюков, призванных убыстрить и / или уменьшить размер в памяти (memory footprint). Об одном из таких полухахерских трюков я хочу рассказать далее. [Читать дальше →][1]

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

[>] [Перевод] Мигрируем на HTTPS
habra.14
habrabot(difrex,1) — All
2015-03-09 12:30:02


В переводе этого документа описываются шаги, которые необходимо предпринять для перевода вашего сайта с HTTP на HTTPS. Шаги можно выполнять с любой скоростью – либо всё за день, либо один шаг за месяц. Главное, делать это последовательно. Каждый шаг улучшает ваш сервер и важен сам по себе. Однако, сделать их все – обязательно для того, чтобы гарантировать безопасность вашим посетителям. [Читать дальше →][1]

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

[>] Автоматизируем и ускоряем процесс настройки облачных серверов с Ansible. Часть 5: local_action, условия, циклы и роли
habra.14
habrabot(difrex,1) — All
2015-03-09 14:30:03


[В первой части][1] мы начали изучение Ansible, популярного инструмента для автоматизации настройки и развертывания ИТ-инфраструктуры. Ansible был успешно установлен в [InfoboxCloud][2], описаны принципы работы, базовая настройка. В завершении статьи мы показали как быстро установить nginx на несколько серверов. [Во второй части][3] мы разобрались в выводе playbook, научились отлаживать и повторно использовать скрипты Ansible. [В третьей части][4] мы узнали как написать единый Ansible playbook для разных ОС (например с rpm и deb), как обслуживать сотни хостов и не писать их все в inventory и как сгруппировать сервера по регионам InfoboxCloud. Было изучено использование переменных Ansible и файла inventory. [В четвертой части][5] мы научились использовать модули Ansible для настройки сервера: разобрались, как запускать самые обычные скрипты на удаленных серверах в [InfoboxCloud][6], использовать шаблонизацию для файлов конфигурации, подставляя необходимые переменные, и как использовать системы управления версиями для получения кода на сервер. В этой части мы рассмотрим, как запускать задачу локально в рамках playbook для удаленных серверов, как использовать условия для выполнения конкретных задач только в определенной ситуации, как использовать циклы для значительного сокращения количества задач в playbook. В завершении мы разберем, как организовывать playbook в роли. [Читать дальше →][7]

[1]: https://infoboxcloud.ru/community/blog/iaas/226.html
[2]: http://infoboxcloud.ru
[3]: https://infoboxcloud.ru/community/blog/iaas/236.html
[4]: https://infoboxcloud.ru/community/blog/iaas/242.html
[5]: https://infoboxcloud.ru/community/blog/iaas/244.html
[6]: http://infoboxcloud.ru
[7]: http://habrahabr.ru/post/252461/#habracut

[>] Бесплатные SSL-сертификаты на 2 года от WoSign
habra.14
habrabot(difrex,1) — All
2015-03-09 16:30:02


Доброго времени суток, уважаемые товарищи Хабра. На написание заметки, меня побудила статья: [«Мигрируем на HTTPS»][1]. Напоминаю, что китайцы в лице компании [WoSign][2] до сих пор раздают бесплатно сертификаты и теперь не обязательно знать китайский язык для того, чтобы его получить. Метод по статье [«Бесплатные SSL-сертификаты на 2 года с поддержкой до 100 доменов»][3] на данный момент не работает и за сертификат китайцы хотят от ¥488. ![][4] [Читать дальше →][5]

[1]: http://habrahabr.ru/post/252507/
[2]: https://buy.wosign.com/
[3]: http://habrahabr.ru/post/249529/
[4]: //habrastorage.org/files/866/a98/f48/866a98f4873145779364f10cebdac947.png
[5]: http://habrahabr.ru/post/252529/#habracut

[>] Опыт маскировки OpenVPN-туннеля с помощью obfsproxy
habra.14
habrabot(difrex,1) — All
2015-03-09 18:30:02




## Преамбула

В связи с [наметившимися][1] [тенденциями][2] решил я обфусцировать свой скромный OpenVPN-туннель, просто чтобы набить руку — мало ли пригодится… Дано: дешевая VPS с белым IP, работающая под Ubuntu Trusty Server Edition и служащая OpenVPN сервером. Требуется: по-возможности замаскировать OpenVPN туннель под обычный трафик, желательно без изобретения велосипедов. [Ну и что дальше?][3]

[1]: http://geektimes.ru/post/246380/
[2]: http://geektimes.ru/post/245486/
[3]: http://habrahabr.ru/post/251569/#habracut

[>] REST сервис на C++: POCO+Angular TODO
habra.14
habrabot(difrex,1) — All
2015-03-10 01:00:03


[POCO][1] — кроссплатформенная open-source библиотека на С++ под Boost Software License: [ru.wikipedia.org/wiki/POCO][2]. [POCO][3] имеет в своем составе средства для создания веб-сервисов c [RESTful API][4]. В данной статье рассмотрено создание такого сервиса на примере TODO. ![][5] [Читать дальше →][6]

[1]: http://pocoproject.org/
[2]: http://ru.wikipedia.org/wiki/POCO
[3]: http://pocoproject.org/
[4]: http://https://ru.wikipedia.org/wiki/REST
[5]: //habrastorage.org/files/118/76b/5fa/11876b5fa78c4805b3d887b5f10cd0f2.png
[6]: http://habrahabr.ru/post/252519/#habracut

[>] OpenSMTPD + UW IMAP как альтернатива тяжелым почтовым системам
habra.14
habrabot(difrex,1) — All
2015-03-10 05:00:03


Почти каждому, у кого есть сервера с привязанными к ним доменами, так или иначе приходится решать вопрос с почтой, как минимум с доступностью адресов вида _webmaster/postmaster/abuse@domain_. Кто-то учит M4 и настраивает встроенный sendmail, кто-то использует сторонние сервисы ( например от Google ), кто-то — поднимает стандартную связку postfix+courier-imap+mysql ( ну или аналоги ). Мне первое было делать лениво, второе — не хотелось по идеологическим причинам, а третье — слишком избыточно. Поэтому я нашел свой «срединный путь», о чем и хочу рассказать в этой статье.

### Prerequirements

При написании этого руководства я предполагал, что пользователь способен взаимодействовать с \*nix-системами посредством консоли, умеет устанавливать пакеты своего дистрибутива и владеет как минимум одним текстовым редактором для редактирования конфигов. В качестве примера я буду устанавливать пакеты на Arch Linux, поскольку это мой домашний дистрибутив. [Читать дальше →][1]

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

[>] Мощь Scapy
habra.14
habrabot(difrex,1) — All
2015-03-10 06:00:03


[Scapy][1] — инструмент создания и работы с сетевыми пакетами. Программа написана на языке python, автор Philippe Biondi. Познакомиться с основным функционалам можно [здесь][2]. Scapy — универсальный, поистине мощный инструмент для работы с сетью и проведения исследований в области информационной безопасности. В статье я попытаюсь заинтересовать Вас использовать scapy в своей работе/проектах. Думаю, что лучше всего этого можно добиться, показав на примерах основные преимущества scapy. В качестве примеров я возьму простые и наглядные задачи, которые можно решить средствами scapy. Основным направлением будет формирование пакетов для реализации того или иного вида атак. [Подробности][3]

[1]: http://www.secdev.org/projects/scapy/
[2]: http://habrahabr.ru/company/pentestit/blog/208786/
[3]: http://habrahabr.ru/post/249563/#habracut

[>] [recovery mode] FreeRDP: звук, заикания, OSS вместо ALSA
habra.14
habrabot(difrex,1) — All
2015-03-10 10:30:03


![image][1] [FreeRDP][2] довольно популярный инструмент для доступа к Windows машинам с не windows систем. Не смотря на свою популярность у проекта документация отвратительная: актуально и полно освещены только вопросы как собрать из исходников и как начать кодить и слать патчи. Если требуется что то чуть подробнее узнать про использование то лучше сразу идти на IRC канал к разработчикам или лезть в исходники, всё остальное слухи и/или устарело. У меня были проблемы со звуком во FreeBSD:

> ALSA lib pcm.c:7905:(snd\_pcm\_recover) underrun occurred

впрочем, далеко не у меня одного и не только во FreeBSD. [Читать дальше →][3]

[1]: http://habrastorage.org/getpro/habr/post_images/3d3/e67/322/3d3e67322d019cb52990323d6764db44.png
[2]: http://www.freerdp.com/
[3]: http://habrahabr.ru/post/252511/#habracut

[>] Lock-free структуры данных. Concurrent maps: skip list
habra.14
habrabot(difrex,1) — All
2015-03-10 12:30:02


![][1] В предыдущих статьях ([раз][2], [два][3]) мы рассматривали классический hash map с хеш-таблицей и списком коллизий. Был построен lock-free ordered list, который послужил нам основой для lock-free hash map. К сожалению, списки характеризуются линейной сложностью поиска `O(N)`, где `N` — число элементов в списке, так что наш алгоритм lock-free ordered list сам по себе представляет небольшой интерес при больших `N`. Или все же представляет?.. [Читать дальше →][4]

[1]: //habrastorage.org/files/8c7/b2e/0af/8c7b2e0afb03482f937552ced9015c43.png
[2]: http://habrahabr.ru/post/250383/
[3]: http://habrahabr.ru/post/250523/
[4]: http://habrahabr.ru/post/250815/#habracut

[>] [Перевод] Еженедельник io.js, 6 марта 2015
habra.14
habrabot(difrex,1) — All
2015-03-10 15:00:03


Релиз 1.5.0, Buffer.indexOf(), Tessel 2 и многое другое. [Читать дальше →][1]

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

[>] Авто-регистрация тестов на С средствами языка
habra.14
habrabot(difrex,1) — All
2015-03-10 15:30:03


![Тестирование в C][1]Сравнительно недавно была статья [«Полуавтоматическая регистрация юнит-тестов на чистом С»][2], в которой автор продемонстрировал решение задачи с использованием счётчиков из Boost. Следуя этому же принципу, была предпринята (успешная) попытка повторить данный опыт уже без использования Boost из соображения нелогичности наличия в проекте на C зависимости от Boost, да ещё и в таком небольшом объёме. При этом в тестах присутствовали вспомогательные директивы препроцессора в большом количестве. И всё бы так и осталось, но практически на завершающей стадии был найден альтернативный способ регистрации, который позволяет полностью избавится от дополнительных действий. Это C89-решение для регистрации тестов и чуть более требовательное к системе сборке решение для регистрации наборов тестов. [Каким образом][3]

[1]: http://habrastorage.org/files/3d3/aed/597/3d3aed597f8645ed9d1502e4532642ee.png
[2]: http://habrahabr.ru/post/240565/
[3]: http://habrahabr.ru/post/252439/#habracut

[>] Обход блокировки запрещенного сайта вебмастером без настроек и ПО на стороне клиента
habra.14
habrabot(difrex,1) — All
2015-03-10 17:00:02


Увидел я как-то IPv6 Teredo пиров в µTorrent под Windows, которые качали куски с довольно приличной скоростью, и тут меня осенило…

### Что такое Teredo?

Teredo — технология туннелирования IPv6 через IPv4 UDP-пакеты. Она задумывалась как переходная технология, которая работает за NAT, и, в общем, более-менее выполняет возложенные на нее обязанности. Teredo позволяет получить доступ в IPv6-интернет через публичные Teredo-серверы. Интересно то, что в Windows 7, 8 и 8.1 Teredo настроен и включен по умолчанию, прямо из коробки, и использует сервер Teredo от Microsoft (teredo.ipv6.microsoft.com).

### Зачем это нам?

Веб-сайты, определенные ссылки которых по тем или иным причинам оказались в реестре запрещенных сайтов, могут организовать доступ с использованием Teredo, что позволит вернуть доступ к сайту примерно 80-85% пользователям современных версий Windows без дополнительных настроек и ПО! Доступ через Teredo позволяет обойти все протестированные DPI-решения, применяемые провайдерами. Роскомнадзор не только не может внести такие страницы в реестр, но и не может получить к ним доступ (вероятно, Teredo у них не работает):




К тому же, у Роскомнадзора нет полномочий блокировать страницы, которые перенаправляют на другие страницы, и кнопка [«Актуальный Навальный»][1] тому подтверждение.

### Особенности сервера Teredo от Microsoft

Для доступа в «обычный» IPv6, в Teredo используются Relay-серверы, которые имеют полный IPv6-доступ и работают как прокси-серверы. В свою очередь, relay-серверы Teredo от Microsoft не позволяют получить доступ в «обычный» IPv6 или к другим Teredo-серверам, разрешая только связность Teredo-клиентов, настроенных на сервер Microsoft, и образуя такую большую закрытую сеть из Windows-компьютеров. [Читать дальше →][2]

[1]: http://navalny.us/
[2]: http://habrahabr.ru/post/252611/#habracut

[>] [Перевод] Операции с файлами в Perl 6
habra.14
habrabot(difrex,1) — All
2015-03-10 18:00:03




#### Директории

Вместо opendir и его друзей, в Perl 6 есть одна функция dir, которая возвращает список файлов из директории (по умолчанию, из текущей). Вместо тысячи слов: [Читать дальше →][1]

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

[>] Перевод времени в деньги и обратно
habra.14
habrabot(difrex,1) — All
2015-03-10 18:00:03


Осенью 2014 мне катастрофически не хватало времени и ушёл в глубокие минуса по кредитам. Тогда у меня и появилась задача: как мне научиться экономить время и деньги. Ответ оказался прост: нужно **экономить время и деньги одновременно**. Ведь часто бывает, что экономя деньги — тратишь много времени, или экономя время — тратишь деньги. Тогда и понадобилось переводить время в деньги и обратно, чтобы оптимизировать их потребление. ![][1] [Читать дальше →][2]

[1]: //habrastorage.org/files/95f/0f5/743/95f0f5743b4d45efa2e9e7dadcad6390.jpg
[2]: http://habrahabr.ru/post/252543/#habracut

[>] [recovery mode] Сравнение настольных программ для шифрования
habra.14
habrabot(difrex,1) — All
2015-03-10 18:00:03


Совсем недавно мы проводили [сравнение мобильных (для Android)][1] приложений для шифрования. Настало время для аналогичного обзора, но уже настольных программ. ![][2] [Читать дальше →][3]

[1]: http://habrahabr.ru/company/cybersafe/blog/251889/
[2]: //habrastorage.org/files/76e/27d/085/76e27d08547942f4aaf1db1ced4a50e6.jpg
[3]: http://habrahabr.ru/post/252561/#habracut

[>] Как мы получили $30k от Google RISE, как дальше учить детей программировать и как стать партнером в нашей команде?
habra.14
habrabot(difrex,1) — All
2015-03-10 19:00:03


Все очень просто. Как-то партнеры переслали нам ссылку на конкурс. Дальше мы зарегистрировались, описали заявку, прошли интервью по хангауту и после проверки в течении нескольких месяцев пришло долгожданное письмо счастья. Стоит также добавить, что на момент написания мы проводили обучение в 10 школах в Москве, у нас появилось свежеиспеченное видео от уроков, лучшие моменты которого смонтировала и оформила команда [lesnikova][1]. Также стоит добавить, что письмо пришло в 01:00 по Мск, и плотный поток радости помешал в тот день уснуть всей команде.




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

[1]: http://habrahabr.ru/users/lesnikova/
[2]: http://habrahabr.ru/post/252365/#habracut

[>] Модели Django и решение проблем с конкурентным доступом к данным
habra.14
habrabot(difrex,1) — All
2015-03-10 23:00:03


Всем привет! Про Django модели уже много статей на хабре, но хочется поделится с общественностью, как эффективно использовать их и не наступать на грабли.

#### Стартовые данные



* 2 сервера с Django, запущенные под uWSGI
* 1-2k запросов в секунду
* Проект с движением денег внутри

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

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

Pages: 1 ... 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 41