Pull to refresh

Стартовала викторина по RAID 2.0+ в рамках «Уроков с экспертами»

Reading time 2 min
Views 639
Huawei corporate blog Data storage *

На форуме Huawei Enterprise началась викторина с вопросами по RAID 2.0+, которая проходит в рамках обучающей программы "Уроки с экспертами." Урок ведет Дарья Хафизова, HCIE Storage, руководитель группы инфраструктурных решений ICL.

Целью данного урока является помощь инженерам в освоении материала, необходимого для прохождения сертификации по направлению Storage.

Технология RAID2.0+ пришла на смену традиционного RAID и является "сердцем" cистем хранения данных Huawei.

Именно поэтому на просторах интернета можно найти множество статей, посвященных RAID 2.0+, где каждый автор пытается заглянуть под капот и поделиться с читателями своим видением этого интересного решения.

В рамках нового урока предлагаем всем, кто еще не глубоко знаком с RAID 2.0+, разобраться со всеми тонкостями его работы, а гуру-администраторам - подключаться к обсуждению (всегда есть шанс упустить что-то важное) и, конечно, не забывать про новый летний конкурс!

В первой части мы детально на примерах посмотрим, как строится многоуровневая архитектура виртуализации, во второй - обсудим, как происходит восстановление данных, и какие преимущества у RAID 2.0+ перед традиционным RAID.

Первая часть вопросов выглядит так:

Пройти квиз
Total votes 8: ↑8 and ↓0 +8
Comments 0

ARPU, или Несколько десятых доллара

Reading time 3 min
Views 32K
VK corporate blog
Tutorial
ARPU – average revenue per user, или «средняя выручка с пользователя». Если вы считаете, что этот показатель высчитывается через деление всей выручки на все инсталлы в срок с момента релиза и на сегодняшний день, то эта статья для вас.

Многие из-за нехватки знаний, а может, и из-за желания упростить себе работу, пытаются посчитать один из важнейших параметров игры по вышеприведенной схеме. И это неправильно. Особенно, когда LifeTime (время жизни игрока в проекте) пользователя меньше рассматриваемого периода в 2 раза или менее.
Читать дальше →
Total votes 39: ↑29 and ↓10 +19
Comments 13

Борьба за трафик. Как вывести сайт из-под спам-фильтра Google (Первая Часть)

Reading time 9 min
Views 48K
Rusonyx corporate blog Search engines *
Tutorial
В марте прошлого года мы неожиданно получили письмо от команды Google по борьбе со спамом.

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

image

Мы с грустью смотрели на эту картину. Но делать нечего – нужно было срочно что-то предпринимать. Спустя год, потратив 300 человеко-часов, нам удалось вытащить сайт из бана. В этой статье я постараюсь подробно описать, как нам это удалось, каких это стоило усилий и какие шаги нужно предпринимать в такой ситуации.
Читать дальше →
Total votes 91: ↑75 and ↓16 +59
Comments 76

Борьба за трафик. Как вывести сайт из-под спам-фильтра Google (Вторая Часть)

Reading time 8 min
Views 17K
Rusonyx corporate blog Search engines *
Tutorial
Всем привет!

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





Сегодня я расскажу, что делать дальше, если все этапы первой части успешно выполнены. Напомню, что статья написана исходя из личного опыта вытаскивания нашего сайта rusonyx.ru из-под фильтра Гугл.
Читать дальше →
Total votes 35: ↑28 and ↓7 +21
Comments 12

Классы в Swift [Часть 1]

Reading time 4 min
Views 30K
ООP *Swift *
Tutorial
Translation
Недавно Apple представила общественности достаточно важное изменение в разработке iOS приложений, анонсировав новый язык программирования Swift. В настоящее время, количество материалов на русском, посвящённых этому языку, ограничено. Также Swift — язык объектно-ориентированный, и классы в нём — основа основ. Поэтому я решил перевести эту статью.


Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Comments 16

Создаём REST-сервис на PostgreSQL и Rust. Часть 1: прототип

Reading time 6 min
Views 35K
Rust *
Tutorial
Всем привет.

Какое-то время назад я видел в небезызвестном блоге пост о том, как реализовать на Go простую программу, работающую с БД, а затем сделать на её базе целый REST-сервис. Я решил проверить, насколько сложно сделать аналогичную программу на Rust и поделиться результатами.



Мы начнём с работы с БД и создадим обычное консольное приложение, а затем добавим, так сказать, REST-фронтенд.
Читать дальше →
Total votes 37: ↑33 and ↓4 +29
Comments 28

Создаём REST-сервис на Rust. Часть 2: читаем INI; multirust

Reading time 4 min
Views 18K
Rust *
Tutorial
Всем привет.

В первой части мы сделали простейший прототип, работающий с PostgreSQL.

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

В качестве формата конфигурации я выбрал INI — достаточно простой и известный формат.

Читать дальше →
Total votes 15: ↑12 and ↓3 +9
Comments 9

Создаем мобильную игру на Monogame, решая типичные проблемы начинающего разработчика

Reading time 10 min
Views 31K
Game development *Development for Windows Phone *C# *
Sandbox
Целью данной статьи является систематизация материалов для создания простых игр на фреймворке Monogame. В статье будут рассмотрены решения типичных задач, с которыми приходится сталкиваться всем разработчикам при создании игр для мобильных платформ: независимость текстур от разрешения экрана, создание меню и смена игровых сцен (экранов), нюансы работы со звуком и шрифтами, сохранение рекордов. В статье приведены примеры кода, а так же даны ссылки на полезные и актуальные источники информации по Monogame и разработке под платформу Windows в целом, ну и конечно, моя история создания своих первых игр.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 13

Пощупать нейросети или конструктор нейронных сетей

Reading time 4 min
Views 98K
Data visualization *Machine learning *
Tutorial
Sandbox


Я давно интересовался нейросетями, но только с позиции зрителя – следил за новыми возможностями, которые они дают по сравнению с обычным программированием. Но никогда не лез ни в теорию, ни в практику. И вдруг (после сенсационной новости о AlphaZero) мне захотелось сделать свою нейросеть. Посмотрев несколько уроков по этой теме на YouTube, я немного врубился в теорию и перешёл к практике. В итоге я сделал даже лучше, чем свою нейросеть. Получился конструктор нейросетей и наглядное пособие по ним (то есть можно смотреть, что творится внутри нейросети). Вот как это выглядит:


Читать дальше →
Total votes 37: ↑31 and ↓6 +25
Comments 32

Рассказывать ли сотрудникам о социальной инженерии?

Reading time 3 min
Views 17K
Information Security *
Да, я знаю, что термину «социальная инженерия» уже много лет, что Кевина уже давно отпустили, что есть куча материалов о том, как защититься от этих «инженеров». Я не собираюсь пинать мертвую кобылу, я хочу узнать у кого такая же кобыла тоже сдохла, а у кого отлично живет. Иными словами — мы на предприятии обучаем пользователей основам ИБ, рассылаем им информацию по разным типам атак и способам борьбы с ними. Примером такой рассылки про социальную инженерию я и хочу с вами поделиться.
Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Comments 40

Три пятерки для электронщика

Reading time 3 min
Views 16K
МАСТЕР КИТ corporate blog DIY Electronics for beginners
Компания Мастер Кит, выпускающая серию обучающих наборов для начинающих под общим названием «Азбука электронщика», конечно же, не могла обойти вниманием такой известный компонент, как «легендарный» интегральный таймер NE555. И, если в первом наборе «Основы схемотехники», рассматриваются 15 простейших схем с применением основных электронных компонентов (резисторов, конденсаторов, транзисторов, диодов), то в наборе, который мы назвали «Классика схемотехники», приведены 20 схем с применением таймера NE555.


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

Пишем свой язык программирования, часть 1: пишем языковую ВМ

Reading time 12 min
Views 28K
High performance *Open source *Virtualization *Software Brain
Tutorial

Введение


Доброго времени суток всем хабрачитателям!

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

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

Он заинтересовал многих и вызвал бурную дискуссию в комментариях. Следовательно — тема интересна многим.

Думаю, что сразу стоит выложить информацию о проекте:

Сайт (будет заполнен документацией чуть позже).
Репозиторий

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

Кодить я умею на C/C++ и на Object Pascal. Проект я писал на FPC, т.к. на мой взгляд этот язык гораздо проще и лучше подходит для написание подобного. Вторым определяющим фактором стало то, что FPC поддерживает огромное количество целевых платформ и пересобрать проект под нужную платформу можно с минимумом переделок. Если вы по непонятным мне причинам не любите Object Pascal, то не спешите закрывать пост и бежать кидаться камнями в комментарии. Этот язык весьма красив и нагляден, а кода я буду приводить не так уж и много. Только то, что нужно.

Итак, начну пожалуй я своё повествование.
Читать дальше →
Total votes 34: ↑27 and ↓7 +20
Comments 26

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

Reading time 4 min
Views 15K
High performance *Open source *Virtualization *Software Brain
Tutorial
image

Введение


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

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

В первой части (линк: habr.com/post/435202) я описал этапы проектирования и написания языковой ВМ, которая будет выполнять наши будущие приложения на нашем будущем языке.
В этой статье я планирую описать основные этапы создания промежуточного языка программирования, который будет собираться в абстрактный байткод для уже непосредственного выполнения на нашей ВМ.

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

Сайт
Репозиторий
Читать дальше →
Total votes 26: ↑20 and ↓6 +14
Comments 1

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

Reading time 6 min
Views 10K
High performance *Open source *Virtualization *Compilers *Brain
Tutorial
image

Введение


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

Для начала, по устоявшимся традициям, я приведу ссылки на предыдущие статьи:

Часть 1: пишем языковую ВМ
Часть 2: промежуточное представление программ

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

Также мне стоит разместить сразу ссылку на статью о проекте, который был написан мной ранее и на основе которого идет весь этот разбор полётов: Клац сюды. С ним пожалуй стоит ознакомиться первым делом.

И немного о проекте:

Небольшой сайт проекта
GitHub репозиторий

Ну и также скажу сразу, что все написано на Object Pascal, а именно — на FPC.

Итак, начнем.
Читать дальше →
Total votes 30: ↑23 and ↓7 +16
Comments 22

Пишем свой язык программирования, часть 4: Представление структур и классов, генерация аллокаторов

Reading time 3 min
Views 11K
High performance *Open source *Virtualization *Compilers *Brain
image

Доброго времени суток тем, кто решил ознакомиться с моей очередной статьёй.

Первым делом выкладываю ссылки на предыдущие части:
Часть 1: пишем языковую ВМ
Часть 2: промежуточное представление программ
Часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений

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

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

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

Начнем творить…
Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Comments 0

3D своими руками. Часть 1: пиксели и линии

Reading time 13 min
Views 23K
JavaScript *Working with 3D-graphics *
Sandbox


Этот цикл статей я хочу посвятить читателям, желающим изучить мир 3D-программирования с нуля, людям, которые хотят узнать основы создания 3D-составляющей игр и приложений. Каждую операцию мы будем реализовывать с чистого листа, чтобы понимать каждый аспект, даже если есть уже готовая функция, которая делает это быстрее. Научившись, мы будем переходить на встроенные инструменты по работе с 3D. По прочтению цикла статей вы поймете как создаются сложные трехмерные сцены со светом, тенями, текстурами и эффектами, как все это сделать без глубоких познаний в математике и многое другое. Сможете все это делать как самостоятельно, так и при помощи готовых инструментов.
Начать обучение
Total votes 40: ↑38 and ↓2 +36
Comments 11

Как создать мультиагентную транспортную модель

Reading time 5 min
Views 9.9K
Open source *Java *Transport Urbanism
Sandbox
🔥 Technotext 2020
Привет, Хабр!

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


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

3D своими руками. Часть 2: оно трехмерное

Reading time 32 min
Views 22K
JavaScript *Working with 3D-graphics *
Tutorial


В предыдущей части мы разобрались, как выводить на экран двумерные объекты, такие как пиксель и линия (отрезок), но ведь хочется поскорее создать что-то трехмерное. В этой статье впервые попробуем вывести 3D-объект на экран и познакомимся с новыми математическими объектами, такими как вектор и матрица, а также некоторыми операциями над ними, но только с теми, которые применим на практике.
Продолжить обучение
Total votes 18: ↑16 and ↓2 +14
Comments 5

Учитесь публично

Reading time 3 min
Views 4K
Open source *Community management *Studying in IT IT career Lifehacks for geeks
Translation

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

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

Если и существует золотое правило, то это оно, поэтому для меня оно на первом месте. Все остальные правила в большей или меньшей степени являются развитием этого правила №1.

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

Читать далее
Total votes 14: ↑9 and ↓5 +4
Comments 15

Создаём анимационные обучающие видео на Python с помощью Manim

Reading time 33 min
Views 8K
Яндекс Практикум corporate blog Working with video *Python *Computer Animation *
Tutorial
Привет! Меня зовут Константин Мохов, я тимлид, который однажды прошёл курс Практикума по аналитике данных, по большей части для собственного развития. Тема создания анимированных видео на Python заинтересовала меня позже, когда в телеграм-канале Алексея Макарова из Практикума появилось сообщение, что его команде нужна помощь с анимацией. Мне захотелось попробовать создать интересное и наглядное обучающее видео, раскрывающее одну из тем курса, например, гистограммы.

Я углубился в изучение вопроса и перечитал немало статей на тему создания анимации «как у 3Blue1Brown», которые в основном были либо переводами, либо копией оригинального туториала Гранта Сандерсона. Грант создал и выложил в открытый доступ специальную библиотеку на Python — Manim, которая предназначена для создания анимации. В роликах, запрограммированных с помощью Manim, он объясняет математические темы на своём YouTube-канале.

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


А теперь поехали!
Total votes 13: ↑12 and ↓1 +11
Comments 5
1