Search
Write a publication
Pull to refresh
-23
0

Пользователь

Send message

Настройка кластера Nomad с помощью Consul и интеграция с Gitlab

Reading time10 min
Views37K

Введение



В последнее время стремительно растет популярность Kubernetes — все больше и больше проектов внедряют его у себя. Я же хотел коснуться такого оркестратора, как Nomad: он отлично подойдет проектам, где уже используются другие решения от компании HashiCorp, например, Vault и Consul, а сами проекты не являются сложными в плане инфраструктуры. В данном материале будет инструкция по установке Nomad, объединения двух нод в кластер, а также интеграции Nomad с Gitlab.



Читать дальше →

Поднимаем свой полноценный игровой Minecraft сервер с мини-играми. Часть 1. Выбираем и устанавливаем сервер

Reading time5 min
Views84K


Часть 2. Устанавливаем карту для лобби сервера

Часть 3. Устанавливаем мини-игры

tl;dr;
И так, что будет сделано в конце всего туториала?

  • создадим основной сервер, так называемое лобби — место, куда попадают все игроки, только что подключившиеся к серверу
  • запустим второй сервер, на котором установим популярную мини-игру Murder Mystery
  • установим и настроим прокси сервер, который соединит игровой клиент и запущеные серверы таким образом, что игроки не заметят, что они переходят с одного сервера на другой
  • создадим игрового персонажа, который будет перенаправлять нас на сервер с мини-игрой
  • Установим еще одну популярную мини-игру SkyBlock
  • Добавим внутриигровое меню на основе предметов инвентаря игрока
  • Добавим внутриигровые деньги
  • Создадим магазин
  • … и многое другое

Посмотреть, что в итоге получилось у меня: mc.piratebayserver.net
По любым вопросам пишите в Discord.

Поехали!
Читать дальше →

Открытые материалы от Computer Science центра, часть 1

Reading time3 min
Views12K
Computer Science Center — это совместная инициатива Computer Science клуба при ПОМИ РАН, компании JetBrains и Школы анализа данных Яндекса.

Центр существует, чтобы дать возможность талантливым студентам и выпускникам развиваться в интересных им направлениях: Computer Science, Data Science или Software Engineering.

В этой части выкладываем записи наших популярных онлайн-курсов на Stepik и напоминаем о том, что до 11 апреля открыт новый набор в CS центр в Санкт-Петербурге и Новосибирске.


Читать дальше →

Ускорение дисковой подсистемы Qemu KVM в Linux

Reading time7 min
Views49K


Иногда я берусь за различные задачи по настройке серверов. Некоторое время назад ко мне обратился владелец небольшой хостинговой компании, с интересной проблемой. Он хотел бы на своих серверах, где уже стоял Ubuntu 18.04, запускать виртуальные машины с Windows под KVM.

Однако проведённое им тестирование показало, что дисковая система KVM прилично отставала от показателей, которые у него были под Hyper-V. Он хотел раскочегарить qemu на своих Ubuntu серверах, чтобы избежать закупок дорогих серверных лицензий Windows (бесплатная версия Microsoft Hyper-V Server не устраивала из-за своих ограничений).
С убеждённостью в том, что возможно превзойти настройки по-умолчанию, я взялся за работу.

Головоломки TCP

Reading time15 min
Views52K

Говорят, что нельзя полностью понять систему, пока не поймёшь её сбои. Ещё будучи студентом я ради забавы написал реализацию TCP, а потом несколько лет проработал в IT, но до сих пор продолжаю глубже и глубже изучать работу TCP — и его ошибки. Самое удивительное, что некоторые из этих ошибок проявляются в базовых вещах. И они неочевидны. В этой статье я преподнесу их как головоломки, в стиле Car Talk или старых головоломок Java. Как и любые другие хорошие головоломки, их очень просто воспроизвести, но решения обычно удивляют. И вместо того, чтобы фокусировать наше внимание на загадочных подробностях, эти головоломки помогают изучить некоторые глубинные принципы работы TCP.
Читать дальше →

Как я изготовил респиратор KN95 в домашних условиях из подручных материалов. Подробная инструкция

Reading time4 min
Views138K
На фоне всей этой ситуации с коронавирусом, неделю назад я решил приобрести несколько респираторов. Дома у меня был один, KN95, класса ffp1, я хотел прикупить еще несколько с выпускным клапаном и повыше классом. Но обойдя несколько строительных магазинов, я не нашел там вообще ничего – все раскупили еще месяц назад.

В итоге я решил направить усилия в другую сторону и делать респиратор своими силами из подручных материалов.

Нормальную инструкцию по изготовлению респиратора в интернете я не нашёл. Была только статья на Хабре, как изготовить хирургическую маску и еще ролики на ютубе как пошить маску из ткани.

Взвесив свои возможности, я понял, что респиратор с выпускным клапаном я в домашних условиях изготовить не смогу. Из подручных материалов нормальный клапан изготовить было нереально. Была мысль напечатать на 3Д принтере, но т.к. нужно было делать чертеж, экспериментировать с материалами, а это все время, я от этой затеи отказался.
Процесс изготовления респиратора

Лучшие 10 хитростей и советов по Kubernetes

Reading time5 min
Views8.1K


В интернете много справочной литературы, но иногда самыми ценными становятся самые простые советы. Команда Kubernetes aaS от Mail.ru перевела подборку из десяти хитростей и советов, которые автор статьи собрала после года работы с Kubernetes. Советы не отсортированы по важности, но думаем, что каждый найдет что-то полезное для себя.
Читать дальше →

Введение в React

Reading time30 min
Views99K
Оглавление
1. Getting started with React
....1.1 Методы добавления React
....1.2 Выбор метода добавления
........1.2.1 Добавление React с помощью тэга <script />
........1.2.2 Добавление React с помощью create-react-app
2. Basically React
....2.1 React object
....2.2 React element
........2.2.1 CreateElement
........2.2.2 CloneElement
........2.2.3 IsValidElement
........2.2.4 Children
....2.3 React компоненты
........2.3.1 React.Component
........2.3.2 React.Fragment
.........2.3.3 State
.........2.3.4 Events
.........2.3.5 Lifecycle
.........2.3.6 Refs
....2.4 ReactDOM
........2.4.1 Render
........2.4.2 Hydrate
........2.4.3 UnmountComponentAtNode
........2.4.4 CreatePortal
3. Other topics
....3.1 Lists and Keys
....3.2 Error Handling
........3.2.1 getDerivedStateFromError
........3.2.2 componentDidCatch
Заключение

React — JavaScript-библиотека с открытым исходным кодом для разработки пользовательских интерфейсов.

1. Getting started with React


1.1 Методы добавления React


Существует 2 основных метода для добавления React на сайт:

  1. С помощью тэга <script />
  2. С помощью create-react-app

1.2 Выбор метода добавления


Выбор метода зависит от потребностей. Если вы просто хотите добавить немного интерактивности на существующую страницу или хотите просто попробовать React тогда используйте первый метод подключения. Если вы собираетесь построить полноценное React приложение, то используйте create-react-app.

1.2.1 Добавление React с помощью тэга <script />


Шаг 1 Добавьте 3 тега в контейнер head на вашей странице:
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>

Здесь подключаются библиотеки React и React-dom, а также компилятор babel.
Babel не является обязательным для использования React, но полезным для написания кода UI, с помощью JSX.

Шаг 2 Добавьте пустой контейнер на вашу страницу чтобы отметить место, где вы хотите что-либо отобразить с помощью React.
Читать дальше →

Bare-Metal Provisioning своими руками, или Автоматическая подготовка серверов с нуля

Reading time12 min
Views9.3K
Привет, я Денис и одно из моих направлений деятельности – разработка инфраструктурных решений в X5. Сегодня хотел бы поделиться с вами о том, как можно на базе общедоступных инструментов развернуть автоматическую систему подготовки серверов. На мой взгляд, это интересное, простое и гибкое решение.


Читать дальше →

Как работает дисковая подсистема в OpenNebula

Reading time4 min
Views12K


В последнее время я получаю достаточно много вопросов по поводу организации стораджа в OpenNebula. В виду своей специфики она имеет аж три разных типа хранилища: images, system и files. Давайте разберёмся зачем нужен каждый из них и как их использовать чтобы планировать размещение данных наиболее эфективно.


Этот пост — частичная расшифровка моего доклада про OpenNebula на HighLoad++ 2019 с упором на дисковую составляющую.

Читать дальше →

Круглосуточная трансляции своих видео на YouTube

Reading time11 min
Views86K
Последнее время в качестве хобби снимаю на видео лекции знакомого психолога. Отснятый материал монтирую и публикую на своём сайте. Месяц назад я загорелся идеей организовать круглосуточную трансляцию этих лекций на YouTube в режиме 24/7. Этакий тематический «телеканал», посвященный личностному росту.

Как сделать обычную трансляцию я знаю. А вот как сделать так, чтобы это была трансляция именно видео-файлов? Чтобы она шла 24/7, была гибкой, максимально автономной и при этом никак не зависела от моего домашнего компьютера. Это мне и предстояло выяснить.



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

Если коротко, то итоговое решение получилось следующим: VPS + ffmeg + bash-скрипт. Под катом я описываю проделанные шаги и рассказываю про «подводные камни», которые обнаружились при организации трансляции.
Читать дальше →

Angular: еще один способ отписываться

Reading time5 min
Views3.9K

Подписок в коде компонента следует избегать, перекладывая эту задачу на AsyncPipe, однако не всегда это возможно. Есть разные способы завершать подписки, но все они сводятся к двум — ручная отписка или использование takeUntil.


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

Читать дальше →

Пошаговая настройка веб-сервисов в OTRS 5

Reading time3 min
Views22K
В этой статье расскажу, как настроить веб-сервис в OTRS 5, где и что вписать и как через SoapUI проверить работоспособность сервиса. Настраивать будем SOAP, а не REST. Настраиваем OTRS как провайдера, т.е. система будет по запросу отдавать данные. Если заинтересовало, то прошу под кат.

Читать дальше →

Пошаговая настройка веб-сервисов в OTRS 5 в качестве запрашивающего

Reading time5 min
Views10K
Ранее я писал как можно настроить OTRS в роли провайдера. Это когда любая система может обратиться к OTRS и запросить данные.

Сейчас же я опишу, как произвести настройку OTRS в роли запрашивающего (requester). Когда в OTRS происходит какое-то событие и после этого идет обращение к внешней системе. А так же проблемы, с которыми столкнулся. Если заинтересовало, то прошу под кат.


Читать дальше →

Что не так с Copy-on-Write под Linux при копировании

Reading time7 min
Views40K


Предупреждение: эта статья относится ко всем CoW файловым системам в Linux, поддерживающим reflink при копировании. В данный момент это: BTRFS, XFS и OCFS2.

Прошу воздержаться от холиваров о том, какая ФС лучше: Btrfs, XFS, Reiser4, NILFS2, ZFS или какая-то неупомянутая.

Читать дальше →

Тонкое резервирование файловых систем Linux. Как создавать рабочие копии трехтерабайтной СУБД MySQL за 20 секунд

Reading time10 min
Views16K


Меня зовут Юрий, я руководитель группы системного администрирования в Ситимобил. Сегодня поделюсь опытом работы с технологией тонкого резервирования (thin provisioning) файловых систем Linux и расскажу, как ее можно применять в технологических CI/CD-процессах компании. Мы разберем ситуацию, когда для автоматического тестирования кода при доставке его в production нам как можно быстрее необходимы копии БД MySQL, максимально приближенные к «боевой» версии, доступные на чтение и на запись.

Читать дальше →

Исправление проблем под Docker. Казалось бы, при чём здесь GIT?

Reading time5 min
Views37K


Докер под Windows — это постоянные приключения. То ему нужно обновить операционку, иначе последние версии не ставятся, то он забывает, как подключаться к сети. В общем, каждый день от него новости. «Поставил и забыл» — это не про Docker Desktop for Windows. Особенно, когда он используется не совсем так, как рекомендуют его разработчики. А они почему-то не одобряют подключение внешних windows сетевых дисков в качестве локальных. И совсем не одобряют доступ к к таким сетевым папкам, которые расположены ещё и на host машине. Пишут, что это ужас-ужас с точки зрения безопасности, требуют всяких ключей типа:

cap_add:
- SYS_ADMIN
- DAC_READ_SEARCH


для работы команды mount в контейнере и прочая, и прочая.
Читать дальше →

9 советов для Windows Terminal от Скотта Хансельмана

Reading time2 min
Views14K
Привет, Хабр! Возможно вы слышали, что совсем скоро выходит новый Windows Terminal. Мы уже писали об этом здесь. Наш коллега Скотт Хансельман подготовил несколько советов по тому, как работать с новым терминалом. Присоединяйтесь!

image
Читать дальше →

Angular: создание кастомного элемента формы и передача в него состояния формы

Reading time11 min
Views9K
Разнообразные формы в наших веб-приложениях нередко строятся из одинаковых кирпичиков-элементов. Компонентные фреймворки помогают нам избавиться от повторяемого кода, и сейчас я хочу рассмотреть один из таких подходов. Так, как это принято в Angular.
Читать дальше →

Как фирма из Эйндховена стала монополистом на рынке современного оборудования для производства микросхем

Reading time7 min
Views126K

Степпер ASML: ключевое звено в производстве микросхем. На нём производится засветка фоторезиста через маску, как в фотоувеличителе. Стоимость прибора около $170 млн

У всех на слуху компании Intel, Samsung и TSMC — три крупнейших в мире производителя микросхем (последняя выполняет заказы для Apple и AMD).

Однако мало кто слышал об ASML — скромной компании в пригороде Эйндховена, пятого по величине города Нидерландов. Но если посмотреть, эта фирма играет ключевую роль в микроэлектронной промышленности. Это единственный в мире производитель степперов для фотолитографии в глубоком ультрафиолете (EUV), пишет издание The Economist.

Information

Rating
Does not participate
Registered
Activity