Рассмотрим задачу хостинга статичного веб-сайта, например, Leaflet карты с заранее посчитанными данными на ней или статичной 3D модели. Для этих целей можно воспользоваться статическим хостингом файлов на Google Cloud Storage. Кроме того, этот способ позволяет весьма просто ограничить доступ к сайту в веб-интерфейсе Google Cloud, указывая емайлы пользователей, которым доступ разрешен. За счет Google CDN и кэширования файлов можно не беспокоиться об обработке большой нагрузки, а добавление или удаление файлов доступно с помощью консольной утилиты gsutil и в веб-интерфейсе Google Cloud. Также не нужно заниматься получением и обновлением SSL сертификатов и созданием для них доменных имен. Буквально в несколько консольных команд получается масштабируемое и легко поддерживаемое решение с хранением данных в облаке Google и гарантией защиты данных.
Пользователь
DevSecOps «за 5 копеек»
В этой статье один из сотрудников нашей компании Сергей Полунин Belowzero273 расскажет, как с помощью бесплатных инструментов можно построить простой CI/CD-пайплайн с инструментами контроля безопасности. И сделает это настолько просто, чтобы если даже вы никогда не слышали о подобном подходе, то вам захочется начать экспериментировать в этом направлении, как только появится свободное время.
— Самый популярный вопрос, который я слышу последние несколько лет от заказчиков, звучит так: «А что, так можно было?». Звучит он почти каждый раз, когда мы внедряем новый инструмент, технологию или процесс. В этом, безусловно, нет ничего удивительного – ИТ и информационная безопасность стали слишком необъятной областью даже для крупных команд специалистов. Давно прошли времена, когда можно было нанять одного крутого сисадмина, который будет во всем разбираться и быть в курсе всех трендов. Эти времена ушли, судя по всему, навсегда. Но сегодня даже для узкого специалиста сложно быть «в теме» – постоянно читать профильные блоги, телеграм-каналы, форумы, смотреть записи выступлений гуру на ютубе и тому подобное. Мы привыкаем решать проблемы определенным образом и выход за пределы «пузыря» может происходить долго и порой весьма болезненно.
А уж если заходит речь о том, что какая-то непонятная и вряд ли нужная по мнению бизнеса вещь будет стоить каких-то дополнительных денег, то желание отложить изучение появляется само собой.
Согласование импедансов: как сломать и как починить
Рано или поздно в руки любителей, начинавших с Ардуино, попадают куда более быстрые устройства. Накинув щупы осциллографа на навесные провода, они обнаруживают, что сигнал, который задумывался, как голубая линия на заглавной картинке на деле выглядит, как жёлтая. В поисках решения проблемы они приходят к весьма многогранной области знаний под названием «Целостность сигналов». И если такие её аспекты, как питание и возвратные токи относительно просты для понимания, то согласование импедансов содержит ряд контринтуитивных положений. В процессе освоения данной темы мне показалось, что материалы по ней разделены на три не слишком хорошо связанных блока:
1) теория с формулами и отсылками к 2 курсу ВУЗа
2) гипертрофированные примеры на симуляторах
3) применение на практике (с эмпирическими суевериями)
Данная статья является попыткой начать с конца. Я возьму работающую схему, выполненную в текстолите. Затем постараюсь ухудшить её характеристики так, чтобы рассогласование линий стало причиной сбоев в работе или хотя бы стало заметно на осциллографе. А затем постараюсь устранить возникшие проблемы.
Автоматизация проверки срока истечения регистрации доменов в kubernetes с использованием prometheus-stack
Для всех, кто хостит свои сайты, актуальна проблема продления доменного имени - если пропустить срок истечения регистрации, то можно на ровном месте получить кучу проблем. Для своевременного продления регистрации нужно отслеживать срок истечения.
Для небольшого количества доменов будет достаточно завести напоминание в календаре, но если доменов много - следует автоматизировать этот процесс.
Автоматическая генерация лога изменений проекта с помощью GitLab
В этой небольшой статье поговорим о том, что такое лог изменений проекта, зачем он нужен и как можно автоматизировать его генерацию с помощью GitLab.
Членимая калейдоскопическая сложность. Об устройстве и потенциале фасеточного глаза
Некоторое время назад я планировал разместить здесь откровенно антирелигиозную статью и пройтись по излюбленному примеру креационистов, связанному с нечленимой сложностью. Я хотел разобрать казус с отказом признавать эволюцию глаз, но обнаружил на Хабре превосходную статью Вячеслава Пуговкина @ra3vdx, в которой разобрана именно эта проблема. Поэтому я решил изменить акценты и развернуть не менее интересную тему: рассказать об устройстве и бионическом потенциале фасеточного глаза. Давайте об этом поговорим – и начну я, пожалуй, с ваятельницы Лин, главной героини гротескного романа, написанного Чайной Мьевилем.
Как создать панораму 360° на квадрокоптер DJI Mini 2
На современных картах все больше появляется 360 аэроснимков, которые принято называть "Сферические панорамы". Почти каждый владелец БПЛА с камерой может создавать свою собственную сферу. Разбираем подробный способ создания 360 панорамы с помощью бюджетного дрона DJI Mini 2.
Построение при помощи циркуля и линейки, только… без циркуля
Итак, на плоскости есть отрезок, который мы бы хотели продолжить. Казалось бы, выбрать две точки на отрезке, приложить линейку и прочертить прямую. Но вот незадача: как раз на пути этой прямой посажено жирное пятно кетчупа, а мы линейку пачкать не хотим. Нужно продолжить изначальную прямую за пятном, не прикасаясь к нему линейкой.
Напоминаю, циркуля нет, остаётся только неградуированная линейка, с помощью которой можно только проводить прямую через выбранные две точки, больше ничего. Это настоящая задача без подколок. Складывать листочки, использовать вторую сторону линейки для откладывания параллельных линий, а также хитрить другими подобными способами не требуется.
Чума
Автор: Сергей Ветров
Чума – это всеобщая смерть, воплощение невидимого, неотвратимого и безжалостного ужаса, который настигнет вас где угодно и мучительно убьет. В сознании средневекового европейца чума – это апокалиптический символ конца света, это атомная бомба, но сброшенная не на пару городов в далекой Японии, а прямо на весь христианский мир сразу. Эпидемии чумы выкашивали население мощнейших государственных центров, меняли экономические и геополитические расклады, мелким ситом цедили королевские династии и, наконец, убивали миллионами.
Кошмар, через который пришлось пройти нашим предкам, настолько глубоко засел в нашей культуре, что даже сейчас, в эпоху, когда эта и многие другие средневековые болезни давно ушли с повестки дня (нет, но об этом потом), чума не забыта. Она стала чем-то вроде абсолютного мерила ужаса: с ней сравнивают вновь открытые инфекции и опасные политические идеи, её именем проклинают, о ней снимают фильмы и, точно, мне тут подсказывают про чумного доктора, которого все чаще и чаще можно встретить в интернетах.
Болезнь, которая загнана под шконку, оттеснена в далекие регионы Африки и Азии, которая может быть вылечена самыми простыми антибиотиками, все равно самим названием своим по-прежнему вызывает подсознательный полузабытый страх. Слишком многие погибли когда-то.
journald вместо syslog
Использование journald как замена syslog'у для приложений с большим числом логов.Давным-давно, когда были дебаты о том, стоит ли принимать в качестве init-системы systemd (с одной стороны удобно, с другой стороны, довольно токсичный автор...), вместе с systemd приехал и journald. В целом, он ощущался как аппендикс к systemd, и вместе с ForwardToSyslog, он мирно жил на серверах. Дефолтная конфигурация в целом устраивала, а всё нужное можно было по-старинке накрутить в syslog'е.
В одном из проектов у нас образовалась потребность в обработке большого числа логов, и мы решили попробовать journald вместо (r)syslog(d|-ng). Оказалось, что:
journald решает все наши проблемы
документации по нему подозрительно мало (особенно, в сравнении с systemd)
при том, что его поведение более-менее разумно, интуиция о том, как он работает, практически отсутствует и её надо набирать.
Янус: двуличность как симптом
В 19 веке была популярна одна интересная городская легенда. Интересна она, прежде всего, с медицинской точки зрения. Максимального расцвета и освещенности легенда об Эдварде Мордаке достигла 8 декабря 1895 года, когда Бостон Пост опубликовала статью "Чудеса современной науки". В этой статье, за неимением более значимых научных новостей и в погоне за сенсацией, газета подробно рассказывала о таких существах, как женщина-рыба из Линкольна и человек-краб. В подборку с фриками попал и некий Эдвард с его дьявольским близнецом. Научной статья считалась потому, что журналист вел рассказ, опираясь на более чем авторитетный источник - архив Королевского научного общества.
Мифы современной популярной физики
Я решил сформировать список наиболее часто встречающихся неправд и полуправд. Итак, самое частое это…
Большой взрыв
Его изображают примерно так:
Квантовая механика: конец войны интерпретаций
Почему функциональное программирование такое сложное
Я несколько раз начинал читать статьи из серии «Введение в функциональное программирование», «Введение в Теорию Категорий» и даже «Введение в Лямбда Исчисление». Причем и на русском, и на английском. Каждый раз впечатление было очень сходным: во-первых, много новых непонятных слов; во-вторых, много новых определений, которые возникают из ниоткуда; в-третьих, совершенно непонятно, как это использовать.
Самым непонятным и зубодробительным оказалось, наверное, Теория Категорий. Я освоился в ней только с третьего подхода. В первые два раза я честно все прочитал, кажется понял, но т.к. никакой связки с реальной жизнью она не имела, то спустя неделю она благополучно полностью выветривалась.
Попытки использовать как-то в работе изученные концепции разбивались о полное непонимание, как применить полученное глубокое знание. Ведь, напомню, что парадигму ФП (где-то удобнее, где-то не очень, но) можно использовать практически в любом ЯП, совсем необязательно для этого изучать условный Хаскель.
Любой, достаточно быстрый источник света, имеет красное доплеровское смещение
Вектор скорости β, направленный в целом вправо, по мере роста сначала пересекает эллипсоиды с сокращёнными длинами (n<1) волн света, а затем начинает пересекать эллипсоиды со всё более длинными (n>1) волнами.
Автор будет признателен за замечания.
Docker-образ для раздачи Single Page Application
Single-page Application (SPA) – это набор статических JavaScript и HTML файлов, а так же картинок и других ресурсов. Поскольку они не изменяются динамически, опубликовать их в интернете очень просто. Для этого существует большое количество дешёвых и даже бесплатных сервисов, начиная с простого GitHub Pages (а для кого-то даже с narod.ru) и заканчивая CDN вроде Amazon S3. Однако мне нужно было другое.
Мне нужен был Docker-образ с SPA, чтобы его легко можно было запустить как в продакшене в составе Kubernetes-кластера, так и на машине back-end разработчика, который понятия не имеет, что такое SPA.
UPD 07.07.20: Посмотерть самому на то, что в итоге получилось, можно тут: https://github.com/alexxxnf/spa-docker-example
Я для себя определил следующие требования к образу:
- простота в использовании (но не в сборке);
- минимальный размер как с точки зрения диска, так и с точки зрения RAM;
- настройка через переменные окружения, чтобы образ можно было использовать в разных средах;
- максимально эффективная раздача файлов.
Сегодня я расскажу как:
- выпотрошить nginx;
- собрать brotli из исходников;
- научить статические файлы понимать переменные окружения;
- ну и конечно как собрать из всего этого Docker-образ.
Цель этой статьи поделиться моим опытом и спровоцировать опытных участников сообщества на конструктивную критику.
Активация discard (TRIM) на Linux для SSD
Современные накопители данных такие как SSD нуждаются в команде TRIM интерфейса ATA и для этого в ОС построенных на базе ядра Linux предусмотрено два метода управления на уровне файловых систем:
- discard — устанавливается как опция монтировании файловой системы. Позволяет ядру Linux сразу отправлять команду TRIM на устройство, как только об этом сообщит файловая система.
- fstrim — утилита которая запускается вручную или по расписанию как сервис ОС, отправляет список удаленных блоков с ФС для зачистки их на устройстве.
Для включения fstrim достаточно активировать сервис fstrim.service
в systemd, но лучше вместо сервиса, который будет висеть в памяти, использовать таймер fstrim.timer
который будет запускать еженедельный TRIM.
Пример включения сервиса:
# Включение, старт и вывод статуса сервиса:
systemctl enable fstrim.service && \
systemctl start fstrim.service && \
systemctl status fstrim.service
Но этих мер недостаточно, если у вас файловые системы располагаются на томах LVM, а LVM в LUKS :игла в яйце, яйцо в утке, утка в зайце
Подводные камни Terraform
Выделим несколько подводных камней, включая те, что связаны с циклами, выражениями if и методиками развертывания, а также с более общими проблемами, которые касаются Terraform в целом:
- параметры count и for_each имеют ограничения;
- ограничения развертываний с нулевым временем простоя;
- даже хороший план может оказаться неудачным;
- рефакторинг может иметь свои подвохи;
- отложенная согласованность согласуется… с отлагательством.
Информация
- В рейтинге
- 3 173-й
- Зарегистрирован
- Активность