Опыт использования библиотеки Puniverse Quasar для акторов

Автор: admin от 28-02-2018, 14:35, посмотрело: 302

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

Библиотека вроде достаточно зрелая, почти 3 тысячи звезд на гитхабе, больше 300 форков, пара рекомендаций на Хабре… Почему бы и нет? Наш проект стартовал в феврале 2017, писали на Kotlin.

Опыт использования библиотеки Puniverse Quasar для акторов
Казалось бы, что могло пойти не так?

Категория: Информационная безопасность

 

Коллтрекинг Mango Office: под капотом сервиса

Автор: admin от 28-02-2018, 14:35, посмотрело: 402

Коллтрекинг Mango Office: под капотом сервиса


В первой статье мы «срывали покровы» и рассказывали, что такое коллтрекинг. Затем подробно разобрали его настройки, теперь — о том, как мы в «Манго Телеком» создавали эту услугу и какой стек технологий используем.

Категория: Информационная безопасность

 

Чего из Rust мне не хватает в C

Автор: admin от 28-02-2018, 14:35, посмотрело: 311

Об авторе. Федерико Мена-Кинтеро — мексиканский программист, один из основателей проекта GNOME, автор книги «Язык программирования Rust».

Librsvg достиг переломного момента: внезапно выясняется, что легче портировать некоторые основные части из C на Rust, чем просто добавить аксессоры. Кроме того, всё больше «мяса» библиотеки сейчас написано на Rust.

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

Элегия C


Я влюбился в C около 24 лет назад. Выучил азы по второму изданию “The C Programming Language by K&R” в переводе на испанский. До этого я использовал достаточно низкоуровневый Turbo Pascal, с указателями и ручным распределением памяти, так что C казался приятным и придающим сил.

K&R — отличная книга для выработки стиля и лаконичности. Эта маленькая книжка даже научит вас реализовать простой malloc()/free(), что поистине просветляет. Даже низкоуровневые конструкции можно вставлять в самом языке!

В последующие годы я хорошо освоил C. Это небольшой язык с маленькой стандартной библиотекой. Вероятно, идеальный язык для реализации ядра Unix на 20 000 строк кода или около того.

Категория: Информационная безопасность

 

Проектирование надёжных баз данных. Глава 1. Введение

Автор: admin от 28-02-2018, 14:35, посмотрело: 303

Проектирование надёжных баз данных. Глава 1. Введение

Глава 1. Введение



Цель этой книги – предоставить руководство по развитию на пути становления настоящим инженером надёжных баз данных (database reliability engineer, DBRE). В названии книги мы специально использовали слово инженер, а не администратор.



Бен Трейнор (инженер Google) охаракеризовал эту деятельность так:



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

Категория: Информационная безопасность

 

Тестируем массив OceanStor Dorado V3: настолько обычный, что прямо вообще

Автор: admin от 28-02-2018, 12:25, посмотрело: 288

Тестируем массив OceanStor Dorado V3: настолько обычный, что прямо вообще
OceanStor Dorado5000 V3



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



Мы его спокойно себе тестировали, когда вдруг на горизонте показался очень взволнованный заказчик. У него была гибридная СХД с кончившейся поддержкой, где вылетел контроллер. СХД не самая новая и дисков за сотню. Без контроллера производительность очень упала. Ждать новый шесть недель. Коллеги бились в панике, попутно умоляя нас, каким-то неведомым образом сократить сроки поставки нового контроллера. КРОК может все. Иногда даже больше.



У нас на тестах была новая железка Дорадо. Толком обкатать не успели, но вроде нормальная. Объяснили, переглянулись — и дали погонять как раз на то время, пока будет плыть новый контроллер. За сутки все смигрировали, но оставили старую систему в качестве резерва.

Категория: Информационная безопасность / Криптография

 

Скрытый JS-майнинг в браузере

Автор: admin от 28-02-2018, 12:25, посмотрело: 171

Скрытый JS-майнинг в браузере

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



Тема ранее уже поднималась на Хабре, но фантазия вирусописателей неиссякаема! Недавно мы обнаружили более масштабное применение майнинга на JS в браузере пользователя. Будь бдителен, хабраюзер, и добро пожаловать под кат: расскажем обо всем подробнее!

Категория: Информационная безопасность / Криптография

 

Ричард Хэмминг: Глава 8. Искуственный интеллект-III

Автор: admin от 26-02-2018, 12:50, посмотрело: 210

«Цель этого курса — подготовить вас к вашему техническому будущему.»


Ричард Хэмминг: Глава 8. Искуственный интеллект-IIIПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2365 в закладки, 360k прочтений)?



Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Давайте ее переведем, ведь мужик дело говорит.



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



Мы уже перевели 11 (из 30) глав.

За перевод спасибо urticazoku, который откликнулся на мой призыв в «предыдущей главе». Кто хочет помочь с переводом — пишите в личку или на почту [email protected] (Кстати, мы еще запустили перевод еще одной крутейшей книги — «The Dream Machine: История компьютерной революции»)



Искусственный интеллект — III



Я предлагаю сделать паузу и обсудить следующий вопрос:



Могут ли машины думать?



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

Категория: Информационная безопасность

 

Как собрать сильную команду аналитиков и инженеров данных? Опыт компании Wish. Часть 2

Автор: admin от 26-02-2018, 12:50, посмотрело: 201

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



Как собрать сильную команду аналитиков и инженеров данных? Опыт компании Wish. Часть 2

Категория: Информационная безопасность

 

Зомби, которые съедают вашу память

Автор: admin от 26-02-2018, 12:50, посмотрело: 231

Что бы вы там себе не думали, а зомби существуют. И они действительно едят мозги. Не человеческие, правда, а компьютерные. Я говорю сейчас о зомби-процессах и потребляемых ими ресурсах. Это будет душераздирающая история о потерянных и снова найденных 32 ГБ оперативной памяти. Возможно, лишь некоторые из вас столкнутся с точно такой же проблемой, но если вдруг это произойдёт — у вас хотя бы будет шанс понять, что происходит.



Начнём с того, что компьютеры под управлением ОС Windows склонны со временем терять память. Ну, по крайней мере, у меня, при моём способе ими пользоваться. После пары недель без перезагрузок (или, например, всего одного уикэнда за который я 300 раз пересобрал Хром) я стал замечать, что диспетчер задач начинает показывать мне очень маленькое количество свободной оперативной памяти, но в то же время в системе нет никаких процессов, которые эту самую память активно используют. В том примере выше (с 300 сборками Хрома) диспетчер задач сказал мне, что в системе занято 49.8 ГБ плюс ещё 4.4 ГБ памяти сжато — но при этом запущено всего несколько процессов, и все они в сумме даже и близко не используют столько памяти:



Зомби, которые съедают вашу память



В моём компьютере 96 ГБ оперативной памяти (да, я счастливчик) и когда у меня нет вообще никаких запущенных процессов — я, знаете ли, хотел бы видеть ну хотя бы половину этой памяти свободной. Я правда рассчитываю на это. Но иногда этого достичь не удаётся и мне приходится перезагружать ОС. Ядро Windows написано качественно и надёжно (без шуток), так что память не должна бы пропадать бесследно. Но всё же она пропадает.

Категория: Информационная безопасность

 

Hyperapp для беженцев с React/Redux

Автор: admin от 26-02-2018, 12:50, посмотрело: 207

Hyperapp для беженцев с React/Redux



Я люблю Redux



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



Redux — это инструмент для управления состоянием приложения (state), который позволяет полностью отделить его от представления (view). Представление (view) становится производным состояния (state), которое предоставляет пользователю интерфейс для его изменения. Действия пользователя (actions) не изменяют состояние (state) напрямую. Вместо этого они попадают в редюсер (reducer). Это такая чистая функция, которая на основе предыдущего состояния (state) и действия (action) генерирует следующее состояние (state). Такой подход к обновлению данных во многом был вдохновлен архитектурой языка программирования Elm и концепцией однонаправленного потока данных Flux. Это, возможно, самая популярная javascript-библиотека для иммутабельного изменения состояния из тех, что существуют сегодня. Авторы Redux сфокусировались на решении одной единственной проблемы — управление состоянием приложения (state), и сделали это хорошо. Redux получился достаточно модульным, чтобы работать с различными библиотеками для отображения представления (view).



React использует аналогичный сфокусированный подход для представления (view), имеет эффективный виртуальный DOM, который можно подключить к DOM браузера, нативным мобильным приложениям, VR и прочим платформам.



Что бы создавать надежные, функциональные и легко отлаживаемые web-приложения, можно использовать React и Redux. Правда, потребуются вспомогательные библиотеки вроде react-redux и куча boilerplate-кода. А можно попробовать Hyperapp.

Категория: Информационная безопасность