Pull to refresh
-44
Karma
0
Rating

Алкоголик

Kubernetes в миниатюре для локального запуска: k0s, MicroK8s, kind, k3s и Minikube

Reading time 12 min
Views 24K
Флант corporate blog Open source *System administration *DevOps *Kubernetes *

Тех, кто работал с Kubernetes, вряд ли удивит ситуация, когда внезапно пришла идея по автоматизации, унификации, преобразованию чего-либо в кластере, но так, чтобы не волноваться за конечный результат. Когда возникает потребность в какой-то песочнице, чтобы провести тестирование, проверить гипотезу «на коленке», не используя рабочий Kubernetes-кластер.

В таких случаях приходят на помощь «мини-кластеры». Их можно запустить на рабочем ПК, «поиграться» с примитивами, построить новую структуру, а после завершения эксперимента — безвозвратно удалить (ведь это уже отработанный материал!).

Отвечая на эту потребность, разработчики со всего мира пришли со своими решениями для быстрого запуска облегчённого варианта Kubernetes. Все они по-разному организованы и, конечно, обладают разными возможностями. Чем пользоваться, зависит от нужд и предпочтений. Чтобы получше разобраться в них или вообще понять, с чего стоит начать, предлагаем результаты нашего беглого знакомства с некоторыми популярными решениями. Благо, все они достаточно хорошо документированы (как на сайтах, так и в CLI), что существенно ускоряет первое погружение и взаимодействие с ними. В конце статьи будет сводная таблица с основными особенностями решений.

Читать далее
Total votes 51: ↑50 and ↓1 +49
Comments 28

Как оформить серию коммитов Git, чтобы её приняли в любой проект

Reading time 8 min
Views 25K
VK corporate blog Git *GitHub *Development Management *Development for Linux *
✏️ Technotext 2021

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

Постараюсь рассказать для начинающих и не очень разработчиков, как оформлять свои коммиты, чтобы их максимально быстро и без претензий принимали в любые проекты, как опенсорсные так и коммерческие.

Читать далее
Total votes 59: ↑56 and ↓3 +53
Comments 30

Как Эйнштейн «опроверг» Ньютона

Reading time 7 min
Views 22K
Mathematics *Popular science Physics
Translation
Перевод статьи физика и популяризатора науки Мэтта Страсслера

К тому времени, как Эйнштейн в 1905 году вывел свою специальную теорию относительности (СТО), прошло уже больше 200 лет с тех пор, как Ньютон записал свои законы движения. Его последователи развивали его идеи, усложняли их и уточняли. Два столетия научных экспериментов, инженерных изделий и технологий, основанных на этих законах, подтверждали их правильность прямо и косвенно с большой точностью. В жизни людей XVIII и XIX веков уравнения Ньютона работали. Вряд ли бы они перестали работать в XX веке, и так и случилось – часы, двигатели, суда, мельницы, холодильники, гироскопы и пушки продолжали прекрасно работать и после того, как СТО Эйнштейна появилась в 1905 году. Так как же мог Эйнштейн «опровергнуть» Ньютона? Как Ньютон мог оказаться «неправым»?

Легко просто написать набор уравнений и заявить: «Я думаю, что общепринятые уравнения неверны, а мои новые – верны». Это каждый может сделать. Ежегодно я получаю десятки работ, выполненных начинающими физиками (или слышу о таких работах), содержащих ровно такие заявления. У большинства из них ошибку можно найти на первой странице, поскольку существует эксперимент или технология, которые не смогли бы работать, если бы новые уравнения были верны. Чрезвычайно сложно изобрести уравнения, соответствующие всем проделанным экспериментам и изобретённым технологиям. Таков высокий стандарт науки и природы.
Читать дальше →
Total votes 24: ↑20 and ↓4 +16
Comments 89

Делаем сервер из Android-телефона

Reading time 8 min
Views 92K
Configuring Linux **nix *Development for Android *Computer hardware
Tutorial

Некоторое время назад мне пришла в голову интересная идея — превратить свои старые телефоны (их скопилось немало за десять лет) в серверы, в качестве альтернативы покупке Raspberry Pi.


image


На то было несколько причин: во-первых, у телефонов есть батарея, что для сервера практически бесплатный мини-UPS, во-вторых, внутренняя память смартфона (UFS) работает быстрее и надёжнее, чем SD-карта. В-третьих, у телефонов имеется экран, по которому можно отслеживать состояние сервера.


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


TL;DR: в этом посте будут разобраны вопросы установки PostmarketOS на смартфон,
поднятия на нём в качестве примера Docker и веб-приложения в нём.

За длинной версией под кат
Total votes 130: ↑129 and ↓1 +128
Comments 97

Разработка REST-серверов на Go. Часть 7: GraphQL

Reading time 11 min
Views 6.6K
RUVDS.com corporate blog Website development *Programming *Server Administration *Go *
Tutorial
Translation
Перед вами — седьмая (заключительная) часть серии статей о разработке REST-серверов на Go. В предыдущих статьях мы занимались, в основном, различными подходами к разработке REST API для простого приложения, автоматизирующего управление задачами. Сегодня мы исследуем кое-что совершенно новое и поговорим о том, как сделать похожий API, пользуясь не REST, а GraphQL.



Хотя тут я уделяю определённое внимание причинам выбора GraphQL и сравнению GraphQL и REST, это здесь не главное. Есть множество статей, освещающих эти вопросы, и я советую вам поискать их и почитать. Главная цель этого материала заключается в том, чтобы привести пример создания GraphQL-сервера на Go. Для того чтобы не усложнять нашу задачу, этот сервер использует модель данных, очень похожую на модель, реализованную в одном из вариантов сервера из предыдущих материалов (речь идёт о простом бэкенде, дающем возможность работать со списком задач).
Читать дальше →
Total votes 31: ↑30 and ↓1 +29
Comments 1

Как полностью выгореть на примере разработки квеста

Reading time 6 min
Views 26K
Adobe Flash Game development *

Всем привет, это продолжение истории разработки: «Как в 30 лет стать старым и никому не нужным на примере разработки квеста». Прошел год и мне есть что рассказать.

Прошлая статья окончена на подготовке к выпуску в Steam «долго страдального» квеста над которым я работал 4 года.

10 марта запланированная дата релиза, но в игре остается критический баг который ломает все анимации. И что самое странное на моей конфигурации он не разу не встречается, но программист, композитор и игроки которые протестировали демо постоянно пишут о нем.

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

На чём айтишнику кататься этим летом?

Reading time 10 min
Views 37K
RUVDS.com corporate blog Popular science Lifehacks for geeks Transport
Ваш покорный слуга — на «покатушках» по грязям, в лесу

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

Total votes 98: ↑89 and ↓9 +80
Comments 218

Что такое модули Terraform и как они работают?

Reading time 5 min
Views 16K
System administration *System Programming *DevOps *
Translation

Многие новички пропускают настройку модулей Terraform, чтобы облегчить процесс настройки. По крайней мере, они так думают, что облегчили себе задачу. Рассмотрим что такое модули Terraform и как они работают.

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

Майним Bitcoin с помощью бумаги и ручки

Reading time 7 min
Views 317K
Abnormal programming *Cryptography *Payment systems *
Translation
В один прекрасный момент мне захотелось прикинуть, насколько быстро можно майнить биткойны вручную. Оказалось, что для майнинга используется хеширование SHA-256, а оно достаточно простое и может быть вычислено даже без компьютера. Само собой, процесс очень небыстрый и совершенно непрактичный. Но, пройдя все шаги на бумажке, можно хорошо разобраться в деталях работы алгоритма.


Один криптографический раунд
Читать дальше →
Total votes 128: ↑124 and ↓4 +120
Comments 30

Атопический дерматит (нейродермит): что сломалось и как лечить

Reading time 11 min
Views 70K
Гельтек-Медика corporate blog Biotechnologies Health
image
Одно из возможных проявлений атопического дерматита

Знаете, чему учат студентов-медиков, когда они в первый раз попадают на курацию по кожно-венерологическим заболеваниям? Правильно общаться с пациентом и корректно его осматривать. Типичный студент, увидевший кожу с неприглядными корочками или покраснениями, сразу отодвигается на полтора метра и делает круглые глаза. А потом чуть ли не палочкой пытается тыкать в пациента, стараясь не приближаться. Людей это расстраивает, особенно с учётом того, что большинство пациентов там вовсе не болеет чем-то страшным и заразным.

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

  1. Базовая причина связана с генетическими дефектами, которые мы пока не можем чинить, несмотря на все успехи генотерапии.
  2. Есть куча непонятных факторов, которые могут запускать этот процесс.

В итоге можно попытаться загнать заболевание в постоянную ремиссию. Сегодня мы поговорим:

  1. Что это за патология, с которой сталкивается около 20 % людей.
  2. Что ломается в организме у атопиков.
  3. Как это связано с аллергией.
  4. Что лучше мазать на кожу.
  5. Почему антидепрессанты могут сильно помочь.

Под катом будет несколько фотографий повреждённой кожи, но не ужас-ужас, как вы и просили.
Читать дальше →
Total votes 96: ↑91 and ↓5 +86
Comments 160

Сокеты в ОС Linux

Reading time 5 min
Views 61K
OTUS corporate blog Configuring Linux *Network technologies *

В данной статье будет рассмотрено понятие сокета в операционной системе Linux: основные структуры данных, как они работают и можно ли управлять состоянием сокета с помощью приложения. В качестве практики будут рассмотрены инструменты netcat и socat.

Читать далее
Total votes 35: ↑32 and ↓3 +29
Comments 15

Используете Kafka с микросервисами? Скорее всего, вы неправильно обрабатываете повторные передачи

Reading time 16 min
Views 15K
Southbridge corporate blog High performance *System administration *Apache *Big Data *
Translation


Apache Kafka стала ведущей платформой для асинхронной коммуникации между микросервисами. В ней есть мощные функции, которые позволяют строить устойчивые к ошибкам и отказам асинхронные архитектуры.


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


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

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

Практический взгляд на хранение в Kafka

Reading time 8 min
Views 20K
Southbridge corporate blog System administration *Apache *Big Data *DevOps *
Translation


Kafka повсюду. Где есть микросервисы и распределенные вычисления, а они сейчас популярны, там почти наверняка есть и Kafka. В статье я попытаюсь объяснить, как в Kafka работает механизм хранения.

Читать дальше →
Total votes 35: ↑34 and ↓1 +33
Comments 2

Оптическая иллюзия 2020

Reading time 1 min
Views 78K
Image processing *Popular science Brain
image


Я просидел у монитора 15 минут с кусками бумаги, пытаясь разоблачить подвох. Интересно, а если вместо стрелочек использовать слова «влево», «вверх», «вниз» сохранится ли эффект?

Оптическую иллюзию выложили в Твиттер 25 ноября и она бомбанула. Тысячи человекочасов потеряны, сотни тысяч листиков приложено к экрану.

Для сомневающихся:
Total votes 173: ↑154 and ↓19 +135
Comments 67

Docker is deprecated — и как теперь быть?

Reading time 5 min
Views 72K
Southbridge corporate blog System administration *Server Administration *DevOps *Kubernetes *

Kubernetes объявил Docker устаревшим и планирует прекратить его использование примерно через год, в версии 1.22 или 1.23. Эта новость вызвала много вопросов и непонимания. В блоге Kubernetes появилось целых две статьи, разъясняющих смысл записи в Changelog (раз и два). Если все обобщить, то для разработчиков (те, которые Dev) ничего не меняется — они все так же могут продолжать использовать docker build для сборки своих контейнеров, а вот для инженеров, ответственных за эксплуатацию кластера (Ops), пришла пора разобраться и освоить несколько новых инструментов.

Читать дальше
Total votes 105: ↑98 and ↓7 +91
Comments 81

Команда find в Linux – мощный инструмент сисадмина

Reading time 5 min
Views 98K
AlexHost corporate blog Information Security *Habr System administration *Development for Linux *


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


Команда find – это невероятно мощный инструмент, позволяющий искать файлы не только по названию, но и по:


  • Дате добавления.
  • Содержимому.
  • Регулярным выражениям.

Данная команда будет очень полезна системным администраторам для:


  • Управления дисковым пространством.
  • Бэкапа.
  • Различных операций с файлами.

Команда find в Linux производит поиск файлов и папок на основе заданных вами критериев и позволяет выполнять действия с результатами поиска.

Читать дальше →
Total votes 19: ↑13 and ↓6 +7
Comments 12

Не лайтхаусом единым: как проверить свой сайт со всех сторон

Reading time 3 min
Views 16K
VDSina.ru corporate blog Web design *Website development *Web services testing *Web analytics *


Когда мы говорим о веб-валидаторах и оптимизации сайта под них, мы чаще всего имеем ввиду Lighthouse/Pagespeed Insights от Google, который давно стал де-факто стандартом для оценки производительности сайта. Кто-то стремится к заветным 100 баллам даже на прототипах и шаблонных приложениях в две кнопки, кто-то в шутку создает абсолютно недоступный сайт с идеальным рейтингом, но для всех фронтендеров лайтхаус предоставляет вменяемую, хоть и довольно поверхностную, аналитику производительности сайта и поиск бутылочных горлышек. Однако скорость загрузки — лишь один из множества параметров, которые стоит проверять на своём сайте, и для большинства других есть свои валидаторы и скоринговые алгоритмы. Мы рассмотрим инструменты для каждого из значимых направлений и составим список, по которому стоит прогонять свой сайт, чтобы в дальнейшем не отлавливать проблемы вручную.
Читать дальше →
Total votes 35: ↑33 and ↓2 +31
Comments 4

Коллеги, вы меня огорчаете

Reading time 12 min
Views 108K
Конференции Олега Бунина (Онтико) corporate blog Go *Personnel Management *
В июле и августе 2020 года я, с подачи Григория Петрова, проводил для компании Evrone технические интервью на позицию Senior Golang Backend developer. И, видимо, буду вынужден продолжать проводить, о чём ниже.

Задача формулировалась как «найти человека, который сможет задать и поддерживать высокий уровень профессионализма в применении языка Go». То есть, сформулирована она была по-человечески, перевод на канцелярит — мой. Под эту задачу я сформировал новый опросник вместо того, которым пользовался несколько лет — старый был с жестким закосом под DevOps. Методику, которой я пользуюсь для создания опросников и количественной оценки соответствия кандидатов, я излагал в своем докладе «Техническое интервью как инженерная задача» на конференции Saint TeamLead 2019.

И вот что я хочу сказать вам, коллеги: вы меня огорчаете.


Читать дальше →
Total votes 181: ↑137 and ↓44 +93
Comments 1092

Как pod в Kubernetes получает IP-адрес

Reading time 7 min
Views 18K
Флант corporate blog System administration *Network technologies *Kubernetes *
Translation
Прим. перев.: эта статья, написанная SRE-инженером из LinkedIn, в деталях рассказывает о той «внутренней магии» в Kubernetes — точнее, взаимодействии CRI, CNI и kube-apiserver, — что происходит, когда очередному pod'у требуется назначить IP-адрес.

Одно из базовых требований сетевой модели Kubernetes состоит в том, что у каждого pod'а должен быть свой собственный IP-адрес и любой другой pod в кластере должен иметь возможность связаться с ним по этому адресу. Есть множество сетевых «провайдеров» (Flannel, Calico, Canal и т.п.), которые помогают реализовать данную сетевую модель.

Когда я только начинал работать с Kubernetes, мне было не совсем ясно, как именно pod'ы получают свои IP-адреса. Даже с пониманием, как функционируют отдельные компоненты, было сложно представить их совместную работу. Например, я знал, для чего нужны плагины CNI, но не представлял, как именно они вызываются. Поэтому решил написать эту статью, чтобы поделиться знаниями о различных сетевых компонентах и их совместной работе в кластере Kubernetes, которые и позволяют каждому pod'у получить свой уникальный IP-адрес.
Читать дальше →
Total votes 44: ↑41 and ↓3 +38
Comments 2

Information

Rating
Does not participate
Registered
Activity