RSS
Pages: 1 ... 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ... 210
[>] [Перевод] Про Swift, и почему мои большие проекты будут на Objective-C еще какое-то (возможно долгое) время
habra.15
habrabot(difrex,1) — All
2015-11-06 17:00:03


_От переводчика: C пятницей, дорогие хабровчане! Хочу поделиться сегодня с вами переводом стататьи с небольшого блога о опыте работы с языком Swift. Вряд-ли она претендует на лавры серьезного и скурпулезного анализа, но думаю будет интересна всем, кто задумывался «а не пора ли оправить на свалку истории этот Objective-C._ Когда Apple представила нам Swift, это было круто! Наконец то мы получили next-gen (т. е. модный-скриптоподобный) язык для разработки под яблочные девайсы (но без поддержки приватных членов класса, хм....). Теперь этот [языкДинозавр квадратноскобочный] может отправиться в музей, а мы начнем тыкать эти новые блестящие фичи языка. Безусловно наивно предполагать что язык, которому менее года, будет без тараканов: очевидное некоторое время нужно дать ему на избавление от детских болячек. Именно поэтому я не бросился переписывать все мои проекты на Swift сразу после анонса. ![][1] _Заметили, что птица падает вниз?_ [Но ты-таки взялся за Swift, ведь так?][2]

[1]: https://habrastorage.org/files/5d2/304/cf7/5d2304cf756b4f3d815d8ca0f309fe3e.jpg
[2]: http://habrahabr.ru/post/270291/#habracut

[>] Открытые курсы Android Study Jams теперь и в Москве
habra.14
habrabot(difrex,1) — All
2015-03-17 13:30:02


Мобильная индустрия растет с невероятной скоростью. Растет и количество заказов на разработку приложений и игр. На рынке остро не хватает молодых, талантливых и амбициозных мобильных разработчиков. В этом году у каждого из вас есть шанс стать одним из них, приняв участие в [Study Jams][1] — бесплатных курсах обучения разработке мобильных приложений на платформе Android, которые пройдут в Москве на базе коворкинг-центра «Свободное плавание» с 7 апреля по 14 мая. ![][2] [Читать дальше →][3]

[1]: http://developerstudyjams.com/
[2]: //habrastorage.org/files/99f/65d/0d3/99f65d0d31b849acb10ab5bac284be09.png
[3]: http://habrahabr.ru/post/253169/#habracut

[>] Вперед, на поиски палиндромов
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:07


Не так давно на Хабре была статья про [codebattle от hexlet.io][1]. Ну и затянуло же нас с друзьями, это как наркотик! Вроде пытаешься на работу отвлечься, а руки прям сами тянутся зайти на сайт, и все мысли — об оптимизации решений. И вот однажды попалась мне задачка, звучала она так: «The decimal number 585 is 1001001001 in binary. It is palindromic in both bases. Find n-th palindromic number». А если по-русски, то так: «десятичное число 585 в двоичном виде выглядит как 1001001001. Оно является палиндромом в обеих системах счисления. Найдите n-ый подобный палиндром». Она совсем не сложная и решена была быстро.

function is_palindrome($num) {
return $num == strrev($num);
}
function solution($num) {
$count = $i = 0;
while($count<$num) {
$i++;
// Проверяем по порядку все числа, являются ли они палиндром в десятичном и двоичном виде
if (is_palindrome($i) && is_palindrome(decbin($i))){
$count++;
}
}
return $i;
}


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

[1]: http://habrahabr.ru/company/hexlet/blog/269613/
[2]: http://habrahabr.ru/post/270325/#habracut

[>] [Перевод] Вычислите окружность круга
habra.14
habrabot(difrex,1) — All
2015-03-17 15:00:02


![][1]«Пожалуйста, напишите на C++ функцию, которая получает диаметр круга как float и возвращает длину окружности как float». Звучит как задание на первой неделе курса по C++. Но это только на первый взгляд. Сложности возникают уже на первых этапах решения задачи. Предлагаю рассмотреть несколько подходов. Студент: Как вам такой вариант?

#include <math.h>
float CalcCircumference1(float d)
{
return d * M_PI;
}

Преподаватель: Да, этот код может нормально откомпилироваться. А может и нет. [Читать дальше →][2]

[1]: //habrastorage.org/files/1e5/4da/900/1e54da9004c3476ab55a4d4678efc617.png
[2]: http://habrahabr.ru/post/252871/#habracut

[>] Неофициальный инсталлятор Firebird 3.0 Release Candidate 1
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:07


![][1] Несколько дней назад исходные коды первого релиз-кандидата версии Fiebird 3.0 были зафиксированы в репозитории Firebird Project. Обычно проходит несколько недель с момента фиксации исходного кода до выпуска официального инсталлятора, поэтому мы в [IBase.ru][2] выпускаем неофициальный инсталлятор, [Читать дальше →][3]

[1]: https://habrastorage.org/files/539/e86/a27/539e86a27eb94cc8a8b9bc330b580c48.gif
[2]: http://ibase.ru
[3]: http://habrahabr.ru/post/270333/#habracut

[>] Драйвер устройства и с чем его едят
habra.14
habrabot(difrex,1) — All
2015-03-17 15:30:03




## Что такое «драйвер»

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

[1]: //habrastorage.org/files/47e/944/9ab/47e9449ab10c4e6a84581bc7426d1285.png
[2]: http://habrahabr.ru/post/252927/#habracut

[>] Резюме программиста: как сделать его удобным?
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:07


Наша команда занимается разработкой продукта для поиска удаленных разработчиков. По смыслу это не аналог upWork (ex-oDesk), а скорее, Uber: сервис за минимальное время находит на проект программиста, подходящего по локации, языку, компетенциям и стоимости. ![][1] Разработчики на входе в систему проходят очень серьезную процедуру тестирования и подтверждения своего профессионального опыта: таким образом на базе сервиса формируется коммьюнити топ-разработчиков, предпочитающих работать удаленно и открытых к новым проектам. Мы делаем продукт для программистов, которым можно доверить ключевые проекты, так как площадки для фрилансеров, исполняющих маленькие непрофильные задачи существуют в достаточном количестве. Обладая большим опытом «селекции» разработчиков, мы систематизировали свои знания и столкнулись с задачей идеального профиля программиста, по-настоящему удобного не только нам, но и широкой аудитории. Итак… [Читать дальше →][2]

[1]: https://habrastorage.org/files/12b/c93/4ad/12bc934ad7ef45429d2a5dfe215033e5.jpg
[2]: http://habrahabr.ru/post/270235/#habracut

[>] [Перевод] Ричард Столлман: Почему нам нужны бесплатные цифровые схемы железа
habra.14
habrabot(difrex,1) — All
2015-03-17 15:30:03


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

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

[>] NSNJSON. 道 (Заключительная статья)
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:08


道 — путь. В этой заключительной статье о формате [NSNJSON][1] я хочу рассказать о моем пути, который привел меня к изобретению этого формата. В комментариях к моим прошлым статьям ([«Усложнённый упрощённый JSON»][2] и [«JSON для любителей скобочек»][3]) неоднократно прозвучали вопросы о смысле, сложности, удобности и применимости этого формата. Итак, спешу поздравить всех неравнодушных — Вы дождались! ![][4] [Читать дальше →][5]

[1]: http://habrahabr.ru/post/269461/
[2]: http://habrahabr.ru/post/269461
[3]: http://habrahabr.ru/post/269993
[4]: https://habrastorage.org/files/523/095/41b/52309541bbdd4ab0b80af42b4eb17f9e.png
[5]: http://habrahabr.ru/post/270031/#habracut

[>] Security Week 45: побег из песочницы, обход EMET через WOW64, взлом 000webhost
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:08


![][1]Цитаты из книги Евгения Касперского, которые я прикладываю к каждому новостному дайджесту, хорошо показывают ландшафт угроз по состоянию на начало 90-х годов прошлого века, а точнее — расположение темы ИБ по отношению к остальному миру. Примерно до начала двухтысячных, до появления первых массовых эпидемий все еще довольно простых зловредов, информационная безопасность воспринималась как нечто еще более сложное, чем IT в целом. Хорошие были времена, но они закончились. В середине десятых киберугрозы обсуждают все: научные работники, парламентарии и даже звезды эстрады. Это хорошо заметно по октябрьским дайджестам самых популярных новостей: сначала мы [ударились][2] в теорию криптографии, а потом внезапно [перескочили][3] в законодательство. И, таки да, приходится: все это так или иначе влияет на киберпространство, пусть и не прямо сейчас. Но вообще-то, вообще-то, практическая безопасность как была сложной чисто технической темой, так и осталась. Ландшафт угроз нельзя адекватно оценить, если смотреть только на реакцию общества или только на научные исследования. Те самые законопроекты — они важны, но с практикой имеют мало общего. Они и с IT в целом связаны только потому, что их текст набирался на компьютере в ворде. Это не то чтобы великое открытие, но явный намек: неплохо было бы соблюдать баланс. Отрадно, что на этой неделе все самые популярные новости — как раз из практической сферы. Никакой политики, никаких угроз, потенциально эксплуатируемых лет через пятнадцать. Все здесь и сейчас, как мы любим. До здравствует умеренный хардкор. Уииии! Предыдущие серии [живут здесь][4] [Читать дальше →][5]

[1]: https://habrastorage.org/files/3f7/a0e/ca5/3f7a0eca569e4842be45433f308d0ba5.png
[2]: http://habrahabr.ru/company/kaspersky/blog/269393/
[3]: http://habrahabr.ru/company/kaspersky/blog/269815/
[4]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[5]: http://habrahabr.ru/post/270295/#habracut

[>] Точки соприкосновения JavaScript и Reverse Engineering
habra.14
habrabot(difrex,1) — All
2015-03-17 17:30:02


![][1] Если вы посмотрите описания вакансий на позицию Reverse Engineer, то вряд ли встретите там требование знания JavaScript. А если и встретите, то только в контексте его деобфускации на разных вредоносных страницах, обычно используемых эксплойт-паками. И возможно ли вообще сосуществование JS (который некоторые даже называют веб-ассемблером) и мира low level с Assembler во главе? [Читать дальше →][2]

[1]: //habrastorage.org/files/36e/6bb/248/36e6bb248f5c4fcbbd22e204f6267cf4.png
[2]: http://habrahabr.ru/post/253309/#habracut

[>] [Из песочницы] Подробнее о протоколе Mail.Ru Агент
habra.14
habrabot(difrex,1) — All
2015-03-17 18:00:03


На Хабре уже [писали][1] о том, как устроен Mail.Ru Агент. На данный момент официальной документации к протоколу в открытом доступе нет, поэтому приходится исследовать устройство опытным путем. В этой статье я рассмотрю отправление форматированных текстовых сообщений и создание и отправление сообщений в конференцию. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/136041/
[2]: http://habrahabr.ru/post/253303/#habracut

[>] Построение диаграмм и графов в Doxygen
habra.14
habrabot(difrex,1) — All
2015-03-17 18:00:03


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

[1]: //habrastorage.org/files/df2/4fa/4ef/df24fa4effd742af8b134930dc3ee82c.png
[2]: http://habrahabr.ru/post/252101/
[3]: http://habrahabr.ru/post/252443/
[4]: http://habrahabr.ru/post/253223/#habracut

[>] [Перевод] Поверхности и тела вращения: использование «виртуального гончарного колеса» в Wolfram|Alpha
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:08






_Перевод поста Peter Barendse "[Surfaces and Solids of Revolution: Using Wolfram|Alpha’s «Virtual Potter’s Wheel»][1]". Код, приведенный в статье, можно скачать [здесь][2]. Выражаю огромную благодарность Кириллу Гузенко [KirillGuzenko][3] за помощь в переводе и подготовке публикации_

----

Ещё до появления современной технологии 3D печати у нас была возможность создавать объекты практически любой формы, и единственные ограничения для человечества были связаны лишь с точностью, которую мы можем обеспечить. И на пути преодоления этих ограничений были разработаны разнообразные устройства, способные производить изделия очень сложных форм; кульминацией этого процесса (до появления 3D-принтеров) стало появление станков с ЧПУ и большим количеством степеней свободы: [![][4]][5] Исторически одним из первых подобных устройств, был, пожалуй, гончарный круг, с помощью которого у нас появилась возможность создавать весьма точные осесимметричные изделия произвольного профиля. Я до сих пор воспринимаю это как волшебство, смотря на то, как гончар формирует кривую своими руками; то, как эта кривая задаёт форму для всей вазы через вращение колеса: [![][6]][7] [Читать дальше →][8]

[1]: http://blog.wolfram.com/2015/09/16/surfaces-and-solids-of-revolution-using-wolframalphas-virtual-potters-wheel/
[2]: http://blog.wolfram.com/data/uploads/2015/09/Surfaces-and-Solids-Blog-Post.cdf
[3]: http://habrahabr.ru/users/kirillguzenko/
[4]: https://habrastorage.org/getpro/habr/post_images/05e/35b/81d/05e35b81dc59e13777a1720797e3918b.png
[5]: http://www.wagstaffat.com/services-machining.asp
[6]: https://habrastorage.org/getpro/habr/post_images/99d/6a9/57b/99d6a957b4eb1f508de2f1eca95fa3cc.png
[7]: http://www.hazlespotterybarn.co.uk/wp-content/uploads/2010/05/PW-pot-hands-crop-3.jpg
[8]: http://habrahabr.ru/post/270279/#habracut

[>] Ваш wi-fi расскажет мне, где вы живёте, где работаете и где путешествуете
habra.14
habrabot(difrex,1) — All
2015-03-18 00:00:03


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

#### Пробы WiFi

Чтобы соединиться с уже известными сетями, которые не сообщают о своём присутствии, все ваши мобильные устройства отправляют пробные пакеты, чтобы найти известные им сети. Эти пакеты можно перехватить, когда телефон включается, или когда он отсоединяется от сети. Для этого используются обычные инструменты — airodump / tcpdump. Пример:

# airodump-ng -w wifi-dump wlan0
# tcpdump -n -l -e -r wifi-dump.cap |
grep 'Probe Request ([^)]'


Вывод содержит время, MAC-адрес устройства и имя сети. Пример:

16:32:26.628209 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:50:ea:d6:aa:bb:cc
Probe Request (SUBWAY) [1.0 2.0 5.5 11.0 Mbit]


То бишь, устройство 50:ea:d6:aa:bb:cc проверяло, есть ли сеть SUBWAY в пределах доступности.

#### Ну и что тут плохого?

Ну испускают они эти пакеты с именами сетей. Подумаешь. [Читать дальше →][2]

[1]: //habrastorage.org/files/f85/7e9/0ed/f857e90ed96b4f75a81181921eb519c1.png
[2]: http://habrahabr.ru/post/253335/#habracut

[>] Let's Encrypt: получение сертификата по шагам
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:08


В данной статье будет описан реальный способ получения сертификата от [Let's Encrypt][1] в ручном режиме для его дальнейшей установки на веб-сервер Windows (IIS/Microsoft Azure) или Linux (полностью ручной режим). Из-за отсутствия официального клиента под Windows для генерации сертификата будет использоваться дистрибутив **Linux**. ![image][2] **Предыстория:** с самого начала для сайта нашей [Московской компании][3] (по ссылке уже установлен тестовый бета-сертификат Let's Encrypt) был необходим «простой» SSL-сертификат для подтверждения домена и шифрования данных. В первые дни открытия заявок на бета-тестирование и было принято решение записаться и вот недавно пришло письмо, которое сообщает о том, что теперь программа ACME сгенерирует валидный сертификат для нашего домена: ![][4] Далее мы решили опубликовать статью с пошаговой инструкцией процесса, чтобы к моменту релиза вы уже смогли оперативно создать и начать пользоваться своим сертификатом. [Читать дальше →][5]

[1]: https://letsencrypt.org/
[2]: https://letsencrypt.org/images/howitworks_certificate.png
[3]: https://moscow.company
[4]: https://habrastorage.org/files/e89/f76/388/e89f7638827f4147a22b48179b3f5ca0.png
[5]: http://habrahabr.ru/post/270273/#habracut

[>] Играем в сапера в фотошопе
habra.14
habrabot(difrex,1) — All
2015-03-18 01:00:03


![][1] По роду своей деятельности мне периодически приходится автоматизировать свою работу в фотошопе. Точнее я мог бы этого не делать, но природная лень не оставляет шансов в борьбе с рутиной, как говориться «лучше час потерять, зато потом за 5 минут долететь». Все бы наверное так и оставалось на уровне отдельных разрозненных скриптов если бы не [пост][2] от [enotus][3]. Благодаря ему я узнал, что к фотошопу (как впрочем и другим продуктам от Adobe) можно писать расширения на HTML+JS. И пошло, поехало. Как-то так сложилось, что изучение всего нового я обычно начинаю с написания простенькой игрушки на этом самом новом. Для фотошопа я выбрал Сапера. В этом примере я бы хотел рассказать о создании интерфейса расширения, взаимодействии с фотошопом и обработкой событий. Так что кому все еще интересно, прошу подкат. [Читать дальше →][4]

[1]: //habrastorage.org/files/1a2/e97/3f2/1a2e973f28664e239c909177255053ad.png
[2]: http://habrahabr.ru/post/221863/
[3]: http://habrahabr.ru/users/enotus/
[4]: http://habrahabr.ru/post/253337/#habracut

[>] Фиалка М-125
habra.15
habrabot(difrex,1) — All
2015-11-06 17:30:08




> Спецсвязь — вещь весьма непростая.
>
>
>
> И роль шифровальщика очень важна
>
>
>
> для сохранения тайны.
>
>
>
> Везде, даже там, где кипит океан,
>
>
>
> скрывая подводные лодки,
>
>
>
> пошлёт за секунды умелый «шаман»
>
>
>
> свои криптограммные сводки.

**Криптомашина М-125 — внучка легендарной Enigma** ![][1] М-125, с кодовым название Фиалка, представляет собой электромеханическую 10 роторную шифровальную машину. Была впервые представлена в 1956 году, и стала наиболее популярной шифрмашиной в странах Варшавского договора. Для каждой страны-участника была настроена своя версия Фиалки (клавиатура и пишущая головка адаптированы под язык страны). Большинство машин воспринимало латиницу и кириллицу. Латинский алфавит мог отличаться, кириллица не имела знаков препинания и для всех машин была одинакова. Криптостойкость оценивают порядка 10^18. [Подробности][2]

[1]: https://habrastorage.org/files/0f0/994/cb1/0f0994cb18a04ce1a7523f928297e9be.png
[2]: http://habrahabr.ru/post/267705/#habracut

[>] [Перевод] Perl 6: Разные названия для разных вещей
habra.14
habrabot(difrex,1) — All
2015-03-18 06:30:03


Новички в Perl 5 жалуются, что в языке нет инструмента для реверса строк. Функция reverse есть, но она почему-то не работает:

$ perl -E "say reverse 'привет'"
привет


Набрав опыта, они находят решение. Функция работает в двух режимах. В списковом контексте она реверсирует списки, а в скалярном – строки:

$ perl -E "say scalar reverse 'привет'"
тевирп


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

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

[>] [Из песочницы] MagOS в промышленном применении
habra.15
habrabot(difrex,1) — All
2015-11-06 19:30:04


_При выполнении этой работы ставилась задача минимизации времени на обслуживание сети из большого количества Linux машин._ [1\. Базовое описание основных принципов][1] [1\.1. Применение MagOS.][2] [1\.2. Технологии.][3] [1\.3. Выбор базового дистрибутива.][4] [2\. Структура сети.][5] [2\.1. Magos-server.][6] [3\. Настройка загрузчика.][7] [3\.1. Строки загрузчика.][8] [3\.2. Опции которые были использованы.][9] [3\.3. Опции, которые могут быть использованы.][10] [3\.4. Особенности сетевой загрузки.][11] [4\. Порядок инициализации системы.][12] [4\.1. Структура конфигурационного файла basecfg.ini по умолчанию.][13] [4\.2. Структура системной директории.][14] [4\.3. Реализация.][15] [5\. Сервер MagOS.][16] [5\.1. Общие сведения.][17] [5\.2. Настройки сети.][18] [5\.3. Настройка служб.][19] [5\.4. Репозиторий программ.][20] [5\.5. Дополнительные данные сервера][21] [5\.6. Мониторинг.][22] [6\. Пользовательские модули.][23] [6\.1. Общие принципы создания пользовательских модулей.][24] [6\.2. Сколько модулей делать.][25] [6\.3. Модули специального назначения.][26] [6\.4. Ограничения для модулей.][27] [6\.5. Инструкция по созданию модулей.][28] [6\.6. Модуль обновления системы.][29] [6\.7. Модуль установки офисных программ.][30] [6\.8. Модуль с утилитами и серверами.][31] [6\.9. Модуль системных настроек.][32] [7\. Скрипты.][33] [7\.1. Дополнения к magos-patches.][34] [7\.2. Скрипт установки ОС.][35] [7\.3. Скрипты включения в AD.][36] [7\.4. Управление системой (/root/bin).][37] [7\.5. Дополнительные скрипты, исправляющие работу программ magos и операционной системы.][38] [8\. Инструкция для техников.][39] [Читать дальше →][40]

[1]: #1
[2]: #1-1
[3]: #1-2
[4]: #1-3
[5]: #2
[6]: #2-1
[7]: #3
[8]: #3-1
[9]: #3-2
[10]: #3-3
[11]: #3-4
[12]: #4
[13]: #4-1
[14]: #4-2
[15]: #4-3
[16]: #5
[17]: #5-1
[18]: #5-2
[19]: #5-3
[20]: #5-4
[21]: #5-5
[22]: #5-6
[23]: #6
[24]: #6-1
[25]: #6-2
[26]: #6-3
[27]: #6-4
[28]: #6-5
[29]: #6-6
[30]: #6-7
[31]: #6-8
[32]: #6-9
[33]: #7
[34]: #7-1
[35]: #7-2
[36]: #7-3
[37]: #7-4
[38]: #7-5
[39]: #8
[40]: http://habrahabr.ru/post/270337/#habracut

[>] [recovery mode] Оптимальная сортировка непрерывного архива
habra.14
habrabot(difrex,1) — All
2015-03-18 08:30:03


Воплощение одной идеи – расположить файлы так, чтобы размер архива был минимальным. Программа проверяет сжимаемость файлов в паре и затем сортирует список для сжатия архиватором. [sourceforge.net/projects/saro-vks/][1] Если кому надо – берите. [Читать дальше →][2]

[1]: http://sourceforge.net/projects/saro-vks/
[2]: http://habrahabr.ru/post/253313/#habracut

[>] [Перевод] Обзор ES6 в 350 пунктах. Часть первая
habra.15
habrabot(difrex,1) — All
2015-11-07 01:30:05


Моя серия заметок [ES6 in Depth][1], состоящая из 24 записей, описывает большинство синтаксических изменений и нововведений в ES6. В этой публикации я подведу итог всего изложенного в предыдущих статьях, чтобы дать возможность посмотреть еще раз на всё вместе. Также я добавил ссылки на мой блог, чтобы в случае необходимости сразу же можно было посмотреть подробнее. ![][2] Я слышал, вы любите маркированные списки, так что вот вам статья со списком, который состоит из нескольких сотен элементов. [Читать дальше →][3]

[1]: https://ponyfoo.com/articles/tagged/es6-in-depth
[2]: https://habrastorage.org/files/0ea/9a3/48f/0ea9a348fe1645b88bc56e002e9217a0.png
[3]: http://habrahabr.ru/post/270353/#habracut

[>] «Корпоративные лаборатории PENTESTIT» — практическая подготовка в области информационной безопасности
habra.14
habrabot(difrex,1) — All
2015-03-18 11:30:03


![][1]

#### Практическая подготовка в области информационной безопасности: «Стандарт», «Профи», «Эксперт». Обновленная программа.

Рады сообщить об очередном наборе «Корпоративных лабораторий тестирования на проникновение». Новая программа, помимо обновленного и наиболее актуального теоретического и практического материала, будет включать уникальный материал тарифа «Эксперт», в котором мы собрали «хардкордные» практики пентеста и противодействию злоумышленникам — материал уровня профессиональных конференций по практической безопасности. Помимо уникальной программы и методики обучения, дополнительными преимуществами программы «Корпоративные лаборатории» являются **полностью дистанционное обучение** и **гибкий график**, позволяющий не отрываться от работы. [Читать дальше →][2]

[1]: //habrastorage.org/files/36a/f4c/581/36af4c58187c4d39a324b805c64f6e7a.jpg
[2]: http://habrahabr.ru/post/253333/#habracut

[>] Система наблюдения в автомобиле за ним же на Raspberry Pi. Часть 2
habra.15
habrabot(difrex,1) — All
2015-11-07 15:00:04


В прошлой [статье][1] я описал: создание на одном Raspberry Pi домашнего VPN-сервера; установку и настройку на втором Raspberry Pi OpenVPN-клиента, Node.JS и 3G-модема. В этот раз настроим и подключим GPS-приёмник и WEB-камеру (оба устройства – USB). [Читать дальше →][2]

[1]: http://habrahabr.ru/post/202012/
[2]: http://habrahabr.ru/post/202330/#habracut

[>] Удобный мониторинг Syslog сообщений c сетевых железок в Zabbix
habra.14
habrabot(difrex,1) — All
2015-03-18 14:00:03


Неотъемлемой частью сетевого мониторинга является сбор логов с контролируемых серверов и прочих железок. Ведь сколько бы мы ни создали отдельных элементов данных и триггеров к ним, в какой-то момент возникнет ситуация, что что-то важное мы упустили из виду и не контролируем. Итог: «У нас ничего не работает», а система мониторинга говорит, что все хорошо. Поэтому **первое**, что хотелось сделать — собирать все логи в заббиксе, сгруппировав их по узлу сети для того, чтобы всегда можно было пробежаться по сообщениям глазами, не тратя время на доступ на оборудование. **Второе** — обратить внимание и на те события, о которых и не подозреваешь. Как это сделать на серверах или компьютерах, где установлен заббикс-агент, многие знают — есть встроенные элементы данных [log[], logrt[]][1]. Но как быть, когда нужно собирать логи с сетевого оборудования, на которое никак не водрузить Zabbix-agent’а? Вообще-то можно, конечно, настроить syslog-сервер на том же ПК, на которой есть заббикс-агент, а дальше при помощи **log[]** переносить эти данные в заббикс. Вот только **элементы данных и триггеры по нему будут прикреплены к узлу сети с заббикс-агентом, что интуитивно малопонятно**. А можно ли прикрепить эти данные непосредственно к сетевому устройству? Можно. Для этого нам понадобится [zabbix\_sender][2], [Zabbix API][3] и rsyslog на машине с заббикс-сервером или заббикс-прокси. В качестве бонуса также получим быстрый контекстный переход в журнал syslog-сообщений с карты сети. Как будет выглядеть результат? Ну, примерно вот так: Контекстный вызов: ![][4] [Читать дальше →][5]

[1]: https://www.zabbix.com/documentation/2.4/manual/config/items/itemtypes/zabbix_agent
[2]: https://www.zabbix.com/documentation/2.4/manual/concepts/sender
[3]: https://www.zabbix.com/documentation/2.4/manual/api
[4]: //habrastorage.org/files/31e/056/6f5/31e0566f578241dd92c4f17bd5147afb.png
[5]: http://habrahabr.ru/post/252915/#habracut

[>] Бюджетная рассылка СМС
habra.15
habrabot(difrex,1) — All
2015-11-07 22:00:03


**Приветствую всех хаброжителей!** Конечно, зализанная тема про рассылку смс сообщений, но как говориться: «много — не мало». Как-то так получилось, что именно она меня постоянно преследует: то одни, то другие добрые люди попросят принять участие (советом, например) в реализации бюджетной рассылки сообщений. И поэтому чтобы не пропадать накопленному добру, оставлю здесь, а вдруг кому-то пригодится… Итак-с… Опускаем все варианты реализации на базе обычного компа и оси семейства NT. А перейдем сразу к «автономным» системам. Чем может похвастаться arduino в этом направлении? Отвечу сразу, ОНО работает, но есть нюансы, о которых напишу ниже. Вообщем, имеем китайский вариант arduino 2560 (было перепробовано практически вся линейка) и два дополнительных модуля — сеть W5100 (наиболее стабильный вариант) и GSM SIM 900. Выглядит это все дело как-то так. ![image][1] Задача была следующая: — устройство должно уметь общаться по http — отправлять сообщение — выдавать результат в формате json Гугл делится всей необходимой информацией, и на выходе получаем следующий код: [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/2c8/ead/201/2c8ead2011b102984e5b8d84ba22f682.png
[2]: http://habrahabr.ru/post/261387/#habracut

[>] [Перевод] Вычислите длину окружности
habra.14
habrabot(difrex,1) — All
2015-03-18 16:00:03


![][1]«Пожалуйста, напишите на C++ функцию, которая получает диаметр круга как float и возвращает длину окружности как float». Звучит как задание на первой неделе курса по C++. Но это только на первый взгляд. Сложности возникают уже на первых этапах решения задачи. Предлагаю рассмотреть несколько подходов. Студент: Как вам такой вариант?

#include <math.h>
float CalcCircumference1(float d)
{
return d * M_PI;
}

Преподаватель: Да, этот код может нормально откомпилироваться. А может и нет. [Читать дальше →][2]

[1]: //habrastorage.org/files/1e5/4da/900/1e54da9004c3476ab55a4d4678efc617.png
[2]: http://habrahabr.ru/post/252871/#habracut

[>] ZeroNights HackQuest 2015
habra.15
habrabot(difrex,1) — All
2015-11-08 11:30:02


![][1] Традиционно, в пятый юбилейный раз, мы проводим конференцию по практической информационной безопасности (пройдет 25-26 ноября в Москве, [2015\.zeronights.ru][2]). И также традиционно мы проводим перед ней хакквест, предлагая всем желающим порешать задания связанные с reverse engineering'ом, веб-хакингом, пентестом, анализом протоколов и т.п. вещами. [Читать дальше →][3]

[1]: https://habrastorage.org/files/db6/941/6b9/db69416b99a846bdadcc648e702c3f88.png
[2]: http://2015.zeronights.ru/
[3]: http://habrahabr.ru/post/270393/#habracut

[>] [Перевод] Использование расширенных возможностей компилятора Intel® C++ для приложений Android
habra.14
habrabot(difrex,1) — All
2015-03-18 16:30:02


Компилятор Intel® C++ предоставляет много возможностей для оптимизации приложений под самые различные задачи, в том числе для мобильных устройств. В этой статье мы затронем два аспекта оптимизации: во-первых, поговорим об использовании выполняемого модуля Intel® Cilk™ Plus в Android для реализации многопоточности приложений, во-вторых, коснемся темы использования Profile-guided Optimization (PGO) для повышения производительности приложений в ОС Android. Ссылки для более глубокого изучения этих тем даны в конце статьи. [Читать дальше →][1]

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

[>] Решение проблемы хранения музыки для Интернет-радио
habra.15
habrabot(difrex,1) — All
2015-11-09 02:00:02


Добрый день, %username%! Как-то мы с компанией друзей решили сделать интернет радио, но как оказалось, выделяемого места на VPS недостаточно для большого архива музыки, более того покупка дополнительных гигабайтов — настоящий грабеж. [Решение под катом][1]

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

[>] Программируем роботов — бесплатный робосимулятор V-REP. Первые шаги
habra.14
habrabot(difrex,1) — All
2015-03-18 17:00:02


![][1] Программирование роботов — это интересно. Многие наверное видели японских гуманоидных роботов, или французский учебный робот [NAO][2], интересным выглядит проект обучаемого робота-манипулятор [Baxter][3]. Промышленные манипуляторы KUKA из Германии — это классика. Кто-то программирует системы конвейерной обработки (фильтрации, сортировки). Дельта роботы. Есть целый пласт — управление квадрокоптером/алгоритмы стабилизации. И конечно же простые трудяги на складе — Line Follower. Но всё это как правило — не дешевые игрушки, поэтому доступ к роботам есть в специализированных лабораториях или институтах/школах где получили финансирование и есть эти направления. Всем же остальным разработчикам (кому интересна робототехника) — остаётся завистливо смотреть. Некоторое время назад я вышел на достаточно интересную систему — 3д робосимулятор [V-REP,][4] от швейцарской компании Coppelia Robotics. К своему (приятному) удивлению я обнаружил, что эта система:

* имеет большой функционал (система разрабатывается с марта 2010 года)
* полностью open-source (выложена в открытый доступ в 2013 году)
* кроссплатформенная — windows, mac, linux (работает на Qt)
* имеет API и библиотеки для работы с роботами через C/C++, Python, Java, Lua, Matlab, Octave или Urbi
* бесплатная для некоммерческого использования!

Все объекты, которые программируются в этой системе — «живут» в реальном с точки зрения физических законов мире — есть гравитация, можно захватывать предметы, столкновения, датчики расстояния, видео датчики и т.п. Поработав некоторое время с этой системой, я решил рассказать про неё читателям хабра. Да, и на картинке скриншот из V-REP, и модели роботов — которые вы можете программировать, и смотреть поведение, прямо на вашем компьютере. [Читать дальше →][5]

[1]: //habrastorage.org/files/966/0c4/e95/9660c4e950ee4b9ab93873cf9564a4c9.jpg
[2]: https://www.aldebaran.com/en/humanoid-robot/nao-robot
[3]: http://www.rethinkrobotics.com/baxter/
[4]: http://www.coppeliarobotics.com/
[5]: http://habrahabr.ru/post/253357/#habracut

[>] [Перевод] Обработка ошибок в Rust
habra.15
habrabot(difrex,1) — All
2015-11-09 02:30:03


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

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

[>] Сделаем код чище: Рекомендации по подготовке изменений в ядро Linux
habra.14
habrabot(difrex,1) — All
2015-03-18 19:00:02


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

[1]: http://habrahabr.ru/search/?q=%5B%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC%20%D0%BA%D0%BE%D0%B4%20%D1%87%D0%B8%D1%89%D0%B5%5D
[2]: http://habrahabr.ru/post/253421/#habracut

[>] Обзор сервера Thinstation
habra.15
habrabot(difrex,1) — All
2015-11-09 06:30:03


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

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

[>] Конференция DUMP-2015: секция Serverside.Experience и Serverside.Knowledge
habra.14
habrabot(difrex,1) — All
2015-03-18 20:00:03


Продолжает серию постов о конференции [DUMP ][1] обзор двух секций — Serverside.Experience и Serverside.Knowledge. Ниже — о том, что ждет серверных разработчиков 20 марта в Екатеринбурге. [Читать дальше →][2]

[1]: http://dump-conf.ru
[2]: http://habrahabr.ru/post/253391/#habracut

[>] Некоторые репозитории в помощь изучающим и преподающим Python и машинное обучение
habra.15
habrabot(difrex,1) — All
2015-11-09 08:30:03


![][1] Привет сообществу! Я Юрий Кашницкий, раньше [делал][2] здесь обзор некоторых MOOC по компьютерным наукам и [искал][3] «выбросы» среди моделей Playboy. Сейчас я преподаю Python и машинное обучение на факультете компьютерных наук НИУ ВШЭ и в онлайн-курсе сообщества по анализу данных MLClass, а также машинное обучение и анализ больших данных в школе данных одного из российских телеком-операторов. Почему бы воскресным вечером не поделиться с сообществом материалами по Python и обзором репозиториев по машинному обучению… В первой части будет описание репозитория GitHub с тетрадками IPython по программированию на языке Python. Во второй — обзор попавшихся мне классных репозиториев GitHub. [Читать дальше →][4]

[1]: https://habrastorage.org/files/b63/833/7a8/b638337a8df741af84ea0cae4cf110f9.png
[2]: http://habrahabr.ru/post/248069/
[3]: http://habrahabr.ru/post/251225/
[4]: http://habrahabr.ru/post/270449/#habracut

[>] [Из песочницы] Спектральный анализ сигналов
habra.14
habrabot(difrex,1) — All
2015-03-18 22:00:02


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

[1]: http://habrahabr.ru/users/makeman/
[2]: http://habrahabr.ru/post/247385/
[3]: http://habrahabr.ru/post/253447/#habracut

[>] Apple TV
habra.15
habrabot(difrex,1) — All
2015-11-09 11:00:02


![][1] Привет, Хабр! Подходит к концу разработка моего первого приложения под Apple TV, и я решил поделиться собранной информацией об этой платформе. tvOS поддерживает два типа приложений: TVML и традиционные. Традиционные приложения — практически то же самое, что и приложения под iOS (UIKit, Storyboard) TVML — фреймворк для создания клиент-серверных приложений. Вся логика, дизайн и данные находятся на удаленном сервере. [Читать дальше →][2]

[1]: https://habrastorage.org/files/0d0/dd0/2dc/0d0dd02dc92b49aa885008636689ff37.jpg
[2]: http://habrahabr.ru/post/270457/#habracut

[>] Angular 2.0.0-alpha для тех, кто не в силах ждать
habra.14
habrabot(difrex,1) — All
2015-03-19 08:30:03


![][1] Совсем недавно(5-6 марта) прошла конференция [ng-conf][2], и много докладов на ней было посвящено грядущему релизу Angular 2, на нескольких из них даже показали альфа версию. Конечно же после прослушивания очень захотелось опробовать его лично. Если вам тоже не терпится — прошу под кат. В этой статье мы разберёмся, где взять билд альфа версии Angular 2.0, создадим на нём небольшое приложение — To-do list, и запустим его в браузере без полной поддержки ECMAScript 6. [Читать дальше →][3]

[1]: //habrastorage.org/files/1b4/fd4/cfc/1b4fd4cfc96f40fe8c84f8354575383f.png
[2]: http://www.ng-conf.org
[3]: http://habrahabr.ru/post/253469/#habracut

[>] Linux-контейнеры: когда контейнеров становится больше
habra.15
habrabot(difrex,1) — All
2015-11-09 14:30:03


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

[1]: https://habrastorage.org/files/5fe/f87/7d3/5fef877d3d4c4e2b97f6907cd4c9ffd6.jpg
[2]: http://habrahabr.ru/company/westcomp/blog/269423/
[3]: http://habrahabr.ru/post/270439/#habracut

[>] Виртуальная реальность на Windows Phone с помощью Unity3d
habra.14
habrabot(difrex,1) — All
2015-03-19 12:30:02




#### Виртуальная реальность на Windows Phone с помощью Unity3d

![][1] На последней Game Developer Conference было много новостей связанных с виртуальной реальностью. Это и новые устройства, такие как Microsoft HoloLens, борьба за признание между Oculus Rift и Project Morfeus, анонс SteamVR. Все это говорит о том, что тема очень интересная и горячая. Хотя понятие виртуальной реальности включает в себя очень много всего, технологически это в первую очередь очки или шлем которые показывают стереоскопическое изображение и реагируют на движение. Многие из нас хотели бы поэкспериментировать в этой области, но без устройства, например, Oculus Rift это затруднительно. К счастью существуют технологии, которые могут превратить ваш телефон Windows Phone в шлем виртуальной реальности. [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/c07/021/357/c07021357757a12be24f1c2820371f94.png
[2]: http://habrahabr.ru/post/253489/#habracut

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


Вычислительные системы прошли путь от мэйнфрэймов к персональным компьютерам, и теперь совершают обратный путь — от персональных компьютеров к мэйнфрэймам. Массово предлагаются услуги для всех желающих по выполнению вычислений на высокопроизводительных компьютерах, реализованных в виде облачных и других систем, от компаний предоставляющих подобные сервисы в публичных сетях. Однако использование публичных вычислительных сетей несёт для их потребителей риски:

* Утечки приватных данных в процессе их обработки на внешнем устройстве или в процессе передачи данных;
* Возможность наличия искажений в получаемых результатах вычислений на внешнем устройстве или в процессе передачи данных. При этом, даже многократный повтор вычислений с одними и теми же исходными данными не позволит обнаружить наличие этих искажений если они носят системный, а не случайный характер.

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

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

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

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

[>] Index-based programming или зачем нам все эти if, switch, тернарный оператор?
habra.15
habrabot(difrex,1) — All
2015-11-09 14:30:03


Недавно читал топип о [красоте кода][1]. В комментариях, набрала популярность тема переноса скобочек при записи условного оператора. В [одном из вариантов][2] пример из статьи выглядел так:

if (typeof a ! == "undefined"
&& typeof b ! == "undefined"
&& typeof c === "string")
{
call_function(a, b, c);
// ...
}


Задумался над самими условиями: они немного странные, хотя и часто встречаются. Внутри «call\_function» будет проверяться тип «a» и тип «b», но не тип «с». С другой стороны, количество поддерживаемых сочетаний типов «a» и «b», поддерживаемых функцией конечно, и, скорее всего, фиксировано, а, значит, было бы полезно эти сочетания увидеть. А [этот пост][3] натолкнул на мысль, что можно вообще обойтись без условных операторов. Так и зародилась идея отказаться от условных операторов в пользу индексов. Несмотря на то, подход рассматривается в рамках Javascript, он с успехом может быть применен во многих других языках после учета их синтаксических особенностей. Не надейтесь увидеть тут картины Рембранта мира программирования. Код в статье — произведение Дали. Впрочем, как и сама статья. [Читать дальше →][4]

[1]: http://habrahabr.ru/company/geekbrains/blog/270001
[2]: http://habrahabr.ru/company/geekbrains/blog/270001
[3]: http://habrahabr.ru/post/269875/
[4]: http://habrahabr.ru/post/270241/#habracut

[>] Техносфере — 1 год
habra.14
habrabot(difrex,1) — All
2015-03-19 17:00:02


![][1] Многие из вас, возможно, уже слышали или читали в нашем блоге о Технопарке, совместном образовательном проекте Mail.Ru Group и МГТУ им. Н. Э. Баумана. Однако постойте, есть еще и Техносфера. Что это, кто это и почему эти два проекта так похожи, и чем они различаются, я расскажу в этом посте. В феврале исполнился ровно год с момента запуска [Техносферы][2]. Это совместный образовательный проект Mail.Ru Group и факультета вычислительной математики и кибернетики МГУ имени М. В. Ломоносова. Обучением студентов занимаются исключительно сотрудники Mail.Ru Group. Их цель — подготовить квалифицированных специалистов в области анализа больших данных (Big Data). Первые десять выпускников совсем недавно получили дипломы из рук Дмитрия Гришина, CEO Mail.Ru Group, и уже приступили к работе. [Читать дальше →][3]

[1]: http://habrastorage.org/getpro/habr/post_images/459/f8a/a24/459f8aa24cb94f4b16ed83142e524db8.jpg
[2]: https://sfera-mail.ru/
[3]: http://habrahabr.ru/post/253441/#habracut

[>] [Из песочницы] Веб-два-нольные ярлыки для Java
habra.15
habrabot(difrex,1) — All
2015-11-09 14:30:03


Когда мне понадобилось реализовать ярлыки для Java «как в веб-два-ноль», гугление не помогло найти ни одной библиотеки, содержащей в себе подобный тип коллекции. Решил сделать сам. Итак, нам надо хранить объекты в коллекции данного типа (назовем его, скажем, LabelsMultiMap). Как объекты, так и ярлыки могут быть произвольного типа. Количество ярлыков сверху не ограничено, равно как и количество объектов. Одним и тем же набором ярлыков могут быть описаны более 1 объекта. У одного объекта один ярлык может встретиться только 1 раз. Пример валидных ярлыков:




















Коллекция должна позволять:

1. _put()_ — помещать в неё объекты со списком прикрепленных меток
2. _getValues()_ — возвращать объекты, содержащиеся в коллекции
3. _findValues()_ — осуществлять поиск объектов, ярлыки которых содержат запрашиваемый набор ярлыков
4. _findValuesOnlyIn()_ — осуществлять поиск только тех объектов, все ярлыки которых входят в запрашиваемый набор ярлыков

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

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

[>] Самостоятельная сборка или покупка готового оборудования для конструирования. Часть 1
habra.14
habrabot(difrex,1) — All
2015-03-19 18:00:03


Привет, Хабр! Недавно я публиковал [пост][1] о конструкторе Хватоход. Сейчас идет подготовка к обучению людей разного возраста конструированию и электронике, в нашем коворкинг-центре. Для этого так же необходимо подобрать оборудование. Согласно поставленной руководством задаче, оборудование для конструирования должно отвечать следующим требованиям: — стоимость не более 30 тысяч рублей — открытая архитектура (программная и аппаратная) — простота в обслуживании и доступность деталей — безопасность эксплуатации — возможность изготовления на нем сложных изделий — быстрая окупаемость [Читать дальше →][2]

[1]: http://habrahabr.ru/company/masterkit/blog/252569/
[2]: http://habrahabr.ru/post/253240/#habracut

[>] PyNSK #4 — четвертая встреча Новосибирского Python сообщества
habra.15
habrabot(difrex,1) — All
2015-11-09 14:30:03






Прошел месяц с прошлой встречи и вот, организуем новые посиделки для любителей Python в Новосибирске. 15-го ноября (воскресенье) состоится четвертая встреча. Она пройдет в анти-кафе [«Самовар»][1] и начнется 13-00. На встрече вас ждет море общения и 3 доклада: [Узнать о докладах][2]

[1]: http://go.2gis.com/b20p
[2]: http://habrahabr.ru/post/270417/#habracut

[>] [Перевод] Как легко расшифровать TLS-трафик от браузера в Wireshark
habra.14
habrabot(difrex,1) — All
2015-03-19 18:00:03


Многим из вас знаком Wireshark — анализатор трафика, который помогает понять работу сети, диагностировать проблемы, и вообще умеет кучу вещей. ![image][1] Одна из проблем с тем, как работает Wireshark, заключается в невозможности легко проанализировать зашифрованный трафик, вроде TLS. Раньше вы могли указать Wireshark приватные ключи, если они у вас были, и расшифровывать трафик на лету, но это работало только в том случае, если использовался исключительно RSA. Эта функциональность сломалась из-за того, что люди начали продвигать совершенную прямую секретность (Perfect Forward Secrecy), и приватного ключа стало недостаточно, чтобы получить сессионный ключ, который используется для расшифровки данных. Вторая проблема заключается в том, что приватный ключ не должен или не может быть выгружен с клиента, сервера или HSM (Hardware Security Module), в котором находится. Из-за этого, мне приходилось прибегать к сомнительным ухищрениям с расшифровкой трафика через man-in-the-middle (например, через [sslstrip][2]).

#### Логгирование сессионный ключей спешит на помощь!

Что ж, друзья, сегодня я вам расскажу о способе проще! Оказалось, что Firefox и Development-версия Chrome поддерживают логгирование симметричных сессионных ключей, которые используются для зашифровки трафика, в файл. Вы можете указать этот файл в Wireshark, и (вуаля!) трафик расшифровался. Давайте-ка настроим это дело. [Читать дальше →][3]

[1]: http://habrastorage.org/getpro/habr/post_images/8c7/9a7/cd0/8c79a7cd0d903d80fd9ef57b778fe4bc.png
[2]: http://www.thoughtcrime.org/software/sslstrip/
[3]: http://habrahabr.ru/post/253521/#habracut

[>] [Из песочницы] Полноценная бинарная замена XML
habra.15
habrabot(difrex,1) — All
2015-11-09 14:30:03




# Вступление

В чем прелесть XML? Он реализован под все платформы, «человекочитаемый», для него созданы схемы данных (условно человекочитаемые). Открывая 25-мегабайтный файл в браузере сразу замечаешь недостатки этого текстового формата, и начинаешь задумываться. Делаем мы это, конечно, не часто, но все же — чем бы заменить XML? Добавление самопальных бинарных контейнеров в проект заканчивается провалом, когда к вам приходят партнеры и просят подключить их к этому каналу данных. Google Protobuf поначалу выглядит хорошо, но вскоре понимаешь, что это не замена для XML, не хватает функциональности. BSON в 5 раз медленнее Protobuf, уступает в компактности и для него не реализованы схемы данных. Разработаем же еще один бинарный формат. [Читать дальше →][1]

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

[>] Самостоятельная сборка или покупка готового оборудования для конструирования. 3d-принтер. Часть 1
habra.14
habrabot(difrex,1) — All
2015-03-19 18:30:02


Привет, Хабр! Недавно я публиковал [пост][1] о конструкторе Хватоход. Сейчас идет подготовка к обучению людей разного возраста конструированию и электронике, в нашем коворкинг-центре. Для этого так же необходимо подобрать оборудование. Согласно поставленной руководством задаче, оборудование для конструирования должно отвечать следующим требованиям: — стоимость не более 30 тысяч рублей — открытая архитектура (программная и аппаратная) — простота в обслуживании и доступность деталей — безопасность эксплуатации — возможность изготовления на нем сложных изделий — быстрая окупаемость [Читать дальше →][2]

[1]: http://habrahabr.ru/company/masterkit/blog/252569/
[2]: http://habrahabr.ru/post/253240/#habracut

Pages: 1 ... 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ... 210