RSS
Pages: 1 ... 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 ... 133
[>] ONLYOFFICE в локальной сети: новый интерфейс редакторов, отчеты в CRM и многое другое
habra.16
habrabot(difrex,1) — All
2017-11-16 16:30:05


Наконец-то увидели свет новые версии наших серверных решений — Enterprise и Community Edition. Вы даже не представляете, что мы пережили тут из-за этого релиза. Зато в решениях появилось много всего хорошего! Мы обновили три из четырех компонентов ONLYOFFICE: Сервер документов, Сервер совместной работы и Контрольную панель.

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

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

[1]: https://habrastorage.org/webt/o7/8z/12/o78z125io_qw58k_wp1utp43i7e.png
[2]: https://habrahabr.ru/post/342544/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Сервис-ориентированная архитектура (SOA)
habra.16
habrabot(difrex,1) — All
2017-11-16 17:00:04


![][1]



Сервис-ориентированная архитектура (service-oriented architecture, SOA) придумана в конце 1980-х. Она берёт своё начало в идеях, изложенных в CORBA, DCOM, DCE и других документах. О SOA написано много, есть несколько её реализаций. Но, по сути, SOA можно свести к нескольким идеям, причём архитектура не диктует способы их реализации:


* Сочетаемость приложений, ориентированных на пользователей.
* Многократное использование бизнес-сервисов.
* Независимость от набора технологий.
* Автономность (независимые эволюция, масштабируемость и развёртываемость).

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

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

[1]: https://habrastorage.org/webt/ey/br/er/eybrert4uuwh3skcp5kprps9ye8.jpeg
[2]: https://habrahabr.ru/post/342526/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Микросервисы: деплой, координация и согласованность данных
habra.16
habrabot(difrex,1) — All
2017-11-17 09:00:04


![][1]

Про микросервисы не рассказывал только ленивый. Вот и мы не ленивые. Решили поговорить о микросервисах. Но только не ещё раз о том, что это такое, а о том, как мы их сервируем в 2ГИС. Например, наши бекенды держат 15 млн пользователей в месяц. На встрече поговорим о деплое, координации и согласованности данных.
[Подробности про DevDay][2]

[1]: https://habrastorage.org/webt/zi/qq/ks/ziqqksb62twhbaxpnrsumrxgaee.png
[2]: https://habrahabr.ru/post/342588/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Установка Proxmox VE на Debian Stretch используя Ansible
habra.16
habrabot(difrex,1) — All
2017-11-17 09:00:04


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

Если кратко, то Proxmox это система виртуализации на KVM, которая ещё умеет управляться с контейнерами LXC. Также имеется возможность кластеризации(для некоммерческой версии ограничение около 8 нод). Умеет работать с Ceph, ZFS. Если подробно, то советую почитать [вики][1] или посмотреть [ютуб][2].


### Варианты установки


Дело в том, что ProxmoxVE можно установить при помощи образа, который предоставляется на скачивание, но тогда вам вряд ли будут доступны варинты разбивки с использованием soft-raid для Linux и прочие извращения(если что-то некритичное по производительности — почему нет?). Отдельное спасибо товарищу @merlin\_vrn за знакомство с данной системой.

Существует вариант, когда вы сами ставите Debian актуальной версии именно так как вы хотите, а уже дальше устанавливаете ProxmoxVE как некую надстройку, которая вам заменяет ядро, linux-firmware, lvm, устанавливает свой репозиторий и уже отчасти перестаёт быть Debian. В этом случае у вас гораздо больше пространства для свободы(к примеру, недавно я ставил по сети Debian через liveusb Archlinux используя debootstrap).
[Читать дальше →][3]

[1]: https://pve.proxmox.com/wiki/Main_Page
[2]: https://www.youtube.com/user/ProxmoxVE
[3]: https://habrahabr.ru/post/342310/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Классификация на гуманитариев и технарей по комментариям в VK
habra.16
habrabot(difrex,1) — All
2017-11-17 14:00:08


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



![][1]

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

[1]: https://habrastorage.org/webt/vp/6q/uu/vp6quumatqusnz7l8zcaktaslt4.jpeg
[2]: https://habrahabr.ru/post/342572/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Один на всех: как разорвать замкнутый круг сложностей при разработке коробочного продукта
habra.16
habrabot(difrex,1) — All
2017-11-17 15:30:07


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

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

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

[>] [Перевод] Kali Linux: упражнения по модификации пакетов, сборке ядра и созданию ISO-образов
habra.16
habrabot(difrex,1) — All
2017-11-17 15:30:07


Сегодня публикуем перевод завершения девятой главы книги «[Kali Linux Revealed][1]». Здесь будут подведены итоги таких тем, как модификация пакетов, сборка ядра и создание собственных ISO-образов. Кроме того, тут вы найдёте упражнения к этой главе, на которых, надеемся, будет интересно попробовать свои силы как тем, кто уже знаком с Kali, так и тем, кто только начал осваивать этот дистрибутив.

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

[1]: https://kali.training/introduction/kali-linux-revealed-book/
[2]: https://habrastorage.org/webt/m-/jk/s8/m-jks8sgbnzfvx3zx6pdl7jjlsa.jpeg
[3]: https://habrahabr.ru/company/ruvds/blog/342406/
[4]: https://habrahabr.ru/post/342406/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Переписать базу сообщений ВКонтакте с нуля и выжить
habra.16
habrabot(difrex,1) — All
2017-11-17 16:00:08


Наши пользователи пишут друг другу сообщения, не зная усталости.

![][1]

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

При таком объёме данных критически важно, чтобы логика хранения и доступа к ним была построена оптимально. Иначе в один не такой уж и прекрасный момент может выясниться, что скоро всё пойдёт не так.

Для нас этот момент наступил полтора года назад. Как мы к этому пришли и что получилось в итоге — рассказываем по порядку. [Читать дальше →][2]

[1]: https://habrastorage.org/webt/u_/fr/z4/u_frz4yk-f7x5tc_vspho6lm8bw.png
[2]: https://habrahabr.ru/post/342570/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] CubeDB: минималистичное хранилище счётчиков с многомерными ключами
habra.16
habrabot(difrex,1) — All
2017-11-17 17:00:08


![][1]



Привет, Хабр! Меня зовут Дима Станко, я работаю в BI-команде Badoo в лондонском офисе. Так уж сложилось в нашей компании, что мы стараемся проводить как можно больше измерений активности пользователей. Это необходимо многим специалистам: разработчики тестируют работоспособность кода, коллеги из продуктовых команд убеждаются в гениальности своих идей, админы – в том, что энтропия восторжествует не этой ночью, а коллеги из отдела антиспама – что добро как раз побеждает зло в вечной и эпической схватке.



Обо всём этом мы писали много раз и будем писать ещё, поскольку считаем, что наступать на грабли и не рассказывать о них другим – нехорошо.

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

[1]: https://habrastorage.org/webt/jh/rv/vv/jhrvvv19r-1uxnpsewi7ukhrtfm.jpeg
[2]: https://habrahabr.ru/post/342564/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Learnopengl. Урок 4.1 — Тест глубины
habra.16
habrabot(difrex,1) — All
2017-11-17 17:30:09




# Буфер глубины


В уроке, посвящённом [системам координат][1], мы выполнили рендер трехмерного контейнера с использованием буфера глубины, что позволило предотвратить ошибочный вывод граней, находящихся позади других. В этом уроке мы пристальнее взглянем на буфер глубины (или z-буфер) и хранимые в нем значения, а также узнаем как конкретно проходит проверка находится ли фрагмент позади других.

**В передыдущих сериях**
Часть 1. Начало

1. [OpenGL][2]
2. [Создание окна][3]
3. [Hello Window][4]
4. [Hello Triangle][5]
5. [Shaders][6]
6. [Текстуры][7]
7. [Трансформации][8]
8. [Системы координат][9]
9. [Камера][10]

Часть 2. Базовое освещение

1. [Цвета][11]
2. [Основы освещения][12]
3. [Материалы][13]
4. [Текстурные карты][14]
5. [Источники света][15]
6. [Несколько источников освещения][16]

Часть 3. Загрузка 3D-моделей

1. [Библиотека Assimp][17]
2. [Класс полигональной сетки Mesh][18]
3. [Класс модели Model][19]
[Читать дальше →][20]

[1]: https://habrahabr.ru/post/324968/
[2]: https://habrahabr.ru/post/310790/
[3]: https://habrahabr.ru/post/311198/
[4]: https://habrahabr.ru/post/311234/
[5]: https://habrahabr.ru/post/311808/
[6]: https://habrahabr.ru/post/313380/
[7]: https://habrahabr.ru/post/315294/
[8]: https://habrahabr.ru/post/319144/
[9]: https://habrahabr.ru/post/324968/
[10]: https://habrahabr.ru/post/327604/
[11]: https://habrahabr.ru/post/329592/
[12]: https://habrahabr.ru/post/333932/
[13]: https://habrahabr.ru/post/336166/
[14]: https://habrahabr.ru/post/337550/
[15]: https://habrahabr.ru/post/337642/
[16]: https://habrahabr.ru/post/338254/
[17]: https://habrahabr.ru/post/338436/
[18]: https://habrahabr.ru/post/338436/
[19]: https://habrahabr.ru/post/338998/
[20]: https://habrahabr.ru/post/342610/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Поспорим о Dart и Flutter на встрече русскоязычного сообщества Dart в Питере
habra.16
habrabot(difrex,1) — All
2017-11-17 19:30:07


![][1]


**30 ноября в Питере** пройдет ежегодная [встреча Dart-разработчиков][2]. Что это такое?
Во-первых, это возможность узнать что-то новое (если вы вдруг никогда не слышали о Dart). Во-вторых, это повод хорошо провести время, тем более, что в этот раз всё будет не совсем обычно.
[Что будет?][3]

[1]: https://habrastorage.org/webt/y4/-i/vc/y4-ivcq0u625ltn1si7rtm6edou.jpeg
[2]: https://wriketeam.timepad.ru/event/612517/
[3]: https://habrahabr.ru/post/342616/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] О PVS-Studio в преддверии открытой конференции ИСП РАН им. В.П. Иванникова
habra.16
habrabot(difrex,1) — All
2017-11-17 20:30:07


Научное сообщество практически незнакомо со статическим анализатором кода PVS-Studio. 30 ноября и 1 декабря состоится мероприятие «Технологии анализа, моделирования и трансформации программ» в рамках открытой конференции ИСП РАН им. В.П. Иванникова. Я уверен, что это одно из самых тематичных для нас мероприятий, где новая аудитория могла бы узнать о существовании и возможностях анализатора PVS-Studio. На мой взгляд, наиболее подходящим для этого мог стать доклад, касающийся поиска ошибок в операционной системе Tizen. К сожалению, доклад получил отрицательные отзывы рецензентов и не будет включен в программу конференции. Тем не менее, пользуясь случаем, подведу итоги наших исследований, касающихся кода Tizen.

![Андрей Карпов и Евгений Рыжков][1][Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/6a4/d76/117/6a4d7611780d7cf36328beab877d3aa6.png
[2]: https://habrahabr.ru/post/342624/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Автоматное программирование. Часть 4. Эффективность автоматно-спроектированных программ
habra.16
habrabot(difrex,1) — All
2017-11-18 15:30:06


_[В предыдущих][1] двух [статьях][2] речь шла о диаграмме состояний и переходов, используемой для описания динамических процессов в автоматном стиле, и о том, что диаграмма состояний и переходов даёт наилучшее понимание таких процессов. Также были рассмотрены базовые методы реализации автоматов, заданных диаграммой состояний, и были очерчены артефакты автоматной схемотехники, доставшиеся от неё автоматному программированию. Но, до сих пор совершенно не затронут вопрос: насколько эффективны автоматно-реализованные программы?
Я бы сформулировал вопрос иначе: насколько эффективны автоматно-спроектированные программы? Такая формулировка вопроса намекает, что автоматное проектирование — источник высокой эффективности программ. Я ещё практически не касался столь важной темы как **эффективность**, и пример «Дисплей» идеально подходит для иллюстрации эффективности автоматного проектирования. В первой статье я познакомил читателей с «лабораторной» версией этого модуля, но тестировать я буду «боевой» вариант, процесс проектирования которого я приведу в следующей статье. Исследование эффективности будет выполнено для платформ msp430 и CortexM3.
Чтобы не быть субъективным, оценивая эффективность, нужно с чем-то сравнивать результаты. Поэтому я проведу тот же комплекс испытаний для [неавтоматной реализации примера «Дисплей»][3] любезно предоставленной [michael\_vostrikov][4], за что ему огромная благодарность и плюсы в карму.
_
[Читать дальше →][5]

[1]: https://habrahabr.ru/post/332508/
[2]: https://habrahabr.ru/post/332664/
[3]: https://jsfiddle.net/2029swtt/2/
[4]: https://habrahabr.ru/users/michael_vostrikov/
[5]: https://habrahabr.ru/post/341888/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Синтаксический анализ в NLTK. Продолжение
habra.16
habrabot(difrex,1) — All
2017-11-19 01:30:04


Здравствуйте. Это небольшое продолжение предыдущей статьи, где рассматривались основы синтаксического анализа с помощью пакета Natural Language Toolkit (сокращенно, NLTK). Как и в прошлой статье, в этой я буду сопровождать примеры кодом на языке Python (версии 2.7).


## Вступление


В [предыдущей][1] статье мы рассматривали синтаксические анализаторы и виды грамматик. Настоятельно рекомендую её прочитать, если Вы этого не сделали. Также можно почитать [первую][2] статью, где мы устанавливаем и настраиваем пакет NLTK.

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

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

[>] Автоколебания и резонанс
habra.16
habrabot(difrex,1) — All
2017-11-19 08:30:04


### Здравствуйте!


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

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

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

[>] Заборы из стеклянных кирпичей, заговор онлайн-переводчиков, удаленный взлом «Боинга»
habra.16
habrabot(difrex,1) — All
2017-11-19 12:00:03


Уязвимость в API угрожает сливом конфиденциальных данных Twilio и Amazon S3

[Новость на русском][1], [Отчет appthority][2]

Сложно объяснить, почему разработчики Twilio решили сделать так, чтобы в код приложений, использующих их Rest API и SDK, было необходимо жестко «зашить» учетные данные для доступа к БД. Но сделали они именно так. И это несмотря на то, что собственные политики безопасности Twilio такие фортели запрещают.

API для доступа к сервисам Twilio позволяют обмениваться сообщениями и голосовыми звонками — функции, востребованные в корпоративных приложениях. Тот, кто сумеет выдрать из этого кода ключи от учетной записи Twilio, получит доступ ко всем метаданным и голосовым записям, которые хранятся на корпоративном аккаунте. А это миллионы и миллионы минут разговоров и бесчисленные текстовые сообщения о важных контрактах, заказах оборудования и любовных интрижках гендиров. Как говорится, упс.
[Читать дальше →][3]

[1]: https://threatpost.ru/eavesdropper-vulnerability-allows-wiretapping/23185/
[2]: https://info.appthority.com/hubfs/website-LEARN-content/Appthority%20Q4%2017%20MTR-Eavesdropper.pdf
[3]: https://habrahabr.ru/post/342684/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] [Опрос от программиста из Google] Есть ли жизнь после 35-40 лет? (для разработчика софта)
habra.16
habrabot(difrex,1) — All
2017-11-19 16:00:05


![image][1]


_Джеф Нельсон (Jeff Nelson), придумал Chromebook, #Xoogler._

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

1. Является ли возрастной признак определяющим в карьере программиста?
2. Не стоит ли мне подумать о карьере технического руководителя вместо должности наемного профессионала?
3. Является ли совершенствование себя как разработчик софта тупиковым вариантом карьеры?
Вряд ли кто-то будет отрицать, что в отрасли совсем не обращают внимания на возраст сотрудника. Посмотреть хотя бы на средний возраст нанимаемых новых сотрудников в компаниях Кремниевой долины. Подозреваю, что многие, если не все, сильно младше тридцати. В то же время это совершенно не означает, что действует какая-то официальная корпоративная установка не нанимать кандидатов старше определенного возраста, определенного пола, сексуальной ориентации или в зависимости от других признаков.

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

[1]: https://habrastorage.org/webt/xi/sg/zq/xisgzq9l_-btvzzptwjmog0xocc.jpeg
[2]: https://habrahabr.ru/post/342696/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сказ про резисторы и неонки
habra.16
habrabot(difrex,1) — All
2017-11-19 22:00:05


## Расчёт цепей постоянного тока на пальцах, или давайте считать ЦАП для троичной логики



### Но для начала неонки, какой же русский их не любит?


Итак, снова я со своими троичными железками, но в этой статье они выступают фоном, сегодня статья про резисторы. Запаял я было несколько платок, в которые можно воткнуть газоразрядные лампы типа ИН-12 или ИН-15, но часы делать не захотел :)

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

[1]: https://habrastorage.org/getpro/habr/post_images/6c2/3da/6df/6c23da6df50b986c3b4b516100f9bd60.jpg
[2]: https://habrahabr.ru/post/341328/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] [Ответ программиста из Google] Есть ли жизнь после 35-40 лет? (для разработчика софта)
habra.16
habrabot(difrex,1) — All
2017-11-20 05:30:03


![image][1]


_Джеф Нельсон (Jeff Nelson), придумал Chromebook, #Xoogler._

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

1. Является ли возрастной признак определяющим в карьере программиста?
2. Не стоит ли мне подумать о карьере технического руководителя вместо должности наемного профессионала?
3. Является ли совершенствование себя как разработчик софта тупиковым вариантом карьеры?
Вряд ли кто-то будет отрицать, что в отрасли совсем не обращают внимания на возраст сотрудника. Посмотреть хотя бы на средний возраст нанимаемых новых сотрудников в компаниях Кремниевой долины. Подозреваю, что многие, если не все, сильно младше тридцати. В то же время это совершенно не означает, что действует какая-то официальная корпоративная установка не нанимать кандидатов старше определенного возраста, определенного пола, сексуальной ориентации или в зависимости от других признаков.

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

[1]: https://habrastorage.org/webt/xi/sg/zq/xisgzq9l_-btvzzptwjmog0xocc.jpeg
[2]: https://habrahabr.ru/post/342696/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Как баран на новые ворота» или пользовательские «псевдо-3D» объекты в NanoCAD с помощью MultiCAD.NET API
habra.16
habrabot(difrex,1) — All
2017-11-20 09:00:03


На мой взгляд, один из лучших способов научится чему-то это поделится знаниями с другими людьми.

В этот раз мне понадобилось понять, как создаются пользовательские объекты в NanoCAD с помощью MultiCAD.NET API. В блоге компании Нанософт есть статья от 2013 года, в которой объясняются базовые вопросы [создания пользовательских примитивов][1]. Но согласитесь было бы не интересно, просто воспроизвести эту статью, поэтому мы ее немного дополним.

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

Под понятием «псевдо-3D» в данном случае я имею ввиду, что наши объекты не будут обладать свойствами модели твёрдого тела, то есть это будет просто набор связанных геометрических примитивов в трёхмерной системе координат. Может это не совсем корректный термин, но я пока лучше ничего не подобрал.

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

Так или иначе если вы интересуетесь: проектированием, САПР, NanoCAD, разработкой под .NET и в частности на C#, а также овцами и **Улицей Сезам**, то возможно эта статья как раз для вас.

Вам тоже интересно причем тут овцы и Улица Сезам? Тогда милости прошу под кат.

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

[1]: https://habrahabr.ru/company/nanosoft/blog/184482/
[2]: https://habrastorage.org/webt/hl/hl/8w/hlhl8wlmf6q8mfnuuodg4jqjn9y.png
[3]: https://www.youtube.com/watch?v=HWiZj4I8DUY
[4]: https://habrahabr.ru/post/342680/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Трёхмерная графика с нуля. Часть 1: трассировка лучей
habra.16
habrabot(difrex,1) — All
2017-11-20 14:00:08


![image][1]



Эта статья разделена на две основные части, **Трассировка лучей** и **Растеризация**, в которых рассматриваются два основных способа получения красивых изображений из данных. В главе **Общие концепции** представлены некоторые базовые понятия, необходимые для понимания этих двух частей.

В этой работе мы сосредоточимся не на скорости, а на чётком объяснении концепций. Код примеров написан наиболее _понятным_ образом, который не обязательно является самым _эффективным_ для реализации алгоритмов. Есть множество способов реализации, я выбрал тот, который проще всего понять.

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

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

[1]: https://habrastorage.org/getpro/habr/post_images/ad6/9dd/9e1/ad69dd9e1d49953b28fc5fdf901f06bf.png
[2]: https://habrastorage.org/getpro/habr/post_images/188/1e1/463/1881e146387a6106617d616066add8eb.png
[3]: https://habrahabr.ru/post/342510/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Куда катится техничка с полторашкой: хакатоны в Avito
habra.16
habrabot(difrex,1) — All
2017-11-20 15:00:11


В моём [прошлом посте][1] я рассказывал о хакатонах. Разных, хороших. Настолько хороших, что и внутри компании захотелось устроить собственные соревнования. В посте расскажу, как проходили хакатоны в Avito, какие проекты реализовали, про техничку с полторашкой, кодокатицу, свидетеля столовой и носочки с котиками.



![][2]

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

[1]: https://habrahabr.ru/company/avito/blog/334604/
[2]: https://habrastorage.org/webt/ei/zd/ce/eizdce5obzdfijhh7xhm8mylyco.jpeg
[3]: https://habrahabr.ru/post/342466/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Hello Logify, или мониторим ошибки на установленных приложениях
habra.16
habrabot(difrex,1) — All
2017-11-20 16:30:09


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

Самое главное, что, скорее всего, вам о них просто не сообщат. Как часто вы отправляли ошибки в Microsoft, когда вас об этом просили? :) Пользователи, как правило, либо просто перезапускают приложение, матерятся и продолжают пользоваться дальше, либо удаляют его полностью. Если вам повезет, и о падении вам сообщат, то зачастую это выглядит как-то так:

![image][1]

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

[1]: https://habrastorage.org/getpro/habr/post_images/025/328/3ba/0253283ba218df0c34fa5e66d41103c1.jpg
[2]: https://habrahabr.ru/post/342620/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Pygest #18. Релизы, статьи, интересные проекты, пакеты и библиотеки из мира Python [5 ноября 2017 — 15 ноября 2017]
habra.16
habrabot(difrex,1) — All
2017-11-20 18:30:04


![image][1] Всем привет! Это уже восемнадцатый выпуск дайджеста на Хабрахабр о новостях из мира Python.

В связи с загруженностью [andrewnester][2], автора предыдущих digests, и с его разрешения, честь опубликовать данный выпуск выпала мне.

Итак, поехали!



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

[1]: https://habrastorage.org/files/aa2/815/f22/aa2815f2207940fab9ac72e85219fe3c.png
[2]: https://habrahabr.ru/users/andrewnester/
[3]: https://habrahabr.ru/post/342604/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Протоколы распространения ключей на симметричных шифрах
habra.16
habrabot(difrex,1) — All
2017-11-21 03:00:05


_Данный текст будет являться одной из переписанных глав для учебного пособия по защите информации кафедры радиотехники и систем управления МФТИ (ГУ). Полностью учебник доступен на [github][1] (см. также [draft releases][2]). На хабре я же планирую выкладывать новые «большие» куски, во-первых, чтобы собрать полезные комментарии и замечания, во-вторых, дать сообществу больше обзорного материала по полезным и интересным темам._

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

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

[1]: https://github.com/vlsergey/infosec
[2]: https://github.com/vlsergey/infosec/releases
[3]: https://habrahabr.ru/post/342814/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Разделка бегемота. Еще раз о проектировании и рефакторинге от Сэнди Метц
habra.16
habrabot(difrex,1) — All
2017-11-21 09:00:04


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

У нас заканчивается уже порядком букинистическая книга "[Ruby. Объектно-ориентированное проектирование][1]" Сэнди Метц, которую мы надеемся обновить в будущем году. Тем временем мы убедились, что читателей госпожи Метц немало интересуют ее взгляды на ООП, а не только на ООП в Ruby, поэтому предлагаем перевод ее сентябрьской статьи с большим количеством картинок и немалым количеством интересных выводов на заявленную тему. Приятного чтения!
[Читать дальше →][2]

[1]: https://www.piter.com/product/ruby-obektno-orientirovannoe-proektirovanie
[2]: https://habrahabr.ru/post/342810/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как правильно готовить блокчейн
habra.16
habrabot(difrex,1) — All
2017-11-21 09:30:04


За последние несколько месяцев мы в **[BitClave][1]** услышали о большом количестве новых блокчейн-проектов, применяющих блокчейн во всех мыслимых и немыслимых сферах. Надеюсь вы понимаете, что один лишь факт использования блокчейна в проекте не придает ему никаких суперспособностей. Мы проанализировали ситуацию и рады представить вам наше текущее видение того, как использовать блокчейн правильным образом. Эта статья поможем вам определить заслуживает ли проект вашего времени, денег и сил. Также в статье имеется **упрощенный пример** того, как блокчейн может быть внедрен в рынок интернет-рекламы.

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

[1]: https://bitclave.com
[2]: https://habrastorage.org/webt/rj/tu/lb/rjtulb1skyrem2d3wspgzkjsknc.jpeg
[3]: https://habrahabr.ru/post/342802/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Агрегация логов log4j2 средствами ELK
habra.16
habrabot(difrex,1) — All
2017-11-21 14:00:07


Для своих ETL (Extract, Transform, Loading) процессов, на этапах E и T, то есть извлечение и преобразование данных мы используем [Apache Storm][1], и, так как большинство ошибок, связанных с инвалидацией сырых данных, происходит именно на этом этапе, — появилось желание централизованно логировать всё это, используя [ELK стэк][2] (Elasticsearch, Logstash, Kibana).

Каким же было моё удивление, что нигде не то, что на русском языке, но даже в оригинальных туториалах не было описана работа с логами в формате log4j2, который является дефолтом в мире Java-приложений.

Исправляя это упущение — под катом туториал по настройке централизованного сбора любых log4j2 логов на основе:

* ELK внутри Docker
* Настройка log4j для работы с Logstash
* Настройка Logstash для правильной индексации логов
* Немного бонусов, в виде краткой настройки Storm и интеграции Elasticsearch с Grafana
![image][3]
[Читать дальше →][4]

[1]: http://storm.apache.org/
[2]: https://www.elastic.co/products
[3]: https://oliverveits.files.wordpress.com/2016/11/logstash_input_output.png
[4]: https://habrahabr.ru/post/342824/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Статический анализатор ShellCheck и улучшение качества скриптов в Linux и Unix
habra.16
habrabot(difrex,1) — All
2017-11-21 14:30:07


[![][1]][2]

[Написание shell-скриптов][3] — занятие увлекательное. Скрипты командной строки помогают автоматизировать повседневные дела. Можно создать нечто прекрасное (или какую-нибудь гадость), однако, если уж что-то писать, хорошо бы точно знать, что код получается именно таким, каким он нужен программисту. Скрипт, написанный некачественно, может представлять опасность. Большинство новичков пишут скрипты, копируя фрагменты кода со StackOverflow, находя то, что им нужно, в Google, или пользуясь [сайтами][4] с вопросами и ответами по Linux. Такой подход к программированию выливается в некачественный код и в появление ошибок. Вот, например, команда `rm`, выполнение которой приведёт к катастрофе, так как переменная `VAR` не определена:

rm -rf "/$VAR/*"
Многие из проблем скриптов можно решить с помощью линтера, такого, как статический анализатор кода ShellCheck, который написан на Haskell. Он помогает искать ошибки в текстах скриптов и выводить отчёты о проведённых проверках. Это позволяет повысить производительность работы и качество кода. Сегодня мы расскажем о том, как установить и использовать ShellCheck в Linux и Unix-подобных операционных системах.
[Читать дальше →][5]

[1]: https://habrastorage.org/webt/0c/xz/0i/0cxz0ifjvhrbzqopo5phtxrdsw8.png
[2]: https://habrahabr.ru/company/ruvds/blog/342580/
[3]: https://bash.cyberciti.biz/guide/Why_shell_scripting
[4]: https://www.cyberciti.biz/faq/
[5]: https://habrahabr.ru/post/342580/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как не положить тысячи серверов с помощью системы централизованного управления конфигурацией на примере CFEngine
habra.16
habrabot(difrex,1) — All
2017-11-21 14:30:07


![][1]



Привет, Хабр! Меня зовут Дмитрий Самсонов, я работаю ведущим системным администратором в Одноклассниках. Основные сферы моей компетенции — Zabbix, CFEngine и оптимизация Linux. У нас более 8 тыс. серверов и 200 приложений, которые в различной конфигурации формируют 700 различных кластеров. Тема этой статьи исчерпывающе описана в заголовке.



Сразу хочу оговориться:


* Я буду предвзят, потому что участвовал во внедрении CFEngine в Одноклассниках.
* Я пользовался CFEngine только версий 3.3—3.4.
* Я не питаю никаких иллюзий по поводу CFEngine, это значимый игрок, но не лидер рынка и не его аутсайдер. В статье не будет сравнений работы CFEngine с другими системами.
* Из систем конфигурации у меня есть опыт использования только CFEngine и Ansible.[Читать дальше →][2]

[1]: https://habrastorage.org/webt/fu/tp/yv/futpyvkzrmedc--nzrvz5fbgiii.gif
[2]: https://habrahabr.ru/post/342300/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Машинное обучение своими руками (часть 2). Сервис для классификации обращений в тех. поддержку
habra.16
habrabot(difrex,1) — All
2017-11-21 15:00:08


В октябре команда облачного сервиса [Okdesk][1] приняла участие в пензенском хакатоне, в рамках которого мы разработали "коробочного" Telegram-бота для Okdesk. Бот позволит клиентам сервисных компаний отправлять заявки на обслуживание, переписываться по заявками и ставить оценки выполнению заявок не выходя из любимого мессенджера.



![image][2]



Мы планировали написать об этом статью на Хабру, но вовремя остановились. Воистину, кому сегодня интересно читать о том, что на очередном хакатоне был разработан очередной Telegram-бот? Поэтому мы написали продолжение [статьи][3] о машинном обучении для классификации заявок в тех. поддержку. В этой статьей рассказываем о том, как после обучения алгоритма сделать работающий сервис, на вход которому передается текст клиентской заявки, а на выходе — категория, к которой относится заявка.

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

[1]: https://www.okdesk.ru
[2]: https://habrastorage.org/webt/gp/yi/8p/gpyi8pcmwxux2hbvowxj7en57xg.png
[3]: https://habrahabr.ru/company/okdesk/blog/337278/
[4]: https://habrahabr.ru/post/342796/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Оно само упало, или следствие ведут колобки
habra.16
habrabot(difrex,1) — All
2017-11-21 16:30:08


![][1]


Вот задеплоили мы своё приложение, и, как правильные и опытные разработчики, не забыли вставить в него крэш-репортер. Получаем первые репорты, открываем стек, смотрим на окружение, пробуем воспроизвести, обламываемся и задаём в пространство вопрос «чем ты это сказал? а как так получилось-то?» Что же там пользователь сделал такого, что приложение завалилось?
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/i3/9a/kz/i39akzyr0q8jkcvylrli-27dlhc.jpeg
[2]: https://habrahabr.ru/post/342530/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] GitHub предупредит разработчиков об уязвимостях в их проектах
habra.16
habrabot(difrex,1) — All
2017-11-21 23:00:08


[![][1]][2]

Платформа для разработчиков [запустила][3] функцию под названием Dependency Graph, которая оповещает разработчиков в том случае, если их код содержит известные уязвимости. Система анализирует зависимости и модули, использующиеся в проекте, и выводит информацию о содержащихся в них ошибках безопасности. Инициатива направлена на повышение уровня безопасности проектов с открытым исходным кодом. [Читать дальше →][4]

[1]: https://habrastorage.org/webt/pg/hk/y4/pghky48ysgbip8mqrwnkqrap_sw.png
[2]: https://habrahabr.ru/company/pt/blog/342886/
[3]: http://www.silicon.co.uk/software/github-security-notifications-224971?inf_by=5a11977f671db82d3b8b48ee
[4]: https://habrahabr.ru/post/342886/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Криптографические токены PKCS#11: управление и доступ к объектам токена (Продолжение )
habra.16
habrabot(difrex,1) — All
2017-11-21 23:00:08


![image][1] Криптографические токены/смарткарты сегодня стали довольно обыденным делом. Все больше людей идут на Удостоверяющие Центры (УЦ) и просят выдать ключик и электронную подпись для доступа к различным сайтам для получения тех или иных услуг. Попытка объяснить, что им выдадут сертификат по [аналогии][2] с паспортом, а электронную подпись они будут ставить сами, используя свой [закрытый ключ][3], мало кого и в чем убеждает.

Есть магическое слово – ключик, а на нем есть что-то, что позволит отправить данные в налоговую, участвовать в торгах и т.п. И УЦ выдают гражданам и организациям «ключики» с сертификатами и закрытыми ключами. Сегодня в абсолютном большинстве этими ключиками являются токены. Так и хочется сказать -криптографические [токены][4] с поддержкой российской криптографией и интерфейсом PKCS#11. К сожалению это далеко не так. Несмотря на то, что и производителей и объем токенов растет, используются все же они в большинстве случаев как обыкновенная флэшка, но с доступом к ней по PIN-коду.
[Читать дальше →][5]

[1]: https://habrastorage.org/webt/_x/ka/k2/_xkak2cjlx-e6zisd53wa4oqt5w.png
[2]: https://geektimes.ru/post/283668/
[3]: https://geektimes.ru/post/284938/
[4]: https://habrahabr.ru/post/334162/
[5]: https://habrahabr.ru/post/342834/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] fiber — легковесные процессы для Arduino
habra.16
habrabot(difrex,1) — All
2017-11-22 07:00:05


![][1]



А давайте притащим мир большого программирования в Arduino!



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



При этом в реальной жизни обработка **большинства** вещей в реальном времени не требуется. Достаточно иметь нечто похожее на реальное время.



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



А вот если мы программируем скажем регулятор ШИМ (не рассматриваем аппаратные способы), то тут нам возможно потребуется считать каждый такт процессора, чтобы обеспечить приемлемую точность регулирования.



Если рассмотреть структуру произвольного **сложного** программно-аппаратного проекта в том числе на Arduino, то увидим, что задач требующих "реального" (с жесткими требованиями) реалтайма — меньшинство, а большинству задач достаточно условного реалтайма.



Программирование реального реалтайма — это как правило прерывания и аппаратные хитрости. В этой статье поговорим о программировании реалтайма условного.

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

[1]: https://habrastorage.org/webt/ha/ti/3u/hati3ucwxiuhtyb00ac2fojx42w.png
[2]: https://habrahabr.ru/post/342908/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Индексация глобальная и не очень
habra.16
habrabot(difrex,1) — All
2017-11-22 07:30:05


Сразу оговорюсь, статья не имеет ничего общего с индексацией сайтов и т.п. Речь пойдет о вещах куда более простых, но, тем не менее, нужных. Иногда надо проиндексировать сущности, так чтобы индексы были уникальны в рамках программы и компактно упакованы в промежуток [0..N]. Причем заводить для этого отдельные механизмы совершенно не хочется.

Примером может послужить такая задача:

Всем, думаю, известно, что class var в Delphi есть не что иное, как обычная глобальная переменная, единая для класса и всех его потомков. А иногда нужно, чтобы потомки использовали свои собственные, например, для подсчета экземпляров класса. Я знаю как минимум [одно решение][1] этой проблемы, но это хак. Кроме того он требует от пользователя дополнительных действий — выделения памяти в блоке initialization и, по-хорошему, освобождения ее в finalization.

Но можно сделать и проще — завести глобальный (class var) массив, и сделать так, чтобы каждый потомок ссылался на свою ячейку. Единственная проблема в том, что для этого требуется проиндексировать потомков, причем сделать это автоматически. [Читать дальше →][2]

[1]: http://hallvards.blogspot.ru/2007/05/hack17-virtual-class-variables-part-ii.html
[2]: https://habrahabr.ru/post/342868/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Шум Перлина
habra.16
habrabot(difrex,1) — All
2017-11-22 09:30:04


Я использовал шум Перлина для создания эффекта тумана и главного экрана в [Under Construction][1]. Я [твитнул о моих усилиях по оптимизации алгоритма][2], и несколько людей ответили, что они не понимают, как работает шум Перлина и что это на самом деле такое.




Признаюсь, что я (немного) понимаю шум Перлина прежде всего потому, что я реализовывал его ранее, и несколько дней ушло на погружение в неуклюжие объяснения полдюжины разработчиков, более заинтересованных в показе собственных демок, нежели в реальном объяснении. Несколько полезных ресурсов, которые я нашел, часто содержали _ошибки_ и не давали мне интуитивного чувства понимания, как и _почему_ оно все-таки работает.



[Вот пост, который я хотел бы прочитать в первую очередь.][3]

[1]: https://eev.ee/release/2016/05/25/under-construction-our-pico-8-game/
[2]: https://twitter.com/eevee/status/731633681735917568
[3]: https://habrahabr.ru/post/342906/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Задачи планирования и программирование в ограничениях
habra.16
habrabot(difrex,1) — All
2017-11-22 12:30:07


Когда у тебя в запасе много популярных инструментов вроде JAVA, Python, Ruby, PHP, C#, C++ и других, чувствуешь себя почти всемогущим. Стандартный подход в разработке рулит. Но только до тех пор, пока не столкнешься с определенным типом задач.

 
Подумайте, как правильно написать программу, которая оптимально…

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

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

[1]: https://habrastorage.org/webt/cc/ja/th/ccjathzj1xl76dfl09n74dxuhcs.png
[2]: https://habrahabr.ru/post/342550/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Чем отличаются JavaScript и ECMAScript?
habra.16
habrabot(difrex,1) — All
2017-11-22 12:30:07


_Перевод [What’s the difference between JavaScript and ECMAScript?][1]_

Как-то мы попробовали гуглить «различие между JavaScript и ECMAScript».

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

«ECMAScript — это стандарт».
«JavaScript — это стандарт».
«ECMAScript — это спецификация».
«JavaScript — это реализация стандарта ECMAScript».
«ECMAScript — стандартизованный JavaScript».
«ECMAScript — это язык».
«JavaScript — это диалект ECMAScript».
«ECMAScript — это JavaScript».

![][2]

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

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

Ну что, погнали.
[Читать дальше →][3]

[1]: https://medium.freecodecamp.org/whats-the-difference-between-javascript-and-ecmascript-cba48c73a2b5
[2]: https://habrastorage.org/webt/9w/tl/5-/9wtl5-iwfru-tvgfc39eq-iykug.gif
[3]: https://habrahabr.ru/post/342904/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Программирование под ARM TrustZone. Часть 1: Secure Monitor
habra.16
habrabot(difrex,1) — All
2017-11-22 13:30:04


Продолжаем наш цикл статей, посвященный столетию Великой Октябрьской… ARM TrustZone.

Сегодня мы разберемся, что такое Secure World, Normal World, как на программном уровне взаимодействуют две ОС – доверенная (TEE) и гостевая. Узнаем, для чего нужен и как работает Secure Monitor, как обрабатываются прерывания от устройств.

Если готовы – добро пожаловать под кат. [Читать дальше →][1]

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

[>] Квадратичные арифметические программы: из грязи в князи (перевод)
habra.16
habrabot(difrex,1) — All
2017-11-22 14:30:06


Продолжая серию статей про технологию zk-SNARKs изучаем очень интересную статью Виталика Бутерина "[Quadratic Arithmetic Programs: from Zero to Hero][1]"



Предыдущая статья: [Введение в zk-SNARKs с примерами (перевод)][2]



В последнее время интерес к технологии zk-SNARKs очень вырос, и люди все чаще пытаются [демистифицировать][3] то, что многие стали называть «лунной математикой» из-за своей достаточно неразборчивой сложности. zk-SNARKs действительно довольно сложно понять, особенно из-за большого количества составных частей, которые нужно собрать вместе, чтобы все это работало, но если мы разберем технологию по частям, то осмыслить ее станет гораздо проще...

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

[1]: https://medium.com/@VitalikButerin/quadratic-arithmetic-programs-from-zero-to-hero-f6d558cea649
[2]: https://habrahabr.ru/post/342262/
[3]: https://blog.ethereum.org/2016/12/05/zksnarks-in-a-nutshell/
[4]: https://habrahabr.ru/post/342750/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Ещё один шажок к C++20. Встреча в Альбукерке
habra.16
habrabot(difrex,1) — All
2017-11-22 16:30:05


Из [центральной части][1] Канады — на юго-запад США! Альбукерке расположен в штате Нью-Мексико:

![][2]

На встрече международного комитета по стандартизации C++, которая прошла в этом городе, приняли одно очень большое нововведение в С++20 и несколько маленьких. [Читать дальше →][3]

[1]: https://habrahabr.ru/company/yandex/blog/336264/
[2]: https://habrastorage.org/webt/54/2x/ct/542xct8oihlwbtiirqmdyel5zpg.png
[3]: https://habrahabr.ru/post/342354/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Десять лучших антивирусов для Linux
habra.16
habrabot(difrex,1) — All
2017-11-22 16:30:05


Операционные системы — это очень сложные конструкции, в которых находится место для ошибок, проблем и других нежелательных явлений. Особые опасения вызывают искусственно созданные «явления», которые мы называем вирусами, троянскими конями, сетевыми червями и шпионскими программами. Операционные системы семейства Linux считаются неплохо защищёнными от подобного рода проблем, но вероятность их возникновения далеко не нулевая. Для защиты от вредоносного ПО специалисты по безопасности разрабатывают программы, которые обычно называют антивирусами.

[![][1]][2]

Сегодня мы рассмотрим десять лучших антивирусов для Linux. В Сети можно найти немало рассуждений о «самых лучших антивирусах», но мы полагаем, что доверять стоит не рассуждениям, а фактам. Программы, представленные здесь, отлично показали себя в [независимых исследованиях][3], и именно поэтому они попали в этот обзор.
[Читать дальше →][4]

[1]: https://habrastorage.org/webt/5w/xq/q9/5wxqq9q1lk9muvmpjrpquir-wgq.png
[2]: https://habrahabr.ru/company/ruvds/blog/342582/
[3]: https://www.av-comparatives.org/removal-tests/
[4]: https://habrahabr.ru/post/342582/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Вышла DuerOS — новая ОС с элементами ИИ
habra.16
habrabot(difrex,1) — All
2017-11-22 21:30:05


Компания Baidu в начале ноября выпустила DuerOS — новую операционную систему, которая должна будет подстегнуть разработку систем искусственного интеллекта. По [словам][1] разработчиков, ОС позволит быстрее развивать интерактивные возможности ИИ: распознавание и генерацию речи.

Об особенностях DuerOS и функциях операционных систем будущего расскажем далее.

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

[1]: https://globenewswire.com/news-release/2017/11/09/1179017/0/en/Baidu-Unveils-DuerOS-Prometheus-Project-to-Advance-Conversational-AI.html
[2]: https://habrastorage.org/webt/2b/ku/bl/2bkublsxkotyzfgm3lszhi6ppje.jpeg
[3]: https://habrahabr.ru/company/it-grad/blog/342772/
[4]: https://habrahabr.ru/post/342772/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как IaaS-провайдер работает с ИБ: угрозы и защита
habra.16
habrabot(difrex,1) — All
2017-11-22 22:00:06


По статистике Apiumhub, у [70% компаний][1] как минимум одно приложение работает в облаке. Миграция в облачную среду влечёт за собой ряд [преимуществ][2], но [многие предприятия][3] обеспокоены вопросами безопасности данных. Однако мнение о том, что облачная инфраструктура слабо защищена — [миф][4], поскольку провайдер специализируется на «обороне периметра».

В сегодняшнем материале мы отметим некоторые из наиболее крупных угроз безопасности и поговорим о том, как IaaS-провайдеры защищают данные клиентов.

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

[1]: https://apiumhub.com/tech-blog-barcelona/cloud-computing/
[2]: http://www.information-age.com/top-10-benefits-cloud-computing-123467995/
[3]: https://dome9.com/wp-content/uploads/2017/03/Cloud-Security-Report-2017.pdf
[4]: https://www.tripwire.com/state-of-security/security-data-protection/4-reasons-why-the-cloud-is-more-secure-than-legacy-systems/
[5]: https://habrastorage.org/webt/5x/hw/ue/5xhwue2mdctk5juitaimun_9vte.jpeg
[6]: https://habrahabr.ru/company/1cloud/blog/342770/
[7]: https://habrahabr.ru/post/342770/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Exonum 0.3 — что мы улучшили в новой версии фреймворка для разработки блокчейнов
habra.16
habrabot(difrex,1) — All
2017-11-22 22:30:05


Мы продолжаем развивать [Exonum][1]. В этот раз мы сосредоточили внимание на двух вещах: полностью перевели хранение данных на RocksDB, при этом прекратив поддержку LevelDB, и переписали сетевой код на Tokio. Зачем: эти решения позволили нам повысить эффективность хранения данных и увеличили производительность кода в сети.

О переходе с LevelDB на RocksDB мы говорили в [статье][2] о релизе прошлой версии фреймворка. Поэтому в сегодняшнем анонсе хотим подробнее остановиться на изменениях, которые пришли с Tokio, рассказать, как мы реализовали асинхронную обработку событий, и отметить другие улучшения.

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

[1]: https://exonum.com/blog/
[2]: https://habrahabr.ru/company/bitfury/blog/339142/
[3]: https://habrastorage.org/webt/ax/vq/oc/axvqocsgkgcor2pua0f0vmk8vya.png
[4]: https://habrahabr.ru/company/bitfury/blog/342970/
[5]: https://habrahabr.ru/post/342970/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] RNN: может ли нейронная сеть писать как Лев Толстой? (Спойлер: нет)
habra.16
habrabot(difrex,1) — All
2017-11-23 08:00:04


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

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

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

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

[>] [Перевод] Как сделать свой блокчейн. Часть 1 — Создание, Хранение, Синхронизация, Отображение, Майнинг и Доказательная работа
habra.16
habrabot(difrex,1) — All
2017-11-23 08:00:04


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

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

[1]: https://otus.pw/Fdw4/
[2]: https://habrastorage.org/webt/g4/ay/jr/g4ayjrgmkp9dyb6r-epiyi10igw.jpeg
[3]: https://habrahabr.ru/post/342974/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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


![][1]


Ardour пока является самым крупным из музыкальных проектов, участвующих в обзоре дефектов кода. Проект включает около 1000 файлов исходного кода на языке C++. Проект активно поддерживается сообществом разработчиков, при этом я не нашёл упоминаний об использовании каких-либо инструментов статического анализа. Как следствие — множество ошибок разного характера. В статье будут описаны самые интересные из них.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/f75/a45/0cf/f75a450cf4104ea058d74f25508caaf5.png
[2]: https://habrahabr.ru/post/343002/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Космическая съёмка Земли
habra.16
habrabot(difrex,1) — All
2017-11-23 15:00:04


![][1]
_Cпутниковый снимок в ложных цветах (зелёный, красный, ближний инфракрасный) с пространственным разрешением 3 метра и наложенной маской зданий из OpenStreetMap (спутниковая группировка PlanetScope)_

Привет, Хабр! Мы постоянно расширяем источники данных, которые используем для аналитики, поэтому решили добавить ещё и спутниковые снимки. У нас аналитика по спутниковым снимкам полезна в продуктах для предпринимательства и инвестиций. В первом случае статистика по геоданным поможет понять, в каком месте стоит открывать торговые точки, во втором позволяет анализировать деятельность компаний. Например, для строительных компаний можно посчитать, сколько за месяц было построено этажей, для сельскохозяйственных компаний — сколько гектаров урожая взошло и т.д.

В этой статье я постараюсь дать примерное представление о космической съёмке Земли, расскажу о трудностях, с которыми можно столкнуться, начиная работу со спутниковыми снимками: предварительная обработка, алгоритмы для анализа и библиотеки Python для работы со спутниковыми снимками и геоданными. Так что все, кому интересна область компьютерного зрения, добро пожаловать под кат!
[Читать дальше →][2]

[1]: https://habrastorage.org/web/4cb/38c/691/4cb38c6913874c71b0e79d86f42a8f47.png
[2]: https://habrahabr.ru/post/342028/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 ... 133