āĻāĻ°ā§ āĻšāĻžāĻŦāĻ°āĨ¤
Đ
āĻ¯āĻžāĻ°āĻž āĻāĻŋ āĻāĻā§āĻā§ āĻāĻā§āĻ°āĻšā§ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯, āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻāĻ¤āĻž āĻāĻžāĻāĻž āĻ
āĻ§ā§āĻ¨ āĻšāĻ¯āĻŧ.
āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŦāĻžāĻ°āĻ āĻŽāĻ¨ā§ āĻāĻ°āĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻā§āĻāĻŋ āĻ¯ā§ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻ°ā§āĻāĻŋāĻāĻā§āĻ˛āĻŋ āĻ
āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ¨āĻ¯āĻŧ, āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻā§āĻ¨āĻ āĻ
āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻ¤āĻĨā§āĻ¯ āĻ¨ā§āĻāĨ¤ āĻāĻāĻžāĻ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ āĻ¯ā§ āĻāĻŽāĻŋ āĻā§āĻĨāĻžāĻ āĻā§āĻ˛ āĻāĻ°āĻŋāĻ¨āĻŋ āĻŦāĻž āĻāĻŋāĻā§ āĻŽāĻŋāĻ¸ āĻāĻ°āĻŋāĻ¨āĻŋāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ¨āĻ, āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻāĻāĻž āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŖāĻ¤. āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽā§ āĻā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻāĻ°āĻŦ; āĻ¯āĻžāĻ°āĻž āĻāĻ¤ā§ āĻāĻā§āĻ°āĻšā§ āĻ¨āĻ¨ āĻ¤āĻžāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻŋāĻāĻžāĻāĻā§āĻ˛āĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻ¤āĻĨā§āĻ¯ āĻ¸āĻāĻā§āĻ°āĻš
āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ°ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĻā§āĻāĻž āĻ¸āĻāĻā§āĻ¯āĻž, āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻāĻŦāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻ°ā§āĻāĻŋāĻ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻžāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ°āĻ āĻāĻāĻŋāĻ˛ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¸āĻžāĻāĻā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻŦāĻŋāĻāĻžāĻāĻā§āĻ˛āĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ¸ā§āĻā§; āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻŦā§āĻļ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻāĻŦā§āĻˇāĻŖāĻž āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻŦā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĻā§āĻā§āĻ¨ āĻāĻŋāĻāĻžāĻŦā§ "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" āĻāĻŦāĻ "āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 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% āĻŦā§āĻļāĻŋāĨ¤ āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻļā§āĻāĻ°ā§āĻ¯āĻāĻ¨āĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻĒā§āĻ°āĻŋāĻ˛ā§āĻ° āĻļā§āĻ°ā§āĻ¤ā§ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻ
āĻ¸ā§āĻĒāĻˇā§āĻ, āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻŋāĻ āĻāĻā§āĻā§, āĻŦāĻž āĻāĻāĻŋ āĻāĻ āĻ§āĻ°āĻŖā§āĻ° āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ āĻ¤ā§āĻ°ā§āĻāĻŋ, āĻŦāĻž āĻ¸āĻŽā§āĻāĻŦāĻ¤ geektimes āĻ˛ā§āĻāĻāĻĻā§āĻ° āĻāĻāĻāĻ¨ āĻā§āĻāĻŋāĻ¤ā§ āĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛ā§āĻ¨;)āĨ¤
āĻ¯āĻžāĻāĻšā§āĻ, āĻā§āĻ°āĻžāĻĢāĻāĻŋ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻā§āĻ˛āĻŋāĻ° āĻāĻŋāĻāĻ¯āĻŧā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻžāĻ¯āĻŧ āĻāĻ°āĻ āĻĻā§āĻāĻŋ āĻ˛āĻā§āĻˇāĻŖā§āĻ¯āĻŧ āĻļāĻŋāĻāĻ° āĻĻā§āĻāĻžāĻ¯āĻŧ - āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻāĻ° āĻāĻŦāĻ āĻŽā§ āĻā§āĻāĻŋāĻ° āĻĻāĻŋāĻ¨āĻā§āĻ˛āĻŋāĨ¤
āĻšāĻžāĻŦāĻ¸
āĻāĻ¸ā§āĻ¨ āĻšāĻžāĻŦāĻā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖā§ āĻāĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĨ¤ āĻĻā§āĻāĻžāĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻļā§āĻ°ā§āĻˇ 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'āĻŽā§āĻŦāĻžāĻāĻ˛ āĻ¸āĻžāĻŽāĻā§āĻ°ā§' āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§, āĻāĻ¸āĻāĻŽāĻāĻ¸ āĻŦāĻž āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻžāĻĄāĻŧāĻžāĻāĨ¤ Megafon āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¤āĻžāĻ°āĻŖāĻžāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ 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.0IT āĻāĻžāĻ°ā§āĻŽāĻā§āĻ˛āĻŋ āĻāĻ˛ā§ āĻāĻ¨ā§āĻŽāĻžāĻ¨ā§āĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ 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.0āĻāĻāĻāĻŋ 12 āĻŦāĻāĻ° āĻŦāĻ¯āĻŧāĻ¸ā§ āĻāĻŋāĻļā§āĻ° āĻ¤āĻžāĻ° āĻŦāĻžāĻĄāĻŧāĻŋāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻĒāĻžāĻ°āĻŽāĻžāĻŖāĻŦāĻŋāĻ āĻĢāĻŋāĻāĻļāĻ¨ āĻŦāĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ 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'āĻŽā§āĻŦāĻžāĻāĻ˛ āĻ¸āĻžāĻŽāĻā§āĻ°ā§' āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§, āĻāĻ¸āĻāĻŽāĻāĻ¸ āĻŦāĻž āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻžāĻĄāĻŧāĻžāĻāĨ¤ Megafon āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¤āĻžāĻ°āĻŖāĻžāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ 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.0āĻāĻŋāĻāĻžāĻŦā§ 2019 āĻ¸āĻžāĻ˛ā§ āĻāĻ¯āĻŧā§āĻŦāĻ¸āĻžāĻāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§āĻ¨ 110000 āĻāĻŋāĻ, 278 āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯, āĻ°ā§āĻāĻŋāĻ +233.0/-11.0āĻļā§āĻāĻžāĻ° āĻĄāĻāĻžāĻ° āĻĒāĻžāĻ°ā§āĻ 1: āĻŦā§āĻ¸āĻŋāĻ 91300 āĻāĻŋāĻ, 24 āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯, āĻ°ā§āĻāĻŋāĻ +52.0/-10.0KPI āĻ JavaScript āĻāĻŦāĻ Node.js āĻāĻ° āĻāĻĒāĻ° āĻŦāĻā§āĻ¤ā§āĻ¤āĻž āĻā§āĻ°ā§āĻ¸ 80300 āĻāĻŋāĻ, 14 āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯, āĻ°ā§āĻāĻŋāĻ +34.0/-2.0āĻĒā§āĻ°āĻļāĻŋāĻā§āĻˇāĻŖāĻžāĻ°ā§āĻĨā§ āĻāĻžāĻ¸ā§āĻ¯ āĻāĻŦāĻ āĻāĻĒāĻŋāĻāĻ āĻāĻāĻĄā§āĻŽā§āĻĒāĻā§āĻ¨ā§āĻ¸āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻžāĻ° āĻāĻ˛ā§āĻĒ 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
āĻāĻŦāĻ āĻ āĻŦāĻļā§āĻˇā§, āĻ¯āĻžāĻ¤ā§ āĻā§āĻ āĻŦāĻŋāĻ°āĻā§āĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻāĻŽāĻŋ āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻĒāĻ°āĻŋāĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻž āĻšāĻžāĻŦ "gtk" āĻāĻ° āĻ°ā§āĻāĻŋāĻ āĻĻā§āĻŦāĨ¤ āĻāĻ āĻŦāĻāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻŋ āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§, āĻ¯āĻž "āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§" āĻ°ā§āĻāĻŋāĻ āĻāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻžāĻāĻ¨ āĻĻāĻāĻ˛ āĻāĻ°ā§āĨ¤
GtkApplication āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ librsvg āĻ°ā§āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ 1700 āĻāĻŋāĻ, 9 āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯, āĻ°ā§āĻāĻŋāĻ +9.0/-1.0
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
āĻā§āĻ¨ āĻāĻĒāĻ¸āĻāĻšāĻžāĻ° āĻšāĻŦā§ āĻ¨āĻž. āĻ¸āĻŦāĻžāĻ āĻĒāĻĄāĻŧā§ āĻā§āĻļāĻŋāĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com