แƒฐแƒแƒ‘แƒ แƒแƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ: แƒ แƒแƒ’แƒแƒ  แƒชแƒฎแƒแƒ•แƒ แƒแƒ‘แƒก แƒฐแƒแƒ‘แƒ แƒ˜ แƒ’แƒ”แƒ™แƒขแƒแƒ˜แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”

แƒฐแƒ”แƒ˜ แƒฐแƒแƒ‘แƒ .

แƒ”แƒก แƒกแƒขแƒแƒขแƒ˜แƒ แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ˜แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒแƒ แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ Habr แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜ 2018 แƒฌแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ“แƒ แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒฌแƒ”แƒšแƒ˜ แƒฏแƒ”แƒ  แƒแƒ  แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒ’แƒ”แƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒแƒ—, แƒ–แƒแƒคแƒฎแƒฃแƒšแƒจแƒ˜ แƒ˜แƒงแƒ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒฌแƒ”แƒกแƒ”แƒ‘แƒจแƒ˜, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ’แƒแƒฎแƒ“แƒ, แƒ˜แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ แƒ—แƒฃ แƒแƒ แƒ แƒแƒ›แƒแƒœ แƒ แƒแƒ›แƒ”แƒ–แƒ”.

แƒฐแƒแƒ‘แƒ แƒแƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ: แƒ แƒแƒ’แƒแƒ  แƒชแƒฎแƒแƒ•แƒ แƒแƒ‘แƒก แƒฐแƒแƒ‘แƒ แƒ˜ แƒ’แƒ”แƒ™แƒขแƒแƒ˜แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”

แƒ’แƒแƒ แƒ“แƒ แƒ แƒ”แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ˜แƒกแƒ, แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ˜, แƒแƒกแƒ”แƒ•แƒ” แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒฌแƒงแƒแƒ แƒแƒก แƒ™แƒแƒ“แƒ˜ แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก, แƒ•แƒ˜แƒกแƒแƒช แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒก แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก.

แƒ•แƒ˜แƒกแƒแƒช แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒก แƒ แƒ แƒ›แƒแƒฎแƒ“แƒ, แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ แƒญแƒ แƒ˜แƒก แƒฅแƒ•แƒ”แƒจแƒแƒ. แƒ›แƒแƒ—, แƒ•แƒ˜แƒกแƒแƒช แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒก แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒกแƒ”แƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒฃแƒคแƒ แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒ˜ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜, แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒœแƒแƒฎแƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜.

Raw แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜

แƒ”แƒก แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ˜ แƒแƒ แƒแƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜แƒ แƒ“แƒ แƒ›แƒ” แƒแƒ  แƒ›แƒแƒฅแƒ•แƒก แƒ แƒแƒ˜แƒ›แƒ” แƒ˜แƒœแƒกแƒแƒ˜แƒ“แƒ”แƒ แƒฃแƒšแƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ. แƒ แƒแƒ’แƒแƒ แƒช แƒแƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒ–แƒแƒšแƒ˜แƒก แƒ“แƒแƒ—แƒ•แƒแƒšแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ—, Habrรฉ-แƒ–แƒ” แƒงแƒ•แƒ”แƒšแƒ แƒกแƒขแƒแƒขแƒ˜แƒแƒก แƒแƒฅแƒ•แƒก แƒฃแƒฌแƒงแƒ•แƒ”แƒขแƒ˜ แƒœแƒฃแƒ›แƒ”แƒ แƒแƒชแƒ˜แƒ. แƒ›แƒ”แƒ แƒ” แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒก แƒกแƒแƒฅแƒ›แƒ”แƒ, แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒงแƒ•แƒ”แƒšแƒ แƒกแƒขแƒแƒขแƒ˜แƒแƒก แƒ•แƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒแƒ‘แƒ— แƒ–แƒ”แƒ“แƒ˜แƒ–แƒ”แƒ“ แƒชแƒ˜แƒ™แƒšแƒฃแƒ แƒแƒ“ (แƒ”แƒ แƒ— แƒ—แƒ”แƒ›แƒแƒจแƒ˜ แƒ“แƒ แƒžแƒแƒฃแƒ–แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ› แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒแƒ  แƒฉแƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒก). แƒ—แƒแƒ•แƒแƒ“ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Python-แƒจแƒ˜ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒžแƒแƒ แƒกแƒ”แƒ แƒ˜แƒ— (แƒฌแƒงแƒแƒ แƒแƒ”แƒ‘แƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒแƒฅ) แƒ“แƒ แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— csv แƒคแƒแƒ˜แƒšแƒจแƒ˜ แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— แƒแƒกแƒ”:

2019-08-11T22:36Z,https://habr.com/ru/post/463197/,"Blazor + MVVM = Silverlight ะฝะฐะฝะพัะธั‚ ะพั‚ะฒะตั‚ะฝั‹ะน ัƒะดะฐั€, ะฟะพั‚ะพะผัƒ ั‡ั‚ะพ ะดั€ะตะฒะฝะตะต ะทะปะพ ะฝะตะฟะพะฑะตะดะธะผะพ",votes:11,votesplus:17,votesmin:6,bookmarks:40,views:5300,comments:73
2019-08-11T05:26Z,https://habr.com/ru/news/t/463199/,"ะ’ NASA ะธัะฟั‹ั‚ะฐะปะธ ัะธัั‚ะตะผัƒ ะฐะฒั‚ะพะฝะพะผะฝะพะณะพ ัƒะฟั€ะฐะฒะปะตะฝะธั ะพะดะฝะพะณะพ ะผะธะบั€ะพัะฟัƒั‚ะฝะธะบะฐ ะดั€ัƒะณะธะผ",votes:15,votesplus:15,votesmin:0,bookmarks:2,views:1700,comments:7

แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ

แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— Python, Pandas แƒ“แƒ Matplotlib. แƒ•แƒ˜แƒกแƒแƒช แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ แƒแƒ  แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒก, แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒแƒก แƒ”แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒก แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ–แƒ”.

แƒฏแƒ”แƒ  แƒฃแƒœแƒ“แƒ แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒ“แƒ แƒแƒ˜แƒ แƒฉแƒ˜แƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ แƒฌแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

import pandas as pd
import datetime
import matplotlib.dates as mdates
from matplotlib.ticker import FormatStrFormatter
from pandas.plotting import register_matplotlib_converters


df = pd.read_csv("habr.csv", sep=',', encoding='utf-8', error_bad_lines=True, quotechar='"', comment='#')
dates = pd.to_datetime(df['datetime'], format='%Y-%m-%dT%H:%MZ')
df['datetime'] = dates
year = 2019
df = df[(df['datetime'] >= pd.Timestamp(datetime.date(year, 1, 1))) & (df['datetime'] < pd.Timestamp(datetime.date(year+1, 1, 1)))]

print(df.shape)

แƒ˜แƒ แƒ™แƒ•แƒ”แƒ•แƒ, แƒ แƒแƒ› แƒฌแƒ”แƒšแƒก (แƒ—แƒฃแƒ›แƒชแƒ แƒฏแƒ”แƒ  แƒแƒ  แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ) แƒฌแƒ”แƒ แƒ˜แƒก แƒ›แƒแƒ›แƒ”แƒœแƒขแƒจแƒ˜ 12715 แƒกแƒขแƒแƒขแƒ˜แƒแƒ แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜. แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒ—แƒ”แƒšแƒ˜ 2018 แƒฌแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก - 15904. แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒ‘แƒ”แƒ•แƒ แƒ˜ - แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 43 แƒกแƒขแƒแƒขแƒ˜แƒ แƒ“แƒฆแƒ”แƒจแƒ˜ (แƒ“แƒ แƒ”แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒแƒ“แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ˜แƒ—; แƒกแƒฃแƒš แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒแƒ แƒ’แƒแƒ“แƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒแƒ แƒงแƒแƒคแƒ˜แƒ—แƒ˜ แƒ˜แƒงแƒ แƒแƒœ แƒฌแƒแƒ˜แƒจแƒแƒšแƒ, แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒชแƒœแƒแƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒœ แƒฃแƒฎแƒ”แƒจแƒแƒ“ แƒจแƒ”แƒแƒคแƒแƒกแƒ”แƒ— แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒแƒ แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฎแƒแƒ แƒ•แƒ”แƒ–แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ).

แƒ›แƒแƒ“แƒ˜แƒ— แƒแƒ•แƒ˜แƒ แƒฉแƒ˜แƒแƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ. แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒœแƒแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก, แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก, แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก แƒ“แƒ แƒกแƒแƒœแƒ˜แƒจแƒœแƒ”แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก.

def to_float(s):
    # "bookmarks:22" => 22.0
    num = ''.join(i for i in s if i.isdigit())
    return float(num)

def to_int(s):
    # "bookmarks:22" => 22
    num = ''.join(i for i in s if i.isdigit())
    return int(num)

def to_date(dt):
    return dt.date() 

date = dates.map(to_date, na_action=None)
views = df["views"].map(to_int, na_action=None)
bookmarks = df["bookmarks"].map(to_int, na_action=None)
votes = df["votes"].map(to_float, na_action=None)
votes_up = df["up"].map(to_float, na_action=None)
votes_down = df["down"].map(to_float, na_action=None)
comments = df["comments"].map(to_int, na_action=None)

df['date'] = date
df['views'] = views
df['votes'] = votes
df['bookmarks'] = bookmarks
df['up'] = votes_up
df['down'] = votes_down

แƒแƒฎแƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒก แƒ“แƒ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ. แƒ“แƒแƒ•แƒแƒฏแƒ’แƒฃแƒคแƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ“แƒฆแƒ”แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ“แƒ แƒแƒ•แƒ˜แƒฆแƒแƒ— แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜.

g = df.groupby(['date'])
days_count = g.size().reset_index(name='counts')
year_days = days_count['date'].values
grouped = g.median().reset_index()
grouped['counts'] = days_count['counts']
counts_per_day = grouped['counts'].values
counts_per_day_avg = grouped['counts'].rolling(window=20).mean()
view_per_day = grouped['views'].values
view_per_day_avg = grouped['views'].rolling(window=20).mean()
votes_per_day = grouped['votes'].values
votes_per_day_avg = grouped['votes'].rolling(window=20).mean()
bookmarks_per_day = grouped['bookmarks'].values
bookmarks_per_day_avg = grouped['bookmarks'].rolling(window=20).mean()

แƒแƒฎแƒšแƒ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ˜แƒกแƒแƒ, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ”แƒ‘แƒก.

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒžแƒฃแƒ‘แƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก Habrรฉ-แƒ–แƒ” 2019 แƒฌแƒ”แƒšแƒก.

import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = (16, 8)
fig, ax = plt.subplots()

plt.bar(year_days, counts_per_day, label='Articles/day')
plt.plot(year_days, counts_per_day_avg, 'g-', label='Articles avg/day')
plt.xticks(rotation=45)
ax.xaxis.set_major_formatter(mdates.DateFormatter("%d-%m-%Y"))  
ax.xaxis.set_major_locator(mdates.MonthLocator(interval=1))
plt.legend(loc='best')
plt.tight_layout()
plt.show()

แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒแƒ. แƒ แƒแƒ’แƒแƒ แƒช แƒฎแƒ”แƒ“แƒแƒ•แƒ—, Habr แƒ˜แƒงแƒ แƒžแƒแƒขแƒแƒ แƒ "แƒซแƒ”แƒฎแƒ•แƒ˜" แƒ›แƒ—แƒ”แƒšแƒ˜ แƒฌแƒšแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜. แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜ แƒแƒ  แƒ•แƒ˜แƒชแƒ˜.

แƒฐแƒแƒ‘แƒ แƒแƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ: แƒ แƒแƒ’แƒแƒ  แƒชแƒฎแƒแƒ•แƒ แƒแƒ‘แƒก แƒฐแƒแƒ‘แƒ แƒ˜ แƒ’แƒ”แƒ™แƒขแƒแƒ˜แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”

แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, 2018 แƒฌแƒ”แƒšแƒ˜ แƒชแƒแƒขแƒ แƒฃแƒคแƒ แƒ แƒ แƒ‘แƒ˜แƒšแƒ˜ แƒฉแƒแƒœแƒก:

แƒฐแƒแƒ‘แƒ แƒแƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ: แƒ แƒแƒ’แƒแƒ  แƒชแƒฎแƒแƒ•แƒ แƒแƒ‘แƒก แƒฐแƒแƒ‘แƒ แƒ˜ แƒ’แƒ”แƒ™แƒขแƒแƒ˜แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”

แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ–แƒ” 2019 แƒฌแƒ”แƒšแƒก แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒ™แƒ•แƒ”แƒ—แƒ แƒ˜ แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒ แƒแƒ  แƒ›แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก. แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜แƒช, แƒžแƒ˜แƒ แƒ˜แƒฅแƒ˜แƒ—, แƒ–แƒแƒคแƒฎแƒฃแƒšแƒ˜แƒ“แƒแƒœ แƒ—แƒ˜แƒ—แƒฅแƒแƒก แƒแƒ“แƒœแƒแƒ• แƒ’แƒแƒ˜แƒ–แƒแƒ แƒ“แƒ แƒ™แƒ˜แƒ“แƒ”แƒช.

แƒ›แƒแƒ’แƒ แƒแƒ› แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒแƒ แƒ˜ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜ แƒชแƒแƒขแƒ แƒฃแƒคแƒ แƒ แƒ›แƒแƒฌแƒฃแƒฎแƒ”แƒ‘แƒก.

แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒœแƒแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ:

แƒฐแƒแƒ‘แƒ แƒแƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ: แƒ แƒแƒ’แƒแƒ  แƒชแƒฎแƒแƒ•แƒ แƒแƒ‘แƒก แƒฐแƒแƒ‘แƒ แƒ˜ แƒ’แƒ”แƒ™แƒขแƒแƒ˜แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”

แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒจแƒ”แƒคแƒแƒกแƒ”แƒ‘แƒ:

แƒฐแƒแƒ‘แƒ แƒแƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ: แƒ แƒแƒ’แƒแƒ  แƒชแƒฎแƒแƒ•แƒ แƒแƒ‘แƒก แƒฐแƒแƒ‘แƒ แƒ˜ แƒ’แƒ”แƒ™แƒขแƒแƒ˜แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”

แƒ แƒแƒ’แƒแƒ แƒช แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒœแƒแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒแƒ“แƒœแƒแƒ• แƒ›แƒชแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒฌแƒšแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜. แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒ˜แƒฎแƒกแƒœแƒแƒก แƒ˜แƒ›แƒ˜แƒ—, แƒ แƒแƒ› แƒแƒฎแƒแƒšแƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜ แƒฏแƒ”แƒ  แƒแƒ  แƒแƒ แƒ˜แƒก แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒแƒซแƒ˜แƒ”แƒ‘แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒแƒ แƒช แƒ˜แƒกแƒ” แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ’แƒ•แƒฎแƒ•แƒ“แƒ”แƒ‘แƒ. แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ˜แƒก แƒ™แƒšแƒ”แƒ‘แƒ แƒฃแƒคแƒ แƒ แƒ’แƒแƒฃแƒ’แƒ”แƒ‘แƒแƒ แƒ˜แƒ. แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒจแƒ”แƒ’แƒ แƒซแƒœแƒ”แƒ‘แƒแƒ, แƒ แƒแƒ› แƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒก แƒแƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒแƒ  แƒแƒฅแƒ•แƒก แƒ“แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒ’แƒแƒ“แƒแƒฎแƒ”แƒ“แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒแƒœ แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒแƒก แƒแƒ  แƒแƒฅแƒชแƒ”แƒ•แƒก แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ”แƒ‘แƒก. แƒแƒ•แƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒฏแƒ˜แƒšแƒ“แƒแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—, แƒ”แƒก แƒขแƒ”แƒœแƒ“แƒ”แƒœแƒชแƒ˜แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒฃแƒกแƒ˜แƒแƒ›แƒแƒ•แƒœแƒแƒ.

แƒกแƒฎแƒ•แƒแƒ—แƒ แƒจแƒแƒ แƒ˜แƒก, แƒ”แƒก 2018 แƒฌแƒ”แƒšแƒก แƒแƒ  แƒ›แƒแƒ›แƒฎแƒ“แƒแƒ แƒ แƒ“แƒ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜ แƒ›แƒ”แƒข-แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒ—แƒแƒœแƒแƒ‘แƒแƒ แƒ˜แƒ.

แƒฐแƒแƒ‘แƒ แƒแƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ: แƒ แƒแƒ’แƒแƒ  แƒชแƒฎแƒแƒ•แƒ แƒแƒ‘แƒก แƒฐแƒแƒ‘แƒ แƒ˜ แƒ’แƒ”แƒ™แƒขแƒแƒ˜แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”

แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒคแƒšแƒแƒ‘แƒ”แƒšแƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒแƒคแƒ˜แƒฅแƒ แƒแƒšแƒ˜.

แƒแƒฆแƒแƒœแƒ“ แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒ แƒ แƒแƒ›แƒ”แƒ”แƒ‘แƒ–แƒ” แƒœแƒฃ แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ‘แƒ—. แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒ—แƒฅแƒ•แƒแƒก, แƒ แƒแƒ› แƒฐแƒแƒ‘แƒ แƒ›แƒ แƒ–แƒแƒคแƒฎแƒฃแƒšแƒ˜แƒก แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒก แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— โ€žแƒ’แƒแƒ“แƒแƒฃแƒ แƒฉแƒโ€œ แƒ“แƒ แƒกแƒแƒ˜แƒขแƒ–แƒ” แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒแƒ  แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ.

แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ˜

แƒแƒฎแƒšแƒ, แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“, แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ˜. แƒ•แƒฃแƒšแƒแƒชแƒแƒ• แƒ›แƒแƒ—, แƒ•แƒ˜แƒœแƒช แƒ›แƒแƒกแƒจแƒ˜ แƒ›แƒแƒฎแƒ•แƒ“แƒ. แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒจแƒ”แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ—, แƒ แƒแƒ› แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ˜ แƒแƒ แƒแƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜แƒ, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ แƒแƒฆแƒแƒช แƒ’แƒแƒ›แƒแƒ›แƒ แƒฉแƒ แƒ“แƒ แƒ—แƒฃ แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒขแƒแƒขแƒ˜แƒ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒแƒฅ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒกแƒ” แƒแƒ  แƒแƒ แƒ˜แƒก, แƒ“แƒแƒฌแƒ”แƒ แƒ”แƒ—, แƒฎแƒ”แƒšแƒ˜แƒ— แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒ”แƒ‘. แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒแƒ“ แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒš แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒแƒก แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘, แƒ แƒแƒช แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ’แƒแƒ›แƒแƒ“แƒ’แƒ.

แƒขแƒแƒž แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜ แƒœแƒแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—

แƒขแƒแƒž แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜ แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ˜แƒกแƒ แƒ“แƒ แƒœแƒแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒแƒคแƒแƒ แƒ“แƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—

แƒขแƒแƒž แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒœแƒแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒแƒคแƒแƒ แƒ“แƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—

แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒกแƒแƒ™แƒแƒ›แƒแƒ—แƒ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜

แƒขแƒแƒž แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜ แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—

แƒขแƒแƒž แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜ แƒกแƒแƒœแƒ˜แƒจแƒœแƒ”แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—

แƒ–แƒ”แƒ•แƒ˜แƒ— แƒกแƒแƒœแƒ˜แƒจแƒœแƒ”แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒแƒคแƒแƒ แƒ“แƒแƒ‘แƒ˜แƒ—

แƒขแƒแƒž แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—

แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒ‘แƒแƒšแƒ แƒแƒœแƒขแƒ˜แƒขแƒแƒžแƒ˜ แƒ›แƒแƒฌแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—

แƒฃแƒฐ. แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒแƒ แƒฉแƒ”แƒ•แƒแƒœแƒ˜ แƒ›แƒแƒฅแƒ•แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒก แƒแƒ  แƒ›แƒแƒ•แƒ‘แƒ”แƒ–แƒ แƒ“แƒ”แƒ‘แƒ˜.

แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ

แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ˜แƒก แƒแƒ’แƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ•แƒแƒฅแƒชแƒ˜แƒ” แƒแƒ  แƒžแƒฃแƒœแƒฅแƒขแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒฉแƒแƒœแƒ“แƒ.

แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒขแƒแƒžแƒ”แƒ‘แƒ˜แƒก 60% แƒแƒ แƒ˜แƒก "geektimes" แƒŸแƒแƒœแƒ แƒ˜แƒก แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜. แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ—แƒฃ แƒแƒ แƒ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒฌแƒ”แƒšแƒก แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ แƒแƒ’แƒแƒ แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒฐแƒแƒ‘แƒ แƒ˜ แƒšแƒฃแƒ“แƒ˜แƒก, แƒ™แƒแƒกแƒ›แƒแƒกแƒ˜แƒก, แƒ›แƒ”แƒ“แƒ˜แƒ™แƒแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ.แƒจ. แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒแƒ  แƒ•แƒ˜แƒชแƒ˜. แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒ˜ แƒ แƒแƒฆแƒแƒชแƒแƒก แƒ“แƒแƒ™แƒแƒ แƒ’แƒแƒ•แƒก. แฒ›แƒแƒ“แƒ˜ แƒ•แƒœแƒแƒฎแƒแƒ—.

แƒ›แƒ”แƒแƒ แƒ”แƒช, แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒกแƒแƒœแƒ˜แƒจแƒœแƒ”แƒ”แƒ‘แƒ˜ แƒ›แƒแƒฃแƒšแƒแƒ“แƒœแƒ”แƒšแƒแƒ“ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ˜แƒก แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ. แƒ”แƒก แƒคแƒกแƒ˜แƒฅแƒแƒšแƒแƒ’แƒ˜แƒฃแƒ แƒแƒ“ แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒ˜แƒ, แƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒ›แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒแƒ  แƒ›แƒ˜แƒแƒฅแƒชแƒ˜แƒแƒก แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒฃ แƒกแƒขแƒแƒขแƒ˜แƒแƒก แƒกแƒแƒญแƒ˜แƒ แƒแƒ, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ˜แƒก แƒ“แƒแƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒกแƒแƒœแƒ˜แƒจแƒœแƒ”แƒ”แƒ‘แƒก. แƒ“แƒ แƒแƒฅ แƒแƒ แƒ˜แƒก แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒ“แƒ แƒกแƒ”แƒ แƒ˜แƒแƒ–แƒฃแƒšแƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒฃแƒ“แƒ˜แƒ“แƒ”แƒกแƒ˜ แƒ™แƒแƒœแƒชแƒ”แƒœแƒขแƒ แƒแƒชแƒ˜แƒ. แƒ›แƒ” แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘, แƒ แƒแƒ› แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒ›แƒคแƒšแƒแƒ‘แƒ”แƒšแƒ”แƒ‘แƒ›แƒ แƒ แƒแƒ’แƒแƒ แƒ›แƒ” แƒฃแƒœแƒ“แƒ แƒ˜แƒคแƒ˜แƒฅแƒ แƒแƒœ แƒกแƒแƒœแƒ˜แƒจแƒœแƒ”แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒกแƒ แƒ“แƒ แƒฏแƒ˜แƒšแƒ“แƒแƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒแƒก แƒจแƒแƒ แƒ˜แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ–แƒ”, แƒ—แƒฃ แƒ›แƒแƒ— แƒกแƒฃแƒ แƒ— แƒ’แƒแƒ–แƒแƒ แƒ“แƒแƒœ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ”แƒก แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ™แƒแƒขแƒ”แƒ’แƒแƒ แƒ˜แƒ แƒแƒฅ, Habrรฉ-แƒ–แƒ”.

แฒ แƒแƒฆแƒแƒช แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜. แƒ˜แƒ›แƒ”แƒ“แƒ˜ แƒ›แƒแƒฅแƒ•แƒก, แƒ แƒแƒ› แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ.

แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ แƒ’แƒ แƒซแƒ”แƒšแƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒ™แƒแƒ แƒ’แƒ˜, แƒแƒšแƒ‘แƒแƒ— แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒแƒ‘แƒ˜แƒกแƒ™แƒ”แƒœ. แƒ’แƒ˜แƒšแƒแƒชแƒแƒ•แƒ— แƒงแƒ•แƒ”แƒšแƒแƒก แƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒก.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ