RSS
Pages: 1 ... 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 ... 133
[>] Книга «Масштабирование приложений. Выращивание сложных систем»
habra.16
habrabot(difrex,1) — All
2017-10-18 08:30:05


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

[1]: https://habrastorage.org/webt/59/e5/b9/59e5b97993b56239035495.jpeg
[2]: https://habrahabr.ru/company/piter/blog/340288/
[3]: https://habrahabr.ru/post/340288/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Рекомендательная система на коленке как средство против экзистенциального кризиса
habra.16
habrabot(difrex,1) — All
2017-10-18 08:30:05


Может быть отсылка к _[экзистенциальному кризису][1]_ звучит слишком громко, но лично для меня **проблема поиска и выбора** (или выбора и поиска, это имеет значение) как в мире интернета так и в мире простых вещей по мучениям иногда приближается к нему. Выбор фильма на вечер, книги неизвестного автора, сосисок в магазине, нового утюга — дикое количество вариантов. Особенно когда не очень знаешь чего хочешь. Да и когда знаешь, но не можешь попробовать — тоже не праздник — мир разнообразен и все сразу не перепробуешь.

[][2]
**Рекомендательные системы** сильно помогают в выборе, но не везде и не всегда так как хотелось бы. Часто не учитывается семантика содержания. Кроме того, во весь рост встает проблема _"[длинного хвоста][3]"_, когда рекомендации сосредоточены только на самых популярных позициях, а интересные, но не очень популярные в массе вещи ими не охвачены.

Cвой эксперимент в этом направлении я решил **начать с поиска интересных текстов** взяв для этого довольно небольшое, но пишущее сообщество авторов, которые еще остались на блоговой платформе _[Живой Журнал][4]_. О том **как сделать собственную рекомендательную систему** а в результате получить еще и помощник в выборе вина на вечер — под катом.
[Читать дальше →][5]

[1]: https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D0%B7%D0%B8%D1%81%D1%82%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D1%80%D0%B8%D0%B7%D0%B8%D1%81
[2]: https://habrahabr.ru/post/340262/
[3]: http://letopisi.org/index.php/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B4%D0%BB%D0%B8%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%85%D0%B2%D0%BE%D1%81%D1%82%D0%B0
[4]: http://www.livejournal.com
[5]: https://habrahabr.ru/post/340262/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Киллерфича в vim — это режимы? Серьёзно?
habra.16
habrabot(difrex,1) — All
2017-10-18 13:32:34


Недавно вышла [статья][1], которую вы наверняка читали, про то, что vim — хорош, а IDE — так себе, скорость набора текста не та.



Напомню: главный посыл той статьи был в том, что главная киллер-фича вима — это режимы, благодаря которой всё остальное не важно. При этом автор согласился с тем, что в IntellijIdea и других IDE есть хоткеи и т.д., которыми вполне можно пользоваться. Но режимов то нет, поэтому вим.



Далее автор предлагает для перемещения по словам вместо `ctrl-стрелочка` использовать последовательность `Esc`, `e` и потом возвращаться в режим редактирования `i`. Всё это потому, что **неудобно удерживать `ctrl`**.



Я знаю, что статьи, рассматривающие vim в невыгодном свете, активно минусуют, но я должен выразить свою позицию.

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

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

[>] Математические основы биткойн-блокчейна
habra.16
habrabot(difrex,1) — All
2017-10-18 13:32:32


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

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

Поэтому в сегодняшней статье мы бы хотели поговорить о математических основах биткойн-блокчейна — эллиптических кривых, ECDSA и ключах.

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

[1]: https://habrastorage.org/webt/59/df/43/59df43e9d01cd724110301.jpeg
[2]: https://habrahabr.ru/company/bitfury/blog/340378/
[3]: https://habrahabr.ru/post/340378/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] SOC for beginners. Задачи SOC: мониторинг
habra.16
habrabot(difrex,1) — All
2017-10-18 16:00:04


Мы продолжаем рассказывать о буднях Security Operations Center – о [реагировании на массовые кибератаки][1], [любопытных кейсах][2] у заказчиков и [правилах корреляции событий][3], позволяющих нам детектировать атаки на заказчиков и пр.

Сегодня мы хотим открыть новый цикл статей, задача которого – продемонстрировать, с какими задачами и трудностями сталкиваются все начинающие (и не очень) SOCостроители, и главное – поделиться нашим опытом по их решению.

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

[1]: https://habrahabr.ru/company/solarsecurity/blog/331860/
[2]: https://habrahabr.ru/company/solarsecurity/blog/333816/
[3]: https://habrahabr.ru/company/solarsecurity/blog/320262/
[4]: https://habrastorage.org/webt/59/e7/1d/59e71dfc73a51846323425.jpeg
[5]: https://habrahabr.ru/post/340386/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Kali Linux: контрольные вопросы по исследованию защищённости систем
habra.16
habrabot(difrex,1) — All
2017-10-18 16:30:08


→ Часть 1. [Kali Linux: политика безопасности, защита компьютеров и сетевых служб][1]
→ Часть 2. [Kali Linux: фильтрация трафика с помощью netfilter][2]
→ Часть 3. [Kali Linux: мониторинг и логирование][3]
→ Часть 4. [Kali Linux: упражнения по защите и мониторингу системы][4]
→ Часть 5. [Kali Linux: оценка защищённости систем][5]
→ Часть 6. [Kali Linux: виды проверок информационных систем][6]
→ Часть 7. [Kali Linux: формализация исследований и типы атак][7]

В трёх предыдущих материалах этой серии речь шла об использовании Kali Linux для оценки защищённости информационных систем. Мы рассказывали о видах проверок, о формализации исследований и типах атак, на устойчивость к которым проверяют сети, компьютеры и программы. Всему этому посвящена 11-я глава книги «[Kali Linux Revealed][8]». Сегодня мы подведём итоги этой главы и представим вашему вниманию контрольные вопросы к ней.

[![image][9]][10]

## 11\.5. Итоги


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

Вспомним основные положения этой главы.
[Читать дальше →][11]

[1]: https://habrahabr.ru/company/ruvds/blog/338338/
[2]: https://habrahabr.ru/company/ruvds/blog/338480/
[3]: https://habrahabr.ru/company/ruvds/blog/338668/
[4]: https://habrahabr.ru/company/ruvds/blog/338668/
[5]: https://habrahabr.ru/company/ruvds/blog/339312/
[6]: https://habrahabr.ru/company/ruvds/blog/339636/
[7]: https://habrahabr.ru/company/ruvds/blog/339828/
[8]: https://kali.training/introduction/kali-linux-revealed-book/
[9]: https://habrastorage.org/getpro/habr/post_images/793/7ad/b69/7937adb69750a09ee728dc1a391f6880.jpg
[10]: https://habrahabr.ru/company/ruvds/blog/340198/
[11]: https://habrahabr.ru/post/340198/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Приглашение на Meetup по компьютерному зрению в Avito, 28 октября
habra.16
habrabot(difrex,1) — All
2017-10-18 16:30:08


Мы рады пригласить вас на встречу специалистов по анализу данных, которая пройдет в московском офисе Avito 28-го октября. Митап посвящен компьютерному зрению. Вы сможете узнать о передовых достижениях в задачах распознавания лиц и сегментации изображений, о real-time адаптации нейросетевых и классических алгоритмов, а также мы представим наш сервис — AvitoNet. Подробная программа и ссылка на регистрацию под катом.



![][1]

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

[1]: https://habrastorage.org/webt/59/e7/3d/59e73d036d944020620099.jpeg
[2]: https://habrahabr.ru/post/340324/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] До конференции Moscow Python осталось два дня. Что интересного в программе?
habra.16
habrabot(difrex,1) — All
2017-10-18 20:30:04


![][1]


Мы в Voximplant не только создаем платформу телефонии для JavaScript разработчиков и организуем раз в год собственную конференцию [INTERCOM][2], но и поддерживаем коллег по индустрии. В свободное от продвижения Voximplant время я помогаю сообществу [Moscow Python][3]: мы делаем митапы, обучающие курсы, ежегодную конференцию — всю вот эту веселую движуху вокруг самого сообществообразующего языка программирования. Послезавтра, в пятницу 20-го октября, состоится большая конференция Moscow Python Conf, для которой я помогал выбирать спикеров, делать программу, и во время которой я буду вести один из двух потоков. Два дня до начала — самое время, чтобы вспомнить о конференции, еще раз [заценить программу][4] и потребовать у меня в личку скидку для Хабрапользователей. Скидок я из остальных организаторов выбил десять штук, кто первый — того и тапки.
[подробнее о тапках под катом][5]

[1]: https://habrastorage.org/webt/59/e7/49/59e749762fd40989262678.png
[2]: https://intercomconf.com/
[3]: http://moscowpython.ru
[4]: https://conf.python.ru/#schedule-section
[5]: https://habrahabr.ru/post/340414/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Почему SQL одерживает верх над NoSQL, и к чему это приведет в будущем
habra.16
habrabot(difrex,1) — All
2017-10-18 21:00:04


[![][1]][2]
_SQL пробуждается и наносит ответный удар силам тьмы — NoSQL_

С самого начала компьютерной эры человечество собирает экспоненциально растущие объемы данных, и вместе с этим растут требования к системам хранения, обработки и анализа данных. Из-за этого в последнее десятилетие разработчики ПО отказались от SQL как от устаревшей технологии, которая не могла масштабироваться вместе с растущими объемами данных — и в результате появились базы данных NoSQL: MapReduce и Bigtable, Cassandra, MongoDB и другие.

Однако сейчас SQL возрождается. Все основные поставщики облачных услуг предлагают популярные управляемые сервисы реляционных баз данных: [Amazon RDS][3], [Google Cloud SQL][4], [база данных Azure для PostgreSQL][5] (запущена буквально в этом году) и другие. Если верить компании Amazon, ее совместимая с PostgreSQL и MySQL база данных Aurora стала «[самым быстрорастущим сервисом в истории AWS][6]». Не теряют популярности и SQL-интерфейсы поверх платформ Hadoop и Spark. А в прошлом месяце [поддержку SQL запустила и Kafka][7]. Авторы статьи скромно признаются, что и сами разрабатывают новую [базу данных временных рядов][8], которая полностью поддерживает SQL.

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

**Переведено в [Alconost][9]**


### **Часть 1. Новая надежда**

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

[1]: https://habrastorage.org/webt/59/e7/05/59e70555ad3b2597597116.jpeg
[2]: https://habrahabr.ru/company/alconost/blog/340372/
[3]: https://aws.amazon.com/rds/
[4]: https://cloud.google.com/sql/docs/
[5]: https://azure.microsoft.com/ru-ru/services/postgresql/
[6]: http://www.businesswire.com/news/home/20161130006131/en/AWS-Extends-Amazon-Aurora-PostgreSQL-Compatibility
[7]: https://www.confluent.io/blog/ksql-open-source-streaming-sql-for-apache-kafka/
[8]: https://github.com/timescale/timescaledb
[9]: https://alconost.com?utm_source=habrahabr&utm_medium=article&utm_campaign=translation&utm_content=sql-nosql
[10]: https://habrahabr.ru/post/340372/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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


# Задача на сегодня: как определить угол поворота инкрементального энкодера?


Сегодня в серии публикаций про ардуино головного мозга коротенькая статья с небольшим экспериментом и парой рецептов. В комментариях к одной из моих прошлых статей [меня обвинили][1] в том, что ардуиной подсчитывать импульсы энкодера — фу так делать:
> Оптически энкодер 1000/оборот и ATMega не имеющая аппаратной схемы работы с энкодером (как у серий STM32, например) — это тупик.
Дальше в комментариях было много теоретизирования, которое лучше пропустить. Давайте лучше попробуем протестировать в железе, насколько это тупик. Для начала, что такое инкрементальный энкодер? Тот, кто помнит эпоху до-оптических мышек, ответ знает точно.

Внутри энкодера есть диск с прорезями, вот для наглядности я сделал фотографию диска с пятьюстами прорезями:

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

[1]: https://habrahabr.ru/post/280486/#comment_8837922
[2]: https://habrastorage.org/getpro/habr/post_images/075/2f3/c7c/0752f3c7c8453cfbe46e03af48fdb6fd.jpg
[3]: https://habrahabr.ru/post/340448/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Почему роботы должны форматировать код за нас
habra.16
habrabot(difrex,1) — All
2017-10-19 06:30:12


![image][1]

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

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

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

[1]: https://habrastorage.org/getpro/habr/post_images/c98/e93/1ac/c98e931ac96b3932bf238348d3f4e7e6.jpg
[2]: https://habrahabr.ru/post/340304/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] OpenShift.IO: all-in-one платформа для разработки и CI/CD
habra.16
habrabot(difrex,1) — All
2017-10-19 06:30:12


Тотальная контейнеризация и переосмысление роли контейнеров в процессе девелопмента и развития инфраструктуры не могла не сподвигнуть главных адептов open source мира на дальнейшие свершения. Red Hat уверенно гнет свою линию, и если несколько лет назад OpenShift был всего лишь PaaS-ом, то сегодня — это нечто большее. Сам по себе OpenShift понятен, но не прост. Сделать процесс управления контейнерами и развертывания приложений как можно более безболезненным и безопасным — главная задача, которую преследует OpenShift, и стоит отметить, ребята из Red Hat преуспели в этом. Но, сам по себе OpenShift никак не приближает к заветной мечте — предоставить девелоперу, ПМу, QA инженеру окружение, где будет все. Это такой себе идеальный мир без Jira или RedMine, без нескончаемых Jenkins слейвов, незаконченных обновлений стейджинга, различных IDE, которые по разному ведут себя с разными проектами, без ручных настроек проектов на GitHub. Этот идеальный мир — проект, который Red Hat анонсировали относительно недавно, а именно в мае 2017, и имя ему [openshift.io][1]. [Читать дальше →][2]

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

[>] Червь ATMii позволяет похищать деньги из банкоматов
habra.16
habrabot(difrex,1) — All
2017-10-19 07:00:04


[![][1]][2]

_Изображение: [William Grootonk][3], [CC BY-SA 2.0][4]
_
Издание SC Magazine [рассказало][5] об обнаружении нового семействоа зловредного ПО для банкоматов, с помощью которого злоумышленники могут красть все, хранящиеся в них деньги. Червь получил название ATMii — его жертвами становятся устройства на базе Windows 7 и Vista. [Читать дальше →][6]

[1]: https://habrastorage.org/webt/59/e7/15/59e715f6ba664084506938.jpeg
[2]: https://habrahabr.ru/company/pt/blog/340388/
[3]: https://www.flickr.com/photos/catatronic/2160544145/
[4]: https://creativecommons.org/licenses/by-sa/2.0/
[5]: https://www.scmagazine.com/simple-malware-targets-atms-running-old-windows-software/article/699298/
[6]: https://habrahabr.ru/post/340388/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Сравнение и создание морфологических анализаторов в NLTK
habra.16
habrabot(difrex,1) — All
2017-10-19 07:00:04


Здравствуйте. Это статья о сравнении существующих и создании своих морфологических анализаторов в библиотеке NLTK.


### Введение


NLTK — пакет библиотек и программ для символьной и статистической обработки естественного языка, написанных на языке программирования Python. Отлично подходит для людей, изучающих компьютерную лингвистику, машинное обучение, информационный поиск [1].
В данной статье я буду сопровождать примеры кодом на языке Python (версии 2.7).
[Читать дальше →][1]

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

[>] [Из песочницы] Пишем Arcsight FlexConnector. Log File
habra.16
habrabot(difrex,1) — All
2017-10-19 07:00:04


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

Принимая во внимание, о каком количестве разных информационных систем может идти речь, невольно задумываешься о возможных вариантах и подходах подключения возможных информационных систем к SIEM и моим желанием поделиться этими знаниями с коллегами, кто тесно связан и работает с системами данного класса. В качестве примера возьмём наиболее популярную систему Arcsight и рассмотрим возможные варианты подключения к информационным системам компании с помощью FlexConnector.

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

[1]: https://habrastorage.org/webt/59/e4/c1/59e4c18e91fb0855336461.png
[2]: https://habrahabr.ru/post/340396/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Visual Scripting: будущее уже наступило?
habra.16
habrabot(difrex,1) — All
2017-10-19 07:30:04


Эту статью можно рассматривать как обзор-рассуждение на тему визуального программирования. У меня самого больше опыта создания игр на Unity, в Unreal Engine 4 я новичок, поэтому мы будем говорить о самом явлении визуального программирования в целом, а не только о UE.

![][1]

#### Немного истории, или коротко о визуальном программировании


Мы не будем слишком глубоко уходить в историю, но знайте: визуальные языки как таковые появились очень давно, задолго до того, как увидел свет визуально прекрасный Unreal Blueprint. Проанализировав концепцию визуального программирования более внимательно, мы увидим, что она базируется на парадигме программирования потока данных (dataflow programming). Этот подход был придуман еще в 70-х годах прошлого века. Он заключается в том, что любую программу можно представить в виде орграфа, который отображает поток данных между компонентами программы (по сути, это та же блок-схема). К сожалению, эта парадигма сейчас находится весьма далеко от трендовых течений, но мы можем вернуться к ней в период расцвета визуального программирования.
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/59/e7/3a/59e73ac208473125707840.jpeg
[2]: https://habrahabr.ru/post/340410/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Мы на Highload++ в этом ноябре: задай вопрос инженерам Badoo
habra.16
habrabot(difrex,1) — All
2017-10-19 14:00:06


![][1]



Привет, Хабр! А особенный привет тем, кто в этом году идет на конференцию Highload++, потому что мы там обязательно встретимся. Мы придем, и не с пустыми руками: восемь докладов в семь разных секций.



Но нам не хочется просто показать описания наших докладов, чтобы вы прочитали и сказали: “Понятно”. **Мы разыграем 3 билета** [на конференцию][2]. Для того, чтобы получить их, нужно задать вопрос в комментариях к этому посту одному из нижеперечисленных спикеров, а мы посоветуемся и наградим троих участников. Чтобы вы смогли придумать вопросы, каждый из ребят немного рассказал о команде, в которой работает, и о своей роли в ней.



Под катом – имена, пароли и, конечно, описания наших докладов на конференции.

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

[1]: https://habrastorage.org/webt/59/e7/6e/59e76e5a8d57e805363467.png
[2]: http://www.highload.ru
[3]: https://habrahabr.ru/post/340444/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Расширения Burp Suite для эффективного тестирования веб-приложений
habra.16
habrabot(difrex,1) — All
2017-10-19 15:00:04


![image][1]
 
Burp Suite – это платформа для проведения аудита безопасности веб-приложений. Содержит инструменты для составления карты веб-приложения, поиска файлов и папок, модификации запросов, фаззинга, подбора паролей и многое другое. Также существует магазин дополнений BApp store, содержащий дополнительные расширения, увеличивающие функционал приложения. В этой статье будут рассмотрены инструменты, повышающие эффективность Burp Suite при тестировании на проникновение веб-приложений.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/02b/eed/7f6/02beed7f68892234fbb8d514974627d7.png
[2]: https://habrahabr.ru/post/340478/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как мы заставили npm-пакеты работать в браузере
habra.16
habrabot(difrex,1) — All
2017-10-19 16:30:07


![][1]



В ходе начальной разработки проекта CodeSandbox я всегда игнорировал поддержку npm-зависимостей. Я думал, что невозможно установить в браузер произвольное, случайное количество пакетов, мой мозг просто отказывался об этом думать.



Сегодня поддержка npm — одна из определяющих возможностей CodeSandbox, так что как-то нам удалось это реализовать. Чтобы фича работала при любых сценариях, пришлось сделать немало итераций, много раз переписывая код, и даже сегодня мы всё ещё можем улучшить логику. Я расскажу, с чего у нас начиналась поддержка npm, что имеем сегодня и что можем сделать для её улучшения.

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

[1]: https://habrastorage.org/webt/59/e8/94/59e894c71e991131484220.jpeg
[2]: https://habrahabr.ru/post/340418/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Руководство по созданию расширений для Jinja2
habra.16
habrabot(difrex,1) — All
2017-10-19 19:00:04


![][1][Jinja2][2] — Python-библиотека для рендеринга шаблонов, являющаяся де-факто стандартом при написании веб-приложений на Flask и довольно популярной альтернативой встроенной системе шаблонов Django. Хотя и будучи сильно привязана к языку, Jinja2 позиционирует себя как инструмент для дизайнеров и верстальщиков, упрощающий вёрстку и отделяющий её от разработки, и пытающийся по мере возможностей изолировать не-разработчиков от Python. Вёрстка, впрочем, не единственное возможное её применение; например, в своей работе я использую шаблоны Jinja2 для генерации SQL-запросов.

Jinja2 [расширяема][3], и многие возможности (например, интернационализация и управление циклами) реализованы именно как расширения. Однако, документация по написанию расширений, как мне кажется, несколько неполна; от примера несложного (но тщательно прокомментированного) расширения она перескакивает сразу к описанию API _некоторых_ классов Jinja2, которое довольно трудно читать подряд. В этой статье я попытаюсь исправить это упущение и создать в голове читателя полную и ясную картину того, как работает Jinja2, как устроены её расширения и как с помощью расширений модифицировать разные этапы обработки шаблонов.
[Читать дальше →][4]

[1]: https://habrastorage.org/storage2/e08/d18/3c4/e08d183c4ba545cb95fc71ac220b7083.png
[2]: http://jinja.pocoo.org/
[3]: http://jinja.pocoo.org/docs/2.9/extensions/#jinja-extensions
[4]: https://habrahabr.ru/post/340254/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] TextView и Spannable: выделение частей слова
habra.16
habrabot(difrex,1) — All
2017-10-19 22:30:05


![][1]

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

Меня зовут Оксана и я Android-разработчик в небольшой, но очень классной команде [Trinity Digital][2].

Сегодня я буду рассказывать про маленькую часть большого проекта.

Проект зовется **_“Школа 2100”_** и представляет собой коллекцию электронных учебников с разными фичами: поиском, закладками-заметками, дополнительными материалами, тестовыми заданиями, etc. И как раз в том, что названо _“тестовыми заданиями”_ кроется предмет обсуждения.

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

[1]: https://habrastorage.org/webt/59/e4/a7/59e4a7a1a2c9a577588264.png
[2]: https://www.facebook.com/trinitydigitalrus/
[3]: https://habrahabr.ru/post/340232/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Пулл-реквесты с эмпатией
habra.16
habrabot(difrex,1) — All
2017-10-20 01:30:04


![][1]

В компании Slack считают, что эмпатия — это суперспособность, и у разработчиков она должна быть включена по максимуму.

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

[1]: https://habrastorage.org/webt/59/e7/3f/59e73f612f87f865942011.png
[2]: https://habrahabr.ru/post/340456/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Russian AI Cup 2017 — всем поклонникам StarCraft и C&C посвящается
habra.16
habrabot(difrex,1) — All
2017-10-20 16:30:04


![][1]



Уже несколько лет подряд мы совместно проводим Russian AI Cup — нехилый такой конкурс для всех неравнодушных к программированию в целом, к построению ИИ, просто к написанию ботов для игр или автоматизации чего бы то ни было. Естественно, и этот год не будет исключением. Итак, Mail.Ru Group в сотрудничестве с Саратовским государственным университетом официально объявляют о дате старта Russian AI Cup 2017 и счастливы предложить задачу этого года. Жёсткие битвы, макбуки за первые места и минус полтора месяца из жизни разработчика — всё на месте, всё как вы любите. Добро пожаловать под кат за подробностями!

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

[1]: https://habrastorage.org/webt/59/e9/e5/59e9e5824fd0c099373861.jpeg
[2]: https://habrahabr.ru/post/340540/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Определение устойчивости систем автоматического управления промышленными роботами
habra.16
habrabot(difrex,1) — All
2017-10-20 20:30:04


### Введение


Необходимым условием работоспособности системы автоматического управления (САУ), является её устойчивость. Под устойчивостью принято понимать свойство системы восстанавливать состояние равновесия, из которого она была выведена под влиянием возмущающих факторов после прекращения их воздействия [1].


### Постановка задачи


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

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

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


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

[1]: https://habrastorage.org/webt/59/e9/a9/59e9a98e76a08555642880.png
[2]: https://habrahabr.ru/post/340580/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Полезные скрипты при миграции из Oracle в PostgreSQL
habra.16
habrabot(difrex,1) — All
2017-10-20 20:30:04


Во время миграции из Oracle в PostgreSQL с помощью ora2pg встал вопрос с несоответствием типов данных между разными базами. По умолчанию не все колонки конвертируется правильно, а отсутствие в Oracle Boolean и вовсе порождает неоднозначность – часть колонок нужно перенести как числа, часть как логические значения. В тоже время hibernate знает все о типах данных и может создать эталонную схему.

Итоговый процесс переноса выглядел следующим образом: создание структуры таблиц через ora2pg, исправление структуры по эталонной схеме, перенос данных, конвертация blob и Boolean, добавление отсутствующих в PostgreSQL функций (nvl, nvl2, regexp\_substr), создания оставшейся структуры — индексов, view и прочего.

Под катом накопившиеся за время конвертации sql скрипты для полуавтоматической миграции.
[Читать дальше →][1]

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

[>] Практика анализа данных в прикладной психологии
habra.16
habrabot(difrex,1) — All
2017-10-21 19:00:04


![][1]


### 1\. Вступление {#1-vstuplenie}



Показан процесс анализа информации в сфере прикладной психологии. Если быть более точным, то я поделюсь своим опытом поиска различий между двумя группами людей. Будет показан один из самых популярных сценариев решения подобной задачи, а также приведены примеры исходного кода на языках программирования R и Python. Важно понимать, что вся изложенная информация является моим личным субъективным мнением.

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

[1]: https://habrastorage.org/webt/59/eb/1f/59eb1f1fdd336433700377.png
[2]: https://habrahabr.ru/post/340628/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пишем простой счётчик уникальных слов на Python с GUI на Tkinter
habra.16
habrabot(difrex,1) — All
2017-10-21 22:00:05


Данная статья написана для тех, кто только начал изучать Python. В ней я пошагово опишу создание простого счетчика слов из txt-файлов, применяя Tkinter. Исходный код написан под Python 2.7, в конце статьи я добавлю несколько комментариев относительно того, как перенести его под 3.6


## С чего начинаем?


Никаких незаурядных лестниц в программе не будет, так что рекомендую писать в IDLE; конечно же, без проблем можно писать и в PyCharm'е, и в Эклипсе.
[Читать дальше →][1]

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

[>] [Перевод] Ваши собственные std::code_error
habra.16
habrabot(difrex,1) — All
2017-10-22 01:30:04


## Пара слов от переводчика


Продолжая освещать тему `std::system_error` в рунете, я решил перевести несколько статей из блога Andrzej Krzemieński, который мне посоветовали в комментариях к предыдущему посту.

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

Так же хочу предупредить, что у Andrzej Krzemieński достаточно сумбурный стиль изложения, который я не стал править. Все же я выступаю в роли переводчика, а не редактора. Так что, возможно, чтобы понять некоторые тезисы придется перечитать дважды.
[Читать дальше →][1]

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

[>] Дюжина приемов в Linux, которые действительно сэкономят уйму времени
habra.16
habrabot(difrex,1) — All
2017-10-22 14:00:04



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

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

Под катом — дюжина приемов в командной строке — из личного опыта.
[Читать дальше →][3]

[1]: https://scanlibs.com/regulyarnyie-vyirazheniya-3-e-izdanie/
[2]: https://habrahabr.ru/post/339246/
[3]: https://habrahabr.ru/post/340544/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] “Без data engineer-а ценность модели аналитика стремится к нулю” — интервью с дата инженером Николаем Марковым
habra.16
habrabot(difrex,1) — All
2017-10-22 14:00:04


Привет, Хабр! Data Engineering становится все более популярным, многие компании постепенно открывают соответствующие вакансии. В связи с этим мы взяли интервью у дата инженера и преподавателя на программах [“Специалист по большим данным”][1] и [“Data Engineer”][2] Николая Маркова о том, что должны уметь data scientist-ы и data engineer-ы, чего им чаще всего не хватает и как найти свое место в анализе данных.

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

[1]: https://goo.gl/oSnNJe
[2]: https://goo.gl/GR4aNH
[3]: https://habrastorage.org/webt/59/e7/e5/59e7e56eab3ec238714342.jpeg
[4]: https://habrahabr.ru/post/340582/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Алгоритмы построения пути для беспилотного автомобиля. Лекция Яндекса
habra.16
habrabot(difrex,1) — All
2017-10-22 16:30:05


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


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

[1]: https://yandex.com/company/blog/yandex-taxi-unveils-self-driving-car-project/
[2]: https://habrahabr.ru/post/340674/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Расширяем и используем Flatpages в Django. Встраиваем CKEditor
habra.16
habrabot(difrex,1) — All
2017-10-22 22:00:04


Здравствуйте, сегодня я хотел бы вам рассказать о том, как сделать модель, которая хранит в себе обычные страницы, а не отдельные записи в базе данных (для ListView, TemplateView и тд). Речь пойдёт о том, как расширить и дополнить существующие в Django flatpages. Но хотелось бы рассказать о проблеме, с которой я столкнулся и почему решил поделиться данным функционалом. Часто возникает ситуация, когда в админке для администратора сайта нужно реализовать функционал самой обычной страницы (одна запись в БД – это одна страница, где прописывается url, контент и доп. инфа для конкретной страницы). Тем самым можно создавать прямо из админки новые страницы с любым url и контентом.
[Читать дальше →][1]

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

[>] [Из песочницы] Установка и настройка Network License Manager в ОС Linux AutoCAD
habra.16
habrabot(difrex,1) — All
2017-10-23 07:30:04


****

### Как я ставил Network License Manager на linux


Это никакая не инструкция, это рассказ скорее, просто делюсь опытом ошибок, пишу о этом сразу.

Предисловие небольшое:

_В нашей организации работает несколько отделов в программе AutoDesk AutoCAD, организация горнодобывающая (по простому говоря — рудник), маркшейдера, геологи и проектный отдел использует этот софт. Лицензии подключаются с сервера лицензий (на данный момент на ОС Windows Server 2003 ) и в какой то момент повалилась куча заявок о том, что программы не могут получить лицензии. Периодически наглухо зависает софт, честно говоря причину мы никто так и не выяснили, тем не менее гр. администрирования предположили что дело в системе. Решили перенести сервер на linux, к слову есть сама программа под эту ОС, что решало проблему с лицензией ещё к тому же. И вот, так как админам попросту некогда всем этим заниматься, приступил к данной затее я, спец-ст гр. техподдержки (хотя зачем мне это нужно, ведь и так мог перезагружать виртуальный сервер с «виндой» раз в недельку, остаётся загадкой)._

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

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

[>] Каррирование и частичное применение на C++14
habra.16
habrabot(difrex,1) — All
2017-10-23 07:30:04


В этой статье я расскажу об одном из вариантов каррирования и частичного применения функций в любимом мною C++, покажу свою экспериментальную реализацию сего действа и объясню без математики, на пальцах, что такое вообще каррирование и что же под капотом у [kari.hpp][1], с помощью которой мы и будем каррировать функции. Ну и как тут принято: заинтересовавшихся — прошу под кат.

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

[1]: https://github.com/BlackMATov/kari.hpp "kari.hpp"
[2]: https://habrahabr.ru/post/340722/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Обзор дефектов кода музыкального софта. Часть 3. Rosegarden
habra.16
habrabot(difrex,1) — All
2017-10-23 11:00:04


![][1]


Программы для работы с музыкой имеют маленький объём кода и, поначалу, я сомневался в возможности находить достаточное количество ошибок для статей. Тематику музыкального софта всё равно хотелось затронуть, поэтому я был готов объединять несколько проектов в статье. И вот я пишу уже третью статью, стараясь хоть как-то вместить интересные ошибки в одну статью. Третьим проектом для анализа выбран MIDI-секвенсор и нотный редактор — Rosegarden. Внимание! Прочтение статьи вызывает «Facepalm»!
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/9dd/003/8ee/9dd0038ee2e24d29e151dda31931a00b.png
[2]: https://habrahabr.ru/post/340730/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «4 свадьбы и одни похороны» или линейная регрессия для анализа открытых данных правительства Москвы
habra.16
habrabot(difrex,1) — All
2017-10-23 11:30:05


Несмотря на множество замечательных материалов по Data Science например, от [Open Data Science][1], я продолжаю собирать объедки с пиршества разума и продолжаю делится с вами, своим опытом по освоению навыков машинного обучения и анализа данных с нуля.

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

Помнится, в одной из [ статей ][2] я агитировал читателей посмотреть в сторону отечественных открытых данных. Но поскольку я не барышня из рекламы «кефирчика для пищеварения» или шампуня с лошадиной силой, совесть не позволяла советовать что-либо, не испытав на себе.

С чего начать? Конечно с открытых данных правительства РФ, там же ведь целое министерство есть. Мое знакомство [с открытыми данными правительства РФ][3], было примерно, такое же как на иллюстрации к этой статье. Нет ну не то чтобы мне совсем не был интересен реестр Кинозалов города Новый Уренгой или перечень прокатного оборудования катка в Туле, просто для задачи регрессии они не очень подходят.

Если порыться думаю и на сайте ОД правительства РФ можно найти, что-то путное, просто не очень легко.

[Данные Минфина][4] я тоже решил оставить, на потом.

Пожалуй, больше всего мне понравились открытые данные правительства Москвы, там я присмотрел пару потенциальных задачек и выбрал в итоге [Сведения о регистрации актов гражданского состояния в Москве по годам][5]

Что вышло из применения минимальных навыков в области линейной регрессии можно в краткой форме посмотреть на [GitHub][6], ну и конечно же заглянув под кат.

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

[1]: https://habrahabr.ru/company/ods/blog/322626/#1-o-kurse
[2]: https://habrahabr.ru/post/337040/
[3]: http://data.gov.ru/
[4]: https://www.minfin.ru/ru/OpenData/
[5]: https://goo.gl/eVabkm
[6]: https://github.com/bosonbeard/Funny-models-and-scripts/blob/master/5.family_registered_habr.ipynb
[7]: https://habrastorage.org/webt/59/ed/1a/59ed1a8024b00754416084.png
[8]: https://habrahabr.ru/post/340698/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] БЭМ + React: гибкая архитектура дизайн-системы
habra.16
habrabot(difrex,1) — All
2017-10-23 12:00:04


[![][1]
][2]

Дизайн — это фашизм. Фашизму нужна питательная среда. Он начинает раскрываться в полной мере только на крупных масштабах. Идеальная среда для фашизма — это большая компания с огромным количеством продуктов. Например, Google или… Альфа-Банк. Фашизм априори не гибок…
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/59/ed/9e/59ed9e6e2b8b7621900912.png
[2]: https://habrahabr.ru/company/alfa/blog/340522/
[3]: https://habrahabr.ru/post/340522/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Асинхронность 3: Субъекторная модель
habra.16
habrabot(difrex,1) — All
2017-10-23 12:30:05


![Двое из ларца][1]


## Предисловие


Эта статья является продолжением цикла статей про асинхронность:

1. [Асинхронность: назад в будущее.][2]
2. [Асинхронность 2: телепортация сквозь порталы.][3]

Спустя 3 года я решил расширить и обобщить имеющийся спектр асинхронного взаимодействия с использованием сопрограмм. Помимо этих статей также рекомендуется ознакомиться с _универсальным адаптером_:

1. [Универсальный адаптер][4]


## Введение


Рассмотрим электрон. Что он из себя представляет? Отрицательно заряженная элементарная частица, лептон, обладающий некоторой массой. Это означает, что он может участвовать по меньшей мере в электромагнитных и гравитационных взаимодействиях.
[Читать дальше →][5]

[1]: https://habrastorage.org/webt/59/ed/00/59ed00e49ed3c456596988.jpeg
[2]: https://habrahabr.ru/post/201826/
[3]: https://habrahabr.ru/company/yandex/blog/240525/
[4]: https://habrahabr.ru/post/340314/
[5]: https://habrahabr.ru/post/340732/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Time Travel Debugging в новом WinDbg
habra.16
habrabot(difrex,1) — All
2017-10-23 14:00:06


Возможно, вы уже слышали о том, что Microsoft выпустила обновлённую версию своего известного отладчика WinDbg, который и раньше был хорош, но слишком уж отстал по интерфейсу от современных тенденций. Новая версия WinDbg, к счастью, не пошла настолько далеко, чтобы получить новомодный UWP-интерфейс, но вот классические риббон-бары в стиле Microsoft Office — ей очень идут. Приложение распространяется только через Microsoft Store и работают на Win10 как минимум с Anniversary Update. Microsoft говорит, что это сделано для удобства установки и обновления, но я как-то не помню, чтобы с классическим WinDbg были какие-то проблемы с установкой. Скорее это выглядит как ещё один способ приучения разработчиков и пользователей к привычке пользоваться только самой последней версией Windows. Ну ок, пусть так.

WinDbg выглядит симпатично

![image][1]

И вся его мощь в виде команд, отладки драйверов, удалённой отладки, скриптов и прочего — осталась при нём. Более того, 25 сентября было выпущено обновление, добавляющее в новый WinDbg важную фичу — отладку с возможностью двигаться по ходу работы программы в обратном направлении (Time Travel Debugging). Возможность интересная, поскольку попав в некоторое невалидное состояние программист часто задаётся вопросом «А как же так вышло?». Ранее получить на него ответ можно было либо проигрывая в уме команды в обратном порядке, либо перезапуская отладку снова и снова с добавлением логов и новых контрольных точек. Всё это занимало время. Давайте посмотрим, как это работает сейчас.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/d7d/ebf/54a/d7debf54a246a7bef488aa133437f15e.png
[2]: https://habrahabr.ru/post/340744/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Почему нужно перестать использовать Git rebase
habra.16
habrabot(difrex,1) — All
2017-10-23 16:30:06


![][1]



После нескольких лет работы с Git я обнаружил, что постепенно стал переходить на всё более сложные Git-команды в рабочем процессе. Вскоре после того как я открыл для себя Git rebase, я тоже быстро внедрил эту команду в повседневные задачи. Те, кто знаком с этой процедурой, знают, насколько это мощный инструмент и какой это соблазн — постоянно им пользоваться. Но вскоре оказалось, что rebase влечёт за собой ряд неочевидных на первый взгляд трудностей. Но прежде чем обсудить их, хочу быстро рассмотреть различия между merge и rebase.

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

[1]: https://habrastorage.org/webt/59/ed/da/59eddadd3bb85762934500.jpeg
[2]: https://habrahabr.ru/post/340558/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Покупка современного сервера Intel c NVMe P4800X
habra.16
habrabot(difrex,1) — All
2017-10-23 21:00:05


Сентября 17го года купил в личное пользование сервер стоимостью 7680$ у поставщика Тиском.
Поставил в Московский ЦОД tech.ru и приступил к эксплуатации.

Фото-отчёт в наличии. Статья состоит из 5 частей:

1. Зачем мне сервер.
2. Выбор конфигурации.
3. Выбор у кого покупать.
4. Выбор у кого размещать.
5. Проблемы с настройкой данного сервера.
[Читать дальше →][1]

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

[>] [Из песочницы] Введение в Beautiful Capi, инструмент создания С++ оберток для С++ библиотек
habra.16
habrabot(difrex,1) — All
2017-10-23 21:00:05


Beautiful Capi — это инструмент облегчающий создание динамических библиотек на языке С++ с внешним интерфейсом на языке Си. Данный инструмент генерирует также С++ обертки для этого Си интерфейса. Beautiful Capi написан на языке Python 3.



Основная головная боль разработчиков библиотек на С++ в отсутствии единого стандарта ABI. Различные компиляторы имеют разный ABI, соглашения о именовании, схемах перехвата исключений и т.д. Поэтому программистам на С++ приходится каждый раз брать исходники библиотеки и собирать ее при помощи нужного компилятора.



Это хорошо, если библиотека популярная, и для нее добрый дядя уже выложил бинарные файлы для большинства компиляторов С++. Опять таки, для большинства компиляторов. Компиляторов С++ достаточно много, и, если учитывать разные версии одного и того же компилятора, имеющими несовместимый ABI, то вероятность того, что уже собранная библиотека вам не подойдет — достаточно высока. Плюс, добавим к этому различные настройки компиляторов, влияющие на двоичную совместимость.

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

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

[>] [Из песочницы] Асинхронные режимы фреймворка gRPC и принципы их работы в С++
habra.16
habrabot(difrex,1) — All
2017-10-24 01:30:04


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

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

[>] Краткий курс машинного обучения или как создать нейронную сеть для решения скоринг задачи
habra.16
habrabot(difrex,1) — All
2017-10-24 09:00:04


![image][1]

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

Вопросы, которые разобраны в статье:

• Как собрать и подготовить данные для построения модели?
• Что такое нейронная сеть и как она устроена?
• Как написать свою нейронную сеть с нуля?
• Как правильно обучить нейронную сеть на имеющихся данных?
• Как интерпретировать модель и ее результаты?
• Как корректно оценить качество модели?
[Поехали!][2]

[1]: https://habrastorage.org/webt/59/ed/b2/59edb292efcac960883973.jpeg
[2]: https://habrahabr.ru/post/340792/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Почему LLVM может вызвать никогда не вызываемую функцию?
habra.16
habrabot(difrex,1) — All
2017-10-24 10:30:04


> _Что бы ни сказал тебе твой дракон, он солгал. Драконы лживы. Ты не знаешь, что ждет тебя на другой стороне._
> Майкл Суэнвик. «Дочь железного дракона»


Не так давно на хабре был опубликован пост под названием "[Как может вызваться никогда не вызываемая функция?][1]". Выводы из статьи простые: в случае undefined behaviour компилятор вправе предпринимать любые действия, даже если они будут совершенно неожиданными. Однако меня заинтересовал сам механизм этой оптимизации. Результатом своего небольшого исследования я хочу поделиться с уважаемым сообществом хабра.

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

[1]: https://habrahabr.ru/company/infopulse/blog/338812/
[2]: https://habrastorage.org/webt/59/db/92/59db927f86faa183685625.jpeg
[3]: https://habrahabr.ru/post/339700/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Видео-звонки в видеоконференцию Zoom с веб страниц
habra.16
habrabot(difrex,1) — All
2017-10-24 12:00:04


![][1]


В [предыдущей][2] хабрастатье я показал, что если сервис умеет интегрироваться по SIP и RTP, то с ним можно делать много интересных штук. Например, приглашать в видеоконференции Zoom участников с мобильных телефонов. Но наше облако Voximplant — это не только телеком и телефоны. Еще мы любим и умеем SDK, чтобы звонить и принимать звонки из неожиданных мест: с веб страниц, из приложений (звонки через интернет намного дешевле, чем через голосовой канал) и даже из [VR/AR][3] Unity решений. В этой статье я покажу, как с помощью нескольких строк фронтенд JavaScript создавать «звонящие» страницы, с помощью которых участники смогут делать видеозвонок в конференцию. И да, благодаря последнему обновлению от Apple звонить теперь можно и с веб страниц на iPhone!
[Читать дальше →][4]

[1]: https://habrastorage.org/webt/59/d1/eb/59d1ebf729f32526348620.jpeg
[2]: https://habrahabr.ru/company/Voximplant/blog/339650/
[3]: https://unity.voximplant.com/
[4]: https://habrahabr.ru/post/340746/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Тащим музыку из ВК без публичного music API
habra.16
habrabot(difrex,1) — All
2017-10-24 12:00:04


## Как все начиналось


Дело было вечером, делать было нечего… Точнее, я просто хотел загрузить аудиокнигу перед парами и тут меня ждал сюрприз. Кэш в кейт мобайле отключили. Как так? Что делать? Конечно же писать свое приложение с кэшем и аудиозаписями. Но для начала нужно понять, как вк превращает ссылки вида audio%user\_id%\_%track\_id% в прямые ссылки на mp3. Что из этого вышло приложения я не написал и как скачать определенный плейлист можно прочитать под катом.
[Читать дальше →][1]

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

[>] Курс молодого бойца PostgreSQL
habra.16
habrabot(difrex,1) — All
2017-10-24 13:30:06


[![][1]][2]

Хочу поделиться полезными приемами работы с PostgreSQL (другие СУБД имеют схожий функционал, но могут иметь иной синтаксис).

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

Данный материал будет полезен тем, кто полностью освоил базовые навыки SQL и желает учиться дальше. Советую выполнять и экспериментировать с примерами в **pgAdmin**'e, я сделал все SQL-запросы выполнимыми без разворачивания каких-либо дампов.

Поехали!
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/59/ea/6d/59ea6defd5c6d032615478.png
[2]: https://habrahabr.ru/post/340460/
[3]: https://habrahabr.ru/post/340460/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Состоялся релиз OWASP Top 10 2017 RC 2
habra.16
habrabot(difrex,1) — All
2017-10-24 15:00:05


![image][1]

Обновился список Топ-10 уязвимостей от OWASP (Release Candidat 2)— наиболее критичных рисков безопасности веб-приложений.

На проект OWASP Топ-10 ссылается множество стандартов, инструментов и организаций, включая MITRE, PCI DSS, DISA, FTC, и множество других. OWASP Топ-10 является признанной методологией оценки уязвимостей веб-приложений во всем мире. Проект OWASP Топ-10 отражает наиболее значимые угрозы веб-приложению.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/1e5/b5d/dcf/1e5b5ddcf07a0e4edf14d2a95163aa20.png
[2]: https://habrahabr.ru/post/340800/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 ... 133