เจนเฉˆเจฌเจฐเจพเจธเจŸเฉˆเจŸเจฟเจ•เจธ: เจนเฉˆเจฌเจฐ เจ—เฉ€เจ•เจŸเจพเจˆเจฎ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ

เจนเฉ‡ เจนเจฌเจฐ.

เจ‡เจน เจฒเฉ‡เจ– เจฐเฉ‡เจŸเจฟเฉฐเจ— เจฆเจพ เจ‡เฉฑเจ• เจคเจฐเจ•เจชเฉ‚เจฐเจจ เจจเจฟเจฐเฉฐเจคเจฐเจคเจพ เจนเฉˆ 2018 เจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจนเฉˆเจฌเจฐ เจฒเฉ‡เจ–. เจ…เจคเฉ‡ เจนเจพเจฒเจพเจ‚เจ•เจฟ เจธเจพเจฒ เจ…เจœเฉ‡ เจ–เจคเจฎ เจจเจนเฉ€เจ‚ เจนเฉ‹เจ‡เจ† เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹, เจ—เจฐเจฎเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจจเจฟเจฏเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจพเจ… เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจ, เจ‡เจธเจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจ‡เจน เจฆเฉ‡เจ–เจฃเจพ เจฆเจฟเจฒเจšเจธเจช เจนเฉ‹ เจ—เจฟเจ† เจ•เจฟ เจ•เฉ€ เจ‡เจธ เจจเจพเจฒ เจ•เฉเจ เจตเฉ€ เจชเฉเจฐเจญเจพเจตเจฟเจค เจนเฉ‹เจ‡เจ† เจนเฉˆ.

เจนเฉˆเจฌเจฐเจพเจธเจŸเฉˆเจŸเจฟเจ•เจธ: เจนเฉˆเจฌเจฐ เจ—เฉ€เจ•เจŸเจพเจˆเจฎ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ

เจ…เจธเจฒ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเฉ€ เจฐเฉ‡เจŸเจฟเฉฐเจ— เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€, เจจเจพเจฒ เจนเฉ€ เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจ•เฉเจ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจœเฉ‹ เจ‡เจธ เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจจ เจ•เจฟ เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจœเฉ‹ เจ‡เจธ เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจจ เจ•เจฟ เจ•เฉ€ เจนเฉ‹เจ‡เจ†, เจจเจฟเจฐเฉฐเจคเจฐเจคเจพ เจ•เฉฑเจŸ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจนเฉˆ. เจœเจฟเจนเฉœเฉ‡ เจฒเฉ‹เจ• เจธเจพเจˆเจŸ เจฆเฉ‡ เจญเจพเจ—เจพเจ‚ เจฆเฉ‡ เจตเจงเฉ‡เจฐเฉ‡ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจจ เจ‰เจน เจตเฉ€ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเจจ เจ…เจ—เจฒเจพ เจญเจพเจ—.

เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจกเฉ‡เจŸเจพ

เจ‡เจน เจฐเฉ‡เจŸเจฟเฉฐเจ— เจ…เจฃเจ…เจงเจฟเจ•เจพเจฐเจค เจนเฉˆ, เจ…เจคเฉ‡ เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‹เจฒ เจ•เฉ‹เจˆ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจฌเฉเจฐเจพเจŠเจœเจผเจฐ เจฆเฉ€ เจเจกเจฐเฉˆเฉฑเจธ เจฌเจพเจฐ เจจเฉ‚เฉฐ เจฆเฉ‡เจ– เจ•เฉ‡ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจนเฉˆเจฌเจฐเฉ‡ 'เจคเฉ‡ เจธเจพเจฐเฉ‡ เจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจฒเจ—เจพเจคเจพเจฐ เจจเฉฐเจฌเจฐเจฟเฉฐเจ— เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจซเจฟเจฐ เจ‡เจน เจคเจ•เจจเฉ€เจ• เจฆเฉ€ เจ—เฉฑเจฒ เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจธเจพเจฐเฉ‡ เจฒเฉ‡เจ–เจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจšเฉฑเจ•เจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจชเฉœเฉเจนเจฆเฉ‡ เจนเจพเจ‚ (เจ‡เฉฑเจ• เจฅเจฐเจฟเฉฑเจก เจตเจฟเฉฑเจš เจ…เจคเฉ‡ เจตเจฟเจฐเจพเจฎ เจฆเฉ‡ เจจเจพเจฒ, เจคเจพเจ‚ เจœเฉ‹ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจฒเฉ‹เจก เจจเจพ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เฉ‡)เฅค เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจชเจพเจˆเจฅเจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจชเจพเจฐเจธเจฐ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ (เจธเจฐเฉ‹เจค เจ‰เจชเจฒเจฌเจง เจนเจจ เจ‡เฉฑเจฅเฉ‡) เจ…เจคเฉ‡ เจ‡เฉฑเจ• 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()

เจนเฉเจฃ เจฆเจฟเจฒเจšเจธเจช เจ—เฉฑเจฒ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ—เฉเจฐเจพเจซเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค

เจ†เจ‰ 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()

เจจเจคเฉ€เจœเจพ เจฆเจฟเจฒเจšเจธเจช เจนเฉˆ. เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจตเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจนเจฌเจฐ เจธเจพเจฒ เจญเจฐ เจตเจฟเฉฑเจš เจฅเฉ‹เฉœเจพ เจœเจฟเจนเจพ "เจฒเฉฐเจ—เฉ€" เจฐเจฟเจนเจพ เจนเฉˆ. เจฎเฉˆเจจเฉ‚เฉฐ เจ•เจพเจฐเจจ เจจเจนเฉ€เจ‚ เจชเจคเจพเฅค

เจนเฉˆเจฌเจฐเจพเจธเจŸเฉˆเจŸเจฟเจ•เจธ: เจนเฉˆเจฌเจฐ เจ—เฉ€เจ•เจŸเจพเจˆเจฎ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ

เจคเฉเจฒเจจเจพ เจฒเจˆ, 2018 เจฅเฉ‹เฉœเจพ เจจเจฟเจฐเจตเจฟเจ˜เจจ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ:

เจนเฉˆเจฌเจฐเจพเจธเจŸเฉˆเจŸเจฟเจ•เจธ: เจนเฉˆเจฌเจฐ เจ—เฉ€เจ•เจŸเจพเจˆเจฎ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ

เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจฎเฉˆเจ‚ เจ—เฉเจฐเจพเจซ 'เจคเฉ‡ 2019 เจตเจฟเฉฑเจš เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจญเจพเจฐเฉ€ เจ•เจฎเฉ€ เจจเจนเฉ€เจ‚ เจตเฉ‡เจ–เฉ€เฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‡เจธ เจฆเฉ‡ เจ‰เจฒเจŸ, เจ—เจฐเจฎเฉ€ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‡เจน เจฅเฉ‹เฉœเฉเจนเจพ เจœเจฟเจนเจพ เจตเจงเจฟเจ† เจœเจพเจชเจฆเจพ เจนเฉˆ.

เจชเจฐ เจ…เจ—เจฒเฉ‡ เจฆเฉ‹ เจ—เฉเจฐเจพเจซเจผ เจฎเฉˆเจจเฉ‚เฉฐ เจฅเฉ‹เฉœเจพ เจนเฉ‹เจฐ เจ‰เจฆเจพเจธ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจชเฉเจฐเจคเฉ€ เจฒเฉ‡เจ– เจฆเฉ‡เจ–เฉ‡ เจœเจพเจฃ เจฆเฉ€ เจ”เจธเจค เจธเฉฐเจ–เจฟเจ†:

เจนเฉˆเจฌเจฐเจพเจธเจŸเฉˆเจŸเจฟเจ•เจธ: เจนเฉˆเจฌเจฐ เจ—เฉ€เจ•เจŸเจพเจˆเจฎ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ

เจชเฉเจฐเจคเฉ€ เจฒเฉ‡เจ– เจ”เจธเจค เจฐเฉ‡เจŸเจฟเฉฐเจ—:

เจนเฉˆเจฌเจฐเจพเจธเจŸเฉˆเจŸเจฟเจ•เจธ: เจนเฉˆเจฌเจฐ เจ—เฉ€เจ•เจŸเจพเจˆเจฎ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจชเฉ‚เจฐเฉ‡ เจธเจพเจฒ เจฆเฉŒเจฐเจพเจจ เจฆเฉเจฐเจฟเจธเจผเจพเจ‚ เจฆเฉ€ เจ”เจธเจค เจ—เจฟเจฃเจคเฉ€ เจฅเฉ‹เฉœเฉเจนเฉ€ เจ˜เฉฑเจŸ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ‡เจน เจ‡เจธ เจคเฉฑเจฅ เจฆเฉเจ†เจฐเจพ เจธเจฎเจเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจจเจตเฉ‡เจ‚ เจฒเฉ‡เจ–เจพเจ‚ เจจเฉ‚เฉฐ เจ…เจœเฉ‡ เจคเฉฑเจ• เจ–เฉ‹เจœ เจ‡เฉฐเจœเจฃเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจธเฉ‚เจšเฉ€เจฌเฉฑเจง เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ…เจคเฉ‡ เจ‰เจน เจ…เจ•เจธเจฐ เจจเจนเฉ€เจ‚ เจฒเฉฑเจญเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ. เจชเจฐ เจชเฉเจฐเจคเฉ€ เจฒเฉ‡เจ– เจ”เจธเจค เจฆเจฐเจœเจพเจฌเฉฐเจฆเฉ€ เจตเจฟเฉฑเจš เจ—เจฟเจฐเจพเจตเจŸ เจตเจงเฉ‡เจฐเฉ‡ เจธเจฎเจ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจนเฉˆเฅค เจญเจพเจตเจจเจพ เจ‡เจน เจนเฉˆ เจ•เจฟ เจชเจพเจ เจ•เจพเจ‚ เจ•เฉ‹เจฒ เจœเจพเจ‚ เจคเจพเจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฒเฉ‡เจ–เจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฃ เจฒเจˆ เจธเจฎเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจœเจพเจ‚ เจฐเฉ‡เจŸเจฟเฉฐเจ—เจพเจ‚ เจตเฉฑเจฒ เจงเจฟเจ†เจจ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเฉ‡. เจฒเฉ‡เจ–เจ• เจ‡เจจเจพเจฎ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ‡ เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚, เจ‡เจน เจฐเฉเจเจพเจจ เจฌเจนเฉเจค เจ•เฉ‹เจเจพ เจนเฉˆเฅค

เจตเฉˆเจธเฉ‡, เจ‡เจน 2018 เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจนเฉ‹เจ‡เจ† เจธเฉ€, เจ…เจคเฉ‡ เจธเจฎเจพเจ‚-เจธเจพเจฐเจฃเฉ€ เจ˜เฉฑเจŸ เจœเจพเจ‚ เจ˜เฉฑเจŸ เจตเฉ€ เจนเฉˆ.

เจนเฉˆเจฌเจฐเจพเจธเจŸเฉˆเจŸเจฟเจ•เจธ: เจนเฉˆเจฌเจฐ เจ—เฉ€เจ•เจŸเจพเจˆเจฎ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ

เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจธเจฐเฉ‹เจค เจฎเจพเจฒเจ•เจพเจ‚ เจ•เฉ‹เจฒ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจšเจฃ เจฒเจˆ เจ•เฉเจ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจชเจฐ เจ†เจ“ เจ‰เจฆเจพเจธ เจšเฉ€เจœเจผเจพเจ‚ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจจเจพ เจ•เจฐเฉ€เจ. เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ…เจธเฉ€เจ‚ เจ•เจนเจฟ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจนเฉˆเจฌเจฐ "เจฌเจš เจ—เจฟเจ†" เจ—เจฐเจฎเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจ•เจพเจซเจผเฉ€ เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจนเฉ‹เจˆเจ†เจ‚, เจ…เจคเฉ‡ เจธเจพเจˆเจŸ 'เจคเฉ‡ เจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจจเจนเฉ€เจ‚ เจ˜เจŸเฉ€.

เจฐเฉ‡เจŸเจฟเฉฐเจ—

เจนเฉเจฃ, เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจฐเฉ‡เจŸเจฟเฉฐเจ—. เจ‡เจธ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจนเฉ‹เจฃ เจตเจพเจฒเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจตเจงเจพเจˆเฅค เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจพเจฐ เจซเจฟเจฐ เจฏเจพเจฆ เจฆเจฟเจตเจพเจ‰เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจฐเฉ‡เจŸเจฟเฉฐเจ— เจ—เฉˆเจฐ-เจ…เจงเจฟเจ•เจพเจฐเจค เจนเฉˆ, เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจฎเฉˆเจ‚ เจ•เฉเจ เจ–เฉเฉฐเจ เจ—เจฟเจ† เจนเฉ‹เจตเฉ‡, เจ…เจคเฉ‡ เจœเฉ‡ เจ•เฉ‹เจˆ เจฒเฉ‡เจ– เจจเจฟเจธเจผเจšเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจชเจฐ เจ…เจœเจฟเจนเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจฒเจฟเจ–เฉ‹, เจฎเฉˆเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจธเจผเจพเจฎเจฒ เจ•เจฐเจพเจ‚เจ—เจพเฅค เจ‡เฉฑเจ• เจฐเฉ‡เจŸเจฟเฉฐเจ— เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡, เจฎเฉˆเจ‚ เจ—เจฃเจฟเจค เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเจพเจ‚, เจœเฉ‹ เจฎเฉˆเจจเฉ‚เฉฐ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจ•เจพเจซเจผเฉ€ เจฆเจฟเจฒเจšเจธเจช เจธเจพเจฌเจค เจนเฉ‹เจ‡เจ† เจนเฉˆเฅค

เจตเจฟเจฏเฉ‚เจœเจผ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฎเฉเฉฑเจ– เจฒเฉ‡เจ–

เจฆเจฐเจœเจพเจฌเฉฐเจฆเฉ€ เจคเฉ‹เจ‚ เจฆเฉ‡เจ–เฉ‡ เจœเจพเจฃ เจฆเฉ‡ เจ…เจจเฉเจชเจพเจค เจ…เจจเฉเจธเจพเจฐ เจชเฉเจฐเจฎเฉเฉฑเจ– เจฒเฉ‡เจ–

เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจตเจฟเจฏเฉ‚เจœเจผ เจ…เจจเฉเจชเจพเจค เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฎเฉเฉฑเจ– เจฒเฉ‡เจ–

เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจง เจตเจฟเจตเจพเจฆเจชเฉ‚เจฐเจจ เจฒเฉ‡เจ–

เจฐเฉ‡เจŸเจฟเฉฐเจ— เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฎเฉเฉฑเจ– เจฒเฉ‡เจ–

เจฌเฉเฉฑเจ•เจฎเจพเจฐเจ•เจธ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจ…เจจเฉเจธเจพเจฐ เจชเฉเจฐเจฎเฉเฉฑเจ– เจฒเฉ‡เจ–

เจฌเฉเฉฑเจ•เจฎเจพเจฐเจ• เจ…เจคเฉ‡ เจฆเฉเจฐเจฟเจธเจผเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจชเจพเจค เจ…เจจเฉเจธเจพเจฐ เจธเจฟเจ–เจฐ

เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฎเฉเฉฑเจ– เจฒเฉ‡เจ–

เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจ†เจ–เจฐเฉ€ เจจเจพเจชเจธเฉฐเจฆเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจฆเฉเจ†เจฐเจพ เจเจ‚เจŸเฉ€เจŸเฉŒเจช

เจ‰เจ˜. เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‹เจฒ เจ•เฉเจ เจนเฉ‹เจฐ เจฆเจฟเจฒเจšเจธเจช เจšเฉ‹เจฃ เจนเจจ, เจชเจฐ เจฎเฉˆเจ‚ เจชเจพเจ เจ•เจพเจ‚ เจจเฉ‚เฉฐ เจฌเฉ‹เจฐ เจจเจนเฉ€เจ‚ เจ•เจฐเจพเจ‚เจ—เจพ.

เจธเจฟเฉฑเจŸเจพ

เจฐเฉ‡เจŸเจฟเฉฐเจ— เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจฎเฉˆเจ‚ เจฆเฉ‹ เจฌเจฟเฉฐเจฆเฉ‚เจ†เจ‚ เจตเฉฑเจฒ เจงเจฟเจ†เจจ เจฆเจฟเฉฑเจคเจพ เจœเฉ‹ เจฆเจฟเจฒเจšเจธเจช เจฒเฉฑเจ—เจฆเฉ‡ เจธเจจเฅค

เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจธเจฟเจ–เจฐ เจฆเฉ‡ 60% "เจ—เฉ€เจ•เจŸเจพเจˆเจฎเจœเจผ" เจธเจผเฉˆเจฒเฉ€ เจฆเฉ‡ เจฒเฉ‡เจ– เจนเจจเฅค เจ•เฉ€ เจ…เจ—เจฒเฉ‡ เจธเจพเจฒ เจ‰เจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ˜เฉฑเจŸ เจนเฉ‹เจฃเจ—เฉ‡, เจ…เจคเฉ‡ เจฌเฉ€เจ…เจฐ, เจธเจชเฉ‡เจธ, เจฆเจตเจพเจˆ เจ†เจฆเจฟ เจฌเจพเจฐเฉ‡ เจฒเฉ‡เจ–เจพเจ‚ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจนเจฌเจฐ เจ•เจฟเจนเฉ‹ เจœเจฟเจนเจพ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡เจตเฉ‡เจ—เจพ, เจฎเฉˆเจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจชเจคเจพเฅค เจฏเจ•เฉ€เจจเจจ, เจชเจพเจ เจ• เจ•เฉเจ เจ—เฉเจ†เจ‰เจฃเจ—เฉ‡. เจšเจฒเฉ‹ เจตเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚.

เจฆเฉ‚เจœเจพ, เจšเฉ‹เจŸเฉ€ เจฆเฉ‡ เจฌเฉเฉฑเจ•เจฎเจพเจฐเจ• เจ…เจšเจพเจจเจ• เจ‰เฉฑเจš เจ—เฉเจฃเจตเฉฑเจคเจพ เจฆเฉ‡ เจจเจฟเจ•เจฒเฉ‡เฅค เจ‡เจน เจฎเจจเฉ‹เจตเจฟเจ—เจฟเจ†เจจเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฎเจเจฃ เจฏเฉ‹เจ— เจนเฉˆ; เจชเจพเจ เจ• เจฐเฉ‡เจŸเจฟเฉฐเจ— เจตเฉฑเจฒ เจงเจฟเจ†เจจ เจจเจนเฉ€เจ‚ เจฆเฉ‡ เจธเจ•เจฆเฉ‡, เจชเจฐ เจœเฉ‡ เจฒเฉ‡เจ– เจฒเฉ‹เฉœ เจนเฉˆ, เจซเจฟเจฐ เจ‡เจธเจจเฉ‚เฉฐ เจคเฉเจนเจพเจกเฉ‡ เจฌเฉเฉฑเจ•เจฎเจพเจฐเจ•เจธ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพเฅค เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจ…เจคเฉ‡ เจ—เฉฐเจญเฉ€เจฐ เจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจกเฉ€ เจ‡เจ•เจพเจ—เจฐเจคเจพ เจนเฉˆ. เจฎเฉˆเจจเฉ‚เฉฐ เจฒเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจธเจพเจˆเจŸ เจฎเจพเจฒเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจฌเฉเฉฑเจ•เจฎเจพเจฐเจ•เจธ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจ…เจคเฉ‡ เจ‡เจจเจพเจฎ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจธเจฌเฉฐเจง เจฆเฉเจ†เจฐเจพ เจธเฉ‹เจšเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ‰เจน เจ‡เฉฑเจฅเฉ‡ เจนเฉˆเจฌเจฐเฉ‡ 'เจคเฉ‡ เจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจ‡เจธ เจตเจฟเจธเจผเฉ‡เจธเจผ เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจจ.

เจ•เฉเจ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚เฅค เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจนเฉˆ เจ•เจฟ เจ‡เจน เจœเจพเจฃเจ•เจพเจฐเฉ€ เจญเจฐเจชเฉ‚เจฐ เจธเฉ€เฅค

เจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจฒเฉฐเจฌเฉ€ เจนเฉ‹ เจ—เจˆ, เจ เฉ€เจ• เจนเฉˆ, เจ‡เจน เจธเจผเจพเจ‡เจฆ เจฌเจฟเจนเจคเจฐ เจฒเจˆ เจนเฉˆเฅค เจนเจฐ เจ•เจฟเจธเฉ‡ เจจเฉ‚เฉฐ เจชเฉœเฉเจน เจ•เฉ‡ เจ–เฉเจธเจผเฉ€.

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹