понедельник, 1 декабря 2025 г.

docker-compose

 В случае необходимости пересборки контейнеров (или если они больше не нужны), находясь в папке с файлом docker-compose даем команду:

docker-compose down

# Принудительно пересоберите образ
make build

# Запустите снова
make run

Ошибка типа '/var/lib/postgresql/data': Operation not permitted, при запуске контейнеров в docker-compose при использовании WSL

Это очень распространенная проблема при использовании Docker в Windows с WSL 2, особенно если файлы проекта находятся в смонтированном разделе Windows (/mnt/c/...), а не в файловой системе Linux WSL (~/...).

Если вы используете WSL 2 и ваши файлы находятся на разделе NTFS (например, в директории /mnt/c/Users/...), то стандартные команды Linux chmod и chown не могут изменить реальные права доступа для процессов внутри контейнера Docker из-за ограничений монтирования WSL/NTFS.

Решение- использование именованных томов Docker (рекомендуется)
Вместо того чтобы монтировать конкретную локальную папку на вашем хосте (./.database/postgres/data) внутрь контейнера, мы позволим Docker управлять хранилищем данных самостоятельно через "именованный том" (named volume). Docker Volumes хранятся в специальном управляемом Docker'ом месте, где проблем с правами доступа не возникает.
Это самый чистый и надежный способ для работы с базами данных в Docker.

В файле docker-compose.yml надо заменить 
volumes:
    - ./.database/postgres/data:/var/lib/postgresql/data
на
volumes:
    - pgdata:/var/lib/postgresql/data
и добавить в конец файла:
volumes:
  pgdata:

понедельник, 22 сентября 2025 г.

GO отладка VSCode. Формат строки в launch.json


"version": "0.2.0",
    "configurations": [
        {
            "name": "Launch Package",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${workspaceFolder}/cmd", // указывает, что запускать
// (пакет main)
            "cwd": "${workspaceFolder}" // (current working directory)
// устанавливает рабочий каталог в корень проекта
        }
    ]


"version": "0.2.0",
    "configurations": [
        {
            "name": "My debug",
            "type": "go",
            "request": "launch",
            "mode": "debug",
            "program": "${workspaceFolder}/cmd/shortener"
        }
    ]

















{
                "name": "Launch Package",
                "type": "go",
                "request": "launch",
                "mode": "debug",
                "program": "${fileDirname}", // Or specify the path to your main Go file
                "args": [
                    "-flag1",
                    "value1",
                    "--another-flag",
                    "another_value"
                ]
            }

вторник, 19 сентября 2023 г.

Mac в качестве Wi-Fi точки доступа

Этот функционал в OS X присутствует уже давно, но просто не все и особенно начинающие знают об этом. Именно для них и предназначена эта заметка.
Если ваш Mac использует Интернет-подключение не через Wi-Fi-соединение, а например, через 3G-модем или Ethernet-подключение, то вы можете очень легко организовать Wi-Fi-точку доступа.
Сначала нужно активировать службу (метка 1 на картинке) и включить Wi-Fi (метка 2), если они были отключены до этого. Для чего переходим в Системные настройки — Сеть:
pic_1
После этого идем в Системные настройки — Общий доступ. В списке служб (в левой части окна) выбираем Общий Интернет, но сначала не включаем галку на этой службе, а в правой части в пункте Общее подключение: выбираем тот вариант, которым ваш Macподключен к Интернет. На моем iMac это Ethernet. В пункте Для компьютеров, использующих: ставим галку на Wi-Fi:
pic_2
Затем нажимаем кнопку Параметры Wi-Fi… и настраиваем имя сети, канал и шифрование:
pic_3
Примечание. У меня под Lion 10.7.2, почему-то, при выборе 128-битного шифрования, доступ в Интернет не заработал, пришлось выбрать 40-битное.
После этого в левой части включаем (установив галку) службу Общий Интернет:
pic_4
Подтверждаем, нажав кнопку Включить:
pic_5
Все готово. В строке меню в значке Wi-Fi появляется стрелочка. Это говорит, о том, что служба Общий Интернет работает:
pic_6
Подключаем ваши устройства к точке доступа, найдя новую Wi-Fi-сеть. Вот так это выглядит на моём iPhone:
pic_7

понедельник, 3 апреля 2023 г.

Добавить интерфейс в выбор для переключения

Интерфейс общий-  меню- сервис- интерфейсы- новый
У добавляемого интерфейса должен быть установлен флаг "переключаемый"