เชนเซ เชนเชฌเชฐ.
ะ
เชเซเช เชถเซเช เชฅเชฏเซเช เชคเซเชฎเชพเช เชฐเชธ เชงเชฐเชพเชตเชคเชพ เชฒเซเชเซ เชฎเชพเชเซ, เชเชพเชฒเซ เชฐเชพเชเชตเชพเชจเซเช เชเช เชนเซเช เชณ เชเซ.
เชนเซเช เชคเชฎเชจเซ เชซเชฐเซ เชเชเชตเชพเชฐ เชฏเชพเชฆ เช
เชชเชพเชตเซ เชฆเชเช เชเซ เชเชเชเชกเชพ เช
เชจเซ เชฐเซเชเชฟเชเช เชธเชคเซเชคเชพเชตเชพเชฐ เชจเชฅเซ, เชฎเชพเชฐเซ เชชเชพเชธเซ เชเซเช เชเชเชคเชฐเชฟเช เชฎเชพเชนเชฟเชคเซ เชจเชฅเซ. เช เชตเชพเชคเชจเซ เชชเชฃ เชเชพเชคเชฐเซ เชจเชฅเซ เชเซ เชฎเชพเชฐเชพเชฅเซ เชเซเชฏเชพเชเช เชญเซเชฒ เชคเซ เชจเชฅเซ เชฅเช เชเช เชเซ เชเชเชเช เชเซเชเซ เชเช. เชชเชฐเชเชคเซ เชนเชเซ เชชเชฃ, เชฎเชจเซ เชฒเชพเชเซ เชเซ เชเซ เชคเซ เชฐเชธเชชเซเชฐเชฆ เชฌเชจเซเชฏเซเช. เช
เชฎเซ เชชเชนเซเชฒเชพ เชเซเชกเชฅเซ เชถเชฐเซเชเชค เชเชฐเซเชถเซเช; เชเซเชฎเชจเซ เชเชฎเชพเช เชฐเชธ เชจเชฅเซ เชคเซเช เชชเซเชฐเชฅเชฎ เชตเชฟเชญเชพเชเซเชจเซ เชเซเชกเซ เชถเชเซ เชเซ.
เชฎเชพเชนเชฟเชคเซ เชธเชเชเซเชฐเชน
เชชเชพเชฐเซเชธเชฐเชจเชพ เชชเซเชฐเชฅเชฎ เชธเชเชธเซเชเชฐเชฃเชฎเชพเช, เชซเชเซเชค เชเซเชตเชพเชฏเชพเชจเซ เชธเชเชเซเชฏเชพ, เชเชฟเชชเซเชชเชฃเซเช เช เชจเซ เชฒเซเช เชฐเซเชเชฟเชเชเซเชธ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชนเชคเชพ. เช เชชเชนเซเชฒเซเชฅเซ เช เชธเชพเชฐเซเช เชเซ, เชชเชฐเชเชคเซ เชคเซ เชคเชฎเชจเซ เชตเชงเซ เชเชเชฟเชฒ เชชเซเชฐเชถเซเชจเซ เชฌเชจเชพเชตเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชคเซเช เชจเชฅเซ. เชธเชพเชเชเชจเชพ เชตเชฟเชทเชฏเซเชจเชพ เชตเชฟเชญเชพเชเซเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเชตเชพเชจเซ เช เชธเชฎเชฏ เชเซ; เช เชคเชฎเชจเซ เชเซเชฌ เช เชฐเชธเชชเซเชฐเชฆ เชธเชเชถเซเชงเชจ เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชถเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเซเช เชเซ เชเซเชเชฒเชพเชเช เชตเชฐเซเชทเซเชฎเชพเช "C++" เชตเชฟเชญเชพเชเชจเซ เชฒเซเชเชชเซเชฐเชฟเชฏเชคเชพ เชเซเชตเซ เชฐเซเชคเซ เชฌเชฆเชฒเชพเช เชเซ.
เชฒเซเช เชตเชฟเชถเซเชฒเซเชทเชเชฎเชพเช เชธเซเชงเชพเชฐเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ, เชนเชตเซ เชคเซ เชนเชฌ เชชเชฐเชค เชเชฐเซ เชเซ เชเซ เชเซเชจเชพเชฅเซ เชฒเซเช เชธเชเชฌเชเชงเชฟเชค เชเซ, เชคเซเชฎเช เชฒเซเชเชเชจเซเช เชเชชเชจเชพเชฎ เช เชจเซ เชคเซเชจเซเช เชฐเซเชเชฟเชเช (เชเชฃเซ เชฌเชงเซ เชฐเชธเชชเซเชฐเชฆ เชตเชธเซเชคเซเช เช เชนเซเช เชชเชฃ เชเชฐเซ เชถเชเชพเชฏ เชเซ, เชชเชฐเชเชคเซ เชคเซ เชชเชเซเชฅเซ เชเชตเชถเซ). เชกเซเชเชพ csv เชซเชพเชเชฒเชฎเชพเช เชธเชพเชเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเซ เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชฏ เชเซ:
2018-12-18T12:43Z,https://habr.com/ru/post/433550/,"ะะตััะตะฝะดะถะตั Slack โ ะฟัะธัะธะฝั ะฒัะฑะพัะฐ, ะบะพััะบะธ ะฟัะธ ะฒะฝะตะดัะตะฝะธะธ ะธ ะพัะพะฑะตะฝะฝะพััะธ ัะตัะฒะธัะฐ, ะพะฑะปะตะณัะฐััะธะต ะถะธะทะฝั",votes:7,votesplus:8,votesmin:1,bookmarks:32,
views:8300,comments:10,user:ReDisque,karma:5,subscribers:2,hubs:productpm+soft
...
เช เชฎเชจเซ เชธเชพเชเชเชจเชพ เชฎเซเชเซเชฏ เชตเชฟเชทเชฏเซเชจเซเช เชนเชฌเชจเซ เชธเซเชเชฟ เชชเซเชฐเชพเชชเซเชค เชฅเชถเซ.
def get_as_str(link: str) -> Str:
try:
r = requests.get(link)
return Str(r.text)
except Exception as e:
return Str("")
def get_hubs():
hubs = []
for p in range(1, 12):
page_html = get_as_str("https://habr.com/ru/hubs/page%d/" % p)
# page_html = get_as_str("https://habr.com/ru/hubs/geektimes/page%d/" % p) # Geektimes
# page_html = get_as_str("https://habr.com/ru/hubs/develop/page%d/" % p) # Develop
# page_html = get_as_str("https://habr.com/ru/hubs/admin/page%d" % p) # Admin
for hub in page_html.split("media-obj media-obj_hub"):
info = Str(hub).find_between('"https://habr.com/ru/hub', 'list-snippet__tags')
if "*</span>" in info:
hub_name = info.find_between('/', '/"')
if len(hub_name) > 0 and len(hub_name) < 32:
hubs.append(hub_name)
print(hubs)
find_between เชซเชเชเซเชถเชจ เช
เชจเซ Str เชเซเชฒเชพเชธ เชฌเซ เชเซ
เชเซเชธ เชตเชเซเชเซ เชธเซเชเซเชฐเชฟเชเช เชชเชธเชเชฆ เชเชฐเซ เชเซ, เชฎเซเช เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเซ เชเซ
get_hubs เชซเชเชเซเชถเชจเชจเซเช เชเชเชเชชเซเช เชเชเชฆเชฎ เชชเซเชฐเชญเชพเชตเชถเชพเชณเซ เชฏเชพเชฆเซ เชเซ, เชเซเชจเซ เชเชชเชฃเซ เชถเชฌเซเชฆเชเซเชถ เชคเชฐเซเชเซ เชธเชพเชเชตเซเช เชเซเช. เชนเซเช เชเชพเชธ เชเชฐเซเชจเซ เชธเซเชเชฟเชจเซ เชธเชเชชเซเชฐเซเชฃ เชฐเซเชคเซ เชฐเชเซ เชเชฐเซ เชฐเชนเซเชฏเซ เชเซเช เชเซเชฅเซ เชเชฐเซเชจเซ เชคเชฎเซ เชคเซเชจเชพ เชตเซเชฒเซเชฏเซเชฎเชจเซ เช เชเชฆเชพเช เชฒเชเชพเชตเซ เชถเชเซ.
hubs_profile = {'infosecurity', 'programming', 'webdev', 'python', 'sys_admin', 'it-infrastructure', 'devops', 'javascript', 'open_source', 'network_technologies', 'gamedev', 'cpp', 'machine_learning', 'pm', 'hr_management', 'linux', 'analysis_design', 'ui', 'net', 'hi', 'maths', 'mobile_dev', 'productpm', 'win_dev', 'it_testing', 'dev_management', 'algorithms', 'go', 'php', 'csharp', 'nix', 'data_visualization', 'web_testing', 's_admin', 'crazydev', 'data_mining', 'bigdata', 'c', 'java', 'usability', 'instant_messaging', 'gtd', 'system_programming', 'ios_dev', 'oop', 'nginx', 'kubernetes', 'sql', '3d_graphics', 'css', 'geo', 'image_processing', 'controllers', 'game_design', 'html5', 'community_management', 'electronics', 'android_dev', 'crypto', 'netdev', 'cisconetworks', 'db_admins', 'funcprog', 'wireless', 'dwh', 'linux_dev', 'assembler', 'reactjs', 'sales', 'microservices', 'search_technologies', 'compilers', 'virtualization', 'client_side_optimization', 'distributed_systems', 'api', 'media_management', 'complete_code', 'typescript', 'postgresql', 'rust', 'agile', 'refactoring', 'parallel_programming', 'mssql', 'game_promotion', 'robo_dev', 'reverse-engineering', 'web_analytics', 'unity', 'symfony', 'build_automation', 'swift', 'raspberrypi', 'web_design', 'kotlin', 'debug', 'pay_system', 'apps_design', 'git', 'shells', 'laravel', 'mobile_testing', 'openstreetmap', 'lua', 'vs', 'yii', 'sport_programming', 'service_desk', 'itstandarts', 'nodejs', 'data_warehouse', 'ctf', 'erp', 'video', 'mobileanalytics', 'ipv6', 'virus', 'crm', 'backup', 'mesh_networking', 'cad_cam', 'patents', 'cloud_computing', 'growthhacking', 'iot_dev', 'server_side_optimization', 'latex', 'natural_language_processing', 'scala', 'unreal_engine', 'mongodb', 'delphi', 'industrial_control_system', 'r', 'fpga', 'oracle', 'arduino', 'magento', 'ruby', 'nosql', 'flutter', 'xml', 'apache', 'sveltejs', 'devmail', 'ecommerce_development', 'opendata', 'Hadoop', 'yandex_api', 'game_monetization', 'ror', 'graph_design', 'scada', 'mobile_monetization', 'sqlite', 'accessibility', 'saas', 'helpdesk', 'matlab', 'julia', 'aws', 'data_recovery', 'erlang', 'angular', 'osx_dev', 'dns', 'dart', 'vector_graphics', 'asp', 'domains', 'cvs', 'asterisk', 'iis', 'it_monetization', 'localization', 'objectivec', 'IPFS', 'jquery', 'lisp', 'arvrdev', 'powershell', 'd', 'conversion', 'animation', 'webgl', 'wordpress', 'elm', 'qt_software', 'google_api', 'groovy_grails', 'Sailfish_dev', 'Atlassian', 'desktop_environment', 'game_testing', 'mysql', 'ecm', 'cms', 'Xamarin', 'haskell', 'prototyping', 'sw', 'django', 'gradle', 'billing', 'tdd', 'openshift', 'canvas', 'map_api', 'vuejs', 'data_compression', 'tizen_dev', 'iptv', 'mono', 'labview', 'perl', 'AJAX', 'ms_access', 'gpgpu', 'infolust', 'microformats', 'facebook_api', 'vba', 'twitter_api', 'twisted', 'phalcon', 'joomla', 'action_script', 'flex', 'gtk', 'meteorjs', 'iconoskaz', 'cobol', 'cocoa', 'fortran', 'uml', 'codeigniter', 'prolog', 'mercurial', 'drupal', 'wp_dev', 'smallbasic', 'webassembly', 'cubrid', 'fido', 'bada_dev', 'cgi', 'extjs', 'zend_framework', 'typography', 'UEFI', 'geo_systems', 'vim', 'creative_commons', 'modx', 'derbyjs', 'xcode', 'greasemonkey', 'i2p', 'flash_platform', 'coffeescript', 'fsharp', 'clojure', 'puppet', 'forth', 'processing_lang', 'firebird', 'javame_dev', 'cakephp', 'google_cloud_vision_api', 'kohanaphp', 'elixirphoenix', 'eclipse', 'xslt', 'smalltalk', 'googlecloud', 'gae', 'mootools', 'emacs', 'flask', 'gwt', 'web_monetization', 'circuit-design', 'office365dev', 'haxe', 'doctrine', 'typo3', 'regex', 'solidity', 'brainfuck', 'sphinx', 'san', 'vk_api', 'ecommerce'}
เชธเชฐเชเชพเชฎเชฃเซ เชฎเชพเชเซ, geektimes เชตเชฟเชญเชพเชเซ เชตเชงเซ เชธเชพเชงเชพเชฐเชฃ เชฒเชพเชเซ เชเซ:
hubs_gt = {'popular_science', 'history', 'soft', 'lifehacks', 'health', 'finance', 'artificial_intelligence', 'itcompanies', 'DIY', 'energy', 'transport', 'gadgets', 'social_networks', 'space', 'futurenow', 'it_bigraphy', 'antikvariat', 'games', 'hardware', 'learning_languages', 'urban', 'brain', 'internet_of_things', 'easyelectronics', 'cellular', 'physics', 'cryptocurrency', 'interviews', 'biotech', 'network_hardware', 'autogadgets', 'lasers', 'sound', 'home_automation', 'smartphones', 'statistics', 'robot', 'cpu', 'video_tech', 'Ecology', 'presentation', 'desktops', 'wearable_electronics', 'quantum', 'notebooks', 'cyberpunk', 'Peripheral', 'demoscene', 'copyright', 'astronomy', 'arvr', 'medgadgets', '3d-printers', 'Chemistry', 'storages', 'sci-fi', 'logic_games', 'office', 'tablets', 'displays', 'video_conferencing', 'videocards', 'photo', 'multicopters', 'supercomputers', 'telemedicine', 'cybersport', 'nano', 'crowdsourcing', 'infographics'}
เชฌเชพเชเซเชจเชพ เชนเชฌ เช เช เชฐเซเชคเซ เชธเชพเชเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชนเชคเชพ. เชนเชตเซ เชซเชเชเซเชถเชจ เชฒเชเชตเซเช เชธเชฐเชณ เชเซ เชเซ เชชเชฐเชฟเชฃเชพเชฎ เชเชชเซ เชเซ เชเซ เชถเซเช เชฒเซเช geektimes เช เชฅเชตเชพ เชชเซเชฐเซเชซเชพเชเชฒ เชนเชฌเชจเซ เชเซ.
def is_geektimes(hubs: List) -> bool:
return len(set(hubs) & hubs_gt) > 0
def is_geektimes_only(hubs: List) -> bool:
return is_geektimes(hubs) is True and is_profile(hubs) is False
def is_profile(hubs: List) -> bool:
return len(set(hubs) & hubs_profile) > 0
เช เชจเซเชฏ เชตเชฟเชญเชพเชเซ ("เชตเชฟเชเชพเชธ", "เชตเชนเซเชตเช", เชตเชเซเชฐเซ) เชฎเชพเชเซ เชธเชฎเชพเชจ เชเชพเชฐเซเชฏเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชนเชคเชพ.
เชชเซเชฐเชเซเชฐเชฟเชฏเชพ
เชตเชฟเชถเซเชฒเซเชทเชฃ เชถเชฐเซ เชเชฐเชตเชพเชจเซ เชธเชฎเชฏ เชเซ. เช เชฎเซ เชกเซเชเชพเชธเซเช เชฒเซเชก เชเชฐเซเช เชเซเช เช เชจเซ เชนเชฌ เชกเซเชเชพ เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเซเช เชเซเช.
def to_list(s: str) -> List[str]:
# "user:popular_science+astronomy" => [popular_science, astronomy]
return s.split(':')[1].split('+')
def to_date(dt: datetime) -> datetime.date:
return dt.date()
df = pd.read_csv("habr_2019.csv", sep=',', encoding='utf-8', error_bad_lines=True, quotechar='"', comment='#')
dates = pd.to_datetime(df['datetime'], format='%Y-%m-%dT%H:%MZ')
dates += datetime.timedelta(hours=3)
df['date'] = dates.map(to_date, na_action=None)
hubs = df["hubs"].map(to_list, na_action=None)
df['hubs'] = hubs
df['is_profile'] = hubs.map(is_profile, na_action=None)
df['is_geektimes'] = hubs.map(is_geektimes, na_action=None)
df['is_geektimes_only'] = hubs.map(is_geektimes_only, na_action=None)
df['is_admin'] = hubs.map(is_admin, na_action=None)
df['is_develop'] = hubs.map(is_develop, na_action=None)
เชนเชตเซ เชเชชเชฃเซ เชกเซเชเชพเชจเซ เชฆเชฟเชตเชธ เชชเซเชฐเชฎเชพเชฃเซ เชเซเชฅเชฌเชฆเซเชง เชเชฐเซ เชถเชเซเช เชเซเช เช เชจเซ เชตเชฟเชตเชฟเชง เชนเชฌ เชฎเชพเชเซ เชชเซเชฐเชเชพเชถเชจเซเชจเซ เชธเชเชเซเชฏเชพ เชฆเชฐเซเชถเชพเชตเซ เชถเชเซเช เชเซเช.
g = df.groupby(['date'])
days_count = g.size().reset_index(name='counts')
year_days = days_count['date'].values
grouped = g.sum().reset_index()
profile_per_day_avg = grouped['is_profile'].rolling(window=20, min_periods=1).mean()
geektimes_per_day_avg = grouped['is_geektimes'].rolling(window=20, min_periods=1).mean()
geektimesonly_per_day_avg = grouped['is_geektimes_only'].rolling(window=20, min_periods=1).mean()
admin_per_day_avg = grouped['is_admin'].rolling(window=20, min_periods=1).mean()
develop_per_day_avg = grouped['is_develop'].rolling(window=20, min_periods=1).mean()
เช เชฎเซ Matplotlib เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชชเซเชฐเชเชพเชถเชฟเชค เชฒเซเชเซเชจเซ เชธเชเชเซเชฏเชพ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชเชฐเซเช เชเซเช:
เชฎเซเช เชเชพเชฐเซเชเชฎเชพเช โเชเซเชเชเชพเชเชฎเซเชธโ เช
เชจเซ โเชซเชเซเชค geektimesโ เชฒเซเชเซเชจเซ เชตเชฟเชญเชพเชเชฟเชค เชเชฐเซเชฏเชพ เชเซ, เชเชพเชฐเชฃ เชเซ เชฒเซเช เชเช เช เชธเชฎเชฏเซ เชฌเชเชจเซ เชตเชฟเชญเชพเชเซเชจเซ เชนเซเช เชถเชเซ เชเซ (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, โDIYโ + โเชฎเชพเชเชเซเชฐเซเชเชจเซเชเซเชฐเซเชฒเชฐเซเชธโ + โC++โ). เชฎเซเช เชธเชพเชเช เชชเชฐ เชชเซเชฐเซเชซเชพเชเชฒ เชฒเซเชเซเชจเซ เชนเชพเชเชฒเชพเชเช เชเชฐเชตเชพ เชฎเชพเชเซ เชนเซเชฆเซเชฆเซ "เชชเซเชฐเซเชซเชพเชเชฒ" เชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเซ เชเซ, เชเซ เชเซ เชเชฆเชพเช เช เชฎเชพเชเซเชจเซ เช
เชเชเซเชฐเซเชเซ เชถเชฌเซเชฆ เชชเซเชฐเซเชซเชพเชเชฒ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชธเชพเชเซ เชจเชฅเซ.
เช เชเชพเชเชจเชพ เชญเชพเชเชฎเชพเช เช เชฎเซ เช เชเชจเชพเชณเชพเชฎเชพเช เชถเชฐเซ เชฅเชคเชพ geektimes เชฎเชพเชเซเชจเชพ เชฒเซเชเซ เชฎเชพเชเซ เชเซเชเชตเชฃเซเชจเชพ เชจเชฟเชฏเชฎเซเชฎเชพเช เชซเซเชฐเชซเชพเชฐ เชธเชพเชฅเซ เชธเชเชเชณเชพเชฏเซเชฒ "geektimes เช เชธเชฐ" เชตเชฟเชถเซ เชชเซเชเซเชฏเซเช เชนเชคเซเช. เชเชพเชฒเซ geektimes เชฒเซเชเซเชจเซ เช เชฒเชเชฅเซ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชเชฐเซเช:
df_gt = df[(df['is_geektimes_only'] == True)]
group_gt = df_gt.groupby(['date'])
days_count_gt = group_gt.size().reset_index(name='counts')
grouped = group_gt.sum().reset_index()
year_days_gt = days_count_gt['date'].values
view_gt_per_day_avg = grouped['views'].rolling(window=20, min_periods=1).mean()
เชชเชฐเชฟเชฃเชพเชฎ เชฐเชธเชชเซเชฐเชฆ เชเซ. geektimes เชฒเซเชเซเชจเชพ เชเซเชฒ เชเซเชตเชพเชฏเชพเชจเซ เช เชเชฆเชพเชเชฟเชค เชเซเชฃเซเชคเซเชคเชฐ เชเซเชฏเชพเชเช 1:5 เชจเซ เชเชธเชชเชพเชธ เชเซ. เชชเชฐเชเชคเซ เชเซเชฏเชพเชฐเซ เชเซเชตเชพเชฏเชพเชจเซ เชเซเชฒ เชธเชเชเซเชฏเชพเชฎเชพเช เชจเซเชเชงเชชเชพเชคเซเชฐ เชฐเซเชคเซ เชตเชงเชเช เชฅเช, เชคเซเชฏเชพเชฐเซ "เชฎเชจเซเชฐเชเชเชจ" เชฒเซเชเซ เชเซเชตเชพเชจเซเช เชชเซเชฐเชฎเชพเชฃ เชฒเชเชญเช เชธเชฎเชพเชจ เชธเซเชคเชฐเซ เชฐเชนเซเชฏเซเช.
เชคเชฎเซ เช เชชเชฃ เชจเซเชเชงเซ เชถเชเซ เชเซ เชเซ เชจเชฟเชฏเชฎเซ เชฌเชฆเชฒเซเชฏเชพ เชชเชเซ เชชเชฃ โเชเซเชเชเชพเชเชฎเซเชธโ เชตเชฟเชญเชพเชเชฎเชพเช เชฒเซเชเซเชจเซ เชเซเชฒ เชฆเซเชถเซเชฏเซเชจเซ เชธเชเชเซเชฏเชพ เชเชเซ เชเซ, เชชเชฐเชเชคเซ โเชเชเช เชฆเซเชตเชพเชฐเชพโ, เชเซเชฒ เชฎเซเชฒเซเชฏเซเชจเชพ 5% เชเชฐเชคเชพ เชตเชงเซ เชจเชนเซเช.
เชฒเซเช เชฆเซเช เชเซเชตเชพเชฏเชพเชจเซ เชธเชฐเซเชฐเชพเชถ เชธเชเชเซเชฏเชพ เชเซเชตเชพเชจเซเช เชฐเชธเชชเซเชฐเชฆ เชเซ:
"เชฎเชจเซเชฐเชเชเชจ" เชฒเซเชเซ เชฎเชพเชเซ เชคเซ เชธเชฐเซเชฐเชพเชถเชฅเซ เชฒเชเชญเช 40% เชตเชงเชพเชฐเซ เชเซ. เช เชเชฆเชพเช เชเชถเซเชเชฐเซเชฏเชเชจเช เชจเชฅเซ. เชเชชเซเชฐเชฟเชฒเชจเซ เชถเชฐเซเชเชคเชฎเชพเช เชจเชฟเชทเซเชซเชณเชคเชพ เชฎเชพเชฐเชพ เชฎเชพเชเซ เช
เชธเซเชชเชทเซเช เชเซ, เชเชฆเชพเช เชคเซ เช เชฅเชฏเซเช เชเซ, เช
เชฅเชตเชพ เชคเซ เช
เชฎเซเช เชชเซเชฐเชเชพเชฐเชจเซ เชชเชพเชฐเซเชธเชฟเชเช เชญเซเชฒ เชเซ, เช
เชฅเชตเชพ เชเชฆเชพเช เชเซเชเชเชพเชเชฎเซเชธเชจเชพ เชฒเซเชเชเซเชฎเชพเชเชจเชพ เชเช เชตเซเชเซเชถเชจ เชชเชฐ เชเชฏเชพ เชนเชคเชพ;).
เชฎเชพเชฐเซเช เชฆเซเชตเชพเชฐเชพ, เชเซเชฐเชพเชซ เชฒเซเชเซเชจเชพ เชฆเซเชถเซเชฏเซเชจเซ เชธเชเชเซเชฏเชพเชฎเชพเช เชฌเซ เชตเชงเซ เชจเซเชเชงเชชเชพเชคเซเชฐ เชถเชฟเชเชฐเซ เชฌเชคเชพเชตเซ เชเซ - เชจเชตเซเช เชตเชฐเซเชท เช เชจเซ เชฎเซเชจเซ เชฐเชเชพเช.
เชนเชฌเซเชธ
เชเชพเชฒเซ เชนเชฌเชจเชพ เชตเชเชจเชฌเชฆเซเชง เชตเชฟเชถเซเชฒเซเชทเชฃ เชคเชฐเชซ เชเชเชณ เชตเชงเซเช. เชเชพเชฒเซ เชเซเชตเชพเชฏเชพเชจเซ เชธเชเชเซเชฏเชพ เชฆเซเชตเชพเชฐเชพ เชเซเชเชจเชพ 20 เชนเชฌเชจเซ เชธเซเชเชฟเชฌเชฆเซเชง เชเชฐเซเช:
hubs_info = []
for hub_name in hubs_all:
mask = df['hubs'].apply(lambda x: hub_name in x)
df_hub = df[mask]
count, views = df_hub.shape[0], df_hub['views'].sum()
hubs_info.append((hub_name, count, views))
# Draw hubs
hubs_top = sorted(hubs_info, key=lambda v: v[2], reverse=True)[:20]
top_views = list(map(lambda x: x[2], hubs_top))
top_names = list(map(lambda x: x[0], hubs_top))
plt.rcParams["figure.figsize"] = (8, 6)
plt.bar(range(0, len(top_views)), top_views)
plt.xticks(range(0, len(top_names)), top_names, rotation=90)
plt.ticklabel_format(style='plain', axis='y')
plt.tight_layout()
plt.show()
เชชเชฐเชฟเชฃเชพเชฎ:
เชเชถเซเชเชฐเซเชฏเชเชจเช เชฐเซเชคเซ, เชฆเซเชทเซเชเชฟเชเซเชฃเชจเซ เชฆเซเชฐเชทเซเชเชฟเช เชธเซเชฅเซ เชฒเซเชเชชเซเชฐเชฟเชฏ เชนเชฌ "เชฎเชพเชนเชฟเชคเซ เชธเซเชฐเชเซเชทเชพ" เชนเชคเซเช; เชเซเชเชจเชพ 5 เชจเซเชคเชพเชเชฎเชพเช "เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช" เช
เชจเซ "เชฒเซเชเชชเซเชฐเชฟเชฏ เชตเชฟเชเซเชเชพเชจ" เชชเชฃ เชถเชพเชฎเซเชฒ เชเซ.
เชเชจเซเชเชฟเชเซเชช เชเซเชเซเชเซ เช เชจเซ เชเซเชเซ เชชเชฐ เชเชฌเชเซ เชเชฐเซ เชเซ.
เชนเซเช เชคเชฎเชจเซ เชเช เชฐเชนเชธเซเชฏ เชเชนเซเชถ, เชเซเชเชจเชพ เชนเชฌ เชชเชฃ เชเซเช เชถเชเชพเชฏ เชเซ
เชฐเซเชเชฟเชเช
เช เชจเซ เช เชเชคเซ, เชตเชเชจ เชเชชเซเชฒ เชฐเซเชเชฟเชเช. เชนเชฌ เชตเชฟเชถเซเชฒเซเชทเชฃ เชกเซเชเชพเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เช เชฎเซ เช เชตเชฐเซเชท 2019 เชฎเชพเชเซ เชธเซเชฅเซ เชตเชงเซ เชฒเซเชเชชเซเชฐเชฟเชฏ เชนเชฌ เชฎเชพเชเซเชจเชพ เชธเซเชฅเซ เชฒเซเชเชชเซเชฐเชฟเชฏ เชฒเซเชเซ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชเชฐเซ เชถเชเซเช เชเซเช.
เชฎเชพเชนเชฟเชคเซ เชธเซเชฐเชเซเชทเชพ
เชฎเซเช เชเช เชตเชฐเซเชท เชฎเชพเชเซ Sberbank เชชเชฐ เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเซเชฏเซเช เชจเชฅเซ 304000 เชเซเชตเชพเช, 599 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +457.0/-14.0เชเชพเชขเซ เชจเชพเชเชตเชพเชฎเชพเช เชเชตเซเชฒ เชธเซเชฎเชพเชฐเซเช เชฒเชพเชเช เชฌเชฒเซเชฌ เชตเซเชฏเชเซเชคเชฟเชเชค เชฎเชพเชนเชฟเชคเซเชจเซ เชฎเซเชฒเซเชฏเชตเชพเชจ เชธเซเชคเซเชฐเซเชค เชเซ 232000 เชเซเชตเชพเช, 147 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +75.0/-11.0เชเซเชคเชฐเชชเชฟเชเชกเซ เชเชฐเชจเชพเชฐเชพเช เช เชจเซ เชกเชฟเชเชฟเชเชฒ เชนเชธเซเชคเชพเชเซเชทเชฐ - เชฌเชงเซเช เชเซเชฌ เช เชเชฐเชพเชฌ เชเซ 176000 เชเซเชตเชพเช, 778 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +356.0/-0.0เชฎเซเชฌเชพเชเชฒ เชธเชฌเซเชธเซเชเซเชฐเชฟเชชเซเชถเชจเซเชธ เชชเชฐ เชฎเซเชเชพเชซเซเชจ เชเซเชตเซ เชฐเซเชคเซ เชฌเชณเซ เชเชฏเซเช 166000 เชเซเชตเชพเช, 676 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +624.0/-2.0เชตเซเชเซ เชนเซเชเชฟเชเช, เชฌเซ-เชชเชฐเชฟเชฌเชณ เชชเซเชฐเชฎเชพเชฃเซเชเชฐเชฃ เชธเชพเชเชตเชถเซ เชจเชนเซเช 148000 เชเซเชตเชพเช, 332 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +124.0/-17.0เชฌเซเชฐเชพเชเชเชฐ เชเซเชฎเชฐเซเชก เชฎเซเชเชฐเชจเซ เชเซเชตเซ เชฐเซเชคเซ เชฎเชฆเชฆ เชเชฐเซ เชเซ 132000 เชเซเชตเชพเช, 321 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +246.0/-19.0เชเชคเชฟเชนเชพเชธเชจเซ เชธเซเชฅเซ เชฎเซเชเซ เชกเชฎเซเชช: 2,7 เชฌเชฟเชฒเชฟเชฏเชจ เชเชเชพเชเชจเซเชเซเชธ, เชเซเชฎเชพเชเชฅเซ 773 เชฎเชฟเชฒเชฟเชฏเชจ เช เชจเชจเซเชฏ เชเซ 123000 เชเซเชตเชพเช, 154 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +86.0/-5.0เชนเชจเซ, เช เชฎเซ เชเชจเซเชเชฐเชจเซเชเชจเซ เชฎเชพเชฐเซ เชฐเชนเซเชฏเชพเช เชเซเช 121000 เชเซเชตเชพเช, 933 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +392.0/-83.0'เชฎเซเชฌเชพเชเชฒ เชธเชพเชฎเชเซเชฐเซ' เชฎเชซเชค เชเซ, SMS เช เชฅเชตเชพ เชจเซเชเชงเชฃเซ เชตเชฟเชจเชพ. เชฎเซเชเชพเชซเซเชจ เชชเชพเชธเซเชฅเซ เชเซเชคเชฐเชชเชฟเชเชกเซเชจเซ เชตเชฟเชเชคเซ 114000 เชเซเชตเชพเช, 478 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +488.0/-8.0เชคเชฎเชพเชฐเชพ Rostelecom เชตเซเชฏเชเซเชคเชฟเชเชค เชเชพเชคเชพเชฎเชพเช เชชเซเชฐเซเช เชธเซเชเซเชจเชฐ 111000 เชเซเชตเชพเช, 194 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +300.0/-8.0
เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช
เชฒเชเชญเช เชเช เชตเซเชฏเชเซเชคเชฟ 167000 เชเซเชตเชพเช, 249 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +239.0/-33.0เชเซเชเชฒเซ เชเชฒเซเชฆเซ เชคเชฎเซ OOP เชญเซเชฒเซ เชเชถเซ, เชคเชฎเชพเชฐเชพ เช เชจเซ เชคเชฎเชพเชฐเชพ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชธ เชฎเชพเชเซ เชคเซเชเชฒเซเช เชธเชพเชฐเซเช 129000 เชเซเชตเชพเช, 1271 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +131.0/-63.0เชถเชพ เชฎเชพเชเซ เชตเชฐเชฟเชทเซเช เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเช เชจเซเชเชฐเซ เชฎเซเชณเชตเซ เชถเชเชคเชพ เชจเชฅเซ 119000 เชเซเชตเชพเช, 901 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +151.0/-14.0เชถเซเช เช เชตเซเชฆเซเชง เชฒเซเชเซ เชฎเชพเชเซ เชเชเซเชฏเชพ เชจเชฅเซ? เชชเชพเชเชคเซเชฐเซเชธ เชชเชเซ เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช 116000 เชเซเชตเชพเช, 649 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +222.0/-16.0เชจเชตเซ เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชญเชพเชทเชพเช เชถเชพเชเชคเชฟเชฅเซ เชตเชพเชธเซเชคเชตเชฟเชเชคเชพ เชธเชพเชฅเซเชจเชพ เช เชฎเชพเชฐเชพ เชเซเชกเชพเชฃเชจเซ เชฎเชพเชฐเซ เชฐเชนเซ เชเซ 106000 เชเซเชตเชพเช, 764 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +164.0/-52.0เชนเซเช เชธเชเชค เชฐเซเชคเซ เชถเซเช เชถเซเชเซเชฏเซ (เชธเซเชซเซเชเชตเซเชฐ เชกเซเชตเชฒเชชเชฎเซเชจเซเชเชฎเชพเช 30 เชตเชฐเซเชทเชฅเซ เชตเชงเซ) 101000 เชเซเชตเชพเช, 128 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +178.0/-9.0เชฆเซเชฐเซเชฒเชญ เช เชจเซ เชธเซเชฅเซ เชฎเซเชเชเซ เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชญเชพเชทเชพเช 82900 เชเซเชตเชพเช, 119 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +38.0/-10.0KPI เชเชพเชคเซ JavaScript เช เชจเซ Node.js เชชเชฐ เชฒเซเชเซเชเชฐเชจเซ เชเซเชฐเซเชธ 80300 เชเซเชตเชพเช, 14 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +34.0/-2.0เชฌเชเชพเชเชพ เชเชเชพเชกเชตเชพเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเชพ เชเชฆเชพเชนเชฐเชฃเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชเชเซ เชถเชฌเซเชฆเซ 78000 เชเซเชตเชพเช, 86 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +84.0/-14.0เชเชเชฆเชฎ C++ เชจเซ 256 เชฒเชพเชเชจ: เชฅเซเชกเชพ เชเชฒเชพเชเซเชฎเชพเช เชถเชฐเซเชเชคเชฅเซ เชฐเซ เชเซเชฐเซเชธเชฐ เชฒเชเชตเซเช 77600 เชเซเชตเชพเช, 124 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +241.0/-0.0
เชฒเซเชเชชเซเชฐเชฟเชฏ เชตเชฟเชเซเชเชพเชจ
เชกเชฟเชเชพเชเชจเชฐเซ เชถเซเช เชงเซเชฎเซเชฐเชชเชพเชจ เชเชฐเซเชฏเซเช: เช เชธเชพเชฎเชพเชจเซเชฏ เชนเชฅเชฟเชฏเชพเชฐเซ 236000 เชเซเชตเชพเช, 123 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +119.0/-9.0เชตเซเชเซเชเชพเชจเชฟเชเซเชจเซ เชชเซเชฅเซเชตเซ เชชเชฐเชจเซ เชธเซเชฅเซ เชเซเชจเซ เชเซเชตเชเชค เชเชฐเซเชกเชฐเชเซเชเซ เชฎเชณเซเชฏเซ เชเซ 234000 เชเซเชตเชพเช, 212 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +82.0/-14.0เชเซเชตเซ เชถเซเชฐเซเชฃเซ 'เชเซเชฐเซเชจเซเชฌเชฟเชฒ': เชเซเช เช เชจเซ เชตเชฟเชเชพเชฐเซ 173000 เชเซเชตเชพเช, 803 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +164.0/-25.012 เชตเชฐเซเชทเชจเชพ เชเชฟเชถเซเชฐเซ เชคเซเชจเชพ เชเชฐเชจเซ เชชเซเชฐเชฏเซเชเชถเชพเชณเชพเชฎเชพเช เชจเซเชฏเซเชเซเชฒเชฟเชฏเชฐ เชซเซเชฏเซเชเชจ เชฐเชฟเชเชเซเชถเชจ เชเชฐเซเชฏเซเช เชนเชคเซเช. 145000 เชเซเชตเชพเช, 280 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +126.0/-29.0เชง เชเซเชฒ เชเชซ เชง เชเชฒเซเชฏ เชฐเซเช เชเชจเซเชก เชง เชซเซเชฒเชจ เชเซเชฐเซเชจเซเชเชพ 134000 เชเซเชตเชพเช, 244 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +217.0/-1.0เชคเซเชจเซ เชฎเซเชเซเช เชเชฐเซ! เชเชงเซเชจเชฟเช เชฐเซเชเซเชฒเซเชฏเซเชถเชจ เชเชจเซเชนเชพเชจเซเชธเชฎเซเชจเซเช 134000 เชเซเชตเชพเช, 235 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +377.0/-1.0เชฌเซเชเชเช 737 เชฎเซเชเซเชธ เชฎเชพเชเซ เชธเซเชซเซเชเชตเซเชฐ $9 เชชเซเชฐเชคเชฟ เชเชฒเชพเช เชเชฎเชพเชคเชพ เชเชเชเชธเซเชฐเซเชธเชฐเซเชธ เชฆเซเชตเชพเชฐเชพ เชฒเชเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช. 126000 เชเซเชตเชพเช, 560 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +153.0/-6.0เชเชญเชฐเชพเชถเซ เชจเชนเซเช, เชเชคเชพเชตเชณ เชเชฐเชถเซ เชจเชนเซเช, เชตเชฟเชเซเชทเซเชช เชชเชพเชกเชถเซ เชจเชนเซเช: เชเช เชฆเซเชฐเซเชเชเชจเชพเชจเซ เชตเชพเชฐเซเชคเชพ 121000 เชเซเชตเชพเช, 384 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +242.0/-4.0เชเชฃเชฟเชคเชถเชพเชธเซเชคเซเชฐเซเชเช เชธเชเชเซเชฏเชพเชเชจเซ เชเซเชฃเชพเชเชพเชฐ เชเชฐเชตเชพเชจเซ เชธเชเชชเซเชฐเซเชฃ เชฐเซเชค เชถเซเชงเซ เชเชพเชขเซ เชเซ 108000 เชเซเชตเชพเช, 222 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +173.0/-10.0เชจเชตเซ เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชญเชพเชทเชพเช เชถเชพเชเชคเชฟเชฅเซ เชตเชพเชธเซเชคเชตเชฟเชเชคเชพ เชธเชพเชฅเซเชจเชพ เช เชฎเชพเชฐเชพ เชเซเชกเชพเชฃเชจเซ เชฎเชพเชฐเซ เชฐเชนเซ เชเซ 106000 เชเซเชตเชพเช, 764 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +164.0/-52.0
เชเชพเชฐเชเชฟเชฐเซเชฆเซ
เชฎเซเช เชเช เชตเชฐเซเชท เชฎเชพเชเซ Sberbank เชชเชฐ เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเซเชฏเซเช เชจเชฅเซ 304000 เชเซเชตเชพเช, 599 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +457.0/-14.0เชนเซเช เชฎเชพเชฐเซ เชเซเชก เชธเชฎเซเชเซเชทเชพเช เชธเชพเชฅเซ เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเชเชจเชพ เชเซเชตเชจเชจเซ เชฌเชฐเชฌเชพเชฆ เชเชฐเซเช เชเซเช เช เชจเซ เชฎเชจเซ เชฎเชพเชซ เชเชฐเชถเซ 187000 เชเซเชตเชพเช, 21 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +37.0/-3.0เชตเชฟเชเชพเชธเชจเชพ เชฐเชพเชเชพ 179000 เชเซเชตเชพเช, 668 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +315.0/-60.0เชฒเชเชญเช เชเช เชตเซเชฏเชเซเชคเชฟ 167000 เชเซเชตเชพเช, 249 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +239.0/-33.022 เชตเชพเชเซเชฏเซ เชจเชฟเชตเซเชคเซเชค เชฅเชถเซ 158000 เชเซเชตเชพเช, 927 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +259.0/-100.0เชฌเชฐเชคเชฐเชซ เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ เชคเชฎเชพเชฐเชพ เชเชพเชฐเซเชฏเชธเซเชฅเชณ เชชเชฐ เชฒเชพเชเช เชฌเชฒเซเชฌ เชเซเชตเซ เชฐเซเชคเซ เชฌเชฆเชฒเชตเซ? 139000 เชเซเชตเชพเช, 762 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +200.0/-20.0เชฐเชถเชฟเชฏเชจเชฎเชพเช เชจเชตเซเชจเชคเชพ 128000 เชเซเชตเชพเช, 612 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +480.0/-33.0เชถเชพ เชฎเชพเชเซ เชตเชฐเชฟเชทเซเช เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเช เชจเซเชเชฐเซ เชฎเซเชณเชตเซ เชถเชเชคเชพ เชจเชฅเซ 119000 เชเซเชตเชพเช, 901 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +151.0/-14.0เชฌเชณเซ เชเชฏเซเชฒเชพ เชเชฐเซเชฎเชเชพเชฐเซเช: เชเซเช เชฐเชธเซเชคเซ เชเซ? 117000 เชเซเชตเชพเช, 398 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +210.0/-14.0เชถเซเช เช เชตเซเชฆเซเชง เชฒเซเชเซ เชฎเชพเชเซ เชเชเซเชฏเชพ เชจเชฅเซ? เชชเชพเชเชคเซเชฐเซเชธ เชชเชเซ เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช 116000 เชเซเชตเชพเช, 649 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +222.0/-16.0
เชเชเชเซเชฎเชพเช เชเชพเชฏเชฆเซ
เชเซเชคเชฐเชชเชฟเชเชกเซ เชเชฐเชจเชพเชฐเชพเช เช เชจเซ เชกเชฟเชเชฟเชเชฒ เชนเชธเซเชคเชพเชเซเชทเชฐ - เชฌเชงเซเช เชเซเชฌ เช เชเชฐเชพเชฌ เชเซ 176000 เชเซเชตเชพเช, 778 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +356.0/-0.0เชฎเซเชฌเชพเชเชฒ เชธเชฌเซเชธเซเชเซเชฐเชฟเชชเซเชถเชจเซเชธ เชชเชฐ เชฎเซเชเชพเชซเซเชจ เชเซเชตเซ เชฐเซเชคเซ เชฌเชณเซ เชเชฏเซเช 166000 เชเซเชตเชพเช, 676 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +624.0/-2.0เชฐเชถเชฟเชฏเชจเชฎเชพเช เชจเชตเซเชจเชคเชพ 128000 เชเซเชตเชพเช, 612 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +480.0/-33.0'เชฎเซเชฌเชพเชเชฒ เชธเชพเชฎเชเซเชฐเซ' เชฎเชซเชค เชเซ, SMS เช เชฅเชตเชพ เชจเซเชเชงเชฃเซ เชตเชฟเชจเชพ. เชฎเซเชเชพเชซเซเชจ เชชเชพเชธเซเชฅเซ เชเซเชคเชฐเชชเชฟเชเชกเซเชจเซ เชตเชฟเชเชคเซ 114000 เชเซเชตเชพเช, 478 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +488.0/-8.0เชเซเชตเซ เชฐเซเชคเซ เชเชเชพเช เชธเชคเซเชคเชพเชตเชพเชณเชพเช เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเชจเชพ เช เชฎเชฒเซเชเชฐเชฃเชฎเชพเช เชคเซเชฎเชจเซ เชจเชฟเชทเซเชซเชณเชคเชพเชจเซ เชขเชพเชเชเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซ 111000 เชเซเชตเชพเช, 77 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +122.0/-14.0เชฐเชถเชฟเชฏเชพเชฎเชพเช เชชเซเชฐเซเชเซเชจเชฎเซเชฒ เชเซเชตเซ เชฐเซเชคเซ เช เชตเชฐเซเชงเชฟเชค เชเซ 102000 เชเซเชตเชพเช, 398 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +418.0/-7.0เชฐเซเชจเซเชเชจเชพ เช เชฒเชเชคเชพ เชชเชฐเชจเซ เชเชพเชฏเชฆเซ เชฐเชพเชเซเชฏ เชกเซเชฎเชพ เชฆเซเชตเชพเชฐเชพ เชคเซเชฐเชฃ เชฐเซเชกเชฟเชเชเซเชธเชฎเชพเช เช เชชเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ 88200 เชเซเชตเชพเช, 878 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +73.0/-18.0เชชเซเชฐเซเชเซเชฐเชพเชฎเชฐ เชเซเชตเซ เชฐเซเชคเซ เชฌเซเชเช เชชเชธเชเชฆ เชเชฐเซ เชเซ เช เชจเซ เชเชฐเชพเชฐ เชตเชพเชเชเซ เชเซ 87200 เชเซเชตเชพเช, 611 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +166.0/-9.0เชเซเชฒเชฟเชเซเชฎ เช เชจเซ เชฎเชพเชธ เชเซเชฎเซเชฏเซเชจเชฟเชเซเชถเชจ เชฎเชเชคเซเชฐเชพเชฒเชฏเซ เชฐเซเชจเซเชเชจเซ เช เชฒเช เชเชฐเชตเชพ เช เชเชเซเชจเชพ เชฌเชฟเชฒเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชนเชคเซ 83600 เชเซเชตเชพเช, 364 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +79.0/-9.0เชเชฟเชชเซเชชเชฃเซเชจเซ เชตเชฟเชเชคเชตเชพเชฐ เชชเซเชฐเชคเชฟเชธเชพเชฆ, เชคเซเชฎเช เชฐเชถเชฟเชฏเชจ เชซเซเชกเชฐเซเชถเชจเชฎเชพเช เชชเซเชฐเชฆเชพเชคเชพเชเชจเชพ เชเซเชตเชจ เชตเชฟเชถเซ เชฅเซเชกเซเช 74700 เชเซเชตเชพเช, 389 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +290.0/-1.0
เชตเซเชฌ เชตเชฟเชเชพเชธ
เชถเซเช เช เชตเซเชฆเซเชง เชฒเซเชเซ เชฎเชพเชเซ เชเชเซเชฏเชพ เชจเชฅเซ? เชชเชพเชเชคเซเชฐเซเชธ เชชเชเซ เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช 116000 เชเซเชตเชพเช, 649 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +222.0/-16.02019 เชฎเชพเช เชตเซเชฌเชธเชพเชเชเซเชธ เชเซเชตเซ เชฐเซเชคเซ เชฌเชจเชพเชตเชตเซ 110000 เชเซเชตเชพเช, 278 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +233.0/-11.0เชถเซเชเชตเซเช เชกเซเชเชฐ เชญเชพเช 1: เชฎเซเชณเชญเซเชค 91300 เชเซเชตเชพเช, 24 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +52.0/-10.0KPI เชเชพเชคเซ JavaScript เช เชจเซ Node.js เชชเชฐ เชฒเซเชเซเชเชฐเชจเซ เชเซเชฐเซเชธ 80300 เชเซเชตเชพเช, 14 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +34.0/-2.0เชคเชพเชฒเซเชฎเชพเชฐเซเชฅเซ เชตเชพเชธเซเชฏ เช เชจเซ API เชเชเชกเชฎเซเชชเซเชเซเชจเซเชธเซ เชตเชฟเชถเซเชจเซ เชคเซเชฎเชจเซ เชตเชพเชฐเซเชคเชพเช 68900 เชเซเชตเชพเช, 160 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +216.0/-3.0เชเซเชกเชพเชตเชพเชจเซ เชธเชฎเช เชคเซเชเซ เชเช เชเซ. เชชเซเชฐเชพเชฎเชพเชฃเชฟเชเชชเชฃเซ, เช เชเซเชเซเชเชธเชชเชฃเซ เชตเชฐเซเชคเซเชณเซเชจเซเช เชเชเชคเชฐเชเซเชฆ เชจเชฅเซ 65900 เชเซเชตเชพเช, 223 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +138.0/-41.0เชถเชพ เชฎเชพเชเซ เชคเชฎเชพเชฐเซ เชตเชฟเชถเชฟเชทเซเช เชตเชฟเชทเชฏเซเชจเซ เชตเซเชฌเชธเชพเชเชเซเชธ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชคเชฎเชพเชฐเซ เชธเชฎเชฏ เชฌเชเชพเชกเชตเซ เชเซเชเช เชจเชนเซเช 62700 เชเซเชตเชพเช, 243 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +179.0/-13.0เชถเชฐเซเชเชคเชฅเซ เชเชงเซเชจเชฟเช เชตเซเชฌ เชเชชเซเชฒเชฟเชเซเชถเชจ เชฌเชจเชพเชตเชตเซ 62200 เชเซเชตเชพเช, 122 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +56.0/-8.0Vue.js เชฎเชพเชเซ เชเชพเชณเซ เชฆเชฟเชตเชธ 60800 เชเซเชตเชพเช, 133 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +77.0/-6.0เชเชงเซเชจเชฟเช เชตเซเชฌ เชกเซเชตเชฒเชชเชฎเซเชจเซเช เชเซเชฎ เชเชเชฒเซเช เชเชเชฟเชฒ เชเซ? เชญเชพเช 1 57700 เชเซเชตเชพเช, 319 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +101.0/-6.0
เชเซเชเซเชเซ
เช เชจเซ เช เชเชคเซ, เชเซเชฅเซ เชเซเช เชจเชพเชฐเชพเช เชจ เชฅเชพเชฏ, เชนเซเช เชธเซเชฅเซ เชเชเชพ เชฎเซเชฒเชพเชเชพเชค เชฒเซเชตเชพเชฏเซเชฒ เชนเชฌ "gtk" เชจเซเช เชฐเซเชเชฟเชเช เชเชชเซเชถ. เชเช เชตเชฐเซเชทเชฎเชพเช เชคเซ เชชเซเชฐเชเชพเชถเชฟเชค เชฅเชฏเซเช เชเช เชฒเซเช, เชเซ "เชเชชเชฎเซเชณเซ" เชชเชฃ เชฐเซเชเชฟเชเชเชจเซ เชชเซเชฐเชฅเชฎ เชฒเชพเชเชจ เชงเชฐเชพเชตเซ เชเซ.
GtkApplication เชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ. librsvg เชฐเซเชจเซเชกเชฐเซเชเช เชธเซเชตเชฟเชงเชพเช 1700 เชเซเชตเชพเช, 9 เชเชฟเชชเซเชชเชฃเซเช, เชฐเซเชเชฟเชเช +9.0/-1.0
เชจเชฟเชทเซเชเชฐเซเชท
เชเซเช เชจเชฟเชทเซเชเชฐเซเชท เชนเชถเซ เชจเชนเซเช. เชฆเชฐเซเชเชจเซ เชตเชพเชเชเซเชจเซ เชเชจเชเชฆ เชฅเชฏเซ.
เชธเซเชฐเซเชธ: www.habr.com