Kamoo ke hlalositseng Habr, karolo ea 1: mekhoa

Ha Olivier ea Selemo se Secha e felile, ke ne ke se na letho leo nka le etsang, 'me ke ile ka etsa qeto ea ho kopitsa lihlooho tsohle ho tloha Habrahabr (le li-platform tse amanang le tsona) khomphuteng ea ka le ho hlahloba.

Ho ne ho e-na le lipale tse ’maloa tse thahasellisang. Ea pele ho tsona ke nts'etsopele ea sebopeho le lihlooho tsa lingoliloeng ka lilemo tse 12 tsa ho ba teng ha sebaka sena. Ka mohlala, matla a lihlooho tse ling a bontša haholo. Ho tsoela pele - tlas'a sehiloeng.

Kamoo ke hlalositseng Habr, karolo ea 1: mekhoa

Mokhoa oa ho qhekella

Ho utloisisa hore na Habr o ntlafalitse joang, ho ne ho hlokahala hore u hlahlobe lingoloa tsohle tsa hae le ho ntša lintlha tsa meta ho tsona (mohlala, matsatsi). Ho feta ho ne ho le bonolo, hobane li-link tsa lihlooho tsohle li shebahala joaloka "habrahabr.ru/post/337722/", 'me lipalo li fanoa ka mokhoa o tiileng. Kaha ke ne ke tseba hore poso ea ho qetela e na le palo e ka tlase ho likete tse 350, ke sa tsoa feta ho id ea tokomane e ka bang teng ka loop (khoutu ea Python):

import numpy as np
from multiprocessing import Pool
with Pool(100) as p:
    docs = p.map(download_document, np.arange(350000))

Mosebetsi download_document e leka ho kenya leqephe ka id e tsamaellanang le ho leka ho ntša lintlha tse bohlokoa ho tsoa sebopehong sa 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)

Ha ke ntse ke bala, ke ile ka fumana lintho tse ngata tse ncha.

Taba ea pele, ba re ho theha lits'ebetso tse ngata ho feta li-cores ho processor ha ho na thuso. Empa tabeng ea ka, ho ile ha fumaneha hore mohloli o fokolang ha se processor, empa marang-rang, le mekhoa e 100 e sebetsa ka potlako ho feta 4 kapa, ho re, 20.

Taba ea bobeli, liphatlalatsong tse ling ho ne ho e-na le metsoako ea litlhaku tse khethehileng - mohlala, li-euphemisms tse kang "%&#@". Ho ile ha fumaneha hore html.parser, eo ke e sebelisitseng pele, e arabela ho motsoako &# ka bohloko, ho nka hore ke qalo ea mokhatlo oa html. Ke ne ke se ke ntse ke il'o etsa boselamose, empa foramo e khothalelitse hore o ka fetola parser.

La boraro, ke ile ka khona ho laolla lingoliloeng tsohle, ntle le tse tharo feela. Litokomane tsa 65927, 162075, le 275987 li ile tsa hlakoloa hang-hang ke antivirus ea ka. Tsena ke lingoloa, ka ho latellana, mabapi le ketane ea javascript e khoasollang pdf e mpe, SMS ransomware ka sebopeho sa li-plugins tsa sebatli, le sebaka sa CrashSafari.com se romellang iPhones ho qala bocha. Antivirus e ile ea sibolla sengoloa se seng hamorao, nakong ea tlhahlobo ea sistimi: beha 338586 mabapi le lingoliloeng webosaeteng ea lebenkele la liphoofolo tse sebelisang processor ea mosebelisi ho rafa chelete ea crypto. Kahoo re ka nahana hore mosebetsi oa antivirus o lekane haholo.

Lingoloa tsa "Live" li ile tsa fetoha halofo feela ea boholo bo ka bang teng - likotoana tsa 166307. Mabapi le tse ling kaofela, Habr o fana ka likhetho "leqephe le siiloe ke nako, le hlakotsoe kapa ha le eo ho hang." Be, eng kapa eng e ka etsahala.

Ho kenngoa ha lingoliloeng ho ile ha lateloa ke mosebetsi oa tekheniki: mohlala, matsatsi a phatlalatso a ile a tlameha ho fetoloa ho tsoa ho sebopeho sa "'21 December 2006 ka 10:47 am" ho ea maemong a tloaelehileng. datetime, le "12,8k" maikutlo - ka 12800. Nakong ena, liketsahalo tse ling tse seng kae li ile tsa tsoa. Ntho e qabolang ka ho fetesisa e amana le lipalo tsa likhetho le mefuta ea data: liphatlalatso tse ling tsa khale li bile le phallo e kholo mme li fumane likhetho tse 65535 e le 'ngoe.

Kamoo ke hlalositseng Habr, karolo ea 1: mekhoa

Ka lebaka leo, litemana tsa lihlooho (ntle le litšoantšo) li ile tsa nkisa 1.5 gigabytes, litlhaloso tse nang le boitsebiso ba meta - tse ling tse 3, le li-megabyte tse ka bang lekholo - boitsebiso ba meta ka lihlooho. Sena se ka bolokoa ka botlalo ho RAM, e neng e le ntho e makatsang ho nna.

Ke qalile tlhahlobo ea lingoliloeng eseng litemaneng ka botsona, empa ho tsoa ho meta-tlhahisoleseling: matsatsi, li-tag, li-hubs, maikutlo le lintho tseo a li ratang. Ho ile ha fumaneha hore o ne a tseba ho hongata.

Mekhoa ea ntlafatso ea Habrahabr

Lingoliloeng setšeng li phatlalalitsoe ho tloha 2006; ka ho fetisisa ka matla - ka 2008-2016.

Kamoo ke hlalositseng Habr, karolo ea 1: mekhoa

Hore na lihlooho tsena li ile tsa baloa ka mafolofolo hakae ka linako tse fapaneng ha ho bonolo ho hlahloba. Lingoliloeng tsa 2012 le ba banyenyane li fumane maikutlo le lintlha tse ling, empa litemana tse ncha li na le maikutlo le li-bookmark tse ngata. Li-metrics tsena li ile tsa itšoara ka tsela e tšoanang (halofo) hang feela, ka 2015. Mohlomong, boemong ba mathata a moruo le a lipolotiki, tlhokomelo ea babali e tlohile ho li-blog tsa IT ho ea litabeng tse bohloko haholoanyane.

Kamoo ke hlalositseng Habr, karolo ea 1: mekhoa

Ho phaella ho lihlooho ka botsona, ke ile ka khoasolla litlhaloso tse eketsehileng ho tsona. Ho ne ho e-na le maikutlo a limilione tse 6, leha ho le joalo, tse likete tse 240 tsa tsona li thibetsoe ("UFO e ile ea fofa 'me ea hatisa mongolo ona mona"). Thepa ea bohlokoa ea litlhaloso ke hore li na le setempe sa nako. Ka ho ithuta nako ea litlhaloso, u ka utloisisa hantle ha lingoliloeng li baloa ho hang.

Ho ile ha fumaneha hore boholo ba lihlooho li ngotsoe le ho fana ka maikutlo kae-kae ho tloha 10 ho ea ho 20 pm, i.e. ka letsatsi le tloaelehileng la ho sebetsa la Moscow. Sena se ka bolela hore Habr o balloa merero ea litsebi, le hore ona ke mokhoa o motle oa ho lieha ho sebetsa. Ha e le hantle, kabo ena ea nako ea letsatsi e tsitsitse ho tloha motheong oa Habre ho fihlela kajeno.

Kamoo ke hlalositseng Habr, karolo ea 1: mekhoa

Leha ho le joalo, molemo o ka sehloohong oa setempe sa maikutlo ha se nako ea letsatsi, empa ke nako ea "bophelo bo mafolofolo" ba sengoloa. Ke ile ka bala hore na nako e abuoa joang ho tloha khatisong ea sehlooho ho fihlela tlhaloso ea eona. Ho ile ha fumaneha hore hona joale tlhaloso ea bohareng (mola o motala) e tla ka lihora tse ka bang 20, i.e. ka letsatsi la pele ka mor’a hore ho phatlalatsoe, ka karolelano, ho sala ho batla ho feta halofo ea litlhaloso tsohle tse mabapi le sehlooho seo. 'Me ka matsatsi a mabeli ba siea 75% ea litlhaloso tsohle. Ka nako e ts'oanang, lihlooho tsa pejana li ne li baloa ka potlako - ka mohlala, ka 2010, halofo ea litlhaloso li fihlile lihora tse 6 tsa pele.

Kamoo ke hlalositseng Habr, karolo ea 1: mekhoa

Ho ile ha makatsa hore ebe maikutlo a lelefalitsoe: palo ea batho bao ho buuoang ka bona e batlile e imena habeli ho feta bophelo ba Habr!

Kamoo ke hlalositseng Habr, karolo ea 1: mekhoa

Maikutlo a bonolo ho feta maikutlo ke likhetho. Ho fapana le lisebelisoa tse ling tse ngata, ho Habré u ke ke ua beha li-pluses feela, empa le li-minuses. Leha ho le joalo, babali ha ba sebelise monyetla oa ho qetela hangata: karolo ea hona joale ea ho se rate e ka ba 15% ea likhetho tsohle tse entsoeng. Ho ne ho e-na le tse ling, empa ha nako e ntse e ea, babali ba fetohile ba mosa.

Kamoo ke hlalositseng Habr, karolo ea 1: mekhoa

Litemana ka botsona li fetohile ha nako e ntse e ea. Mohlala, bolelele bo tloaelehileng ba mongolo ha bo khaotse ho hola butle ho tloha qalong ea sebaka sa marang-rang, leha ho na le mathata. Ka lilemo tse leshome, litemana li se li le telele ka makhetlo a ka bang leshome!

Kamoo ke hlalositseng Habr, karolo ea 1: mekhoa

Mokgwa wa dingolwa (ho ya kakanyong ya pele) le wona o fetohile. Lilemong tsa pele tsa boteng ba Habr, mohlala, karolo ea khoutu le lipalo litemaneng li ile tsa eketseha:

Kamoo ke hlalositseng Habr, karolo ea 1: mekhoa

Ka mor'a ho utloisisa matla a kakaretso a sebaka seo, ke ile ka etsa qeto ea ho lekanya hore na ho tsebahala ha lihlooho tse fapaneng ho fetohile joang. Lihlooho li ka khethoa ka botsona litemaneng, empa bakeng sa ho qala, u ke ke ua khona ho khutlisetsa lebili hape, empa sebelisa li-tag tse lokiselitsoeng tse kentsoeng ke bangoli ba sengoloa ka seng. Ke hutse mekhoa e mene e tloaelehileng chateng. Sehlooho sa "Google" qalong se ne se laola (mohlomong haholo-holo ka lebaka la SEO), empa se ntse se theola boima ba 'mele ho theosa le lilemo. Javascript e 'nile ea e-ba sehlooho se tummeng' me se ntse se tsoela pele ho hōla butle-butle, empa ho ithuta ka mochine ho qalile ho tsebahala ka potlako lilemong tsa morao tjena. Linux, ka lehlakoreng le leng, e ntse e sebetsa ka tsela e tšoanang ho theosa le lilemo tse leshome.

Kamoo ke hlalositseng Habr, karolo ea 1: mekhoa

Ha e le hantle, ke ile ka thahasella hore na ke lihlooho life tse hohelang thahasello ea babali haholoanyane. Ke balile palo e bohareng ea maikutlo, likhetho le litlhaloso sehloohong ka seng. Se etsahetseng ke sena:

  • Lihlooho tse shebiloeng haholo: arduino, moralo oa webo, nts'etsopele ea webo, digest, likhokahano, css, html, html5, nginx, algorithms.
  • Lihlooho tse "ratileng" ka ho fetesisa: vkontakte, metlae, jquery, opera, c, html, ntlafatso ea webo, html5, css, moralo oa webo.
  • Lihlooho tseo ho buisanoang ka tsona haholo: opera, skype, freelance, vkontakte, ubuntu, work, nokia, nginx, arduino, firefox.

Ka tsela, kaha ke bapisa lihlooho, u ka li beha ka makhetlo a mangata ('me u bapise liphetho le sengoloa se ts'oanang ho tloha 2013).

  • Ka lilemo tsohle tsa ho ba teng ha Habr, li-tag tse tsebahalang haholo (ka tatellano e theohang) ke google, android, javascript, microsoft, linux, php, apple, java, python, programming, startups, development, ios, startup, social networks.
  • Ka 2017, tse tummeng ka ho fetisisa e ne e le javascript, python, java, android, development, linux, c++, programming, php, c#, ios, ho ithuta ka mochine, ts'ireletso ea tlhahisoleseding, microsoft, react

Ha ho bapisoa litekanyetso tsena, motho a ka ela hloko, ka mohlala, leetong la tlhōlo la Python le ho fela ha php, kapa "ho likela ha letsatsi" ha lihlooho tsa ho qala le ho phahama ha thuto ea mochine.

Ha se li-tag tsohle ho Habré tse nang le mebala e hlakileng joalo. Mohlala, mona ke li-tag tse leshome le metso e 'meli tse kopaneng hanngoe feela, empa li ne li bonahala li qabola ho nna. Kahoo: "khopolo ke tšusumetso ea tsoelo-pele", "boot ho tloha setšoantšong sa floppy disk", "Iowa State", "drama", "superalesh", "steam engine", "lintho tseo u lokelang ho li etsa ka Moqebelo", "Ke na le phokojoe ka grinder ea nama", "ho bile joalo ka mehleng", "re ne re sitoa ho hlahisa li-tag tse qabolang". Ho tseba taba ea lingoloa tse joalo, li-tag ha lia lekana - o tla tlameha ho etsa mohlala oa sehlooho litemaneng tsa lingoliloeng.

Tlhahlobo e qaqileng haholoanyane ea litaba tsa lingoliloeng e tla ba posong e latelang. Taba ea pele, ke tlo etsa mohlala o bolelang esale pele palo ea maikutlo a leqephe bakeng sa sengoloa se ipapisitseng le litaba tsa sona. Ea bobeli, ke batla ho ruta marang-rang a neural ho hlahisa litemana ka mokhoa o tšoanang le oa bangoli ba Habr. Kahoo ngolisa 🙂

PS 'Me mona ke beeped datha.

Source: www.habr.com

Eketsa ka tlhaloso