рдореИрд▓реЗ Habr рд▓рд╛рдИ рдХрд╕рд░реА рдкрд╛рд░реНрд╕ рдЧрд░реЗрдВ, рднрд╛рдЧ 1: рдкреНрд░рд╡реГрддреНрддрд┐рд╣рд░реВ

рдЬрдм рдирдпрд╛рдБ рд╡рд░реНрд╖рдХреЛ рдУрд▓рд┐рднрд┐рдпрд░ рд╕рдорд╛рдкреНрдд рднрдпреЛ, рдорд╕рдБрдЧ рдЧрд░реНрди рдХреЗрд╣реА рдерд┐рдПрди, рд░ рдореИрд▓реЗ Habrahabr (рд░ рд╕рдореНрдмрдиреНрдзрд┐рдд рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВ) рдмрд╛рдЯ рд╕рдмреИ рд▓реЗрдЦрд╣рд░реВ рдореЗрд░реЛ рдХрдореНрдкреНрдпреБрдЯрд░рдорд╛ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреЗ рд░ рдЕрдиреНрд╡реЗрд╖рдг рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВред

рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рд░реЛрдЪрдХ рдХрдерд╛рд╣рд░реВ рдерд┐рдПред рддрд┐рдиреАрд╣рд░реВрдордзреНрдпреЗ рдкрд╣рд┐рд▓реЛ рдврд╛рдБрдЪрд╛рдХреЛ рд╡рд┐рдХрд╛рд╕ рд╣реЛ рд░ рд╕рд╛рдЗрдЯрдХреЛ рдЕрд╕реНрддрд┐рддреНрд╡рдХреЛ 12 рд╡рд░реНрд╖рд╣рд░реВрдорд╛ рд▓реЗрдЦрд╣рд░реВрдХреЛ рд╡рд┐рд╖рдпрд╣рд░реВред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХреЗрд╣реА рд╡рд┐рд╖рдпрд╣рд░реВрдХреЛ рдЧрддрд┐рд╢реАрд▓рддрд╛ рдПрдХрджрдо рд╕реВрдЪрдХ рдЫред рдирд┐рд░рдиреНрддрд░рддрд╛ - рдХрдЯ рдЕрдиреНрддрд░реНрдЧрддред

рдореИрд▓реЗ Habr рд▓рд╛рдИ рдХрд╕рд░реА рдкрд╛рд░реНрд╕ рдЧрд░реЗрдВ, рднрд╛рдЧ 1: рдкреНрд░рд╡реГрддреНрддрд┐рд╣рд░реВ

рдкрд╛рд░реНрд╕рд┐рдЩ рдкреНрд░рдХреНрд░рд┐рдпрд╛

Habr рдХрд╕рд░реА рд╡рд┐рдХрд╕рд┐рдд рднрдпреЛ рдмреБрдЭреНрдирдХреЛ рд▓рд╛рдЧрд┐, рдЙрд╣рд╛рдБрдХрд╛ рд╕рдмреИ рд▓реЗрдЦрд╣рд░реВ рдорд╛рд░реНрдлрдд рдЬрд╛рди рд░ рддрд┐рдиреАрд╣рд░реВрдмрд╛рдЯ рдореЗрдЯрд╛-рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓реНрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдорд┐рддрд┐рд╣рд░реВ)ред рдмрд╛рдЗрдкрд╛рд╕ рд╕рдЬрд┐рд▓реЛ рдерд┐рдпреЛ, рдХрд┐рдирдХрд┐ рд╕рдмреИ рд▓реЗрдЦрд╣рд░реВрдорд╛ рд▓рд┐рдЩреНрдХрд╣рд░реВ "habrahabr.ru/post/337722/" рдЬрд╕реНрддреИ рджреЗрдЦрд┐рдиреНрдЫрдиреН, рд░ рдирдореНрдмрд░рд╣рд░реВ рдХрдбрд╛ рд░реВрдкрдорд╛ рдХреНрд░рдордмрджреНрдз рд░реВрдкрдорд╛ рджрд┐рдЗрдПрдХреЛ рдЫред рдЕрдиреНрддрд┐рдо рдкреЛрд╖реНрдЯрдорд╛ 350 рд╣рдЬрд╛рд░ рднрдиреНрджрд╛ рдЕрд▓рд┐ рдХрдо рд╕рдВрдЦреНрдпрд╛ рдЫ рднрдиреНрдиреЗ рдерд╛рд╣рд╛ рдкрд╛рдПрд░, рдореИрд▓реЗ рднрд░реНрдЦрд░реИ рд▓реБрдкрдорд╛ рд╕рдмреИ рд╕рдореНрднрд╛рд╡рд┐рдд рдХрд╛рдЧрдЬрд╛рдд рдЖрдИрдбреА рдорд╛рд░реНрдлрдд рдЧрдПрдБ (рдкрд╛рдЗрдерди рдХреЛрдб):

import numpy as np
from multiprocessing import Pool
with Pool(100) as p:
    docs = p.map(download_document, np.arange(350000))

рд╕рдорд╛рд░реЛрд╣ download_document рд╕рдореНрдмрдиреНрдзрд┐рдд рдЖрдИрдбреАрдХреЛ рд╕рд╛рде рдкреГрд╖реНрда рд▓реЛрдб рдЧрд░реНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрдЫ рд░ html рд╕рдВрд░рдЪрдирд╛рдмрд╛рдЯ рдЕрд░реНрдердкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрдЫред

import requests
from bs4 import BeautifulSoup

def download_document(pid):
    """ Download and process a Habr document and its comments """
    # ╨▓╤Л╨│╤А╤Г╨╖╨║╨░ ╨┤╨╛╨║╤Г╨╝╨╡╨╜╤В╨░
    r = requests.get('https://habrahabr.ru/post/' +str(pid) + '/')
    # ╨┐╨░╤А╤Б╨╕╨╜╨│ ╨┤╨╛╨║╤Г╨╝╨╡╨╜╤В╨░
    soup = BeautifulSoup(r.text, 'html5lib') # instead of html.parser
    doc = {}
    doc['id'] = pid
    if not soup.find("span", {"class": "post__title-text"}):
        # ╤В╨░╨║╨╛╨╡ ╨▒╤Л╨▓╨░╨╡╤В, ╨╡╤Б╨╗╨╕ ╤Б╤В╨░╤В╤М╤П ╨╜╨╡ ╤Б╤Г╤Й╨╡╤Б╤В╨▓╨╛╨▓╨░╨╗╨░ ╨╕╨╗╨╕ ╤Г╨┤╨░╨╗╨╡╨╜╨░
        doc['status'] = 'title_not_found'
    else:
        doc['status'] = 'ok'
        doc['title'] = soup.find("span", {"class": "post__title-text"}).text
        doc['text'] = soup.find("div", {"class": "post__text"}).text
        doc['time'] = soup.find("span", {"class": "post__time"}).text
        # create other fields: hubs, tags, views, comments, votes, etc.
        # ...
    # ╤Б╨╛╤Е╤А╨░╨╜╨╡╨╜╨╕╨╡ ╤А╨╡╨╖╤Г╨╗╤М╤В╨░╤В╨░ ╨▓ ╨╛╤В╨┤╨╡╨╗╤М╨╜╤Л╨╣ ╤Д╨░╨╣╨╗
    fname = r'files/' + str(pid) + '.pkl'
    with open(fname, 'wb') as f:
        pickle.dump(doc, f)

рдкрд╛рд░реНрд╕рд┐рдЩ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛, рдореИрд▓реЗ рдзреЗрд░реИ рдирдпрд╛рдБ рдЪреАрдЬрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реЗред

рдкрд╣рд┐рд▓реЛ, рддрд┐рдиреАрд╣рд░реВ рднрдиреНрдЫрдиреН рдХрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░рдорд╛ рдХреЛрд░рд╣рд░реВ рднрдиреНрджрд╛ рдмрдвреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБ рдмреЗрдХрд╛рд░ рдЫред рддрд░ рдореЗрд░реЛ рдорд╛рдорд▓рд╛рдорд╛, рдпреЛ рдмрд╛рд╣рд┐рд░рд┐рдпреЛ рдХрд┐ рд╕реАрдорд┐рдд рд╕рдВрд╕рд╛рдзрди рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реЛрдЗрди, рддрд░ рдиреЗрдЯрд╡рд░реНрдХ, рд░ 100 рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ 4 рд╡рд╛, 20 рднрдиреНрджрд╛ рдЫрд┐рдЯреЛ рдХрд╛рдо рдЧрд░реНрджрдЫред

рджреЛрд╕реНрд░реЛ, рдХреЗрд╣реА рдкреЛрд╖реНрдЯрд╣рд░реВрдорд╛ рд╡рд┐рд╢реЗрд╖ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдХреЛ рд╕рдВрдпреЛрдЬрди рдерд┐рдпреЛ - рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, "%&#@" рдЬрд╕реНрддрд╛ рдкреНрд░реЗрдпреЛрдХреНрддрд┐ред рднрдиреНрдиреЗ рдХреБрд░рд╛ рдмрд╛рд╣рд┐рд░ рдЖрдпреЛ html.parser, рдЬреБрди рдореИрд▓реЗ рдкрд╣рд┐рд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдВ, рд╕рдВрдпреЛрдЬрдирдорд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджрд┐рдиреНрдЫ &# рдкреАрдбрд╛рджрд╛рдпреА рд░реВрдкрдорд╛, рдпрд╕рд▓рд╛рдИ рдПрдЪрдЯреАрдПрдордПрд▓ рдЗрдХрд╛рдИрдХреЛ рд╕реБрд░реБрд╡рд╛рддрд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрджреИред рдо рдкрд╣рд┐рд▓реЗ рдиреИ рдХрд╛рд▓реЛ рдЬрд╛рджреВ рдЧрд░реНрди рдЧрдЗрд░рд╣реЗрдХреЛ рдерд┐рдПрдБ, рддрд░ рдлреЛрд░рдорд▓реЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпреЛ рдХрд┐ рддрдкрд╛рдИрд▓реЗ рдкрд╛рд░реНрд╕рд░ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рддреЗрд╕реНрд░реЛ, рдореИрд▓реЗ рддреАрди рдмрд╛рд╣реЗрдХ рд╕рдмреИ рдкреНрд░рдХрд╛рд╢рдирд╣рд░реВ рдЕрдирд▓реЛрдб рдЧрд░реНрди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реЗрдВред 65927, 162075, рд░ 275987 рдирдореНрдмрд░ рднрдПрдХрд╛ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рдореЗрд░реЛ рдПрдиреНрдЯрд┐рднрд╛рдЗрд░рд╕рджреНрд╡рд╛рд░рд╛ рддреБрд░реБрдиреНрддреИ рдореЗрдЯрд╛рдЗрдпреЛред рдпреА рд▓реЗрдЦрд╣рд░реВ, рдХреНрд░рдорд╢рдГ, рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪреЗрдирдХреЛ рдмрд╛рд░реЗрдорд╛ рд╣реЛ рдЬрд╕рд▓реЗ рдЦрд░рд╛рдм pdf рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдЫ, рдмреНрд░рд╛рдЙрдЬрд░ рдкреНрд▓рдЧрдЗрдирд╣рд░реВрдХреЛ рд╕реЗрдЯрдХреЛ рд░реВрдкрдорд╛ SMS ransomware, рд░ CrashSafari.com рд╕рд╛рдЗрдЯ рдЬрд╕рд▓реЗ iPhones рд▓рд╛рдИ рд░рд┐рдмреБрдЯрдорд╛ рдкрдард╛рдЙрдБрдЫред рдПрдиреНрдЯрд┐рднрд╛рдЗрд░рд╕рд▓реЗ рдкрдЫрд┐ рдЕрд░реНрдХреЛ рд▓реЗрдЦ рдкрддреНрддрд╛ рд▓рдЧрд╛рдпреЛ, рдкреНрд░рдгрд╛рд▓реА рд╕реНрдХреНрдпрд╛рдирдХреЛ рдХреНрд░рдордорд╛: рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдиреНрд╕реА рдорд╛рдЗрди рдЧрд░реНрди рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдкрд╛рд▓реНрддреБ рдЬрдирд╛рд╡рд░ рд╕реНрдЯреЛрд░ рд╡реЗрдмрд╕рд╛рдЗрдЯрдорд╛ рд▓рд┐рдкрд┐рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкреЛрд╕реНрдЯ 338586ред рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореА рдПрдиреНрдЯрд┐рднрд╛рдЗрд░рд╕ рдХреЛ рдХрд╛рдо рдПрдХрджрдо рдкрд░реНрдпрд╛рдкреНрдд рдЫ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

"рд▓рд╛рдЗрдн" рд▓реЗрдЦрд╣рд░реВ рд╕рдореНрднрд╛рд╡рд┐рдд рдЕрдзрд┐рдХрддрдо - 166307 рдЯреБрдХреНрд░рд╛рд╣рд░реВрдХреЛ рдорд╛рддреНрд░ рдЖрдзрд╛ рд╣реБрди рдкреБрдЧреЗред рдмрд╛рдБрдХреАрдХреЛ рдмрд╛рд░реЗрдорд╛, Habr рд▓реЗ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рджрд┐рдиреНрдЫ "рдкреГрд╖реНрда рдкреБрд░рд╛рдиреЛ рднрдПрдХреЛ рдЫ, рдореЗрдЯрд╛рдЗрдПрдХреЛ рдЫ рд╡рд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЫреИрдиред" рдЦреИрд░, рдЬреЗ рдкрдирд┐ рд╣реБрди рд╕рдХреНрдЫред

рд▓реЗрдЦрд╣рд░реВ рдЕрдкрд▓реЛрдб рдЧрд░реНрджрд╛ рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рдХрд╛рд░реНрдпрд╣рд░реВ рдкрдЫреНрдпрд╛рдЗрдПрдХреЛ рдерд┐рдпреЛ: рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкреНрд░рдХрд╛рд╢рди рдорд┐рддрд┐рд╣рд░реВ "'21 рдбрд┐рд╕реЗрдореНрдмрд░ 2006 рдмрд┐рд╣рд╛рди 10:47 рдмрдЬреЗ" рдврд╛рдБрдЪрд╛рдмрд╛рдЯ рдорд╛рдирдХрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБрдкрд░реНрдереНрдпреЛред datetime, рд░ "12,8k" рджреГрд╢реНрдпрд╣рд░реВ - 12800 рдорд╛ред рдпрд╕ рдЪрд░рдгрдорд╛, рдХреЗрд╣реА рдердк рдШрдЯрдирд╛рд╣рд░реВ рдмрд╛рд╣рд┐рд░ рдЖрдПред рд╕рдмреИрднрдиреНрджрд╛ рд░рдорд╛рдЗрд▓реЛ рднрдиреЗрдХреЛ рднреЛрдЯ рдЧрдгрдирд╛ рд░ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░рд╣рд░реВрд╕рдБрдЧ рдЧрд░реНрдиреБ рдкрд░реНрдЫ: рдХреЗрд╣реА рдкреБрд░рд╛рдирд╛ рдкреЛрд╖реНрдЯрд╣рд░реВрдорд╛ int рдУрднрд░рдлреНрд▓реЛ рдерд┐рдпреЛ рд░ рдкреНрд░рддреНрдпреЗрдХрд▓реЗ 65535 рднреЛрдЯрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗред

рдореИрд▓реЗ Habr рд▓рд╛рдИ рдХрд╕рд░реА рдкрд╛рд░реНрд╕ рдЧрд░реЗрдВ, рднрд╛рдЧ 1: рдкреНрд░рд╡реГрддреНрддрд┐рд╣рд░реВ

рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рд▓реЗрдЦрд╣рд░реВрдХреЛ рдкрд╛рда (рддрд╕реНрдмрд┐рд░рд╣рд░реВ рдмрд┐рдирд╛) рд▓реЗ рдорд▓рд╛рдИ 1.5 рдЧреАрдЧрд╛рдмрд╛рдЗрдЯрд╣рд░реВ, рдореЗрдЯрд╛-рдЬрд╛рдирдХрд╛рд░реАрдХреЛ рд╕рд╛рде рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ - рдЕрд░реНрдХреЛ 3, рд░ рд▓рдЧрднрдЧ рдПрдХ рд╕рдп рдореЗрдЧрд╛рдмрд╛рдЗрдЯрд╣рд░реВ - рд▓реЗрдЦрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдореЗрдЯрд╛-рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдПред рдпреЛ рдкреВрд░реНрдг рд░реВрдкрдорд╛ RAM рдорд╛ рд░рд╛рдЦреНрди рд╕рдХрд┐рдиреНрдЫ, рдЬреБрди рдореЗрд░реЛ рд▓рд╛рдЧрд┐ рд╕реБрдЦрдж рдЖрд╢реНрдЪрд░реНрдп рдерд┐рдпреЛред

рдореИрд▓реЗ рд▓реЗрдЦрд╣рд░реВрдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд╛рдард╣рд░реВрдмрд╛рдЯ рд╣реЛрдЗрди, рддрд░ рдореЗрдЯрд╛-рдЬрд╛рдирдХрд╛рд░реАрдмрд╛рдЯ рд╕реБрд░реБ рдЧрд░реЗрдВ: рдорд┐рддрд┐рд╣рд░реВ, рдЯреНрдпрд╛рдЧрд╣рд░реВ, рд╣рдмрд╣рд░реВ, рджреГрд╢реНрдпрд╣рд░реВ рд░ рдордирдкрд░реНрдиреЗрд╣рд░реВред рдзреЗрд░реИ рдХреБрд░рд╛ рдмрддрд╛рдЙрди рд╕рдХреНрдЫрд┐рдиреН рднрдиреНрдиреЗ рдерд╛рд╣рд╛ рднрдпреЛ ред

Habrahabr рд╡рд┐рдХрд╛рд╕ рдкреНрд░рд╡реГрддреНрддрд┐

рд╕рд╛рдЗрдЯ рдорд╛ рд▓реЗрдЦ 2006 рджреЗрдЦрд┐ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ; рд╕рдмреИрднрдиреНрджрд╛ рдЧрд╣рди рд░реВрдкрдорд╛ - 2008-2016 рдорд╛ред

рдореИрд▓реЗ Habr рд▓рд╛рдИ рдХрд╕рд░реА рдкрд╛рд░реНрд╕ рдЧрд░реЗрдВ, рднрд╛рдЧ 1: рдкреНрд░рд╡реГрддреНрддрд┐рд╣рд░реВ

рд╡рд┐рднрд┐рдиреНрди рд╕рдордпрдорд╛ рдпреА рд▓реЗрдЦрд╣рд░реВ рдХрддреНрддрд┐рдХреЛ рд╕рдХреНрд░рд┐рдпрддрд╛рдХрд╛ рд╕рд╛рде рдкрдврд┐рдпреЛ рднрдиреЗрд░ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрди рддреНрдпрддрд┐ рд╕рдЬрд┐рд▓реЛ рдЫреИрдиред 2012 рд░ рдХрдо рдЙрдореЗрд░рдХрд╛ рдкрд╛рдард╣рд░реВрд▓реЗ рдзреЗрд░реИ рдЯрд┐рдкреНрдкрдгреА рд░ рдореВрд▓реНрдпрд╛рдЩреНрдХрдирд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗ, рддрд░ рдирдпрд╛рдБ рдкрд╛рдард╣рд░реВрдорд╛ рдзреЗрд░реИ рд╣реЗрд░рд╛рдЗрд╣рд░реВ рд░ рдмреБрдХрдорд╛рд░реНрдХрд╣рд░реВ рдЫрдиреНред рдпреА рдореЗрдЯреНрд░рд┐рдХреНрд╕рд▓реЗ 2015 рдорд╛ рдПрдХ рдкрдЯрдХ рдорд╛рддреНрд░реИ (рдЖрдзрд╛) рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реЗред рд╣реБрдирд╕рдХреНрдЫ, рдЖрд░реНрдерд┐рдХ рд░ рд░рд╛рдЬрдиреАрддрд┐рдХ рд╕рдВрдХрдЯрдХреЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдкрд╛рдардХрд╣рд░реВрдХреЛ рдзреНрдпрд╛рди IT рдмреНрд▓рдЧрд╣рд░реВрдмрд╛рдЯ рдердк рдкреАрдбрд╛рджрд╛рдпреА рдореБрджреНрджрд╛рд╣рд░реВрдорд╛ рд╕рд░реЗрдХреЛ рдЫред

рдореИрд▓реЗ Habr рд▓рд╛рдИ рдХрд╕рд░реА рдкрд╛рд░реНрд╕ рдЧрд░реЗрдВ, рднрд╛рдЧ 1: рдкреНрд░рд╡реГрддреНрддрд┐рд╣рд░реВ

рд▓реЗрдЦрд╣рд░реВ рдмрд╛рд╣реЗрдХ, рдореИрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдердк рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реЗрдВред рддреНрдпрд╣рд╛рдБ 6 рдорд┐рд▓рд┐рдпрди рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ рдерд┐рдП, рддрдерд╛рдкрд┐, рддрд┐рдиреАрд╣рд░реВрдордзреНрдпреЗ 240 рд╣рдЬрд╛рд░ рдкреНрд░рддрд┐рдмрдиреНрдзрд┐рдд рдерд┐рдП ("рдПрдЙрдЯрд╛ рдпреВрдПрдлрдУ рдЙрдбреНрдпреЛ рд░ рдпреЛ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдпрд╣рд╛рдБ рдкреНрд░рдХрд╛рд╢рд┐рдд рднрдпреЛ")ред рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрдХреЛ рдПрдХ рдЙрдкрдпреЛрдЧреА рдЧреБрдг рд╣реЛ рдХрд┐ рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рд╕рдордп рдЯрд┐рдХрдЯ рдЫред рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрдХреЛ рд╕рдордп рдЕрдзреНрдпрдпрди рдЧрд░реЗрд░, рддрдкрд╛рдИрдВрд▓реЗ рд▓реЗрдЦрд╣рд░реВ рдХрд╣рд┐рд▓реЗ рдкрдврд┐рдиреНрдЫ рднрдиреЗрд░ рд▓рдЧрднрдЧ рдмреБрдЭреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рдзреЗрд░реИ рдЬрд╕реЛ рд▓реЗрдЦрд╣рд░реВ рдмрд┐рд╣рд╛рди резреж рдмрдЬреЗрджреЗрдЦрд┐ рдмреЗрд▓реБрдХрд╛ рео рдмрдЬреЗрд╕рдореНрдо рд▓реЗрдЦрд┐рдПрдХрд╛ рд░ рдЯрд┐рдкреНрдкрдгреА рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН рднрдиреНрдиреЗ рдХреБрд░рд╛ рдмрд╛рд╣рд┐рд░ рдЖрдпреЛред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рд╕реНрдХреЛ рдХрд╛рдо рджрд┐рди рдорд╛ред рдпрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рд╣реБрди рд╕рдХреНрдЫ рдХрд┐ Habr рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рд▓рд╛рдЧрд┐ рдкрдврд┐рдиреНрдЫ, рд░ рдпреЛ рдХрд╛рдордорд╛ рдврд┐рд▓рд╛рдЗ рдЧрд░реНрдиреЗ рд░рд╛рдореНрд░реЛ рддрд░рд┐рдХрд╛ рд╣реЛред рд╡реИрд╕реЗ, рджрд┐рдирдХреЛ рд╕рдордпрдХреЛ рдпреЛ рд╡рд┐рддрд░рдг рд╣рдмреНрд░рдХреЛ рдЬрдЧрджреЗрдЦрд┐ рд╡рд░реНрддрдорд╛рди рджрд┐рдирд╕рдореНрдо рд╕реНрдерд┐рд░ рдЫред

рдореИрд▓реЗ Habr рд▓рд╛рдИ рдХрд╕рд░реА рдкрд╛рд░реНрд╕ рдЧрд░реЗрдВ, рднрд╛рдЧ 1: рдкреНрд░рд╡реГрддреНрддрд┐рд╣рд░реВ

рдпрджреНрдпрдкрд┐, рдЯрд┐рдкреНрдкрдгреА рдЯрд╛рдЗрдорд╕реНрдЯреНрдпрд╛рдореНрдкрдХреЛ рдореБрдЦреНрдп рдлрд╛рдЗрджрд╛ рджрд┐рдирдХреЛ рд╕рдордп рд╣реЛрдЗрди, рддрд░ рд▓реЗрдЦрдХреЛ "рд╕рдХреНрд░рд┐рдп рдЬреАрд╡рди" рдХреЛ рдЕрд╡рдзрд┐ рд╣реЛред рдореИрд▓реЗ рд▓реЗрдЦрдХреЛ рдкреНрд░рдХрд╛рд╢рдирджреЗрдЦрд┐ рдпрд╕рдХреЛ рдЯрд┐рдкреНрдкрдгреАрд╕рдореНрдордХреЛ рд╕рдордп рдХрд╕рд░реА рдмрд╛рдБрдбрдлрд╛рдБрдб рд╣реБрдиреНрдЫ рднрдиреЗрд░ рдЧрдгрдирд╛ рдЧрд░реЗрдВред рдпреЛ рдмрд╛рд╣рд┐рд░ рднрдпреЛ рдХрд┐ рдЕрдм рдордзреНрдп рдЯрд┐рдкреНрдкрдгреА (рд╣рд░рд┐рдпреЛ рд░реЗрдЦрд╛) рд▓рдЧрднрдЧ 20 рдШрдгреНрдЯрд╛рдорд╛ рдЖрдЙрдБрдЫ, рдЕрд░реНрдерд╛рддреНред рдкреНрд░рдХрд╛рд╢рди рдкрдЫрд┐ рдкрд╣рд┐рд▓реЛ рджрд┐рди, рдФрд╕рддрдорд╛, рд▓реЗрдЦрдорд╛ рд╕рдмреИ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрдХреЛ рдЖрдзрд╛ рднрдиреНрджрд╛ рдмрдвреА рдмрд╛рдБрдХреА рдЫред рд░ рджреБрдИ рджрд┐рдирдорд╛ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рд╕рдмреИ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрдХреЛ 75% рдЫреЛрдбреНрдЫрдиреНред рдЙрд╣реА рд╕рдордпрдорд╛, рдкрд╣рд┐рд▓реЗрдХрд╛ рд▓реЗрдЦрд╣рд░реВ рдЕрдЭ рдЫрд┐рдЯреЛ рдкрдврд┐рдпреЛ - рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, 2010 рдорд╛, рдЖрдзрд╛ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ рдкрд╣рд┐рд▓реЛ 6 рдШрдгреНрдЯрд╛рдорд╛ рдЖрдПред

рдореИрд▓реЗ Habr рд▓рд╛рдИ рдХрд╕рд░реА рдкрд╛рд░реНрд╕ рдЧрд░реЗрдВ, рднрд╛рдЧ 1: рдкреНрд░рд╡реГрддреНрддрд┐рд╣рд░реВ

рдпреЛ рдореЗрд░реЛ рд▓рд╛рдЧрд┐ рдЕрдЪрдореНрдордХреЛ рд░реВрдкрдорд╛ рдЖрдпреЛ рдХрд┐ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ рд▓рд╛рдореЛ рднрдПрдХреЛ рдЫ: рдЯрд┐рдкреНрдкрдгреАрдорд╛ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдХреЛ рдФрд╕рдд рд╕рдВрдЦреНрдпрд╛ рд╣рдмреНрд░рдХреЛ рдЬреАрд╡рдирдХрд╛рд▓рдорд╛ рд▓рдЧрднрдЧ рджреЛрдмреНрдмрд░ рднрдПрдХреЛ рдЫ!

рдореИрд▓реЗ Habr рд▓рд╛рдИ рдХрд╕рд░реА рдкрд╛рд░реНрд╕ рдЧрд░реЗрдВ, рднрд╛рдЧ 1: рдкреНрд░рд╡реГрддреНрддрд┐рд╣рд░реВ

рдЯрд┐рдкреНрдкрдгреА рднрдиреНрджрд╛ рд╕рдЬрд┐рд▓реЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднреЛрдЯ рд╣реЛред рдзреЗрд░реИ рдЕрдиреНрдп рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рд╡рд┐рдкрд░реАрдд, Habr├й рдорд╛ рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд▓рд╕рд╣рд░реВ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рдорд╛рдЗрдирд╕рд╣рд░реВ рдкрдирд┐ рд░рд╛рдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдЬреЗ рд╣реЛрд╕реН, рдкрд╛рдардХрд╣рд░реВрд▓реЗ рдЕрдиреНрддрд┐рдо рдЕрд╡рд╕рд░рд▓рд╛рдИ рдкреНрд░рд╛рдпрдГ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИрдирдиреН: рд╣рд╛рд▓рдХреЛ рдордирдкрд░реНрдиреЗ рд╕реЗрдпрд░ рд╕рдмреИ рдорддрджрд╛рдирдХреЛ рд▓рдЧрднрдЧ 15% рд╣реЛред рдкрд╣рд┐рд▓реЗ рдзреЗрд░реИ рд╣реБрдиреНрдереНрдпреЛ, рддрд░ рд╕рдордпрд╕рдБрдЧреИ рдкрд╛рдардХрд╣рд░реВ рджрдпрд╛рд▓реБ рднрдПрдХрд╛ рдЫрдиреНред

рдореИрд▓реЗ Habr рд▓рд╛рдИ рдХрд╕рд░реА рдкрд╛рд░реНрд╕ рдЧрд░реЗрдВ, рднрд╛рдЧ 1: рдкреНрд░рд╡реГрддреНрддрд┐рд╣рд░реВ

рдкрд╛рдард╣рд░реВ рдЖрдлреИрдВрдорд╛ рд╕рдордпрд╕рдБрдЧреИ рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдХреЛ рдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдкрд╛рда рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рдореНрдмрд╛рдЗ рд╕рд╛рдЗрдЯ рдХреЛ рдзреЗрд░реИ рд▓рдиреНрдЪ рджреЗрдЦрд┐ рд▓рдЧрд╛рддрд╛рд░ рдмрдвреНрджреИ рд░реЛрдХреНрджреИрди, рд╕рдВрдХрдЯ рдХреЛ рдмрд╛рд╡рдЬреБрджред рдПрдХ рджрд╢рдХрдорд╛, рдкрд╛рдард╣рд░реВ рд▓рдЧрднрдЧ рджрд╕ рдЧреБрдгрд╛ рд▓рд╛рдореЛ рднрдПрдХреЛ рдЫ!

рдореИрд▓реЗ Habr рд▓рд╛рдИ рдХрд╕рд░реА рдкрд╛рд░реНрд╕ рдЧрд░реЗрдВ, рднрд╛рдЧ 1: рдкреНрд░рд╡реГрддреНрддрд┐рд╣рд░реВ

рдкрд╛рдард╣рд░реВрдХреЛ рд╢реИрд▓реА (рдкрд╣рд┐рд▓реЛ рдЕрдиреБрдорд╛рдирдорд╛) рдкрдирд┐ рдкрд░рд┐рд╡рд░реНрддрди рднрдпреЛред рд╣рдмреНрд░рдХреЛ рдЕрд╕реНрддрд┐рддреНрд╡рдХреЛ рдкрд╣рд┐рд▓реЛ рд╡рд░реНрд╖рд╣рд░реВрдорд╛, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкрд╛рдард╣рд░реВрдорд╛ рдХреЛрдб рд░ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВрдХреЛ рд╕рд╛рдЭреЗрджрд╛рд░реА рдмрдвреНрдпреЛ:

рдореИрд▓реЗ Habr рд▓рд╛рдИ рдХрд╕рд░реА рдкрд╛рд░реНрд╕ рдЧрд░реЗрдВ, рднрд╛рдЧ 1: рдкреНрд░рд╡реГрддреНрддрд┐рд╣рд░реВ

рд╕рд╛рдЗрдЯрдХреЛ рд╕рдордЧреНрд░ рдЧрддрд┐рд╢реАрд▓рддрд╛ рдмреБрдЭреЗрдкрдЫрд┐, рдореИрд▓реЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╖рдпрд╣рд░реВрдХреЛ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХрд╕рд░реА рдкрд░рд┐рд╡рд░реНрддрди рднрдпреЛ рднрдиреЗрд░ рдорд╛рдкрди рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВред рд╡рд┐рд╖рдпрд╣рд░реВ рдкрд╛рдард╣рд░реВрдмрд╛рдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдЪрдпрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рддрд░ рд╢реБрд░реБрд╡рд╛рддрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдЪрдХреНрд░рд▓рд╛рдИ рдкреБрди: рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрди, рддрд░ рдкреНрд░рддреНрдпреЗрдХ рд▓реЗрдЦрдХрд╛ рд▓реЗрдЦрдХрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдЯрд╛рдБрд╕рд┐рдПрдХреЛ рддрдпрд╛рд░-рдирд┐рд░реНрдорд┐рдд рдЯреНрдпрд╛рдЧрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдореИрд▓реЗ рдЪрд╛рд░реНрдЯрдорд╛ рдЪрд╛рд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╡реГрддрд┐рд╣рд░реВ рдХреЛрд░реЗрдХреЛ рдЫреБред "рдЧреБрдЧрд▓" рд╡рд┐рд╖рдпрд╡рд╕реНрддреБ рдкреНрд░рд╛рд░рдореНрднрдорд╛ рд╣рд╛рд╡реА рднрдпреЛ (рд╕рд╛рдпрдж рдореБрдЦреНрдпрддрдпрд╛ рдПрд╕рдИрдУрдХреЛ рдХрд╛рд░рдгрд▓реЗ), рддрд░ рд╡рд░реНрд╖реМрдВрджреЗрдЦрд┐ рд╡рдЬрди рдШрдЯрд╛рдЙрдБрджреИ рдЖрдПрдХреЛ рдЫред рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рд╖рдп рднрдПрдХреЛ рдЫ рд░ рдмрд┐рд╕реНрддрд╛рд░реИ рдмрдвреНрди рдЬрд╛рд░реА рдЫ, рддрд░ рдореЗрд╢рд┐рди рд╢рд┐рдХреНрд╖рд╛рд▓реЗ рд╣рд╛рд▓реИрдХрд╛ рд╡рд░реНрд╖рд╣рд░реВрдорд╛ рдорд╛рддреНрд░ рджреНрд░реБрдд рд░реВрдкрдорд╛ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдерд╛рд▓реЗрдХреЛ рдЫред рд▓рд┐рдирдХреНрд╕, рдЕрд░реНрдХреЛрддрд░реНрдл, рджрд╢рдХрднрд░рд┐ рд╕рдорд╛рди рд░реВрдкрдорд╛ рд╕рд╛рдиреНрджрд░реНрднрд┐рдХ рд░рд╣реЗрдХреЛ рдЫред

рдореИрд▓реЗ Habr рд▓рд╛рдИ рдХрд╕рд░реА рдкрд╛рд░реНрд╕ рдЧрд░реЗрдВ, рднрд╛рдЧ 1: рдкреНрд░рд╡реГрддреНрддрд┐рд╣рд░реВ

рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдХреБрди рд╡рд┐рд╖рдпрд╣рд░реВрд▓реЗ рдердк рдкрд╛рдардХ рдЧрддрд┐рд╡рд┐рдзрд┐рд▓рд╛рдИ рдЖрдХрд░реНрд╖рд┐рдд рдЧрд░реНрдЫрдиреН рднрдиреНрдиреЗрдорд╛ рдо рдЪрд╛рд╕реЛ рд░рд╛рдЦреЗрдВред рдореИрд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖рдХрдорд╛ рд╣реЗрд░рд╛рдЗ, рдордд рд░ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрдХреЛ рдФрд╕рдд рд╕рдВрдЦреНрдпрд╛ рдЧрдгрдирд╛ рдЧрд░реЗрдВред рдпрд╣рд╛рдБ рдХреЗ рднрдпреЛ:

  • рдзреЗрд░реИ рд╣реЗрд░рд┐рдПрдХрд╛ рд╡рд┐рд╖рдпрд╣рд░реВ: arduino, рд╡реЗрдм рдбрд┐рдЬрд╛рдЗрди, рд╡реЗрдм рд╡рд┐рдХрд╛рд╕, рдбрд╛рдЗрдЬреЗрд╕реНрдЯ, рд▓рд┐рдЩреНрдХ, css, html, html5, nginx, рдПрд▓реНрдЧреЛрд░рд┐рджрдоред
  • рд╕рдмреИрднрдиреНрджрд╛ рдзреЗрд░реИ "рдордирдкрд░реНрдиреЗ" рд╡рд┐рд╖рдпрд╣рд░реВ: vkontakte, рд╣рд╛рд╕реНрдп, jquery, opera, c, html, рд╡реЗрдм рд╡рд┐рдХрд╛рд╕, html5, css, рд╡реЗрдм рдбрд┐рдЬрд╛рдЗрдиред
  • рдзреЗрд░реИ рдЪрд░реНрдЪрд╛ рдЧрд░рд┐рдПрдХрд╛ рд╡рд┐рд╖рдпрд╣рд░реВ: рдУрдкреЗрд░рд╛, рд╕реНрдХрд╛рдЗрдк, рдлреНрд░реАрд▓рд╛рдиреНрд╕, vkontakte, ubuntu, рдХрд╛рдо, рдиреЛрдХрд┐рдпрд╛, nginx, arduino, рдлрд╛рдпрд░рдлрдХреНрд╕ред

рд╡реИрд╕реЗ, рдореИрд▓реЗ рд╡рд┐рд╖рдпрд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рд╣реБрдирд╛рд▓реЗ, рддрдкрд╛рдИрдВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдлреНрд░рд┐рдХреНрд╡реЗрдиреНрд╕реА рджреНрд╡рд╛рд░рд╛ рд╢реНрд░реЗрдгреАрдХрд░рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ (рд░ рдкрд░рд┐рдгрд╛рдорд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН 2013 рдХреЛ рд╕рдорд╛рди рд▓реЗрдЦ).

  • Habr рдХреЛ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЛ рд╕рдмреИ рд╡рд░реНрд╖ рдХреЛ рд▓рд╛рдЧреА, рд╕рдмреИ рднрдиреНрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рдЯреНрдпрд╛рдЧрд╣рд░реБ (рдЕрд╡рд░реЛрд╣ рдХреНрд░рдо рдорд╛) рдЧреБрдЧрд▓, рдПрдиреНрдбреНрд░реЛрдЗрдб, рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдорд╛рдЗрдХреНрд░реЛрд╕рдлреНрдЯ, рд▓рд┐рдирдХреНрд╕, php, рдПрдкреНрдкрд▓, рдЬрд╛рднрд╛, рдкрд╛рдЗрдерди, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк, рд╡рд┐рдХрд╛рд╕, рдЖрдИрдУрдПрд╕, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк, рд╕рд╛рдорд╛рдЬрд┐рдХ рд╕рдЮреНрдЬрд╛рд▓ рд╣реБрдиреНред
  • 2017 рдорд╛, рд╕рдмреИрднрдиреНрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдкрд╛рдЗрдерди, рдЬрд╛рднрд╛, рдПрдиреНрдбреНрд░реЛрдЗрдб, рд╡рд┐рдХрд╛рд╕, рд▓рд┐рдирдХреНрд╕, c++, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ, php, c#, ios, рдореЗрд╕рд┐рди рд▓рд░реНрдирд┐рдЩ, рд╕реВрдЪрдирд╛ рд╕реБрд░рдХреНрд╖рд╛, рдорд╛рдЗрдХреНрд░реЛрд╕рдлреНрдЯ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдерд┐рдПред

рдпреА рдореВрд▓реНрдпрд╛рдЩреНрдХрдирд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░реНрджрд╛, рдХрд╕реИрд▓реЗ рдзреНрдпрд╛рди рджрд┐рди рд╕рдХреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкрд╛рдЗрдердирдХреЛ рд╡рд┐рдЬрдпреА рдорд╛рд░реНрдЪ рд░ php рдХреЛ рд╡рд┐рд▓реБрдкреНрдд, рд╡рд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╡рд┐рд╖рдпрд╣рд░реВрдХреЛ "рд╕реВрд░реНрдпрд╛рд╕реНрдд" рд░ рдореЗрд╢рд┐рди рд╢рд┐рдХреНрд╖рд╛рдХреЛ рдЙрджрдпрдорд╛ред

Habr├й рдорд╛ рд╕рдмреИ рдЯреНрдпрд╛рдЧрд╣рд░реВрдорд╛ рдпрд╕реНрддреЛ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рд╖рдпрдЧрдд рд░рдВрдЧ рдЫреИрдиред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрд╣рд╛рдБ рдПрдХ рджрд░реНрдЬрди рдЯреНрдпрд╛рдЧрд╣рд░реВ рдЫрдиреН рдЬреБрди рдПрдХ рдкрдЯрдХ рдорд╛рддреНрд░ рднреЗрдЯрд┐рдПрдХреЛ рдерд┐рдпреЛ, рддрд░ рдорд▓рд╛рдИ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд▓рд╛рдЧреНрдпреЛред рддреНрдпрд╕реЛрднрдП: "рд╡рд┐рдЪрд╛рд░ рдкреНрд░рдЧрддрд┐рдХреЛ рдЪрд╛рд▓рдХ рд╢рдХреНрддрд┐ рд╣реЛ", "рдлреНрд▓рдкреА рдбрд┐рд╕реНрдХ рдЫрд╡рд┐рдмрд╛рдЯ рдмреБрдЯ", "рдЖрдпреЛрд╡рд╛ рд░рд╛рдЬреНрдп", "рдбреНрд░рд╛рдорд╛", "рд╕реБрдкрд░рд▓реЗрд╢", "рд╕реНрдЯреАрдо рдЗрдиреНрдЬрд┐рди", "рд╢рдирд┐рдмрд╛рд░ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЪреАрдЬрд╣рд░реВ", "рдорд╕рдБрдЧ рдЫред рдорд╛рд╕реБ рдЪрдХреНрдХреАрдорд╛ рдлрдХреНрд╕", "рдП рдпреЛ рд╕рдзреИрдВ рдЬрд╕реНрддреИ рдмрд╛рд╣рд┐рд░ рднрдпреЛ", "рд╣рд╛рдореА рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рдЯреНрдпрд╛рдЧрд╣рд░реВрд╕рдБрдЧ рдЖрдЙрди рд╕рдХреЗрдиреМрдВ"ред рддреНрдпрд╕реНрддрд╛ рд▓реЗрдЦрд╣рд░реВрдХреЛ рд╡рд┐рд╖рдп рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди, рдЯреНрдпрд╛рдЧрд╣рд░реВ рдкрд░реНрдпрд╛рдкреНрдд рдЫреИрдирдиреН - рддрдкрд╛рдИрдВрд▓реЗ рд▓реЗрдЦрд╣рд░реВрдХреЛ рдкрд╛рдард╣рд░реВрдорд╛ рд╡рд┐рд╖рдпрдЧрдд рдореЛрдбреЗрд▓рд┐рдЩ рдЧрд░реНрдиреБ рдкрд░реНрдЫред

рд▓реЗрдЦрд╣рд░реВрдХреЛ рд╕рд╛рдордЧреНрд░реАрдХреЛ рдердк рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЕрд░реНрдХреЛ рдкреЛрд╕реНрдЯрдорд╛ рд╣реБрдиреЗрдЫред рдкрд╣рд┐рд▓реЗ, рдо рдПрдЙрдЯрд╛ рдореЛрдбреЗрд▓ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдЬрд╛рдБрджреИрдЫреБ рдЬрд╕рд▓реЗ рдпрд╕рдХреЛ рд╕рд╛рдордЧреНрд░реАрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд▓реЗрдЦрдХреЛ рд▓рд╛рдЧрд┐ рдкреГрд╖реНрда рд╣реЗрд░рд╛рдЗрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдЧрд░реНрджрдЫред рджреЛрд╕реНрд░реЛ, рдо рдиреНрдпреБрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХрд▓рд╛рдИ Habr рдХрд╛ рд▓реЗрдЦрдХрд╣рд░реВ рдЬрд╕реНрддреИ рд╢реИрд▓реАрдорд╛ рдкрд╛рдард╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд╕рд┐рдХрд╛рдЙрди рдЪрд╛рд╣рдиреНрдЫреБред рддреНрдпрд╕реИрд▓реЗ рд╕рджрд╕реНрдпрддрд╛ рд▓рд┐рдиреБрд╣реЛрд╕реН ЁЯЩВ

PS рд░ рдпрд╣рд╛рдБ рдмреАрдк рдЫ рдбрд╛рдЯрд╛рд╕реЗрдЯ.

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди