Запуск Golang в Docker Compose

docker-compose.yml

version: '3.9'

services:

  golang:
    build: ./build
    container_name: golang
    restart: always
    # stdin_open: true # docker run -i
    tty: true        # docker run -t
    volumes:
      - ./build/source:/go/tmp/src

Файл располагается в корневом каталоге.

Dockerfile

# Базовый образ
FROM golang:1.14.4-buster
# Папка приложения
ARG APP_DIR=app
# Копирование файлов
COPY . /go/tmp/src/${APP_NAME}
# Рабочая директория
WORKDIR /go/tmp/src/${APP_NAME}
# Библиотеки
# RUN go get <путь_к_библиотеке>
# RUN go get github.com/streadway/amqp

Файл располагается в ./build

hello.go

package main

func main() {
	println("Hello, World!")
}

Файл располагается в ./ServiceGo/source

Выполнить сборку контейнера и запустить можно при помощи команды:

docker-compose up --build -d

Отформатировать файл:

docker-compose exec golang gofmt hello.go

Запустить приложение:

docker-compose exec golang go run hello.go

Запуск PostgreSQL 9 в Docker Compose

docker-compose.yml

version: '3'
services:
  postgres:
    build: ./build
    container_name: postgres
    restart: always
    volumes:
        - ./data:/var/lib/postgresql/data
    environment:
        - "POSTGRES_USER=any_user"
        - "POSTGRES_PASSWORD=any_password"
        - "POSTGRES_DB=any_dev_db"
    ports:
        - "54321:5432"

Файл располагается в корневом каталоге.

Dockerfile

FROM postgres:9.6-alpine

Файл располагается в ./build

Выполнить сборку контейнера и запустить можно при помощи команды:

docker-compose up --build -d

Загрузка потокового видео в Linux при помощи утилиты FFmpeg

Для загрузки потокового видео в терминале необходимо выполнить команду:

ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto -i "<ссылка>" -c copy <файл>.mp4

Здесь:

  • <ссылка> — это ссылка, которая обычно берется из HTML-тега <video>, часто начинается с https
  • <файл> — это имя файла, которое необходимо придумать самостоятельно

Перед тем, как загружать видео в терминале, его необходимо запустить в окне браузера.

Автозапуск виртуальной машины VirtualBox в фоновом режиме на Windows 10

Необходимо для выполнения пунктов

  • Установленная и настроенная программа VirtualBox
  • Созданная, настроенная и остановленная виртуальная машина VirtualBox

Шаг 1. Перейти в автозагрузку Windows 10

Путь к папке автозагрузки текущего пользователя в Windows 10:

%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Вы можете открыть папку автозагрузки текущего пользователя через проводник Windows, командную строку или щелкнув правой кнопкой мыши Пуск > Выполнить:

shell:startup

Путь к папке автозагрузки всех пользователей в Windows 10:

%allusersprofile%\Microsoft\Windows\Start Menu\Programs\StartUp

Вы можете открыть папку автозагрузки всех пользователей через проводник Windows, командную строку или щелкнув правой кнопкой мыши Пуск > Выполнить:

shell:common startup

Обратите внимание, что если вы используете проводник Windows для доступа к папке Автозагрузка, папка APPDATA «скрыта», вам придется включить скрытые файлы, чтобы ее увидеть. Если вы вводите путь к папке в командной строке CMD или в сценарии, скрытая папка APPDATA не будет проблемой.

Шаг 2. Создать файл в автозагрузке

В автозагрузке создаем файл с наименованием <имя_файла>.bat (напр. Debian-10.5.0-Netinst-Terminal.bat). В нем прописываем команду:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm <имя_виртуальной_машины> --type headless

Например:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm "Debian-10.5.0-Netinst (Terminal)" --type headless

Скрипт проверен на VirtualBox версии 6.1.16.

Перезагружаем Windows 10, чтобы проверить результат.

Перезапуск MySQL на Debian Linux

Первым шагом необходимо зайти на сервер по SSH, используя правильные учетные данные и IP-адрес:

$ ssh root@localhost

Эта команда должна предоставить вам доступ к терминалу сервера.

Вторым шагом нужно перезапустить сервис MySQL, выполнив команду

$ service mysql restart

или, если ваш сервис MySQL имеет другое имя, например mysqld, вам, возможно, придется соответствующим образом изменить команду или попробовать следующее:

$ /etc/init.d/mysql restart

Автоматическое форматирование программного кода в Visual Studio

Чтобы отформатировать выделенный текст: Ctrl + K, Ctrl + F

Чтобы отформатировать документ: Ctrl + K, Ctrl + D

Примечание для macOS

В macOS используйте клавишу CMD ⌘ вместо Ctrl:

Чтобы отформатировать выделение: CMD ⌘ + K, CMD ⌘ + F

Чтобы отформатировать документ: CMD ⌘ + K, CMD ⌘ + D

См. Pre-defined Keyboard Shortcuts (Edit.FormatSelection и Edit.FormatDocument)

Какие задачи выполняются в процессе создания инфраструктуры?

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

ГОСТ 19.201–78 ЕСПД. Техническое задание. Требования к содержанию и оформлению

Техническое задание (ТЗ) содержит совокупность требований к ПС и может использоваться как критерий проверки и приемки разработанной программы. Поэтому достаточно полно составленное (с учетом возможности внесения дополнительных разделов) и принятое заказчиком и разработчиком ТЗ является одним из основополагающих документов проекта ПС.

  • введение;
  • основания для разработки;
  • назначение разработки;
  • требования к программе или программному изделию;
  • требования к программной документации;
  • технико-экономические показатели;
  • стадии и этапы разработки;
  • порядок контроля и приемки;
  • в техническое задание допускается включать приложения.

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

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