RSS
Pages: 1 ... 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 ... 210
[>] Да, я пишу десктопные приложения под Windows
habra.15
habrabot(difrex,1) — All
2015-10-27 03:00:03


![][1] Здравствуйте, меня зовут Владимир и я разработчик десктопных приложений под Windows. В этом месте все должны сказать «Здравствуй, Владимир!», а кто-то может быть добавит «Молодец, что осознал!». А потом все похлопают. Нет, правда, иногда от чтения Хабра у меня возникают именно такое ощущение, что нормально, нет, даже не «нормально», а допустимо и одобряемо сегодня писать только микросервисы для каких-то стартапов, которые будут по какому-то REST API отдавать данные какому-нибудь фронтенду на Ангуляре, который и будет, наконец, показывать пользователю что-то невероятно полезное, вроде таблицы с аггрегированными отзывами о стрижках пуделей с возможностью посмотреть на гуглокартах где бы в вашем городе можно было сделать именно такую стрижку вашему пуделю (несуществующему). А никаких других программ писать уже нет-нет, никак нельзя! Что за чушь?! Да, многое сегодня происходит в вебе и на мобильных устройствах, но, знаете ли, далеко не всё. Значительная часть приложений по-прежнему является десктопным софтом. И даже (о, ужас!) не под Mac Os или Linux, а под тот самый богомерзкий Windows. И, знаете ли, софт этот живёт, развивается, поддерживается и является ежедневным рабочим инструментом миллионов людей. И никуда он мигрировать не собирается, потому что есть причины, по которым иногда именно десктопное приложение является лучшим вариантом. [Читать дальше →][2]

[1]: https://habrastorage.org/files/077/23f/119/07723f119aaa44ce8bf64c2ca9338e5e.jpg
[2]: http://habrahabr.ru/post/269577/#habracut

[>] [Из песочницы] npm@3: будущее уже здесь
habra.15
habrabot(difrex,1) — All
2015-10-27 08:30:05


В конце июня была выпущена первая бета третьей версии npm. А 26-го сентября версия 3.3.3 была помечена как **latest** в официальном репозитории, что знаменует окончание бета тестирования и доступность третьей версии для всех разработчиков. Но переход на третью версию не очень быстрый. К примеру, скачав node.js с официального сайта мы получим в комплекте версию 2.x npm. В данный момент разработчики параллельно поддерживают две версии, 2.x и 3.x — почти как у Python. Надеюсь, с npm переход получится быстрее, разработчики грозятся приурочить его к выходу Node 5. Ну а пока они этого не сделалия, предлагаю вам ознакомиться с нововведениями и узнать как можно одной командой обновить себе npm на тройку. [Посмотреть на сплющенные node\_modules][1]

[1]: http://habrahabr.ru/post/269581/#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

[>] Недокументированное приложение в Thinstation
habra.15
habrabot(difrex,1) — All
2015-10-27 08:30:05


В [комментарии][1] к предыдущей [публикации][2] было отмечено, что не хватает интриги, скандалов и расследований, сегодня их у меня есть… Буквально с утра пораньше пришла по мылу просьба помочь в настройке веб-киоска на **package firefox\_lowmem**, в процессе запустил поиск файла настроек пакета firefox — **prefs.js**, да на уровень ошибся папкой, т.е. искал в папке **packages** и наткнулся на этот файл в пакете **openkiosk**. Как оказалось, ещё с марта 2014 года этот пакет присутствует в Thinstation, а о нем нигде ничего не написано, стало интересно… [Если заинтриговало - читайте дальше...][3]

[1]: http://habrahabr.ru/post/269449/#comment_8625857
[2]: http://habrahabr.ru/post/269449/
[3]: http://habrahabr.ru/post/269533/#habracut

[>] [Из песочницы] Archlinux для самых маленьких (Часть 1)
habra.15
habrabot(difrex,1) — All
2015-10-27 11:00:03


![][1]

#### Предисловие

Я хочу рассказать о замечательном Linux-дистрибутиве Archlinux и провести вас от объяснения идеологии дистрибутива, до создания полноценной рабочей среды в нём. В этой, первой части, я на примере Ubuntu расскажу о достоинствах и недостатках системы и кратко скажу о основных понятиях дистрибутива и в принципах его работы. Остальное — в следующих частях. _Данная статья подразумевает, что у вас есть опыт в работе в Linux-системами, так как Archlinux достаточно сложный дистрибутив для новичков. Весь текст я буду сопровождать сравнениями с дистрибутивом Ubuntu. Ubuntu — потому, что самый популярный и самый в корне отличающийся от Archlinux дистрибутив. Я свято надеюсь, что это поможет проще усвоить информацию читателю._ [Читать дальше →][2]

[1]: http://habrastorage.org/storage3/d7d/334/b56/d7d334b567a7156d1895c86d45ae802c.png
[2]: http://habrahabr.ru/post/269583/#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

[>] Шрифты в условиях экстремальной экономии
habra.15
habrabot(difrex,1) — All
2015-10-27 11:00:03


![][1] Очень долго мелкие растровые шрифты были бичем KolibriOS. Но относительно недавно к проекту присоединился еще один разработчик — **Pathoswithin**. Быстро сориентировавшись в проекте, он взялся за решение данной проблемы. Результаты его работы вы можете наблюдать в последних ночных сборках. Ну а данная статья является повествованием о работе над шрифтами, написанная самим **Pathoswithin**. [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/332/ac0/97c/332ac097cb7bfba245943a942c69f564.png
[2]: http://habrahabr.ru/post/269495/#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

[>] Превратить группу камер наблюдения в ботнет? Нет ничего проще
habra.15
habrabot(difrex,1) — All
2015-10-27 13:00:03


![][1] Уже долгое время специалисты по информационной безопасности говорят о том, что современные IoT устройства и системы слабо защищены от вмешательства извне. Некоторые из них вовсе не защищены, и взломать подобный гаджет или целую систему может даже школьник. Около года назад специалисты из Proofpoint обнаружили ботнет, основными элементами которого была домашняя «умная» техника. Как оказалось, в [ботнет входили][2] телевизоры и даже один холодильник. Взлом, о [котором идет речь][3], был осуществлен между между 23 декабря 2013 года и 6 января 2014 года. Гаджеты, составляющие ботнет, три раза в день отправляли письма пакетами в 750 тысяч за раз со 100 тысяч устройств (да, это был большой ботнет) предприятиям и частным лицам по всему миру. Но легче всего для злоумышленников, как оказалось, использовать для создания ботнета не холодильник и не телевизор, а камеру безопасности, подключенную к Сети. При этом именно камеры безопасности являются одними из наиболее распространенных IoT устройств. В Сети уже [публиковались отчеты][4], согласно которым в прошлом году по всему миру работало около 245 миллионов камер наблюдения. И это только те, что установлены профессионально, о которых что-то известно. Кроме них, есть еще миллионы других камер, установленные, образно говоря, домохозяйками, которые ничего не знают о безопасности и, соответственно, не использовавших настройки безопасности для своих устройств. [Читать дальше →][5]

[1]: https://habrastorage.org/getpro/habr/post_images/ab2/aaa/f1d/ab2aaaf1dd082207bac7d96e3c68be7c.jpg
[2]: http://www.marketwatch.com/story/proofpoint-uncovers-internet-of-things-iot-cyberattack-2014-01-16?reflink=MW_news_stmp
[3]: http://geektimes.ru/post/243177/
[4]: https://technology.ihs.com/532501/245-million-video-surveillance-cameras-installed-globally-in-2014
[5]: http://habrahabr.ru/post/269603/#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

[>] [Из песочницы] Отладка шейдеров на Java + Groovy
habra.15
habrabot(difrex,1) — All
2015-10-27 13:30:09


![][1] Подсветка синтаксиса шейдеров. Связь между шейдерами и внешними структурами данных. Юнит-тесты для шейдеров, дебаг, рефакторинг, статический анализ кода, и вообще полная поддержка IDE. О том, как всё это получить, в чём подвох, и что прописать в мавене… [Читать дальше →][2]

[1]: https://habrastorage.org/files/602/ce8/00a/602ce800a93f4c2bb090f0b42a12259a.png
[2]: http://habrahabr.ru/post/269591/#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

[>] Обновленный Codebattle: игра для программистов
habra.15
habrabot(difrex,1) — All
2015-10-27 14:00:04


Привет, Хабр! [![][1]][2] Три недели назад мы (дружная команда образовательного проекта [Хекслет][3]) опубликовали [пост][4] про наш новый проект — игру для программистов Codebattle. Напомню, идея игры очень простая: вам и сопернику дается задача, вы решаете ее на выбранном вами языке. Вы видите код соперника в реальном времени, результаты запуска тестов и можете общаться с ним и зрителями в чате. Кто первый решит задачу (удовлетворит тестам) — тот победил. После публикации статьи у нас был веселый день :) Легли под хабраэффектом и обнаружили несколько багов. Когда буря успокоилась, на арене снова закипела жизнь. В течение следующих двух недель мы решали три главные проблемы: производительность, борьба с читерством и возможность быстрого добавления новых языков. И решили их! Встречайте — **[обновленный Codebattle][5]**! Вкратце:

1. Хабраэффект нам по страшен (тьфу-тьфу-тьфу)
2. Читерить больше не получится (нельзя подогнать решение под тесты)
3. Добавлять языки стало проще (сейчас уже есть clojure, ruby, js, python, php, java, erlang)

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

[1]: https://habrastorage.org/files/3d8/dd9/7e4/3d8dd97e407b486fa46e8ee7c96dc52e.jpg
[2]: https://ru.hexlet.io/games/?utm_source=habr&utm_medium=blog&utm_campaign=battle_2
[3]: https://ru.hexlet.io/?utm_source=habr&utm_medium=blog&utm_campaign=battle_2
[4]: http://habrahabr.ru/company/hexlet/blog/268389/
[5]: https://ru.hexlet.io/games/?utm_source=habr&utm_medium=blog&utm_campaign=battle_2
[6]: http://habrahabr.ru/post/269613/#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

[>] О методах борьбы со спамом
habra.15
habrabot(difrex,1) — All
2015-10-27 16:30:03


Привет, Хабр! Согласно [отчёту][1] компании Symantec, опубликованному этим летом, из 704 миллиарда электронных писем, отправленных в июне, 353 миллиарда (49,7%!), были спамом. Спам вреден не только тем, что из-за него приходится разгребать кучу никому не нужных рекламных предложений, среди которых легко теряется нужное письмо. Массовые рассылки широко используются и хакерами. [][2]



Этим летом электронные письма с поддельным обратным адресом update@microsoft.com, текстом «Windows 10 Free Update» и прикрепленным файлом Win10Installer.zip, [получили][3] пользователи по всему миру. После распаковки вирус Ransomware (вариант CTB-Locker), начинал шифровать файлы на жёстком диске – чтобы снова получить доступ к данным, жертва должна была в течение 96 часов заплатить определённую сумму. [Читать дальше →][4]

[1]: http://newsland.com/news/detail/id/1578266/
[2]: http://habrahabr.ru/company/smart_soft/blog/269633/
[3]: http://blogs.cisco.com/security/talos/ctb-locker-win10
[4]: http://habrahabr.ru/post/269633/#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

[>] [Перевод] Как беспилотник может взломать вашу домашнюю сеть, просто летая рядом
habra.15
habrabot(difrex,1) — All
2015-10-27 16:30:03


![][1] **Беспилотники** могут использоваться для записи невероятных сюжетов к фильму, осуществления слежки за ворами с воздуха, спасения жизни других людей и т.д. Это замечательно, что они предоставляют широкие возможности, однако, к сожалению, использование беспилотников также предоставляет различные способы их неправомерного использования для вредоносных целей. С тех пор, как они стали использоваться для передачи контрабанды в тюрьмы, осуществления незаконного шпионажа и слежки, а по данным группы исследователей из [Сингапурского Университета Технологии и Дизайна][2], дроны также могут использоваться для перехвата [Читать дальше →][3]

[1]: https://habrastorage.org/files/425/f19/f0d/425f19f0d4a743fda380c04e3d6bc785.jpg
[2]: http://www.wired.com/2015/10/drones-robot-vacuums-can-spy-office-printer/
[3]: http://habrahabr.ru/post/269641/#habracut

[>] [Из песочницы] Пошаговая работа ГОСТ Р 34.12-2015 в режиме ECB
habra.15
habrabot(difrex,1) — All
2015-10-27 16:30:03




#### **Кузнечик в режиме ECB**

![][1]Не так давно появилась [статья][2] посвящённая новому стандарту блочного шифрования — ГОСТ Р 34.12-2015. В которой достаточно подробно описаны все новшества этого алгоритма. В этой статье я попробую объяснить пошаговое действие алгоритма в режиме простой замены, чтобы ещё нагляднее пользователи смогли оценить достоинства отечественного стандарта. В процессе развёртки раундовых ключей и в режиме зашифрования используются одни и те же преобразования, поэтому выносить отдельно этот вопрос не станем. Для большего понимания каждое преобразование будет пояснять часть кода реализации стандарта на языке С++ Итак, приступим. [Читать дальше →][3]

[1]: https://habrastorage.org/files/bfa/3b7/9c1/bfa3b79c1f2543c487769422daaa3c44.png
[2]: http://habrahabr.ru/post/266359/
[3]: http://habrahabr.ru/post/269601/#habracut

[>] [recovery mode] Ручная правка uboot-elf во имя DHCP и SSH
habra.15
habrabot(difrex,1) — All
2015-10-27 18:30:04


Как-то раз мне попалась в руки железка AEWIN SCB-3240, которой следовало навеки поселиться в серверной стойке с целью никогда больше к ней не прикасаться. Использовать её планировалось не по прямому назначению, а с целью тестирования нашего продукта. Есть у Лаборатории Касперского традиция — выпускать антивирусный SDK для всех мыслимых платформ, лишь бы было там что-то, способное компилировать код на C. Соответственно, SDK нужны антивирусные базы, которые, несмотря на то, что они едины для всех продуктов, все же надо тестировать — на случай ошибки в самом SDK, или загрузчике баз, или каких-то особенностей платформы, или… В общем, миллион причин. И чтобы о проблемах мы узнавали немного раньше, чем из новых кейсов в саппорт, последней линией обороны стоят десятки железок, проверяющих каждый набор антивирусных баз на работоспособность. То есть, интерес представляли не возможности AEWIN по работе с сетью, а исключительно её суть в виде MIPS / Linux. Проблема была в том, что железка не предусматривала никакого адекватного присоединения. Все, что мне предлагалось — консольный порт, telnet и никакого dhcp. К сожалению, самые страшные опасения оказались не напрасными. У устройства не было никакого постоянного хранилища, и оно жило только от включения до перезагрузки, каждый раз разворачивая референсный образ. Итого, что мне было нужно. Научить получать адрес по DHCP, научить её принимать подключения по SSH, и постараться не сломать по дороге. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/269537/#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

[>] VII Hi-Tech тур «Облачный Октоберфест». Как это было?
habra.15
habrabot(difrex,1) — All
2015-10-27 19:00:02


![][1] Друзья, вот и закончился наш очередной Hi-Tech тур «Облачный Октоберфест», [который мы ранее анонсировали в нашем блоге][2]. С радостью отмечаем тот факт, что география наших участников постоянно расширяется. В этот раз с нами были участники из Москвы, Санкт-Петербурга, Самары, Нижнего Новгорода и даже Перми! Предлагаем вам небольшой фоторепортаж о прошедшем мероприятии. [Читать дальше →][3]

[1]: https://habrastorage.org/files/8b1/8dc/472/8b18dc472d6a4903b298dcb880a79d87.png
[2]: http://habrahabr.ru/company/inoventica/blog/268483/
[3]: http://habrahabr.ru/post/269625/#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

[>] Шпаргалка программиста Java 3. Коллекции в Java (стандартные, guava, apache, trove, gc-collections и другие)
habra.15
habrabot(difrex,1) — All
2015-10-28 02:00:03


Сегодня я хотел бы поговорить о коллекциях в Java. Это тема встречается практически на любом техническом интервью Java разработчика, однако далеко не все разработчики в совершенстве освоили все коллекции даже стандартной библиотеки, не говоря уже о всех библиотеках с альтернативными реализациями коллекций, таких как guava, apache, trove и ряд других. Давайте посмотрим какие вообще коллекции можно найти в мире Java и какие методы работы с ними существуют. ![][1] Эта статья полезна как для начинающих (чтобы получить общее понимание что такое коллекции и как с ними работать), так и для более опытных программистов, которые возможно найдут в ней что-то полезное или просто структурируют свои знания. Собственно, главное чтобы у вас были хотя бы базовые знания о коллекциях в любом языке программирования, так как в статье не будет объяснений что такое коллекция в принципе. [Читать дальше →][2]

[1]: https://habrastorage.org/files/727/bf4/436/727bf44364b7422ba39240661856d73b.jpg
[2]: http://habrahabr.ru/post/256877/#habracut

[>] Уязвимости в сервисе компании Plategka.com, включающие XSS
habra.15
habrabot(difrex,1) — All
2015-10-28 12:00:04


Интересуюсь платёжными сервисами, банками, пластиковыми картами, да и вообще слежу за электронной коммерцией. А ещё я люблю находить ошибки и уязвимости в системах интернет-банкингов, [платёжных терминалов][1] или в [системах онлайн-переводов][2]. Не так давно один украинский сервис онлайн-оплаты — **Plategka.com** — запустил функцию: создание ссылки с уникальным адресом и QR-кодом для получения перевода на карту. Как только я захотел проверить, как работает новый сервис, я увидел ту же ошибку, которую допустили Portmone: по ссылке указывается полный номер карты. Перебирая ссылки, можно собрать номера карт. "_Изначально мы думали над сокрытием номера карты, но в этом вопросе есть свои за и против, поэтому на первом этапе, дабы у Плательщика была возможность убедиться в верности уже введенных данных, решили его оставить_", — пишут они [пользователю][3]. ![image][4] [Читать дальше →][5]

[1]: http://habrahabr.ru/post/264089/
[2]: http://habrahabr.ru/post/267121/
[3]: http://ain.ua/2015/10/15/609714#comments
[4]: https://habrastorage.org/getpro/habr/post_images/d57/0eb/ee2/d570ebee22cb2918496045f107365f5f.png
[5]: http://habrahabr.ru/post/269663/#habracut

[>] [Из песочницы] Настройка MikroTik в качестве OVPN-сервера с использованием клиенских сертификатов и списка отзыва
habra.15
habrabot(difrex,1) — All
2015-10-28 14:00:04


Передо мной возникла задача настроить MikroTik в качестве OVPN сервера с использованием клиентских сертификатов и возможностью их отзыва. В интернетах на данную тему чёткого How-To я не нашёл, поэтому решил изобрести свой собственный велосипед. В этой статье я опишу схему настройки данного чуда, получившуюся и работающую у меня. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/269679/#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

[>] Шпаргалка программиста Java 3. Коллекции в Java (стандартные, guava, apache, trove, gs-collections и другие)
habra.15
habrabot(difrex,1) — All
2015-10-28 15:00:03


Сегодня я хотел бы поговорить о коллекциях в Java. Это тема встречается практически на любом техническом интервью Java разработчика, однако далеко не все разработчики в совершенстве освоили все коллекции даже стандартной библиотеки, не говоря уже о всех библиотеках с альтернативными реализациями коллекций, таких как guava, apache, trove и ряд других. Давайте посмотрим какие вообще коллекции можно найти в мире Java и какие методы работы с ними существуют. ![][1] Эта статья полезна как для начинающих (чтобы получить общее понимание что такое коллекции и как с ними работать), так и для более опытных программистов, которые возможно найдут в ней что-то полезное или просто структурируют свои знания. Собственно, главное чтобы у вас были хотя бы базовые знания о коллекциях в любом языке программирования, так как в статье не будет объяснений что такое коллекция в принципе. [Читать дальше →][2]

[1]: https://habrastorage.org/files/727/bf4/436/727bf44364b7422ba39240661856d73b.jpg
[2]: http://habrahabr.ru/post/256877/#habracut

[>] Geek Week 2015: учиться, учиться и ещё раз учиться
habra.15
habrabot(difrex,1) — All
2015-10-28 17:00:04


Будем кратки: с 16 по 22 ноября GeekBrains проводит международную онлайн-конференцию [Geek Week 2015][1]. Наш план прост: 7 дней интенсивного обучения программированию и общения с экспертами из ведущих IT-корпораций России и мира. Абсолютно бесплатно и не отходя от компьютера. Идея провести конференцию не была случайной: в ходе работы со слушателями мы увидели реальную потребность в расширении практических знаний. В итоге нашли лучших спикеров и выбрали доступный каждому онлайн-формат. О чём мы узнали от слушателей, для кого будет полезна конференция и немного тизеров — под катом. [][2]



[Хочу знать больше!][3]

[1]: http://geekweekconf.com/ru
[2]: http://habrahabr.ru/company/geekbrains/blog/269681/
[3]: http://habrahabr.ru/post/269681/#habracut

[>] Pivoting Everywhere — техники продвижения внутрь локальной сети
habra.15
habrabot(difrex,1) — All
2015-10-28 17:00:04


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

[1]: https://habrastorage.org/files/7c9/601/bff/7c9601bff8144e12a5d3591e4c9e0fbb.png
[2]: https://www.pentestit.ru/labs/corp-lab
[3]: http://habrahabr.ru/post/269431/#habracut

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


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

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

[>] Разбор Java программы с помощью java программы
habra.15
habrabot(difrex,1) — All
2015-10-28 17:30:03


Разобрались с теорией в публикации [«Модификация программы и что лучше менять: исполняемый код или AST программы?»][1]. Перейдем к практике, используя Eclipse java compiler API. ![][2] Java программа, которая переваривает java программу, начинается с работы над абстрактным синтаксическим деревом (AST)… [Читать дальше →][3]

[1]: http://habrahabr.ru/post/269037/
[2]: https://habrastorage.org/files/a24/d35/d88/a24d35d88a8d48b1834172661d8255c2.jpg
[3]: http://habrahabr.ru/post/269129/#habracut

[>] [Перевод] Интервью с Одри Тан, часть 1
habra.15
habrabot(difrex,1) — All
2015-10-28 17:30:03


![][1] _Одри Тан в первую очередь известна как создатель и разработчик **Pugs**, Perl 6 User’s Golfing System, реализации Perl 6 на Haskell, которая появилась 1 февраля 2005 года и была наиболее активно разрабатываемой и наиболее полной реализацией на то время._ [Читать интервью][2]

[1]: https://habrastorage.org/files/721/dc4/bc5/721dc4bc5a864cbe8bafc94a8fa606a1.png
[2]: http://habrahabr.ru/post/268911/#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

[>] Алгоритм поиска смещения объекта на изображении
habra.15
habrabot(difrex,1) — All
2015-10-28 19:30:03


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

[1]: http://habrahabr.ru/post/268445/
[2]: http://habrahabr.ru/post/269685/#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

[>] [Перевод] Почему Go это плохо продуманный язык программирования
habra.15
habrabot(difrex,1) — All
2015-10-29 06:00:03


_Это перевод [статьи][1] юзернейма [tucnak][2] с Medium, которая получила обширное [обсуждение][3] на reddit.com/r/programming_. ![image][4] Окей, заголовок действительно несколько громкий, признаю. Cкажу больше: я прусь от громких заголовков, все из-за внимания. В этой блогозаписи я постараюсь доказать тот факт, что Go это ужасно продуманный язык (спойлер: это так). Я уже играюсь с Go уже на протяжении нескольких месяцев, первый helloworld собрал, кажется, в июне. Математик из меня никакой, но с тех пор прошло уже что-то около 4 месяцев и я даже успел залить на [Github][5] несколько репозиториев и собрать немного звезд! Стоит также упомянуть, что у меня совершенно нет опыта применения Go в продакшне, так что любые мои слова о «поддержке кода» или «деплое» не стоит принимать за единственноверную истину. Я люблю Go, я полюбил его как только впервые попробовал его. Я потратил несколько дней на то, чтобы принять идиоматику, смириться с отсутствием дженериков, разобраться с откровенно странным способом обработки ошибок и вы знаете, всеми этими классическими проблемами, так или иначе связанными с Go. Я прочел [Effective Go][6], много статеек из [блога][7] Dave Cheney, следил за всеми новостями из мира Go. Я даже могу сказать, что я достаточно активный участник сообщетсва! Я люблю Go и ничего не могу с этим поделать — Go просто замечательный. Тем не менее, я считаю, что Go это ужасный плохо продуманный язык, который делает совершенно не то, что «продает». [Читать дальше →][8]

[1]: https://medium.com/@tucnak/1cc04e5daf2
[2]: https://github.com/tucnak
[3]: https://www.reddit.com/r/programming/comments/3qjo3y/why_go_is_a_poorly_designed_language_from_a/
[4]: https://habrastorage.org/files/0cd/b2e/d26/0cdb2ed2646944988ac88a85148114dd.png
[5]: http://github.com/tucnak
[6]: https://golang.org/doc/effective_go.html
[7]: http://dave.cheney.net
[8]: http://habrahabr.ru/post/269731/#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

[>] Криптоанализ «Энигмы»
habra.15
habrabot(difrex,1) — All
2015-10-29 10:00:03






All specialists unanimously agreed that a reading [of the Enigma] is impossible. _Admiral Kurt Fricke, Chief of Naval War Command_ Энигма — роторная шифровальная машина, использовавшаяся нацистской Германией в годы Второй мировой войны. Благодаря влиянию, оказанному на ход войны, взлом Энигмы стал возможно самым ярким моментом в многовековой истории криптоанализа. В этом топике я бы хотел рассказать о методе взлома, использовавшимся в Блетчли-парк, а так же описать устройство самой машины. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/269519/#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

Pages: 1 ... 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 ... 210