Pull to refresh
72
94.6
Timeweb Cloud @Timeweb_Cloud

Редактор блога Timeweb

Send message

Таков путь! Эволюция бэкапов в Timeweb: от rsync до ZFS

Reading time3 min
Views10K
Мы постарались кратко описать путь, который прошла команда Timeweb за 10 лет: от rsync, LVM и DRBD до ZFS. Эта статья будет полезна тем, кто занимается серверной масштабируемой инфраструктурой, планирует делать бэкапы и заботится о бесперебойной работе систем.

image

Расскажем о:

  • rsync (remote synchronization)
  • DRBD (Distributed Replicated Block Device)
  • инкрементальные бэкапы под DRBD с помощью LVM
  • DRBD + ThinLVM
  • ZFS (Zettabyte File System)
Читать дальше →
Total votes 15: ↑13 and ↓2+22
Comments23

Beep, Beep, I'm a sheep

Reading time5 min
Views4.5K
В новой переводной статье обсуждаем, как создать бипер на разных платформах.

Аудио-ввод-вывод — непростая тема, пугающая многих музыкантов, которые занимаются программированием, и программистов, которые увлекаются музыкой. Давайте попробуем разобраться в этом вопросе! В этой статье мы обсудим, как работает звук на каждой из современных ОС (десктоп-версии).
Читать дальше →
Total votes 11: ↑10 and ↓1+15
Comments6

NextJS и Create-React-App. В чем разница?

Reading time4 min
Views13K
Публикуем новый перевод для начинающих React-разработчиков. Надеемся, статья поможет при выборе подходящего инструмента для вашего следующего проекта.

Когда речь идет о создании новых проектов на React, перед нами стоит очевидный выбор: NextJS или Create-React-App. Gatsby практически перестал использоваться из-за медленных сборок при масштабировании. Кроме того, NextJS становится всё более удобным генератором статических сайтов.
Читать дальше →
Total votes 8: ↑5 and ↓3+6
Comments4

Синтезатор мелодий Nokia Composer в 512 байтах

Reading time8 min
Views8.5K
Немного ностальгии в нашем новом переводе — пробуем написать Nokia Composer и сочинить собственную мелодию.

Кто-то из читателей пользовался стареньким Nokia, например, моделями 3310 или 3210? Вы должны помнить его прекрасную функцию — возможность сочинять собственные рингтоны прямо на клавиатуре телефона. Расставляя ноты и паузы в нужном порядке, можно было воспроизвести популярную мелодию из динамика телефона и даже поделиться творением с друзьями! Если вы пропустили ту эпоху, вот как это выглядело:
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments6

Ускоряем CI/CD-пайплайн с помощью Kubernetes в Docker (KinD)

Reading time6 min
Views6.5K
В нашей новой переводной статье разбираемся с KinD на практическом примере.

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



Стоит отметить, что Minikube был одним из основных кластеров, которые разработчики использовали для быстрой разработки и тестирования контейнеров. Хотя Minikube в настоящее время поддерживает многоузловой кластер на экспериментальной основе, его еще нет в общем доступе (GA).
Читать дальше →
Total votes 3: ↑2 and ↓1+3
Comments1

Написание Dockerfile. Лучшие практики

Reading time4 min
Views13K
Публикуем новый перевод и надеемся, что рекомендации автора помогут вам оптимизировать образ Docker.

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



Если вы новичок в Docker, можете выбрать шаблон (базовый образ) и определить свои инструкции (команды Dockerfile), чтобы разместить свой код внутри образа и запустить его.

Простота Docker будем помогать вам в работе с самого начала его использования, а навык его оптимизации приходит с опытом и обычно требует времени.
Читать дальше →
Total votes 11: ↑8 and ↓3+8
Comments10

Go-приложение с бессерверной архитектурой на Kubernetes с Knative

Reading time8 min
Views3.7K
Автор нашей новой переводной статьи утверждает, что Knative — лучшее, что только могли придумать во Вселенной! Вы согласны?

Если вы уже используете Kubernetes, то, вероятно, слышали о бессерверной архитектуре (serverless). Хотя обе платформы, Kubernetes и Knative, являются масштабируемыми, именно бессерверная архитектура делает всё возможное, чтобы предоставлять разработчикам работающий код и не беспокоить их проблемами инфраструктуры. Кроме того, такая архитектура сокращает расходы на инфраструктуру за счет виртуального масштабирования экземпляров приложения с нуля.
Читать дальше →
Total votes 5: ↑3 and ↓2+3
Comments0

Создание React-компонентов с помощью Hygen

Reading time5 min
Views6.2K
Вы использовали когда-нибудь Hygen, автоматический генератор кода? Если еще нет, возможно, наш перевод откроет для вас новый полезный инструмент.



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

k0s: Kubernetes в одном бинарном файле

Reading time10 min
Views9.4K
В нашей новой переводной статье даем краткий обзор на новый дистрибутив Kubernetes. Надеемся, статья окажется интересной для читателей Habr'a.

Пару дней назад друг рассказал мне о новом дистрибутиве Kubernetes от Mirantis под названием k0s. Все мы знаем и любим K8s, не так ли? Нас также покорил K3s, легкий Kubernetes, разработанный Rancher Labs и переданный CNCF некоторое время назад. Пришло время открыть для себя новый дистрибутив k0s!
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments9

Пишем простой шахматный движок на Go

Reading time8 min
Views9.8K
Всем, кто сейчас смотрит нашумевший сериал «Ход королевы» (The Queen's Gambit), посвящается. Еще больше шахматных терминов в нашем новом переводе.

В данной статье мы постараемся разобраться, как работают шахматные движки путем портирования шахматного движка sunfish на Go. Sunfish примечателен своей простотой и небольшим размером, но при этом он все-таки способен сыграть достойную шахматную партию. Go в свою очередь известен как простой и хорошо читаемый язык программирования, поэтому я надеюсь, что вместе они составят отличную пару.
Читать дальше →
Total votes 9: ↑8 and ↓1+9
Comments11

Как написать (игрушечную) JVM

Reading time10 min
Views7.7K
Статья про KVM оказалась интересной для читателей, поэтому сегодня публикуем новый перевод статьи Serge Zaitsev: как работает Java Virtual Machine под капотом.

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

Я попытаюсь написать игрушечную (и неполную) JVM, чтобы показать основные принципы ее работы. Надеюсь, эта статья вызовет у вас интерес и вдохновит на дальнейшее изучение JVM.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments2

Salt. О славном pillar'е замолвите слово

Reading time4 min
Views5.1K
В одной из наших прошлых статей Just add some Salt мы рассказывали, как мигрировали 700+ серверов на Salt. Мы поделились нашим опытом оптимизации Salt: как его применить и настроить без лишних усилий. Тогда мы только затронули тему пилларов, а сегодня хотели бы остановиться на ней подробнее.

Пиллары разные нужны


Пиллары — это защищенное (безопасное) хранилище данных внутри Salt'а. Поэтому, в первую очередь, они используются для разграничения доступа к критичным данным (сертификаты, логины, пароли).
Читать дальше →
Total votes 6: ↑5 and ↓1+6
Comments5

Как предоставить табличные данные и сохранить при этом конфиденциальность

Reading time7 min
Views2.9K
Продолжаем тему информационной безопасности и публикуем перевод статьи Coussement Bruno.

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


Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments3

Кража персональных данных пользователя (PII) с помощью вызова API напрямую

Reading time4 min
Views2.7K
Сегодня решили обсудить тему информационной безопасности. Публикуем перевод статьи Kunal pandey, обнаруживаем уязвимости и работаем на опережение!

Введение


Кража персональных данных (PII) пользователя стала для нас обыденным явлением. Злоумышленники находят множество способов получить персональные данные, например, используя XSS- и IDOR-уязвимости, раскрытие конечных точек API (API endpoint) и другое.

Сценарий, который описан в этой статье, мы можем протестировать, просто наблюдая за поведением конечной точки API. В приведенном ниже примере, вызвав API, персональные данные любого пользователя могут быть сохранены в других конечных точках API.
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments2

Linux-контейнеры в паре строчек кода

Reading time5 min
Views6.5K
В продолжение прошлой статьи о KVM публикуем новый перевод и разбираемся, как работают контейнеры на примере запуска Docker-образа busybox.

Эта статья о контейнерах является продолжением предыдущей статьи о KVM. Я бы хотел показать, как именно работают контейнеры, запустив Docker-образ busybox в нашем собственном небольшом контейнере.

В отличие от понятия «виртуальная машина», термин «контейнер» очень расплывчатый и неопределенный. Обычно мы называем контейнером — автономный пакет кода со всеми необходимыми зависимостями, которые могут поставляться вместе и запускаться в изолированной среде внутри операционной системы хоста. Если вам кажется, что это описание виртуальной машины, давайте погрузимся в тему глубже и рассмотрим, как реализованы контейнеры.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments0

Хост KVM в паре строчек кода. Примеры на C++ и на Python от эксперта Timeweb

Reading time9 min
Views12K
Привет!

Сегодня публикуем статью о том, как написать хост KVM. Мы увидели ее в блоге Serge Zaitsev, перевели и дополнили собственными примерами на Python для тех, кто не работает с языком С++.

KVM (Kernel-based Virtual Machine) — это технология виртуализации, которая поставляется с ядром Linux. Другими словами, KVM позволяет запускать несколько виртуальных машин (VM) на одном виртуальном хосте Linux. Виртуальные машины в этом случае называются гостевыми (guests). Если вы когда-нибудь использовали QEMU или VirtualBox на Linux, вы знаете, на что способен KVM.

Но как это работает под капотом?
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments9

Помогаем пользователям менять пароли с помощью well-known URL

Reading time4 min
Views4.4K
Привет!

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

Установите редирект со страницы /.well-known/change-password на страницу смены пароля для вашего сайта. Благодаря этому, менеджеры паролей смогут направлять пользователей прямо на данную страницу.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments7

Темный режим: Hello darkness, my old friend

Reading time15 min
Views14K
Dark mode остается главной тенденцией в дизайне сайтов и приложений. Мы нашли классную статью на эту тему и решили поделиться переводом. Мнение пользователей, реализация и поддержка dark mode, рекомендации для разработчиков далее в статье. А на какой стороне вы?

Просто хайп или необходимость? Узнайте больше о темном режиме. Я расскажу, как добавить поддержку dark mode на благо ваших пользователей!

Введение


По данной теме я провел объемное исследование, изучил историю вопроса. Если вас интересует только работа с темным режимом, смело пропускайте первый раздел.
Читать дальше →
Total votes 6: ↑5 and ↓1+12
Comments5

Just add some Salt. Опыт Timeweb

Reading time6 min
Views3.8K

Как мы мигрировали 700+ серверов на Salt


Долгое время нас устраивала сложная и неповоротливая конфигурация с 2 Git-репозиториями, где часть данных хранится в MySQL, а другая часть Puppet 3.8. Но наши потребности постепенно росли, количество сервисов увеличивалось, а производительность конфигурации снижалась. Тогда мы поставили перед собой задачу усовершенствовать конфигурацию, оптимизировав все имеющиеся данные и инструменты.

Наша команда подобрала для себя подходящую конфигурацию в 3 этапа. Делимся опытом оптимизации Salt, как применить и настроить без лишних усилий.
Читать дальше →
Total votes 7: ↑5 and ↓2+5
Comments13

Information

Rating
Does not participate
Works in
Registered
Activity