RSS
Pages: 1 ... 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 ... 210
[>] Квантовый компьютер IBM научили моделировать сложные химические элементы
habra.16
habrabot(difrex,1) — All
2017-09-25 17:30:06


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

По [словам][2] Дарио Гила (Dario Gil), вице-президента исследований в сфере ИИ и IBM Q в IBM Research, она заключается в повышении нашего уровня знаний о явлениях природы.

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

[1]: https://www.ibm.com/blogs/research/2017/09/quantum-molecule/
[2]: https://siliconangle.com/blog/2017/09/14/ibm-can-now-simulate-chemical-molecules-quantum-computers/
[3]: https://habrastorage.org/web/5de/d53/561/5ded53561eff4aed867901bcbc2375e6.jpg
[4]: https://habrahabr.ru/company/it-grad/blog/338616/
[5]: https://habrahabr.ru/post/338616/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] DI для полностью переиспользуемых JSX-компонентов
habra.16
habrabot(difrex,1) — All
2017-09-25 19:30:05


![Dependency inception][1]



Привет, меня зовут Сергей и мне интересна проблема переиспользования компонент в вебе. Глядя на то, как [пытаются][2] применить SOLID к реакту, я решил продолжить эту тему и показать, как можно достичь хорошей переиспользуемости, развивая идею [внедрения зависимостей][3] или DI.



DI как основа для построения фреймворка, применительно к вебу, довольно молодой подход. Что бы тут было понятней о чем идет речь, начну c привычных для react-разработчиков вещей.

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

[1]: https://habrastorage.org/web/ca8/2bd/6a2/ca82bd6a2e92447e962ce76646df42d6.jpg
[2]: https://habrahabr.ru/company/docsvision/blog/335988/
[3]: https://ru.wikipedia.org/wiki/%D0%92%D0%BD%D0%B5%D0%B4%D1%80%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8
[4]: https://habrahabr.ru/post/338666/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Человек» искусства: способен ли искусственный интеллект творить?
habra.16
habrabot(difrex,1) — All
2017-09-25 19:30:05


С развитием нейросетей им придумывают всё более разнообразные способы применения. С их помощью обучаются [автопилоты Tesla][1], а распознавание лиц используется не только для обработки фотографий приложениями типа Prisma, но и в [системах безопасности][2]. Искусственный интеллект учат диагностировать болезни. В конце концов, с его помощью даже [выигрывают выборы][3].

Но есть одна сфера, которая традиционно считалась принадлежащей исключительно человеку — творчество. Однако и это утверждение начинают ставить под сомнение. Ли Седоль, проигравший AlphaGo, [признался][4]: «Поражение заставило меня засомневаться в человеческой креативности. Когда я увидел, как играет AlphaGo, то усомнился в том, насколько хорошо играю сам». Поэтому в сегодняшнем посте давайте поговорим о том, способны ли роботы ступить на территорию искусства, в пространство креативности, а значит эмоций и восприятия.

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

[1]: https://futurism.com/teslas-neural-network-is-receiving-a-massive-amount-of-data-from-cars/
[2]: https://techcrunch.com/2016/04/14/from-recording-to-reacting-neural-networks-are-changing-notions-of-surveillance/
[3]: http://theins.ru/politika/38490
[4]: https://www.nytimes.com/2016/03/16/world/asia/korea-alphago-vs-lee-sedol-go.html
[5]: https://habrastorage.org/web/4d1/729/6b3/4d17296b37fd4200a06f3cf0972ba04c.jpg
[6]: https://habrahabr.ru/company/neurodatalab/blog/337624/
[7]: https://habrahabr.ru/post/337624/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Метод гарантирования доверия в блокчейнах
habra.16
habrabot(difrex,1) — All
2017-09-26 10:30:06


_Главной задачей для блокчейна в любой информационной системе является обеспечение доверия в среде, исключающей такое доверие по умолчанию. В качестве иллюстрации этой проблемы часто приводится задача о «византийских генералах». Не буду на ней подробно останавливаться, в Интернете найдется немало материалов. Вкратце, эта задача описывает процесс принятия решения в абсолютной анархической среде, где каждый за себя и никому не верит._
[Читать дальше →][1]

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

[>] Наш рецепт отказоустойчивого VPN-сервера на базе tinc, OpenVPN, Linux
habra.16
habrabot(difrex,1) — All
2017-09-26 10:30:05


![][1]

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

* обеспечивать отказоустойчивость и избыточность;
* легко масштабироваться;
* просто и быстро решать задачу добавления и блокировки пользователей VPN;
* балансировать нагрузку между входными нодами;
* одинаково хорошо работать для клиентов на GNU/Linux, Mac OS X и Windows;
* поддерживать клиентов, которые находятся за NAT.
Готовых решений, удовлетворяющих всем поставленным условиям, не нашлось. Поэтому мы собрали его на базе популярных Open Source-продуктов, а теперь с удовольствием делимся полученным результатом в этой статье. [Читать дальше →][2]

[1]: https://habrastorage.org/web/f3a/851/a68/f3a851a68dfd4f228fa3a204ded89173.png
[2]: https://habrahabr.ru/post/338628/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] О классификации методов преобразования Фурье на примерах их программной реализации средствами Python
habra.16
habrabot(difrex,1) — All
2017-09-26 11:30:05


### Введение


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

Вторая группа публикаций касается применения преобразований Фурье в технике, например, при спектральном анализе [3,4].

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


### Задачи публикации


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


### Гармонический анализ и синтез


**Гармоническим анализом** называют разложение функции f(t), заданной на отрезке [0, Т] в ряд Фурье или в вычислении коэффициентов Фурье по формулам.

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

**Программная реализация**
#!/usr/bin/python
# -*- coding: utf-8 -*
from scipy.integrate import quad # модуль для интегрирования
import matplotlib.pyplot as plt # модуль для графиков
import numpy as np # модуль для операций со списками и массивами
T=np.pi; w=2*np.pi/T# период и круговая частота
def func(t):# анализируемая функция
if t<np.pi:
p=np.cos(t)
else:
p=-np.cos(t)
return p
def func_1(t,k,w):# функция для расчёта коэффициента a[k]
if t<np.pi:
z=np.cos(t)*np.cos(w*k*t)
else:
z=-np.cos(t)*np.cos(w*k*t)
return z
def func_2(t,k,w):#функция для расчёта коэффициента b[k]
if t<np.pi:
y=np.cos(t)*np.sin(w*k*t)
else:
y=-np.cos(t)*np.sin(w*k*t)
return y
a=[];b=[];c=4;g=[];m=np.arange(0,c,1);q=np.arange(0,2*np.pi,0.01)# подготовка списков для численного анализа
a=[round(2*quad(func_1, 0, T, args=(k,w))[0]/T,3) for k in m]# интеграл для a[k], k -номер гармоники
b=[round(2*quad(func_2, 0, T, args=(k,w))[0]/T,3) for k in m]# интеграл для b[k], k -номер гармоники
F1=[a[1]*np.cos(w*1*t)+b[1]*np.sin(w*1*t) for t in q]#функции для гармоник
F2=[a[2]*np.cos(w*2*t)+b[2]*np.sin(w*2*t) for t in q]
F3=[a[3]*np.cos(w*3*t)+b[3]*np.sin(w*3*t) for t in q]
plt.figure()
plt.title("Классический гармонический анализ функции \n при t=pi f(t)=-cos(t)")
plt.plot(q, F1, label='1 гармоника')
plt.plot(q, F2 , label='2 гармоника')
plt.plot(q, F3, label='3 гармоника')
plt.xlabel("Время t")
plt.ylabel("Амплитуда А")
plt.legend(loc='best')
plt.grid(True)
F=np.array(a[0]/2)+np.array([0*t for t in q-1])# подготовка массива для анализа с a[0]/2
for k in np.arange(1,c,1):
F=F+np.array([a[k]*np.cos(w*k*t)+b[k]*np.sin(w*k*t) for t in q])# вычисление членов ряда Фурье
plt.figure()
P=[func(t) for t in q]
plt.title("Классический гармонический синтез")
plt.plot(q, P, label='f(t)')
plt.plot(q, F, label='F(t)')
plt.xlabel("Время t")
plt.ylabel("f(t),F(t)")
plt.legend(loc='best')
plt.grid(True)
plt.show()

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

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

[>] Как мы отмечали 256 день года и рисовали пиксели через API
habra.16
habrabot(difrex,1) — All
2017-09-26 11:30:05


13 сентября в Контуре отмечали День программиста. В самом большом офисе разработки [играли в Pac-Man][1] и пытались съесть [280 коробок с пиццей][2]. Одновременно полторы тысячи человек рисовали пиксели в онлайне. В этом посте четыре разработчика рассказывают, как делали праздник.



![][3]



## Часть 1. Рассказывает Игорь [green\_hippo][4], который стырил идею на Reddit {#chast-1-rasskazyvaet-igor-green_hippo-kotoryy-styril-ideyu-na-reddit}



День программиста у нас отмечает вся компания, а не только разработчики. Поэтому была нужна идея для онлайновой игры, в которой могут участвовать все желающие. Я вспомнил, что в апреле прошёл [Reddit Place][5] — социальный эксперимент по коллективному рисованию на холсте 1000×1000 пикселей, в котором участвовал миллион человек.



Я решил, что надо сделать свой Place, с таймлапсом и API.

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

[1]: https://www.instagram.com/p/BY-x5gsBbqq/?taken-by=skbkontur
[2]: https://www.facebook.com/ovchinnikov.fedor/posts/10214112926318313?pnref=story
[3]: https://habrastorage.org/web/79b/2cc/d3f/79b2ccd3fe4c4fd0ab180aadd8bbf6ea.png
[4]: https://habrahabr.ru/users/green_hippo/
[5]: https://www.reddit.com/r/place/
[6]: https://habrahabr.ru/post/338716/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Свой сервер обложек на Python для интернет-радио
habra.16
habrabot(difrex,1) — All
2017-09-26 14:00:06


![image][1]



Я перфекционист который любит во всём порядок. Больше всего меня радует когда вещи работают именно так, как они должны работать (в моём, разумеется, понимании). А ещё у меня уже давно есть своё персональное интернет-радио на базе IceCast-KH + LiquidSoap. И много лет мне не давал спокойно спать тот факт, что сервера потокового радиовещания не умеют отдавать обложки (artwork) проигрываемых треков в потоке. Да и не только в потоке — вообще никак не умеют. Я и на IceCast-KH (форк от IceCast2) перешёл только из-за одной его убер-фичи — он умеет отдавать mp3-тэги внутри flv потока (это нужно для отображения исполняемого трека при онлайн воспроизведении на сайте через флэш-плеер). И теперь пришло время закрыть последний вопрос — отдачу обложек проигрываемых треков — и успокоиться. Поскольку готовых решений не нашлось, я не придумал ничего лучше, чем написать свой сервер обложек для .mp3 файлов. Как? Добро пожаловать под кат.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/ed6/ac4/c4f/ed6ac4c4fb3b4c4eb34788da1c1a59fb.jpg
[2]: https://habrahabr.ru/post/338564/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Kali Linux: упражнения по защите и мониторингу системы
habra.16
habrabot(difrex,1) — All
2017-09-26 14:00:06


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

В предыдущих трёх материалах мы рассказали о защите Kali Linux, о фильтрации трафика, о мониторинге. Сегодня подведём итоги и представим вашему вниманию несколько упражнений. Здесь приведён перевод разделов 7.6 и «Упражнения» главы 7 книги «[Kali Linux Revealed][4]».

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

[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://kali.training/introduction/kali-linux-revealed-book/
[5]: https://habrastorage.org/web/19d/13e/851/19d13e851f764246b6b3a1e95cfe9035.jpg
[6]: https://habrahabr.ru/company/ruvds/blog/338712/
[7]: https://habrahabr.ru/post/338712/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Используем PubNub: эмоциональный говорящий чат своими руками
habra.16
habrabot(difrex,1) — All
2017-09-26 14:00:06


![image][1]

На удивление, в русскоязычном сегменте интернета (и на Хабре [в том числе][2]) до сих пор крайне мало информации о [PubNub][3]. Между тем, основанный в 2010-м году калифорнийский стартап успел за последние семь лет вырасти в то, что сама компания называет Global Data Stream Network (DSN), а по факту – IaaS-решение, направленное на удовлетворение нужд в области передачи сообщений в реальном времени. Наша компания – Distillery – является одним из на данный момент четырех [development-партнеров PubNub][4], но сказано это не пустого бахвальства ради, а чтобы поделиться с сообществом вариантом использования PubNub на примере demo-проекта, который требовалось создать для получение оного статуса.

Те, кому не терпится посмотреть на код (C# + JavaScript), могут сразу пройти в [репозиторий на GitHub][5]. Тех же, кому интересно, что умеет PubNub, и как это работает, прошу под кат.
[Читать дальше →][6]

[1]: https://habrastorage.org/getpro/habr/post_images/835/21a/92e/83521a92e827dc2ec4d8b9ae661f8565.png
[2]: https://habrahabr.ru/search/?q=pubnub
[3]: https://www.pubnub.com/
[4]: https://www.pubnub.com/partners/development-partners/
[5]: https://github.com/DistilleryTech/Potalk
[6]: https://habrahabr.ru/post/338720/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Коннектор Azure Container Instances для Kubernetes
habra.16
habrabot(difrex,1) — All
2017-09-26 15:00:06


Несколько месяцев назад я [рассказывал][1] вам о выходе новой службы экземпляров контейнеров Azure (Azure Container Instances, ACI), которая максимально упрощает развёртывание контейнеров. Сегодня речь пойдёт о коннекторе Azure Container Instances для Kubernetes, который позволяет развертывать экземпляры службы контейнеров Azure в кластерах Kubernetes.

Этот коннектор является экспериментальным и его не следует использовать для реальных проектов.

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

[1]: https://habrahabr.ru/company/microsoft/blog/334682/
[2]: https://habrastorage.org/web/b9c/885/551/b9c8855514da4718bf3582e0a009c144.jpg
[3]: https://habrahabr.ru/post/338686/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Кот или шеллКод?
habra.16
habrabot(difrex,1) — All
2017-09-26 15:00:06


![][1]

Может ли обычная картинка нести угрозу и стоит ли обращать внимание на факт загрузки изображений при разборе инцидентов информационной безопасности? На этот и другие вопросы мы ответим в данном тексте на примере работы инструмента DKMC (**D**on't **K**ill **M**y **C**at).
[Читать дальше →][2]

[1]: https://habrastorage.org/web/cff/6b1/866/cff6b18668d946f7be6d93b2aea4e3ad.jpg
[2]: https://habrahabr.ru/post/338670/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Перформанс: что в имени тебе моём? — Алексей Шипилёв об оптимизации в крупных проектах
habra.16
habrabot(difrex,1) — All
2017-09-26 16:00:10


Оптимизация производительности издавна не дает покоя разработчикам, представляясь своеобразным «золотым ключиком» к интересным решениям и хорошему послужном списку. Большую обзорную экскурсию по ключевым вехам оптимизации больших проектов  – от общих принципов до ловушек и противоречий —  на прошедшем JPoint 2017 провел Алексей Шипилёв, эксперт по производительности.



Под катом — расшифровка его доклада.
[Читать дальше →][1]

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

[>] Как мы банкоматы от подрыва спасали
habra.16
habrabot(difrex,1) — All
2017-09-26 17:30:08


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

Решил вот немного рассказать про свой опыт создания многофункционального прибора для защиты банкоматов. Статья имеет скорее повествовательный, нежели технический характер, но думаю, кому-нибудь да будет интересно почитать и посмотреть фотографии. В статье намеренно отсутствуют всевозможные имена действующих лиц / приборов / фирм.
[Читать дальше →][1]

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

[>] Программы-шантажисты: угроза прошлого или будущего?
habra.16
habrabot(difrex,1) — All
2017-09-26 18:00:10


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

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

[1]: https://habrastorage.org/webt/59/ca/55/59ca559358d53066382636.jpeg
[2]: https://habrahabr.ru/post/338690/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Сага о Гольфстриме и гопниках
habra.16
habrabot(difrex,1) — All
2017-09-26 18:30:05


Данная публикация носит исключительно информационный характер и призвана обратить внимание руководства крупного российского оператора систем охранной сигнализации "[ГОЛЬФСТРИМ Охранные Системы][1]" (далее — ГОЛЬФСТРИМ) на наличие уязвимости информационной системы, ставящей под удар защиту и безопасность граждан, а также федеральных органов исполнительной власти, доверивших защиту своего имущества данной компании.

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

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

[>] Библиотека Reamp: обезболивающее для ваших Android-приложений
habra.16
habrabot(difrex,1) — All
2017-09-26 19:30:07


Однажды мы в компании EastBanc Technologies устали бороться с теми архитектурными проблемами, которые возникают в Android-разработке и решили все исправить:). Мы хотели найти решение, которое удовлетворит всем нашим требованиям.



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



Какие проблемы решали:


* Уйти от жизненного цикла экранов, будь то Activity, Fragment или View
* Уйти от необходимости писать код для сохранения и восстановления состояния для каждого экрана
* Повысить стабильность: защититься от досадных крешей и утечек памяти
* Повысить переиспользуемость кода между телефонным UI и планшетным UI

![][1]

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

[1]: https://habrastorage.org/webt/59/ca/3e/59ca3e699081a344505339.png
[2]: https://habrahabr.ru/post/338744/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Сага о Гольфстриме и уровне ИБ в крупной охранной фирме
habra.16
habrabot(difrex,1) — All
2017-09-26 22:30:05


Данная публикация носит исключительно информационный характер и призвана обратить внимание руководства крупного российского оператора систем охранной сигнализации "[ГОЛЬФСТРИМ Охранные Системы][1]" (далее — ГОЛЬФСТРИМ) на наличие уязвимости информационной системы, ставящей под удар защиту и безопасность граждан, а также федеральных органов исполнительной власти, доверивших защиту своего имущества данной компании.

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

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

[>] [Перевод] Нода c бесконечной ёмкостью для Kubernetes
habra.16
habrabot(difrex,1) — All
2017-09-27 11:01:03


Несколько месяцев назад я [рассказывал][1] вам о выходе новой службы экземпляров контейнеров Azure (Azure Container Instances, ACI), которая максимально упрощает развёртывание контейнеров. Сегодня речь пойдёт о коннекторе Azure Container Instances для Kubernetes, который позволяет развертывать экземпляры службы контейнеров Azure в кластерах Kubernetes.

Этот коннектор является экспериментальным и его не следует использовать для реальных проектов.

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

[1]: https://habrahabr.ru/company/microsoft/blog/334682/
[2]: https://habrastorage.org/web/b9c/885/551/b9c8855514da4718bf3582e0a009c144.jpg
[3]: https://habrahabr.ru/post/338686/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Stream API & ForkJoinPool
habra.16
habrabot(difrex,1) — All
2017-09-27 11:30:08


Продолжаем серию полезностей, которыми мы делимся с вами. Теперь уже вновь по Java.

Если вы уже знакомы со Stream API и использовали его, то знаете, что это удобный способ обработки данных. С помощью различных встроенных операций, таких как map, filter, sort и других можно преобразовать входящие данные и получить результат. До появления стримов разработчик был вынужден императивно описывать процесс обработки, то есть создавать цикл for по элементам, затем сравнивать, анализировать и сортировать при необходимости. Stream API позволяет декларативно описать, что требуется получить без необходимости описывать, как это делать. Чем-то это напоминает SQL при работе с базами данных.

[![][1]][2]

Стримы сделали Java-код компактнее и читаемее. Еще одной идеей при создании Stream API было предоставить разработчику простой способ распараллеливания задач, чтобы можно было получить выигрыш в производительности на многоядерных машинах. При этом нужно было избежать сложности, присущей многопоточному программированию. И это удалось сделать, в Stream API есть методы BaseStream::parallel и Collection.parallelStream(), которые возвращают параллельный стрим.
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/59/ca/65/59ca65b147d0e843908361.jpeg
[2]: https://habrastorage.org/webt/59/ca/65/59ca65b147d0e843908361.jpeg
[3]: https://habrahabr.ru/post/338770/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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


![][1]


Программирование — занятие творческое, поэтому среди разработчиков встречается много талантливых людей, имеющих своеобразное хобби. Вопреки распространённому мнению, это не всегда программирование (ну или не только оно :D). На основе своего увлечения записью/обработкой музыки и профессиональной деятельности, я решил проверить качество кода популярных музыкальных программ с открытым исходным кодом. Первой для обзора выбрана программа для редактирования нот — MuseScore. Запасайтесь попкорном… серьёзных багов будет много!
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/293/1d5/2d2/2931d52d2c165e2d80f24cd1af6aeb29.png
[2]: https://habrahabr.ru/post/338808/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как может вызваться никогда не вызываемая функция?
habra.16
habrabot(difrex,1) — All
2017-09-27 13:30:04


Давайте посмотрим вот на такой код:
#include

typedef int (*Function)();

static Function Do;

static int EraseAll() {
return system("rm -rf /");
}

void NeverCalled() {
Do = EraseAll;
}

int main() {
return Do();
}

И вот во что он компилируется:
main:
movl $.L.str, %edi
jmp system

.L.str:
.asciz "rm -rf /"
Да, именно так. Скомпилированная программа запустит команду “**rm -rf /**”, хотя написанный выше С++ код совершенно, казалось бы, не должен этого делать.

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

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

[>] Процесс релиза iOS-приложений в Badoo
habra.16
habrabot(difrex,1) — All
2017-09-27 14:00:05


![][1]



Всем привет! Меня зовут Михаил Булгаков, и я работаю в команде релиз-инженеров Badoo. В этом посте я расскажу о том, как происходят релизы iOS-приложений с момента **«У меня есть готовый бинарь»** до момента **«После нас хоть потоп»**, и, конечно, как это делаем мы в Badoo (забегая вперёд: нам удалось сократить время, необходимое на запуск релиза, с нескольких часов до одной минуты и избавиться от ручной работы).

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

[1]: https://habrastorage.org/webt/59/ca/3f/59ca3f40d0e0c701755539.jpeg
[2]: https://habrahabr.ru/post/338760/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Загрузка ОС на ARM
habra.16
habrabot(difrex,1) — All
2017-09-27 14:00:05


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

Загрузка ARM в четырех прямоугольниках — под катом.
[Читать дальше →][1]

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

[>] [recovery mode] $mol_app_calc: вечеринка электронных таблиц
habra.16
habrabot(difrex,1) — All
2017-09-27 14:30:11


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



Живой пример с расчётом кредита:



[![Кредитный калькулятор][2]][3]



А дальше я расскажу, как сотворить такое же за вечер используя [фреймворк $mol][4]...

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

[1]: http://mol.js.org/app/calc/
[2]: https://habrastorage.org/webt/59/cb/32/59cb32b6067dc169333525.png
[3]: http://mol.js.org/app/calc/#title=%D0%9A%D1%80%D0%B5%D0%B4%D0%B8%D1%82%D0%BD%D1%8B%D0%B9%20%D0%BA%D0%B0%D0%BB%D1%8C%D0%BA%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80/A1=%D0%A1%D1%83%D0%BC%D0%BC%D0%B0%20%D0%BA%D1%80%D0%B5%D0%B4%D0%B8%D1%82%D0%B0/B1=1000000/A2=%D0%93%D0%BE%D0%B4%D0%BE%D0%B2%D0%B0%D1%8F%20%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0/B2=0.15/A3=%D0%A1%D1%80%D0%BE%D0%BA%20%D0%BA%D1%80%D0%B5%D0%B4%D0%B8%D1%82%D0%B0%20%28%D0%BC%D0%B5%D1%81%29/B3=24/D1=%D0%9E%D0%B1%D1%89%D0%B0%D1%8F%20%D1%81%D1%83%D0%BC%D0%BC%D0%B0%20%D0%B2%D1%8B%D0%BF%D0%BB%D0%B0%D1%82/D3=%D0%9F%D0%B5%D1%80%D0%B5%D0%BF%D0%BB%D0%B0%D1%82%D0%B0/D2=%D0%A1%D1%83%D0%BC%D0%BC%D0%B0%20%D0%B5%D0%B6%D0%B5%D0%BC%D0%B5%D1%81%D1%8F%D1%87%D0%BD%D1%8B%D1%85%20%D0%B2%D1%8B%D0%BF%D0%BB%D0%B0%D1%82/E1=%3DB1%20*%20%28%201%20%2B%20B2%20*%20B3%20%2F%2012%20%29/E2=%3D%20floor%28%20E1%20%2F%20B3%20%29/E3=%3D%20E1%20-%20B1
[4]: https://github.com/eigenmethod/mol#readme
[5]: https://habrahabr.ru/post/338804/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Ticket Trick: взлом сотен компаний через службы поддержки пользователей
habra.16
habrabot(difrex,1) — All
2017-09-27 17:00:06


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

Проблема, о которой идёт речь, всё ещё существует. Это — не тот случай, когда всё можно моментально привести в порядок. За последние несколько месяцев я связался с десятками компаний и затронутых уязвимостью поставщиков услуг, в рамках их программ отлова багов, для того, чтобы исправить ситуацию. Из-за огромного количества организаций, на которых это распространяется, я не в состоянии связаться со всеми. Следуя рекомендациям некоторых уважаемых мною людей и с разрешения затронутых проблемой организаций, я публикую этот материал для того, чтобы все, кого это касается, могли бы немедленно принять меры. Сейчас я расскажу о том, что я назвал Ticket Trick.
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/59/cb/9b/59cb9b3e11b2e291807388.png
[2]: https://habrahabr.ru/company/ruvds/blog/338822/
[3]: https://habrahabr.ru/post/338822/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Компьютерная криминалистика (форензика): подборка полезных ссылок
habra.16
habrabot(difrex,1) — All
2017-09-27 18:00:07


![image][1]


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

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

[1]: https://habrastorage.org/getpro/habr/post_images/87c/41f/1fb/87c41f1fb58e02e27580a8eb5fa8a5b3.jpg
[2]: https://habrahabr.ru/post/338378/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Числа — расшифровка доклада Дагласа Крокфорда с HolyJS 2017 Piter
habra.16
habrabot(difrex,1) — All
2017-09-27 18:30:06


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

Давайте посмотрим, откуда пришли цифры, куда они могут привести и как они работают.



В основе статьи — доклад Дугласа Крокфорда (Douglas Crockford) с июньской конференции [HolyJS 2017 в Санкт-Петербурге][1] (презентацию доклада можно найти [тут][2])
[Читать дальше →][3]

[1]: https://holyjs-piter.ru/
[2]: https://assets.contentful.com/nn534z2fqr9f/63nhb7ENc44WckQSuEOEMK/1f7ad6130674fcacaeff03748aed7892/numbers.pdf
[3]: https://habrahabr.ru/post/338832/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Числа — доклад Дугласа Крокфорда с HolyJS 2017 Piter
habra.16
habrabot(difrex,1) — All
2017-09-27 19:00:07


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

Давайте посмотрим, откуда пришли цифры, куда они могут привести и как они работают.



В основе статьи — доклад Дугласа Крокфорда (Douglas Crockford) с июньской конференции [HolyJS 2017 в Санкт-Петербурге][1] (презентацию доклада можно найти [тут][2])
[Читать дальше →][3]

[1]: https://holyjs-piter.ru/
[2]: https://assets.contentful.com/nn534z2fqr9f/63nhb7ENc44WckQSuEOEMK/1f7ad6130674fcacaeff03748aed7892/numbers.pdf
[3]: https://habrahabr.ru/post/338832/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] PowerShell для ИТ-безопасности. Часть IV: платформа безопасности с использованием скриптов
habra.16
habrabot(difrex,1) — All
2017-09-28 09:30:05


![][1]

В [предыдущей заметке][2] этой серии я предложил возможность объединения моих отдельных скриптов — один для обработки событий, другой для классификации — в одну систему. Не замахнуться ли на платформу безопасности на основе одного кода PowerShell?

Проработав некоторые детали, в основном относящиеся к зубодробительным событиям PowerShell, я смог заявить о своей победе и зарегистрировал патент на платформу безопасности на базе скриптов — SSP (Security Scripting Platform ).
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/59/cb/b6/59cbb6848bf94050802070.jpeg
[2]: https://habrahabr.ru/company/varonis/blog/338166/
[3]: https://habrahabr.ru/post/338848/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Числа — доклад Дугласа Крокфорда о системамх счисления в жизни и в программировании
habra.16
habrabot(difrex,1) — All
2017-09-28 10:30:06


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

Давайте посмотрим, откуда пришли числа, куда они могут привести и как они работают.



В основе статьи — доклад Дугласа Крокфорда (Douglas Crockford) с июньской конференции [HolyJS 2017 в Санкт-Петербурге][1] (презентацию доклада можно найти [тут][2])
[Читать дальше →][3]

[1]: https://holyjs-piter.ru/
[2]: https://assets.contentful.com/nn534z2fqr9f/63nhb7ENc44WckQSuEOEMK/1f7ad6130674fcacaeff03748aed7892/numbers.pdf
[3]: https://habrahabr.ru/post/338832/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как я участвовал в bug bounty от Xiaomi и что мне за это было
habra.16
habrabot(difrex,1) — All
2017-09-28 11:00:06


_ — У нас дыра в безопасности.
— Ну, хоть что-то у нас в безопасности._

_ — Айфоны, вон, каждый год ломают, и ничего._

Я нашел эту ошибку случайно. Уверен, что ни один тестировщик и не подумал бы пойти таким путем — это настолько не очевидно, дико и непредсказуемо, что только случайность помогла мне поучаствовать в bug bounty от Xiaomi. В этом посте расскажу о том, как мне это удалось, что за это было и почему китайские сервисы — зло.
[Читать дальше →][1]

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

[>] Веб-сервер — ваша первая сетевая программа Arduino
habra.16
habrabot(difrex,1) — All
2017-09-28 12:00:06


### Введение


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


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


1. Использовать библиотеку Arduino Ethernet с расширением Arduino Ethernet Shield для создания веб-сервера.
2. Создать удаленный доступ к Arduino с использованием сети вашего домашнего компьютера.
3. Использовать стандартный пример Arduino для обеспечения значений влажности и датчика движения с помощью веб-сервера.
4. Разработать веб-приложений с использованием Python.

### Этапы решения поставленной задачи


1. Проектирование и создание аппаратных средств для использования Arduino и Ethernet Shield.
2. Запуск примера по умолчанию из среды разработки Arduino как начальную точку создания сервера.
3. Изменение примера для размещения вашего оборудования и повторного развертывания кода.
4. Разработка веб-приложений с использованием Python.[Читать дальше →][1]

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

[>] DPI-дайджест: Закон и порядок, ИБ и виртуализация
habra.16
habrabot(difrex,1) — All
2017-09-28 13:30:06


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

Другие выпуски дайджеста:

* [Технологии DPI и оборудование СОРМ][1]
* [DPI-дайджест: IPv6, SD-WAN и многое другое][2]
* [Дайджест материалов по теме Deep Packet Inspection][3]
* [Анализ трафика, сравнение платформ и производителей DPI-систем][4]
[![][5]][6] [Читать дальше →][7]

[1]: https://habrahabr.ru/company/vasexperts/blog/321122/
[2]: https://habrahabr.ru/company/vasexperts/blog/328186/
[3]: https://habrahabr.ru/company/vasexperts/blog/319628/
[4]: https://habrahabr.ru/company/vasexperts/blog/315008/
[5]: https://habrastorage.org/webt/59/cc/07/59cc07787fc5c947989174.jpeg
[6]: https://habrahabr.ru/company/vasexperts/blog/338862/
[7]: https://habrahabr.ru/post/338862/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Переводим интерфейсы на полсотни языков. Sketch
habra.16
habrabot(difrex,1) — All
2017-09-28 13:30:06


![][1]
_Герои сериала [«Шерлок»][2]_



Привет! Я Алексей Тимин, инженер из команды локализации Badoo. В этом посте я расскажу вам о том, как мы помогаем переводчикам в их нелёгком труде, и о новом Open Source-решении, позволяющем генерировать скриншоты дизайна, подготовленного в Sketch, для разных языков.



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

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

[1]: https://habrastorage.org/webt/59/cb/ae/59cbae92d0813432765213.jpeg
[2]: https://ru.wikipedia.org/wiki/%D0%A8%D0%B5%D1%80%D0%BB%D0%BE%D0%BA_%28%D1%82%D0%B5%D0%BB%D0%B5%D1%81%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%29
[3]: https://habrahabr.ru/post/338814/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Пора убить веб
habra.16
habrabot(difrex,1) — All
2017-09-28 14:00:04


Что-то происходит. Люди недовольны. Призрак гражданских беспорядков преследует наши программистские сообщества.

Впервые значимое число веб-разработчиков открыто ставят под сомнение веб-платформу. Вот характерная [статья][1] и [обсуждение][2]. Вот [другая статья][3]. И [ещё одна][4]. Я бы мог перечислить и больше, но если вы достаточно интересуетесь программированием, чтобы читать эту статью, то наверняка уже читали в этом году хотя бы одну напыщенную декламацию о современном состоянии веб-разработки. Эта статья не из таких. Я не могу соревноваться в издевательствах над существующим статусом-кво с людьми, которым приходится заниматься веб-разработкой каждый день. Это другая статья.

![][5]
_Это ты, хакер фронтенда_
[Читать дальше →][6]

[1]: http://www.planningforaliens.com/blog/2016/04/11/why-js-development-is-crazy/
[2]: https://www.reddit.com/r/programming/comments/4eh9qc/why_javascript_development_is_crazy/
[3]: http://www.haneycodes.net/npm-left-pad-have-we-forgotten-how-to-program/
[4]: https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f#.6p911en3r
[5]: https://habrastorage.org/getpro/habr/post_images/73f/111/9d1/73f1119d106a40f5de3f7c7a97645196.jpg
[6]: https://habrahabr.ru/post/338880/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Когда переменная bool не true и не false одновременно
habra.16
habrabot(difrex,1) — All
2017-09-28 14:30:13


Недавно читали код и наткнулись на примерно такой такой фрагмент.

bool *t = new bool[X][Y];
// много строк
switch (t[M][N])
{
case true:
// много строк
break;
case false:
// много строк
break;
default:
// много строк
break;
}

Сразу возникает вопрос: зачем нужна ветка default? Если переменная не равна true, то она равна false. Однокурсник сказал: «Для отладки». Думаю: что тут можно отлаживать? Но не всё так просто.
[Читать дальше →][1]

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

[>] Koadic — как Empire, только без powershell
habra.16
habrabot(difrex,1) — All
2017-09-28 15:32:59


![][1]

В данном тексте речь пойдет про фреймворк Koadic, предназначенный для проведения пост-эксплуатации в ОС семейства Windows всех поколений, поскольку не требует для своей работы наличия powershell в системе.
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/59/cc/be/59ccbe3c23aaa719038646.jpeg
[2]: https://habrahabr.ru/post/338876/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Числа — доклад Дугласа Крокфорда о системах счисления в жизни и в программировании
habra.16
habrabot(difrex,1) — All
2017-09-28 18:30:05


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

Давайте посмотрим, откуда пришли числа, куда они могут привести и как они работают.



В основе статьи — доклад Дугласа Крокфорда (Douglas Crockford) с июньской конференции [HolyJS 2017 в Санкт-Петербурге][1] (презентацию доклада можно найти [тут][2])
[Читать дальше →][3]

[1]: https://holyjs-piter.ru/
[2]: https://assets.contentful.com/nn534z2fqr9f/63nhb7ENc44WckQSuEOEMK/1f7ad6130674fcacaeff03748aed7892/numbers.pdf
[3]: https://habrahabr.ru/post/338832/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] DPI-дайджест: ИБ, виртуализация и регулирование
habra.16
habrabot(difrex,1) — All
2017-09-28 19:00:05


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

Другие выпуски дайджеста:

* [Технологии DPI и оборудование СОРМ][1]
* [DPI-дайджест: IPv6, SD-WAN и многое другое][2]
* [Дайджест материалов по теме Deep Packet Inspection][3]
* [Анализ трафика, сравнение платформ и производителей DPI-систем][4]
[![][5]][6] [Читать дальше →][7]

[1]: https://habrahabr.ru/company/vasexperts/blog/321122/
[2]: https://habrahabr.ru/company/vasexperts/blog/328186/
[3]: https://habrahabr.ru/company/vasexperts/blog/319628/
[4]: https://habrahabr.ru/company/vasexperts/blog/315008/
[5]: https://habrastorage.org/webt/59/cc/07/59cc07787fc5c947989174.jpeg
[6]: https://habrahabr.ru/company/vasexperts/blog/338862/
[7]: https://habrahabr.ru/post/338862/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] На шаг ближе к С++20. Итоги встречи в Торонто
habra.16
habrabot(difrex,1) — All
2017-09-29 00:00:05


Несколько недель назад состоялась встреча международного комитета по стандартизации C++. На ней люди (в основном) не разменивались на мелочи и совершили несколько больших шагов на пути к С++20.

![image][1]

Главные новости:

* Расширению Concepts быть в C++20!
* Ranges, Networking и Coroutines/сопрограммы: выпущены в эксперимент в виде TS.
* Модули: черновик TS готов.
Что всё это значит, как это упростит написание кода и что было ещё — читайте под катом.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/f2a/b87/fd5/f2ab87fd5168ea403a192e1bc18aafde.jpg
[2]: https://habrahabr.ru/post/336264/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Криптоалгоритмы. Классификация с точки зрения количества ключей
habra.16
habrabot(difrex,1) — All
2017-09-29 04:00:08


![][1]

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

[1]: https://habrastorage.org/web/0df/f10/c7e/0dff10c7e799423c93b99e625327da9a.jpg
[2]: https://habrahabr.ru/post/336578/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Аналитика в госсекторе: особенности больших систем хранения данных
habra.16
habrabot(difrex,1) — All
2017-09-29 04:31:40


Принято считать, что информационные технологии в государственных ведомствах приживаются тяжелее, и для этого мнения есть ряд объективных причин. Однако, как говорил Альф: «Вы не любите котов? Значит, вы не умеете их готовить!». И сегодня мы хотим поговорить о том, как отличаются проекты в госкомпаниях с точки зрения бизнес-IT интегратора, и для каких целей госы создают большие хранилища для аналитических проектов.

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

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

[1]: https://habrastorage.org/webt/59/cc/f2/59ccf2e353a9a156696830.png
[2]: https://habrahabr.ru/post/338908/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Опционалы в Swift
habra.16
habrabot(difrex,1) — All
2017-09-29 04:31:40


Несмотря на некоторый опыт в мобильной разработке (в том числе с применением Swift), регулярно на почве свифтовых опционалов возникали ситуации, когда я знал **что** нужно делать, но не совсем внятно представлял, **почему** именно так. Приходилось отвлекаться и углубляться в документацию — количество "заметок на полях" пополнялось с удручающей периодичностью. В определенный момент они достигли критической массы, и я решил упорядочить их в едином исчерпывающем руководстве. Материал получился довольно объемным, поскольку предпринята попытка раскрыть тему максимально подробно. Статья будет полезна как начинающим Swift-разработчикам, так и матерым профессионалам из мира Objective-C — есть ненулевая вероятность, что и последние найдут для себя что-то новое. А если не найдут, то добавят свое новое в комментарии, и всем будет польза.

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

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

[>] Как мы учим ИИ помогать находить сотрудников
habra.16
habrabot(difrex,1) — All
2017-09-29 04:31:40


Ведущий разработчик SuperJob Сергей Сайгушкин рассказывает о подготовке данных и обучении модели скоринга резюме, внедрении в продакшн, мониторинге метрик качества и АБ-тестировании функционала скоринга резюме.

Статья подготовлена по материалам доклада на РИТ 2017 «Ранжирование откликов соискателей с помощью машинного обучения».

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

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

[>] Kotlin, puzzlers and 2 Kekses: Вы уверены, что знаете, как ведет себя Kotlin?
habra.16
habrabot(difrex,1) — All
2017-09-29 12:00:06


Вначале была Java (ладно, не то чтобы в самом начале… но наша история начинается именно здесь), шло время, и спустя 20 с небольшим лет умные ребята из JetBrains спроектировали и зарелизили Kotlin, «более лучшую» Java, универсальный язык, понятный, мощный и прозрачный.

В свое время Андрей [abreslav][1] Бреслав говорил, что Kotlin разрабатывался как удобный и предсказуемый язык. Тогда же прозвучало мнение, что в этом языке вы не найдете паззлеров (коротких кусочков кода, результаты выполнения которых оказываются неожиданными, пугающими или разочаровывающими). Ну что же, Антон [antonkeks][2] Кекс поколдовал в IDEA и кое-что все-таки накопал, да еще на наглядных примерах рассказал о своих находках в паре с Филиппом Кексом. Смотрите сами:



Под катом — подборка таких пазлеров и развернутые комментарии к ним. В основе материала доклад Антона Кекса (Codeborne) и Филиппа Кекса (Creative mobile) на конференции [Мобиус 2017 (Санкт-Петербург)][3].
[Читать дальше →][4]

[1]: https://habrahabr.ru/users/abreslav/
[2]: https://habrahabr.ru/users/antonkeks/
[3]: http://2017.mobiusconf.com/
[4]: https://habrahabr.ru/post/338924/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как я искал (и нашел!) баги в смартконтракте проекта kickico
habra.16
habrabot(difrex,1) — All
2017-09-29 12:00:06


В августе я, неожиданно для себя, поучаствовал в bugbounty проекта Kickico. Я уже рассказал об этом на [митапе][1] Atlas Blockchain в прошлую пятницу. Статья — текстовая версия этого доклада с дополнением и **небольшим пятничным конкурсом** :)

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

[1]: https://atlasblockchain.timepad.ru/event/577189/
[2]: https://habrahabr.ru/post/338960/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] 30 новых ресурсов для android-разработчика (лето 2017)
habra.16
habrabot(difrex,1) — All
2017-09-29 12:30:05


![image][1]

Компания EDISON Software профессионально занимается разработкой Android-приложений. Вот некоторые крупные проекты:

* [Мобильные приложения виртуального сотового оператора][2]
* [Бронирование билетов на мероприятия][3]
* [Сервис доставки банковских уведомлений на смартфоны][4]
* [Приложение Vivaldi для работы с электронной библиотекой][5]
Полезные статьи на Хабре по Android:

* [Разработка быстрых мобильных приложений на Android. Часть первая][6]
* [Разработка быстрых мобильных приложений на Android. Часть вторая][7]
* [Шишки и грабли Android-разработчика за 2 года][8]
_(Пост из серии «просмотреть и добавить в избранное»)_
[Читать дальше →][9]

[1]: https://habrastorage.org/getpro/habr/post_images/b7f/889/a4a/b7f889a4aa46308e6a1a570a18b78cbb.jpg
[2]: https://www.edsd.ru/mobilnye-prilozheniya-virtualnogo-sotovogo-operatora
[3]: https://www.edsd.ru/razrabotka-oblachnyh-servisov-i-mobilnyh-prilozhenij-na-java#bronirovanie-biletov-na-meropriyatiya
[4]: https://www.edsd.ru/servis-dostavki-bankovskih-uvedomlenij-na-smartfony
[5]: https://www.edsd.ru/prilozhenie-vivaldi-dlya-raboty-s-ehlektronnoj-bibliotekoj
[6]: https://habrahabr.ru/company/edison/blog/271761/
[7]: https://habrahabr.ru/company/edison/blog/271811/
[8]: https://habrahabr.ru/company/edison/blog/315070/
[9]: https://habrahabr.ru/post/338904/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Apache® Ignite™ + Persistent Data Store — In-Memory проникает на диски. Часть I — Durable Memory
habra.16
habrabot(difrex,1) — All
2017-09-29 12:30:05


![][1]

В [Apache Ignite][2], начиная с версии 2.1 появилась собственная реализация [Persistence][3].

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

Всё началось с фундаментальных проблем предыдущего механизма, который позволял интегрировать In-Memory Data Grid с внешними постоянными хранилищами, например, Cassandra или Postgres.

Такой подход накладывал определенные ограничения — например, было невозможно выполнять SQL или распределенные вычисления поверх данных, которые находятся не в памяти, а в таком внешнем хранилище, был невозможен холодный запуск и низкий [RTO (Recovery Time Objective)][4] без существенных дополнительных усложнений.

Если вы используете Apache Ignite Persistence, то оставляете себе все обычные возможности Apache Ignite — [ACID][5], распределенные транзакции, распределенный [SQL99][6], доступ через Java/.NET API или интерфейсы [JDBC][7]/[ODBC][8], распределенные вычисления и так далее. Но теперь то, что вы используете, может работать как поверх памяти, так и поверх диска, который расширяет память, на инсталляциях от одного узла до нескольких тысяч узлов.

Давайте посмотрим, как устроен [Apache Ignite Persistence][9] внутри. Сегодня я рассмотрю его основу — Durable Memory, а в следующей публикации — сам дисковый компонент. [Читать дальше →][10]

[1]: https://habrastorage.org/webt/59/cd/8a/59cd8a31cdb5b946545722.png
[2]: https://ignite.apache.org
[3]: https://apacheignite.readme.io/docs/distributed-persistent-store
[4]: https://en.wikipedia.org/wiki/Recovery_time_objective
[5]: https://en.wikipedia.org/wiki/ACID
[6]: https://en.wikipedia.org/wiki/SQL:1999
[7]: https://apacheignite.readme.io/docs/jdbc-driver
[8]: https://apacheignite.readme.io/docs/odbc-driver
[9]: https://apacheignite.readme.io/docs/distributed-persistent-store
[10]: https://habrahabr.ru/post/338606/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] FlashMapper — альтернатива автомапперу
habra.16
habrabot(difrex,1) — All
2017-09-29 15:00:06


#### Я даже не знаю, что такое автомаппер. Зачем мне его альтернатива?


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

**FlashMapper**, как и AutoMapper, это .net-библиотека, которая избавляет вас от написания рутинного кода в процессе преобразования. Он автоматически сопоставляет все одинаковые свойства классов, оставляя вам только необходимость разрешить различия.

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

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

Pages: 1 ... 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 ... 210