RSS
Pages: 1 ... 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 ... 210
[>] «Мое облако — моя крепость»: Тренды облачной безопасности
habra.16
habrabot(difrex,1) — All
2017-01-16 11:30:03


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

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

[1]: https://habrahabr.ru/company/1cloud/blog/312260/
[2]: https://habrastorage.org/files/ea0/ced/fbf/ea0cedfbf7c445ddab5159838a920687.jpg
[3]: https://habrahabr.ru/company/1cloud/blog/319398/
[4]: https://habrahabr.ru/post/319398/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Типичные ошибки начинающих работать с изображениями
habra.16
habrabot(difrex,1) — All
2017-01-16 14:00:04


![][1]Цифровая обработка изображений — весьма интересная область, но она таит в себе множество подводных камней, на которые постоянно натыкаются новички. Мы активно привлекаем студентов к участию в грантах и проектах, но когда мы пытались давать студентам реальные задания, которые требуют реализации новых алгоритмов обработки изображений, мы были в ужасе от совершаемых ими детских ошибок.



Поэтому перед постановкой полноценных задач мы стали давать студентам ряд практических заданий по реализации стандартных алгоритмов обработки изображений: базовые операции над изображениями (поворот, размытие), свёртка, интерполяция с помощью простых фильтров (билинейная, бикубическая), направленная интерполяция, выделение границ с помощью алгоритма Канни, детектирование ключевых точек и т.д. Язык программирования мог быть любым, однако при выполнении заданий не допускается использование сторонних библиотек, за исключением чтения и записи изображений. Это связано с тем, что задания носят обучающий характер, самостоятельная реализация алгоритмов является хорошей практикой в программировании и позволяет понять, как работают методы изнутри.



Данная статья описывает наиболее частые ошибки, совершаемые студентами при выполнении практических заданий по обработке изображений. Изображения обычные, никакой экзотики типа 16-битной глубины цвета, панхроматичности и 3D-изображений нет.

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

[1]: https://habrastorage.org/files/4a0/6a1/bee/4a06a1bee4254eb8ab14e8ab8f7a303a.png
[2]: https://habrahabr.ru/post/319606/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Инфраструктура онлайн игры
habra.16
habrabot(difrex,1) — All
2017-01-16 15:00:04


![image][1]



Здравствуйте, меня зовут [Александр Зеленин][2], и я на дуде игрец веб-разработчик. Полтора года назад я [рассказывал о разработке онлайн игры][3]. Так вот, она немного разрослась… Суммарный объём исходного кода превысил «Войну и мир» вдвое. Однако в данной статье я хочу рассказать не о коде, а об организации инфраструктуры проекта.

[Неужели всё так сложно?][4]

[1]: https://habrastorage.org/files/f02/268/50b/f0226850b7a84d7999eef4bd4eb13a90.png
[2]: http://zelenin1.moikrug.ru/
[3]: https://habrahabr.ru/post/265395/
[4]: https://habrahabr.ru/post/319582/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы заново открыли TFS
habra.16
habrabot(difrex,1) — All
2017-01-16 18:30:04


# Новое открытие TFS {#novoe-otkrytie-tfs}



Какая первая ассоциация возникает, когда слышишь словосочетание Microsoft TFS? Что-то большое, неповоротливое и корпоративное. Именно так и было до появления Visual Studio Team Services и выхода MS TFS 2015. Первый — это облачная версия Team Foundation Server, которая опережает в развитии частную (private) версию примерно на три месяца. Одним из главным нововведений обновленного TFS/VSTS стала новая система сборок. Эта система позволяет достаточно просто писать свои шаги сборок, которые могут делать что угодно — от собственно сборки проекта до автоматического заведения дефектров и рассылки нотификаций. Кроме этого новая версия предоставляет развитый REST API для манипулирования задачами, дефектами и практически любыми сущностями в базе данных TFS.



Именно поэтому когда перед нами встал выбор новой системы управления жизненным циклом разработки, мы остановились именно на этой новой версии MS TFS. Мы используем TFS для полного цикла — планирование-разработка-тестирование-развертывание, и, поначалу все шло достаточно гладко. С ростом сложности задач, которые мы ставили перед системой сборки, появлялись и проблемы. К счастью, REST API и собственные шаги сборки позволили их с успехом решить. Далее я расскажу о проблемах и о том, как мы их решили.


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

[1]: https://habrahabr.ru/post/319662/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Путь, который стоило пройти, чтобы получить бесценный опыт в мобильной разработке
habra.16
habrabot(difrex,1) — All
2017-01-16 18:30:04


Привет, Хабр!

Пришло время подвести итоги 2016 года. Здесь пойдет речь о второй попытке повторить успех с образовательным приложением “Русский язык — грамотей”. ([о другой попытке мы писали ранее][1])

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

[1]: https://habrahabr.ru/post/309612/
[2]: https://habrastorage.org/files/7e4/a70/3df/7e4a703df10b48219d6850b4d03d707a.png
[3]: https://habrahabr.ru/post/319642/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Приглашаем на Moscow Python Meetup 19 января
habra.16
habrabot(difrex,1) — All
2017-01-16 21:30:04


![image][1]

Приглашаем разработчиков, тимлидов и всех, кто так или иначе связан с разработкой на Python, принять участие в Moscow Python Meetup, который состоится 19 января, в четверг, в московском офисе Mail.Ru Group. В программе встречи три доклада, подробности о них читайте под катом.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/b05/aab/456/b05aab4568f74ff8bfe2f93590ed376b.png
[2]: https://habrahabr.ru/post/319684/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Продолжение эпопеи с USB-стеком
habra.16
habrabot(difrex,1) — All
2017-01-17 03:30:04


![image][1]
Нам все же удалось разбить лёд, мы все же нашли несколько тестеров во время [прошлого этапа][2] и готовы двигаться дальше.

Разработчик Вадим Галянт залил в облако экспериментальный образ ReactOS с обновленными компонентами USB-стека. Нам вновь нужны ваши тесты. Срочно! Только от вас зависит, попадут ли наработки в общую ветку до релиза 0.4.4. Времени осталось совсем мало, буквально пара дней.

[drive.google.com/file/d/0B0uL4J-umfUBLXgwd25ZVnE1dzA/view][3]
[Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/e78/05f/b08/e7805fb08cf2f4bf6d16e58555e1fbf1.jpg
[2]: https://habrahabr.ru/company/reactos/blog/318798/
[3]: https://drive.google.com/file/d/0B0uL4J-umfUBLXgwd25ZVnE1dzA/view
[4]: https://habrahabr.ru/post/319694/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] VoIP телефония. Asterisk. Нестандартный подход ко всему. Часть 2
habra.16
habrabot(difrex,1) — All
2017-01-17 07:00:03


Продолжаем наш рассказ о модификации движка для VoIP оператора связи.



[В первой части][1] мы рассказали о начальной структуре базы данных и настройке Asterisk для обслуживания вызовов, с мониторингом состояния вызова. В этой части мы затронем такие вещи как тарификатор, LCR, биллинг и геолокация.

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

[1]: https://habrahabr.ru/post/319352/
[2]: https://habrahabr.ru/post/319558/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] VoIP телефония. Asterisk. Нестандартный подход ко всему. Часть 1
habra.16
habrabot(difrex,1) — All
2017-01-17 07:00:03


Ровно год назад к нам обратились бывшие коллеги, с предложением принять участие в модификации движка VoIP оператора связи. Задача сводилась к полной переделке личного кабинета, обеспечению масштабирования системы, создания системы биллинга, LCR, мониторинга расходов пользователей, контроля длительности разговоров, аналитики по звонкам. История закончилась печально, т.к. заложенный нами расширенный функционал системы якобы не соответствовал ТЗ, никак не формализованному на бумаге и находящемуся только в головах менеджеров оператора. В связи с тем, что за разработанный функционал, который заказчику очень понравился, менеджеры платить не захотели, отношения мы разорвали. NDA и договора у нас не было, поэтому посоветовавшись с коллегами мы решили часть наработок выложить в свободный доступ. Я думаю, что это будет серия статей. И начнём пожалуй с базовых вещей и архитектуры.

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

[1]: https://habrahabr.ru/post/319352/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Windows имеет внутренний список неудаляемых корневых сертификатов
habra.16
habrabot(difrex,1) — All
2017-01-17 09:00:03


В Windows, согласно , подписанный Microsoft, которому Windows, начиная с 7, доверяет безоговорочно, и обновляет его каждые 2 недели, а в случае установки особого обновления — каждый день.



В консоли (MMC) можно добавить сертификаты, к которым нет доверия, но вот удалить корневой сертификат не так то просто.


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

[1]: https://habrahabr.ru/post/319698/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как перебрать все перестановки и о факториальном разложении натуральных чисел
habra.16
habrabot(difrex,1) — All
2017-01-17 09:30:04


Задачи о переборе всех возможных перестановок заданного множества сущностей возникают в программировании достаточно часто. Как известно из комбинаторики, число возможных перестановок n предметов равно попросту факториалу числа n

**n! = n \* (n — 1) \* (n – 2) \* … \* 3 \* 2 \* 1**

Факториал – достаточно быстро растущая функция, об этом говорит ее асимптотика (формула Стирлинга), хотя достаточно посмотреть на факториалы нескольких первых членов натурального ряда:

1! 1
2! 2
3! 6
4! 24
5! 120
6! 720
7! 5 040
8! 40 320
9! 362 880
10! 3 628 800
11! 39 916 800
12! 479 001 600
13! 6 227 020 800
14! 87 178 291 200
15! 1 307 674 368 000

Как видно, факториал 13-ти уже не умещается в тип данных long.

Если задаться целью найти однозначное соответствие между номером перестановки — числом в диапазоне от 1 до **n**! – и ее реализацией, можно натолкнуться на один очень интересный математический факт.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/319696/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Duplo Railroad Tycoon: Синтез железнодорожной сети с максимальным покрытием
habra.16
habrabot(difrex,1) — All
2017-01-17 13:00:08


![image][1]

Детям Дед Мороз принес железную дорогу Duplo. Сегменты рельс очень легко соединяются между собой, и можно построить какой-нибудь небольшой, скорее всего просто замкнутый путь, поставить станцию и смотреть, как паровозик бегает по кругу. Иногда он останавливается и детёнок должен паровоз «заправить» из колонки, после чего паровоз снова поедет.

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

[1]: https://habrastorage.org/files/821/583/b7e/821583b7e34d434a8fd7510c29f1adb6.png
[2]: https://habrahabr.ru/post/319702/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Автопоиск IP-адресов
habra.16
habrabot(difrex,1) — All
2017-01-17 13:30:03


![Preview][1]


## Зачем вообще искать IP?


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

* Данные терминалы будут общедоступными и работать в [режиме киоска][2]. Поэтому идея добавить на них какую-нибудь панель администрирования, сразу же отпадала, ибо случайный юзер сможет «наклацать» в настройках IP-адреса что ему заблагорассудится.
* Можно было бы зашить в терминалы IP-адрес сервера обновлений, но так как сервер, в моем случае, — это всего лишь десктопное приложение, которое пользователь может запускать на любом компьютере в подсети, то такое решение тоже не подошло.
* Взяв в учет предыдущие два пункта, можно было бы реализовать панель администрирования, со входом по паролю, но, все же, постоянно вбивать новый IP-адрес сервера обновлений — это лишняя головная боль обслуживающему персоналу.
Поэтому от идеи «забирать» я перешел к идее «отправлять» и начал мастерить реализацию автоматического поиска IP-адресов на Python 3. [Читать дальше →][3]

[1]: https://habrastorage.org/files/7fb/0ce/538/7fb0ce538a3947c897150d3fbe238c16.jpg
[2]: https://support.google.com/chrome/a/answer/6137028?hl..
[3]: https://habrahabr.ru/post/319706/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Обработка препроцессорных директив в Objective-C
habra.16
habrabot(difrex,1) — All
2017-01-17 13:30:03


Язык программирования с [препроцессорными директивами][1] сложен для обработки, поскольку в этом случае необходимо вычислять значения директив, вырезать ненужные фрагменты некомпилируемого кода, а затем производить парсинг очищенного кода. Обработка директив может осуществляться также во время парсинга обычного кода. Данная статья подробно описывает оба подхода применительно к языку Objective-C, а также раскрывает их достоинства и недостатки. Эти подходы существуют не только в теории, но уже реализованы и используются на практике в таких веб-сервисах, как Swiftify и Codebeat.



[![][2]][3]
**Swiftify** — веб-сервис для преобразования исходников на Objective-C в Swift. На данный момент сервис поддерживает обработку как одиночных файлов, так и целых проектов. Таким образом, он может сэкономить время разработчикам, желающим освоить новый язык от Apple.



[![][4]][5]
**Codebeat** — автоматизированная система для подсчета метрик кода и проведения анализа для различных языков программирования, в том числе и Objective-C.


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

[1]: https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
[2]: https://habrastorage.org/files/d3c/d53/8db/d3cd538db7604fe3ad10f759a9042d76.jpg
[3]: https://habrahabr.ru/post/318954/
[4]: https://habrastorage.org/files/f81/032/e83/f81032e83f4d45cba5a529fad9df9834.png
[5]: https://habrahabr.ru/post/318954/
[6]: https://habrahabr.ru/post/318954/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Создание кастомных Go-профилей с помощью pprof. Запоминаем стеки
habra.16
habrabot(difrex,1) — All
2017-01-17 13:30:03


![][1]
_Кадр из сериала «Коломбо»_

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

[1]: https://habrastorage.org/files/a1f/fbd/e49/a1ffbde493724bcd9b86687b10ac4440.jpg
[2]: https://habrahabr.ru/post/318336/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Конкурс GraphHPC-2017 на самую быструю реализацию задачи Betweenness Centrality
habra.16
habrabot(difrex,1) — All
2017-01-17 14:00:04


![][1]

Лаборатория [DISLab][2] ([ОАО «НИЦЭВТ»][3]) совместно с [НИВЦ МГУ][4] проводят четвертую ежегодную научно-практическую конференцию по проблемам параллельной обработки больших графов с использованием суперкомпьютерных комплексов и кластерных систем.



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



**Совсем скоро,** в рамках данной научно-технической конференции [GraphHPC-2017][5], стартует **[конкурс][6]** GraphHPC, посвященный проблемам параллельной обработки больших графов с использованием суперкомпьютеров. В этот раз участникам предстоит получить самую быструю реализацию задачи **[Betweenness Centrality][7]** (Центральность по посредничеству) в неориентированном графе.

[Интересно - жми сюда!][8]

[1]: https://habrastorage.org/files/28c/ca7/2c3/28cca72c35cd43b88bffa2455175e6b0.gif
[2]: http://www.dislab.org/
[3]: http://www.nicevt.ru/
[4]: http://www.srcc.msu.su/
[5]: http://dislab.org/GraphHPC-2017/
[6]: http://contest.dislab.org/
[7]: http://contest.dislab.org/problem/BetweennessCentrality/
[8]: https://habrahabr.ru/post/319646/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Облачные вычисления второго поколения: Система CLAVIRE
habra.16
habrabot(difrex,1) — All
2017-01-17 14:00:04


Под катом в этом материале — рассказ о том, что такое AaaS, почему модель Application as a Service считается более перспективной, чем знакомые нам SaaS, PaaS и IaaS, и как разработчики и ученые Университета ИТМО реализуют такую модель в рамках проекта CLAVIRE.

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

[1]: https://habrastorage.org/files/0d1/f62/701/0d1f627014444029acc50b0f707eabd4.jpeg
[2]: https://habrahabr.ru/company/spbifmo/blog/319688/
[3]: https://habrahabr.ru/post/319688/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Интервью с Эдди Виллемсом (G Data Software AG): Смарт-безопасность и «Интернет неприятностей»
habra.16
habrabot(difrex,1) — All
2017-01-17 15:30:04


![][1]

В этот раз Технический директор антивирусной лаборатории PandaLabs Луис Корронс поговорил с Эдди Виллемсом, евангелистом по безопасности в компании G Data Software AG. Речь шла о безопасности в эпоху Интернета вещей. [Читать дальше →][2]

[1]: https://habrastorage.org/files/f08/723/f23/f08723f235094b419a9696bf4edeee06.jpg
[2]: https://habrahabr.ru/post/319734/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Трагикартинки Фэйсбука
habra.16
habrabot(difrex,1) — All
2017-01-17 15:30:04


Всем привет!
Да, это я 2 года 11 месяцев и 6 дней назад [обещал][1] рассказать про новые уязвимости. Но со временем стало понятно, что, либо они не интересные, либо рассказывать о них пришлось бы с помощью скриншотов больше похожих на рассекреченные документы спецслужб — пара бессмысленных слов и куча чёрных прямоугольников. Но — время пришло.

Я уверен, что все вы слышали про [ImageMagick][2] и его [«Трагедию»][3]. Эта уязвимость была найдена в конце апреля 2016 года и в следствии того, что многие плагины, обрабатывающие изображения, использовали библиотеку ImageMagick, данная проблема охватывала большое количество систем. Так как были свидетельства о том, что информация о данной уязвимости была доступна не только исследователям, которые её обнаружили, и разработчикам ImageMagick'а, но и третьим лицам, 3 мая 2016 года информация о уязвимости (без PoC) была раскрыта для всего мира. Многие исследователи воспользовались данной информацией и нашли уязвимости в приложениях, которые не были обновлены вовремя. К сожалению, я не был среди этих счастливчиков. Но это было в мае:)
[Читать дальше →][4]

[1]: https://habrahabr.ru/post/212317/
[2]: https://www.imagemagick.org/
[3]: https://imagetragick.com/
[4]: https://habrahabr.ru/post/319676/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Исследование методов сегментации изображений
habra.16
habrabot(difrex,1) — All
2017-01-17 19:30:04


В статье описано исследование методов сегментации изображений на различных примерах. Целью исследования является обнаружение достоинств и недостатков некоторых известных методов.



Методы, которые будут рассмотрены в данной статье:


1. Метод выращивания регионов;
2. Метод водораздела;
3. Метод нормальных разрезов.

## Исследование методов сегментации на модельных изображениях {#issledovanie-metodov-segmentacii-na-modelnyh-izobrazheniyah}



Исследование методов сегментации первоначально проводилось моделях изображений. В качестве моделей использовались девять видов изображений.



![image][1]

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

[1]: https://habrastorage.org/files/c10/f20/179/c10f20179cdf48ceb1f95539894db3b1.PNG
[2]: https://habrahabr.ru/post/319782/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Система рекомендаций интернет магазина на основе методов машинного обучения в Compute Engine (Google Cloud Platform)
habra.16
habrabot(difrex,1) — All
2017-01-17 19:30:04


С помощью сервисов Google Cloud Platform можно создать эффективную масштабируемую систему рекомендаций для интернет-магазина.

На рынке интернет-торговли сложилась интересная ситуация. Хотя общий денежный поток вырос, увеличилось и количество продавцов. Это привело к тому, что доля каждого магазина уменьшилась, а конкуренция между становится все напряженнее. Один из способов увеличить средний размер покупки (а значит, и прибыль) – предлагать покупателям дополнительные товары, которые могут их заинтересовать.

Из этой статьи вы узнаете, как на базе Cloud Platform настроить среду для поддержки базовой системы рекомендаций, которую со временем можно будет доработать и расширить.

В ней описывается решение для сайта агентства по аренде недвижимости, позволяющее подбирать и предлагать рекомендации пользователям.

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

[1]: https://habrastorage.org/files/a09/66e/a3d/a0966ea3d1dc419aa6de610555f48306.png
[2]: https://habrahabr.ru/post/319704/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] IDEA пора закапывать?
habra.16
habrabot(difrex,1) — All
2017-01-17 20:00:03


В этой статье я хочу поднять тему старения компаний и извечный вопрос: что делать простым пользователям? На примере IDEA. С графиками деградации и загнивания.

Тем, кто интересуется теорией, советую ознакомиться с недавно опубликованной замечательной статьёй "[Биологические предпосылки деградации компаний][1]". Я же хочу обсудить вполне конкретную ситуацию, как пример того, когда хорошие вещи начинают отдавать неприятным душком.
[Читать дальше →][2]

[1]: https://habrahabr.ru/post/315924/
[2]: https://habrahabr.ru/post/319774/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] SQL инъекция в GitHub Enterprise
habra.16
habrabot(difrex,1) — All
2017-01-18 11:30:02


![][1]

Привет Хабр,

Ниже рассказ автора Orange Tsai о том, как он целенаправленно искал уязвимость в корпоративной версии GitHub и в итоге обнаружил возможность SQL инъекции. Тут, на хабре, ранее уже публиковался перевод другой его статьи "[Как я взломал Facebook и обнаружил чужой бэкдор][2]".
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/305/b3d/022/305b3d0229e3ab7193765b327f114e88.png
[2]: https://habrahabr.ru/company/defconru/blog/282179/
[3]: https://habrahabr.ru/post/319786/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пространственный индекс для PostgreSQL на основе Z-order (vs R-tree), продолжение
habra.16
habrabot(difrex,1) — All
2017-01-18 11:30:02


![][1]


В [прошлый раз][2] мы пришли к выводу, что для эффективной работы пространственного индекса на основе Z-order необходимо сделать 2 вещи:
* эффективный алгоритм получения подинтервалов
* низкоуровневую работу с B-деревомВот именно этим мы и займёмся под катом. [Читать дальше →][3]

[1]: https://habrastorage.org/files/13c/a11/68b/13ca1168b7124e42a2a309744fd977eb.png
[2]: https://habrahabr.ru/post/319096/
[3]: https://habrahabr.ru/post/319810/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Я работаю в ТехЦентре Дойче Банка
habra.16
habrabot(difrex,1) — All
2017-01-18 12:30:03


Всем привет! Я Александр Белотуркин, работаю Дев Менеджером в ТехЦентре Дойче Банка, куда пришел более 4-х лет назад. В первый день было непривычно. По сравнению с IT компаниями, где большинство приходит в джинсах и футболках, было очень необычно увидеть людей в строгих рубашках и говорящих по телефону на английском. Но со временем атмосфера стала привычной и дружной. Меня заинтересовала, с одной стороны, близость к конечному пользователю, умение и желание этого пользователя объяснять суть проблем, которые мы совместно решаем, а с другой стороны — коллеги, которые так трепетно относятся к качеству своей работы. И, забегая немного вперед, скажу: нет, мы не пишем бухгалтерию под win98, мы делаем самую эффективную в мире платформу для торговли валютными деривативами и еще много всего интересного.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/319784/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Старикам здесь вполне ещё место: забытые IT-технологии в строю
habra.16
habrabot(difrex,1) — All
2017-01-18 13:30:03


![][1]

В сентябре 2016 года прошла [удивительная новость][2]: в небольшой польской автомастерской обнаружился компьютер [Commodore 64][3], использующийся владельцем для балансировки карданных валов. Commodore 64, Карл! Причём компьютер выжил даже после того, как мастерскую однажды затопило паводком. Эта история натолкнула нас на мысль поискать другие примеры современного использования старых, забытых IT-технологий. [Читать дальше →][4]

[1]: https://habrastorage.org/files/3af/2a2/16c/3af2a216cf0e455fa3f3ead06a7187e5.png
[2]: https://www.facebook.com/CommodoreUSA/photos/a.224898297528365.64728.181491231869072/1279382015413316/?type=3&theater
[3]: https://ru.wikipedia.org/wiki/Commodore_64
[4]: https://habrahabr.ru/post/319824/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Z-order vs R-tree, продолжение
habra.16
habrabot(difrex,1) — All
2017-01-18 13:30:03


![][1]


В [прошлый раз][2] мы пришли к выводу, что для эффективной работы пространственного индекса на основе Z-order необходимо сделать 2 вещи:

* эффективный алгоритм получения подинтервалов
* низкоуровневую работу с B-деревом
Вот именно этим мы и займёмся под катом.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/13c/a11/68b/13ca1168b7124e42a2a309744fd977eb.png
[2]: https://habrahabr.ru/post/319096/
[3]: https://habrahabr.ru/post/319810/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Рекурсия. Беглый взгляд
habra.16
habrabot(difrex,1) — All
2017-01-18 14:30:03


![image][1]



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

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

[1]: http://s017.radikal.ru/i417/1412/3c/1f57d2a462f8.jpg
[2]: https://habrahabr.ru/post/319790/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Язык программирования Сtag. Вступление
habra.16
habrabot(difrex,1) — All
2017-01-18 15:30:03


Впервые я познакомился с программированием в 6 классе… Тогда это был старинный компилятор borland pascal, который мог запускаться только с помощью эмулирования MS-DOS. С тех пор прошло 6 лет… Маленький мальчик вырос и стал писать более читаемый код, а судьба привела его в один из лучших технических вузов страны. Но те 6 лет не прошли даром. В течение них накапливался огромный пласт противоречий, которые заставляли его искать все более и более совершенный язык… Так появился на свет Ctag — продукт переосмысления достижений человечества.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/319846/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Старикам здесь вполне ещё место: забытые ИT-технологии в строю
habra.16
habrabot(difrex,1) — All
2017-01-18 16:00:03


![][1]

В сентябре 2016 года прошла [удивительная новость][2]: в небольшой польской автомастерской обнаружился компьютер [Commodore 64][3], использующийся владельцем для балансировки карданных валов. Commodore 64, Карл! Причём компьютер выжил даже после того, как мастерскую однажды затопило паводком. Эта история натолкнула нас на мысль поискать другие примеры современного использования старых, забытых IT-технологий. [Читать дальше →][4]

[1]: https://habrastorage.org/files/3af/2a2/16c/3af2a216cf0e455fa3f3ead06a7187e5.png
[2]: https://www.facebook.com/CommodoreUSA/photos/a.224898297528365.64728.181491231869072/1279382015413316/?type=3&theater
[3]: https://ru.wikipedia.org/wiki/Commodore_64
[4]: https://habrahabr.ru/post/319824/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] jl-sql: работаем с JSON-логами в командной строке с помощью SQL
habra.16
habrabot(difrex,1) — All
2017-01-18 18:30:04


Вступление никому не интересно, поэтому начну сразу с примеров использования


![json-pipe-sql][1]
% cat log.json
{"type": "hit", "client": {"ip": "127.1.2.3"}}
{"type": "hit", "client": {"ip": "127.2.3.4"}}
{"type": "hit", "client": {"ip": "127.3.4.5"}}
{"type": "hit", "client": {"ip": "127.3.4.5"}}
{"type": "hit", "client": {"ip": "127.1.2.3"}}
{"type": "click", "client": {"ip": "127.1.2.3"}}
{"type": "click", "client": {"ip": "127.2.3.4"}}

Выполняем запрос:


% cat log.json | jl-sql 'SELECT client.ip, COUNT(*) AS count WHERE type = "hit" GROUP BY client.ip'
{"client":{"ip":"127.1.2.3"},"count":2}
{"client":{"ip":"127.2.3.4"},"count":1}
{"client":{"ip":"127.3.4.5"},"count":2} [Читать дальше →][2]

[1]: https://habrastorage.org/files/6fb/fc4/506/6fbfc450605a4350bfce24d2ddb54b42.png
[2]: https://habrahabr.ru/post/319722/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Bitcoin in a nutshell — Cryptography
habra.16
habrabot(difrex,1) — All
2017-01-18 20:00:04


Одна из причин, почему Bitcoin продолжает привлекать столько внимания — это его исключительная «математичность». Сатоши Накамото удалось создать систему, которая способна функционировать при полном отсутствии доверия между ее участниками. Все взаимодействия основаны на строгой математике, никакого человеческого фактора — вот в чем была революционность идеи, а не в одноранговой сети, как многие думают. Поэтому первую главу я решил посвятить именно математическим основам Bitcoin.

Ниже я постараюсь объяснить вам самые базовые вещи — эллиптические кривые, ECC, приватные / публичные ключи и так далее. По возможности я буду иллюстрировать свои слова примерами кода, преимущественно на Python 2.7, если что-то непонятно — спрашивайте в комментариях.

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

[1]: https://habrastorage.org/getpro/habr/post_images/26c/0e3/b87/26c0e3b873ba64ade7512aea9d9a7a6b.jpg
[2]: https://habrahabr.ru/post/319868/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Про хаскелль для самых маленьких на примере задачи с codefights
habra.16
habrabot(difrex,1) — All
2017-01-18 20:00:04


![КДПВ (в представлении художника)][1]
Если вы интересуетесь функциональным программированием или даже пытаетесь его потихоньку освоить то вам, наверняка, не раз приходилось слышать, что главным отличием от прививочного вам императивного подхода является тот факт, что программы строятся от общего к частностям, а не наоборот. Т.е. сначала вы определяетесь с тем, что вы хотите получить, а потом уже — как этого достичь. Такая простая, казалось бы, мысль обычно не дает мозгу покоя и вызывает множественные фрустрации в попытках написать что-нибудь полезное. Если эта история про вас, или вам просто интересно немного научится хаскеллю и ФП продолжайте чтение и я покажу вам как все просто. Статья в стиле «некогда объяснять, пиши».

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

[1]: https://habrastorage.org/files/9d8/578/fa6/9d8578fa628c4e61987dc263d014a146.png
[2]: https://habrahabr.ru/post/319440/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Bitcoin in a nutshell — Transaction
habra.16
habrabot(difrex,1) — All
2017-01-18 21:30:04


Если говорить об уже существующей банковской системе, то транзакция внутри какого-нибудь Альфа-банка — это просто редактирование таблицы балансов, где уменьшается число напротив одного имени и увеличивается напротив другого. В случае с межбанковскими переводами подключаются некоторые сторонние организации, например SWIFT, но, по сути, все работает примерно так же.



Когда мы имеем дело с финансовой системой на основе блокчейна, то процесс денежного перевода выглядит совершенно иначе. В Bitcoin не существует никакой общей таблицы вида <адрес, баланс>, ровно как и не существует регулятора, который бы эту таблицу редактировал. В этой статье я покажу, что из себя представляет транзакция в Bitcoin, как она строится, и объясню, зачем же внутри Bitcoin добавлен свой язык программирования, про который все слышали, но никто не видел.



![meme][1]

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

[1]: http://image.slidesharecdn.com/blockchainen-160202215848/95/the-bitcoin-blockchain-en-11-638.jpg?cb=1459267563
[2]: https://habrahabr.ru/post/319860/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Как различать британскую и американскую литературу с помощью машинного обучения
habra.16
habrabot(difrex,1) — All
2017-01-18 21:30:04


Однажды мне стало интересно, отличается ли британская и американская литература с точки зрения выбора слов, и если отличается, удастся ли мне обучить классификатор, который бы различал литературные тексты с точки зрения частоты использованных слов. Различать тексты, написанные на разных языках, довольно легко, мощность пересечения множества слов небольшая относительно множества слов в выборке. Классификация текста по категориям «наука», «христианство», «компьютерная графика», «атеизм», — всем известный [hello world][1] среди задач по работе с частотностью текста. Передо мной стояла более сложная задача, так как я сравнивала два диалекта одного языка, а тексты не имели общей смысловой направленности.



![image][2]

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

[1]: http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html
[2]: https://habrastorage.org/files/ff8/ce9/fe7/ff8ce9fe774e44fcb971d7e101a48c9e.jpg
[3]: https://habrahabr.ru/post/319826/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Чистая архитектура в Python: пошаговая демонстрация. Часть 3
habra.16
habrabot(difrex,1) — All
2017-01-19 09:00:04


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

* [Часть 1][1]
* [Часть 2][2]
* _Часть 3_





### Сценарии (часть 2)



**Git tag:**[ Step06][3]



Теперь, когда мы реализовали объекты запроса и ответа, добавляем их. Помещаем в файл `tests/use_cases/test_storageroom_list_use_case.py` следующий код:

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

[1]: https://habrahabr.ru/post/319126/
[2]: https://habrahabr.ru/post/319202/
[3]: http://github.com/lgiordani/rentomatic/tree/step06
[4]: https://habrahabr.ru/post/319898/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] VulnHub: USV 2016. CTF в Румынии, какие они?
habra.16
habrabot(difrex,1) — All
2017-01-19 09:00:04


![][1]
Всем доброго времени суток, в этой статье рассмотрим решение Румынского [CTF-USV 2016][2], на тему: _«Игра престолов»_. Скачать образ виртуальной машины можно по [ссылке][3] с VulnHub.
Если вам интересно как проходят межвузовские _CTF_ в Румынии, прошу под кат [Читать дальше →][4]

[1]: https://habrastorage.org/files/ea0/37c/229/ea037c22954048b985244d3b9795de38.jpeg
[2]: http://ctf.usv.ro
[3]: https://www.vulnhub.com/entry/usv-2016,175/
[4]: https://habrahabr.ru/post/319586/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Python: коллекции, часть 3: конкатенация, добавление и удаление элементов
habra.16
habrabot(difrex,1) — All
2017-01-19 09:30:04


Продолжим изучать общие принципы работы со стандартными коллекциями (модуль collections в ней не рассматривается) Python. Будут рассматриваться способы конкатенации (объединения) коллекций с формированием новой или изменением исходной, а также способы добавлять и удалять элементы в изменяемые коллекции.

Данная статья является продолжением моей статьи "[Python: коллекции, часть 2: индексирование, срезы, сортировка][1]".

**Для кого**: для изучающих Python и уже имеющих начальное представление о коллекциях и работе с ними, желающих систематизировать и углубить свои знания, сложить их в целостную картину.
[Читать дальше →][2]

[1]: https://habrahabr.ru/post/319200/
[2]: https://habrahabr.ru/post/319876/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Первый официальный релиз Webpack 2. Что нового по сравнению с Webpack 1?
habra.16
habrabot(difrex,1) — All
2017-01-19 11:00:03


[![Webpack 2 Release][1]][2]



**Предупреждение**: проверьте, как установлена версия Webpack в package.json. Возможно скоро ваш continuous integration сломается.



Наконец-то Webpack 2 преодолел рубеж beta и release candidate. Это значит, что всё работает стабильно, и можно без опаски использовать его в production.



Список изменений/улучшений:


* Нативная поддержка ES6-модулей;
* Разбиение кода на чанки — Code Splitting with ES6;
* Поддержка динамических выражений при загрузке модулей — Dynamic expressions;
* Изменения при работе с Babel;
* ES6-специфичные оптимизации;
* Breaking Changes;
* Новый сайт с документацией.

Подробности под катом.

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

[1]: https://habrastorage.org/files/674/0d6/613/6740d6613b0241a9a9c0404bd4670e4d.png
[2]: https://habrahabr.ru/company/devexpress/blog/319906/
[3]: https://habrahabr.ru/post/319906/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Python: коллекции, часть 3: объединение коллекций, добавление и удаление элементов
habra.16
habrabot(difrex,1) — All
2017-01-19 11:00:03


Продолжим изучать общие принципы работы со стандартными коллекциями (модуль collections в ней не рассматривается) Python. Будут рассматриваться способы объединения и обновления коллекций с формированием новой или изменением исходной, а также способы добавлять и удалять элементы в изменяемые коллекции.

Данная статья является продолжением моей статьи "[Python: коллекции, часть 2: индексирование, срезы, сортировка][1]".

**Для кого**: для изучающих Python и уже имеющих начальное представление о коллекциях и работе с ними, желающих систематизировать и углубить свои знания, сложить их в целостную картину.
[Читать дальше →][2]

[1]: https://habrahabr.ru/post/319200/
[2]: https://habrahabr.ru/post/319876/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «DPI платит за себя»: Актуальные бизнес-кейсы
habra.16
habrabot(difrex,1) — All
2017-01-19 11:30:05


DPI-системы, которые [стали][1] результатом слияния нескольких [систем][2] фильтрации пакетов, значительно упростили процессы управления сетями и сайтами, а также повысили их защищенность от атак. Это позволило расширить сферу применимости технологий глубокого анализа трафика.

Аналитики считают, что к 2018 году рынок DPI [достигнет][3] планки в 3,81 млрд долларов. При этом стоит учитывать, что в 2013 году он оценивался всего в 742 млн долларов. Не в последнюю очередь такой рост обусловлен тем, что DPI-решения позволяют провайдерам получить определенную экономическую выгоду. О том, какие функции глубокого анализа трафика экономят средства, и пойдет речь в нашем сегодняшнем материале.

[![][4]][5] [Читать дальше →][6]

[1]: https://www.christopher-parsons.com/Main/wp-content/uploads/2013/02/DPI-and-Its-Predecessors-3.5.pdf?d527f6
[2]: http://www.infosectoday.com/Articles/Deep_Packet_Inspection_Technologies.htm
[3]: http://www.transparencymarketresearch.com/deep-packet-inspection-dpi-market.html
[4]: https://habrastorage.org/files/48e/954/71d/48e95471ddd64ab997ddea1aa901e713.jpg
[5]: https://habrahabr.ru/company/vasexperts/blog/319624/
[6]: https://habrahabr.ru/post/319624/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] 2D магия в деталях. Часть четвёртая. Вода
habra.16
habrabot(difrex,1) — All
2017-01-19 14:00:04



> — Я тут воду для проекта запилил.
> — О, круто! А почему она плоская? Даёшь волны!
> …
> — Слушай, ты тогда про волны говорил, помнишь? Зацени!
> — Да, хорошие волны, а преломление и каустику ещё не делал?
> …
> — Привет, я тут игрался с Unity всю ночь, смотри какие отражения и каустику закодил!
> — Дарова, и правда, хорошо! А когда у тебя вода кипит, отражения не глючат?
> …
> — Хай, реализовал наконец, кипение, вроде ничего?
> — О, прямо как нужно! Слушай, прикинь как круто, если кипящую волну заморозить?
> …
> — Лови картинку, лёд вроде ничего придумал?
> — Норм, слушай, а у тебя лёд замерзает, он в объёме увеличивается? И кстати, ты когда геймлей то делать начнёшь?
> _Вариации на тему лога с другом._

Да, вы уже поняли, наконец-то расскажу про реализацию воды в проекте. Приступим?

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

[1]: https://habrahabr.ru/post/308220/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Безопасность сайта по его заголовкам, или что делать, если хочется залезть во внутренности каждого сайта
habra.16
habrabot(difrex,1) — All
2017-01-19 16:00:04


Разработчики стараются внимательно относиться к своим продуктам, минифицируют файлы, настраивают кэш, дерутся за каждую миллисекунду скорости. Но почему-то почти везде игнорируется то, что самым первым отправляется пользователю — а именно заголовки HTTP. Как-то довелось мне посетить курсы по информационной безопасности, и там советовали первым делом смотреть именно на них, поскольку о них чаще всего и забывают.

![image][1]

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

[1]: https://habrastorage.org/getpro/habr/post_images/765/9f4/f1d/7659f4f1d751e408ecf286b43679adea.jpg
[2]: https://habrahabr.ru/post/319932/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] С лупой на слона
habra.16
habrabot(difrex,1) — All
2017-01-19 20:00:05


Я довольно давно участвую в разработке web-приложений. Это не высоконагруженные приложения (типа Facebook или Gmail) — там, разумеется, своя специфика. Мои приложения были небольшими (можно было уместить на одном физическом сервере), но функционально насыщенными — финансовые, e-commerce. Я не работал в больших командах, зато пощупал весь спектр технологий, начиная от сборки аппаратуры в стойке и заканчивая редактированием CSS.



В какой-то момент поймал себя на мысли, что моя деятельность в области разработки web-приложений чем-то начала напоминать мне охоту моих далеких предков на мамонта (если под мамонтом подразумевать задачу, которую нужно решить). Только предки полагались на свою физическую силу, а мы вместо этого используем силу своего интеллекта. Но и как и прежде большую добычу не завалить в одиночку — нужны совместные усилия всех охотников.



![image][1]



Под катом я попытался собрать своё видение относительно наиболее важных с моей точки зрения аспектах в разработке web-приложений.

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

[1]: https://habrastorage.org/files/653/501/bfd/653501bfd93940b0953592297db42d70.jpg
[2]: https://habrahabr.ru/post/319912/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пользователи Windows получили возможность работать с openSUSE (и Arch Linux)
habra.16
habrabot(difrex,1) — All
2017-01-19 20:00:05




Веcной прошлого года появились слухи о том, что в новую операционную систему от Microsoft интегрировали Linux. В это поверило не так много пользователей, и зря — слухи оказались правдой. В конце марта 2016 года Microsoft [подтвердила][1] эту информацию. Тогда было объявлено, что пользователи Windows 10 смогут работать с командным интерпретатором Linux, то есть bash. Это означает, что в Windows есть встроенный загрузчик ELF-файлов, а также среда для исполнения таких файлов, плюс стандартные инструменты вроде ssh, grep, sed, и awk. Эталонной системой было решено выбрать Ubuntu Linux.

Речь тогда шла о полноценной подсистеме Linux, а не каких-то эмуляторах либо виртуальных машинах. Сначала новую возможность опробовали пользователи предварительных релизов Windows, а с выходом Anniversary update — все остальные. Сейчас, кроме Ubuntu Linux, в Windows появилась возможность работать и с OpenSUSE. Конечно, если вы не работаете с Windows, то и положительных эмоций особо не будет, но если работаете, плюс нужен еще и Linux, то эта новость может оказаться полезной.
[Читать дальше →][2]

[1]: https://habrahabr.ru/company/eset/blog/280584/
[2]: https://habrahabr.ru/post/319942/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Как я парсил всю базу данных игр Metacritic-а
habra.16
habrabot(difrex,1) — All
2017-01-19 20:30:06


_**Metacritic** — англоязычный сайт-агрегатор, собирающий отзывы о музыкальных альбомах, играх, фильмах, телевизионных шоу и DVD-дисках._ (с википедии).

Использованные библиотеки: **lxml**, **asyncio**, **aiohttp** (lxml — библиотека разбора HTML страниц с помощью Python, asyncio и aiohttp будем использовать для асинхронности и быстрого извлечения данных). Также будем активно использовать XPath. Кто не знает, что это такое, отличный [туториал][1].
[Читать дальше →][2]

[1]: http://www.w3schools.com/xml/xpath_intro.asp
[2]: https://habrahabr.ru/post/319966/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] А ваша служба является RESTful? Все что необходимо/обязательно знать про веб службы и REST
habra.16
habrabot(difrex,1) — All
2017-01-20 12:30:06


## Введение


Вот не люблю я изобретать велосипед и статью я бы эту не написал, но пришлось. Про REST сказано уже довольно много. Многие поставщики веб служб готовы клясться, что их службы являются RESTful. Во время собеседования вы точно услышите хотя бы несколько вопросов про REST, независимо от того это собеседования для бэкенд, мобайл или фронтенд разработчика. Я вот помню как-то во время одного собеседования меня задали такой вопрос: «Вот вы написали в своем резюме, что знайте REST․ Ответьте пожалуйста, какой HTTP код вы получите, если при запросе к RESTful сервису ресурс не найден?». Ответ 404 был принят единогласно. Если честно, я так и не понял, как этот вопрос помог понять знаю ли я REST или нет, но одно могу уверенно сказать: REST понимают далеко не все. Вот некоторые вопросы, которые мучали меня долгое время:

1. Зачем REST стал таким трендовым? Это архитектура была же предложена еще в 2000 году?
2. Что я получу если моя служба будет RESTful?
3. Как определить является ли служба RESTful или нет?
4. Как правильно должны создаваться URL REST служб?
5. Какие http методы и коды должны быть использованы в RESTful службе?
Если вы не можете дать исчерпывающего ответа хотя бы на один из этих вопросов, то продолжайте чтение. Если вы можете однозначно ответить на все эти вопросы, можете привести формат правильного URL, считайте, что GET, POST, PUT, DELETE обязательно должны соответствовать CRUD операциям с ресурсами, то вам обязательно надо продолжать чтение.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/319984/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Linux-2017: самые перспективные дистрибутивы
habra.16
habrabot(difrex,1) — All
2017-01-20 14:30:05


Настал новый год, а значит – пришло время посмотреть в будущее, найти самые лучшие, самые перспективные дистрибутивы Linux.

[![][1]][2]

Дистрибутивы Linux часто бывают ориентированы на конкретные задачи. Поэтому не получится просто составить список операционных систем и сказать: «они – самые лучшие». Здесь выделены несколько областей использования Linux и выбраны те дистрибутивы, у которых есть все шансы стать первыми в своей нише в 2017-м.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/275/765/4d9/2757654d93a6a8f401409cae864a5dfe.png
[2]: https://habrahabr.ru/company/ruvds/blog/320002/
[3]: https://habrahabr.ru/post/320002/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Интересное в Марте: DevOpsDays в Москве
habra.16
habrabot(difrex,1) — All
2017-01-20 14:30:05


Новогодние праздники закончились, на CES анонсировали все что можно и нельзя, Atlassian купила Trello, а все крупные производители смартфонов запатентовали раскладушку из WestWorld. И даже Шерлока слили, посмотрели и обсудили. Все проснулись, приступили к работе, а некоторые даже нашли в себе силы организовать весенние конференции. Под катом я хочу немного рассказать вам про [DevOpsDays][1]: конференцию, которая за шесть лет эволюционировала в крупную международную тусовку и 11 марта 2017 **впервые** соберет гостей в Москве.
[Читать дальше →][2]

[1]: https://www.devopsdays.org/events/2017-moscow/welcome/
[2]: https://habrahabr.ru/post/319866/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Мониторинг приложений с помощью Pinba
habra.16
habrabot(difrex,1) — All
2017-01-20 15:00:04


![Drawing][1] Привет, Хабр! Мы в Badoo стараемся активно участвовать в жизни IT-сообщества: используем многие open-source-технологии и инструменты, а также делимся своими разработками.



Один из таких инструментов – [Pinba][2] – сервис для получения realtime-статистики от работающих приложений без накладных расходов на её сбор. Узнать побольше вы можете [в этой статье][3].



Мы стараемся помочь всем, кто использует Pinba в своих проектах и всегда рады слышать success stories, связанные с Pinba. Этот перевод – одна из подобных историй от разработчиков Dailymotion.

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

[1]: https://habrastorage.org/files/7d8/9f2/f5c/7d89f2f5c7224c419cfed6b08aa53596.png
[2]: http://pinba.org/
[3]: https://habrahabr.ru/company/badoo/blog/149695/
[4]: https://habrahabr.ru/post/319934/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 ... 210