Pull to refresh
72
0
Николай Мазуркин @MzMz

Java/Linux/Web

Send message

Реализация кодека 66b/64b на языке VHDL

Level of difficulty Easy
Reading time 4 min
Views 2.7K

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

равномерное распределение 0 и 1 в канале

простота кодирования/декодирования

иметь небольшую избыточность

Один из самых распространённых протоколов, о которых думаю, если не каждый человек, то уж каждый инженер точно слышал, является Ethernet, который имеет большое количество стандартов. Он так же использует кодек, а именно 66b/64b, который широко известен в инженерных кругах. Вот небольшой список популярных протоколов, использующих этот кодек:

Ethernet (10,40,100G)

Common Public Radio Interface

Fibre Channel (10G, 16G)

Infiniband (FDR, EDR)

Thunderbolt

Читать далее
Total votes 16: ↑16 and ↓0 +16
Comments 4

Статический анализ кода в современной Java-разработке

Reading time 9 min
Views 16K

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

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

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

Читать далее
Total votes 16: ↑16 and ↓0 +16
Comments 20

Опыт коррекции зрения под общим наркозом по методике ReLEx Smile или Крайне мучительное восстановление

Reading time 16 min
Views 107K

Большинство обзоров методов лазерной коррекции сопровождаются однотипно довольными отзывами людей, которые на следующий день стали видеть 120% от нормы. Мне же хочется дать чуть другой взгляд на эту процедуру, так как среди моих знакомых есть много людей с различными проблемами со зрением (и с миопией, и с пресбиопией), которые задумываются о коррекции. Тем более так сложилось, что на Habr есть множество отзывов и толковых материалов на эту тему.

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

Читать далее
Total votes 276: ↑275 and ↓1 +274
Comments 311

Принципы организации объектных хранилищ

Reading time 10 min
Views 10K
Storage by Phade01

Наш коллега недавно написал об архитектуре объектного S3-хранилища Mail.ru Cloud Storage. Теперь мы переводим хорошую статью об общих особенностях и ограничениях объектных хранилищ.
Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 2

Что мы расскажем на Highload++ 2017

Reading time 10 min
Views 7.3K


2 700 участников из разных регионов России и мира, 150 докладчиков, более десяти залов, 2 дня на крупнейшей площадке «Сколково» — это всё о конференции Highload++, на которой мы с вами, возможно, встретимся. У нас большой десант в разных секциях, будут не только традиционные выступления, но и мастер-классы.


Составили для вас расписание выступлений от Mail.Ru Group — без малого 18 спикеров! Расскажем о технологиях детектирования и распознавания, создании базы данных и миграции без даунтайма, написании платформы потокового видео, защите от DDoS, новом о Tarantool и о многом другом.


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

Читать дальше →
Total votes 38: ↑36 and ↓2 +34
Comments 13

Матрица с идеями для стартапов

Reading time 2 min
Views 48K
Буквально на днях Эрик Стромберг, бывший совладелец книжного сервиса Oyster, чуть более года назад проданного Google, рассказал о матрице, которая поможет вам найти идею для нового стартапа. Сама задумка создания подобной матрицы многим показалась чрезвычайно интересной. Пост Эрика, размещенный в его блоге на Medium, спровоцировал обширную дискуссию и вызвал интерес у мировых СМИ. Тем, кто еще не слышал об этой концепции, мы предлагаем ознакомиться с переводом резонансной публикации.


Читать дальше →
Total votes 25: ↑23 and ↓2 +21
Comments 37

Мониторинг и настройка сетевого стека Linux: получение данных

Reading time 71 min
Views 78K


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

Также рекомендуем ознакомиться с иллюстрированным руководством на ту же тему, там есть поясняющие схемы и дополнительная информация.
Читать дальше →
Total votes 63: ↑60 and ↓3 +57
Comments 8

Рекомендации на основе изображений товаров

Reading time 5 min
Views 11K
image

В данной статье я хотел бы рассмотреть на практике вариант построения простейшей рекомендательной системы основанной на схожести изображений товаров. Этот материал предназначен для тех, кто хотел бы попробовать применить Deep Learning, а именно свёрточные нейронные сети, в простом, интересном и практически применимом проекте, но не знает с чего начать.
Читать дальше →
Total votes 22: ↑20 and ↓2 +18
Comments 11

«Требования к надёжности у нас выше, чем в среднем энтерпрайзе»: Дойче Банк о Java-разработке и конференциях

Reading time 4 min
Views 10K
Технологический Центр Дойче Банка известен своими Java-спикерами: Руслан Черёмин и Алексей Рагозин давно выступают на конференциях, выбирая для докладов далеко не самые доступные темы, и оба ведут по техническому блогу. Дойче Банк поучаствовал в Joker 2016, и мы использовали это как повод задать Черёмину с Рагозиным по несколько вопросов.



Читать дальше →
Total votes 28: ↑28 and ↓0 +28
Comments 6

Резервное копирование: Кейс Google

Reading time 2 min
Views 46K
Сегодня мы разберем профильную тему на основе кейса Google Tech Talks, которым поделился один из инженеров компании, а тематических журнал High Scalability проанализировал рассказ ИТ-специалиста Google.

Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Comments 4

Генераторы дискретно распределенных случайных величин

Reading time 8 min
Views 38K
Данная статья является продолжением поста Генераторы непрерывно распределенных случайных величин. В этой главе учитывается, что все теоремы из предыдущей статьи уже доказаны и генераторы, указанные в ней, уже реализованы. Как и ранее, у нас имеется некий базовый генератор натуральных чисел от 0 до RAND_MAX:

unsigned long long BasicRandGenerator() {
    unsigned long long randomVariable;
    // some magic here
    ...
    return randomVariable;
}

С дискретными величинами все интуитивно понятнее. Функция распределения дискретной случайной величины:


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

Распределение Бернулли




Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 9

Kaggle и Titanic — еще одно решение задачи с помощью Python

Reading time 23 min
Views 78K
Хочу поделиться опытом работы с задачей известного конкурса по машинному обучению от Kaggle. Этот конкурс позиционируется как конкурс для начинающих, а у меня как раз не было почти никакого практического опыта в этой области. Я немного знал теорию, но с реальными данными дела почти не имел и с питоном плотно не работал. В итоге, потратив пару предновогодних вечеров, набрал 0.80383 (первая четверть рейтинга).



Читать дальше →
Total votes 31: ↑30 and ↓1 +29
Comments 6

Распознаём изображение с токена при помощи камеры

Reading time 3 min
Views 33K
В организации, где я тружусь в свободное от отдыха время, очень высокие требования к безопасности. Везде, где только можно, для аутентификации пользователей используются токены. Мне выдали вот такую вот штуку:

и сказали: жмёшь кнопку, смотришь цифры, вводишь пароль и радуешься. «Безопасность, конечно, превыше всего, но и о комфорте забывать не следует» — примерно так подумал я и провёл ревизию имеющегося у меня электронного хлама.
Читать дальше →
Total votes 178: ↑172 and ↓6 +166
Comments 60

Некоторые приемы YAML

Reading time 3 min
Views 77K
В этом посте я расскажу про не очень известные особенности языка YAML.

Пролог


Системное администрирование за последние несколько лет несколько изменилось. Вместо маленьких скриптиков на bash у нас теперь огромные проекты системы конфигурации. Puppet с миллионом модулей готов «отконфигурять» для нас любую машинку, все поставить и все настроить. И конечно же, венчает это торжество автоматизации Hiera — система управления системой управления.

В начале идея выделения всех конфигурационных данных в иерархическую структуру и редактирования красивых и удобных YAML файлов кажется невероятно соблазнительной, особенно если вспомнить множество форматов конфиг-файлов, создатели которых, кажется, участвовали в соревнованиях по оригинальности мышления. Однако очень уже скоро мы оказываемся с тысячами строк YAML. Давайте посмотрим как можно использовать YAML чтобы наши конфигурации было легче читать и поддерживать.
Читать дальше →
Total votes 28: ↑28 and ↓0 +28
Comments 18

PostgreSQL 9.3 + Pgpool-II

Reading time 4 min
Views 37K
Решил поделиться с вами опытом настройки кластера PostgreSQL 9.3, состоящего из двух нод, управлением которого занимается pgpool-II, без использования Stream Replication (WAL). Надеюсь, кому-нибудь будет интересно.

Схема:

image

Как Вы понимаете, это будут два отдельно стоящих сервера, которыми будет управлять pgpool-II.

Конфигурация нод с PostgreSQL:
Оба сервера идентичны по своим аппаратным составляющим.
  • 4vCPU;
  • 16 Гб памяти;
  • CentOS 6.5;

Диски:
  • 50 Гб — система;
  • 100 Гб — pg_xlog
  • 500 Гб — каталог с данными


Пример,
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        48G  7.4G   38G  17% /
tmpfs           7.8G     0  7.8G   0% /dev/shm
/dev/sda1       194M   28M  157M  15% /boot
/dev/sdb1        99G  4.9G   89G   6% /var/lib/pgsql/9.3/data/pg_xlog
/dev/sdc1       493G  234G  234G  50% /var/lib/pgsql/9.3/my_data


Конфигурация нод с pgpool-II:
  • 4vCPU;
  • 8 Гб памяти;
  • CentOS 6.5;

Диски:
  • 50 Гб — система;


Про установку PostgreSQL в детали вдаваться не буду, так как она стандартная.

Настройка pgpool-II.
За основу настройки pgpool-II, взял инструкцию с официального сайта: www.pgpool.net/pgpool-web/contrib_docs/simple_sr_setting2_3.3/index.html

Хотел бы обратить внимание только самые важные моменты:
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 9

Пишем обертку для FUSE на Java Native Runtime

Reading time 8 min
Views 16K
В статье я расскажу как реализовать файловую систему в юзерспейсе на Java, без строчки ядерного кода. А также покажу как связать Java и нативный код без написания кода на C, при этом сохранив максимальную производительность.



Интересно? Добро пожаловать под кат!
Подробности
Total votes 26: ↑26 and ↓0 +26
Comments 8

Лекции Техносферы. 1 семестр. Алгоритмы интеллектуальной обработки больших объемов данных

Reading time 3 min
Views 48K
Продолжаем публиковать материалы наших образовательных проектов. В этот раз предлагаем ознакомиться с лекциями Техносферы по курсу «Алгоритмы интеллектуальной обработки больших объемов данных». Цель курса — изучение студентами как классических, так и современных подходов к решению задач Data Mining, основанных на алгоритмах машинного обучения. Преподаватели курса: Николай Анохин (@anokhinn), Владимир Гулин (@vgulin) и Павел Нестеров (@mephistopheies).



Объемы данных, ежедневно генерируемые сервисами крупной интернет-компании, поистине огромны. Цель динамично развивающейся в последние годы дисциплины Data Mining состоит в разработке подходов, позволяющих эффективно обрабатывать такие данные для извлечения полезной для бизнеса информации. Эта информация может быть использована при создании рекомендательных и поисковых систем, оптимизации рекламных сервисов или при принятии ключевых бизнес-решений.
Читать дальше →
Total votes 47: ↑46 and ↓1 +45
Comments 15

Crowdin: обезболивающее при локализации

Reading time 4 min
Views 16K
О локализации без боли мечтает каждый, кто знает, что такое локализация. Особенно мечтает тот, кому нужно перевести свой продукт сразу на десяток языков. И тот, у кого в текстах сплошные термины. И еще сильнее тот, у кого постоянно выпускаются обновления с новыми строками, которые с тем же постоянством надо переводить, переводить, переводить…


Кадр из фильма Леонида Гайдая «Кавказская пленница, или Новые приключения Шурика»

С этими и другими сложностями мы в Alconost справляемся благодаря одному-единственному инструменту, который решает сразу десяток проблем. Медики назвали бы такую штуку панацеей. А мы, локализаторы, зовем ее облачной платформой Crowdin. Именно Crowdin позволил нам делать локализации приложений, сайтов и игр на 40 с лишним языков для десятков разных клиентов одновременно.

Итак, мы выделили шесть основных сложностей локализации, от которых избавляет Crowdin:
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Comments 13

Установка и запуск Android-приложений на Linux

Reading time 1 min
Views 191K
image

Как известно, многие Android-приложения можно нативно запускать на Chrome OS благодаря библиотеке Chrome App Runtime.

С помощью расширений chromeos-apk и ARChon запуск Android APK стал возможен и на других ОС.

В этой публикации я расскажу, как установить произвольное Android-приложение на Ubuntu 14.04.
Читать дальше →
Total votes 30: ↑26 and ↓4 +22
Comments 33

Лекции Технопарка. 1 семестр. С/С++

Reading time 6 min
Views 110K
Мы продолжаем наши еженедельные публикации учебных материалов Технопарка. Предыдущие лекции были посвящены web-технологиям в целом, а также алгоритмам и структурам данных. В третьем блоке лекций рассказывается о языках С и С++.

Лекция 1. Язык С. Основы организации и использования оперативной и сверхоперативной памяти


Лекция начинается с введения в язык С: рассказывается об истории его появления, особенностях, преимуществах и недостатках, о сферах применения. Описываются основы препроцессорной обработки, рассматриваются вопросы управления памятью (модели управления памятью, области видимости объектов хранения) и производительность программ на языке С. Обсуждается связывание объектов хранения и их инициализация. Затем рассказывается о классах памяти в языке С. Следующая часть лекции посвящена проблематике указателей, а также работе с одномерными массивами. В заключение рассматривается стандарт POSIX и вопросы переносимости.


Читать дальше →
Total votes 72: ↑70 and ↓2 +68
Comments 83

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity