RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 210
[>] Ускоряем запуск BeagleBone или runit не для чайников
habra.15
habrabot(difrex,1) — All
2015-08-06 17:00:04


![][1] В устройствах, которые мы разрабатываем и производим, требуется быстрый запуск после холодного старта. Для приборов без полноценной операционной системы (в них мы используем NutOS, он же EtherNut) такой проблемы нет — они готовы к работе через пару секунд после включения. Зато в более сложных и продвинутых, с linux внутри, и особенно в портативных измерительных системах, вопрос ускорения алгоритмов инициализации более чем актуален. В пилотной версии своего коммутатора 10G ethernet мы использовали хорошо известную плату [Beaglebone][2] и процесс загрузки, если не считать qemu-эмулятор, с удовольствием отлаживали на ней. Кстати, эта пилотная версия 10-гигабитного свича с управляющей beaglebone-платой (на фотографии к статье) стоит у нас в серверной и пару лет успешно работает, Сразу скажу, что переход на [runit][3] дал ускорение запуска системы на 500MHz arm-процессоре **с полминуты до шести с копейками секунд**. _Disclaimer: эта заметка была написана для внутреннего wiki нашей компании, и, поскольку далеко не все разработчики ПО системные администраторы, я посчитал нужным объяснить некоторые моменты максимально простым и понятным языком._ [Читать дальше →][4]

[1]: https://habrastorage.org/files/266/746/a49/266746a4900c461ca3c34df4803f73b3.jpg
[2]: http://beagleboard.org/bone
[3]: http://smarden.org/runit
[4]: http://habrahabr.ru/post/264263/#habracut

[>] IPv6 под прицелом
habra.14
habrabot(difrex,1) — All
2014-11-28 12:00:03


![][1] Казалось бы, зачем сейчас вообще вспоминать про IPv6? Ведь несмотря на то, что последние блоки IPv4-адресов были розданы региональным регистраторам, интернет работает без каких-либо изменений. Дело в том, что IPv6 впервые появился в 1995 году, а полностью его заголовок описали в RFC в 1998 году. Почему это важно? Да по той причине, что разрабатывался он без учета угроз, с той же доверительной схемой, что и IPv4. И в процессе разработки стояли задачи сделать более быстрый протокол и с большим количеством адресов, а не более безопасный и защищенный. [Подробности][2]

[1]: //habrastorage.org/files/0bf/a14/ef5/0bfa14ef5a0d4731bee42c2e80f78614.jpg
[2]: http://habrahabr.ru/post/244383/#habracut

[>] [Перевод] Ускоренный курс по нотациям в теории языков программирования
habra.15
habrabot(difrex,1) — All
2015-08-06 17:00:04


Программисты часто сталкиваются с проблемами чтения математических нотаций, когда пытаются разобраться с теоретическими основами какого-либо языка программирования. Также с ними толкнулся и я в своих теоретических изысканиях. К счастью, мне очень помогла замечательная статья Джереми Сиека (Jeremy Siek), чьим переводом я хочу с вами поделиться. Надеюсь она поможет многим программистам-«не математикам». [Читать дальше →][1]

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

[>] [Перевод] Пальчиковые деревья (часть 2. Операции)
habra.14
habrabot(difrex,1) — All
2014-11-28 15:00:03


Статья будет состоять из 3х частей: [Пальчиковые деревья (часть 1. Представление)][1] Пальчиковые деревья (часть 2. Операции) Пальчиковые деревья (часть 3. Применение)

#### Пальчиковые Деревья как Последовательности

![][2] _В первой части статьи мы рассмотрели пальчиковые деревья как перспективную структуру в качестве немутабельных последовательностей. И научились создавать пальчиковые деревья. Хочу заметить, научились создавать так, что стало принципиально невозможно построить неправильные деревья. Теперь наша задача научится работать с пальчиковыми деревьями как с последовательностями: научится присоединять к началу и концу последовательности, научится легко отделять от обоих концов последовательности, а также соединять несколько деревьев в одно._ [Читать дальше →][3]

[1]: http://habrahabr.ru/post/240783/
[2]: //habrastorage.org/files/2d6/b7a/e92/2d6b7ae9214d47f6b9eac851893f3b25.png
[3]: http://habrahabr.ru/post/243205/#habracut

[>] Ресурсы для изучения Wolfram Language (Mathematica) на русском языке
habra.14
habrabot(difrex,1) — All
2014-11-28 17:00:03






На протяжении довольно долгого времени я и мои коллеги, участники [Русскоязычной поддержки Wolfram Mathematica][1], занимались разработкой и коллекционированием полностью бесплатных и качественных ресурсов на русском языке, которые позволили бы любому желающему научиться программировать на языке Wolfram Language (Mathematica) самостоятельно. Думаю, что пришла пора рассказать об этом на Хабрахабре, создав статью о разрабатываемой коллекции ресурсов, которая будет постоянно расширяться и пополняться, и будет служить, по сути, русскоязычным аналогом [страницы][2] "_Where can I find examples of good Mathematica programming practice?_" на сайте Mathematica at StackExchange.com. [Читать дальше →][3]

[1]: http://vk.com/wolframmathematica
[2]: http://mathematica.stackexchange.com/questions/18/where-can-i-find-examples-of-good-mathematica-programming-practice
[3]: http://habrahabr.ru/post/244451/#habracut

[>] 84% сайтов на WordPress могут быть взломаны: что дальше?
habra.14
habrabot(difrex,1) — All
2014-11-28 17:00:03


[![image][1]][2] Если вы часто читаете IT-новости, то наверняка уже устали от страшилок об очередной уязвимости, которая нашлась в популярной OS / СУБД / CMS / кофеварке. Поэтому данный пост посвящен не самой уязвимости, а наблюдению за тем, как люди регируют на неё. Однако сначала — несколько слов о «виновнице торжества». Критическая уязвимость популярном блоговом движке WordPress была найдена в сентябре финскими специалистами из компании с весёлым названием [Klikki Oy][3]. Используя эту дыру, хакер может вести в качестве комментария к блогу специальный код, который будет выполнен в браузере администратора сайта при чтении комментариев. Атака позволяет скрытно перехватить управление сайтом и делать разные неприятные вещи под админским доступом. [Читать дальше →][4]

[1]: http://habrastorage.org/getpro/habr/post_images/f3c/a34/5cc/f3ca345cc7ed3cf2bb0e3396a0596528.png
[2]: http://habrahabr.ru/company/pt/blog/244447/
[3]: http://klikki.fi/adv/wordpress_press.html
[4]: http://habrahabr.ru/post/244447/#habracut

[>] Обновление React компонентов с сохранением состояния в режиме реального времени для Browserify
habra.15
habrabot(difrex,1) — All
2015-08-06 17:30:02


![][1] Всем доброго времени суток! Давайте немного поговорим о DX (Developer Experience) или «Опыте разработки», а если конкретнее — об обновлении кода в режиме реального времени с сохранением состояния системы. Если тема для вас в новинку, то перед прочтением советую ознакомиться со следующими видео:
















## Введение: Как это работает?

Прежде всего стоит понимать, что реализация подобной функциональности подразумевает под собой решение ряда задач: — Отслеживание изменений файлов — Вычисление патча на основании изменений файлов — Транспортировка патча на клиент (в браузер, например) — Обработка и применение патча к существующему коду Но обо всём по порядку. [Читать дальше →][2]

[1]: https://habrastorage.org/files/c87/23f/844/c8723f8440c4442a8738891cde859f37.jpg
[2]: http://habrahabr.ru/post/264175/#habracut

[>] Новые возможности Hyper-V vNext
habra.15
habrabot(difrex,1) — All
2015-08-06 17:30:02


Приветствую, хабравчане! Не так давно вышла новая версия Windows Server Technical Preview 2, которая еще более чётко демострирует возможности будущего релиза новейшей серверной операционной системы. Для тех, кто непосредственно связан с эксплуатацией и развитием ИТ-инфраструктуры, я подготовил небольшую заметку о нововведениях, касающихся виртуализации. Обсудим следующие темы:

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

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

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

[>] Создание Excel файла из селекта с параметрами при помощи чистого PL/SQL
habra.15
habrabot(difrex,1) — All
2015-08-06 17:30:02


Так получилось, что только после того, как я написал [первую часть][1] я понял, что создать Excel файл — не фокус, хотя чисто профессионально, это было достаточно трудно. Первая статья состояла из двух частей:

* Примерное описание языка предварительной обработки селекта
* Проблемы, которые были решены в процессе написания

Честно говоря, я думал, что вторая часть важнее, ради нее я и написал статью. Сейчас я думаю, что тема языка обработки селекта более важна. [Читать дальше →][2]

[1]: http://habrahabr.ru/company/oda/blog/263323/
[2]: http://habrahabr.ru/post/264171/#habracut

[>] [Перевод] Data Science: путь к профессионализму
habra.15
habrabot(difrex,1) — All
2015-08-06 17:30:03


Здравствуйте все! На волне непрекращающихся дискуссий о Hadoop и прочих больших данных мы не могли пройти мимо замечательной публикации Джерри Овертона, рассказывающей о профессиональном подходе к анализу больших данных в компаниях любого размера. Понятные картинки, предоставленные автором, а также краткий парад технологий, без которых современному Data scientist'у не обойтись. Поэтому пусть статья и начинается с (ошибочной!) посылки: «Не читайте книги по Data Science», она заслуживает публикации в блоге нашего издательства. Если среди уважаемых читателей найдутся те, кто захочет обсудить Hadoop и прочие технологии из его экосистемы, а также литературу по специфическим алгоритмам, затронутым автором — давайте побеседуем об этом в комментариях. [Читать дальше →][1]

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

[>] Поднятие chroot-«виртуалки» с ubuntu для сборки пакетов
habra.14
habrabot(difrex,1) — All
2014-11-28 17:30:03


Приветствую. На днях надоело для сборки пакетов ходить по ssh на разные машинки и решил поднять парочку у себя. Расскажу о граблях, которые собрал по дороге и о костылях, которые смастерил. Все действия выполнялись на Arch linux, но действия по настройке chroot-виртуалок и schroot должны быть очень схожими. Всё, что описано далее, разумеется, разбросано по всей сети. Но проб и ошибок по пути много. [Прошу под кат][1]

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

[>] Сделаем код чище: рефакторинг драйвера PCI для контроллера NAND Denali
habra.15
habrabot(difrex,1) — All
2015-08-06 18:30:07


На примере драйвера PCI для контроллера NAND Denali я покажу как упрощается код при использовании макросов и функций-помощников, доступных в относительно свежих версиях ядра Linux. [Читать дальше →][1]

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

[>] Двухфакторная аутентификация. Новые вызовы
habra.15
habrabot(difrex,1) — All
2015-08-06 18:30:07


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



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

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

[>] [Из песочницы] Код, которого нет
habra.14
habrabot(difrex,1) — All
2014-11-28 18:30:02


Привет, хабравчане! Около года назад Хабр захлестнула волна постов на тему "[%string% в N строчек на JavaScript][1]". Уже и не вспомню, чем все закончилось, но началось все с [Excel в 30 строк][2]. Следом появилось много и других интересных вариаций на эту тему, даже [игра в ноль строк на JS][3], но это уже совсем другая история… Как я ни старался придумать что-то еще более компактное — ничего не выходило. Тогда было принято решение посмотреть на проблему под другим углом. Примерно в этот момент в голове промелькнул вопрос: а можно ли «сколлапсировать» код так, чтобы его не было _вообще_? Я попробовал добавить немного магии и вот что у меня получилось. ![image][4] [Сим салабим!][5]

[1]: https://www.google.com/search?q=habrahabr+javascript+%D1%81%D1%82%D1%80%D0%BE%D0%BA&oq=habrahabr+javascript+%D1%81%D1%82%D1%80%D0%BE%D0%BA&aqs=chrome..69i57j69i59j69i60j69i64.463j0j7&sourceid=chrome&es_sm=93&ie=UTF-8
[2]: http://habrahabr.ru/post/202304/
[3]: http://habrahabr.ru/post/203048/
[4]: http://habrastorage.org/files/93e/471/415/93e471415bf243a1b8163255f2992b0e.jpg
[5]: http://habrahabr.ru/post/243351/#habracut

[>] Хакерские проекты на Кикстартере
habra.15
habrabot(difrex,1) — All
2015-08-06 19:30:04


![][1] Я готовился к [курсу по выводу проекта на Кикстартер][2] и мне в качестве «домашки» надо было проанализировать успешные проекты. (Я немного охнул, когда узнал, что в мире [1250][3] активных краудфандинговых платформ.) Так как у меня хабр-дефект, я нашел все проекты из области информационной безопасности (а пару проектов подсказали ребята из хакерспейса). **10% — доля технологических стартапов** на Кикстартере (они в итоге собрали около 118 000 000 долларов). Да, краудфандинг отлично заточен на всякую бесполезную, но прикольную хрень. На Кикстартере собирают бабло на салат и на резинкометы (16-ти ствольный деревянный пулемет системы Гатлинга), а на других платформах реализуют «правило 34» для космоса и на радость старине Фрейду печатают органы. Но есть и околохакерские проекты, причем некоторые достаточно серьезные. Как для простых пользователей (флешечки с биометрией), так и для профессиональных пентестеров (анализатор атак по сторонним каналам для железа). Предлагаю самим оценить идеи проектов (глубину технических описаний) и чувство юмора разработчиков. [Читать дальше →][4]

[1]: https://habrastorage.org/files/55f/5e9/5ce/55f5e95ceacd4442999a807a19e4e58c.jpg
[2]: http://tceh.com/edu/crowdfunding/?utm_source=habr&utm_medium=post&utm_content=first&utm_campaign=frst
[3]: http://www.crowdsourcing.org/editorial/global-crowdfunding-market-to-reach-344b-in-2015-predicts-massolutions-2015cf-industry-report/45376
[4]: http://habrahabr.ru/post/263845/#habracut

[>] Разбор всех задач финального раунда Яндекс.Алгоритма 2015
habra.15
habrabot(difrex,1) — All
2015-08-06 20:30:04


Сегодня завершился финал Яндекс.Алгоритма — ежегодного чемпионата по спортивному программированию, который организует Яндекс. В 2015 году состязание проходило полностью в онлайне — на платформе [Яндекс.Контест][1]. Заявки на участие подали программисты из 73 стран. Больше всего участников — из России, Украины, Беларуси, Казахстана, Индии, США, Японии и Китая, но вообще география чемпионата крайне обширна — Бразилия, Индонезия, Перу, Доминиканская Республика, Мозамбик, Сенегал, Каймановы острова. 8,9% зарегистрировавшихся — девушки. Примерно половина всех участников — студенты. Всего мы получили заявки от 3722 человек, из которых до финала дошли 28. А победителем Яндекс.Алгоритма-2015 стал Геннадий Короткевич. Он показал лучший результат, решив в финальном раунде пять из шести задач и получив при этом 80 минут штрафного времени. Геннадий занимал первое место в чемпионате Яндекса и в 2013, и в 2014 годах. ![][2] Второе место занял Пётр Митричев, а третье — Евгений Капун. Они решили по четыре задачи, при этом Пётр набрал 31 штрафную минуту, а Евгений — 79 минут. Результаты всех финалистов можно посмотреть на сайте [Яндекс.Алгоритма][3]. Задачи для Яндекс.Алгоритма составляет международная команда, в которую входят как сотрудники Яндекса, так и приглашённые эксперты — в том числе победители и финалисты состязаний ACM ICPC и Topcoder Open. И мы по традиции подготовили для вас разборы всех заданий. Решить все из них никому не удалось. Больше всего участников справились с задачей B, а вот задания A и D решило всего по одному человеку. [Читать дальше →][4]

[1]: https://contest.yandex.ru
[2]: https://habrastorage.org/files/4dc/310/84a/4dc31084a45442fea01fe15fca409949.jpg
[3]: https://contest.yandex.ru/algorithm2015/contest/1242/standings/
[4]: http://habrahabr.ru/post/264253/#habracut

[>] Microsoft выпустила первое большое обновление для Windows 10
habra.15
habrabot(difrex,1) — All
2015-08-07 10:00:02


Компания Microsoft довольно тихо и без всякой шумихи выпустила первое большое по размеру обновление для Windows 10 ([KB3081424][1]). Обновление не относится к типу security, а специализируется на исправлении различных недоработок в ОС. Для 64-битной версии Windows 10 размер обновления составляет около 325MB. Примечателен тот факт, что MS переработала формат своих статей о выпускаемых обновлениях для Windows 10 и теперь там не публикуется, фактически, никакой информации о выпущенном исправлении. ![][2] Само обновление (_Cumulative Update for Windows 10: August 5, 2015_) направлено на исправление различных системных файлов, включая, драйверы. Полный список исправляемых файлов приведен в статье KB3081424, однако, о его назначении остается только гадать. [Читать дальше →][3]

[1]: https://support.microsoft.com/en-us/kb/3081424
[2]: https://habrastorage.org/files/aa0/fda/97b/aa0fda97bfad4128a62fdc83ffa70b33.png
[3]: http://habrahabr.ru/post/264319/#habracut

[>] Компиляция iOS приложений для Windows Store
habra.15
habrabot(difrex,1) — All
2015-08-07 10:30:02


![][1] В апреле этого года на конференции //Build был сделан очень интересный анонс, который показал возможность [компиляции и сборки ObjectiveC][2] кода для Windows Store. С радостью хочу сообщить что теперь эта технология и инструменты стали публичными, вы можете уже сейчас [загрузить][3] компоненты сборки ObjC/iOS приложений для Visual Studio 2015 и собрать приложение для Windows Store. [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/599/692/da4/599692da444fa0e8edf45ffe034fc543.png
[2]: https://channel9.msdn.com/Events/Build/2015/3-610
[3]: https://github.com/Microsoft/WinObjC
[4]: http://habrahabr.ru/post/264321/#habracut

[>] Vim по полной: Тестирование с помощью xUnit
habra.15
habrabot(difrex,1) — All
2015-08-07 11:00:02




# Оглавление



1. [Введение][1] (vim\_lib)
2. [Менеджер плагинов без фатальных недостатков][2] (vim\_lib, vim\_plugmanager)
3. [Уровень проекта и файловая система][3] (vim\_prj, nerdtree)
4. [Snippets и шаблоны файлов][4] (UltiSnips, vim\_template)
5. [Компиляция и выполнение чего угодно][5] (vim-quickrun)
6. [Работа с Git][6] (vim\_git)
7. [Деплой][7] (vim\_deploy)
8. **Тестирование с помощью xUnit** (vim\_unittest)
9. Библиотека, на которой все держится (vim\_lib)
10. Другие полезные плагины

Мне еще не приходилось работать в компаниях, которые тестируют свой код так, как это положено делать для последующего сопровождения и рефакторинга. В России даже крупные IT компании избегают процесс модульного тестирования, не говоря уже об общесистемном, что приводит к тоннам затхлого и окаменевшего кода. Да, я считаю, что тестируемый код, это качественный код, но почему же люди этого избегают? Как я понял, причины две:

* Незнание методологий и инструментов тестирования
* Сложность в запуске тест-случаев (test-case)

Первая проблема вне темы этой статьи, а вот вторую, особенно для пользователей редактора Vim, я постараюсь здесь решить. [Red line][8]

[1]: http://habrahabr.ru/post/259701/
[2]: http://habrahabr.ru/post/259725/
[3]: http://habrahabr.ru/post/259995/
[4]: http://habrahabr.ru/post/260591/
[5]: http://habrahabr.ru/post/261179/
[6]: http://habrahabr.ru/post/261783/
[7]: http://habrahabr.ru/post/263487/
[8]: http://habrahabr.ru/post/264297/#habracut

[>] Security Week 32: Android Stagefright, новые автодыры, Do Not Track 2.0
habra.15
habrabot(difrex,1) — All
2015-08-07 13:30:04


![][1]Каких-то 23 года назад Microsoft выпустила . Новости аккуратно подобраны редакцией новостного сайта [Threatpost][3]. [Читать дальше →][4]

[1]: https://habrastorage.org/files/3cd/624/5cd/3cd6245cd7344cebbb39835fabaddec4.png
[2]: https://habrastorage.org/files/864/0d7/03b/8640d703b29243ed92f2fb164c681bac.png
[3]: https://threatpost.ru/
[4]: http://habrahabr.ru/post/264329/#habracut

[>] [Перевод] Еженедельные новости Tor — 22 июля, 2015 г
habra.15
habrabot(difrex,1) — All
2015-08-07 15:00:03


Предлагаю вашему вниманию еженедельные новости Tor сообщества. Начал с последней на текущий момент записи, если будут пожелания перевести другие записи, пишите в коментариях. ![image][1] [Читать дальше →][2]

[1]: http://habrastorage.org/files/d38/182/d48/d38182d4847f4cdd9de150e101ac7e59.png
[2]: http://habrahabr.ru/post/264327/#habracut

[>] Sync, share & secure – три в одном с помощью Acronis Access 7
habra.14
habrabot(difrex,1) — All
2014-11-28 20:30:04


Всё, что связано с корпоративной безопасностью, обычно противоречит удобству использования. Либо пользователи недовольны сложными схемами по защите контента, либо ИТ-служба – тем, что пользователи вот-вот разнесут важные данные по всему интернету через почтовые сервисы и Dropbox. Громкие утечки данных у многих на слуху. Про пикантные фотографии знаменитостей, украденные из iCloud, слышал каждый, но, когда речь идет о серьезном бизнес-контенте, в ходу более изощренные схемы. Так, недавно Касперский [обнаружил][1] случай, когда хакеры очень избирательно охотились за топ-менеджерами крупных компаний: заражали их девайсы через внешне безобидные обновления, которые загружались при подключении к wi-fi в дорогих отелях. ![][2] Поскольку мы в Acronis заняты безопасностью данных, то у нас уже довольно давно есть продукт, позволяющий «убить сразу двух (и даже трёх) зайцев»: [Читать дальше →][3]

[1]: http://www.theguardian.com/technology/2014/nov/10/hotel-wi-fi-infected-business-travellers-asia-kaspersky
[2]: //habrastorage.org/files/63f/6be/a3c/63f6bea3cd10434ab07c9821297905af.png
[3]: http://habrahabr.ru/post/244449/#habracut

[>] [Из песочницы] RTKLib – Сантиметровая точность GPS/ГЛОНАСС в пост-обработке
habra.14
habrabot(difrex,1) — All
2014-11-28 21:00:03







Здравствуйте! К сожалению, я не нашел на Хабре упоминаний о замечательной библиотеке для обработки сырых измерений – RTKLib. В связи с этим рискнул написать немного о том, как с её помощью можно получить сантиметры в относительной навигации. Цель простая – обратить внимание общественности. Сам я только недавно начал работать с этой библиотекой и был поражен её возможностями для простых смертных. В интернете достаточно много информации о практических примерах, но хотелось попробовать самому — и вот результат. [Читать дальше →][1]

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

[>] Глючинг, атаки по сторонним каналам и хакерские проекты на Кикстартере (продолжение)
habra.15
habrabot(difrex,1) — All
2015-08-07 15:30:02


Продолжение списка хакерских проектов на Кикстартере, найденных мной во время выполнения «домашки» для [курса по выводу проекта на Кикстартер][1]. Начало [тут][2].

##### **ChipWhisperer-Lite: A New Era of Hardware Security Research**



> ChipWhisperer смеется над вашей реализации AES-256. Но смеется вместе с тобой, а не над тобой.

![][3]**ChipWhisperer** — первый Open Source набор инструментов ([GPL licenced][4]) для анализа безопасности оборудования, включая анализ атак по сторонним каналам и глитчинг ([glitching][5]). Ближайший коммерческий аналог такого оборудования стоит $30k — $400k, с закрытыми исходниками, что затрудняет исследования и разработки. Проект занял второе место на [Hackaday Prize 2014][6] Сборы — $88,535 ($50,000) Старт проекта — 27 февраля 2015 [Страница проекта][7] на Кикстартере ![image][8] [Читать дальше →][9]

[1]: http://tceh.com/edu/crowdfunding/?utm_source=habrahabr.ru&utm_medium=post&utm_term=hacker&utm_content=dn2&utm_campaign=crowdfunding
[2]: http://habrahabr.ru/company/tceh/blog/263845/
[3]: https://habrastorage.org/files/b03/809/02f/b0380902fced40aba96685a71caf35fd.jpg
[4]: https://ru.wikipedia.org/wiki/GNU_General_Public_License
[5]: https://en.wikipedia.org/wiki/Glitching
[6]: https://hackaday.io/project/956-chipwhisperer-security-research
[7]: https://www.kickstarter.com/projects/coflynn/chipwhisperer-lite-a-new-era-of-hardware-security/description
[8]: https://www.assembla.com//spaces/chipwhisperer/documents/awN0NMZXar44kEacwqjQYw/download/awN0NMZXar44kEacwqjQYw
[9]: http://habrahabr.ru/post/264337/#habracut

[>] [Из песочницы] Стэнфордские курсы «Разработка iOS приложений» — неавторизованный конспект лекций на русском языке и 2015?
habra.14
habrabot(difrex,1) — All
2014-11-29 01:30:04


![][1] Я разместила иконки курсов Стэнфордского университета по разработке приложений на iOS в обратном хронологическом порядке. На первом месте стоит иконка Swift — нового языка программирования для создания приложений на iOS, объявленного на WWDC 2014. Его официальный релиз состоялся осенью 2014 года. Кроме Swift реализована новая версия iOS — iOS 8. Уже известно, что Стэнфордский университет [запустит зимой 2015 года новый курс CS193P][2] с неизвестным пока названием (может быть будет что-то вроде «Developing iOS 8 Apps for iPhone and iPad»). Лектор тот же — профессор Paul Hegarty. Кроме того, [Apple упоминала о включении Swift в учебные программы Стэнфорда][3], California Polytechnic Institute и других. Поэтому есть большая вероятность, что там будет Swift, но не как лидирующий, а наряду с Objective-C, потому что пока команде Apple не удалось вывести Swift на технологический уровень. Но в любом случае, там будет все об iOS 8. В традиции Стэнфорда выкладывать этот курс на iTunes U в виде бесплатного курса обучения, но делают это они со сдвигом во времени, чтобы не мешать платному обучающему процессу, так что в феврале-марте 2015 года (как это было в 2013 году) можно ожидать постепенное появление лекций на iTunes U. Надо сказать, что те, кто хоть раз использовали предыдущие версии стэнфордского курса CS193P для самообучения, конечно, ждут это событие с нетерпением. А предыдущих версий курса CS193P с профессором Paul Hegarty в качестве лектора было несколько. [Читать дальше →][4]

[1]: //habrastorage.org/files/d21/39b/d3d/d2139bd3dfcf4b8986ab425fb21b96bb.jpg
[2]: http://cs.stanford.edu/courses/schedules/2014-2015.winter.php
[3]: https://www.apple.com/swift/
[4]: http://habrahabr.ru/post/244353/#habracut

[>] Забавные баги
habra.14
habrabot(difrex,1) — All
2014-11-29 12:00:03


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

[1]: //habrastorage.org/files/3bd/fc2/6fd/3bdfc26fda414ccf901a39e867de809d.jpg
[2]: http://habrahabr.ru/post/244479/#habracut

[>] Эквализация гистограмм для повышения качества изображений
habra.14
habrabot(difrex,1) — All
2014-11-29 14:30:04


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

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

[>] Фабричный метод без размещения в динамической памяти
habra.14
habrabot(difrex,1) — All
2014-11-29 15:00:02


У классической реализации фабричного метода на C++ есть один существенный недостаток — используемый при реализации этого шаблона динамический полиморфизм предполагает размещение объектов в динамической памяти. Если при этом размеры создаваемых фабричным методом объектов не велики, а создаются они часто, то это может негативно сказаться на производительности. Это связанно с тем, что во первых оператор `new` не очень эффективен при выделении памяти малого размера, а во вторых с тем что частая деаллокация небольших блоков памяти сама по себе требует много ресурсов. Для решения этой проблемы было бы хорошо сохранить динамический полиморфизм (без него реализовать шаблон не получится) и при этом выделять память на стеке. Если вам интересно, как это у меня получилось, добро пожаловать под кат. [Читать дальше →][1]

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

[>] Подпольный рынок кардеров. Перевод книги «Kingpin». Глава 6. «I miss crime»
habra.15
habrabot(difrex,1) — All
2015-08-07 15:30:02


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

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

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

#### Глава 6. «Я скучаю по преступлениям»

Второго июня, после полудня, Макс открыл дверь своего двухэтажного дома в Сан-Хосе. Он поприветствовал Криса Бисона и тут же понял, что влип: помимо агента ФБР на пороге стояли ещё трое в костюмах. В том числе угрюмый начальник Бисона – Пит Трэхон, глава отдела расследований компьютерных преступлений. В течение месяца после BIND-атаки у Макса было немало хлопот. Он запустил сайт whitehats.com, который тут же стал очень популярным в среде безопасников. Помимо сканера на сайте были размещены свежие оповещения CERT, ссылки на патчи для BIND и внушительный объём материала, написанный лично Максом по червю ADM, где тот был исследован до мельчайших деталей. Никто в сообществе и не подозревал, что Max Vision, стоящий за проектом whitehats.com, лично продемонстрировал всю серьёзность уязвимости в BIND. Макс всё так же продолжал подавать отчёты в ФБР. Получив последний отчёт, Бисон отправил электронное письмо, вероятно, чтобы обсудить свежие достижения Макса: «Что если мы встретимся у тебя? Я знаю адрес, он должен быть у меня где-то записан». [Читать дальше →][12]

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

[>] Как Microsoft Project Oxford может сделать ваши приложения умнее
habra.15
habrabot(difrex,1) — All
2015-08-07 15:30:02




> _Выражаем большое спасибо за подготовку статьи Евгению Григоренко, Microsoft Student Partner, за помощь в написании данной статьи. Остальные наши статьи по теме Azure можно найти по тегу [azureweek][1]_

Дайте я угадаю, Вы, как и я, уже пару месяцев горите идеей гениального приложения. Помимо своей основной функциональности, в идеальном мире оно просто обязано обладать множеством дополнительных возможностей, например, идентифицировать пользователя (или [кота][2]) по его фотографии с фронтальной камеры или понимать команды на естественном языке. Или сделать второй [How-Old][3] (который был сделан как раз на Оксфорде). Но все мы знаем печальную истину. Многое возможно только с пользованием сложных алгоритмов машинного обучения, которых у нас совершенно нет времени изучать. И именно это останавливает от разработки, так как без таких инноваций мы совершенно затеряемся среди аналогов. Но решение этой проблемы есть, и имя ему Microsoft Project Oxford. Если вы хотите узнать, как Microsoft Project Oxford может упростить Вашу жизнь и сделать Ваши приложения по-настоящему интеллектуальными, то добро пожаловать под кат. ![][4] [Читать дальше →][5]

[1]: http://habrahabr.ru/search/?q=%5Bazureweek%5D&target_type=posts
[2]: http://habrahabr.ru/post/262911/
[3]: http://how-old.net/
[4]: http://litehtmlconv.azurewebsites.net/api/pics/y1zyxjlq1sa0zy-61pvsyzmo
[5]: http://habrahabr.ru/post/263635/#habracut

[>] [Перевод] Использование набора инструкций Intel SSSE3 для ускорения реализации алгоритма DNN в задачах распознавания речи, выполняемых на мобильных устройствах
habra.15
habrabot(difrex,1) — All
2015-08-07 16:00:02


За последние тридцать лет технологии распознавания речи серьёзно продвинулись вперед, начав свой путь в исследовательских лабораториях и дойдя до широкого круга потребителей. Эти технологии начинают играть важную роль в нашей жизни. Их можно встретить на рабочем месте, дома, в машине. Их используют в медицинских целях и в других сферах деятельности. Распознавание речи входит в топ-10 перспективных технологий мирового уровня. [![][1]][2] [Читать дальше →][3]

[1]: https://habrastorage.org/files/2ea/4cb/e24/2ea4cbe24aba4b37a6f84beca0faba39.jpg
[2]: http://habrahabr.ru/company/intel/blog/264311/
[3]: http://habrahabr.ru/post/264311/#habracut

[>] Ядерные технологии в CAD
habra.15
habrabot(difrex,1) — All
2015-08-07 16:00:02


![image][1] В этой статье я предлагаю краткий обзор библиотек геометрического моделирования с точки зрения разработчика специализированной CAD системы и делюсь опытом интеграции ядра C3D. Если рынок «больших» программ проектирования давно поделен между несколькими крупными игроками вроде AutoCAD, SolidWorks, NX, Creo Elements и CATIA и т.п., то рынок специализированных программ проектирования всего и вся – окон и лестниц, корпусной и мягкой мебели, трубопроводов и корпусов весьма широк и динамичен. Причин для этого, на мой взгляд, две: во-первых, это высокая стоимость покупки крупной САПР и сотрудника, умеющего в ней эффективно работать. А, во-вторых, отсутствие адаптации для проектирования конкретных изделий в крупной САПР приводит к тому, что скорость проектирования специализированных изделий в них низкая. Специализированные САПР являются ответом на указанные проблемы и перед программистом стоят два пути их создания. Первый – доработка крупной САПР с использованием предоставляемых API, плагинов и всевозможных скриптов. Этот подход не всегда оправдан, т.к. в результате стоимость САПР возрастает для пользователя (нужно платить как за большую САПР, так и за адаптацию), а требуемая квалификация инженера (а, следовательно, и затраты на его обучение и содержание) для работы с таким комбайном достаточно высоки. Второй путь – создание системы «с нуля». Этот путь, несомненно, значительно сложнее, т.к. огромный функционал нужно разработать с самого начала. Но несмотря на это он может оказаться значительно дешевле и удобнее в использовании для конечного пользователя, который и определяет успех продукта. [Читать дальше →][2]

[1]: https://habrastorage.org/files/a7e/e31/6df/a7ee316dfaba48b1b0501bb872c1fbb3.png
[2]: http://habrahabr.ru/post/264243/#habracut

[>] [Из песочницы] Удаляем лишние пакеты из Raspbian. Или как сделать свой Raspbian Mini…
habra.15
habrabot(difrex,1) — All
2015-08-07 16:00:02


Raspbian является рекомендуемым дистрибутивом для всех, кто начинает своё знакомство с Raspberry Pi, проблема лишь в том, что по умолчанию в него включено множество пакетов. А так как очень не многие используют малинку в качестве десктопа, то эти пакеты вряд ли можно считать необходимыми. На просторах Интернета можно найти образы минималистичных версий (например, из этой [статьи][1]), но к сожалению 2 представленные там версии (Raspbian Server Edition и Raspbian Minimal) не обновлялись уже более 2 лет. В связи с этим было решено самостоятельно вырезать из установленной системы все ненужные компоненты. На просторах Интернета была найдена только одна более менее полная статья на английском языке. Большая часть взята из неё с моими небольшими исправлениями и дополнениями. P.S. У знатоков Linux систем с этим вряд ли возникнут проблемы, а новичкам может быть полезно. [Читать дальше →][2]

[1]: http://habrahabr.ru/sandbox/66194/
[2]: http://habrahabr.ru/post/264353/#habracut

[>] Третий PyCon Russia пройдёт в Екатеринбурге 18-19 сентября
habra.15
habrabot(difrex,1) — All
2015-08-07 16:00:02


18-19 сентября питонисты из России и ближнего зарубежья соберутся в Екатеринбурге на конференцию [PyCon Russia][1]. Под катом: как это было в прошлом году, что мы планируем на этот и что сделать, чтобы стать докладчиком. [][2] __

###### Участники PyCon-2015

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

[1]: http://pycon.ru/2015/
[2]: https://fotki.yandex.ru/next/users/it-people-ekb/album/439654/view/873273?page=9
[3]: http://habrahabr.ru/post/264347/#habracut

[>] Несколько фактов о фроде
habra.14
habrabot(difrex,1) — All
2014-11-29 19:30:02


![][1] Нас в [Web-payment.ru][2], сайте о платежных системах, очень беспокоят темпы роста мошенничества с банковскими картами. В России убытки от мошеннических операций с 2006 по 2013 год выросли в 10 раз (по отчетам FICO)! В 2012 году по отчетам Cybersource 2013 электронное мошенничество стоило индустрии интернет-коммерции 3.5 миллиарда долларов, и это только в США. Что составляет 0.9% от оборота. Две причины, по которым 0.9% — неприемлемо большая цифра:

* Потеря 0.9% от доходов [составляет][3] одну восьмую часть среднего по индустрии показателя чистой прибыли (6.8%). Без мошенничества, сфера Интернет-торговли станет прибыльнее почти на 13%.
* Бизнес мог бы реинвестировать эту прибыль, используя способы, которые помогли бы клиентам и экономике. Например, предложение более низких цен или наем большего количества сотрудников.

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

[1]: //habrastorage.org/files/cd0/21b/78e/cd021b78ec0a429ca3353fbc3b9a51e4.png
[2]: http://web-payment.ru/
[3]: http://www.inc.com/best-industries-2012/judith-ohikuare/ecommerce.html
[4]: http://habrahabr.ru/post/244301/#habracut

[>] [Перевод] Введение в JavaScript итераторы на ES6
habra.15
habrabot(difrex,1) — All
2015-08-07 16:00:02


В EcmaScript 2015 (также известном как ES6) представлена совершенно новая концепция итераторов, которая позволяет задать последовательности (ограниченные и другие) на уровне языка. Давайте поговорим об этом детальнее. Все мы хорошо знакомы с оператором цикла for, а многие даже знают его менее популярного брата for-in. Последний можно использовать, чтобы помочь нам объяснить базовые принципы работы с итераторами.

for (var key in table) {
console.log(key + ' = ' + table[key]);
}


С оператором цикла for-in есть много проблем, но самая большая, пожалуй, состоит в том, что он не дает никаких гарантий последовательности. Попытаемся решить эту проблему с помощью итераторов. Больше информации под катом! [Читать дальше →][1]

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

[>] Inversion of Control: Методы реализации с примерами на PHP
habra.14
habrabot(difrex,1) — All
2014-11-29 19:30:03




> О боже, ещё один пост о Inversion of Control

Каждый более-менее опытный программист встречал в своей практике словосочетание Инверсия управления (Inversion of Control). Но зачастую не все до конца понимают, что оно значит, не говоря уже о том, как правильно это реализовать. Надеюсь, пост будет полезен тем, кто начинает знакомится с инверсией управления и несколько запутался. [Читать дальше →][1]

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

[>] Определяем ключевые товары с помощью линейной регрессии
habra.15
habrabot(difrex,1) — All
2015-08-07 16:00:02


Ритейл, все-таки, штука интересная. Особенно, если разрабатываешь сервис для его аналитики. Каждый поход в магазин превращается в мини-исследование. Идешь себе вдоль полок и думаешь: “С чем лучше сосиски коррелируются с кетчупом или мариноваными огурцами? А черт, ладно, беру и то, и то!” “Hoegaarden почти раскупили, а ведь до вечера пятницы еще целых полдня. Эх, че ж так плохо спрос то спрогнозировали? ” Интересно, а что применяют управляющие для прогнозирования продаж? А иногда приходишь с этим вопросом к ритейлерам, а тебе в ответ люди говорят «Нууууу, обычно как-то так ...» и начинают делать широкие жесты руками. Да вот, приблизительно, такие, как на картинке.



Так вот, мы в [Datawiz.io][1], решительно не согласны с таким подходом. [Читать дальше →][2]

[1]: http://datawiz.io/ru/
[2]: http://habrahabr.ru/post/264333/#habracut

[>] Git и Microsoft SQL Server
habra.14
habrabot(difrex,1) — All
2014-11-30 00:00:02


Привет всем! В [предыдущем посте][1] было рассказано о трудностях, которые испытывают разработчики при написании SQL-кода (причём актуальны эти проблемы не только для MS SQL Server). Здесь же рассказ о том, как использовать Git для версионного контроля кода SQL Server с помощью [SQLFuse][2]. Принцип тот же, что и с обычными файлами, но есть некоторые особенности. ![][3] [Читать дальше →][4]

[1]: http://habrahabr.ru/post/227185/
[2]: http://sqlfuse.org
[3]: //habrastorage.org/files/cfe/2e9/6dc/cfe2e96dc68547c4870cb30e669aeb80.jpg
[4]: http://habrahabr.ru/post/240019/#habracut

[>] Подпольный рынок кардеров. Перевод книги «Kingpin». Глава 6. «Я скучаю по преступлению»
habra.15
habrabot(difrex,1) — All
2015-08-07 17:00:05


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

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

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

#### Глава 6. «Я скучаю по преступлениям»

Второго июня, после полудня, Макс открыл дверь своего двухэтажного дома в Сан-Хосе. Он поприветствовал Криса Бисона и тут же понял, что влип: помимо агента ФБР на пороге стояли ещё трое в костюмах. В том числе угрюмый начальник Бисона – Пит Трэхон, глава отдела расследований компьютерных преступлений. В течение месяца после BIND-атаки у Макса было немало хлопот. Он запустил сайт whitehats.com, который тут же стал очень популярным в среде безопасников. Помимо сканера на сайте были размещены свежие оповещения CERT, ссылки на патчи для BIND и внушительный объём материала, написанный лично Максом по червю ADM, где тот был исследован до мельчайших деталей. Никто в сообществе и не подозревал, что Max Vision, стоящий за проектом whitehats.com, лично продемонстрировал всю серьёзность уязвимости в BIND. Макс всё так же продолжал подавать отчёты в ФБР. Получив последний отчёт, Бисон отправил электронное письмо, вероятно, чтобы обсудить свежие достижения Макса: «Что если мы встретимся у тебя? Я знаю адрес, он должен быть у меня где-то записан». [Читать дальше →][12]

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

[>] [Из песочницы] Модификация исходного кода android-приложения с использованием apk-файла
habra.14
habrabot(difrex,1) — All
2014-11-30 00:00:02


Так уж получилось, что приложение для чтения комиксов и манги, которое я использую на своем android-смартфоне, после обновления стало показывать рекламу в конце каждой главы комикса. Данное приложение пару лет назад было доступно на Google Play (платная версия которого и была мной куплена), но было удалено в силу «нарушения авторских прав», после чего ушло в подполье и стало распространятся через сайт разработчика. Увы, достойных альтернатив этому приложению на android и iOS я не нашел, но и смотреть рекламу особо не было желания, тем более я уже покупал версию без рекламы. Сам разработчик почему-то не сделал возможности отключить ее, а на просьбы добавить такую возможность не отозвался. Поэтому пришлось искать альтернативные методы ее отключения. Первое, что пришло в голову, это то, что android-приложения пишутся на java, а значит есть вероятность, что автор не обфусцировал свое приложение и его можно попытаться декомпилировать. Немного подумав, я приступил к работе. [Читать дальше →][1]

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

[>] [Перевод] Многоликие функции Swift
habra.14
habrabot(difrex,1) — All
2014-11-30 02:00:03


Русский перевод очень полезной статьи [Natasha Murashev][1] [The Many Faces of Swift Functions][2]. Хотя у _Objective-C_ синтаксис выглядит несколько странно, по сравнению с другими языками программирования, синтаксис **метода** — прост и понятен. Вот небольшой экскурс в прошлое:

+ (void)mySimpleMethod
{
// метод "класса"
// нет параметров
// нет возвращаемых значений
}

- (NSString *)myMethodNameWithParameter1:(NSString *)param1 parameter2:(NSNumber *)param2
{
// метод "экземпляра"
// первый параметр - типа NSString указатель,
// второй параметр - типа NSNumber указатель
// должен вернуть значение типа NSString указатель
return @"hello, world!";
}


В противоположность этому, синтаксис _Swift _выглядит в большинстве случаев также, как и в других языках программирования, но временами он может быть более сложным и запутанным, чем в _Objective-C_. Прежде чем я продолжу, я хочу прояснить разницу между** «методами»** и **«функциями»** в _Swift_, так как я повсеместно буду использовать оба этих термина в этой статье. Вот определение «методов», данное в книге [Apple «Swift Programming Language»][3]: [Читать дальше →][4]

[1]: https://twitter.com/NatashaTheRobot
[2]: http://www.objc.io/issue-16/swift-functions.html
[3]: https://developer.apple.com/library/mac/documentation/Swift/Conceptual/Swift_Programming_Language/Methods.html
[4]: http://habrahabr.ru/post/244487/#habracut

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




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



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

_Рисование — это обман. М.К.Эшер_ Браузеры позволяют нам рисовать графику разными способами. Проще всего использовать стили для расположения и расцветки стандартных элементов DOM. Так можно добиться многого, как показал пример игры из предыдущей главы. Добавляя частично прозрачные картинки узлам, мы можем придать им любой нужный вид. Возможно даже поворачивать или искажать узлы через стиль transform. Но такое использование DOM – не то, для чего он создавался. Некоторые задачи, типа рисования линии между двумя произвольными точками, крайне неудобно выполнять при помощи обычных элементов HTML. Есть две альтернативы. Первая – SVG, масштабируемая векторная графика, также основанная на DOM, но без участия HTML. SVG – диалект для описания документов, который концентрируется на формах, а не тексте. SVG можно встроить в HTML, или включить через тег ``. Вторая альтернатива – холст (canvas). Холст – это один элемент DOM, в котором находится картинка. Он предоставляет API для рисования форм на том месте, которое занимает элемент. Разница между холстом и SVG в том, что в SVG хранится начальное описание форм – их можно в любой момент сдвигать или менять размер. Холст же преобразовывает формы в пиксели (цветные точки растра), как только нарисует их, и не запоминает, что эти пиксели из себя представляют. Единственным способом сдвинуть форма на холсте является очистить холст (или ту часть, которая окружает форму) и перерисовать её на другом месте. [Читать дальше →][19]

[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://habrahabr.ru/post/244405/
[17]: http://habrahabr.ru/post/244545/
[18]: http://eloquentjavascript.net/code
[19]: http://habrahabr.ru/post/244545/#habracut

[>] Vim по полной: Библиотека, на которой все держится
habra.15
habrabot(difrex,1) — All
2015-08-08 14:00:02




# Оглавление



1. [Введение][1] (vim\_lib)
2. [Менеджер плагинов без фатальных недостатков][2] (vim\_lib, vim\_plugmanager)
3. [Уровень проекта и файловая система][3] (vim\_prj, nerdtree)
4. [Snippets и шаблоны файлов][4] (UltiSnips, vim\_template)
5. [Компиляция и выполнение чего угодно][5] (vim-quickrun)
6. [Работа с Git][6] (vim\_git)
7. [Деплой][7] (vim\_deploy)
8. [Тестирование с помощью xUnit][8] (vim\_unittest)
9. **Библиотека, на которой все держится** (vim\_lib)
10. Другие полезные плагины

Основной проблемой при написании плагинов под Vim, является повторение кода. К сожалению для Vim нет библиотек, решающих множество базовых задач, отчего все авторы плагинов постоянно наступают на одни и те же грабли. В этой статье я постараюсь освятить решение этой проблемы. [Познать квинтесенцию][9]

[1]: http://habrahabr.ru/post/259701/
[2]: http://habrahabr.ru/post/259725/
[3]: http://habrahabr.ru/post/259995/
[4]: http://habrahabr.ru/post/260591/
[5]: http://habrahabr.ru/post/261179/
[6]: http://habrahabr.ru/post/261783/
[7]: http://habrahabr.ru/post/263487/
[8]: http://habrahabr.ru/post/264297/
[9]: http://habrahabr.ru/post/264351/#habracut

[>] Всемирный день информационной безопасности
habra.14
habrabot(difrex,1) — All
2014-11-30 07:00:04


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

[1]: //habrastorage.org/files/848/229/56d/84822956d8b348ada870319ecd99df45.jpg
[2]: http://habrahabr.ru/company/mailru/blog/244535/
[3]: http://habrahabr.ru/post/244535/#habracut

[>] Разработчики Tox отмежевались от Tox Foundation
habra.15
habrabot(difrex,1) — All
2015-08-08 23:00:03


Хабр [больше, чем на год,][1] забыл про свободный и защищенный мессенджер Tox, мол, все работает — и ладно. Теперь работает не все, точнее, все, но несколько по-иному. ![][2] [Ужаснуться][3]

[1]: http://habrahabr.ru/post/230037/
[2]: https://habrastorage.org/files/cbf/302/5fc/cbf3025fcdbd4f38a074126fe8f90386.jpg
[3]: http://habrahabr.ru/post/264383/#habracut

[>] Краткая история хакерства. Рассказ от руководителя информационной безопасности Яндекса
habra.14
habrabot(difrex,1) — All
2014-11-30 15:30:03


Привет! Меня зовут Антон Карпов, в Яндексе я руковожу службой информационной безопасности. Недавно передо мной встала задача рассказать школьникам — студентам Малого ШАДа Яндекса — о профессии специалиста по безопасности. Я решил, что вместо скучной теории, которую и так можно прочитать в учебниках (да и что расскажешь за одну лекцию!), лучше рассказать историю компьютерной безопасности. На основе лекции я подготовил этот короткий рассказ.




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

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

[>] [Перевод] «Математика – один из видов искусства»: пост к столетию со дня рождения Мартина Гарднера
habra.14
habrabot(difrex,1) — All
2014-11-30 18:00:03






_Перевод поста Эда Пегга Младшего (Ed Pegg Jr) "[Martin Gardner’s 100th Birthday][1]"_ _Я думаю, содержание этого поста будет интересно всем, кто любит математику и ее красоту, всем, кто знаком с замечательными книгами и задачами Мартина Гарднера, а также будет полезно учителям, школьникам и студентам. Все ссылки в данном посте ведут на сайты [Wolfram Demonstrations Project][2] (коллекция бесплатных интерактивных демонстраций, созданных пользователями системы _Mathematica_ на языке Wolfram Language с помощью технологии [Computable Document Format][3] (CDF), при этом для вас доступны исходные коды всех демонстраций, а значит, вы можете каждую из них скачать, изучить и изменить под себя) и [Wolfram MathWorld][4] (крупнейшая и самая авторитетная онлайн-энциклопедия по математике)._



[Читать далее...][5]

[1]: http://blog.wolfram.com/2014/10/21/martin-gardners-100th-birthday/
[2]: http://demonstrations.wolfram.com/index.html
[3]: http://www.wolfram.com/cdf/
[4]: http://mathworld.wolfram.com/
[5]: http://habrahabr.ru/post/244563/#habracut

[>] ReactOS Hackfest начался
habra.15
habrabot(difrex,1) — All
2015-08-09 03:30:03


И так, дорогие друзья, [обещанный][1] три недели назад ReactOS Hackfest начался! Мероприятие проходит с 7 по 12 августа 2015 года в городе [А́хен][2] (Германия). Если вы волей судьбы оказались поблизости, то обязательно заглядывайте в гости! Всю информацию, как попасть на мероприятие можно получить на Всю информацию о событии можно получить на специальной [вики-страничке][3]. ![][4] Ну а если географически вы не так близко, то добро пожаловать под кат этого поста. И еще, на сегодня запланировано 2 прямые трансляции, ссылки будут ниже. [Читать дальше →][5]

[1]: http://habrahabr.ru/company/reactos/blog/262951/
[2]: https://ru.wikipedia.org/wiki/%D0%90%D1%85%D0%B5%D0%BD
[3]: https://reactos.org/wiki/ReactOS_Hackfest_2015
[4]: https://habrastorage.org/getpro/habr/post_images/7a1/770/e0b/7a1770e0bef63a02aaf1612dffeb6936.jpg
[5]: http://habrahabr.ru/post/264379/#habracut

[>] [Перевод] Анонс Rust 1.2
habra.15
habrabot(difrex,1) — All
2015-08-09 04:30:02


Сегодня [завершаются][1] циклы стабильного Rust 1.2 и бета-Rust 1.3! Читайте дальше об основных изменениях или переходите к более подробным [release notes][2]. [Читать дальше →][3]

[1]: http://www.rust-lang.org/install.html
[2]: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-120-august-2015
[3]: http://habrahabr.ru/post/264387/#habracut

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