RSS
Pages: 1 ... 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 ... 210
[>] PYCON RUSSIA-2015: видео и презентации докладов
habra.15
habrabot(difrex,1) — All
2015-10-21 14:30:03


18-19 сентября в Екатеринбурге прошла третья международная конференция python-разработчиков [PyCon Russia][1]. 21 доклад, два мастер-класса, Lightning Talks — все это PyCon-2015. Под катом — отчет о прошедшей конференции, много видео и презентации докладов. [][2]

###### _Питонисты собрались из 25 городов, среди которых: Сан-Франциско, Париж, Прага, Бонн, Таллин, Минск, Киев, Москва, Санкт-Петербург, Казань, Уфа_

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

[1]: http://pycon.ru/2015/program/schedule/
[2]: https://fotki.yandex.ru/next/users/it-people-ekb/album/169532/view/1223460
[3]: http://habrahabr.ru/post/269223/#habracut

[>] Где смерть Кащеева?
habra.14
habrabot(difrex,1) — All
2015-03-02 17:00:03


Привет ребят, давайте для начала проверим вашу память. Итак:

> _«На море на океане есть остров, на том острове дуб стоит, под дубом сундук зарыт, в сундуке — заяц, в зайце — утка, в утке — яйцо»_
>
> в яйце — смерть Кощея!

![][1]А теперь, внимание, вопрос — как это формализовать? Как приатачить к яйцу иголку и какова временная сложность детача смертии моей. Как перенести сказку в быль, как это выглядит на B-деревьях и почему на самом деле нет разницы между 2D и 1D. _А было все так: давным давно, в неком царстве, некотором государстве, на одном сервисе с шейрингом геолокации очень захотелось Иванушке Дурачку на уровне ЧПУ разделить [Москву][2](/RU/MOW/) и [Область][3](/RU/MOS/). И вообще навести порядок, чтобы все лежало по полочкам красиво и по алфавиту. Но не получалось ему сокровища свои посчитать, и аккуратно разложить. А Василису, хоть и дурак, к сбережениям не пускал. _ Но решение было найдено. Совсем недалеко над каким-то златом успешно чах Чахлик, еще и смерть он свою прятал по науке. И если задача определения региональной (точнее полигональной) принадлежности некой иголки к некому сундуку выходит за рамки данной статьи, то нам ничто не мешает погрузиться в глубины зайца и посмотреть как он устроен на табличном уровне. _PS: и не спрашивайте почему зайца._ [Читать дальше →][4]

[1]: //habrastorage.org/files/0e1/487/b64/0e1487b6486842b0be5e63dab5f18c84.png
[2]: http://ru.esosedi.org/RU/MOW/
[3]: http://ru.esosedi.org/RU/MOS/
[4]: http://habrahabr.ru/post/251871/#habracut

[>] Для чего используют TOR?
habra.14
habrabot(difrex,1) — All
2015-03-02 17:30:03




# Вступление

Я не буду разводить параноидальные сказки о том, что NSA и ФСБ за всеми следит. Просто примем за базовый тезис, что tor и i2p — «наше всё». К сожалению, в контексте TORа часто можно слышать только про silkroad и детскую порнографию. Мол, рассадник, раскачивающий и покушающийся. Я управляю несколькими tor-exit node'ами и i2p маршрутизаторами. Самому старому из них уже почти год, самому молодому — примерно 4 месяца. За это время я не получил ни одного abuse report'а (я сам работаю в хостинговом бизнесе, так что хорошо представляю себе процесс реакции на «абузу» — она в первую очередь пересылается клиенту). Чтобы избежать вопросов, мой работодатель к ним не имеет никакого отношения: все эти ноды — исключительно за мой счёт, в свободное от работы время. Не смотря на отсутствие abuse'ов, вопрос оставался: для чего люди используют TOR? Контроль над exit node'ой позволяет посмотреть на проходящий трафик. Понятно, что мы исключаем весь шифрованный трафик (TLS, SSH), а так же весь трафик на .onion узлы. Однако, среди остального мы можем посмотреть на примерное распределение ресурсов по популярности. Забегая вперёд, слегка упрощённый ответ на вопрос статьи: ![][1] _(более подробная табличка — в конце статьи)_

# Методология измерения

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

[1]: //habrastorage.org/files/c1a/94e/1ce/c1a94e1ce39744ef92d39d67e503cb04.png
[2]: http://habrahabr.ru/post/92787/#habracut

[>] HP Helion OpenStack Carrier Grade – облако для операторов связи
habra.15
habrabot(difrex,1) — All
2015-10-21 16:30:03


Мы продолжаем серию публикацию по семейству решений для построения облаков HP Helion OpenStack и хотим рассказать о недавно выпущенном пакете **HP Helion OpenStack** операторского класса (**Carrier Grade**) или, сокращенно, HOS CG. [![image][1]][2] [Читать дальше →][3]

[1]: http://habrastorage.org/files/f2c/d80/94b/f2cd8094b2bb4049a3f012e65a63b18e.png
[2]: http://habrahabr.ru/company/hp/blog/269255/
[3]: http://habrahabr.ru/post/269255/#habracut

[>] Переломный момент. Банк Англии делает свой bitcoin
habra.14
habrabot(difrex,1) — All
2015-03-02 17:30:03




> «Золото — для идолопоклонников, а не для нас. Пока есть идолопоклонники, а они важнее золота, нашему делу ничто не угрожает»
>
> _высказывание приписывается Натану Ротшильду _

![][1]Банк Англии, вполне возможна безопасная передача денег между Алисой и Бобом без привлечения третьих сторон. Банк ставит вопросы о регулировании, отслеживаемости и приватности, об отмывании денег, о том как перейти от одной системы к другой и пр. Пойду-ка я перечитаю «Криптономикон» Нила Стивенсона Под катом — видеозапись конференции [Читать дальше →][4]

[1]: //habrastorage.org/files/b67/8da/24d/b678da24d20641319ee7286622c50991.jpg
[2]: http://www.bankofengland.co.uk/research/Documents/onebank/discussion.pdf
[3]: https://ru.wikipedia.org/wiki/%D0%AF%D0%BC%D0%B0%D0%B9%D1%81%D0%BA%D0%B0%D1%8F_%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0
[4]: http://habrahabr.ru/post/251917/#habracut

[>] [Из песочницы] Основные моменты настройки Cubieboard с linux
habra.14
habrabot(difrex,1) — All
2015-03-02 20:30:02


Расскажу, с какими трудностями я столкнулся при настройки своего Cubieboard, которые заставили провести много времени с красными глазами ночью. Я не претендую на раскрытие чего то нового, возможно для многих те вещи, которые я расскажу — очевидны, для остальных это будет хорошей помощью при настройки Cubieboard. Итак, основные моменты настройки написаны в публикациях [«Cubietruck. Дорожный мини сервер. Часть 2»][1] и [«Cubietruck. Уютный, домашний сервер»][2]. Я лишь расскажу о проблемах, с которыми столкнулся при настройке своего кубика как роутера с HDD. Начнем по-порядку. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/235199/
[2]: http://habrahabr.ru/post/225371/
[3]: http://habrahabr.ru/post/251923/#habracut

[>] На Cousera открыта запись на курсы по веб-разработке на Ruby on Rails «Web Application Architectures»
habra.14
habrabot(difrex,1) — All
2015-03-02 21:00:03


![][1] Периодически я заходил на курсеру посмотреть доступны ли там какие-нибудь прикладные курсы. Было банально интересно, промелькнёт ли какой-нибудь лучик света за суровой теорией. Смотрел по языкам программирования, по управлению проектами, по аналитике. А сегодня увидел курс, информацией о котором и захотелось поделиться. Его название в заголовке, а перевод описания ниже, а пока пару слов, почему я считаю, что он полезен всем:

* Новичкам можно изучить новую для них технологию или подтянуть ещё не укрепившиеся знания.
* Гуру-рельсовикам можно заработать Verified Certificate и тем самым подтвердить свои знания для общественности. Например, его можно прикрепить в LinkedIn или указывать в откликах на фрилансе

[Смотреть содержание курса][2]

[1]: //habrastorage.org/files/952/f2e/ce2/952f2ece2abf4e0b9af2d3264686780e.jpg
[2]: http://habrahabr.ru/post/251909/#habracut

[>] Тестируем распределение контента в GlusterFS
habra.14
habrabot(difrex,1) — All
2015-03-02 21:30:02


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

[1]: http://sysadm.pp.ua/linux/glusterfs-setup.html
[2]: http://habrahabr.ru/post/251931/#habracut

[>] Google Summer of Code 2015 отправляется в путь
habra.14
habrabot(difrex,1) — All
2015-03-03 01:00:03


![][1] Только что был опубликован [список open-source организаций, участвующих в Google Summer of Code 2015][2]. Google Summer of Code (сокращённо **GSoC**) — инициативная программа компании Google, в рамках которой ежегодно проводится отбор проектов с открытым исходным кодом, в которых могут принять участие студенты. Проекты сами отбирают студентов из всех подавших заявки, а Google выплачивает студентам стипендии за их работу (в размере **$5,500 США**). Полные правила программы на этот год можно посмотреть здесь: [www.google-melange.com/gsoc/document/show/gsoc\_program/google/gsoc2015/help\_page][3] [Читать дальше →][4]

[1]: //habrastorage.org/files/61c/eef/34a/61ceef34a3fc4b8ab02ad6db1dba7307.png
[2]: http://www.google-melange.com/gsoc/org/list/public/google/gsoc2015
[3]: https://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page
[4]: http://habrahabr.ru/post/251979/#habracut

[>] Panda Adaptive Defense 360: адаптация IT-защиты к новым потребностям предприятий
habra.15
habrabot(difrex,1) — All
2015-10-21 16:30:03


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

[1]: https://habrastorage.org/files/7d1/94f/117/7d194f11773b4ccfbe539d41ec8a4eea.jpg
[2]: http://habrahabr.ru/post/269235/#habracut

[>] Как JavaScript Grid работает с протоколом OData
habra.14
habrabot(difrex,1) — All
2015-03-03 08:00:04


В прошлой статье мы упоминали, что:

> В настоящее время существует большое количество библиотек, поддерживающих протокол OData, и каждый день появляются новые. В частности, с OData работают такие JavaScript библиотеки, как
>
> [Kendo UI][1]
>
> ,
>
> [DevExtreme Web][2]
>
> ,
>
> [Syncfusion HTML5 controls][3]
>
> ,
>
> [Infragistics HTML5 controls][4]
>
> ,
>
> [OpenUI5][5]
>
> ,
>
> [Wijmo][6]
>
> ,
>
> [JayData][7]
>
> ,
>
> [Breeze.js][8]
>
> ,
>
> [datajs][9]
>
> ,
>
> [ODataJS][10]
>
> ,
>
> [angular-odata][11]
>
> , и т.д.
>
>
>
>
>
> Многие из этих библиотек существенно упрощают разработку сложных приложений благодаря стандарту OData. Например, достаточно грид контролу указать URL к серверу OData и все остальное он сделает сам: пэйджинг, сортировку, добавление- модификацию-удаление записей, фильтрацию данных, группировку и т.д.
>
>

Мы подготовили примеры того, как гриды работают с OData.

* [http://nitrosdata.com/samples\_kendo\_ui\_grid1.html][12] — Kendo UI Grid.
* [http://nitrosdata.com/samples\_kendo\_ui\_grid2.html][13] — Kendo UI Grid с виртуальным скроллингом вместо пэйджинга.
* [http://nitrosdata.com/samples\_devexpress\_grid.html][14] — DevExtreme Data Grid.
* [http://nitrosdata.com/samples\_syncfusion\_grid.html][15] — Syncfusion Grid.

**Основные запросы грида к серверу:**

* Получить общее количество записей, удовлетворяющих некоторому условию.
* Получить выборку из общего набора записей для показа на одной странице.
* Получить весь набор записей.
* Отсортировать записи по одному или нескольким полям.
* Отфильтровать записи по некоторому набору условий.
* Добавить новую запись.
* Модифицировать запись.
* Удалить запись.
* Batch update – добавление, изменение и удаление группы записей.

Рассмотрим детальнее основные запросы на примере [Читать дальше →][16]

[1]: http://www.telerik.com/kendo-ui
[2]: http://js.devexpress.com/webdevelopment/
[3]: http://www.syncfusion.com/products/javascript
[4]: http://www.infragistics.com/products/jquery
[5]: http://openui5.org/
[6]: http://wijmo.com/
[7]: http://jaydata.org/
[8]: http://www.getbreezenow.com/
[9]: http://datajs.codeplex.com/
[10]: http://olingo.apache.org/doc/javascript/
[11]: https://github.com/rangelier/angular-odata
[12]: http://nitrosdata.com/samples_kendo_ui_grid1.html
[13]: http://nitrosdata.com/samples_kendo_ui_grid2.html
[14]: http://nitrosdata.com/samples_devexpress_grid.html
[15]: http://nitrosdata.com/samples_syncfusion_grid.html
[16]: http://habrahabr.ru/post/251965/#habracut

[>] [Из песочницы] Схема Блома
habra.15
habrabot(difrex,1) — All
2015-10-21 16:30:03


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

[1]: http://lectoriy.mipt.ru/img/course/ComputerTechnology-InformationSecurity-13L.jpg
[2]: https://github.com/mjosaarinen/kuznechik
[3]: http://tc26.ru/standard/gost/GOST_R_3412-2015.pdf
[4]: http://habrahabr.ru/post/269229/#habracut

[>] Онлайн трансляция: Кроссплатформенная разработка с Visual Studio 2015
habra.14
habrabot(difrex,1) — All
2015-03-03 11:00:03


![][1] Предварительная версия Visual Studio 2015 вобрала в себя ряд новинок, которые наверняка заинтересуют большое количество разработчиков. Мы продолжаем серию онлайн-мероприятий, на которых вы сможете узнать больше о возможностях этого продукта. Компания Microsoft представляет будущее .NET на всех платформах, включая Linux и Mac, [предварительную версию новой Visual Studio 2015][2], а также новые возможности по кроссплатформенной разработке, включая эмулятор Android, кроссплатформенную разработку на С++, расширенную интеграцию и поддержку Xamarin и многое другое. [Подключайтесь к нашей онлайн-трансляции 4 марта 2015 года][3]! [Читать дальше →][4]

[1]: http://habrastorage.org/getpro/habr/post_images/6be/abf/789/6beabf7896f986a02f02ae73b2f6a95f.png
[2]: http://aka.ms/vs2015
[3]: http://events.techdays.ru/VisualStudio2015/2015-03
[4]: http://habrahabr.ru/post/252003/#habracut

[>] Lock-free структуры данных. Concurrent map: разминка
habra.14
habrabot(difrex,1) — All
2015-03-03 11:30:02


![][1] Мне оказали честь — пригласили выступить на первой конференции [C++ 2015 Russia][2] 27-28 февраля. Я был насколько наглым, что запросил 2 часа на выступление вместо положенного одного и заявил тему, наиболее меня интересующую — конкурентные ассоциативные контейнеры. Это hash set/map и деревья. Организатор [sermp][3] пошел навстречу, за что ему большое спасибо. Как подготовиться ко столь ответственному выступлению? Первое — нарисовать презентацию, то есть кучу картинок, желательно близко к теме. Но надо ещё и два часа озвучивать картинки, — как все это запомнить? Как избежать глубокомысленных «ээээмммм», «здесь мы видим», «на этом слайде показано», несвязных прыжков повествования и прочих вещей, характеризующих выступающего c не очень хорошей стороны в части владения родным языком (это я про русский, с C++ я разобрался быстро — никакого кода в презентации, только картинки)? Конечно, надо записать свои мысли, глядя на слайды. А если что-то написано, то не худо бы и опубликовать. А если публиковать, — то на хабре. Итак, по следам [C++ 2015 Russia][4]! Авторское изложение, надеюсь, без авторского косноязычия, без купюр и с отступлениями по теме, написанное до наступления события, в нескольких частях. [Читать дальше →][5]

[1]: //habrastorage.org/files/ba5/c68/1d2/ba5c681d22ee424f86fd4261dfa563bb.png
[2]: http://meetingcpp.ru/
[3]: http://habrahabr.ru/users/sermp/
[4]: http://meetingcpp.ru/
[5]: http://habrahabr.ru/post/250383/#habracut

[>] Завтра в 10:00 смотрите онлайн-трансляцию: Кроссплатформенная разработка с Visual Studio 2015
habra.14
habrabot(difrex,1) — All
2015-03-03 12:00:03


![][1] Предварительная версия Visual Studio 2015 вобрала в себя ряд новинок, которые наверняка заинтересуют большое количество разработчиков. Мы продолжаем серию онлайн-мероприятий, на которых вы сможете узнать больше о возможностях этого продукта. Компания Microsoft представляет будущее .NET на всех платформах, включая Linux и Mac, [предварительную версию новой Visual Studio 2015][2], а также новые возможности по кроссплатформенной разработке, включая эмулятор Android, кроссплатформенную разработку на С++, расширенную интеграцию и поддержку Xamarin и многое другое. [Подключайтесь к нашей онлайн-трансляции 4 марта 2015 года в 10:00 (МСК)][3]! [Плеер трансляции][4]

[1]: http://habrastorage.org/getpro/habr/post_images/6be/abf/789/6beabf7896f986a02f02ae73b2f6a95f.png
[2]: http://aka.ms/vs2015
[3]: http://events.techdays.ru/VisualStudio2015/2015-03
[4]: http://habrahabr.ru/post/252003/#habracut

[>] Google обязала производителей смартфонов шифровать данные на устройствах с Android 6 по умолчанию
habra.15
habrabot(difrex,1) — All
2015-10-21 16:30:03


Полгода назад мы [писали][1], что Google решила повременить со своей инициативой шифрования данных (_full-disk encryption_) на устройствах с Android 5 (Lollipop), после его анонсирования в 2014 г. Тогда инициатива производителя мобильной ОС носила для производителей устройств рекомендательный характер. На фирменных устройствах Google Nexus 5 с Android Lollipop шифрование по умолчанию также было отключено. ![][2] С выходом Android 6 (Marshmallow) ситуация изменилась, как [сообщает][3] издание Ars Technica, Google изменила требования к шифрованию в своем основном документе Android Compatibility Definition Document. Теперь в пункте спецификации, отвечающем за шифрование, компания регламентирует шифрование данных на устройстве с Android 6 по умолчанию, правда, с некоторыми исключениями для определенного типа устройств, которые не могут обеспечить должный уровень криптографической производительности. [Читать дальше →][4]

[1]: http://habrahabr.ru/company/eset/blog/252027/
[2]: https://habrastorage.org/files/20f/3a5/c41/20f3a5c41fdf42fd97f28e8b60b72977.jpg
[3]: http://arstechnica.com/gadgets/2015/10/android-6-0-re-implements-mandatory-device-encryption-for-new-devices/
[4]: http://habrahabr.ru/post/269155/#habracut

[>] Как увеличить доход с рекламы в мобильных приложениях
habra.14
habrabot(difrex,1) — All
2015-03-03 14:30:02


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

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

[>] Бонд. Джеймс Бонд. Роботизированная подделка почерка для маркетологов и социальных инженеров
habra.14
habrabot(difrex,1) — All
2015-03-03 15:30:03


![][1] Маркетологи быстро выяснили, что в «системе принятия решений о доверии» есть уязвимость — люди охотнее доверяют рукописному тексту, чем печатному. Очень быстро появились рукописные шрифты и подписи в объявлениях/письмах, но они легко распознавались. Теперь же есть возможность автоматизированного написания «от руки» настоящей ручкой (даже перьевой), с учетом всех отступов, расстояний неровностей, несоблюдением пропорций, нажима и углом наклона (осталось следы от шоколадки и кофе автоматически эмулировать). Там где баги с доверием, там и социальные инженеры тут как тут. Ныряние в мусорные корзины теперь будет приносить больше плодов. Можно будет набрать достаточный объем рукописного текста для подделки. У сервиса [Bond][2], который предоставляет услуги по отправке реальных писем, есть все шансы пройти «рукописный тест Тьюринга» (т.е. человек не сможет отличить, писал ли этот текст человек или робот). Я часто говорил, что я достаточно знаю ИТ, чтобы не доверять ИТ, теперь же рухнуло и доверие к «реальным документам». Достаточно несколько школьных сочинений скормить нейронным сетям, чтобы они смогли писать за меня (и даже лучше чем я). Кстати, сервис Bond предоставляет услуги по улучшению/тьюнингу вашего почерка. Итак, что же нам нужно, чтобы на нас оставили завещание? **Шаг первый.** Создаем клиента **Шаг третий.** Profit Под катом краткий обзор оборудования, примеры писем, знакомство с проетами Maillift (письма «от руки»), Bond (письма от руки и распознание и эмуляция почерка), Herald (как студенты свой принтер спаяли) ![][3] [Читать дальше →][4]

[1]: //habrastorage.org/files/23a/3bf/67a/23a3bf67a3d546d6b9a0c8ff88872425.jpg
[2]: https://hellobond.com
[3]: //habrastorage.org/files/5cc/4b1/9fa/5cc4b19fa1884212baae431e72b3ff89.jpg
[4]: http://habrahabr.ru/post/251815/#habracut

[>] Модификация программы и что лучше менять: исполняемый код или AST программы?
habra.15
habrabot(difrex,1) — All
2015-10-21 16:30:03


Принципы в заметке общие для почти любого языка программирования и системы исполнения, но акцент будет на jvm. Рассмотрим два основных подхода по модификации программы:

* манипуляции с исполняемым кодом программы после компиляции или во время загрузки кода;
* изменение исходного кода перед компиляцией.

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

[1]: https://habrastorage.org/files/b41/afe/133/b41afe133ab646b48568f7b25d0f875c.jpg
[2]: http://habrahabr.ru/post/269037/#habracut

[>] [Перевод] 10 самых распространённых ошибок, которые делают новички в Java
habra.14
habrabot(difrex,1) — All
2015-03-03 16:30:03


Здравствуйте, меня зовут Александр Акбашев, я Lead QA Engineer в проекте Skyforge. А также по совместительству ассистент [tully][1] в Технопарке на курсе «Углубленное программирование на Java». Наш курс идет во втором семестре Технопарка, и мы получаем студентов, прошедших курсы по C++ и Python. Поэтому я давно хотел подготовить материал, посвященный самым распространенным ошибкам новичков в Java. К сожалению, написать такую статью я так и не собрался. К счастью, такую статью написал наш соотечественник — Михаил Селиванов, правда, на английском. Ниже представлен перевод данной статьи с небольшими комментариями. По всем замечаниям, связанным с переводом, прошу писать в личные сообщения.



Изначально язык Java создавался для [интерактивного телевидения][2], однако со временем стал использоваться везде, где только можно. Его разработчики руководствовались принципами объектно-ориентированного программирования, отказавшись от излишней сложности, свойственной тем же С и С++. Платформонезависимость виртуальной машины Java сформировала в своё время новый подход к программированию. Добавьте к этому плавную кривую обучения и лозунг «Напиши однажды, запускай везде», что **почти** всегда соответствует истине. Но всё-таки ошибки до сих пор встречаются, и здесь я хотел бы разобрать наиболее распространённые из них. [Читать дальше →][3]

[1]: http://habrahabr.ru/users/tully/
[2]: http://www.oracle.com/technetwork/java/javase/overview/javahistory-index-198355.html
[3]: http://habrahabr.ru/post/251365/#habracut

[>] Сервис для системного администратора. Часть 1
habra.15
habrabot(difrex,1) — All
2015-10-21 16:30:03


![image][1]

#### 1\. Предисловие

Задачи системного администратора — разнообразны. Работа в консоли — создание пользователей, тестирование, установка и конфигурация пакетов на серверах, просмотр логов и трафика, настройка сети и туннелей. Работа с железом — установка оборудования и документацией, написание планов работ, описание работы сервисов. Системные администраторы имеют большое количество скриптов для автоматизации. Хранятся они, обычно, в их домашних папках (и хорошо если не только там, но и в CVS), периодически апдейтятся на новую функциональность. Как правило, использовать такие скрипты могут лишь те же люди которые их пишут (а, иначе, последствия могут быть самыми разрушительными). Таким образом — задачи по автоматизации часто нуждаются в простом GUI для удобного управления, упрощения. Например — сбор трафика. Или возможность откатывать бекапы/релизы по кнопке (даже если кто-то катится пакетами через SCM систему). Или менять Mysql master без подглядывания консоль ( какое-то количество ошибок возникает из-за неверно забитой в команды, не на том сервере). [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/cba/93e/e4c/cba93ee4c98e3293a220e58d9556e974.png
[2]: http://habrahabr.ru/post/269163/#habracut

[>] Открыта регистрация на NeoQUEST-2015: «Сокровища масонов»
habra.14
habrabot(difrex,1) — All
2015-03-03 16:30:03


![][1] **10 марта** стартует online-этап ежегодного хакерского соревнования NeoQUEST-2015! Соревнование продлится неделю, с 10 по 17 марта. В этот раз участникам придется поломать голову над загадочными тайнами масонов и найти их сокровища (увы, виртуальные). Однако призы за найденные богатства самые что ни на есть реальные. Победители приглашаются на очный этап летнего NeoQUEST-2015 в Питере, где смогут побороться за ставший уже традиционным главный приз — возможность поехать на одну из международных конференций по кибербезопасности! Регистрация открыта **[здесь][2]**. Под катом — о технической направленности заданий NeoQUEST, неожиданной «изюминке» 2015 года, порядке прохождения заданий и о призах. [Читать дальше →][3]

[1]: //habrastorage.org/files/801/268/b7f/801268b7f34d4bcaa955dd56b3c0d8a3.jpg
[2]: http://2015.neoquest.ru/
[3]: http://habrahabr.ru/post/248567/#habracut

[>] Проверка Wine: Год спустя
habra.15
habrabot(difrex,1) — All
2015-10-21 18:00:03


![][1] Чуть больше года назад для написания статьи о проверки проекта с помощью PVS-Studio был взят проект Wine. Статья написана, авторы были уведомлены и даже попросили полный отчёт проверки анализатором, на что получили положительный ответ. Недавно нам написал один из разработчиков проекта. В статье будет рассказано о нашем общении, проделанной работе команды разработчиков проекта Wine по улучшению кода и о том, что ещё предстоит сделать. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/e97/afe/61f/e97afe61f4af5ea87c025a699217dce0.png
[2]: http://habrahabr.ru/post/269265/#habracut

[>] Квантовая песочница: часть 2
habra.14
habrabot(difrex,1) — All
2015-03-03 17:00:02


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

[1]: //habrastorage.org/files/0c1/16b/1e1/0c116b1e14904abeab814ab5bfe454b5.jpg
[2]: http://habrahabr.ru/post/246483/
[3]: http://habrahabr.ru/post/251085/#habracut

[>] [Перевод] Let's Encrypt теперь доверенный
habra.15
habrabot(difrex,1) — All
2015-10-21 20:00:03


![][1] Мы рады объявить, что получили кросс-подписи от [IdenTrust][2]. Это означает, что теперь наши сертификаты считаются доверенными в большинстве основных браузеров. Это знаменательный рубеж: теперь все посетители веб-сайтов на которых установлен сертификат Let's Encrypt смогут наслаждаться безопасным просмотром интернет-страниц без каких-либо дополнительных настроек. Оба промежуточных сертификата Let's Encrypt (Let’s Encrypt Authority X1 и Let’s Encrypt Authority X2) получили кросс-подписи. Веб-серверы теперь необходимо настроить, чтобы обслуживать подходящую кросс-подпись сертификата. Клиент Let's Encrypt сделает это автоматически. Вы можете посмотреть на пример сервера, который использует сертификат Let’s Encrypt по [этой ссылке][3]. [Читать дальше →][4]

[1]: https://habrastorage.org/files/00e/73f/15c/00e73f15c7f741c3a59a14d9739b7deb.png
[2]: https://identrustssl.com/
[3]: https://helloworld.letsencrypt.org/
[4]: http://habrahabr.ru/post/269269/#habracut

[>] Чтение GATT-характеристик Bluetooth устройства
habra.14
habrabot(difrex,1) — All
2015-03-03 17:00:02


Привет, хабраюзеры! Работая над своей ANE библиотекой для работы с Bluetooth LE в AIR приложении для iOS+OSX, обнаружил что помимо ваших собственных сервисов и характеристик для обмена информацией, у bluetooth-устройств есть стандартные. Статья о том, как считывать информацию с этих характеристик. Скажу сразу я не большой знаток bluetooth и всего что с ним связано, и для мне все это в новинку :) Поехали… [Читать дальше →][1]

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

[>] Как взламывают корпоративный Wi-Fi: новые возможности
habra.14
habrabot(difrex,1) — All
2015-03-03 17:30:04


Статей о взломе Wi-Fi в Интернете достаточно много, но большинство из них касаются режима работы WEP/WPA(2)-Personal, в котором необходимо перехватить процедуру «рукопожатия» клиента и Wi-Fi-точки. Во многих корпоративных Wi-Fi-сетях используется режим безопасности WPA2-Enterprise, с аутентификацией по логину и паролю — как наименее затратный способ. При этом аутентификация осуществляется с помощью RADIUS-сервера. [![image][1]][2] ОС клиента устанавливает соединение с RADIUS-сервером, используя шифрование при помощи TLS, а проверка подлинности в основном происходит при помощи протокола MS-CHAPv2. [Читать дальше →][3]

[1]: http://habrastorage.org/getpro/habr/post_images/0f8/999/01e/0f899901e69632640e3053f81f72661b.png
[2]: http://i1288.photobucket.com/albums/b492/Alexander_Lashkov/1_zpsyolzifny.png
[3]: http://habrahabr.ru/post/252055/#habracut

[>] Создание GUI приложений на PHP
habra.15
habrabot(difrex,1) — All
2015-10-21 22:00:03


![][1] Темой о разработке GUI приложений на PHP сегодня, пожалуй, уже никого не удивишь. Для этого существует не одно решение, есть как развивающиеся проекты, так и умершие. Но этот пост будет не о тех и не о других, а о новом расширении для PHP — библиотеке **PHPQt5**, а точнее о её более продвинутой реинкарнации — о PQEngine. _**P.S.** PHPQt5 не имеет ничего общего с более известной библиотекой php-qt!_ [Читать дальше →][2]

[1]: https://habrastorage.org/files/16f/fdc/8e6/16ffdc8e6e354ca5bc870fba73e5060b.png
[2]: http://habrahabr.ru/post/269199/#habracut

[>] Google решила повременить с шифрованием данных на Android по умолчанию
habra.14
habrabot(difrex,1) — All
2015-03-03 19:00:03


Компания Google, которая обещала шифрование по умолчанию (_full-disk encryption_) на устройствах, работающих под управлением своей новой мобильной ОС Android Lollipop, видимо, пошла на попятную. Издание Ars Technica [сообщает][1], что новые смартфоны под управлением Android L не содержат эту опцию включенной по умолчанию. Технические требования устройства (hardware requirements) для этой ОС были опубликованы только в январе этого года и из них стало ясно, что речи о шифровании данных по умолчанию в них не идет. ![][2] Разговоры о шифровании данных на устройствах пошли после серии опубликованных в СМИ материалах беглого специалиста АНБ Эдварда Сноудена, из которых стало ясно, что спецслужбы могут получать доступ к хранимой на устройстве информации пользователя. Такая операция может осуществляться с использованием различного ПО и онлайн-сервисов, при этом шифрование данных на устройстве по умолчанию значительно затрудняла бы для спецслужб процесс получения личной и другой информации на устройстве. [Читать дальше →][3]

[1]: http://arstechnica.com/gadgets/2015/03/google-quietly-backs-away-from-encrypting-new-lollipop-devices-by-default/
[2]: //habrastorage.org/files/393/9b9/0fb/3939b90fba1a4e3989844699ef186108.png
[3]: http://habrahabr.ru/post/252027/#habracut

[>] 3 способа использовать оператор?.. неправильно в C# 6
habra.15
habrabot(difrex,1) — All
2015-10-22 13:00:03


Наверняка вы уже знаете об операторе безопасной навигации ("?." операторе) в C# 6. В то время как это довольно хороший синтаксический сахар, я хотел бы отметить варианты злоупотребления этим оператором. [Читать дальше →][1]

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

[>] Классификация неструктурированных данных – зачем она нужна?
habra.14
habrabot(difrex,1) — All
2015-03-03 20:30:02


Основная масса хранимых современными компаниями данных является неструктурированной, т.е. это данные, созданные сотрудниками компании, а не, скажем, базой данных или выгрузкой автоматического сервиса. При этом даже при идеально настроенной системе прав доступа к ресурсам нельзя гарантировать, что в отдельно взятой папке лежит действительно то содержимое, которое мы ожидаем там увидеть. Номера паспортов и кредитных карт в папке с договорами подрядчиков? Элементарно. Фоточки с без сомнения увлекательного отпуска на Гоа в папке бухгалтерской отчетности? Легко! Новинки кинопроката в каталоге для обучения сотрудников? Да запросто! Вы все еще удивлены? ![image][1] [Читать дальше →][2]

[1]: http:////habrastorage.org/files/1aa/3fc/02c/1aa3fc02c6c448d99e7e8be1b0331fcd.jpg
[2]: http://habrahabr.ru/post/252047/#habracut

[>] Изучаем net/context в Go
habra.15
habrabot(difrex,1) — All
2015-10-22 13:30:05


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

[1]: https://habrastorage.org/files/2ef/8bf/eaf/2ef8bfeaf57045b3ae30b5474a6412d3.png
[2]: http://habrahabr.ru/post/269299/#habracut

[>] [Перевод] Камера Intel RealSense R200 — образцы кода
habra.15
habrabot(difrex,1) — All
2015-10-22 13:30:05


![][1] Для программистов, недавно начавших работать с технологией Intel RealSense, мы подготовили пост c тремя простыми примерами, демонстрирующими возможности камеры R200. В число примеров вошли:

* Запись и просмотр необработанных потоков
* Изменение фокусировки по глубине
* Отслеживание лица

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

[1]: https://habrastorage.org/files/058/f3e/f62/058f3ef629b947eba6b30b8b19661e2f.jpg
[2]: http://habrahabr.ru/post/269253/#habracut

[>] [Перевод] Обнаружение мобильного вредоносноо ПО в дикой природе
habra.14
habrabot(difrex,1) — All
2015-03-03 20:30:02


![][1] Смартфоны всё больше и больше проникают в нашу жизнь, для многих людей они стали незаменимым повседневным спутником. Эти гаджеты дают нам связь с другими людьми и развлекают нас. Мы доверяем им всё больше конфиденциальной и личной информации, и потому неудивительно, что злоумышленники уделяют мобильному сегменту всё более пристальное внимание. Начиная с 2004 года, когда Лаборатория Касперского [обнаружила ][2]первого сетевого мобильного червя Cabir, ежегодно появляется всё больше новых образцов вредоносного ПО. Соответственно, постепенно всё бОльшую актуальность обретает выработка методик обнаружения вредоносного ПО «в дикой природе», то есть в магазинах мобильных приложений. [Читать дальше →][3]

[1]: //habrastorage.org/files/78e/bf6/54a/78ebf654a83a4d4783b9e624db5feb54.jpg
[2]: http://www.kaspersky.com/news?id=149499226&ClickID=bqudy66lygnevduqyvsyenmsqgsmqsmesgdg
[3]: http://habrahabr.ru/post/251929/#habracut

[>] TemplateEngine.Docx — .NET OpenSource шаблонизатор docx документов
habra.15
habrabot(difrex,1) — All
2015-10-22 14:00:03


![][1] В разработке корпоративных приложений очень часто приходится решать задачу выгрузки данных в документы — от небольших справок до больших отчетов. Хочу поделиться нашим opensource-решением для генерации docx документов, которое позволяет заполнять документы по шаблону, оформление которого можно менять в Word без переписывания кода. Для начала — немного вводных.

#### Что нам было нужно от шаблонизатора



* Шаблон создается в Word и сразу видно, на что будет похож результирующий документ, шаблон без лишнего мусора.
* Результирующий документ после скачивания содержит все необходимые данные, не подтягивая их с внешних источников.
* Возможность заполнять списки, таблицы, и иногда еще и таблицы с вложенными в них списками.
* Шаблон можно доверить секретарю клиента, чтобы он мог сменить логотип, реквизиты компании, или как-либо еще подкорректировать оформление. И все это уже после сдачи проекта, не модифицируя наш код.

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

[1]: https://habrastorage.org/files/50c/731/d57/50c731d57e5c4bc58a0798aaa86bc279.PNG
[2]: http://habrahabr.ru/post/269307/#habracut

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


![][1] Посмотришь на любую программу обучения по IT-специальности, и тут же увидишь дисциплину «Дискретная математика» (возможно, под другим названием), обычно для перво- или второкурсников. И её наличие вполне разумно, поскольку _дискретная математика_ и _непрерывная математика_ (представленная на первом курсе институтов с незапамятных времён математическим анализом) — две грани единой Математики, — красивой, могучей науки. Хотя раньше такого понятия, как «дискретная математика» вовсе не было, это не значит, что не возникало дискретных задач: Абель, Дирихле, Фибоначчи, Эйлер, чьи имена возникают по ходу изучения дискретной математики, — отнюдь не наши современники! Но просто в те времена для выделения самостоятельной ветви математики ещё не сложилось критической массы задач и приёмов, не было видно взаимосвязей между ними. А большое количество плодотворных взаимосвязей между, на первый взгляд, различными понятиями, — то, что математики в своей науке очень ценят. Ну хорошо, математикам всё математическое интересно. А зачем дискретная математика программисту? [Читать дальше →][2]

[1]: //habrastorage.org/files/68d/de4/38b/68dde438b7cd4733a0ed81bd67be1410.png
[2]: http://habrahabr.ru/post/252077/#habracut

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


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

[1]: http://habrahabr.ru/company/infobox/blog/249143/
[2]: http://habrahabr.ru/company/infobox/blog/250115/
[3]: http://infoboxcloud.ru
[4]: http://habrahabr.ru/post/252001/#habracut

[>] «Что нового в Swift 2?» на примерах
habra.15
habrabot(difrex,1) — All
2015-10-22 15:00:03


![][1] **Swift 2** сфокусировался на улучшении самого языка, взаимодействия с Objective-C и повышении производительности компилируемых приложений. Новые возможности **Swift 2** представлены в 6 различных областях:

* фундаментальные конструкции языка, такие, как , scoping (область действия), синтаксис аргументов и т.д.
* сопоставление с образцом (**pattern matching**)
* проверка доступности (**availability checking**)
* расширения (**extensions**) протокола
* управление ошибками (**error handling**)
* взаимодействие с Objective-C

Я буду рассматривать новые возможности Swift 2, сопровождая их примерами, код которых находится на [Github][2]. [Читать дальше →][3]

[1]: https://habrastorage.org/files/239/f44/246/239f442469ac4e169375bef5c90072f2.png
[2]: https://github.com/BestKora/WhatsNewInSwift2
[3]: http://habrahabr.ru/post/269171/#habracut

[>] [Перевод] Microsoft добавит поддержку компилятора Clang в ноябрьском обновлении Visual Studio 2015
habra.15
habrabot(difrex,1) — All
2015-10-22 15:00:03


![][1] Microsoft добавит поддержку компилятора Clang в ноябрськом обновлении Visual Studio 2015 — об этом было заявлено на конференции CPPCon 2015, проходящей сейчас в городе Белвью, США. Clang это компилятор кода на С, С++ и Objective-C, который в связке с LLVM позволяет собирать программы под различные платформы. Visual Studio 2015 уже поддерживает Clang для разработки Android и iOS-приложений. При разработке под Android можно выбирать между GCC и Clang, а для iOS приходится использовать внешний Mac в качестве билд-сервера. Планируемое обновление принесёт поддержку Clang на качественно новом уровне — теперь им можно будет собирать обычные Windows-приложения. [Читать дальше →][2]

[1]: https://habrastorage.org/files/fdb/fd2/9d5/fdbfd29d5f5245f7bfa2abfba7119dce.jpg
[2]: http://habrahabr.ru/post/269313/#habracut

[>] Изучение React — для чего, откуда, как?
habra.15
habrabot(difrex,1) — All
2015-10-22 15:30:05


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

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

[>] [Перевод] Обнаружение мобильного вредоносного ПО в дикой природе
habra.14
habrabot(difrex,1) — All
2015-03-03 22:00:02


![][1] Смартфоны всё больше и больше проникают в нашу жизнь, для многих людей они стали незаменимым повседневным спутником. Эти гаджеты дают нам связь с другими людьми и развлекают нас. Мы доверяем им всё больше конфиденциальной и личной информации, и потому неудивительно, что злоумышленники уделяют мобильному сегменту всё более пристальное внимание. Начиная с 2004 года, когда Лаборатория Касперского [обнаружила ][2]первого сетевого мобильного червя Cabir, ежегодно появляется всё больше новых образцов вредоносного ПО. Соответственно, постепенно всё бОльшую актуальность обретает выработка методик обнаружения вредоносного ПО «в дикой природе», то есть в магазинах мобильных приложений. [Читать дальше →][3]

[1]: //habrastorage.org/files/78e/bf6/54a/78ebf654a83a4d4783b9e624db5feb54.jpg
[2]: http://www.kaspersky.com/news?id=149499226&ClickID=bqudy66lygnevduqyvsyenmsqgsmqsmesgdg
[3]: http://habrahabr.ru/post/251929/#habracut

[>] [Из песочницы] Конвертация видео файла в gif
habra.15
habrabot(difrex,1) — All
2015-10-22 15:30:05


Мой опыт программирования на с++ насчитывает 5 месяцев, до этого времени я около двух лет разрабатывал приложения для мобильных операционных систем. В один момент мне это надоело, и я решил, что пора начать осуществлять свою юношескую мечту — стать разработчиком игр. И я немного сменил направление движения своей карьеры. Вот как-то я сидел и думал, что бы мне написать. Я выбрал для себя 16 программок, несколько раз подбросил монетку, и жребий указал мне на программку получения гифки из видео. Кто хочет увидеть дилетантский крестовый код — прошу под кат. [Читать дальше →][1]

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

[>] [Перевод] Правила безопасного программирования на С: прошлое, настоящее и будущее
habra.15
habrabot(difrex,1) — All
2015-10-22 15:30:05


![][1]Luxoft Training предлагает вам познакомиться с переводом статьи "[C Secure Coding Rules: Past, Present, and Future][2]" Роберта С. Сикорда, профессора института программной инженерии (SEI) Карнеги-Меллон, автора книг «The CERT C Coding Standard, Second Edition» и «Secure Coding in C and C++, Second Edition». [Читать статью][3]

[1]: https://habrastorage.org/files/857/a30/a82/857a30a825dd4860b05d456b82a89717.jpg
[2]: https://www.informit.com/articles/article.aspx?p=2088511
[3]: http://habrahabr.ru/post/269305/#habracut

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


![][1] Пройдем по следам [C++ 2015 Russia][2] далее. В [предыдущей][3] статье мы рассмотрели алгоритм для lock-free ordered list и на его основе сделали простейший lock-free hash map. У этого hash map есть недостаток: размер хеш-таблицы постоянен и не может быть изменен в процессе роста числа элементов в контейнере. Это не представляет проблемы, если мы заранее примерно представляем требуемый объем контейнера. А если нет? [Читать дальше →][4]

[1]: //habrastorage.org/files/4e3/317/fa0/4e3317fa037748138cb0ed6e90a788a6.png
[2]: http://meetingcpp.ru/
[3]: http://habrahabr.ru/post/250383/
[4]: http://habrahabr.ru/post/250523/#habracut

[>] [Перевод] Обеспечение качества кода в масштабных проектах
habra.14
habrabot(difrex,1) — All
2015-03-04 13:30:02


![][1] Когда осенью 2012 года я пришёл в Airbnb, то здесь мягко выражаясь, был некоторый разброд и шатание. Некоторое время назад компания начала расти и развиваться огромными темпами. В первую очередь это выражалось в объёмах трафика и транзакций. Чтобы справляться со всем этим, очень быстро увеличили и штат разработчиков. За год до моего прихода в группе было 16 человек, со мной было около 40, а сейчас уже свыше 130. И одной из главных проблем, вызванной всеми этими процессами, стало сохранение качества кода в стремительно увеличивающемся и усложняющемся проекте. [Читать дальше →][2]

[1]: //habrastorage.org/files/6b2/c71/a0b/6b2c71a0bc4443c8be959b6fbed01721.jpg
[2]: http://habrahabr.ru/post/252125/#habracut

[>] Хекслет 3.0: практические уроки по программированию в браузере
habra.14
habrabot(difrex,1) — All
2015-03-04 13:30:02


[![][1]][2] Привет, Хабр! Мы уже не раз писали о [запуске][3], [перезапуске][4] и [развитии][5] образовательного проекта Хекслет. Проект стал возможным во многом именно благодаря поддержке Хабрасообщества и администрации (особенно [deniskin][6]). Спасибо вам! Примерно месяц назад вышла [бета-версия нового Хекслета][7]! Есть несколько важных нововведений, но главная идея Hexlet.io это полноценная практика по программированию в браузере. Главное отличие от других проектов (например, Codecademy или CodeSchool) в том, что на Хекслете нет симуляторов: в каждом уроке вы работаете с полноценной машиной, подключенной к сети. Это позволяет обучать и обучаться не только программированию, но и работе с базами данных, серверами, сетью, фреймворками и так далее. Грубо говоря, если это запускается на Unix-машине – этому можно обучать на Хекслете. В этой статье я расскажу немного об итерациях разработки (как мы пришли к такому формату и почему считаем его правильным), о новой версии, а также о технической реализации. Но сначала – о доступных сейчас уроках. [Читать дальше →][8]

[1]: //habrastorage.org/files/65c/3c7/35c/65c3c735c44a4e7e81fdc665c32241e3.png
[2]: https://hexlet.io
[3]: http://habrahabr.ru/company/hexlet/blog/154549/
[4]: http://habrahabr.ru/company/hexlet/blog/183564/
[5]: http://habrahabr.ru/company/hexlet/blog/201368/
[6]: http://habrahabr.ru/users/deniskin/
[7]: https://hexlet.io
[8]: http://habrahabr.ru/post/252139/#habracut

[>] Пишем поисковый плагин для Elasticsearch
habra.14
habrabot(difrex,1) — All
2015-03-04 14:00:03


Elaticsearch — популярный поисковый сервер и NoSQL база данных. Одной из интересных его особенностей является поддержка плагинов, которые могут расширить встроенный функционал и добавить немного бизнес-логики на уровень поиска. В этой статье я хочу рассказать о том, как написать такой плагин и тесты к нему.![][1] [Читать дальше →][2]

[1]: //habrastorage.org/files/26d/bb1/c9a/26dbb1c9aadb454bb6f365e0cce707e9.png
[2]: http://habrahabr.ru/post/252067/#habracut

[>] Программирование на PureData. Часть 1
habra.14
habrabot(difrex,1) — All
2015-03-04 14:00:03




# Чуть-чуть дополнений и терминологии.

В [предыдущей статье][1] мы познакомились с базовыми математическими операторами и освежили в памяти принципы организации цифрового звука. Так же там я указал, что суть соединений в PureData — передача сообщений, сигналов и импульсов. Тут стоит прояснить один момент: _на самом деле импульс — частный случай сообщения. Передача импульса означает передачу единицы, чтобы в этом убедиться, соедините [bang] и numberBox и посмотрите, что получится._ По общепринятой терминологии, употребляемой в литературе и справке по библиотекам, числовые сообщения называются **скалярами**, а сигналы — **векторами**. Пожалуй, я тоже буду ее придерживаться. Приступим. [Читать дальше →][2]

[1]: //http://habrahabr.ru/post/250321/
[2]: http://habrahabr.ru/post/252143/#habracut

[>] Программа конференции DUMP-2015
habra.14
habrabot(difrex,1) — All
2015-03-04 14:00:03


Привет, Хабр! Осталось три недели до юбилейной конференции разработчиков [DUMP][1]. Напомним, что в этом году будет 6 потоков и 7 параллельных секций: FrontTalks, Serverside.Experience, Serverside.Knowledge, Дизайн, Управление разработкой, Системный анализ и Тестирование. [Программа][2] почти готова. Welcome! [][3] [Читать дальше →][4]

[1]: http://dump-conf.ru
[2]: http://dump-conf.ru/talks/
[3]: https://fotki.yandex.ru/next/users/it-people-ekb/album/169532/view/988123
[4]: http://habrahabr.ru/post/252131/#habracut

[>] TemplateEngine.Docx — OpenSource .NET шаблонизатор docx документов
habra.15
habrabot(difrex,1) — All
2015-10-22 22:30:02


![][1] В разработке корпоративных приложений очень часто приходится решать задачу выгрузки данных в документы — от небольших справок до больших отчетов. Хочу поделиться нашим opensource-решением для генерации docx документов, которое позволяет заполнять документы по шаблону, оформление которого можно менять в Word без переписывания кода. Для начала — немного вводных.

#### Что нам было нужно от шаблонизатора



* Шаблон создается в Word и сразу видно, на что будет похож результирующий документ, шаблон без лишнего мусора.
* Результирующий документ после скачивания содержит все необходимые данные, не подтягивая их с внешних источников.
* Возможность заполнять списки, таблицы, и иногда еще и таблицы с вложенными в них списками.
* Шаблон можно доверить секретарю клиента, чтобы он мог сменить логотип, реквизиты компании, или как-либо еще подкорректировать оформление. И все это уже после сдачи проекта, не модифицируя наш код.

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

[1]: https://habrastorage.org/files/50c/731/d57/50c731d57e5c4bc58a0798aaa86bc279.PNG
[2]: http://habrahabr.ru/post/269307/#habracut

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