แ แแแแกแแช แกแแแฎแแแฌแแ แแแแแแ แแแกแ แฃแแแ, แแ แแ แแคแแ แ แแฅแแแแ แแแกแแแแแแแแแ แแ แแแแแแฌแงแแแขแ แงแแแแ แกแขแแขแแ Habrahabr-แแแ (แแ แแแกแแแ แแแแแแจแแ แแแฃแแ แแแแขแคแแ แแแแแแแ) แแแแแแแแฌแแ แ แแแแแแฃแขแแ แจแ แแ แแแแแแแแแแแ.
แแงแ แ แแแแแแแแ แกแแแแขแแ แแกแ แแแแแแ. แแแ แแแแ แแแแแแแ แแ แแก แกแขแแขแแแแแก แคแแ แแแขแแกแ แแ แแแแแแแก แแแแแแแแ แแแ แกแแแขแแก แแ แกแแแแแแก 12 แฌแแแก แแแแแแแแแแแจแ. แแแแแแแแแ, แแแแแแ แแ แแแแแก แแแแแแแแ แกแแแแแแ แกแแฉแแแแแแแแแ. แแแแ แซแแแแแ - แญแ แแก แฅแแแจ.
แแแ แฉแแแแก แแ แแชแแกแ
แแแแก แแแกแแแแแแ, แแฃ แ แแแแ แแแแแแแแ แแ แฐแแแ แ, แกแแญแแ แ แแงแ แแแกแ แงแแแแ แกแขแแขแแแก แแแแแ แแ แแแแแแ แแแขแ-แแแคแแ แแแชแแแก (แแแแแแแแแ, แแแ แแฆแแแแก) แแแแฆแแแ. แจแแแแแแแแ แแแ แแแแแแ แแงแ, แ แแแแแ แงแแแแ แกแขแแขแแแก แแแฃแแแแ แฐแแแแก "habrahabr.ru/post/337722/" แแ แแแแ แแแ แแแชแแแฃแแแ แแแแชแ แแ แแแแแแแแแแ แแแแ. แแแแก แชแแแแ, แ แแ แแแแ แแแกแขแก แแฅแแก 350 แแแแกแแ แแแแแ แแแแแแแ แ แแชแฎแแ, แแ แฃแแ แแแแ แแแแแแฎแแแ แงแแแแ แจแแกแแซแแ แแแแฃแแแแขแแก ID-แก แแแ แงแฃแแจแ (แแแแแแแก แแแแ):
import numpy as np
from multiprocessing import Pool
with Pool(100) as p:
docs = p.map(download_document, np.arange(350000))
แคแฃแแฅแชแแ download_document
แชแแแแแแก แแแแ แแแก แฉแแขแแแ แแแแก แจแแกแแแแแแกแ id-แแ แแ แชแแแแแแก แแแแจแแแแแแแแแ แแแคแแ แแแชแแแก แแแแฆแแแแก 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
, แ แแแแแแช แแแ แแแแแ แแแแแแแงแแแ, แ แแแแแ แแแก แแแแแแแแชแแแแ &#
แแขแแแแแแฃแแแ, html แแ แแแฃแแแก แแแกแแฌแงแแกแแ แแแแแแฉแแแ. แแ แฃแแแ แแแแแ แแแแ แจแแแ แแแแแแก แแแแแแแแแก, แแแแ แแ แคแแ แฃแแแ แจแแแแแแแแแแแ, แ แแ แจแแแแซแแแแ แฃแแ แแแแ แจแแชแแแแแ แแแ แกแแ แ.
แแแกแแแ, แแ แแแแแฎแแ แฎแ แงแแแแ แแฃแแแแแแชแแแก แแแแขแแแ แแแ, แแแ แแ แกแแแแกแ. 65927, 162075 แแ 275987 แแแแ แแแแ แแแแฃแแแแขแแแ แแงแแกแแแ แแ แฌแแแจแแแ แฉแแแ แแแขแแแแ แฃแกแแ. แแก แแ แแก แกแขแแขแแแแ, แจแแกแแแแแแกแแ, แฏแแแแกแแ แแแขแแก แฏแแญแแแก แจแแกแแฎแแ, แ แแแแแแช แฉแแแแขแแแ แแแแก แแแแแ pdf-แก, SMS แแแแแกแแกแงแแ แแ แแแ แแแแก แแ แแฃแแแ แแก แแแแแแแขแแแแก แแแแ แแแแก แกแแฎแแ แแ CrashSafari.com แกแแแขแแก แจแแกแแฎแแ, แ แแแแแแช แแแแแแแแก iPhone-แแแก แแแแแขแแแ แแแแจแ. แแแขแแแแ แฃแกแแ แแฆแแแแฉแแแ แแแแแ แแ แแ แกแขแแขแแ แแแแแแแแแแแ, แกแแกแขแแแแก แกแแแแแ แแแแก แแ แแก: แแแแแแแแกแแ 338586 แกแแ แแแขแแแแก แจแแกแแฎแแ แชแฎแแแแแแแแก แแแฆแแแแแก แแแแกแแแขแแ, แ แแแแแแแช แแงแแแแแแ แแแแฎแแแ แแแแแก แแ แแชแแกแแ แก แแ แแแขแแแแแฃแขแแก แแแกแแแแแแแแแ. แแกแ แ แแ, แฉแแแ แจแแแแแซแแแ แแแแแฉแแแแ, แ แแ แแแขแแแแ แฃแกแแก แแฃแจแแแแ แกแแแแแแ แแแแแแแขแฃแ แแ.
โแแแแโ แกแขแแขแแแแ แแแขแแแชแแฃแ แ แแแฅแกแแแฃแแแก แแฎแแแแ แแแฎแแแแ แ แแฆแแแฉแแแ - 166307 แชแแแ. แแแแแ แฉแแแแก แจแแกแแฎแแ แฐแแแ แ แแซแแแแ แแแ แแแแขแแแก "แแแแ แแ แแแซแแแแแแฃแแแ, แฌแแจแแแแแ แแ แกแแแ แแแ แแ แแ แกแแแแแแ". แแกแ, แงแแแแแคแแ แ แจแแแซแแแแ แแแฎแแแก.
แกแขแแขแแแแแก แแขแแแ แแแแก แแแฐแงแแ แขแแฅแแแแฃแ แ แกแแแฃแจแแแแแ: แแแแแแแแแ, แแแแแฅแแแงแแแแแก แแแ แแฆแแแ แฃแแแ แแแแแแแแแแฃแแแงแ แคแแ แแแขแแแแ "'21 แแแแแแแแ แ 2006 แฌแแแก 10:47 แกแแแแแ" แกแขแแแแแ แขแแ. datetime
, แฎแแแ "12,8k" แแแฎแแ - 12800 แฌแแแก. แแ แแขแแแแ แแแแแ แ แแแแแแแแ แแแชแแแแแขแ แแแแแแแแ. แงแแแแแแ แกแแกแแชแแแ แฎแแแแแก แแแแแแแกแแแ แแ แแแแแชแแแแ แขแแแแแแแ แแ แแก แแแแแแจแแ แแแฃแแ: แแแแแแ แ แซแแแ แแแกแขแก แฐแฅแแแแ int overflow แแ แแแแแแฃแแแ แแแแฆแ 65535 แฎแแ.
แจแแแแแแ, แกแขแแขแแแแแก แขแแฅแกแขแแแแ (แกแฃแ แแแแแแก แแแ แแจแ) แแแฆแ 1.5 แแแแแแแแขแ, แแแแแแขแแ แแแ แแแขแแแแคแแ แแแชแแแ - แแแแแ 3 แแ แแแแฎแแแแแแ แแกแ แแแแแแแแขแ - แแแขแ-แแแคแแ แแแชแแ แกแขแแขแแแแแก แจแแกแแฎแแ. แแแแก แกแ แฃแแ แจแแแแฎแแ แจแแกแแซแแแแแแแ RAM-แจแ, แ แแช แกแแกแแแแแแแ แกแแฃแ แแ แแแ แแงแ แฉแแแแแแก.
แกแขแแขแแแแแก แแแแแแแ แแแแแฌแงแ แแ แ แแแแแ แขแแฅแกแขแแแแแแ, แแ แแแแ แแแขแแแแคแแ แแแชแแแแแ: แแแ แแฆแแแ, แขแแแแแ, แฐแแแแแ, แแแฎแแแแ แแ แแแฌแแแแแแแ. แแฆแแแฉแแแ, แ แแ แแแก แแแแ แแก แแฅแแ แจแแแซแแ.
แฐแแแ แแฐแแแ แแก แแแแแแแแ แแแแก แขแแแแแแชแแแแ
แกแขแแขแแแแ แกแแแขแแ แฅแแแงแแแแแ 2006 แฌแแแแแ; แงแแแแแแ แแแขแแแกแแฃแ แแ - 2008-2016 แฌแแแแจแ.
แ แแแแแแแ แแฅแขแแฃแ แแ แแแแแฎแแแแแ แแก แกแขแแขแแแแ แกแฎแแแแแกแฎแแ แแ แแก, แแ แช แแกแ แแแแแแ แแแกแแคแแกแแแแแแ. 2012 แฌแแแก แแ แฃแคแ แ แแฎแแแแแแ แแแแแก แขแแฅแกแขแแแแ แแแขแ แแแแแแขแแ แ แแ แ แแแขแแแแ แแแแฆแ, แแแแ แแ แแฎแแ แขแแฅแกแขแแแก แแแขแ แแแฎแแ แแ แกแแแแจแแ แแฅแแก. แแก แแแขแ แแแ แแ แแแแแ แแ แแแแฅแชแ (แแแแแฎแแแ แแ) แแฎแแแแ แแ แแฎแแ, 2015 แฌแแแก. แจแแกแแซแแแ, แแแแแแแแแฃแ แ แแ แแแแแขแแแฃแ แ แแ แแแแกแแก แแแ แแแแแจแ, แแแแแฎแแแแแ แงแฃแ แแแฆแแแ IT แแแแแแแแแแ แฃแคแ แ แแขแแแแแแฃแ แกแแแแแฎแแแแ แแแแแแขแแแ.
แแแแแ แกแขแแขแแแแแก แแแ แแ, แแแแแ แแแขแ แแแแแแขแแ แ แแแแแแแฌแแ แ. 6 แแแแแแแ แแแแแแขแแ แ แแงแ, แแฃแแชแ แแแแแแ 240 แแแแกแ แแแแ แซแแแ (โแแแคแ แแแแ แฃแชแฎแแแแแแแขแแแ แแ แแแแแแฅแแแงแแ แแก แฌแแ แฌแแ แ แแฅโ). แแแแแแขแแ แแแแก แกแแกแแ แแแแแ แแแแกแแแ แแก แแ แแก, แ แแ แแแ แแฅแแ แแ แแแก แจแขแแแแ. แแแแแแขแแ แแแแก แแ แแแก แจแแกแฌแแแแแ, แฃแฎแแจแแ แแแฎแแแแแแ, แ แแแแก แแแแแฎแแแ แกแแแ แแแ แกแขแแขแแแแ.
แแฆแแแฉแแแ, แ แแ แกแขแแขแแแแแก แฃแแแขแแกแแแ แกแแแฆแแช แแแแแก 10-แแแ แกแแฆแแแแก 20-แแแ แแฌแแ แแแ แแ แแแแแแขแแ แแแฃแแแช, แ.แ. แฉแแแฃแแแแ แแ แแแกแแแแแก แกแแแฃแจแแ แแฆแแก. แแก แจแแแซแแแแ แแแจแแแแแแก, แ แแ Habr แแแแแฎแแแ แแ แแคแแกแแฃแแ แแแแแแแแกแแแแก แแ แแก แแ แแก แแแ แแ แแแ แกแแแกแแฎแฃแ แจแ แแแญแแแแฃแ แแแแกแแแแก. แกแฎแแแแ แจแแ แแก, แแฆแแก แแ แแแก แแก แแแแแฌแแแแแ แกแขแแแแแฃแ แแ แฐแแแ แแก แแแแ แกแแแแแแ แแฆแแแแ.
แแฃแแชแ, แแแแแแขแแ แแก แแ แแแก แจแขแแแแแก แแแแแแ แ แฃแแแ แแขแแกแแแ แแ แแ แแก แแฆแแก แแ แ, แแ แแแแ แกแขแแขแแแก โแแฅแขแแฃแ แ แชแฎแแแ แแแแกโ แฎแแแแ แซแแแแแแ. แแ แแแแแแแแแแ, แ แแแแ แแแฌแแแแแแ แแ แ แกแขแแขแแแก แแแแแฅแแแงแแแแแแแ แแแก แแแแแแขแแ แแแแ. แแฆแแแฉแแแ, แ แแ แแฎแแ แแแแแแแฃแ แ แแแแแแขแแ แ (แแฌแแแแ แฎแแแ) โโแแแแแก แแแแฎแแแแแแ 20 แกแแแแจแ, แ.แ. แแแแแฅแแแงแแแแแแแ แแแ แแแ แแฆแแก, แกแแจแฃแแแแ, แกแขแแขแแแก แงแแแแ แแแแแแขแแ แแก แแแฎแแแแ แแ แชแแขแ แแแขแ แ แฉแแแ. แแ แแ แแฆแแจแ แแกแแแ แขแแแแแแ แงแแแแ แแแแแแขแแ แแก 75%. แแแแแแ แแฃแแแ, แแแ แแฃแแ แกแขแแขแแแแ แแแแแ แฃแคแ แ แกแฌแ แแคแแ แแแแแฎแแแแแ - แแแแแแแแแ, 2010 แฌแแแก แแแแแแขแแ แแแแก แแแฎแแแแ แ แแแ แแแแ 6 แกแแแแแก แแแแแแแแแแแจแ แแแแแแ.
แฉแแแแแแก แแแฃแแแแแแแ แแงแ, แ แแ แแแแแแขแแ แแแ แแแฎแแแแ แซแแแแแ: แแแแแแขแแ แจแ แกแแแแแแแแแแก แกแแจแฃแแแ แ แแแแแแแแ แแแแฅแแแก แแแแ แแแแแ แฐแแแ แแก แกแแชแแชแฎแแแก แแแแซแแแแ!
แฃแคแ แ แแแ แขแแแ แแแแแฎแแแฃแ แแแ แแแแ แ แแแแแแขแแ แแแ แแ แแก แฎแแแแ. แแแแ แ แกแฎแแ แ แแกแฃแ แกแแกแแแ แแแแกแฎแแแแแแแ, Habrรฉ-แแ แจแแแแซแแแแ แแแแแแแแกแแ แแ แ แแฎแแแแ แแแแฃแกแแแ, แแ แแแแ แแแแฃแกแแแแช. แแฃแแชแ, แแแแแฎแแแแ แแ แช แแกแ แฎแจแแ แแ แแงแแแแแก แแแแ แจแแกแแซแแแแแแแแก: แแแฌแแแแแแก แแแแแแแแแแแ แฌแแแ แงแแแแ แแแฆแแแฃแ แฎแแแแ แแแแฎแแแแแแ 15%-แแ. แแแ แ แแแขแ แแงแ, แแแแ แแ แแ แแแ แแแแแแแแแแแจแ แแแแแฎแแแแ แฃแคแ แ แแแแแแ แแแฎแแ.
แแแแแ แขแแฅแกแขแแแ แแ แแแ แแแแแแแแแแแจแ แจแแแชแแแแ. แแแแแแแแแ, แขแแฅแกแขแแก แขแแแแฃแ แ แกแแแ แซแ แแ แฌแงแแแขแก แกแขแแแแแฃแ แแ แแ แแแก แกแแแขแแก แแแจแแแแแกแแแแแแ, แแแฃแฎแแแแแแ แแ แแแแกแแกแ. แแแฌแแแฃแแจแ แขแแฅแกแขแแแ แแแแฅแแแก แแแฏแแ แแแแ แซแแแแ!
แจแแแชแแแแ แขแแฅแกแขแแแแก แกแขแแแแช (แแแ แแแแ แแแแฎแแแแแแ). แฐแแแ แแก แแ แกแแแแแแก แแแ แแแ แฌแแแแจแ, แแแแแแแแแ, แแแแแแ แแ แแแแแก แแ แ แแชแฎแแแแแก แฌแแแ แขแแฅแกแขแแแจแ:
แกแแแขแแก แกแแแ แแ แแแแแแแแแก แแแแแ แแแแก แจแแแแแ, แแแแแแฌแงแแแขแ แแแแแแแแ, แแฃ แ แแแแ แจแแแชแแแแ แกแฎแแแแแกแฎแแ แแแแแแแก แแแแฃแแแ แแแ. แแแแแแ แจแแแซแแแแ แแแขแแแแขแฃแ แแ แจแแแ แฉแแก แขแแฅแกแขแแแแแแ, แแแแ แแ แแแแฌแงแแแแแแแแก, แแฅแแแ แแ แจแแแแซแแแแ แฎแแแแฎแแ แแแแแแแแแแ แแแ แแแแ, แแ แแแแ แแแแแแงแแแแ แแแ แขแแแแแ, แ แแแแแแแช แแแแแแ แแแฃแแแ แแแแแแฃแแ แกแขแแขแแแก แแแขแแ แแแแก แแแแ . แแ แแแแฎแแขแ แแแฎแ แขแแแแฃแ แ แขแแแแแแชแแ แกแฅแแแแแ. "แแฃแแแแก" แแแแ แแแแแแแแ แแแแแ แแแแแแแ แแแแ (แจแแกแแซแแแ แซแแ แแแแแแ SEO-แแก แแแแ), แแแแ แแ แฌแแแแแก แแแแแแแแแแแจแ แฌแแแแจแ แแแแแแก. Javascript แแแแฃแแแ แฃแแ แแแแ แแงแ แแ แแแ-แแแแ แแแ แแแแ, แแแแ แแ แแแแฅแแแแแแชแแแแแแแแ แกแฌแ แแคแแ แแแแแแแ แแแแฃแแแ แแแ แแฎแแแแ แแแแ แฌแแแแจแ. Linux, แแแแ แ แแฎแ แแ, แแแแแแ แแ แแฅแขแฃแแแฃแ แ แแแ แฉแ แแแฌแแแฃแแแก แแแแแแแแแแแจแ.
แ แ แแฅแแ แฃแแแ, แแแแแแขแแ แแกแแ, แ แ แแแแแแ แแแแแแแก แฃแคแ แ แแแข แแแแแฎแแแแก. แแ แแแแแแแแแแ แแแฎแแแแแก, แฎแแแแแก แแ แแแแแแขแแ แแแแก แแแแแแแฃแ แ แ แแแแแแแแ แแแแแแฃแ แแแแแแ. แแ แ แ แแแฎแแ:
- แงแแแแแแ แแแฎแฃแแ แแแแแแ: arduino, แแแ แแแแแแแ, แแแ แแแแแแแแ แแแ, แแแแฏแแกแขแ, แแแฃแแแแ, css, html, html5, nginx, แแแแแ แแแแแแ.
- แงแแแแแแ "แแแฌแแแแแฃแแ" แแแแแแ: vkontakte, แแฃแแแ แ, jquery, opera, c, html, แแแ แแแแแแแแ แแแ, html5, css, แแแ แแแแแแแ.
- แงแแแแแแ แแแแฎแแแฃแแ แแแแแแ: แแแแ แ, แกแแแแแ, แแแแแกแฃแคแแแ, vkontakte, ubuntu, แกแแแฃแจแแ, nokia, nginx, arduino, firefox.
แกแฎแแแแ แจแแ แแก, แ แแแแแ แแแแแแก แแแแแ แแ, แจแแแแซแแแแ แแแแ แกแแฎแจแแ แแก แแแฎแแแแแ (แแ แจแแแแแ แแ แจแแแแแแแ)
- Habr-แแก แแ แกแแแแแแก แแแแแ แฌแแแแแก แแแแแแแแแแแจแ, แงแแแแแแ แแแแฃแแแ แฃแแ แขแแแแแ (แแแแแแแแแแ) แแ แแก google, android, javascript, microsoft, linux, php, apple, java, python, แแ แแแ แแแแ แแแ, แกแขแแ แขแแแแแ, แแแแแแแแ แแแ, ios, startup, แกแแชแแแแฃแ แ แฅแกแแแแแ.
- 2017 แฌแแแก แงแแแแแแ แแแแฃแแแ แฃแแ แแงแ javascript, python, java, android, แแแแแแแแแแแขแ, แแแแฃแฅแกแ, c++, แแ แแแ แแแแ แแแ, php, c#, ios, แแแแฅแแแฃแ แ แกแฌแแแแแแ, แแแคแแ แแแชแแแก แฃแกแแคแ แแฎแแแแ, microsoft, react.
แแ แ แแแขแแแแแแแก แจแแแแ แแแแกแแก แจแแแซแแแแ แงแฃแ แแแฆแแแ แแแแฅแชแแแ, แแแแแแแแแ, Python-แแก แแแแแ แฏแแแแฃแ แแกแแแแแแแแก แแ php-แแก แแแแแจแแแแแแก, แแ แกแขแแ แขแแ แแแแแแแก โแแแแก แฉแแกแแแแกโ แแ แแแแฅแแแแแแชแแแแแแแแก แแฆแแแแแแแก.
Habrรฉ-แแ แงแแแแ แขแแแก แแ แแฅแแก แแกแแแ แแจแแแ แ แแแแแขแฃแ แ แจแแฆแแแแ. แแแแแแแแแ, แแฅ แแ แแก แแแแฃแแ แขแแแ, แ แแแแแแแช แแฎแแแแ แแ แแฎแแ แจแแฎแแแแแ, แแแแ แแ แฃแแ แแแแ แกแแกแแชแแแ แแแแแฉแแแแ. แแกแ แ แแ: โแแแแ แแ แแก แแ แแแ แแกแแก แแแแแซแ แแแแแแแ แซแแแโ, โแฉแแขแแแ แแแ แคแแแแ แแแกแแแก แกแฃแ แแแแแแโ, โแแแแแแก แจแขแแขแโ, โแแ แแแโ, โแกแฃแแแ แแแแจแโ, โแแ แแฅแแแก แซแ แแแโ, โแจแแแแแก แแแกแแแแแแแแแ แกแแฅแแแแแโ, โแแ แแแฅแแก แแแแ แฎแแ แชแกแแแแ แแแแฅแแแแจแโ, โแแ, แ แแแแ แช แงแแแแแแแแกโ, โแกแแกแแชแแแ แขแแแแแ แแแ แแแแแคแแฅแ แแโ. แแกแแแ แกแขแแขแแแแแก แแแแแก แแแกแแแแแแแ, แขแแแแแ แกแแแแแ แแกแ แแ แแ แแก - แแฅแแแ แแแแแฌแแแ แกแขแแขแแแแแก แขแแฅแกแขแแแแ แแแแแขแฃแ แ แแแแแแแ แแแแก แแแแฎแแ แชแแแแแแ.
แกแขแแขแแแแแก แจแแแแแ แกแแก แฃแคแ แ แแแขแแแฃแ แ แแแแแแแ แแฅแแแแ แแแแแแแแ แแแกแขแจแ. แแแ แแแ แ แแแจแ, แแ แแแแแ แแ แแแแจแแแ แแแแแแ, แ แแแแแแช แแ แแแแแแแ แแแก แกแขแแขแแแก แแแแ แแแก แแแฎแแแแแก แ แแแแแแแแแก แแแกแ แจแแแแแ แกแแแแ แแแแแแแแแแ แ. แแแแ แแช, แแแแแ แแแกแฌแแแแ แแแ แแฃแ แฅแกแแแก แขแแฅแกแขแแแแก แแแแแ แแ แแแ แแแแแ แกแขแแแแ, แ แแแแ แช Habr-แแก แแแขแแ แแแ. แแกแ แ แแ แแแแแแฌแแ แแ ๐
PS แแ แแฅ แแ แแก แกแแแแแแ
แฌแงแแ แ: www.habr.com