В этой статье рассмотрен новый экспериментальный режим работы werf — Open Source-утилиты для сборки приложений и их деплоя в Kubernetes, — в котором не требуется наличие Docker-сервера. Мы покажем, как убедиться, что это режим будет работать на вашей машине, соберем первый образ и научимся использовать Kubernetes executor для автоматизации сборки в GitLab CI/CD.
Пользователь
Как разработчику применять принципы лидерства Amazon
Добрый день, меня зовут Павел Поляков, я Principal Engineer
в каршеринг компании SHARE NOW, в Гамбурге в 🇩🇪 Германии. А еще я автор телеграм канала Хороший разработчик знает, где рассказываю обо всем, что обычно знает хороший разработчик.
Сегодня хочу поговорить о принципах лидерства в Amazon. Это перевод оригинальной статьи.
Amazon является одной из самых больших и дорогих технологических компаний в мире. На Amazon работают десятки тысяч разработчиков. Все они получают хорошую компенсацию от 150.000$ в год и выше. Удивительно, но вся внутренняя политика Amazon основывается всего лишь на 16 принципах. 16 коротких фраз, которые определяют как ведет себя хороший сотрудник в Amazon.
Давайте посмотрим что это за принципы и как они помогают разработчикам в Amazon быть наиболее продуктивными.
Впечатления о Golang от разработчика на PHP
Привет! Меня зовут Андрей Литвиненко и я имею почти 15-летний опыт разработки на PHP. Уже около трех месяцев я активно пишу на Go и хочу поделиться наблюдениями, которые отметил для себя. Возможно, этот текст будет полезен тем, кто сейчас знаком с PHP и подумывает познакомиться с Go.
Толстые проблемы интеграций и их тонкие решения
В прошлой статье я рассказывал о том, как мы с командой запустили проект по перестройке бухгалтерского ядра и внедрению новой главной книги.
В этот раз расскажу об одной из самых насущных проблем любой архитектуры, о которой приходится задумываться при решении любой архитектурной задачи практического характера - об интеграциях.
Как с помощью Terraform создавать различные окружения
Применяя Terraform, действуйте по принципу “не повторяйся” (DRY) при создании инфраструктуры в различных средах/регионах/облачных провайдерах
Terraform упростил способ организации инфраструктуры в облаке и управления ею в виде кода. Но лучшие практики, такие как разделение инфраструктуры в соответствии с несколькими типами окружения (staging / QA / production. стейджинг / тестирование и обеспечение качества / продакшн), не меняются. Возможно, для потребностей вашего бизнеса, необходимо распространить инфраструктуру на несколько географических областей. Или вы задумываетесь о применении стратегии мультиоблачных вычислений.
Для решения такой ситуации надо суметь прописать несколько различных типов используемого окружения в коде. Задача состоит в том, чтобы максимально факторизировать код в соответствии с принципом DRY (Don't Repeat Yourself. Не повторяйся). Существует множество способов добиться этого с помощью Terraform.
В этой статье мы рассмотрим две стратегии для достижения этой цели с помощью Terraform. У каждой из них есть свои сильные и слабые стороны, в конце мы сравним их. Начнем!
Меняем стек с PHP на Golang, или Разработка под Kubernetes
Привет, Хабр!
На связи Паша Емельянов, тимлид в AGIMA. В этой статье расскажу, как на одном из проектов мы переписывали старый функционал, разработанный когда-то на PHP, на Golang, с какими проблемами столкнулись и как их решали. Статья будет интересна и начинающим, и миддлам, а еще системным архитекторам, т. к. здесь затронем как инфраструктурные вопросы, так и вопросы реализации конкретного сервиса под потребности бизнес-заказчика.
Разработка системы заметок с нуля. Часть 2: REST API для RESTful API Service + JWT + Swagger
Продолжаем серию материалов про создание системы заметок. В этой части мы спроектируем и разработаем RESTful API Service на Golang cо Swagger и авторизацией. Будет много кода, ещё больше рефакторинга и даже немного интеграционных тестов.
Подробности в видео и текстовой расшифровке под ним.
В первой части мы спроектировали систему и посмотрели, какие сервисы требуются для построения микросервисной архитектуры.
Разработка системы заметок с нуля. Часть 1: проектирование микросервисной архитектуры
Данный проект рассматривается как pet-project. Любую критику и советы готов увидеть в комментариях.
Это моя фактически первая статья на хабре за долгое время, последняя была написана очень много лет назад, если что-то не так - напишите в личные сообщения - я все исправлю.
Репозиторий с исходным кодом: https://github.com/theartofdevel/notes_system
Видео версия: https://www.youtube.com/watch?v=Txi95RQPRP0
Под катом текстовая расшифровка.
Настройка инструментов стандартной библиотеки Golang для production
Привет, Хабр, меня зовут Богданов Илья, я работаю ведущим инженером в команде веб-разработки. Сегодня я вам расскажу, как настроить стандартную библиотеку Golang так, чтобы избежать неожиданных ошибок в production.
Моя статья ориентирована в основном на начинающих разработчиков, но ветераны Go тоже, вероятно, смогут узнать что-то новое. Коротко о чем будет статья:
• о том, как не ловить ошибки соединения с базой данных на production;
• http.Client и что не так с клиентом по умолчанию;
• http.Server и его подводные камни;
• и, наконец, рассмотрим пару занятных проблем, не связанных напрямую с настройкой стандартной библиотеки.
Запросить 100 серверов нельзя оптимизировать код. Ставим запятую
Можно выделить ряд алгоритмов, которые являются базовыми и лежат в основе практически каждой строчки программ, написанных на языках высокого уровня. Хорошо иметь под руками классический многотомный труд Дональда Кнута "The Art of Computer Programming", там детально разобраны многие базовые алгоритмы. Но прочесть и усвоить все — задача, требующая много усилий и времени, которая должна как-то быть мотивирована.
Многие могут предположить, что нюансы необходимо было знать 50 лет назад, а сейчас можно пользоваться готовыми пакетами и функциями и не погружаться в детали. Однако, это далеко не так. Равно как никто не отменял важность понимания представления методов хранения данных в памяти и их обработки в процессоре.
Далее разберем нюансы на примере функций сортировки. Сортировка и поиск используются максимально часто во всех манипуляциях с данными. Экономия нескольких миллисекунд на операции может приводить к суммарному сокращению часов расчета на значительных данных.
Является продолжением серии предыдущих публикаций.
Wireshark для всех. Лайфхаки на каждый день
Пакет с сертификатами от Хабра
Wireshark — очень известная программа для захвата и анализа сетевого трафика, незаменимый инструмент хакера, сетевого инженера, программиста, специалиста по безопасности. Да вообще любого любознательного человека, который хочет детально изучить трафик со своего или чужого мобильного телефона, фитнес-браслета, телевизора.
Заметки о Unix: одновременное редактирование нескольких файлов в Vim
Systemd для продолжающих. Part 2 — Триггеры на различные события
Продолжаем цикл популярного балета, под названием «Systemd для продолжающих». В этой части, являющейся логическим продолжением предыдущей, поговорим о различных триггерах не связанных со временем. Эта часть будет не такой объёмной, но, не менее интересной. Вперёд!
Сервер Prometheus и TLS
Prometheus теперь поддерживает TLS и базовую аутентификацию для HTTP эндпоинтов.
Скрейпинг таргетов через HTTPS вместо HTTP поддерживается уже давно. Метрики можно собирать с поддержкой HTTPS, аутентификации по клиентским сертификатам и базовой аутентификации.
В прошлом году Node Exporter стал первым официальным экспортером, который нативно предоставляет метрики по HTTPS. Все подробности в предыдущем посте. На этой неделе (прим. переводчика: статья вышла 6 января 2021 года) мы встречаем Prometheus 2.24.0. В последнее время Prometheus радует нас крутыми новшествами — это и TLS, и backfilling (обратное заполнение, тоже в версии 2.24) и даже переход на современный пользовательский интерфейс на React.
В этом посте мы расскажем о TLS и базовой аутентификации.
Построение сетевой инфраструктуры на базе Nebula. Часть 1 — задачи и решения
В статье пойдет речь о проблемах организации сетевой инфраструктуры традиционным способом и о методах решения тех же самых вопросов при помощи облачных технологий.
Systemd для продолжающих. Part 1 — Запуск юнитов по временным событиям
Всем привет! В последнее время я вплотную занимаюсь исследованием возможностей systemd и решил поделиться результатом исследований с сообществом, в виде небольшого (или большого, как пойдёт ;-) цикла статей. Итак первым номером нашей программы будет запуск юнитов по различным событиям происходящим во время работы ОС. В качестве исследовательской платформы будет выступать Manjaro Linux c systemd v247.2. И... да. Некоторые события, вынудили меня написать внеочередную статью, которая «взлетела на вершину хит-парада», а опрос показал, что тема актуальна и вызывает интерес, так что погнали!
Шпаргалка полезных команд GDB
Для кого она нужна?
1) начинающих реверсеров, знающих особенности обратного проектирования, и желающих изучить такой отладчик как GDB
2) как подсказка тем кто постоянно работает с IDA, Ghidra или любым другим мощным и надежным инструментом, но в силу тех или иных обстоятельств решить задачу проще и быстрее с помощью GDB, и не очень хочется залезать в официальную документацию и снова все вспоминать
Xудшие практики для Ansible. Георгий Шуклин
Приветствую всех! Меня зовут Георгий. Я работаю в компании servers.com. Я пришел рассказать про Ansible: про хороший Ansible и про плохой Ansible в основном, т. е. про то, как люди могут плохо делать на Ansible.
Использование journalctl для просмотра и анализа логов: подробный гайд
Journalctl — отличный инструмент для анализа логов, обычно один из первых с которым знакомятся начинающие администраторы linux систем. Встроенные возможности ротации, богатые возможности фильтрации и возможность просматривать логи всех systemd unit-сервисов одним инструментом очень удобны и заметно облегчают работу системным администраторам.
Эта статья рассматривает основные возможности утилиты journalctl и различные варианты ее применения. С помощью journalctl можно просматривать логи системы, чтобы решить возникшие проблемы на рабочей станции или сервере использующие дистрибутив linux с демоном инициализации systemd, де-факто уже ставшим стандартом в современных Linux-системах, например: RHEL, CentOS, Fedora, Debian и многих других.
Существует мнение, что systemd не так уж и хорош — он нагружает систему и это все еще предмет для споров на сегодняшний день, но нельзя отрицать, что он предоставляет прекрасный набор инструментов для управления системой и поиска проблем. Представьте, что вам приходится иметь дело с проблемным сервером, который даже не загружается — в таком случае можно загрузиться с live-дистрибутива, смонтировать системный раздел и просмотреть логи systemd, чтобы понять, в чем проблема.
Настройка ядра Linux для GlusterFS
Периодически то тут, то там возникают вопросы о рекомендациях Gluster относительно настройки ядра и есть ли в этом необходимость.
Такая необходимость возникает редко. На большинстве нагрузок ядро работает очень хорошо. Хотя есть и обратная сторона. Исторически ядро Linux охотно потребляет много памяти, если ему предоставить такую возможность, в том числе и для кэширования в качестве основного способа повышения производительности.
Информация
- В рейтинге
- Не участвует
- Откуда
- Харьков, Харьковская обл., Украина
- Дата рождения
- Зарегистрирован
- Активность