RSS
Pages: 1 ... 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 ... 210
[>] Разработка OS на Go+asm Part 0x00
habra.14
habrabot(difrex,1) — All
2015-06-07 01:00:02


Доброго времени суток %username%. Захотелось мне пописать что-то ненормальное. Выбор пал на ОС, в конце-концов каждый программист должен написать свою ОС, пусть хотя бы учебную. Как некоторым известно, я очень люблю язык Go ну, и решил попробовать написать на нем. Что из этого получилось — под хабракатом. [Читать дальше →][1]

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

[>] Амнезия FreeBSD
habra.15
habrabot(difrex,1) — All
2016-01-26 19:30:03


Я никогда не понимал как работает распределение памяти во FreeBSD. Из всего многообразия документации полезное помнилось, лишь

> An urban myth has circulated for years that Linux did a better job avoiding swapouts than FreeBSD, but this in fact is not true. What was actually occurring was that FreeBSD was proactively paging out unused pages in order to make room for more disk cache while Linux was keeping unused pages in core and leaving less memory available for cache and process pages.

Ну лучше чем Linux, да и пусть. Я не против. Но хуже самого непонимая процесса выделения памяти меня убивала _Inactive_ память. Что это такое и можно ли «это» безболезненно использовать? Считать ли эту память доступной для использования приложением? Под cut'ом больше вопросов чем ответов. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/275917/#habracut

[>] Python и D
habra.14
habrabot(difrex,1) — All
2015-06-07 04:00:02


Доброго времени суток, хабр! Здесь мы не будем рассуждать о плюсах и минусах языков. ![][1] Мы будем использовать их вместе! ![][2] [Читать дальше →][3]

[1]: https://habrastorage.org/files/c1b/779/c3b/c1b779c3b4bb4c44816e9dd98a88b2bc.png
[2]: https://habrastorage.org/files/603/3fa/ca4/6033faca468c4c6ba6c44ce6313d1f76.png
[3]: http://habrahabr.ru/post/259727/#habracut

[>] Vim по полной: Менеджер плагинов без фатальных недостатков
habra.14
habrabot(difrex,1) — All
2015-06-07 16:30:02




# Оглавление



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

Я пользовался, наверно, всеми популярными менеджерами плагинов для Vim и у меня не было ни малейшего желания писать свой собственный, так как эти меня вполне устраивали, но было небольшое но, о котором я расскажу в этой статье. [Интересно? Беги скорей под кат!][2]

[1]: http://habrahabr.ru/post/259701/
[2]: http://habrahabr.ru/post/259725/#habracut

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


![image][1][ OpenBTS.org][2] — это открытый проект c исходным кодом на [GitHub][3], призванный провести революцию среди мобильных сетей путем замены устаревших телекоммуникационных протоколов и традиционно сложных запатентованных аппаратных систем использованием Интернет-протокола и программного обеспечения с гибкой архитектурой. Архитектура этой системы является открытой для инноваций, позволяя любому желающему разрабатывать новых приложения и сервисы на базе OpenBTS и значительно упрощает настройку и эксплуатацию сети мобильной связи. [Читать дальше →][4]

[1]: https://habrastorage.org/files/6c0/b43/42c/6c0b4342cb7546d680b60e5e73d5112f.png
[2]: http://openbts.org/
[3]: https://github.com/RangeNetworks/dev
[4]: http://habrahabr.ru/post/259733/#habracut

[>] HiDPI в Linux
habra.14
habrabot(difrex,1) — All
2015-06-07 21:00:02


![HiDPI][1]

### Введение

После многолетнего доминирования дисплеев с высокой плотностью пикселей на мобильных устройствах, данная тенденция наконец-то дошла и до лаптопов с десктопами. По моему мнению, производители не ставили HiDPI-матрицы в основном из-за слабой поддержки DPI, отличных от 96, в Windows. К счастью, ситуация заметно улучшилась с выходом Windows 8 с Modern UI, хотя в десктопном режиме все еще далеко не идеальная — люди до сих пор жалуются на 3200×1800 при 13.3" в лаптопах и сомневаются о покупке 4K UHD 23.8"-монитора.

### DPI и Linux

Возможность установки произвольного значения DPI появилась еще во времена Xfree86, но следует понимать, что это просто значение, которое ничего не делает само по себе. Его считывают и используют программы и компоненты, которые и принимают решение, каким образом отразить изменение DPI на экране. Если текст следует установленному значению DPI в 95% случаев (спасибо xft!), то размер элементов зависит от используемого окружения рабочего стола и тулкитов, на которых написаны приложения. **GTK+ 3**-приложения поддерживают как целочисленный скейлинг элементов и дробный скейлинг шрифтов, так и изменение DPI на лету, без перезапуска приложений. Скейлингом элементов управляет переменная окружения `GDK_SCALE`, а скейлингом шрифтов — `GDK_DPI_SCALE`. По умолчанию, шрифты скейлятся вместе с элементами. Таким образом, при DPI 96 и `GDK_SCALE=2`, вы получите шрифт, словно он с DPI 192. Чтобы отменить скейлинг шрифтов, достаточно установить переменную окружения `GDK_DPI_SCALE` в 0.5 (для `GDK_SCALE=2`). **Qt4** не умеет скейлить элементы. Для применения нового значения DPI требуется перезапуск приложения. **Qt5**, начиная с версии 5.4, поддерживает целочисленный скейлинг элементов через переменную окружения `QT_DEVICE_PIXEL_RATIO`. DPI менять на лету нельзя, как и в Qt4, но работы в этом направлении ведутся и будут доступны с релизом Qt 5.6, как и скейлинг на каждый монитор отдельно. **WxWidgets**-приложения ведут себя так же, как GTK+ 3, только не поддерживают скейлинг элементов. Я попытался выяснить, какие DE можно комфортно использовать с HiDPI-мониторами. Тестирование проводилось на лаптопе с 12.5" 1366×768 (125 DPI) с подключенным внешним 23.8"-монитором с разрешением 3840×2160 (185 DPI). [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/70f/6f3/4ed/70f6f34eda6c20d8e1867b896da66613.png
[2]: http://habrahabr.ru/post/259495/#habracut

[>] [Из песочницы] Нечеткий поиск в словаре с универсальным автоматом Левенштейна. Часть 1
habra.15
habrabot(difrex,1) — All
2016-01-26 19:30:03


![][1] Нечеткий поиск строк является весьма дорогостоящей в смысле вычислительных ресурсов задачей, особенно если вам необходима высокая точность получаемых результатов. В статье описан алгоритм нечеткого поиска в словаре, который обеспечивает высокую скорость поиска при сохранении 100% точности и сравнительно низком потреблении памяти. Именно автомат Левенштейна позволил разработчикам Lucene повысить скорость нечеткого поиска [на два порядка][2] [Читать дальше →][3]

[1]: https://habrastorage.org/files/543/5b4/0f0/5435b40f0ed04ef2971984189149ce95.png
[2]: http://blog.mikemccandless.com/2011/03/lucenes-fuzzyquery-is-100-times-faster.html
[3]: https://habrahabr.ru/post/275937/#habracut

[>] [Из песочницы] Атака «evil maid» на зашифрованный жесткий диск
habra.14
habrabot(difrex,1) — All
2015-06-08 11:30:02


![][1]Вчера была опубликована [статья][2], в которой, не без помощи Microsoft, раскрываются интересные подробности о внутренностях BitLocker. Статья длинная и ее содержимое можно резюмировать как «в целом выглядит адекватно, явных уязвимостей вроде не видно». Зато по ссылкам много интересной информации о разных атаках на зашифрованный жесткий диск. Полагаю, хабражителям будет интересно краткое изложение атаки с романтичным названием «evil maid» и ее логическое продолжение. Надежно ли защищена ваша деловая переписка от молодых любопытных таможенников, если в аэропорту солнечной Испании у вас на 10 минут попросили досмотреть ноутбук с зашифрованным жестким диском? [Ответ под катом][3]

[1]: https://habrastorage.org/files/003/7f7/849/0037f7849e744076b4ba5bdae1aa95ed.png
[2]: https://firstlook.org/theintercept/2015/06/04/microsoft-disk-encryption/
[3]: http://habrahabr.ru/post/259781/#habracut

[>] Как я повышал конверсию машинным обучением
habra.14
habrabot(difrex,1) — All
2015-06-08 11:30:02


В этой статье я попробую ответить на такие вопросы:

* может ли один доклад умного человека сделать другого человека одержимым?
* как окунуться в машинное обучение (почти) с нуля?
* почему не стоит недооценивать многоруких бандитов?
* существует ли серебряная пуля для a/b тестов?

Ответ на первый вопрос будет самым лаконичным — «да». Услышав [это выступление][1] [bobuk][2] на YaC/M, я восхитился элегантностью подхода и задумался о том, как бы внедрить похожее решение. Я тогда работал продуктовым менеджером в компании Wargaming и как раз занимался т.н. user acquisition services – технологическими решениями для привлечения пользователей, в число которых входила и система для A/B тестирования лендингов. Так что зерна легли на благодатную почву. К сожалению, по всяким причинам я не мог плотно заняться этим проектом в обычном рабочем режиме. Зато когда я слегка перегорел на работе и решил устроить себе длинный творческий отпуск, одержимость превратилась в желание сделать такой сервис умной ротации лендингов самостоятельно. [Читать дальше →][3]

[1]: https://events.yandex.ru/lib/talks/823/
[2]: http://habrahabr.ru/users/bobuk/
[3]: http://habrahabr.ru/post/259771/#habracut

[>] C++ в современном мире
habra.14
habrabot(difrex,1) — All
2015-06-08 11:30:02


![][1] Дискуссии о текущем положении C++ в мире программирования, как правило, делят участников на два фронта: одни этот язык недолюбливают, пророча ему скорую гибель; другие же наоборот утверждают, что на C++ писали, пишут и будут писать. Я бы сказал, что истина находится где-то посередине, но это означало бы, что C++ находится в неком «подвешенном» состоянии, в котором он был, например, между выходами стандартов C++03 и C++11. На самом деле всё обстоит немного иначе. Как? Давайте попробуем в этом разобраться. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/370/419/f9c/370419f9c593836684fd01d143146694.png
[2]: http://habrahabr.ru/post/259777/#habracut

[>] Рекурсия. Тренировочные задачи
habra.15
habrabot(difrex,1) — All
2016-01-26 19:30:04


Здравствуй Хабрахабр! В этой статье речь пойдет о задачах на рекурсию и о том как их решать. ![image][1]

### **Кратко о рекурсии**

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

[1]: https://habrastorage.org/getpro/habr/post_images/53e/cfb/6df/53ecfb6dfd029da416f36d03f2d01aec.jpg
[2]: https://habrahabr.ru/post/275813/#habracut

[>] (to-customize (to-install Common-Lisp-IDE))
habra.14
habrabot(difrex,1) — All
2015-06-08 12:30:02


![][1] Доброго времени суток, уважаемый читатель! Перед каждым новичком в мире языка программирования [Common Lisp][2] возникает проблема выбора среды разработки — [Integrated Development Environment][3] (далее, _IDE_). Существует большое количество _IDE_ для _Common Lisp_. Перечислим некоторые, самые распространенные, из них:

* [LispWorks IDE][4] (commercial, crossplatform)
* [Allegro Common Lisp][5] (commercial, crossplatform)
* [LispIDE][6] (open source, Windows 2K/XP/Vista/7)
* [Lispbox][7] (open source, crossplatform)
* [Emacs][8] + [Slime][9] (open source, crossplatform)



Но, если внимательно посмотреть на сайт Lispbox, то, под ссылками для скачивания пакета, Вы увидите:






В данной статье я подробно расскажу как установить и настроить _кроссплатформенную_ среду разработки для _Common Lisp_, как скачивать и устанавливать дополнительные библиотеки при помощи [quicklisp][10] — менеджера пакетов _Common Lisp_. Будет много полезных ссылок на ресурсы и материалы по языку. Речь пойдет о связке **GNU Emacs & Slime.** Если Вас интересует _Common Lisp_, Вам нужна _кроссплатформенная_, _мощная_, _интерактивная_ _Common Lisp IDE_ с дебаггером и дизассемблером _(внезапно!)_, то, прошу под кат… [Читать дальше →][11]

[1]: https://habrastorage.org/files/7d4/1a1/bc3/7d41a1bc3b2c4463bf8364f24fd3ed5d.png
[2]: https://ru.wikipedia.org/wiki/Common_Lisp
[3]: https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D1%80%D0%B5%D0%B4%D0%B0_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8
[4]: http://www.lispworks.com/products/ide.html
[5]: http://franz.com/products/allegro-common-lisp/acl_ide.lhtml
[6]: http://www.daansystems.com/lispide/
[7]: https://common-lisp.net/project/lispbox/
[8]: http://www.gnu.org/software/emacs/
[9]: https://common-lisp.net/project/slime/
[10]: https://www.quicklisp.org/beta/
[11]: http://habrahabr.ru/post/259737/#habracut

[>] iOS App Reverse Engineering — (уже бесплатная) книга от китайских мастеров
habra.15
habrabot(difrex,1) — All
2016-01-26 22:00:09


Для нетерпеливых — сразу [ссылка на PDF][1], (но можно и [купить][2], поддержав автора). [Здесь — Table of contents][3] Автор адресует издание следующим категориям читателей:

* любопытствующие,
* ведущие разработчики с уже существующей хорошей командой, желающие лучше понимать iOS,
* архитекторы, которые хотят прокачать свой навык проектирования,
* реверсеры из других областей, интересующиеся также и iOS.



> The book iOS App Reverse Engineering, as a gift to the whole jailbreak community, is now open-sourced on github
>
> — iOSAppRE (@iOSAppRE)
>
> [12 сентября 2015][4]

[][5]

[1]: https://github.com/iosre/iOSAppReverseEngineering/blob/master/iOSAppReverseEngineering.pdf
[2]: https://www.lulu.com/shop/zishe-sha/ios-app-reverse-engineering/ebook/product-22147315.html
[3]: http://iosre.com/t/ios-app-reverse-engineering-table-of-contents/1078
[4]: https://twitter.com/iOSAppRE/status/642643329331556352
[5]: https://habrahabr.ru/post/275935/#habracut

[>] Python и красивые ножки — как бы я знакомил сына с математикой и программированием
habra.15
habrabot(difrex,1) — All
2016-01-27 02:30:02


Раньше мы уже [искали][1] необычные модели Playboy с помощью библиотеки Python Scikit-learn. Теперь мы продемонстрируем некоторые возможности библиотек SymPy, SciPy, Matplotlib и Pandas на живом примере из разряда занимательных школьных задач по математике. Цель — облегчить порог вхождения при изучении Python библиотек для анализа данных.



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

[1]: https://habrahabr.ru/post/251225/
[2]: https://habrahabr.ru/post/275963/#habracut

[>] CNTK — нейросетевой инструментарий от Microsoft Research
habra.15
habrabot(difrex,1) — All
2016-01-27 03:00:02


2015 год был очень богат на события, связанные с нейросетевыми технологиями и машинным обучением. Особенно заметный прогресс показали сверточные и рекуррентные сети, подходящие для решения задач в области компьютерного зрения и распознавания речи. Многие крупные компании опубликовали на Github свои разработки, Google выпустил в свет [TensorFlow][1], Baidu — [warp-ctc][2]. Группа ученых из Microsoft Research тоже решила присоединиться к этой инициативе, выпустив [Computational Network Toolkit][3], набор инструментов для проектирования и тренировки сетей различного типа, которые можно использовать для распознавания образов, понимания речи, анализа текстов и многого другого. **И****нтригующим при этом является то, ****что эта сеть победила в конкурсе **[**ImageNet** **LSVR**** 2015**][4]** и является самой быстрой среди существующих конкурентов.** ![][5] [Читать дальше →][6]

[1]: https://github.com/tensorflow/tensorflow
[2]: https://github.com/baidu-research/warp-ctc
[3]: https://github.com/Microsoft/CNTK.git
[4]: http://image-net.org/challenges/LSVRC/2015/results
[5]: https://habrastorage.org/getpro/habr/post_images/4d8/169/f88/4d8169f88549625769aa6dc507ebd528.png
[6]: https://habrahabr.ru/post/275959/#habracut

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


![][1]Эрик Рэймонд (Eric Raymond) в своем эссе [«Собор и базар»][2] сказал знаменитую фразу: «При достаточном количестве глаз все ошибки выплывают на поверхность». Имеется в виду, что программное обеспечение с открытым исходным кодом по определению содержит меньше ошибок, чем ПО с закрытым исходным кодом, потому что код доступен для изучения всем и каждому. Рэймонд назвал это наблюдение «законом Линуса». В некотором смысле, конечно, так и есть. Если исходный код могут увидеть всего 10 штатных программистов вашей компании, вряд ли результаты будут такими же, как если бы этот код лежал на всеобщем обозрении, скажем, на GitHub. Однако переломным моментом для закона Линуса стало обнаружение [уязвимости Heartbleed в OpenSSL][3] — катастрофического эксплойта в [результате серьезной ошибки в ПО с открытым исходным кодом][4]. Каковы были масштабы катастрофы? Уязвимыми оказались примерно 18% всех сайтов с включённым HTTPS в мире. В результате злоумышленники могли просматривать весь трафик этих сайтах в незашифрованном виде… _в течение двух лет_. Вы считали эти сайты защищёнными? Как же. Эту ошибку не замечали два года. [Читать дальше →][5]

[1]: https://habrastorage.org/files/661/85c/1da/66185c1da11548c5b8cdbbc03e47d84f.jpg
[2]: https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%B1%D0%BE%D1%80_%D0%B8_%D0%91%D0%B0%D0%B7%D0%B0%D1%80
[3]: https://ru.wikipedia.org/wiki/Heartbleed
[4]: http://www.theregister.co.uk/2014/04/09/heartbleed_explained/
[5]: http://habrahabr.ru/post/258197/#habracut

[>] [Перевод - recovery mode ] Система Оберон, реализованная на доступной FPGA-плате
habra.14
habrabot(difrex,1) — All
2015-06-08 14:30:02


**by Niklaus Wirth** Professor (retired) Swiss Federal Institute of Technology (ETH) Zurich, Switzerland В 1988 году мы с Юргом Гуткнехтом завершили и опубликовали язык программирования Оберон [1, 2], который являлся преемником двух других языков, Паскаля и Модулы-2, разработанных мной ранее. Язык Оберон был спроектирован нами изначально как более рациональный и эффективный, чем Модула-2, что облегчило студентам академической системы образования освоение компьютерной науки. Не останавливаясь на достигнутом, в 1990 году мы построили современную операционную систему (ОС) Оберон для рабочих станций, использующую окна и возможности для обработки текстов. Затем мы опубликовали книгу, раскрывающую детали как компилятора Оберона, так и одноимённой ОС. Книга, названная «Проект Оберон», включала в себя исходные тексты системы. Несколькими годами позднее мой друг Пол Рид предложил мне издать репринт книги, в силу её значимости для изучения системной архитектуры и дающей хорошую стартовую точку для желающих строить надёжные системы c нуля. [Читать дальше →][1]

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

[>] Установка vmware tools для debian 8 в виртуальной машине [мануал]
habra.14
habrabot(difrex,1) — All
2015-06-08 16:00:02


С полноценной установкой debian в VMWare у меня была постоянная морока, т.к. никогда у меня без напильника до конца нормально не устанавливались vmware tools. Может у меня руки не те, спорить не буду — с линуксом я всё же не на ты. Недавно вышла новая версия debian и, на второй день после официального релиза, я принял волевое решение перевести свои виртуалки, организующие серверы FTP/SFTP, с WindowsXP на линукс. Тут как раз подоспела новая версия VMWare 11, новая версия тулзов, debian 8 testing уже давно народом использовалась и я решил что уже всё должно быть гладко и мне надо будет поднапрячься и только разобраться с настройками proftpd. После установки и настройки debian 8 я решил установить vmware tools и завершить, таким образом, начальную фазу — подготовку базовой машины. И что вы думаете? VMware tools встали кривовато… [Как я с этим справился...][1]

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

[>] Запись скринкастов в Linux (Ubuntu) через ПО (UPD: GUI) и avconv
habra.14
habrabot(difrex,1) — All
2015-06-08 16:00:02


Небольшое видео о том, почему я отказался от использования ПО (UPD: GUI) для создания скринкастов и перешел к консольному (терминальному) варианту. В самом видео немного о недостатках использования стороннего ПО (UPD: GUI) и о том, какие сложности возникли конкретно у меня. Чистейшее ИМХО, так что прошу не пинаться. если у кого-то не так. Но если у кого-то есть какие идеи и предложения по этому поводу, напишите в комментариях. Я как раз осваиваю все это. [Читать дальше →][1]

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

[>] [Из песочницы] Королевство многослойных зеркал
habra.14
habrabot(difrex,1) — All
2015-06-08 16:30:02


Сегодня мы познакомимся с многослойными зеркалами. Узнаем, зачем они нужны и как их моделируют при помощи метода матриц переноса. ![][1]

### Что не так с обычными зеркалами?

Обычное зеркало из ванной (и его более качественные собратья) – это ни что иное как тонкая гладкая металлическая пленка. При отражении от нее теряется примерно пять процентов света. Иногда это бывает критично – скажем, в телекоме (чем меньше сигнала теряем, тем меньше ставить промежуточных усилителей) или в сложной оптике типа перископов (если терять на каждом зеркале по 5%, до наблюдателя дойдет очень и очень немного). [Читать дальше →][2]

[1]: https://habrastorage.org/files/d64/970/943/d6497094336e49d5aa54ef6be16fcfba.jpg
[2]: http://habrahabr.ru/post/259791/#habracut

[>] [Из песочницы] Настройка Checkpoint. Часть 1. Установка и первоначальная конфигурация
habra.14
habrabot(difrex,1) — All
2015-06-08 23:30:02


![Checkpoint Logo][1] Доброго всем времени суток. Сегодня я хочу начать цикл о настройке и принципах работы межсетевых экранов [Checkpoint][2]. _Chekpoint — компания, занимающаяся разработкой решений по сетевой безопасности начиная с 1993 года. Компания позиционирует себя как разработчик собственной архитектуры управления\\взаимодействия — SMART (SecurityManagment Architecture). На основании этой концепции в конечном итоге была создана операционная система Gaia, путём объединения ОС IPSO (Nokia) и ОС SPLAT (ранняя разработка СР на базе Unix-ориентированных систем). В данном программном обеспечении реализован ряд технологий, связанных с безопасностью обмена данными (например пакетная фильтрация, IPS), а так же проприетарная Stateful Inspection основной задачей которой является контроль конкретных соединений в реальном времени.©Wikipedia_. Увы, на Хабре не так много статей, посвященных этому вендору. Хотя, на мой взгляд, он заслуживает большего внимания. Опытные инженеры систем безопасности, скорее всего, не найдут никакой новой информации в этой и последующих статьях. Но для новичков, я надеюсь, они будут полезными. Мы попробуем разобрать принципы работы основных модулей и системы в целом, а так же рассмотрим примеры настройки из “best practice". Сегодня на повестке дня установка и начальная конфигурация устройства. Добро пожаловать под кат. [Читать дальше →][3]

[1]: https://habrastorage.org/files/e23/51e/32c/e2351e32cd5e47b584d6edbf78b18271.jpg
[2]: http://www.checkpoint.com/
[3]: http://habrahabr.ru/post/259821/#habracut

[>] Как я нашел лучший в мире язык программирования. Часть 2
habra.14
habrabot(difrex,1) — All
2015-06-09 09:00:08


Первая часть [здесь][1]. Продолжение: Семь долбаных лет я ждал язык, который хоть как то ответит части моих желаний. За это время, и в фоновом режиме я препробывал всё. Всё — означает, всю херню общего назначения, и всю херню не совсем общего назначения. Нельзя прочувствовать язык только что-то прочитав про него и написав Hello World. Чтобы понять — надо хоть немного попрограммировать — написать какую нить вещь. И вот все это время, я в минуты отчаянья качал какой-нить “замечательный язык”, и пытался что-то написать. Какие-то вещи даже до сих пор крутятся в конторе (или крутились). [Читать дальше →][2]

[1]: http://habrahabr.ru/post/259831/
[2]: http://habrahabr.ru/post/259841/#habracut

[>] Swift 2.0 будет с открытым кодом в конце года
habra.14
habrabot(difrex,1) — All
2015-06-09 11:00:02


8 июня на проводимом ежегодно [WWDC][1] компания Apple анонсировала новую версию языка Swift 2.0 ![][2] Как написано в [блоге Swift][3] и [на странице для разработчиков на Swift][4] новая версия получила более высокую производительность, новое API обработки ошибок, улучшения синтаксиса языка, а также функцию проверки доступности функций Swift для целевых ОС. На мой взгляд самое интересно – Apple открывает код Swift. Да, Swift 2.0 это Open Source язык программирования. [Читать дальше →][5]

[1]: https://ru.wikipedia.org/wiki/Worldwide_Developers_Conference
[2]: https://habrastorage.org/files/a47/9e5/377/a479e5377b5140c2b0fcf9240a67c1a8.png
[3]: https://developer.apple.com/swift/blog/
[4]: https://developer.apple.com/swift/
[5]: http://habrahabr.ru/post/259853/#habracut

[>] [Перевод] Неразбериха с названиями должностей
habra.14
habrabot(difrex,1) — All
2015-06-09 11:00:02


До сих пор, мое продвижение по карьерной лестнице было быстрым. В 2008 году, я начал работать на полную ставку программистом в должности **Junior Developer**. Там был славный босс и классные коллеги, и я получил первые навыки использования Java и .NET. Это был полезный опыт. После 2-х лет на той работе, я чувствовал, что настало время двигаться дальше… [Читать дальше →][1]

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

[>] Безумный PHP. Фьюри код
habra.14
habrabot(difrex,1) — All
2015-06-09 12:00:02


[][1]

#### Сборник PHP нормальностей или что надо знать чтобы не сойти с ума и не прострелить себе что-нибудь

Прочитал статью [mnv][2]: "[Приведение типов в PHP == табурет о двух ножках?][3]" и захотелось в комментариях добавить немного дополнений, но… Но потом увидел комментарий и понял, что лучше дополню статью тем, про что мало кто пишет и мало где это имеется в централизованном виде. Вроде бы всем известная тема, а все же кому-то в новинку. Это не совсем про приведение типов, но они тоже есть. Это про особенности, зная которые можно делать меньше ошибок. **Если интересно, го под кат, я создал!** [Читать дальше →][4]

[1]: https://habrastorage.org/files/e3e/595/dc5/e3e595dc5182459b823b5ad87e69e078.jpg
[2]: http://habrahabr.ru/users/mnv/
[3]: http://habrahabr.ru/post/259497/
[4]: http://habrahabr.ru/post/259865/#habracut

[>] Как я нашел лучший в мире язык программирования. Часть 1
habra.14
habrabot(difrex,1) — All
2015-06-09 12:30:02


Поскольку дальше я буду жестко провоцировать троллей на тему языков программирования, и тем более назову лучший в мире (на данный момент) язык программирования (абсолютно лучший, то есть без всяких оговорок), от чего, обычно, у троллей срывает башню, рекомендую им и всем остальным ознакомиться с моим постом почти трех летней давности [«О выборе языка программирования»][1], все написаное там актуально и повторяться я не хочу. Прочитали? Дальше будет про _лучший в мире язык программирования_, который я назову ближе к концу. Да, да, еще три дня назад я и не думал что единороги существуют — ведь каждый язык так или иначе сосет, и каждый сосет по-своему (хотя нет, есть и такие которые сосут всегда и везде, но о них не будем). Как инженер, я прекрасно понимал что в вопросе языка не возможно без разнообразных trade offs, начиная с garbage collected vs manual memory management, хотя Rust _пытается_ съесть рыбку не присев на палку в этом вопросе, и так далее. Хоть мы и говорим о языках общего назначения, все они так или иначе позиционируют себя, фокусируясь на каких-то идеях, принципах, и целях, в которых они хороши, оставляя все не согласованное с такими принципами в лучшем случае возможными, но не эффективными и/или не удобными. Одним словом нецелесообразными. _Однако язык, сочетающий в себе несочетаемое, есть_. [Читать дальше →][2]

[1]: http://ru.xored.com/2012/12/02/scala/
[2]: http://habrahabr.ru/post/259831/#habracut

[>] Жизнь без DDoS
habra.14
habrabot(difrex,1) — All
2015-06-09 13:00:02


_DDoS-атаки случаются всё чаще – в последние годы они вышли на первое место в перечне сетевых угроз для корпоративных клиентов и операторов связи. Защита от них – актуальная проблема не только для каждого интернет-бизнеса, но и для многих других компаний, использующих веб-ресурсы. Как правило, такие атаки направлены на вывод из строя критически важных приложений и ресурсов владельца. Сегодня средства защита клиентов от такого рода атак – необходимый элемент в арсенале любого крупного оператора дата-центра._ Рост киберпреступности повлёк за собой широкое использование DDoS-атак со всеми вытекающими последствиями. **DDoS** (Distributed Denial of Service) – одновременная атака системы с большого количества компьютеров – обычно имеет целью затруднить или сделать невозможным доступ пользователей к веб-сайту или интернет-сервису. Простота проведения DDoS-атак делает этот способ доступным даже для рядового программиста, который не имеет большого опыта подобной деятельности. Да и стоит «услуга DDoS» совсем недорого: по данным Arbor Networks, атака, способная «положить» сайт небольшой компании на неделю, обойдётся примерно в [150 долларов][1]. [][2]



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

[1]: http://habrahabr.ru/company/ua-hosting/blog/233903/
[2]: http://habrahabr.ru/company/safedata/blog/259815/
[3]: http://habrahabr.ru/post/259815/#habracut

[>] Разработка OS на Go+asm Part 0x01
habra.14
habrabot(difrex,1) — All
2015-06-09 13:00:02


Приветствую, %username%. Перед вами вторая статья из цикла о разработке ОС на Go + asm. [Part 0x00][1] Part 0x01 Изначально я планировал, что вторая статья будет про обработку прерываний, но Go накладывает свои корректировки — сейчас будет описанно простое выделение памяти и часть рантайма Go, которая нам пригодится, но будет переписанно. На самом деле это подготовка к третьей статье — куче и допиливанию рантайма. Кода к этой статье на гитхабе не будет (забыл вовремя сделать коммит, а теперь банально лень специально восстанавливать, если кто пришлет пулл реквест — буду благодарен) _Слабонервным просьба закрыть статью — все, что может быть написанно на Go будет написанно на нем!_ [Продолжение извращений][2]

[1]: http://habrahabr.ru/post/259719/
[2]: http://habrahabr.ru/post/259839/#habracut

[>] Визуальный граф вызовов: VTune Amplifier и не только
habra.14
habrabot(difrex,1) — All
2015-06-09 13:00:02


Многим нравится представление структуры программы в виде call graph, «графа вызовов функций». Особенно интересно, если этот граф отражает профиль производительности, наиболее «горячие» ветки кода. Граф вызовов можно получить с помощью Intel® VTune™ Amplifier XE, но для этого нам понадобится ещё пара утилит. ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/3e1/bff/c21/3e1bffc216ad47209cc8e26ced921af6.png
[2]: http://habrahabr.ru/post/259863/#habracut

[>] Должны ли роботы учить детей разговаривать?
habra.14
habrabot(difrex,1) — All
2015-06-09 13:00:02


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

[1]: https://habrastorage.org/files/348/bed/4a5/348bed4a5f644a6eb228bbf54d8452e7.jpg
[2]: http://habrahabr.ru/post/259867/#habracut

[>] [Из песочницы] USB-адаптер для цифрового вольтметра В7-28 на базе Arduino Mega
habra.14
habrabot(difrex,1) — All
2015-06-09 17:30:02


[][1] Наша лаборатория занимается, в числе прочего, измерением электросопротивления различных образцов. Основные рабочие лошадки нашей измерительной установки — цифровые мультиметры американской компании Agilent, такие как 34401A. Кроме этого, долгое время лежали неиспользуемыми несколько стареньких, но рабочих вольтметров В7-28 (один из них на фото). Данный вольтметр, правда, уступает по точности и быстродействию «американцам», но всё равно достаточно хорош: точность до 5 десятичных цифр, приемлемая шумность, экранированные входы, а главное — возможность дистанционного управления с ПЭВМ (которые теперь зовутся ПК). Использовать их не получалось по следующим причинам: [Читать дальше →][2]

[1]: https://fotki.yandex.ru/next/users/twentysix/album/474006/view/1161469?page=0
[2]: http://habrahabr.ru/post/259919/#habracut

[>] Топ-3 частых ошибок, обнаруженных при аудите безопасности сайта
habra.14
habrabot(difrex,1) — All
2015-06-09 17:30:02


![][1] Сегодня я продолжу цикл статей, посвященных веб-безопасности. Для кого-то эта информация может показаться не новой, для кого-то она может стать поводом к размышлению. Ошибки будут указаны по средней частоте и пронумерованы согласно Open Web Application Security Project (OWASP) TOP 10. [Читать дальше →][2]

[1]: https://habrastorage.org/files/f4b/5c2/2f5/f4b5c22f52314e7a82f053e006514d71.jpg
[2]: http://habrahabr.ru/post/259887/#habracut

[>] Под прессом. Ломаем и защищаем Wordpress своими руками
habra.14
habrabot(difrex,1) — All
2015-06-09 17:30:02


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

[1]: https://habrastorage.org/files/81e/202/972/81e2029727c941c29dacf5ee6d1cba02.jpg
[2]: http://habrahabr.ru/post/259843/#habracut

[>] Умный квест в реальности: демоны и проводки
habra.14
habrabot(difrex,1) — All
2015-06-09 18:30:02


Многие слышали про [квесты в реальности][1] — перенесенные в наш мир игры жанра [escape the room][2]. Решаешь головоломки, получаешь ответы, проходишь на следующий этап. Закончить нужно за час, в итоге открывается дверь на выход. Но немногие знают, как они устроены внутри. В этой статье мы заглянем за кулисы одного из таких квестов, а также сравним его с другими в техническом плане. Как разработчик эскейп-румов, я видел реализации некоторых из них. Обычно квест делится на никак не связанные блоки, которые вместе реализуют возможность прохождения. Тем не менее, для нашего квеста мы использовали централизованную архитектуру. Постараюсь рассказать, какие плюсы и минусы этих подходов, а также опишу, какие задачи решает «техник», создающий квесты в реальности, т.к. эта тема не очень хорошо раскрыта в Интернете. ![][3] [Читать дальше →][4]

[1]: https://ru.wikipedia.org/wiki/%D0%AD%D1%81%D0%BA%D0%B5%D0%B9%D0%BF-%D1%80%D1%83%D0%BC
[2]: https://ru.wikipedia.org/wiki/%D0%92%D1%8B%D1%85%D0%BE%D0%B4_%D0%B8%D0%B7_%D0%BA%D0%BE%D0%BC%D0%BD%D0%B0%D1%82%D1%8B
[3]: https://habrastorage.org/files/280/5c2/bad/2805c2badad14a41b59bd8dfd69799b7.png
[4]: http://habrahabr.ru/post/258585/#habracut

[>] Видео докладов с Golang Moscow
habra.14
habrabot(difrex,1) — All
2015-06-09 19:00:02


Готовы видео докладов с митапа [Golang Moscow][1] и мы с радостью с вами ими делимся. **1\. «Go в Badoo»** Антон [einstein\_man][2] Поваров











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

[1]: http://www.meetup.com/Golang-Moscow/events/221706352/
[2]: http://habrahabr.ru/users/einstein_man/
[3]: http://habrahabr.ru/post/259929/#habracut

[>] (Не)безопасный frontend
habra.14
habrabot(difrex,1) — All
2015-06-09 21:30:02




#

Не так давно я выступал на конференции [FrontendConf 2015][1] (РИТ++) с темой данной статьи. И при подготовке доклада начал искать информацию, а кто вообще выступал на данную тему и что есть в Сети на данный момент. Оказалось, что информации совсем немного, более-менее можно было бы отметить доклад [mikewest.org/2013/09/frontend-security-frontendconf-2013][2] от Mike West из компании Google, но какой-то «непентестерский» взгляд и уж совсем мало материала. И [www.slideshare.net/eoftedal/web-application-security-in-front-end][3] где тема раскрыта более детально, но выступление 2011 года. А за 4 года технологии и атаки на месте не стояли. Долго и сложно выбирая темы, что же все-таки рассказать разработчикам фронтендов про безопасность, при этом минимум касаясь бекэнда (местами все-таки это неделимо), получился доклад, а здесь — его текстовый пересказ.

#

А действительно, о чем тут вообще можно разговаривать? Говоря про взломы и безопасность невольно приходят в голову тезисы — слили базу, получили доступ к выполнению команд ОС на сервере, прочитали чужую переписку. Но это все — server side код. А что ж может «нагородить» фронтэндер? Главная опасность, конечно же, в обходе атакующим SOP — Same Origin Policy, главной политики безопасности браузеров, которая регулирует работу в разных Origin. Но не только, давайте разбираться. [Читать дальше →][4]

[1]: http://frontendconf.ru/2015/abstracts/1769
[2]: https://mikewest.org/2013/09/frontend-security-frontendconf-2013
[3]: http://www.slideshare.net/eoftedal/web-application-security-in-front-end
[4]: http://habrahabr.ru/post/259389/#habracut

[>] Ruby и C. Часть 4. Дружим акселерометр, гироскоп и дальномер с Raphael.js
habra.14
habrabot(difrex,1) — All
2015-06-09 21:30:02


В предыдущих частях от [iv\_s][1] ([раз][2] [два][3] [три][4]) были описаны различные техники использования C и Ruby вместе. Я бы хотел рассказать о еще одной возможной связке – использовании уже существующих системных C-функций. Я потихоньку улучшаю своего [робота-рисовача][5]. Он написан на Ruby, поэтому при подключении к нему акселерометра с гироскопом, мне, само собой, захотелось продолжить использовать эту технологию. Как оказалось, достучаться до функций работы с шиной I2C в Ruby предельно просто – он позволяет использовать уже написанные и установленные библиотеки на C.




Схема работы такая: на RaspberryPi запущен Sinatra сервер, который при обращении отдает данные о повороте платы по осям X и Y, а также расстояние до ближайшего препятствия в сантиметрах. На клиенте для визуализации и отладки написан простой скрипт с использованием [Raphael3d.js][6], который каждые 100мс опрашивает устройство и поворачивает схематическую плату в соответствии с положением платы физической. [Читать дальше →][7]

[1]: http://habrahabr.ru/users/iv_s/
[2]: http://habrahabr.ru/post/48928/
[3]: http://habrahabr.ru/post/49202/
[4]: http://habrahabr.ru/post/50039/
[5]: http://www.partisanink.com/versions/2.5
[6]: http://mech.fsv.cvut.cz/~stransky/en/software/raphael3d/
[7]: http://habrahabr.ru/post/259675/#habracut

[>] Кто взломал электрическую подстанцию: разбор конкурса Digital Substation Takeover
habra.14
habrabot(difrex,1) — All
2015-06-10 02:00:02


[![][1]][2] В рамках конкурса [Digital Substation Takeover][3], представленного [iGRIDS][4], у посетителей PHDays была возможность попробовать свои силы во взломе настоящей электрической подстанции, построенной по стандарту IEC 61850. Два дня участники пытались провести успешную атаку и получить контроль над системой управления электрооборудованием. [Читать дальше →][5]

[1]: https://habrastorage.org/files/f6c/f09/fe8/f6cf09fe85c54f15976fe509ed3fe479.jpg
[2]: http://habrahabr.ru/company/pt/blog/259905/
[3]: http://www.phdays.ru/program/contests/#40924
[4]: http://igrids.ru/
[5]: http://habrahabr.ru/post/259905/#habracut

[>] Свой шаблон отклика-письма на HeadHunter (и moikrug) без Copy-Paste
habra.14
habrabot(difrex,1) — All
2015-06-10 11:30:03


Многим хорош сервис поиска вакансий **hh.ru**, но ищущий всегда найдёт, что усовершенствовать. К примеру, на сервисе есть поле для заполнения письма — ответа на вакансию, но нет элементарного шаблона оформления письма — заголовок, кратко о себе, ответы на требования по вакансии. Если нет — надо сделать. Ведь специалист по JS не будет многократно заниматься Copy-Paste-операциями, когда знает, что их можно автоматизировать, даже не обременяя просьбами службы сайта. Есть такие инструменты, как пользовательские скрипты. Вначале, конечно, пришлось покопировать, пока не выявились закономерности и не получился [юзерскрипт **hhFiller**][1]. Шаблон отклика, на мой взгляд, должен содержать: 1. Заголовок-приветствие. После него пойдёт сразу рукописный текст, живой ответ на вакансию в 2-3 или более строчек. [Читать дальше →][2]

[1]: https://greasyfork.org/ru/scripts/10338-hhfiller
[2]: http://habrahabr.ru/post/259881/#habracut

[>] [Перевод] Мой топ-100 книг по Программированию, Компьютерам и Науке: часть 2
habra.14
habrabot(difrex,1) — All
2015-06-10 15:30:02


Добро пожаловать на вторую часть моих топ-100 книг о программировании, компьютера и науке. Если Вы ещё не видели [первую часть][1], прошу Вас ознакомиться с ней. В этой части я сделаю микс моих любимых книг по теории и практике, ведь, как говорит Дональд Кнут в своих [Избранных статьях по информатике][2], — «Лучшая теория основана на практике; Лучшая практика основана на теории». ![image][3] В моём представлении теория и практика должны быть разделены в соотношении 20/80. Я люблю добиваться выполнения практических задач, но в то же время мне нравится изучать теорию, на основе которой я их решаю. Мои наиболее творческие идеи всегда приходят ко мне из теоретических книг. Прочитав достаточно книг по теории, внезапно много идей выстраиваются во что-то новое. Некоторые читатели спрашивали, почему я рассказываю только про пять книг за раз. Очень просто — написать одну статью в блог о 100 книга могло бы занять у меня несколько недель усилий. Разделяя их на маленькие части, это намного проще выполнить. К тому же, приятно ощущать прогресс по мере увеличения номера публикации. Если вас заинтересовала серия, вы можете подписаться на [RSS-рассылку][4] моего блога и подписаться на обновления в моём [твиттере][5]. [![image][6]][7] Итак, приступим к книгам этой недели! [Читать дальше →][8]

[1]: http://habrahabr.ru/post/259317/
[2]: http://www.amazon.com/Selected-Computer-Science-Language-Information/dp/1881526917?tag=catonmat-20
[3]: https://habrastorage.org/getpro/habr/post_images/805/985/bac/805985bac50d3378702b92756f5d8dcd.jpg
[4]: http://www.catonmat.net/feed
[5]: http://twitter.com/pkrumins
[6]: https://habrastorage.org/getpro/habr/post_images/46e/3d7/3c7/46e3d73c72345caa19eeb27e795aef51.jpg
[7]: http://habrahabr.ru/post/259985/
[8]: http://habrahabr.ru/post/259985/#habracut

[>] [Перевод] Сравниваем Nim и Rust
habra.14
habrabot(difrex,1) — All
2015-06-10 17:00:03


_Предлагаю читателям «Хабрахабра» перевод статьи [«A Quick Comparison of Nim vs. Rust»][1]. Мои замечания будут выделены курсивом._ [Rust][2] и [Nim][3] — два новых языка программирования за развитием которых я слежу. Вскоре, после моего [первого поста][4] о Rust, вышел в свет [Nim 0.10.2][5]. Это побудило меня поближе познакомиться с Nim и, естественно, сравнить его с Rust. В этом посте я собираюсь показать вам две простых программы написанных на Nim и Rust с грубым сравнением их времени выполнения и высказать мои субъективные впечатления от программирования на этих языках. [Читать дальше →][6]

[1]: http://arthurtw.github.io/2015/01/12/quick-comparison-nim-vs-rust.html
[2]: http://www.rust-lang.org/
[3]: http://nim-lang.org/
[4]: http://arthurtw.github.io/2014/12/21/rust-anti-sloppy-programming-language.html
[5]: http://nim-lang.org/news.html#Z2014-12-29-version-0-10-2-released
[6]: http://habrahabr.ru/post/259993/#habracut

[>] [recovery mode] Общие советы при решении вопроса контроля местоположения, разрешений доступа и использования конфиденциальной информации в организации
habra.14
habrabot(difrex,1) — All
2015-06-10 17:00:03


В современных корпоративных реалиях большое количество важной для организации информации храниться в виде так называемых неструктурированных или полуструктурированных данных в виде отдельных файлов и папок на файловых хранилищах, коллекциях сайтов SharePoint, архивов электронной почты на серверах Exchange и т.д. Объем роста таких данных составляет, в среднем, около 30-50% в год. Причем такими темпами происходит не только количественный рост объемов потребляемых для хранений байт (зачастую с приставкой Гига- или все чаще и чаще Тера-), но и качественное увеличение важных или даже жизненном необходимых для компании данных, «размазанных» по одному или нескольким (иногда 20-30) файловым серверам с разными операционными системами, идеологиями хранения и обработки информации (Exchange, SharePoint, Windows, SAN/NAS). [Читать дальше →][1]

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

[>] Защита персональных данных -aaS
habra.14
habrabot(difrex,1) — All
2015-06-10 17:00:03


Все организации в Российской Федерации так или иначе обрабатывают персональные данные, а следовательно попадают под действие ФЗ №152. На текущий момент бОльшая часть из них вообще ничего не делала на тему защиты персональных данных. [Читать дальше →][1]

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

[>] Типовая схема биллинга
habra.14
habrabot(difrex,1) — All
2015-06-10 17:00:03


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

[1]: http://tekhnosfera.com/metody-modelirovaniya-i-razrabotki-billingovyh-sistem
[2]: http://habrahabr.ru/post/259921/#habracut

[>] Vim по полной: Уровень проекта и файловая система
habra.14
habrabot(difrex,1) — All
2015-06-10 17:00:03




# Оглавление



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

Проекты, это то, чего очень не хватает редактору Vim. Реализация проекта позволяет не только выделить его как отдельную сущность среди других папок и файлов в ФС, но и реализовать такие свистелки, как:

* Автоматическое сохранение и восстановление последней сессии проекта так, что после повторного открытия, мы получим редактируемый в прошлый раз файл(ы), с теми же настройками и положением
* Хранение информации о проекте, такой как автор проекта, лицензия, версия и так далее. Все эти данные можно будет добавлять в шаблоны и сниппеты
* Корневой каталог проекта строго определен. Это упростит использования других инструментов, на пример xUnit, дебагеры, генераторы документации и т.д.
* Отдельный, принадлежащий только проекту каталог _.vim_ и файл _.vimrc_, аналогичный пользовательским версиям. Теперь настройки и плагины проекта будут хранится в нем

[shut up and take my money][3]

[1]: http://habrahabr.ru/post/259701/
[2]: http://habrahabr.ru/post/259725/
[3]: http://habrahabr.ru/post/259995/#habracut

[>] Юнит-тесты, BDD и сила текучих утверждений (fluent assertions) в 1С
habra.14
habrabot(difrex,1) — All
2015-06-10 19:00:02




#### Немного истории

Благодаря классному дядьке Кенту Беку (Kent Beck) родилась замечательная методология test-driven development. Не смотря на необычность подхода, переворачивающего привычный процесс написания кода с ног на голову (тест на функционал создается до реализации), сейчас уже можно сказать, что разработка через тестирование стала стандартом де-факто. Практически в любых вакансиях фигурирует требование к знанию и опыту использования методики TDD и соответствующих инструментов. Почему, казалось бы, ломающая привычную парадигму мышления методология прижилась и стандартизировалась? Потому что “Жизнь слишком коротка для ручного тестирования”, а писать авто-тесты на существующий код иногда просто не возможно, ведь код, написанный в обычной парадигме, как правило совершенно тесто-не-пригодный. Стоит отметить, что за время своего существования методология успела обзавестись ответвлением (fork) в виде BDD. Дэн Норт (Dan North) в своей статье ([Introducing BDD][1]) указал на сложности внедрения TDD среди разработчиков и для решения обозначенных проблем предложил практику, которая называется behaviour-driven development. Основной фишкой BDD можно назвать микс из TDD и DDD, которая в начале выражалась в правильном именовании тестовых методов (названия тестовых методов должны быть предложениями). Апогеем BDD, на текущий момент, можно считать рождение языка Gherkin и инструментария, который его использует (Cucumber, RSpec и т.п.). [Читать дальше →][2]

[1]: http://dannorth.net/introducing-bdd/
[2]: http://habrahabr.ru/post/260013/#habracut

[>] [Перевод] Автоматизированное создание диаграмм в xkcd-стиле: из серьёзного в забавное
habra.14
habrabot(difrex,1) — All
2015-06-10 19:30:04






_Перевод поста Виталия Каурова "[Automating xkcd Diagrams: Transforming Serious to Funny][1]". Скачать файл, содержащий текст статьи, интерактивные модели и весь код, приведенный в статье, можно [здесь][2]. Выражаю огромную благодарность [Кириллу Гузенко][3] за помощь в переводе._

----

Утром в понедельник я наткнулся на интересный вопрос, опубликованный в [_Mathematica_ Stack Exchange][4], с нехитрым заголовком — "[создание графиков в xkcd-стиле][5]". Из-за [популярности][6] веб-[комиксов xkcd][7] Рэндалла Манро (Randall Munroe), я ожидал, что люди добавят себе несколько закладок этой страницы и с десяток up-vote. Тогда я ещё не знал, как всё обернётся. Сложно предсказать вирусность какого-то мема, однако если удалось создать такой, то весьма здорово наблюдать, как растёт его популярность и как он распространяется в интернете. Через два дня этот пост имел уже более 100 тысяч просмотров, двести up-vote и 150 закладок; стали возникать ответы и схожие посты в других разделах Stack Exchange, в Twitter разразился небольшой ураган по этому поводу, появлялись обсуждения в _Hacker News_ и _reddit_. Тут я приведу оригинал поста [Amatya][8] с примером изображения в xkcd-стиле: «Я получил электронное письмо, на которое я захотел ответить с графиком в xkcd-стиле, но я не мог справиться с этим. Всё, что я рисовал, выглядело как надо, однако я не мог придумать такой команды для Plot Legends, чтобы сделать фрагменты текста плавающими. Может, есть какие-то идеи, как можно было бы создать графики в xkcd-стиле? Когда всё выглядит рисованным от руки и неточным. Думаю, рисование таких странных кривых в _Mathematica_ должно быть трудным в реализации.» [][9]



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

[1]: http://blog.wolfram.com/2012/10/05/automating-xkcd-diagrams-transforming-serious-to-funny/
[2]: http://blog.wolfram.com/data/uploads/2012/10/Wolfram_xkcd.cdf
[3]: http://vk.com/ld742
[4]: http://mathematica.stackexchange.com/
[5]: http://mathematica.stackexchange.com/questions/11350/xkcd-style-graphs
[6]: http://www.wolframalpha.com/input/?i=xkcd.com+visitors
[7]: http://www.xkcd.com/
[8]: http://mathematica.stackexchange.com/users/2039/amatya
[9]: http://xkcd.com/1064/
[10]: http://habrahabr.ru/post/260017/#habracut

[>] Готовимся к собеседованию по PHP: псевдотип «callable»
habra.14
habrabot(difrex,1) — All
2015-06-10 20:00:02


Не секрет, что на собеседованиях любят задавать каверзные вопросы. Не всегда адекватные, не всегда имеющие отношение к реальности, но факт остается фактом — задают. Конечно, вопрос вопросу рознь, и иногда вопрос, на первый взгляд кажущийся вам дурацким, на самом деле направлен на проверку того, насколько хорошо вы знаете язык, на котором пишете. ![image][1] Вторая часть серии статей посвящена одному из самых сложных и объемных вопросов о современном PHP — что такое «callable»? Я постарался свести в один текст некий минимум знаний об этом вопросе. [Подробный разбор неочевидных мест мануала - под катом][2]

[1]: https://habrastorage.org/files/d83/5da/237/d835da237d3846eb9c41ea3e0ea29e40.jpg
[2]: http://habrahabr.ru/post/259991/#habracut

[>] Детектор блокировок UI в WPF c нотификацией
habra.14
habrabot(difrex,1) — All
2015-06-10 22:00:02


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

[1]: https://habrastorage.org/files/794/6c3/b44/7946c3b443b741e3b79c75b04a4339f2.png
[2]: http://habrahabr.ru/post/260029/#habracut

[>] Соединяй и властвуй. Нестандартный взгляд на keep-alive
habra.14
habrabot(difrex,1) — All
2015-06-11 12:00:02


![][1] Большинство современных серверов поддерживает соединения keep-alive. Если на страницах много медиаконтента, то такое соединение поможет существенно ускорить их загрузку. Но мы попробуем использовать keep-alive для куда менее очевидных задач. [Читать дальше →][2]

[1]: https://habrastorage.org/files/d41/331/52d/d4133152dbca4e528969995d3e2fa1c1.png
[2]: http://habrahabr.ru/post/259845/#habracut

Pages: 1 ... 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 ... 210