Hlo Habr.
Π
Rau cov neeg uas txaus siab rau qhov tshwm sim, qhov txuas ntxiv yog nyob rau hauv kev txiav.
Cia kuv ceeb toom koj ib zaug ntxiv tias cov txheeb cais thiab kev ntaus nqi tsis raug cai, Kuv tsis muaj cov ntaub ntawv sab hauv. Nws tseem tsis tau lees tias kuv tsis tau ua yuam kev nyob qhov twg los yog nco ib yam dab tsi. Tab sis tseem, kuv xav tias nws muab tawm nthuav. Peb yuav pib nrog tus lej ua ntej; cov neeg uas tsis nyiam qhov no tuaj yeem hla thawj ntu.
Kev sau cov ntaub ntawv
Nyob rau hauv thawj version ntawm tus parser, tsuas yog tus naj npawb ntawm views, cov lus pom thiab kev ntsuam xyuas tsab xov xwm raug coj mus rau hauv tus account. Qhov no twb zoo lawm, tab sis nws tsis tso cai rau koj los ua ntau cov lus nug nyuaj. Nws yog lub sijhawm los txheeb xyuas cov ntsiab lus ntawm lub xaib; qhov no yuav tso cai rau koj los ua cov kev tshawb fawb nthuav dav, piv txwv li, saib seb qhov kev nyiam ntawm "C ++" ntu tau hloov pauv ntau xyoo.
Cov kab lus parser tau raug txhim kho, tam sim no nws rov qab cov hubs uas tsab xov xwm koom nrog, nrog rau tus sau lub npe menyuam yaus thiab nws qhov kev ntaus nqi (ntau yam nthuav tuaj yeem ua tiav ntawm no, ib yam nkaus, tab sis qhov ntawd yuav los tom qab). Cov ntaub ntawv tau txais kev cawmdim hauv csv cov ntaub ntawv uas zoo li no:
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
...
Peb yuav tau txais ib daim ntawv teev cov ntsiab lus tseem ceeb ntawm lub xaib.
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)
Lub find_between muaj nuj nqi thiab cov chav kawm Str xaiv ib txoj hlua ntawm ob lub cim npe, kuv siv lawv
Cov txiaj ntsig ntawm get_hubs muaj nuj nqi yog ib daim ntawv teev npe zoo, uas peb khaws cia ua phau ntawv txhais lus. Kuv tshwj xeeb tshaj tawm cov npe hauv nws tag nrho kom koj tuaj yeem kwv yees nws qhov ntim.
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'}
Rau kev sib piv, cov ntu geektimes saib zoo dua:
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'}
Cov hubs uas tseem tshuav tau khaws cia zoo ib yam. Tam sim no nws yooj yim los sau cov haujlwm uas rov qab qhov tshwm sim txawm tias tsab xov xwm belongs rau geektimes lossis profile hub.
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
Cov haujlwm zoo sib xws tau tsim rau lwm ntu ("kev txhim kho", "kev tswj hwm", thiab lwm yam).
Ua
Nws yog lub sijhawm los pib tshuaj xyuas. Peb thauj cov dataset thiab ua cov ntaub ntawv hub.
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)
Tam sim no peb tuaj yeem pab pawg cov ntaub ntawv los ntawm ib hnub thiab tso saib cov naj npawb ntawm cov ntawv tshaj tawm rau cov chaw sib txawv.
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()
Peb tso saib cov xov tooj ntawm cov ntawv luam tawm siv Matplotlib:
Kuv faib cov ntawv "geektimes" thiab "geektimes nkaus xwb" hauv daim ntawv, vim Ib tsab xov xwm tuaj yeem koom rau ob ntu tib lub sijhawm (piv txwv li, "DIY" + "microcontrollers" + "C ++"). Kuv siv lub npe "profile" los qhia txog cov ntawv profile ntawm lub xaib, txawm hais tias tej zaum cov lus Askiv lub ntsiab lus rau qhov no tsis yog kiag li.
Hauv ntu dhau los peb tau nug txog "geektimes effect" cuam tshuam nrog kev hloov pauv hauv cov cai them nyiaj rau cov khoom rau geektimes pib lub caij ntuj sov no. Cia peb tso saib cov ntawv geektimes nyias:
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()
Qhov tshwm sim yog nthuav. Qhov kwv yees piv ntawm kev pom ntawm cov ntawv geektimes rau tag nrho yog qhov chaw nyob ib puag ncig 1: 5. Tab sis thaum tag nrho cov kev pom tau hloov pauv tau pom, qhov kev saib ntawm "kev lom zem" cov khoom tseem nyob ntawm kwv yees li tib theem.
Koj tuaj yeem pom tias tag nrho cov kev pom ntawm cov ntawv hauv "geektimes" seem tseem poob tom qab hloov cov cai, tab sis "los ntawm qhov muag", tsis pub ntau tshaj 5% ntawm tag nrho cov nqi.
Nws yog qhov nthuav kom saib qhov nruab nrab tus naj npawb ntawm cov kev pom ib kab lus:
Rau cov ntawv "kev lom zem" nws yog kwv yees li 40% siab dua qhov nruab nrab. Qhov no tej zaum tsis xav tsis thoob. Qhov tsis ua tiav thaum pib lub Plaub Hlis yog qhov tsis nkag siab rau kuv, tej zaum qhov ntawd yog qhov tshwm sim, lossis nws yog qee yam kev txheeb xyuas yuam kev, lossis tej zaum ib tus kws sau ntawv geektimes mus so ;).
Los ntawm txoj kev, daim duab qhia ob qhov pom pom ntau dua hauv cov xov tooj ntawm cov lus pom - Xyoo Tshiab thiab Tsib Hlis hnub so.
Hubs
Cia peb txav mus rau qhov kev cog lus tsom xam ntawm hubs. Cia peb teev cov 20 hubs saum toj kawg nkaus los ntawm tus naj npawb ntawm kev pom:
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()
Tshwm sim:
Kuj ceeb tias, qhov chaw nrov tshaj plaws nyob rau hauv cov ntsiab lus ntawm kev pom yog "Cov Ntaub Ntawv Kev Ruaj Ntseg"; cov thawj coj saum toj kawg nkaus 5 tseem suav nrog "Kev Pabcuam" thiab "Nrov science".
Antitop occupies Gtk thiab Cocoa.
Kuv mam li qhia rau koj paub, cov hubs saum toj kawg nkaus tuaj yeem pom
Ntsuam Xyuas
Thiab thaum kawg, qhov kev ntsuas tau cog lus tseg. Siv cov ntaub ntawv txheeb xyuas hub, peb tuaj yeem tso saib cov lus nrov tshaj plaws rau cov chaw nrov tshaj plaws rau xyoo 2019 no.
Cov Ntaub Ntawv Kev Ruaj Ntseg
Yuav ua li cas kuv tsis ua hauj lwm ntawm Sberbank rau ib xyoos 304000 views, 599 lus, ntsuam xyuas +457.0/-14.0Muab pov tseg lub teeb ntse ntse yog qhov tseem ceeb ntawm cov ntaub ntawv tus kheej 232000 views, 147 lus, ntsuam xyuas +75.0/-11.0Kev dag ntxias thiab kos npe digital - txhua yam phem heev 176000 views, 778 lus, ntsuam xyuas +356.0/-0.0Yuav ua li cas Megafon hlawv tawm ntawm mobile subscriptions 166000 views, 676 lus, ntsuam xyuas +624.0/-2.0Hacking VK, ob-factor authentication yuav tsis txuag 148000 views, 332 lus, ntsuam xyuas +124.0/-17.0Yuav ua li cas tus browser pab comrade loj 132000 views, 321 lus, ntsuam xyuas +246.0/-19.0Cov pob tseg loj tshaj plaws hauv keeb kwm: 2,7 billion nyiaj, ntawm 773 lab yog qhov tshwj xeeb. 123000 views, 154 lus, ntsuam xyuas +86.0/-5.0Nub nua, peb tua Internet 121000 views, 933 lus, ntsuam xyuas +392.0/-83.0'Cov ntsiab lus txawb' yog dawb, tsis muaj SMS lossis sau npe. Cov ntsiab lus ntawm kev dag ntxias los ntawm Megafon 114000 views, 478 lus, ntsuam xyuas +488.0/-8.0Chaw nres nkoj scanner hauv koj tus kheej tus account Rostelecom 111000 views, 194 lus, ntsuam xyuas +300.0/-8.0
Lub cajmeem
Hais txog ib tug txiv neej 167000 views, 249 lus, ntsuam xyuas +239.0/-33.0Lub sijhawm koj tsis nco qab OOP, qhov zoo dua rau koj thiab koj cov kev pabcuam 129000 views, 1271 lus, ntsuam xyuas +131.0/-63.0Vim li cas Senior Developers tsis tuaj yeem ua haujlwm 119000 views, 901 lus, ntsuam xyuas +151.0/-14.0Puas yog qhov no tsis muaj chaw rau cov neeg laus? Programming tom qab peb caug-tsib 116000 views, 649 lus, ntsuam xyuas +222.0/-16.0Cov lus programming tshiab tau ntsiag to tua peb kev sib txuas nrog kev muaj tiag 106000 views, 764 lus, ntsuam xyuas +164.0/-52.0Qhov kuv tau kawm txoj kev nyuaj (tshaj 30 xyoo hauv kev txhim kho software) 101000 views, 128 lus, ntsuam xyuas +178.0/-9.0Cov lus programming tsawg tshaj plaws thiab kim tshaj plaws 82900 views, 119 lus, ntsuam xyuas +38.0/-10.0Course of lectures on JavaScript and Node.js at KPI 80300 views, 14 lus, ntsuam xyuas +34.0/-2.0IT cov ntsiab lus siv cov piv txwv ntawm cov txheej txheem ntawm kev loj hlob qos yaj ywm 78000 views, 86 lus, ntsuam xyuas +84.0/-14.0256 kab ntawm liab qab C ++: sau cov duab hluav taws xob los ntawm kos hauv ob peb teev 77600 views, 124 lus, ntsuam xyuas +241.0/-0.0
Nrov Science
Dab tsi tus kws tsim qauv haus luam yeeb: riam phom txawv txawv 236000 views, 123 lus, ntsuam xyuas +119.0/-9.0Cov kws tshawb fawb tau pom qhov qub tshaj plaws nyob hauv lub ntiaj teb 234000 views, 212 lus, ntsuam xyuas +82.0/-14.0TV series 'Chernobyl': saib thiab xav 173000 views, 803 lus, ntsuam xyuas +164.0/-25.0Ib tug tub hluas muaj hnub nyoog 12 xyoos tau ua qhov kev tawm tsam nuclear hauv nws lub tsev kuaj mob. 145000 views, 280 lus, ntsuam xyuas +126.0/-29.0Zaj Dab Neeg ntawm Alloy Rose thiab Fallen Krenka 134000 views, 244 lus, ntsuam xyuas +217.0/-1.0Ua kom loj dua! Kev daws teeb meem niaj hnub no 134000 views, 235 lus, ntsuam xyuas +377.0/-1.0Lub software rau Boeing 737 Max tau sau los ntawm outsourcers khwv tau $ 9 ib teev. 126000 views, 560 lus, ntsuam xyuas +153.0/-6.0Tsis txhob ntshai, tsis txhob maj, tsis txhob cuam tshuam: zaj dab neeg ntawm qhov xwm txheej 121000 views, 384 lus, ntsuam xyuas +242.0/-4.0Cov kws lej tau tshawb pom txoj hauv kev zoo tshaj los muab cov lej sib npaug 108000 views, 222 lus, ntsuam xyuas +173.0/-10.0Cov lus programming tshiab tau ntsiag to tua peb kev sib txuas nrog kev muaj tiag 106000 views, 764 lus, ntsuam xyuas +164.0/-52.0
Hauj Lwm
Yuav ua li cas kuv tsis ua hauj lwm ntawm Sberbank rau ib xyoos 304000 views, 599 lus, ntsuam xyuas +457.0/-14.0Kuv rhuav tshem cov neeg tsim tawm lub neej nrog kuv cov lus tshuaj xyuas thiab kuv thov txim 187000 views, 21 lus, ntsuam xyuas +37.0/-3.0Vaj Ntxwv ntawm Kev Txhim Kho 179000 views, 668 lus, ntsuam xyuas +315.0/-60.0Hais txog ib tug txiv neej 167000 views, 249 lus, ntsuam xyuas +239.0/-33.0Retire ntawm 22 158000 views, 927 lus, ntsuam xyuas +259.0/-100.0Yuav ua li cas hloov lub teeb ntawm koj qhov chaw ua haujlwm yam tsis tau raug rho tawm haujlwm? 139000 views, 762 lus, ntsuam xyuas +200.0/-20.0Innovation nyob rau hauv Russia 128000 views, 612 lus, ntsuam xyuas +480.0/-33.0Vim li cas Senior Developers tsis tuaj yeem ua haujlwm 119000 views, 901 lus, ntsuam xyuas +151.0/-14.0Cov neeg ua haujlwm 'Hlawv': Puas muaj txoj hauv kev tawm? 117000 views, 398 lus, ntsuam xyuas +210.0/-14.0Puas yog qhov no tsis muaj chaw rau cov neeg laus? Programming tom qab peb caug-tsib 116000 views, 649 lus, ntsuam xyuas +222.0/-16.0
Kev cai lij choj hauv IT
Kev dag ntxias thiab kos npe digital - txhua yam phem heev 176000 views, 778 lus, ntsuam xyuas +356.0/-0.0Yuav ua li cas Megafon hlawv tawm ntawm mobile subscriptions 166000 views, 676 lus, ntsuam xyuas +624.0/-2.0Innovation nyob rau hauv Russia 128000 views, 612 lus, ntsuam xyuas +480.0/-33.0'Cov ntsiab lus txawb' yog dawb, tsis muaj SMS lossis sau npe. Cov ntsiab lus ntawm kev dag ntxias los ntawm Megafon 114000 views, 478 lus, ntsuam xyuas +488.0/-8.0Yuav ua li cas cov tub ceev xwm Kazakh tab tom sim npog lawv qhov tsis ua raws li daim ntawv pov thawj 111000 views, 77 lus, ntsuam xyuas +122.0/-14.0Yuav ua li cas Protonmail raug thaiv hauv Russia 102000 views, 398 lus, ntsuam xyuas +418.0/-7.0Txoj cai lij choj ntawm kev cais tawm ntawm Runet tau txais los ntawm Lub Xeev Duma hauv peb qhov kev nyeem 88200 views, 878 lus, ntsuam xyuas +73.0/-18.0Yuav ua li cas tus programmer xaiv lub txhab nyiaj thiab nyeem cov ntawv cog lus 87200 views, 611 lus, ntsuam xyuas +166.0/-9.0Lub Tsev Haujlwm Saib Xyuas Kev Lag Luam thiab Kev Sib Txuas Lus tau pom zoo rau daim nqi ntawm kev cais RuNet 83600 views, 364 lus, ntsuam xyuas +79.0/-9.0Cov lus teb ntxaws ntxaws rau cov lus pom, nrog rau me ntsis txog lub neej ntawm cov neeg muab kev pabcuam hauv Lavxias Federation 74700 views, 389 lus, ntsuam xyuas +290.0/-1.0
Kev txhim kho lub vev xaib
Puas yog qhov no tsis muaj chaw rau cov neeg laus? Programming tom qab peb caug-tsib 116000 views, 649 lus, ntsuam xyuas +222.0/-16.0Yuav ua li cas thiaj tsim cov websites hauv 2019 110000 views, 278 lus, ntsuam xyuas +233.0/-11.0Kawm Docker Part 1: Basics 91300 views, 24 lus, ntsuam xyuas +52.0/-10.0Course of lectures on JavaScript and Node.js at KPI 80300 views, 14 lus, ntsuam xyuas +34.0/-2.0Tus kws qhia Vasya thiab nws cov dab neeg txog API idempotency 68900 views, 160 lus, ntsuam xyuas +216.0/-3.0Kev nkag siab ntawm kev sib koom yog tawg. Qhov no yeej tsis yog kev sib tshuam ntawm lub voj voog, ncaj ncees 65900 views, 223 lus, ntsuam xyuas +138.0/-41.0Vim li cas koj yuav tsum tsis txhob nkim koj lub sij hawm tsim niche thematic lub vev xaib 62700 views, 243 lus, ntsuam xyuas +179.0/-13.0Ua ib daim ntawv thov web niaj hnub los ntawm kos 62200 views, 122 lus, ntsuam xyuas +56.0/-8.0Tsaus ntuj rau Vue.js 60800 views, 133 lus, ntsuam xyuas +77.0/-6.0Vim li cas niaj hnub kev txhim kho lub vev xaib thiaj li nyuaj? Ntu 1 57700 views, 319 lus, ntsuam xyuas +101.0/-6.0
GTK
Thiab thaum kawg, kom tsis muaj leej twg ua txhaum, kuv yuav muab qhov ntsuas ntawm qhov tsawg tshaj plaws mus xyuas hub "gtk". Hauv ib xyoos nws tau luam tawm ib tug Cov kab lus, uas kuj "automatically" occupies thawj kab ntawm kev ntsuam xyuas.
Siv GtkApplication. librsvg rendering nta 1700 views, 9 lus, ntsuam xyuas +9.0/-1.0
xaus
Yuav tsis muaj qhov xaus. Zoo siab nyeem sawv daws.
Tau qhov twg los: www.hab.com