ΠΠΎΠ³Π°ΡΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎΠ΄ΠΈΡΠ½ΠΈΡΡ ΠΠ»ΠΈΠ²ΠΈΠ΅ ΠΏΡΠΈΠΊΠ»ΡΡΠΈ, Π½ΡΠΌΠ°Ρ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡΠ°Π²Ρ ΠΈ ΡΠ΅ΡΠΈΡ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»Ρ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ°ΡΠΈΠΈ ΠΎΡ Habrahabr (ΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ) Π½Π° ΠΌΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΡ ΠΈ Π΄Π° ΠΏΡΠΎΡΡΠ°.
ΠΠΌΠ°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΠΈΡΡΠΎΡΠΈΠΈ. ΠΡΡΠ²ΠΈΡΡ ΠΎΡ ΡΡΡ Π΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠΎΡΠΌΠ°ΡΠ° ΠΈ ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ°ΡΠ° Π½Π° ΡΡΠ°ΡΠΈΠΈΡΠ΅ ΠΏΡΠ΅Π· 12-ΡΠ΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΉΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ°ΡΠ° Π½Π° Π½ΡΠΊΠΎΠΈ ΡΠ΅ΠΌΠΈ Π΅ Π΄ΠΎΡΡΠ° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π½Π°. ΠΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΈΠ΅ - ΠΏΠΎΠ΄ ΡΠ°Π·ΡΠ΅Π·.
ΠΡΠΎΡΠ΅Ρ Π½Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅
ΠΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° Habr, Π±Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΏΡΠ΅Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΠΌΡ ΡΡΠ°ΡΠΈΠΈ ΠΈ Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΠΌ ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π°ΡΠΈ). ΠΠ°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ΡΠΎ Π±Π΅ΡΠ΅ Π»Π΅ΡΠ½ΠΎ, Π·Π°ΡΠΎΡΠΎ Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΠΊΡΠΌ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ°ΡΠΈΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΊΠ°ΡΠΎ "habrahabr.ru/post/337722/", Π° Π½ΠΎΠΌΠ΅ΡΠ°ΡΠ° ΡΠ° Π΄Π°Π΄Π΅Π½ΠΈ ΡΡΡΠΎΠ³ΠΎ ΠΏΠΎ ΡΠ΅Π΄. ΠΠ½Π°Π΅ΠΉΠΊΠΈ, ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΈΠΌΠ° ΡΠΈΡΠ»ΠΎ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ 350 Ρ ΠΈΠ»ΡΠ΄ΠΈ, ΡΠΎΠΊΡ-ΡΠΎ ΠΏΡΠ΅Π³Π»Π΅Π΄Π°Ρ Π²ΡΠΈΡΠΊΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ Π² ΡΠΈΠΊΡΠ» (ΠΊΠΎΠ΄ Π½Π° Python):
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
, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ
ΠΏΡΡΠ²ΠΈ, ΡΠ΅Π°Π³ΠΈΡΠ° Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡΡΠ° &#
Π±ΠΎΠ»Π΅Π·Π½Π΅Π½ΠΎ, ΡΡΠΈΡΠ°ΠΉΠΊΠΈ Π³ΠΎ Π·Π° Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° html ΠΎΠ±Π΅ΠΊΡΠ°. ΠΠ΅ΡΠ΅ ΡΡΡ
Π΄Π° ΠΏΡΠ°Π²Ρ ΡΠ΅ΡΠ½Π° ΠΌΠ°Π³ΠΈΡ, Π½ΠΎ Π²ΡΠ² ΡΠΎΡΡΠΌΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ
Π° ΠΏΡΠΎΡΡΠΎ Π΄Π° ΡΠΌΠ΅Π½ΠΈΡΠ΅ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ°.
Π’ΡΠ΅ΡΠΎ, ΡΡΠΏΡΡ Π΄Π° ΡΠ°Π·ΡΠΎΠ²Π°ΡΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ, Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠΈ. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Ρ Π½ΠΎΠΌΠ΅ΡΠ° 65927, 162075 ΠΈ 275987 Π±ΡΡ Π° Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ ΠΈΠ·ΡΡΠΈΡΠΈ ΠΎΡ ΠΌΠΎΡΡΠ° Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°. Π’ΠΎΠ²Π° ΡΠ° ΡΡΠ°ΡΠΈΠΈ, ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ Π·Π° Π²Π΅ΡΠΈΠ³Π° javascript, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΡΠ΅Π³Π»Ρ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ pdf, SMS ransomware ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π½Π°Π±ΠΎΡ ΠΎΡ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π° Π±ΡΠ°ΡΠ·ΡΡ ΠΈ ΡΠ°ΠΉΡΠ° CrashSafari.com, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ° iPhone ΠΊΡΠΌ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅. Antivirus ΠΎΡΠΊΡΠΈ Π΄ΡΡΠ³Π° ΡΡΠ°ΡΠΈΡ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ, ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°: ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ 338586 Π·Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π½Π° ΡΠ΅Π±ΡΠ°ΠΉΡΠ° Π½Π° ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° Π·Π° Π΄ΠΎΠΌΠ°ΡΠ½ΠΈ Π»ΡΠ±ΠΈΠΌΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π·Π° ΠΊΠΎΠΏΠ°Π΅Π½Π΅ Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ²Π°Π»ΡΡΠ°. Π’Π°ΠΊΠ° ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΡΠΈΡΠ°ΠΌΠ΅, ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π΅ Π΄ΠΎΡΡΠ° Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½Π°.
"ΠΠΈΠ²ΠΈΡΠ΅" ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ ΠΎΠΊΠ°Π·Π°Ρ Π° ΡΠ°ΠΌΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°ΡΠ° ΠΎΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ - 166307 Π±ΡΠΎΡ. ΠΠ° ΠΎΡΡΠ°Π½Π°Π»ΠΎΡΠΎ Habr Π΄Π°Π²Π° ΠΎΠΏΡΠΈΠΈ βΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π΅ ΠΎΡΡΠ°ΡΡΠ»Π°, ΠΈΠ·ΡΡΠΈΡΠ° Π΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠΎ Π½Π΅ Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π»Π°β. Π, Π²ΡΠΈΡΠΊΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ»ΡΡΠΈ.
ΠΠ°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΠΈΡΠ΅ Π±Π΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π²Π°Π½ΠΎ ΠΎΡ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠ° ΡΠ°Π±ΠΎΡΠ°: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π°ΡΠΈΡΠ΅ Π½Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½ΠΈ ΠΎΡ ΡΠΎΡΠΌΠ°ΡΠ° β'21 Π΄Π΅ΠΊΠ΅ΠΌΠ²ΡΠΈ 2006 Π³. Π² 10:47 Ρ.β Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡ datetime
, Π° "12,8k" Π³Π»Π΅Π΄Π°Π½ΠΈΡ - Π½Π° 12800. ΠΠ° ΡΠΎΠ·ΠΈ Π΅ΡΠ°ΠΏ ΠΈΠ·Π»ΡΠ·ΠΎΡ
Π° ΠΎΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ°. ΠΠ°ΠΉ-ΡΠΌΠ΅ΡΠ½ΠΈΡΡ Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ ΠΏΡΠ΅Π±ΡΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³Π»Π°ΡΠΎΠ²Π΅ΡΠ΅ ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ: Π½ΡΠΊΠΎΠΈ ΡΡΠ°ΡΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠΌΠ°Ρ
Π° int overflow ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ
Π° 65535 XNUMX Π³Π»Π°ΡΠ° Π²ΡΡΠΊΠ°.
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈΠΈ (Π±Π΅Π· ΡΠ½ΠΈΠΌΠΊΠΈ) ΠΌΠΈ ΠΎΡΠ½Π΅Ρ Π° 1.5 Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠ°, ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ Ρ ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ - ΠΎΡΠ΅ 3 ΠΈ ΠΎΠΊΠΎΠ»ΠΎ ΡΡΠΎ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ° - ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΡΠ°ΡΠΈΠΈ. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠ°Π·ΠΈ ΠΈΠ·ΡΡΠ»ΠΎ Π² RAM, ΠΊΠΎΠ΅ΡΠΎ Π±Π΅ΡΠ΅ ΠΏΡΠΈΡΡΠ½Π° ΠΈΠ·Π½Π΅Π½Π°Π΄Π° Π·Π° ΠΌΠ΅Π½.
ΠΠ°ΠΏΠΎΡΠ½Π°Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΡΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π΅ ΠΎΡ ΡΠ°ΠΌΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅, Π° ΠΎΡ ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: Π΄Π°ΡΠΈ, ΡΠ°Π³ΠΎΠ²Π΅, Ρ ΡΠ±ΠΎΠ²Π΅, ΠΈΠ·Π³Π»Π΅Π΄ΠΈ ΠΈ Ρ Π°ΡΠ΅ΡΠ²Π°Π½ΠΈΡ. ΠΠΊΠ°Π·Π° ΡΠ΅, ΡΠ΅ ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ.
Π’Π΅Π½Π΄Π΅Π½ΡΠΈΠΈ Π² ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π₯Π°Π±ΡΠ°Ρ Π°Π±Ρ
Π‘ΡΠ°ΡΠΈΠΈΡΠ΅ Π² ΡΠ°ΠΉΡΠ° ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ ΠΎΡ 2006 Π³.; Π½Π°ΠΉ-ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΎ - ΠΏΡΠ΅Π· 2008-2016Π³.
ΠΠΎΠ»ΠΊΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ° Π±ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈ ΡΠ΅Π·ΠΈ ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠ΅Π½ΠΈ. Π’Π΅ΠΊΡΡΠΎΠ²Π΅ ΠΎΡ 2012 Π³. ΠΈ ΠΏΠΎ-ΠΌΠ»Π°Π΄ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ ΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ, Π½ΠΎ ΠΏΠΎ-Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ ΠΈΠΌΠ°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ Π³Π»Π΅Π΄Π°Π½ΠΈΡ ΠΈ ΠΎΡΠΌΠ΅ΡΠΊΠΈ. Π’Π΅Π·ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΡΠ΅ Π΄ΡΡΠΆΠ°Ρ Π° ΠΏΠΎ ΡΡΡΠΈΡ Π½Π°ΡΠΈΠ½ (Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°) ΡΠ°ΠΌΠΎ Π²Π΅Π΄Π½ΡΠΆ, ΠΏΡΠ΅Π· 2015 Π³. ΠΠΎΠΆΠ΅ Π±ΠΈ Π² ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π° ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠ° ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΡΠ΅ΡΠΊΠ° ΠΊΡΠΈΠ·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΈΡΠ°ΡΠ΅Π»ΠΈΡΠ΅ ΡΠ΅ Π΅ ΠΈΠ·ΠΌΠ΅ΡΡΠΈΠ»ΠΎ ΠΎΡ ΠΠ’ Π±Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΠΊΡΠΌ ΠΏΠΎ-Π±ΠΎΠ»Π΅Π·Π½Π΅Π½ΠΈ ΡΠ΅ΠΌΠΈ.
ΠΡΠ²Π΅Π½ ΡΠ°ΠΌΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΈ, ΠΈΠ·ΡΠ΅Π³Π»ΠΈΡ ΠΎΡΠ΅ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ ΠΊΡΠΌ ΡΡΡ . ΠΠΌΠ°ΡΠ΅ 6 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠ°, Π½ΠΎ 240 Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΎΡ ΡΡΡ Π±ΡΡ Π° Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΈ (βΠΠΠ Π΄ΠΎΠ»Π΅ΡΡ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° ΡΠΎΠ·ΠΈ Π½Π°Π΄ΠΏΠΈΡ ΡΡΠΊβ). ΠΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π½Π° ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ Π΅, ΡΠ΅ ΠΈΠΌΠ°Ρ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΏΠ΅ΡΠ°Ρ. ΠΠ°ΡΠΎ ΠΈΠ·ΡΡΠ°Π²Π°ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠ³Π° ΡΡΠ°ΡΠΈΠΈΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠΎ ΡΠ΅ ΡΠ΅ΡΠ°Ρ.
ΠΠΊΠ°Π·Π° ΡΠ΅, ΡΠ΅ Π³ΠΎΠ»ΡΠΌΠ° ΡΠ°ΡΡ ΠΎΡ ΡΡΠ°ΡΠΈΠΈΡΠ΅ ΡΠ΅ ΠΏΠΈΡΠ°Ρ ΠΈ ΠΊΠΎΠΌΠ΅Π½ΡΠΈΡΠ°Ρ Π½ΡΠΊΡΠ΄Π΅ ΠΎΡ 10 Π΄ΠΎ 20 ΡΠ°ΡΠ°, Ρ.Π΅. Π² Π΅Π΄ΠΈΠ½ ΡΠΈΠΏΠΈΡΠ΅Π½ ΠΌΠΎΡΠΊΠΎΠ²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ΅Π½ Π΄Π΅Π½. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Habr ΡΠ΅ ΡΠ΅ΡΠ΅ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΡΠ΅Π»ΠΈ ΠΈ ΡΠ΅ ΡΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡΡ Π½Π°ΡΠΈΠ½ Π·Π° ΠΎΡΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°. ΠΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ, ΡΠΎΠ²Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π΅ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ ΠΎΡ ΡΠ°ΠΌΠΎΡΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π²Π°Π½Π΅ Π½Π° Habr Π΄ΠΎ Π½Π°ΡΠΈ Π΄Π½ΠΈ.
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΏΠΎΠ»Π·Π° ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈΡ ΠΏΠ΅ΡΠ°Ρ Π½Π° ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠ° Π½Π΅ Π΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΎΡ Π΄Π΅Π½Ρ, Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° βΠ°ΠΊΡΠΈΠ²Π½ΠΈΡ ΠΆΠΈΠ²ΠΎΡβ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ°. ΠΠ·ΡΠΈΡΠ»ΠΈΡ ΠΊΠ°ΠΊ ΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΎΡ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ° Π΄ΠΎ Π½Π΅ΠΉΠ½ΠΈΡ ΠΊΠΎΠΌΠ΅Π½ΡΠ°Ρ. ΠΠΊΠ°Π·Π° ΡΠ΅, ΡΠ΅ ΡΠ΅Π³Π° ΠΌΠ΅Π΄ΠΈΠ°Π½Π½ΠΈΡΡ ΠΊΠΎΠΌΠ΅Π½ΡΠ°Ρ (Π·Π΅Π»Π΅Π½Π° Π»ΠΈΠ½ΠΈΡ) ΠΈΠ΄Π²Π° Π·Π° ΠΎΠΊΠΎΠ»ΠΎ 20 ΡΠ°ΡΠ°, Ρ.Π΅. Π½Π° ΠΏΡΡΠ²ΠΈΡ Π΄Π΅Π½ ΡΠ»Π΅Π΄ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ΡΠΎ ΡΠ΅ ΠΎΡΡΠ°Π²ΡΡ ΡΡΠ΅Π΄Π½ΠΎ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°ΡΠ° ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ ΠΊΡΠΌ ΡΡΠ°ΡΠΈΡΡΠ°. Π Π·Π° Π΄Π²Π° Π΄Π½ΠΈ ΠΎΡΡΠ°Π²ΡΡ 75% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΏΠΎ-ΡΠ°Π½Π½ΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ ΡΠ΅ΡΠ°Ρ Π΄ΠΎΡΠΈ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ - Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ΅Π· 2010 Π³. ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°ΡΠ° ΠΎΡ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΠΈΠ΄Π²Π°Ρ Π² ΠΏΡΡΠ²ΠΈΡΠ΅ 6 ΡΠ°ΡΠ°.
ΠΠ° ΠΌΠ΅Π½ Π±Π΅ΡΠ΅ ΠΈΠ·Π½Π΅Π½Π°Π΄Π°, ΡΠ΅ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΡΠ΅ ΡΠ΄ΡΠ»ΠΆΠΈΡ Π°: ΡΡΠ΅Π΄Π½ΠΈΡΡ Π±ΡΠΎΠΉ Π·Π½Π°ΡΠΈ Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°Ρ ΠΏΠΎΡΡΠΈ ΡΠ΅ ΡΠ΄Π²ΠΎΠΈ ΠΏΡΠ΅Π· ΡΠ΅Π»ΠΈΡ ΠΆΠΈΠ²ΠΎΡ Π½Π° Habr!
ΠΠΎ-Π»Π΅ΡΠ½Π° ΠΎΠ±ΡΠ°ΡΠ½Π° Π²ΡΡΠ·ΠΊΠ° ΠΎΡ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΡΠ° Π³Π»Π°ΡΠΎΠ²Π΅ΡΠ΅. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ ΡΠ΅ΡΡΡΡΠΈ, Π½Π° HabrΓ© ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΏΠ»ΡΡΠΎΠ²Π΅, Π½ΠΎ ΠΈ ΠΌΠΈΠ½ΡΡΠΈ. Π§ΠΈΡΠ°ΡΠ΅Π»ΠΈΡΠ΅ ΠΎΠ±Π°ΡΠ΅ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΡΠ΅ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ: ΡΠ΅ΠΊΡΡΠΈΡΡ Π΄ΡΠ» Π½Π° Π½Π΅Ρ Π°ΡΠ΅ΡΠ²Π°Π½ΠΈΡΡΠ° Π΅ ΠΎΠΊΠΎΠ»ΠΎ 15% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄Π°Π΄Π΅Π½ΠΈ Π³Π»Π°ΡΠΎΠ²Π΅. ΠΡΠ΅Π΄ΠΈ ΠΈΠΌΠ°ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅, Π½ΠΎ Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈΡΠ΅ ΡΡΠ°Π½Π°Ρ Π° ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΈ.
Π‘Π°ΠΌΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ ΡΠ° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠ»ΠΈ Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ. Π’ΠΈΠΏΠΈΡΠ½Π°ΡΠ° Π΄ΡΠ»ΠΆΠΈΠ½Π° Π½Π° ΡΠ΅ΠΊΡΡΠ° Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ ΡΠΏΠΈΡΠ° Π΄Π° ΡΠ°ΡΡΠ΅ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ ΠΎΡ ΡΠ°ΠΌΠΎΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΡΠ°, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΠΊΡΠΈΠ·ΠΈΡΠ΅. ΠΠ° Π΅Π΄Π½ΠΎ Π΄Π΅ΡΠ΅ΡΠΈΠ»Π΅ΡΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ΡΠ΅ ΡΡΠ°Π½Π°Ρ Π° ΠΏΠΎΡΡΠΈ Π΄Π΅ΡΠ΅Ρ ΠΏΡΡΠΈ ΠΏΠΎ-Π΄ΡΠ»Π³ΠΈ!
Π‘ΡΠΈΠ»ΡΡ Π½Π° ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ΡΠ΅ (Π² ΠΏΡΡΠ²ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠ΅) ΡΡΡΠΎ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ. ΠΡΠ΅Π· ΠΏΡΡΠ²ΠΈΡΠ΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Habr, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π΅Π»ΡΡ Π½Π° ΠΊΠΎΠ΄Π° ΠΈ ΡΠΈΡΠ»Π°ΡΠ° Π² ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ:
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠ°Π·Π±ΡΠ°Ρ ΡΡΠ»ΠΎΡΡΠ½Π°ΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ° Π½Π° ΡΠ°ΠΉΡΠ°, ΡΠ΅ΡΠΈΡ Π΄Π° ΠΈΠ·ΠΌΠ΅ΡΡ ΠΊΠ°ΠΊ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΠΌΠΈ. Π’Π΅ΠΌΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·Π±ΠΈΡΠ°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΡ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅, Π½ΠΎ ΠΊΠ°ΡΠΎ Π·Π° Π½Π°ΡΠ°Π»ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅ΠΎΡΠΊΡΠΈΠ²Π°ΡΠ΅ ΠΊΠΎΠ»Π΅Π»ΠΎΡΠΎ, Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΈ Π΅ΡΠΈΠΊΠ΅ΡΠΈ, ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ Π°Π²ΡΠΎΡΠΈΡΠ΅ Π½Π° Π²ΡΡΠΊΠ° ΡΡΠ°ΡΠΈΡ. ΠΠ° Π³ΡΠ°ΡΠΈΠΊΠ°ΡΠ° ΡΡΠΌ Π½Π°ΡΠ΅ΡΡΠ°Π» ΡΠ΅ΡΠΈΡΠΈ ΡΠΈΠΏΠΈΡΠ½ΠΈ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΠΈ. Π’Π΅ΠΌΠ°ΡΠ° βGoogleβ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΄ΠΎΠΌΠΈΠ½ΠΈΡΠ°ΡΠ΅ (ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π³Π»Π°Π²Π½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ SEO), Π½ΠΎ Ρ Π³ΠΎΠ΄ΠΈΠ½ΠΈΡΠ΅ Π³ΡΠ±ΠΈ ΡΠ΅Π³Π»ΠΎ. Javascript Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π° ΡΠ΅ΠΌΠ° ΠΈ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΡΠ°ΡΡΠ΅ Π±Π°Π²Π½ΠΎ, Π½ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΡΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΎΡΠ½Π° Π±ΡΡΠ·ΠΎ Π΄Π° Π½Π°Π±ΠΈΡΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡ Π΅Π΄Π²Π° ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Linux, ΠΎΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, ΠΎΡΡΠ°Π²Π° Π΅Π΄Π½Π°ΠΊΠ²ΠΎ Π°ΠΊΡΡΠ°Π»Π΅Π½ ΠΏΡΠ΅Π· ΡΡΠ»ΠΎΡΠΎ Π΄Π΅ΡΠ΅ΡΠΈΠ»Π΅ΡΠΈΠ΅.
Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΠΌ ΠΊΠΎΠΈ ΡΠ΅ΠΌΠΈ ΠΏΡΠΈΠ²Π»ΠΈΡΠ°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠΈΡΠ°ΡΠ΅Π»ΡΠΊΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ. ΠΠ·ΡΠΈΡΠ»ΠΈΡ ΡΡΠ΅Π΄Π½ΠΈΡ Π±ΡΠΎΠΉ Π³Π»Π΅Π΄Π°Π½ΠΈΡ, Π³Π»Π°ΡΠΎΠ²Π΅ ΠΈ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ Π²ΡΠ² Π²ΡΡΠΊΠ° ΡΠ΅ΠΌΠ°. ΠΡΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠΈ:
- ΠΠ°ΠΉ-Π³Π»Π΅Π΄Π°Π½ΠΈ ΡΠ΅ΠΌΠΈ: arduino, ΡΠ΅Π± Π΄ΠΈΠ·Π°ΠΉΠ½, ΡΠ΅Π± ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π΄Π°ΠΉΠ΄ΠΆΠ΅ΡΡ, Π²ΡΡΠ·ΠΊΠΈ, css, html, html5, nginx, Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ.
- ΠΠ°ΠΉ-Ρ Π°ΡΠ΅ΡΠ²Π°Π½ΠΈΡΠ΅ ΡΠ΅ΠΌΠΈ: vkontakte, Ρ ΡΠΌΠΎΡ, jquery, opera, c, html, ΡΠ΅Π± ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, html5, css, ΡΠ΅Π± Π΄ΠΈΠ·Π°ΠΉΠ½.
- ΠΠ°ΠΉ-ΠΎΠ±ΡΡΠΆΠ΄Π°Π½ΠΈΡΠ΅ ΡΠ΅ΠΌΠΈ: opera, skype, freelance, vkontakte, ubuntu, ΡΠ°Π±ΠΎΡΠ°, nokia, nginx, arduino, firefox.
ΠΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΡΠ°Π²Π½ΡΠ²Π°ΠΌ ΡΠ΅ΠΌΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ ΠΊΠ»Π°ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎ ΡΠ΅ΡΡΠΎΡΠ° (ΠΈ Π΄Π° ΡΡΠ°Π²Π½ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ Ρ
- ΠΠ° Π²ΡΠΈΡΠΊΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ Π½Π° Habr Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΠ΅ ΡΠ°Π³ΠΎΠ²Π΅ (Π² Π½ΠΈΠ·Ρ ΠΎΠ΄ΡΡ ΡΠ΅Π΄) ΡΠ° google, android, javascript, microsoft, linux, php, apple, java, python, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ios, ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅, ΡΠΎΡΠΈΠ°Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ
- ΠΡΠ΅Π· 2017 Π³. Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΡΠ° Π±ΠΈΠ»ΠΈ javascript, python, java, android, development, linux, c++, programming, php, c#, ios, machine learning, information security, microsoft, react
ΠΠΎΠ³Π°ΡΠΎ ΡΡΠ°Π²Π½ΡΠ²Π°ΡΠ΅ ΡΠ΅Π·ΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΠΏΠΎΠ±Π΅Π΄Π½ΠΈΡ ΠΌΠ°ΡΡ Π½Π° Python ΠΈ ΠΈΠ·ΡΠ΅Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° php ΠΈΠ»ΠΈ Π½Π° βΠ·Π°Π»Π΅Π·Π°β Π½Π° ΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΈ Π²ΡΠ·Ρ ΠΎΠ΄Π° Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎΡΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅.
ΠΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ°Π³ΠΎΠ²Π΅ Π½Π° HabrΓ© ΠΈΠΌΠ°Ρ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΡΠ²Π΅ΡΡΠ²Π°Π½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠΎ Π΄ΡΠ·ΠΈΠ½Π° ΡΠ°Π³ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΡΠ΅ΡΠ°Ρ ΡΠ°ΠΌΠΎ Π²Π΅Π΄Π½ΡΠΆ, Π½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΌΠΈ ΡΠ΅ ΡΡΡΡΠ²Π°Ρ ΡΠΌΠ΅ΡΠ½ΠΈ. Π ΡΠ°ΠΊΠ°: βΠΈΠ΄Π΅ΡΡΠ° Π΅ Π΄Π²ΠΈΠΆΠ΅ΡΠ°ΡΠ° ΡΠΈΠ»Π° Π½Π° ΠΏΡΠΎΠ³ΡΠ΅ΡΠ°β, βΠ·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ»ΠΎΠΏΠΈ Π΄ΠΈΡΠΊβ, βΠ©Π°Ρ ΠΠΉΠΎΠ²Π°β, βΠ΄ΡΠ°ΠΌΠ°β, βΡΡΠΏΠ΅ΡΠ°Π»Π΅Ρβ, βΠΏΠ°ΡΠ½Π° ΠΌΠ°ΡΠΈΠ½Π°β, βΠ½Π΅ΡΠ° Π·Π° Π²ΡΡΡΠ΅Π½Π΅ Π² ΡΡΠ±ΠΎΡΠ°β, βΠΈΠΌΠ°ΠΌ Π»ΠΈΡΠΈΡΠ° Π² ΠΌΠ΅ΡΠΎΠΌΠ΅Π»Π°ΡΠΊΠ°", "Π° ΡΡΠ°Π½Π° ΠΊΠ°ΠΊΡΠΎ Π²ΠΈΠ½Π°Π³ΠΈ", "Π½Π΅ ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΌΠΈΡΠ»ΠΈΠΌ ΡΠΌΠ΅ΡΠ½ΠΈ Π΅ΡΠΈΠΊΠ΅ΡΠΈ". ΠΠ° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° Π½Π° ΡΠ°ΠΊΠΈΠ²Π° ΡΡΠ°ΡΠΈΠΈ, Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅ Π½Π΅ ΡΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ - ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π²ΡΡΡΠΈΡΠ΅ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°Π½Π΅ Π²ΡΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈΠΈΡΠ΅.
ΠΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΠΈΡΠ΅ ΡΠ΅ ΠΈΠΌΠ° Π² ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ. ΠΡΡΠ²ΠΎ, ΡΠ΅ ΡΡΠ·Π΄Π°ΠΌ ΠΌΠΎΠ΄Π΅Π», ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π° Π±ΡΠΎΡ Π½Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½ΠΈΡΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π·Π° ΡΡΠ°ΡΠΈΡ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π½Π΅ΠΉΠ½ΠΎΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅. ΠΡΠΎΡΠΎ, ΠΈΡΠΊΠ°ΠΌ Π΄Π° Π½Π°ΡΡΠ° Π½Π΅Π²ΡΠΎΠ½Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ° ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ Π² ΡΡΡΠΈΡ ΡΡΠΈΠ» ΠΊΠ°ΡΠΎ Π°Π²ΡΠΎΡΠΈΡΠ΅ Π½Π° Habr. ΠΠ°ΡΠΎΠ²Π° ΡΠ΅ Π°Π±ΠΎΠ½ΠΈΡΠ°ΠΉΡΠ΅ π
PS Π Π΅ΡΠΎ ΠΈ Π·Π²ΡΠΊΠΎΠ²ΠΈΡ ΡΠΈΠ³Π½Π°Π»
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com