RSS
Pages: 1 ... 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 ... 133
[>] Записки с M*CTF
habra.16
habrabot(difrex,1) — All
2016-12-11 20:00:04


![mctf][1]



Доброго времени суток! В этом небольшом опусе я хотел бы глазами участника рассказать как проходят соревнования CTF типа attack-defence и, в частности, осветить минувшее соревнование [m\*ctf][2]. Но перед всем этим хочется поблагодарить свой [Университет Иннополис][3] за возможность побывать на этом (и множестве других) мероприятий.



Под катом как организационные, так и технические детали прошедших соревнований. И конечно же много-много фотографий!

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

[1]: https://pp.vk.me/c626930/v626930420/21cc8/a0seSr6aAFQ.jpg
[2]: http://mctf.aciso.ru
[3]: https://habrahabr.ru/company/innopolis_university/
[4]: https://habrahabr.ru/post/317336/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] OpenWRT + OpenVPN: точечный обход блокировок
habra.16
habrabot(difrex,1) — All
2016-12-12 00:30:04


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

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

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

[>] [Перевод] Параллельная быстрая сортировка на Хаскеле
habra.16
habrabot(difrex,1) — All
2016-12-12 02:30:04


_Прим. перев.: Это перевод [истории][1] о том, как нелегко оказалось написать параллельную быструю сортировку (quicksort) на Хаскеле. Оригинал статьи написан в 2010 году, но, мне кажется, он до сих пор поучительный и во многом актуальный._

Есть много примеров того, как Хаскель делает простые проблемы сложными. Вероятно, самый известный из них—это решето Эратосфена, которое легко написать на любом императивном языке, но настолько сложно написать на Хаскеле, что почти все решения, которые преподавались в университетах и использовались в исследованиях последние 18 лет, оказались неправильными. На их несостоятельность обратила внимание Мелисса О'Нил [Melissa O'Neill] в своей важной научной работе "[Настоящее решето Эратосфена][2]". В ней приводится прекрасное описание того, что не так в старых подходах, и как их надо исправить. Решением Мелиссы было использовать очередь с приоритетом [priority queue] для реализации решета. Правильное решение оказалось в 10 раз длиннее, чем [намного более простое решение на F#][3] и в целых 100 раз длиннее, чем оригинальный изуродованный алгоритм на Хаскеле.
[Читать дальше →][4]

[1]: http://flyingfrogblog.blogspot.de/2010/08/parallel-generic-quicksort-in-haskell.html
[2]: http://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf
[3]: http://fsharpnews.blogspot.com/2010/02/sieve-of-eratosthenes.html
[4]: https://habrahabr.ru/post/317348/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Представлено ядро Linux 4.9
habra.16
habrabot(difrex,1) — All
2016-12-12 05:00:04


![][1]

Прошло два месяца активной работы над новой версией ядра, и сегодня Линус Торвальдс наконец-то [представил ядро Linux 4.9][2]. Наиболее заметными измерениями можно назвать инструменты для диагностики и блокирования переполнений стека ядра, а также включение поддержки SELinux в OverlayFS, плюс реализация шины Gerybus, чего хотелось многим.

Что касается статистики, то она, как всегда, обширна. В новой версии было принято 15 тысяч исправлений от 1400 разработчиков. Общий размер патча составляет 45 Мб. Изменения в патче затронули 11042 файлов, с добавлением 632157 строк кода и удалением 354728 строк. Не является сюрпризом и то, что большая часть (около 42%) представленных в этой версии изменений так либо иначе связаны с драйверами устройств. Еще 19% изменений связаны с обновлением кода для различных аппаратных архитектур, 12% — сетевой стек, 5% — файловые системы, 4% — подсистемы ядра.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/9e3/d19/948/9e3d19948ac4132613bf784ef7c7d229.png
[2]: https://lkml.org/lkml/2016/12/11/102
[3]: https://habrahabr.ru/post/317364/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Автоматический бекап виртуальных машин в XenServer
habra.16
habrabot(difrex,1) — All
2016-12-12 09:30:03


_Недавно понадобилось автоматизировать создание и сохранение снепшотов виртуальных машин из XenServer. Ничего не найдя по этой теме в русскоязычном сегменте я пошёл в мировой интернет и нашёл статью на ресурсе tecadmin.net, которая мне очень помогла, поэтому я решил разместить её перевод на Хабре. Далее авторский (с адаптацией под нашу речь) перевод исходной статьи:_
![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/3fa/9be/fd0/3fa9befd08874f88a622643bff4a825d.png
[2]: https://habrahabr.ru/post/317356/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] $mol_atom: теория и практика реактивности
habra.16
habrabot(difrex,1) — All
2016-12-12 09:30:03


Здравствуйте, меня зовут Дмитрий Карловский и я… состоятельный человек. У меня есть состояние на сервере, есть состояния в локальных хранилищах, есть состояние окна браузера, есть состояние доменной модели, есть состояние интерфейса. И всё это многообразие состояний нужно поддерживать синхронизированным. Если одно состояние как-то изменяется, то остальные связанные с ним состояния должны как можно скорее обновиться. Особую пикантность ситуации придаёт то, что синхронизация с сервером может занимать секунды, а блокировать пользовательский интерфейс можно лишь на доли секунд.



![Состоятельный человек][1]



Далее вы узнаете: как реактивность побеждает асинхронность, как императивная реактивность уживается с функциональной, как простые абстракции позволяют писать надёжный и быстрый код, а также как я однажды перешёл на идемпотентную сторону силы и всё заверте

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

[1]: https://habrastorage.org/files/58d/bcb/fb0/58dbcbfb06774308b87267267b1ea9ca.jpg
[2]: https://habrahabr.ru/post/317360/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Тестируем Linux-версию PVS-Studio на Linux Kernel
habra.16
habrabot(difrex,1) — All
2016-12-12 11:30:05


![][1]



С момента выхода публичной Linux-версии PVS-Studio, статья о повторной проверке ядра Linux оставалась лишь вопросом времени. Проект, который пишется профессионалами со всего мира, который используют большое количество людей в самых разных сферах, который регулярно проверяется и тестируется различными инструментами — проверка такого проекта будет серьёзным испытанием для любого статического анализатора. Какие ошибки удалось найти PVS-Studio в таких условиях?

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

[1]: https://habrastorage.org/files/fec/53e/cf2/fec53ecf27f5499dbf1bb8068af5761a.png
[2]: https://habrahabr.ru/post/317374/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Moscow Python Meetup №41
habra.16
habrabot(difrex,1) — All
2016-12-12 13:30:04


22-го декабря в 19:00 на Мансарде RAMBLER&Co состоится 41-я встреча MoscowPython

![image][1]

На встрече мы услышим 3 доклада:
[Читать дальше →][2]

[1]: https://habrastorage.org/files/374/806/286/374806286f71415abed70de8ccdd4005.jpg
[2]: https://habrahabr.ru/post/317216/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Блокировка дубликатов Symfony Сommand
habra.16
habrabot(difrex,1) — All
2016-12-12 13:30:04


![image][1]

Сегодня хочу предложить вашему вниманию частный случай для решения «неудобств», связанных с периодичным запуском процессов в том случае, если предыдущий еще не завершился. Иначе говоря — блокировка запущенных процессов в _symfony/console_. Но все было бы слишком банально, если бы не необходимость блокировки среди группы серверов, а не на отдельно взятом.

_Дано:_ Один и тот же процесс, который запускается на **N** серверов.
_Задача:_ Сделать так, чтобы в единицу времени был запущен только один.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/026/37b/8a5/02637b8a591446398a7c51ec53c42800.jpg
[2]: https://habrahabr.ru/post/317258/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Вышел GitLab 8.14
habra.16
habrabot(difrex,1) — All
2016-12-12 13:30:04


Представьте, что вы делаете ревью кода новой фичи. Помимо качества ее кода вам также интересно, как она будет выглядеть и работать в вашем продукте и насколько удобно будет ее использовать. Раньше вам пришлось бы прервать процесс разработки на собственной рабочей машине, сделать checkout на проверяемую ветку, провести нужные миграции БД и запустить всю рабочую среду (development environment), необходимую для приложения. Теперь вам будет достаточно зайти в мерж-реквест этой ветки на GitLab. Там будет ссылка на уже работающее приложение, развернутое в отдельной среде.



Наконец, ревью завершено, и вы даете коллеге обратную связь в чате.
Вместо того, чтобы решать, кто из вас пойдет заводить новую задачу в трекере, вы можете создать задачу и оценить время на ее разработку, не выходя из чата. Аналитика цикла разработки (cycle analytics) сразу учтет данную оценку и будет показывать вам весь путь задачи до выпуска на production, сообщая о возможных узких местах.



Все это и многое другое возможно в новой версии GitLab 8.14. В ней появился учет рабочего времени, приложения для ревью (Review Apps), команды чата (chat commands) и новые возможности аналитики цикла разработки.

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

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

[>] [Из песочницы] Миллион строк в секунду из Postgres с помощью Python
habra.16
habrabot(difrex,1) — All
2016-12-12 14:00:04


![image][1]

[asyncpg][2] — новая Python open-source библиотека для работы с PostgreSQL. Она была написана с использованием syncio и Python 3.5. asyncpg — самый быстрый драйвер для работы с PostgreSQL среди похожих реализаций в на Python, NodeJS и Go.


### Почему asyncpg?


Мы создаем [EdgeDB][3] — базу данных нового поколения, с PostgreSQL на бэкенде. Нам необходима высокая производительность, низкая задержка доступа и дополнительные возможности самого PostgreSQL.

Самый очевидный вариант – использовать psycopg2 — популярнейший драйвер Python для работы с PostgreSQL. У него отличное комьюнити, он стабильный и проверенный временем. Также есть aiopg, который реализует асинхронный интерфейс, поверх psycopg2. Тогда очевиден вопрос — зачем писать свой велосипед? Короткий ответ: производительность и поддержка возможностей PostgreSQL. Ниже мы рассмотрим это более детально.
[Читать дальше →][4]

[1]: https://s18.postimg.org/9i9hmm44p/image.jpg
[2]: https://github.com/magicstack/asyncpg
[3]: https://edgedb.com/
[4]: https://habrahabr.ru/post/317394/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Параллельная быстрая сортировка на Хаскеле и как нелегко её оказалось написать
habra.16
habrabot(difrex,1) — All
2016-12-12 16:00:04


_Прим. перев.: Это перевод [истории][1] о том, как нелегко оказалось написать параллельную быструю сортировку (quicksort) на Хаскеле. Оригинал статьи написан в 2010 году, но, мне кажется, он до сих пор поучительный и во многом актуальный._

Есть много примеров того, как Хаскель делает простые проблемы сложными. Вероятно, самый известный из них—это решето Эратосфена, которое легко написать на любом императивном языке, но настолько сложно написать на Хаскеле, что почти все решения, которые преподавались в университетах и использовались в исследованиях последние 18 лет, оказались неправильными. На их несостоятельность обратила внимание Мелисса О'Нил [Melissa O'Neill] в своей важной научной работе "[Настоящее решето Эратосфена][2]". В ней приводится прекрасное описание того, что не так в старых подходах, и как их надо исправить. Решением Мелиссы было использовать очередь с приоритетом [priority queue] для реализации решета. Правильное решение оказалось в 10 раз длиннее, чем [намного более простое решение на F#][3] и в целых 100 раз длиннее, чем оригинальный изуродованный алгоритм на Хаскеле.
[Читать дальше →][4]

[1]: http://flyingfrogblog.blogspot.de/2010/08/parallel-generic-quicksort-in-haskell.html
[2]: http://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf
[3]: http://fsharpnews.blogspot.com/2010/02/sieve-of-eratosthenes.html
[4]: https://habrahabr.ru/post/317348/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Создание и тестирование Firewall в Linux, Часть 2.1. Введение во вторую часть. Смотрим на сеть и протоколы. Wireshark
habra.16
habrabot(difrex,1) — All
2016-12-12 17:00:04


**Содержание первой части:**

**Создание лаборатории, архитектура Netfilter, char device, sysfs**
[**1\.1** — Создание виртуальной лаборатории (чтобы нам было где работать, я покажу, как создать виртуальную сеть на вашем компьютере. Сеть будет состоять из 3х машин Linux ubuntu).][1]
[**1\.2** – Написание простого модуля в Linux. Введение в Netfilter и перехват трафика с его помощью. Объединяем все вместе, тестируем.][2]
[**1\.3** – Написание простого char device. Добавление виртуальной файловой системы — sysfs. Написание user interface. Объединяем все вместе, тестируем.][3]

**Содержание второй части:**

****2\.1** — Введение во вторую часть. Смотрим на сеть и протоколы. Wireshark.**
**2\.2** — Таблицы Firewall. Transport Layer. Структуры TCP, UDP. Расширяем Firewall.
**2\.3** — Расширяем функциональность. Обрабатываем данные в user space. libnetfilter\_queue.
**2\.4** — Бонус. Изучаем реальную Buffer Overflow атаку и предотвращаем с помощью нашего Firewall'а.
[Читать дальше →][4]

[1]: https://habrahabr.ru/post/315340/
[2]: https://habrahabr.ru/post/315350/
[3]: https://habrahabr.ru/post/315454/
[4]: https://habrahabr.ru/post/316086/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Роутеры NetGear подвержены серьезной уязвимости
habra.16
habrabot(difrex,1) — All
2016-12-12 17:00:04


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

![][2]
> NETGEAR has recently become aware of the security issue #582384 that allows unauthenticated web pages to pass form input directly to the command-line interface. A remote attacker can potentially inject arbitrary commands which are then executed by the system.
[Читать дальше →][3]

[1]: http://kb.netgear.com/000036386/CVE-2016-582384
[2]: https://habrastorage.org/files/dcf/55d/527/dcf55d5270284f21ad90b49ddfb4eef4.jpeg
[3]: https://habrahabr.ru/post/317420/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Marionette.js исполнилось 5 лет
habra.16
habrabot(difrex,1) — All
2016-12-12 17:00:04


![image][1]



11 декабря 2016 Marionette.js исполняется 5 лет. Этот проект постепенно рос все эти годы. Его развивали сотни контрибьюторов, было создано сотни коммитов и десятки сотен проектов, которые используют Marionette. Мы были инновационными и были устаревшими. Мы видели как новые фреймворки приходят и некоторые уходят. Мы, возможно, никогда уже не будем новыми и модными, но мы будем делать все возможное чтобы постоянно двигаться вперед.


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

[1]: https://habrastorage.org/files/876/e44/7e2/876e447e2da24d068ea6639be8a12f5e.png
[2]: https://habrahabr.ru/post/317402/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Объясняем бабушке, как написать свой язык программирования
habra.16
habrabot(difrex,1) — All
2016-12-12 18:00:04


Это игровая площадка, где я попытаюсь объяснить, как создать малюсенький язык программирования (Mu). Можно посмотреть вживую на открытые исходники [здесь][1] или скачать [тут][2]. Туториал можете прочитать прямо сейчас.

![image][3]


## Пишем свой язык программирования (на Swift)


Для того, чтобы написать свой язык программирования, необязательно иметь степень в Computer Science, достаточно понимать 2 базовых шага.


## Язык: Mu(μ)


Mu — это минимальный язык, который содержит постфиксный оператор, бинарную операцию и «одноциферные» числа.

**Пример:** (s 2 4) or (s (s 4 5) 4) or (s (s 4 5) (s 3 2))…
[Читать дальше →][4]

[1]: http://swiftlang.ng.bluemix.net/#/repl/5825fba6dee52b5745935831
[2]: https://github.com/marciok/Mu/releases/download/1.0/WriteYourLanguage.playground.zip
[3]: https://habrastorage.org/getpro/habr/post_images/58c/c0c/543/58cc0c543a6a52280b31b2376bb3bebd.png
[4]: https://habrahabr.ru/post/315068/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Обгоняем компилятор
habra.16
habrabot(difrex,1) — All
2016-12-12 19:30:03


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

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

Но так ли это? Давайте не будем просто воспринимать на веру слова некоторых парней в интернете, как библейское откровение, а проведём небольшой эксперимент и выясним.
[Читать дальше →][1]

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

[>] Дайджест Университета ИТМО: Подборка ресурсов по искусственному интеллекту
habra.16
habrabot(difrex,1) — All
2016-12-12 20:00:04


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

[1]: https://habrahabr.ru/company/spbifmo/blog/305816/
[2]: https://habrahabr.ru/company/spbifmo/blog/317276/
[3]: https://habrahabr.ru/post/317276/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Создание Elixir-приложения на примере. От инициализации до публикации
habra.16
habrabot(difrex,1) — All
2016-12-12 22:30:03


![image][1]



Данная статья участвует в конкурсе от [Wunsh.ru][2] — русскоязычное сообщество Elixir. Практики и просто сочувствующие — [присоединяйтесь][3]!



Пишу данную статью для того, чтобы закрепить знания полученные в процессе изучения языка Elixir и его инфраструктуры. Надеюсь, что данная статья будет полезна программистам решившим писать Elixir-приложения.



## Вступление {#vstuplenie}



"Elixir — динамический, функциональный язык программирования, разработанный для создания масштабируемых и легко поддерживаемых систем." — [elixir-lang.org][4]



Используя Elixir для создания ваших приложений вы обязательно столкнётесь с Mix. Он станет вам незаменимым помощником, так как через него вы сможете выполнять такие команды как создание, сборка, тестирование и публикация приложений, а также управление зависимостями и многое другое. Если вы знакомы с Ruby, то этот инструмент очень похож на Bundler, RubyGems и Rake, вместе взятые. В двух словах Mix — это удобный инструмент, который поставляется с Elixir и выполняет не меньше задач, чем швейцарский нож.



## Инициализация нового приложения {#inicializaciya-novogo-prilozheniya}

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

[1]: https://dl.dropboxusercontent.com/u/37142115/habr/post-1-1.png
[2]: http://wunsh.ru
[3]: http://wunsh.ru/first_contest.html
[4]: http://elixir-lang.org
[5]: https://habrahabr.ru/post/317444/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] История одного плагина
habra.16
habrabot(difrex,1) — All
2016-12-13 07:30:03




Все началось с того, что у меня перестал работать **tagbar**. Плагин падал с ошибкой, якобы текущая моя версия Exuberant Ctags вовсе не Exuberant. Покопавшись немного в исходниках, я понял, что последняя внешняя команда завершалась с ошибкой, а **v:shell\_error** выдавал -1, что говорит о том, судя по документации vim'a, что "the command could not be executed". Я не стал копать дальше и установил **fzf**. **Fzf**, как и **ctrlp**, позволяет проводить нечеткий поиск по файлам, тегам, буферам, ..., но в отличии от последнего, работает гораздо шустрее, однако, не без минусов. Приложение работает напрямую с терминалом и каждый раз затирает мне историю вводимых команд. Это также означает, что мы не можем отобразить результаты поиска в буфере (**neovim**, судя по некоторым скринкастам, может), например, справа от основного буфера, когда ищем нужный тег. В отличие от sublime, **fzf** не придает больший вес имени файла, из — за чего я часто получал в топе вовсе не те результаты, которые ожидал увидеть. Ко всему прочему, отсутствие полной свободы в настройке цветовой схемы, что в общем-то не слишком важно для обычного пользователя, но только не для меня, с моим повышенным вниманием к мелочам. Под свободой я понимаю, как минимум, разграничение цвета для обычного (нормального) текста и строки запроса.



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

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

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

[>] JetBrains Night в Москве. Видео. Как CLion справляется со сложностями языка C++
habra.16
habrabot(difrex,1) — All
2016-12-13 09:00:03


29 сентября в Москве прошла мини-конференция JetBrains Night: 7 часов разработчики из JetBrains рассказывали разработчикам из других компаний о том, что компания делает, зачем, и что будет делать дальше, а потом отвечали на вопросы, обсуждали общие проблемы и вообще делились опытом (т.е. слушали, как разработчики из других компаний рассказывают им о том, что они делают и почему им удобно или пока еще не очень удобно делать это с помощью того, что делает JetBrains).

На Хабре мы постепенно публикуем видео всех докладов, чтобы можно было в комментариях обсудить то, что не успели обсудить на JetBrains Night, особенно с теми, кто не смог приехать лично.

Краткое содержание предыдущих серий:
[Дмитрий Жемеров про язык Kotlin][1];
[Максим Мазин и Валерия Андрианова про интеграцию серверных продуктов и использование новых Agile-досок][2];
[Сергей Пак. Первые шаги с TeamCity DSL][3].

Сегодня публикуем видео, где Дмитрий Кожевников рассказывает, как CLion справляется [Читать дальше →][4]

[1]: https://habrahabr.ru/company/JetBrains/blog/314826/
[2]: https://habrahabr.ru/company/JetBrains/blog/315244/
[3]: https://habrahabr.ru/company/JetBrains/blog/315652/
[4]: https://habrahabr.ru/post/317456/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Lock-free структуры данных. Итераторы: multi-level array
habra.16
habrabot(difrex,1) — All
2016-12-13 12:00:05


![][1]
В предыдущих частях опуса ([1][2], [2][3], [3][4]) мы рассмотрели внутреннее строение lock-free map и убедились, что все основные операции — поиск, добавление и удаление ключа — могут быть выполнены без глобальных блокировок и даже в lock-free манере. Но стандартный `std::map` поддерживает ещё одну очень полезную абстракцию — итераторы. Возможно ли реализовать итерабельный lock-free map?
Ответ на этот вопрос — под катом.
[Читать дальше →][5]

[1]: https://habrastorage.org/files/c0f/d71/599/c0fd7159978d428b99fe8b5748e943e2.png
[2]: https://habrahabr.ru/post/250383/
[3]: https://habrahabr.ru/post/250523/
[4]: https://habrahabr.ru/post/250815/
[5]: https://habrahabr.ru/post/314948/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Удаленное логирование в journald или Всё ещё «это вам не нужно»?
habra.16
habrabot(difrex,1) — All
2016-12-13 13:30:05


![][1]



## Дисклеймер {#diskleymer}



Все эксперименты проводились на CentOS Linux release 7.2.1511 в качестве основной системы, с последними доступными из стоковой репы systemd (systemd-219-19.el7\_2.13). Надеюсь, часть приведенных данных будет неактуальна уже на момент публикации статьи.



### Вводная часть {#vvodnaya-chast}



Начав захватывать linux-дистрибутивы с выпуска Fedora 15, systemd окончательно победил. Зубры и аксакалы понемногу приучаются к unit'ам и systemctl. Скрежещат зубами последние защитники Старого Доброго. В этих реалиях невозможно обойти дочерние продукты systemd. И сегодня давайте поговорим, например, про journald.


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

[1]: https://habrastorage.org/files/ba3/a39/9c9/ba3a399c9f884ef19a36369221944077.jpg
[2]: https://habrahabr.ru/post/317182/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Анализ покрытия кода тестами в Ruby
habra.16
habrabot(difrex,1) — All
2016-12-13 15:00:04


Для начала я приведу небольшой тестовый проект из трёх классов, проанализирую его покрытие с помощью [гема SimpleCov][1], а напоследок немного поразмышляю о том, как анализ покрытия может приносить пользу проекту, и какие есть недостатки у Coverage в Ruby.



[![][2]][3]



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


# Мама очень заботится о своём сыне, и не разрешает ему гулять,
# если он не надел шарф. А ещё она заботится о его успеваемости, поэтому если
# сын не сделал домашнюю работу, гулять ему она тоже не разрешит.
class Mother
def permit_walk?(child)
child.scarf_put_on && child.homework_done
end
end [Читать дальше →][4]

[1]: https://github.com/colszowka/simplecov
[2]: https://habrastorage.org/files/756/b2f/98b/756b2f98bdcd47eaaaf88d1f66d24659.png
[3]: https://habrahabr.ru/post/317326/
[4]: https://habrahabr.ru/post/317326/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пишем настоящий Pointer Analysis для LLVM. Часть 1: Введение или первое свидание с миром анализа программ
habra.16
habrabot(difrex,1) — All
2016-12-13 15:00:04


Привет, Хабр!
[][1]
Эта статья станет вступительной в моем небольшом цикле заметок, посвященном такой технике анализа программ, как pointer analysis. Алгоритмы pointer analysis позволяют с заданной точностью определить на какие участки памяти переменная или некоторое выражение может указывать. Без знания информации об указателях анализ программ, активно использующих указатели (то есть программ на любом современном языке программирования — C, C++, C#, Java, Python и других), практически невозможен. Поэтому в любом мало-мальски оптимизируещем компиляторе или [серьезном статическом анализаторе кода][2] применяются техники pointer analysis для достижения точных результатов.

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

[1]: https://habrahabr.ru/company/solarsecurity/blog/317002/#habracut
[2]: http://solarsecurity.ru/products/solar_inCode/
[3]: https://habrahabr.ru/post/317002/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Особенности реализации виртуальной машины в Dart. JS и Dart глазами компиляторщика
habra.16
habrabot(difrex,1) — All
2016-12-13 16:00:04


![][1]

Продолжаем публиковать видео с митапа Dart разработчиков, который прошел в офисе Wrike в конце ноября. Сегодня представляем доклад Вячеслава Егорова из Google. Вячеслав — сотрудник Google в городе Орхус, Дания, в том самом офисе, где появился на свет V8 JavaScript engine и язык программирования Dart. Компиляторщик до мозга костей, интересующийся всем, что так или иначе связанно с виртуальными машинами. Работал над V8, сейчас работает над Dart VM и иногда чинит баги в LuaJIT. Вместе с ним залезем под капот Dart VM.

[Смотреть][2]

[1]: https://habrastorage.org/files/dc1/476/574/dc1476574fee4408b31da53a682b9873.jpg
[2]: https://habrahabr.ru/post/317074/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как выбирать алгоритмы для машинного обучения Microsoft Azure
habra.16
habrabot(difrex,1) — All
2016-12-13 17:30:04


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

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

[1]: https://habrastorage.org/files/8e2/0a6/04a/8e20a604af8b4efeaee817520e4b9a6d.jpg
[2]: https://habrahabr.ru/post/317512/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Экспорт ключа SignalCom в OpenSSL
habra.16
habrabot(difrex,1) — All
2016-12-14 08:00:04


_У вас стоит задача интегрироваться с удалённым сервисом, который работает по ГОСТу и "только через КРИПТО-КОМ", а вы хотите использовать OpenSSL с gost? На форуме "Сигнал-КОМ" вы видите кучи сообщений, что "ключи из формата КРИПТО-КОМ нельзя конвертировать в формат OpenSSL-гост-совместимых"? На самом деле конвертация возможна._

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

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

[>] Как научить веб-приложение говорить на 100 языках: особенности локализации
habra.16
habrabot(difrex,1) — All
2016-12-14 12:00:03


![][1]

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

Идея написания этой статьи возникла после [MoscowJS митапа][2], на котором я говорил о том, как происходит [процесс локализации в компании Badoo][3]. Но в этой статье я бы хотел рассказать немного подробнее об особенностях локализации на примере веб-приложений, о том, какие существуют решения для локализации и почему в Badoo пошли своим путем. Всем неравнодушным — добро пожаловать под кат. [Читать дальше →][4]

[1]: https://habrastorage.org/files/da8/0cf/3e1/da80cf3e1bed48d582dc640cfb839702.jpg
[2]: https://habrahabr.ru/company/badoo/blog/312530/
[3]: https://www.youtube.com/watch?v=gq4S7JLbbmM
[4]: https://habrahabr.ru/post/317484/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как защитить умный дом: Решение от команды Университета ИТМО
habra.16
habrabot(difrex,1) — All
2016-12-14 13:30:03


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

Сегодня мы поговорим о степени защищенности подобных систем и том, как можно сделать их безопаснее с помощью разработок, созданных в Университете ИТМО.

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

[1]: https://habrastorage.org/files/dc3/d7c/aab/dc3d7caabeb74b00b6eaebb8a61f37e3.png
[2]: https://habrahabr.ru/company/spbifmo/blog/317454/
[3]: https://habrahabr.ru/post/317454/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пентест в Global Data Security — прохождение 10-й лаборатории Pentestit
habra.16
habrabot(difrex,1) — All
2016-12-14 17:00:06




Лаборатории компании Pentestit уже стали традицией для многих. Каждый май и ноябрь открывается очередная лаборатория, и тысячи энтузиастов по всему миру не спят сутками чтобы первыми скомпрометировать сеть нового виртуального банка, разработчиков ПО или провайдера услуг в области ИБ.

25-го ноября запустилась очередная, на этот раз [10-я лаборатория][1], где участникам было предложено прорваться в сеть вымышленной компании Global Data Security — разработчика ПО в области информационной безопасности.

6-го декабря, ровно через 11 суток, лаборатория была пройдена первыми участниками, которые смогли получить доступ к каждому уязвимому узлу сети компании Global Data Security и нашли на них специальные токены — комбинации букв и цифр, которые нужно ввести в панель управления на сайте Pentestit.

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

[1]: https://lab.pentestit.ru/pentestlabs/6
[2]: https://habrahabr.ru/post/317322/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сказка о потерянном времени
habra.16
habrabot(difrex,1) — All
2016-12-14 17:00:06


Если честно, то не совсем и сказка, а суровая жизнь. Но время ведь потеряно совершенно настоящее, хоть и с пользой. А началось всё совершенно случайно. На одном сайте один умный товарищ [написал пост][1] о [гипотезе Эйлера][2]. Суть достаточно проста. Гипотеза Эйлера утверждает, что для любого натурального числа n>2 никакую n-ю степень натурального числа нельзя представить в виде суммы (n-1) n-х степеней других натуральных чисел. То есть, уравнения:

![][3]
не имеют решения в натуральных числах.

Ну собственно так оно и было до 1966 года…
[Читать дальше →][4]

[1]: https://science.dirty.ru/krtkst-1253293/
[2]: https://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%B7%D0%B0_%D0%AD%D0%B9%D0%BB%D0%B5%D1%80%D0%B0
[3]: https://habrastorage.org/files/271/b3d/4cd/271b3d4cd62544c695cb8ba849078e24.png
[4]: https://habrahabr.ru/post/317588/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Синтаксический анализ текстов с помощью SyntaxNet
habra.16
habrabot(difrex,1) — All
2016-12-14 18:00:03


Для одной из задач мне понадобился синтаксический анализатор русскоязычных текстов. Что это такое. Например, у нас есть предложение «Мама мыла раму». Нам нужно получить связи слов в этом предложении в виде дерева:

![image][1]
Из этого дерева понятно, что связаны слова «мама» и «мыла», а также «мыла» и «раму», а слова «мама» и «раму» напрямую не связаны.

Статья будет полезна тем, кому понадобился синтаксический анализатор, но не понятно, с чего начать.

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

[1]: https://habrastorage.org/getpro/habr/post_images/33b/49b/826/33b49b826eb27f95137c702dd91be1f9.png
[2]: https://habrahabr.ru/post/317564/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Я отказался от PGP
habra.16
habrabot(difrex,1) — All
2016-12-14 23:00:03


_Об авторе: [Филиппо Валсорда][1] занимается криптографией и TLS, называет себя «послом urandon», входит в криптогруппу компании Cloudflare, поднял известный [сервис][2] для тестирования на уязвимость Heartbleed. Вы могли встречать его на конференциях по криптографии и компьютерной безопасности или под ником @FiloSottile на Github и в твиттере_

![][3]Спустя годы мучений с GnuPG с различным уровнем энтузиазма я пришёл к выводу, что оно не стоит того, и я сдаюсь. По крайней мере относительно концепции долговременных ключей PGP.

Речь не о самой программе `gpg` и не о криптографических инструментах в принципе. Многие писали на эту тему. Я говорю о модели долговременных ключей PGP, будь она гарантирована [сетью доверия][4], отпечатками открытых ключей или моделью [TOFU][5] — неважно. Я говорю о том, что она не подходит для меня лично.
[Читать дальше →][6]

[1]: https://filippo.io/
[2]: https://filippo.io/Heartbleed/
[3]: https://habrastorage.org/files/40f/bc3/d1b/40fbc3d1bedf4af09d017ae4ee8982a6.png
[4]: https://en.wikipedia.org/wiki/Web_of_trust
[5]: https://en.wikipedia.org/wiki/Trust_on_first_use
[6]: https://habrahabr.ru/post/317630/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] WiFi на Linux станет быстрее
habra.16
habrabot(difrex,1) — All
2016-12-15 02:30:03


> — _пусть лучше небольшая, но фейербаховская..._
> Виктор Пелевин «Поколение Пи»

Недавний [релиз ядра Linux 4.9][1] отличный повод рассказать о предстоящем разгоне WiFi. Сразу оговорюсь — пост не о том, [как увеличить зону покрытия][2] или [менять регуляторные домены][3]. Ничего такого делать не надо, достаточно обновить ядро после того, как патчи буфероборца Dave Täht будут в стабильной ветке.


![][4]





Значительное повышение скорости достигнуто за счет уменьшения задержки [[2]][6] в сети. Разработчикам пришлось ради этого перелопатить `mac80211`, убрать кое-что сверху, добавить снизу и после этого задержки в сети сократились на порядок. Цена вопроса? Патч в 200 строк. Подробности под катом.

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

[1]: https://habrahabr.ru/company/kingservers/blog/317364/
[2]: https://habrahabr.ru/company/remo/blog/310612/
[3]: https://habrahabr.ru/post/317220/
[4]: https://habrastorage.org/files/7a8/4da/9ba/7a84da9ba91b46008371bec6a4c53d6a.png
[5]: #cite_ref-1
[6]: #cite_ref-2
[7]: https://habrahabr.ru/post/317548/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Трояны-вымогатели — security-тема года
habra.16
habrabot(difrex,1) — All
2016-12-15 08:30:03


![][1]Каждый год 31 декабря эксперты «Лаборатории Касперского» ходят с друзьями в баню подводят итоги. Итоги года состоят из объективной статистики из нашей облачной системы Kaspersky Security Network, и субъективного выбора ключевых событий в сфере безопасности и их оценки. Причем субъективная оценка не менее важна, чем наглядные цифры статистики по разным типам атак. В [предсказаниях][2] на 2016 год особое внимание было уделено таргетированным атакам: им наши специалисты дали более высокий приоритет, чем высококлассным атакам с помощью самого совершенного кибероружия. Все дело и в потенциальном ущербе, и в том, что подобрать ключи к защите компании можно, даже и вовсе не пользуясь «вредоносным ПО».

В результате получается, что видов атак может быть великое множество, и оценить их все хором, измерить среднюю температуру «по больнице» не получится. Статистика дает лишь половину понимания ландшафта киберугроз, вторая половина — это опыт специалистов и его приложение к конкретному набору софта, железа и людей в конкретной компании или индустрии. Ежегодный Kaspersky Security Bulletin реализует данную _дихотомию_ в отношении завершающегося отчетного периода.

Как обычно, рекомендую смотреть полный отчет: [здесь][3] и [здесь][4]. Я же хочу подробно обсудить две ключевые темы: развитие троянов-вымогателей и измерение скорости реакции на инциденты в реальных деньгах.
[Читать дальше →][5]

[1]: https://habrastorage.org/files/0ba/536/545/0ba536545cfe4b1b8cdfad7efdf10a52.jpg
[2]: https://securelist.com/analysis/kaspersky-security-bulletin/72771/kaspersky-security-bulletin-2016-predictions/
[3]: https://securelist.com/analysis/kaspersky-security-bulletin/76757/kaspersky-security-bulletin-2016-story-of-the-year/
[4]: https://securelist.com/analysis/kaspersky-security-bulletin/76858/kaspersky-security-bulletin-2016-executive-summary/
[5]: https://habrahabr.ru/post/317644/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Собственная платформа. Часть 0.2 Теория. Интерпретатор CHIP8
habra.16
habrabot(difrex,1) — All
2016-12-15 09:00:03


# Введение {#vvedenie}



Здравствуй, мир! Сегодня у нас перевод [спецификации][1] языка CHIP8. Это статья содержит только теоретическую часть.


**\*COSMAC ELF во всей красе\***
![COSMAC ELF][2]


# Что такое CHIP8? {#chto-takoe-chip8}



CHIP8 это интерпретируемый язык программирования, который был разработан Джозефом Вейзбекером (прим. перевод Joseph Weisbecker) в семидесятых для использования в [RCA COSMAC VIP][3]. В дальнейшем был использован в [COSMAC ELF][4], [Telmac 1800][5], ETI 660, DREAM 6800. Тридцать одна (35?) инструкция давали возможности для вывода простого звука, монохромной графики в разрешении 64 на 32 пикселя, а также позволяло использовать 16 пользовательских кнопок. Сегодня CHIP-8 часто используется для обучения базовым навыком эмуляции (не интерпретации). Интерпретаторы CHIP-8 часто по ошибке называют эмуляторами. Это связанно с фактом большой схожести CHIP-8 с компьютером.


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

[1]: http://mattmik.com/files/chip8/mastering/chip8.html
[2]: https://upload.wikimedia.org/wikipedia/commons/b/b5/COSMAC_ELF_CHM.jpg
[3]: https://ru.wikipedia.org/wiki/COSMAC_VIP
[4]: https://en.wikipedia.org/wiki/COSMAC_ELF
[5]: https://en.wikipedia.org/wiki/Telmac_1800
[6]: https://habrahabr.ru/post/316788/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разработка игры Frogger для компьютера Vectrex
habra.16
habrabot(difrex,1) — All
2016-12-15 09:00:03


Какое-то время назад я переводил рассказ Chris Salomon о его разработке игры Frogger для [компьютера Vectrex][1]. Тот рассказ, написанный им в 1998 году, является, на мой взгляд, очень интересным документом, позволяющим проникнуться как духом этой необычной платформы, так и спецификой разработки на ассемблере вообще.

Chris не забросил Vectrex и, сравнительно недавно, довёл до релиза собственный эмулятор Vectrex для Windows (лучший, на данный момент) под названием «Vide». Мне, к слову, приятно, что мои исходники [Electric Force][2] помогли ему реализовать приличную поддержку отображения векторных кривых в этом эмуляторе.

И вот, получив в руки такой мощный инструмент, Chris не смог отказать себе в удовольствии вернуться к своему старому Frogger'у, чтобы доработать и улучшить его. Об этом он рассказал в своём [блоге][3].

Таким образом, здесь я публикую две части моего перевода — первую, об оригинальной разработке 1998 года (из файла [progger.txt][4], бродившего вместе с исходниками игры) и вторую — о её продолжении (из [блога автора][5]).
[Читать дальше →][6]

[1]: https://habrahabr.ru/post/313218/
[2]: http://enlight.ru/post/9575
[3]: http://vide.malban.de
[4]: http://oldies.malban.de/firstvectrex/vectrex/DIS/CHRIS/VFROGGER/SOURCE/PROGGER.TXT
[5]: http://vide.malban.de
[6]: https://habrahabr.ru/post/317656/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Превозмогая трудности: Gravity Defied на sed
habra.16
habrabot(difrex,1) — All
2016-12-15 09:30:02


![image][1]
Итак, эта статья посвящается тем, кто любит решать нестандартные задачи на не предназначенных для этого инструментах. Здесь я опишу основные проблемы, с которыми столкнулся во время создания аналога игры Gravity defied с использованием потокового текстового редактора (sed).
[Читать дальше →][2]

[1]: https://habrastorage.org/files/077/94b/ea9/07794bea979d4e8a8ade3c1e54113433.png
[2]: https://habrahabr.ru/post/317638/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Использование Github в качестве хранилища пользовательских данных
habra.16
habrabot(difrex,1) — All
2016-12-15 11:00:03


![Изображение коммита][1]



Выбирая сервис для хранения моих данных, важной составляющей является то, как долго такой сервис будет жить. От него нужно, чтобы я смог хотя бы прочитать сохраненные данные даже если энтузиазм авторов проекта закончится вместе с деньгами для оплаты хостинга и базы данных. С таким подходом для своего проекта я искал сервисы баз данных, которые могли бы хранить пользовательские данные бесплатно. Многообещающим проектом был Parse.com, о котором я уже писал ранее в статье [«Сайт без бекенда»][2]. Но в январе 2016 [мы узнали][3], что Parse.com проживет только один год и будет закрыт. В связи с этим я решил перевести хранение данных пользователей в git-репозиторий, который [опубликован][4] на Github.

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

[1]: https://hsto.org/files/629/8f2/0b5/6298f20b53604292824bdeb2f044f8ec.png
[2]: https://habrahabr.ru/post/248511/
[3]: https://habrahabr.ru/post/276135/
[4]: https://github.com/knigopis/repo.knigopis.com
[5]: https://habrahabr.ru/post/317662/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] PostgreSQL slave + btrfs и systemd = горячая тестовая база
habra.16
habrabot(difrex,1) — All
2016-12-15 11:00:03


![][1]

При активной разработке ПО нередко нужна тестовая база с актуальными данными из боевой базы. Хорошо, если база маленькая и развернуть копию не долго. Но если в базе десятки гигабайт данных и все нужны для полного тестирования, да ещё и посвежее, то возникают трудности. В этой статье я опишу вариант преодоления подобных неприятностей с помощью snapshot-ов btrfs. А управлять работой получившегося комплекса будет systemd – удобный и функциональный инструмент.


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

[1]: https://habrastorage.org/files/32d/c3d/06d/32dc3d06da404a22888ad2f99ca008b9.png
[2]: https://habrahabr.ru/post/317660/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Яндекс использовал нейросеть и научился прогнозировать осадки с точностью до минут
habra.16
habrabot(difrex,1) — All
2016-12-15 12:30:05


Сегодня я вновь хотел бы поговорить с вами о погоде. Вновь — потому что почти год назад мы уже о ней [разговаривали][1]: я рассказал про нашу технологию построения прогнозов Метеум, основанную на метеомоделировании и машинном обучении. Теперь я хочу поговорить не о той погоде, которая будет завтра, на следующей неделе или в новогоднюю ночь, — а о той, которая уже установилась за окном, и о той, которая наступит в ближайшие несколько часов.

![][2]

Под катом я расскажу о том, что такое наукастинг и как мы над ним работали.
[Читать дальше →][3]

[1]: https://habrahabr.ru/company/yandex/blog/271725/
[2]: https://habrastorage.org/files/e2a/57f/209/e2a57f20990e490fa29916d162625d5a.gif
[3]: https://habrahabr.ru/post/317626/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Отладка вашей ОС: урок по выделению памяти
habra.16
habrabot(difrex,1) — All
2016-12-15 14:00:04


![][1]

Всё началось, как и многие другие расследования, с [баг-репорта][2].

Название отчёта было довольно простым: «При HTTP-подключении iter\_content медленно работает с чанками большого размера». Подобное название немедленно включило у меня в голове сирену по двум причинам. Во-первых, довольно сложно определить, что здесь означает «медленно»? Насколько медленно? Насколько велик «большой размер»? Во-вторых, если бы описанное проявлялось действительно серьёзно, то мы бы об этом уже знали. Метод `iter_content` используется давно, и если бы он существенно притормаживал в распространённом пользовательском режиме, то мимо нас такая информация не прошла бы.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/81f/627/120/81f627120ada4d2d8830722074599a71.jpg
[2]: https://github.com/kennethreitz/requests/issues/3729
[3]: https://habrahabr.ru/post/317476/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Лимиты Telegram bot API и работа с ними на Go
habra.16
habrabot(difrex,1) — All
2016-12-15 14:30:06


Довольно часто на Хабре появляются статьи о написании бота для Telegram, которые в своем роде, если откинуть уникальность идеи, являются самым обычным туториалом на тему «как получить сообщение от Telegram, обработать его и отправить ответ пользователю». Однако ни в одной из статей, прочтенных мной (конечно же, не берусь утверждать, что прочел их все, но тем не менее) я не встретил упоминания о лимитах отправки сообщений пользователям и как с ними работать. Кого заинтересовал, прошу под кат.
[Читать дальше →][1]

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

[>] [recovery mode] Виртуальные ключи к реальному миру
habra.16
habrabot(difrex,1) — All
2016-12-15 14:30:06


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


[Читать дальше: Реальные возможности виртуальных ключей][1]

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

[>] Оптимизация кода для платформы Эльбрус на простых примерах
habra.16
habrabot(difrex,1) — All
2016-12-15 14:30:06


_"Обычно хакер пишет программы не ради выгоды,
а ради собственного удовольствия. Такая программа
может оказаться полезной, а может остаться
всего лишь игрой интеллекта."
Генри С. Уоррен. Алгоритмические трюки для программистов [1]_



Сегодня мы продолжим наши заметки об Эльбрусе. Первую статью, посвященную запуску и оптимизации системы распознавания паспорта, можно прочитать [тут][1].



![image][2]



Однажды мы с коллегами заинтересовались, как самые простые методы оптимизации работают на Эльбрусе.

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

[1]: https://habrahabr.ru/company/smartengines/blog/304750/
[2]: https://habrastorage.org/files/b40/23f/af1/b4023faf1bdc4e849f5b75c468e44e20.jpg
[3]: https://habrahabr.ru/post/317672/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Docker, GitLab, бесплатные SSL-сертификаты и другие плюшки современной веб-разработки
habra.16
habrabot(difrex,1) — All
2016-12-15 14:30:06


И снова здравствуйте!



Почти пять лет уже не писал здесь новых статей, хотя, если честно, всегда знал, что рано или поздно начну это делать снова. Не знаю как вам, а мне все таки это дело всегда казалось довольно увлекательным.



Начинать написание нового материала после столь продолжительного отдыха от этого дела — труднее всего. Но раз цель поставлена — надо идти до конца. Начну немного издалека.



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



Под хабракатом вы найдете _Quick Start по использованию Docker_ на уровне, необходимом для решения конкретных задач, обозначенных ниже, без углубления в "дебри" виртуализации и прочих сопутствующих тем. Если вы до сих пор хотите начать успешно использовать эту современную технологию, тем самым значительно упростив целый ряд процесов: от разработки веб-продуктов и до разворачивания и переноса оных под какое-либо современное оборудование — прошу под кат!



![Opening Illustration - Docker][1]

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

[1]: https://habrastorage.org/files/701/e12/715/701e127152c84347bd00745eb1927cc9.png
[2]: https://habrahabr.ru/post/317636/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Облачная стратегия Microsoft: мнение экспертов
habra.16
habrabot(difrex,1) — All
2016-12-15 15:00:04


Совсем недавно ИТ-миру были представлены Windows Server 2016, инструмент управления средами виртуализации System Center 2016, Operations Management Suite и облачная платформа будущего Microsoft Hybrid Cloud. Об облачной стратегии Microsoft, перспективах облачных сервисов и системах управления ими мы поговорили с представителями компании Viacode Романом Юферевым, Дмитрием Никоновым. [Читать дальше][1]

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

[>] [Перевод] Intel Software Guard Extensions, учебное руководство. Часть 2, устройство приложения
habra.16
habrabot(difrex,1) — All
2016-12-15 16:00:05


Вторая часть в серии учебных материалов по [Intel Software Guard Extensions (Intel SGX)][1] представляет собой общее описание приложения, которое мы будем разрабатывать: простой диспетчер паролей. Поскольку мы создаем это приложение с нуля, то можно с самого начала предусмотреть использование Intel SGX. Это означает, что в дополнение к требованиям к приложению мы рассмотрим, каким образом требования для Intel SGX и общая архитектура приложения влияют друг на друга.
Прочтите [первую часть][2] или список всех опубликованных учебных материалов в статье [Представляем серию учебных материалов, посвященных Intel Software Guard Extensions][3].

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

[1]: https://software.intel.com/en-us/sgx
[2]: https://habrahabr.ru/company/intel/blog/312002/
[3]: https://software.intel.com/en-us/articles/introducing-the-intel-software-guard-extensions-tutorial-series
[4]: https://habrastorage.org/files/256/342/00e/25634200e3324f54aaa73315933a296b.jpg
[5]: https://habrahabr.ru/post/317510/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как я побывала на HolyJS Moscow и нужно ли туда ходить
habra.16
habrabot(difrex,1) — All
2016-12-15 20:00:03


![][1]

В минувшее воскресенье, 11 декабря, мне представилась возможность поучаствовать в [HolyJS Moscow][2], грандиозном мероприятии, целиком и полностью посвящённом JavaScript. Количество информации на конференции поражало воображение (не обошлось даже без упоминания других технологий, хотя это логично: в мире веб-разработки всё взаимосвязано), однако из всего массива лично мне запомнилось четыре доклада. Сразу оговорюсь: дело не в том, что другие были лучше или хуже, просто именно эти привлекли моё внимание больше остальных. И здесь я поясню подробно, почему это так.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/a50/e6d/dcc/a50e6ddcc0894c0c925177e9022690b1.jpg
[2]: http://holyjs.ru/
[3]: https://habrahabr.ru/post/317694/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 ... 133