Pull to refresh
4
0.3
Alexander Grafov @siberianlaika

Software engineer

Send message

Docker — не то, чем кажется

Level of difficultyEasy
Reading time6 min
Views27K

Привет, Хабр! Меня зовут Матвей Мочалов, я — компьютерный инженер и один из авторов корпоративного блога cdnnow! Мы с вами познакомились в этом посте про историю DRM для видеоконтента. Сегодня я хочу поговорить с вами про Docker, а точнее про то, о чём многие забывают: различиях в нём для разных систем. Нам, как CDN-провайдеру Docker, все его 50 оттенков близки и знакомы. И, к счастью, наше взаимодействие с ним происходит из-под Linux, но, увы, не всем так везёт.

Как это часто бывает, с мультиплатформенностью и прочими «красивыми» словами в IT, всё не так однозначно. У всего своя цена, и под капотом один и тот же инструмент на разных системах, по сути своей может представлять из себя несколько разных вещей с различными принципами работы и производительностью. А обещания революции скрывают за собой эволюцию, либо вовсе регресс и топтание на месте.

Читать далее
Total votes 53: ↑52.5 and ↓0.5+52
Comments65

Управление памятью в Linux

Level of difficultyEasy
Reading time7 min
Views14K

Управление памятью (memory management) является важной подсистемой операционной системы Linux, которая обеспечивает эффективное использование ресурсов физической и виртуальной памяти. В Linux управление памятью в основном подразумевает обработку запросов к памяти от процессов, выделение и освобождение блоков памяти, а также обеспечение ее эффективного использования.

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments12

Числа и байты: как работает память в Linux?

Level of difficultyHard
Reading time27 min
Views11K
image

Часть первая: физическая память


При создании операционных систем всегда уделяется внимание работе с памятью. Память — это компонент компьютера, где хранятся программы и данные, и без нее современные компьютеры не могли бы функционировать. Важной единицей хранения данных в памяти является бит, который может принимать два значения: 0 или 1. Память состоит из ячеек, каждая из которых имеет свой адрес. Ячейки могут содержать различное количество битов, и количество адресуемых ячеек зависит от количества бит в адресе.

Также память включает в себя оперативное запоминающее устройство (ОЗУ) или RAM, где можно записывать и считывать информацию. Существует статическая ОЗУ (SRAM) и динамическая ОЗУ (DRAM), различающиеся в том, как хранится информация. В SRAM информация сохраняется до выключения питания, в то время как в DRAM используются транзисторы и конденсаторы, что позволяет хранить данные, но требует их периодического обновления. Разные типы ОЗУ имеют свои преимущества и недостатки, и выбор зависит от конкретных потребностей.

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

Но что такое физическая память, как она работает в Linux? Что такое сегментация, утечки памяти и некие «страницы»?

Все, что вы хотели знать, но боялись спросить о памяти пингвина — читайте здесь и сейчас!
Читать дальше →
Total votes 25: ↑29 and ↓-4+33
Comments17

Мошенники. Вектор атаки на айтишников через LinkedIn

Level of difficultyEasy
Reading time3 min
Views14K

Кажется, только что испытал на себе новый вектор атаки на айтишников. Почему думаю, что на айтишников? Потому что через LinkedIn и, очевидно, с айтишников есть, что взять.

Читать далее
Total votes 54: ↑60 and ↓-6+66
Comments62

Устройство памяти процессов в ОС Linux. Сбор дампов при помощи гипервизора

Level of difficultyMedium
Reading time14 min
Views4.6K

Иногда для анализа ВПО или, например, для отладки какого-либо процесса может потребоваться дамп памяти процесса. Но как его собрать без отладчика? Постараемся ответить на этот вопрос в этой статье.

Задачи:

- Обозначить цель сбора дампа процесса.

- Описать структуру памяти процессов в Linux и отметить различия в старой и новой версиях ядра ОС

- Рассмотреть вариант снятия дампа памяти процесса внутри виртуальной машины на базе связки гипервизора Xen и фреймворка с открытым исходным кодом DRAKVUF.

Читать далее
Total votes 11: ↑13.5 and ↓-2.5+16
Comments2

HashiCorp обвинила сообщество OpenTofu в краже кода Terraform, но что-то пошло не так

Level of difficultyEasy
Reading time8 min
Views19K

3 апреля на сайте InfoWorld вышла статья известного публициста на тему Open Source и юриста Matt Asay под названием «OpenTofu, возможно, демонстрирует нам, как не надо делать форк». Лидер-абзац в статье довольно жёсткий: 

Не согласны с лицензией? Просто сделайте форк проекта, но не выкидывайте его код — говорите, что он всегда был доступен публично. Сравните код и лицензию HashiCorp с версией OpenTofu.

Разберемся в этой истории последовательно — кто прав, кто виноват и чем всё закончилось.

Читать далее
Total votes 65: ↑71.5 and ↓-6.5+78
Comments33

Выжимаем максимум из PostgreSQL

Level of difficultyMedium
Reading time14 min
Views14K

Привет, Хабр! Меня зовут Максим, я работаю тестировщиком оборудования в Selectel Lab. В лаборатории мы занимаемся тестированием нового оборудования для дата-центров. О том, как мы измеряли производительность PostgreSQL на разных конфигурациях — под катом!
Читать дальше →
Total votes 48: ↑55.5 and ↓-7.5+63
Comments21

Варим C с компилятором Zig и его build.zig

Level of difficultyEasy
Reading time21 min
Views4.6K

По случаю выхода версии 0.11.0 языка Zig я решил написать ещё одну статью о языке Zig. В этот раз речь пойдет о системе сборки языка. А точнее, как пользоваться кодом написанным на языке C в проекте на языке Zig, с небольшими ответвлениями в стороны для описания некоторых возможностей системы сборки. Тем более, что она претерпела несколько изменений, о чём я так же коротко упомяну. Эксперименты проводились мной на Windows 11. Стоит сразу упомянуть, что указанные в статье команды будут работать и на других операционных системах. Это одна из особенностей языка Zig. Но пример кода линковки системных библиотек для сборки библиотеки raylib будет платформозависимый, так как для разных платформ набор библиотек отличается. Если интересно, то прошу...

пройти во внутрь
Total votes 14: ↑13 and ↓1+12
Comments30

От «здравствуйте» до こんにちは: языки программирования не на английском языке

Level of difficultyEasy
Reading time6 min
Views18K

Существует огромное количество самых разных языков программирования, их насчитывается несколько тысяч. Какие‑то — идеальны для работы, другие же созданы just for fun. К слову, есть ЯП, представленные программистами из неанглоязычных стран, в них операторы, функции и т. п. — все на родном для автора языке. Кроме того, некоторые страны стремятся развивать свои собственные IT‑индустрии, и использование местного языка в программировании может быть способом поддержать эту инициативу. Мы выбрали самые интересные на наш взгляд non‑English языки программирования.

Читать далее
Total votes 34: ↑37 and ↓-3+40
Comments34

AmigaOS, LisaOS и NeXTSTEP: операционные системы эпохи расцвета ПК

Level of difficultyEasy
Reading time5 min
Views2.7K

В этом посте мы расскажем о трёх операционных системах для персональных компьютеров родом из 1980-х и начала 1990-х — AmigaOS, LisaOS и NeXTSTEP. Некоторые из них сегодня ещё можно найти где-нибудь в виде легаси, некоторые поддерживаются энтузиастами или даже компаниями, но все они, пожалуй, уже покоятся на свалке истории, оставив после себя наследие разных масштабов.

Начнем с операционки, запущенной в 1985 году, когда Apple представила Macintosh. В то время более известной ещё была компания Commodore International. Начинали эти ребята с ремонта и перепродажи печатных машинок, но со временем переквалифицировались. Славу Commodore принес прежде всего персональный компьютер Commodore 64, через три года после выпуска которого Commodore представили новый многообещающий ПК — Amiga.

Читать далее
Total votes 14: ↑17.5 and ↓-3.5+21
Comments9

Последнее издание культовой книги «Искусство схемотехники» стало доступно русскоязычным читателям

Level of difficultyEasy
Reading time4 min
Views37K

“Электронщики, как учит нас Парацельс, самозарождаются среди паяльников, радиодеталей, универсальных плат и проводов” (@teap0t)

Возможно, это действительно так, но без хорошей книги - учебника или справочника, которые служат катализатором, этот процесс может так и не завершиться. А лучшей книгой для начинающих разработчиков электронных схем и практически библией электронщиков последние сорок лет, считается "Искусство схемотехники" (англ. - The Art of Electronics) Пауля Хоровица и Уинфилда Хилла.

Читать далее
Total votes 64: ↑73 and ↓-9+82
Comments133

Realms of Arkania: Blade of Destiny (1992/2013)

Level of difficultyEasy
Reading time14 min
Views2.1K

«…мы стремились сделать самую задротсткую ролевую игру всех времён и народов…»

«Современные игры разбаловали игроков. С нетерпением жду, когда игроки откажутся покупать игры, в которых можно проиграть… Игра обязана бросать вызов. Я вырос на игровых автоматах, потратив бессчётные четвертаки на поиски способов пройти особо сложное место». (Из интервью создателя игры Гвидо Хенкеля)

Blade of Destiny для MS-DOS и Amiga появилась на прилавках магазинов в 1992-ом году. После успеха на местном рынке игра была переведена на английский и издана легендарной Sir-Tech в 1993-ем.

Читать далее
Total votes 6: ↑7 and ↓-1+8
Comments8

Читаем EXPLAIN на максималках

Reading time19 min
Views61K

Многим, кто работает с MySQL, известно, что команда EXPLAIN используется для оптимизации запросов, получения информации об использованных и возможных индексах. Большинство разработчиков и администраторов СУБД этой информацией и ограничивается. Я же предлагаю изучить команду EXPLAIN максимально подробно.

Читать далее
Total votes 21: ↑19 and ↓2+17
Comments14

Как настроить префикс в PortProton

Reading time2 min
Views2.8K

В программу PortProton для запуска Windows-игр под Linux добавлена возможность использовать в ОС «Альт» установленный в систему wine и wine-etersoft.

Список ПО, которое можно запускать при помощи PortProton, существенно расширился.

Покажем по шагам, как создавать и настраивать новые префиксы в PortProton для использования системного wine. Этой же инструкцией можно воспользоваться для встроенных wine в PortProton.

Читать далее
Total votes 11: ↑11.5 and ↓-0.5+12
Comments3

Лучшие практики для надёжной работы с RabbitMQ

Level of difficultyEasy
Reading time13 min
Views19K

Привет, Хабр! Я Женя, архитектор интеграционной платформы в Точке, отвечаю за асинхронный обмен сообщениями между внутренними сервисами, за ESB и за брокеры сообщений.

В этой статье я постарался кратко и последовательно изложить основные моменты, о которых полезно помнить при использовании RabbitMQ, если важны стабильность обмена и сохранность данных.

В первую очередь материал рассчитан на разработчиков, которым ещё не приходилось погружаться в тонкости работы с RabbitMQ или использовать его вообще. Более опытным читателям статья может пригодиться в качестве компактной и упорядоченной выжимки из уже знакомых статей, вебинаров и многочисленных страниц документации.

Следуй за белым кроликом
Total votes 58: ↑58.5 and ↓-0.5+59
Comments16

Kubeshark — мониторинг и анализ Kubernetes

Reading time4 min
Views4.9K

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

Читать далее
Total votes 17: ↑17.5 and ↓-0.5+18
Comments1

RabbitMQ. Часть 1. Introduction. Erlang, AMQP

Reading time4 min
Views216K

Добрый день, Хабр! Хочу поделиться учебником-справочником знаний, которые мне удалось собрать по RabbitMQ и сжать в короткие рекомендации и выводы.

Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments6

Разбираемся в новом роутинге в Go 1.22

Reading time5 min
Views7.2K

В начале февраля 2024 года вышел Go 1.22. Вот, что нового и интересного принёс новый релиз: сделали более безопасное поведение переменных в циклах, добавили функции-итераторы в качестве rangefunc-эксперимента и улучшили шаблоны роутинга. В этой статье я сфокусируюсь на последнем, самом долгожданном, для многих, обновлении — шаблонах http-роутинга.

Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments3

Хеш-функция Стрибог. Особенности аппаратной реализации на System Verilog

Level of difficultyHard
Reading time4 min
Views4K

На просторах интернета есть несколько статей об алгоритме получения хеш-функции Стрибог (ГОСТ 34.11-2012), в том числе и на Хабре. Однако везде в качестве примера приводится реализация на языках программирования C, C#, Python и других. То есть идет последовательное выполнение операций алгоритма. В данной статье я хочу затронуть аппаратную реализацию на языке System Verilog, уделить внимание распараллеливанию вычислений и описанию интерфейсов модулей. Для начала кратко рассмотрим теорию.

Читать далее
Total votes 40: ↑39 and ↓1+38
Comments20

Почему работодатель хочет, чтобы вы были ИП

Reading time7 min
Views62K

Представим сферическую ситуацию в вакууме. Вы никогда до этого не были предпринимателем, только работали по найму. У вас на руках два оффера. Оба по 100 000 руб. на руки, оба на плюс-минус одинаковых условиях. Офис, 5 дней в неделю по 8 часов. Но один работодатель хочет заключить с вами трудовой договор, а другой предлагает вам оформиться как ИП.

Для начала зададимся вопросом, почему работодатель предлагает оформить отношения с вами как с ИП, а не берёт в штат? Если кратко, то работодателю так проще и дешевле. Почему? Давайте разберёмся.

Читать далее
Total votes 144: ↑132 and ↓12+120
Comments268
1
23 ...

Information

Rating
1,816-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Software Developer, Backend Developer
Lead
Git
PostgreSQL
Docker
Linux
C
Golang
RabbitMQ
Redis