Pull to refresh

Как работает DNS в Linux. Часть 1: от getaddrinfo до resolv.conf

Level of difficultyMedium
Reading time9 min
Reach and readers26K

Привет, Хабр! Меня зовут Анатолий Кохан, я — DevOps-инженер в К2Тех.

Когда мы вводим в браузере имя сервера или доменное имя сайта, выполняем ping или запускаем любое удаленное приложение, операционная система должна преобразовать указанные имена в IP-адреса. Этот процесс называется разрешением доменного имени. На первый взгляд он может показаться весьма прозрачным, однако за ним скрывается многослойный механизм.

Данная статья — начало серии, посвященной низкоуровневой архитектуре разрешения имен. Поговорим о том, как устроен этот процесс в Linux на уровне ядра, различных библиотек C и системных вызовов.

Читать далее

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции

Level of difficultyMedium
Reading time17 min
Reach and readers12K

Нет, это не шутка и не кликбейт. Такое действительно возможно — правда через небольшой хак.

Недавно я задался вопросом: а возможно ли написать для ARM нативную программу, которая будет бесшовно работать сразу на 4-х операционных системах без необходимости перекомпиляции для разных платформ и ABI. Мне очень хотелось реализовать возможность писать кроссплатформенные эльфы для мобильных телефонов из нулевых и попытаться портировать на них эмуляторы ретро-консолей. Погрузившись в документацию на исполняемые форматы, я пришёл к выводу, что да — это возможно и смог реализовать такую программу на практике без читерства по типу VM! Всех гиков приглашаю под кат!

Читать далее

Сборка кемпингового аккумулятора или Make Powerbank Great Again

Reading time26 min
Reach and readers25K

Собираем портативный 12В LiFePo4 аккумулятор на 110 А*ч для кемпинговых и бытовых нужд, а также заставляем модули 12В USB-зарядок выдавать полную мощность.

Такой Powerbank пригодится дома, в машине, в палатке, на природе, в лодке, на пляже и там, куда не ведут дороги и линии электропередач.

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

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

Прочесть полностью

Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 1

Level of difficultyEasy
Reading time22 min
Reach and readers3K

Flutter & GitLab CI/CD. Подготовка и настройка физической машины

В мире мобильной разработки, где скорость и стабильность доставки приложений определяют успех, выбор инструментов для автоматизации становится особенно важным. Работая мобильным разработчиком в TAGES более пяти лет, я убедился, что использование self‑hosted решений дает значительные преимущества в гибкости, надежности и контроле над процессами. Одним из таких мощных инструментов является GitLab — платформа, которая позволяет не только управлять кодом, но и настраивать полноценные CI/CD‑процессы.

Эта статья станет первым шагом на пути к полной автоматизации сборки и доставки Flutter‑приложений. Мы разберем, как превратить вашу физическую машину в надежный инструмент для автоматизации. В конце статьи у вас будет готовая машина, которая сможет запускать и обрабатывать задачи из GitLab.

Читать далее

Большой гайд по Suno: делаем песню с нуля

Level of difficultyMedium
Reading time24 min
Reach and readers199K

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

Давайте разберёмся, как шаг за шагом освоить Suno, раскроем её секреты и посмотрим, как она меняет правила игры.

Приятного прочтения (-:

Читать далее

Пока не роботы: победители «Технотекста 7»

Level of difficultyEasy
Reading time17 min
Reach and readers7K

Приятно видеть, что люди всё ещё мечтают, и исполняют мечты в жизнь.
Именно такие люди двигают цивилизацию вперёд.
Раньше их сжигали на костре, а теперь мы ими
восхищаемся и награждаем победителей Технотекста!

Илья @Gel, специалист отдела по работе с пользователями Хабра

Одна из коллег пошутила: «У вас каждый Технотекст последний». Действительно, конкурс отнимает у команды невероятное количество сил, нервов и времени. Но мы его очень любим, потому что он справедливый и нужный: мы награждаем лучших из лучших, выбираем из крутейших статей, а потом спокойно даём новичкам ссылку на страницу со всеми участниками, чтобы они формировали насмотренность на отборном контенте. Тем не менее, Технотекст со счастливым номером 7 действительно последний. Последний в таком формате и с такими правилами, — потому что в жизнь авторов, Хабра, IT-отрасли и человечества ворвался ИИ. Если в этом году среди 800 заявок ии-шными оказались около десяти, то в следующем их будет в разы больше. Какая же это соревновательность…

Впрочем, пока не будем о грустном и неизвестном. Технотекст 8 будет и это главное. А сейчас — всё внимание победителям «Технотекста 7». Они правда восхитительные. 

Читать далее