ΠΠ»ΠΏΠΈΠ½Π΅ ΠΠΈΠ½ΡΠΊ ΡΠ΅ ΡΠ΅ΡΡΠΎ ΠΏΡΠ΅ΠΏΠΎΡΡΡΡΡΠ΅ ΠΊΠ°ΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π° ΡΠ»ΠΈΠΊΠ° Π·Π° ΠΠΎΡΠΊΠ΅Ρ. Π Π΅ΡΠ΅Π½ΠΎ Π²Π°ΠΌ ΡΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΠΠ»ΠΏΠΈΠ½Π΅-Π° ΡΡΠΈΠ½ΠΈΡΠΈ Π²Π°ΡΠ΅ Π³ΡΠ°Π΄ΡΠ΅ ΠΌΠ°ΡΠΈΠΌ, Π° ΠΏΡΠΎΡΠ΅Ρ ΠΈΠ·Π³ΡΠ°Π΄ΡΠ΅ Π±ΡΠΆΠΈΠΌ.
ΠΠ»ΠΈ Π°ΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΠ»ΠΏΠΈΠ½Π΅ ΠΠΈΠ½ΡΠΊ Π·Π° ΠΠΈΡΡ ΠΎΠ½ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅, ΠΎΠ½Π΄Π°:
- Π§ΠΈΠ½ΠΈ Π²Π°ΡΠ΅ Π³ΡΠ°Π΄ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΈΡΠΈΠΌ
- ΠΠΎΠ²Π΅ΡΠ°Π²Π° Π²Π°ΡΠ΅ ΡΠ»ΠΈΠΊΠ΅
- ΠΡΠ±ΠΈΡΠ΅ ΡΠ²ΠΎΡΠ΅ Π²ΡΠ΅ΠΌΠ΅
- Π Π½Π° ΠΊΡΠ°ΡΡ ΠΌΠΎΠΆΠ΅ ΠΈΠ·Π°Π·Π²Π°ΡΠΈ Π³ΡΠ΅ΡΠΊΠ΅ Ρ Π²ΡΠ΅ΠΌΠ΅Π½Ρ ΠΈΠ·Π²ΠΎΡΠ΅ΡΠ°
Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π°ΠΌΠΎ Π·Π°ΡΡΠΎ ΡΠ΅ ΠΠ»ΠΏΠΈΠ½Π΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΡΡΠ΅, Π°Π»ΠΈ Π·Π°ΡΡΠΎ Π³Π° ΠΈΠΏΠ°ΠΊ Π½Π΅ Π±ΠΈ ΡΡΠ΅Π±Π°Π»ΠΎ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΠ° ΠΠΈΡΡ
ΠΎΠ½-ΠΎΠΌ.
ΠΠ°ΡΡΠΎ ΡΡΠ΄ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΡΡΡΡ ΠΠ»ΠΏΠΈΠ½Π΅?
ΠΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠΎ Π΄Π° Π½Π°ΠΌ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π°Π½ Π³ΡΡ ΠΊΠ°ΠΎ Π΄Π΅ΠΎ Π½Π°ΡΠ΅ ΡΠ»ΠΈΠΊΠ΅ ΠΈ ΠΆΠ΅Π»ΠΈΠΌΠΎ Π΄Π° ΡΠΏΠΎΡΠ΅Π΄ΠΈΠΌΠΎ ΠΠ»ΠΏΠΈΠ½Π΅ ΠΠΈΠ½ΡΠΊ ΡΠ° Π£Π±ΡΠ½ΡΡ 18.04 Ρ ΡΠΌΠΈΡΠ»Ρ Π±ΡΠ·ΠΈΠ½Π΅ ΠΈΠ·ΡΠ°Π΄Π΅ ΠΈ ΠΊΠΎΠ½Π°ΡΠ½Π΅ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠ»ΠΈΠΊΠ΅.
ΠΡΠ²ΠΎ, ΠΏΡΠ΅ΡΠ·ΠΌΠ΅ΠΌΠΎ Π΄Π²Π΅ ΡΠ»ΠΈΠΊΠ΅ ΠΈ ΡΠΏΠΎΡΠ΅Π΄ΠΈΠΌΠΎ ΡΠΈΡ ΠΎΠ²Π΅ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅:
$ docker pull --quiet ubuntu:18.04
docker.io/library/ubuntu:18.04
$ docker pull --quiet alpine
docker.io/library/alpine:latest
$ docker image ls ubuntu:18.04
REPOSITORY TAG IMAGE ID SIZE
ubuntu 18.04 ccc6e87d482b 64.2MB
$ docker image ls alpine
REPOSITORY TAG IMAGE ID SIZE
alpine latest e7d92cdc71fe 5.59MB
ΠΠ°ΠΎ ΡΡΠΎ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΎΡΠ½ΠΎΠ²Π½Π° ΡΠ»ΠΈΠΊΠ° Π·Π° ΠΠ»ΠΏΠΈΠ½Π΅ ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠ°. ΠΠΎΠΊΡΡΠ°ΡΠΌΠΎ ΡΠ°Π΄Π° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠΎ Π³ΡΡ ΠΈ ΠΏΠΎΡΠ½Π΅ΠΌΠΎ ΡΠ° Π£Π±ΡΠ½ΡΡΠΎΠΌ:
FROM ubuntu:18.04
RUN apt-get update &&
apt-get install --no-install-recommends -y gcc &&
apt-get clean && rm -rf /var/lib/apt/lists/*
ΠΠΈΡΠ°ΡΠ΅ ΡΠ°Π²ΡΡΠ΅Π½ΠΎΠ³ ΠΠΎΡΠΊΠ΅ΡΡΠΈΠ»Π΅-Π° ΡΠ΅ Π²Π°Π½ ΠΎΠΊΠ²ΠΈΡΠ° ΠΎΠ²ΠΎΠ³ ΡΠ»Π°Π½ΠΊΠ°.
ΠΠ·ΠΌΠ΅ΡΠΈΠΌΠΎ Π±ΡΠ·ΠΈΠ½Ρ ΡΠΊΠ»Π°ΠΏΠ°ΡΠ°:
$ time docker build -t ubuntu-gcc -f Dockerfile.ubuntu --quiet .
sha256:b6a3ee33acb83148cd273b0098f4c7eed01a82f47eeb8f5bec775c26d4fe4aae
real 0m29.251s
user 0m0.032s
sys 0m0.026s
$ docker image ls ubuntu-gcc
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu-gcc latest b6a3ee33acb8 9 seconds ago 150MB
ΠΠΎΠ½Π°Π²ΡΠ°ΠΌΠΎ ΠΈΡΡΠΎ Π·Π° ΠΠ»ΠΏΠΈΠ½Π΅ (ΠΠΎΡΠΊΠ΅ΡΡΠΈΠ»Π΅):
FROM alpine
RUN apk add --update gcc
Π‘Π°ΡΡΠ°Π²ΡΠ°ΠΌΠΎ, Π³Π»Π΅Π΄Π°ΠΌΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΌΠΎΠ½ΡΠ°ΠΆΠ΅:
$ time docker build -t alpine-gcc -f Dockerfile.alpine --quiet .
sha256:efd626923c1478ccde67db28911ef90799710e5b8125cf4ebb2b2ca200ae1ac3
real 0m15.461s
user 0m0.026s
sys 0m0.024s
$ docker image ls alpine-gcc
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine-gcc latest efd626923c14 7 seconds ago 105MB
ΠΠ°ΠΎ ΡΡΠΎ ΡΠ΅ ΠΎΠ±Π΅ΡΠ°Π½ΠΎ, ΡΠ»ΠΈΠΊΠ΅ Π·Π°ΡΠ½ΠΎΠ²Π°Π½Π΅ Π½Π° ΠΠ»ΠΏΠΈΠ½Π΅-Ρ ΡΠ΅ ΠΏΡΠΈΠΊΡΠΏΡΠ°ΡΡ Π±ΡΠΆΠ΅ ΠΈ ΠΌΠ°ΡΠ΅ ΡΡ: 15 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΡΠΌΠ΅ΡΡΠΎ 30, Π° Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΡΠ»ΠΈΠΊΠ΅ ΡΠ΅ 105 ΠΠ Π½Π°ΡΠΏΡΠ°ΠΌ 150 ΠΠ. Π’ΠΎ ΡΠ΅ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ Π΄ΠΎΠ±ΡΠΎ!
ΠΠ»ΠΈ Π°ΠΊΠΎ ΠΏΡΠ΅ΡΠ΅ΠΌΠΎ Π½Π° ΠΏΡΠ°Π²ΡΠ΅ΡΠ΅ ΠΠΈΡΡ ΠΎΠ½ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅, ΠΎΠ½Π΄Π° ΡΠ²Π΅ Π½ΠΈΡΠ΅ ΡΠ°ΠΊΠΎ ΡΡΠΆΠΈΡΠ°ΡΡΠΎ.
ΠΠΈΡΡ ΠΎΠ½ ΡΠ»ΠΈΠΊΠ°
ΠΠΈΡΡ ΠΎΠ½ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΡΠ΅ΡΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ ΠΏΠ°Π½Π΄Π΅ ΠΈ ΠΌΠ°ΡΠΏΠ»ΠΎΡΠ»ΠΈΠ±. Π‘ΡΠΎΠ³Π°, ΡΠ΅Π΄Π½Π° ΠΎΠ΄ ΠΎΠΏΡΠΈΡΠ° ΡΠ΅ Π΄Π° ΡΠ·ΠΌΠ΅ΡΠ΅ Π·Π²Π°Π½ΠΈΡΠ½Ρ ΡΠ»ΠΈΠΊΡ Π·Π°ΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΠΠ΅Π±ΠΈΠ°Π½-Ρ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠΈ ΠΎΠ²Π°Ρ ΠΠΎΡΠΊΠ΅ΡΡΠΈΠ»Π΅:
FROM python:3.8-slim
RUN pip install --no-cache-dir matplotlib pandas
Π₯Π°ΡΠ΄Π΅ Π΄Π° Π³Π° ΠΏΡΠΈΠΊΡΠΏΠΈΠΌΠΎ:
$ docker build -f Dockerfile.slim -t python-matpan.
Sending build context to Docker daemon 3.072kB
Step 1/2 : FROM python:3.8-slim
---> 036ea1506a85
Step 2/2 : RUN pip install --no-cache-dir matplotlib pandas
---> Running in 13739b2a0917
Collecting matplotlib
Downloading matplotlib-3.1.2-cp38-cp38-manylinux1_x86_64.whl (13.1 MB)
Collecting pandas
Downloading pandas-0.25.3-cp38-cp38-manylinux1_x86_64.whl (10.4 MB)
...
Successfully built b98b5dc06690
Successfully tagged python-matpan:latest
real 0m30.297s
user 0m0.043s
sys 0m0.020s
ΠΠΎΠ±ΠΈΡΠ°ΠΌΠΎ ΡΠ»ΠΈΠΊΡ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ 363ΠΠ.
Π₯ΠΎΡΠ΅ΠΌΠΎ Π»ΠΈ Π±ΠΎΡΠ΅ ΡΠ° ΠΠ»ΠΏΠΈΠ½ΠΎΠΌ? Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΏΠΎΠΊΡΡΠ°ΠΌΠΎ:
FROM python:3.8-alpine
RUN pip install --no-cache-dir matplotlib pandas
$ docker build -t python-matpan-alpine -f Dockerfile.alpine .
Sending build context to Docker daemon 3.072kB
Step 1/2 : FROM python:3.8-alpine
---> a0ee0c90a0db
Step 2/2 : RUN pip install --no-cache-dir matplotlib pandas
---> Running in 6740adad3729
Collecting matplotlib
Downloading matplotlib-3.1.2.tar.gz (40.9 MB)
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/
tmp/pip-install-a3olrixa/matplotlib/setup.py'"'"'; __file__='"'"'/tmp/pip-install-a3olrixa/matplotlib/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-a3olrixa/matplotlib/pip-egg-info
...
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
The command '/bin/sh -c pip install matplotlib pandas' returned a non-zero code: 1
Π¨ΡΠ° ΡΠ΅ Π΄Π΅ΡΠ°Π²Π°?
ΠΠ»ΠΏΠΈΠ½Π΅ Π½Π΅ ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° ΡΠΎΡΠΊΠΎΠ²Π΅
ΠΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π°ΡΠ΅ Π±ΡΠΈΠ»Π΄, ΠΊΠΎΡΠΈ ΡΠ΅ Π·Π°ΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΠ΅Π±ΠΈΠ°Π½-Ρ, Π²ΠΈΠ΄Π΅ΡΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅ΡΠ·ΠΈΠΌΠ° ΠΌΠ°ΡΠΏΠ»ΠΎΡΠ»ΠΈΠ±-3.1.2-ΡΠΏ38-ΡΠΏ38-ΠΌΠ°Π½ΠΈΠ»ΠΈΠ½ΡΠΊ1_ΠΊ86_64.Π²Ρ Π».
ΠΠ²ΠΎ ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΡΠ°ΡΠ» Π·Π° ΡΠΎΡΠ°ΠΊ. ΠΠ»ΠΏΠΈΠ½Π΅ ΠΏΡΠ΅ΡΠ·ΠΈΠΌΠ° ΠΈΠ·Π²ΠΎΡΠ΅ `ΠΌΠ°ΡΠΏΠ»ΠΎΡΠ»ΠΈΠ±-3.1.2.ΡΠ°Ρ.gz` ΠΏΠΎΡΡΠΎ Π½Π΅ ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄
ΠΠ°ΡΡΠΎ? ΠΠ΅ΡΠΈΠ½Π° ΠΠΈΠ½ΡΠΊ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ ΠΠΠ£ Π²Π΅ΡΠ·ΠΈΡΡ (Π³Π»ΠΈΠ±Ρ) ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Π¦, ΡΡΠΎ ΡΠ΅ Ρ ΡΡΠ²Π°ΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ Π·Π° ΡΠ²Π°ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ Ρ Π¦-Ρ, ΡΠΊΡΡΡΡΡΡΡΠΈ ΠΠΈΡΡ ΠΎΠ½. ΠΠ»ΠΈ ΠΠ»ΠΏΠΈΠ½Π΅ ΠΊΠΎΡΠΈΡΡΠΈ `ΠΌΡΡΠ»`, Π° ΠΏΠΎΡΡΠΎ ΡΡ ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½Π΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½Π΅ Π·Π° `Π³Π»ΠΈΠ±Ρ`, ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ Π½ΠΈΡΡ ΠΎΠΏΡΠΈΡΠ°.
Π‘ΡΠΎΠ³Π°, Π°ΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΠ»ΠΏΠΈΠ½Π΅, ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠ΅ Π΄Π° ΠΏΡΠ΅Π²Π΅Π΄Π΅ΡΠ΅ ΡΠ°Π² ΠΊΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ Ρ Π¦-Ρ Ρ ΡΠ²Π°ΠΊΠΎΠΌ ΠΠΈΡΡ ΠΎΠ½ ΠΏΠ°ΠΊΠ΅ΡΡ.
ΠΡ
, Π΄Π°, ΠΌΠΎΡΠ°ΡΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΡΠ°ΠΆΠΈΡΠ΅ Π»ΠΈΡΡΡ ΡΠ²ΠΈΡ
ΡΠ°ΠΊΠ²ΠΈΡ
Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΡΠ΅ ΠΌΠΎΡΠ°ΡΠ΅ ΡΠ°ΠΌΠΈ Π΄Π° ΡΠ°ΡΡΠ°Π²ΠΈΡΠ΅.
Π£ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°ΡΡ Π΄ΠΎΠ±ΠΈΡΠ°ΠΌΠΎ ΠΎΠ²ΠΎ:
FROM python:3.8-alpine
RUN apk --update add gcc build-base freetype-dev libpng-dev openblas-dev
RUN pip install --no-cache-dir matplotlib pandas
Π Π²ΡΠ΅ΠΌΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΡΠ΅ ΡΡΠ°ΡΠ΅...
... 25 ΠΌΠΈΠ½ΡΡΠ° 57 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ! Π Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΡΠ»ΠΈΠΊΠ΅ ΡΠ΅ 851 ΠΠ.
Π‘Π»ΠΈΠΊΠ΅ Π·Π°ΡΠ½ΠΎΠ²Π°Π½Π΅ Π½Π° ΠΠ»ΠΏΠ°ΠΌΠ° ΡΠ΅ ΠΏΡΠ°Π²Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΠΆΠ΅, Π²Π΅ΡΠ΅ ΡΡ ΠΈ ΡΠΎΡ ΡΠ²Π΅ΠΊ ΠΌΠΎΡΠ°ΡΠ΅ Π΄Π° ΠΏΠΎΡΡΠ°ΠΆΠΈΡΠ΅ ΡΠ²Π΅ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΡΠ°Π²Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΌΠ°ΡΠΈΡΠΈ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΡΠΊΠ»ΠΎΠΏΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠΈ
Π’ΠΎ Π½ΠΈΡΠ΅ ΡΠ²Π΅!
ΠΠ»ΠΏΠΈΠ½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π°Π·ΠΎΠ²Π΅ Π½Π΅ΠΎΡΠ΅ΠΊΠΈΠ²Π°Π½Π΅ Π³ΡΠ΅ΡΠΊΠ΅ Ρ ΡΠΎΠΊΡ ΡΠ°Π΄Π°
- Π£ ΡΠ΅ΠΎΡΠΈΡΠΈ, ΠΌΡΡΠ» ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π°Π½ ΡΠ° Π³Π»ΠΈΠ±Ρ-ΠΎΠΌ, Π°Π»ΠΈ Ρ ΠΏΡΠ°ΠΊΡΠΈ ΡΠ°Π·Π»ΠΈΠΊΠ΅ ΠΌΠΎΠ³Ρ ΠΈΠ·Π°Π·Π²Π°ΡΠΈ ΠΌΠ½ΠΎΠ³Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅. Π Π°ΠΊΠΎ ΡΠ΅ΡΡ, Π²Π΅ΡΠΎΠ²Π°ΡΠ½ΠΎ ΡΠ΅ Π±ΠΈΡΠΈ Π½Π΅ΠΏΡΠΈΡΠ°ΡΠ½ΠΈ. ΠΠ²ΠΎ Π½Π΅ΠΊΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΠΎΡΠΈ ΡΠ΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΡΠ°Π²ΠΈΡΠΈ:
- ΠΠ»ΠΏΠΈΠ½Π΅ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π½ΠΎ ΠΈΠΌΠ° ΠΌΠ°ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° Π½ΠΈΡΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄ΠΎΠ²Π΅ΡΡΠΈ Π΄ΠΎ
Π³ΡΠ΅ΡΠΊΠ΅ Ρ ΠΠΈΡΡ ΠΎΠ½-Ρ - ΠΠ΅ΠΊΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΡΡ ΡΠΎ ΠΎΡΠΊΡΠΈΠ»ΠΈ
ΠΠΈΡΡ ΠΎΠ½ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΡΡ ΡΠΏΠΎΡΠΈΡΠ΅ Π·Π±ΠΎΠ³ Π½Π°ΡΠΈΠ½Π° Π½Π° ΠΊΠΎΡΠΈ ΠΌΡΡΠ» Π΄ΠΎΠ΄Π΅ΡΡΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΡ (ΡΠ°Π·Π»ΠΈΡΠΈΡΠΎ ΠΎΠ΄ Π³Π»ΠΈΠ±Ρ). - ΠΠ΅Π΄Π°Π½ ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ°
ΠΏΡΠΎΠ½Π°ΡΠ°ΠΎ Π³ΡΠ΅ΡΠΊΡ ΠΏΡΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΡΡ Π΄Π°ΡΡΠΌΠ°
Π‘ΠΈΠ³ΡΡΠ½ΠΎ ΡΡ ΠΎΠ²Π΅ Π³ΡΠ΅ΡΠΊΠ΅ Π²Π΅Ρ ΠΈΡΠΏΡΠ°Π²ΡΠ΅Π½Π΅, Π°Π»ΠΈ ΠΊΠΎ Π·Π½Π° ΠΊΠΎΠ»ΠΈΠΊΠΎ ΡΠ΅ ΠΈΡ ΡΠΎΡ Π±ΠΈΡΠΈ.
ΠΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΠ»ΠΏΠΈΠ½Π΅ ΡΠ»ΠΈΠΊΠ΅ Π·Π° ΠΠΈΡΡ ΠΎΠ½
ΠΠΊΠΎ Π½Π΅ ΠΆΠ΅Π»ΠΈΡΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΌΠ°ΡΠ°ΡΠ΅ Π²Π΅Π»ΠΈΠΊΠΈΠΌ ΠΈ Π΄ΡΠ³ΠΈΠΌ Π³ΡΠ°Π΄ΡΠ°ΠΌΠ°, ΡΡΠ°ΠΆΠ΅ΡΠΈ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΡΠ°Π»Π½Π΅ Π³ΡΠ΅ΡΠΊΠ΅, Π½Π΅ΠΌΠΎΡΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΠΠ»ΠΏΠΈΠ½Π΅ ΠΠΈΠ½ΡΠΊ ΠΊΠ°ΠΎ ΠΎΡΠ½ΠΎΠ²Π½Ρ ΡΠ»ΠΈΠΊΡ.
ΠΠ·Π²ΠΎΡ: Π²Π²Π².Ρ
Π°Π±Ρ.ΡΠΎΠΌ