JavaRush /Java Blog /Random-TK /GitHub kody gözlemek: Has köp gözläň, az gözläň - GitHub ...

GitHub kody gözlemek: Has köp gözläň, az gözläň - GitHub gözleg motoryny işe girizdi

Toparda çap edildi
Hemmelere salam, gadyrly dostlar! GitHub-da täze aýratynlyklary söýýän hökmünde, ýakyn wagtda hemmämiziň GitHub kod bazasyny çalt we netijeli gözläp biljekdigimizi bilmek bilen gyzyklandym. Esasanam bir gural ulanmagyň çylşyrymly usulyny tapmaly bolsa, bu gaty amatly bolup biler. “GitHub kod gözlegi: Has köp zady tapyň, az gözläň” - GitHub gözleg motoryny işe girizdi - 1Bu esasanam GitHub-a geljekki bäsdeşiniň Russiýada açylandygy bilen rezonanslaşýar. Şol sebäpden, GitHub, şübhesiz, bazaryň öňdebaryjydygyna garamazdan, üstünlik gazanmaly däldir. Biz öňe gitmeli we ösdürmeli, ýogsam bir sagat hem bolmaz, bäsdeşler tutup, ýok ederler. Şeýle ajaýyp görünmesin. Mysal üçin: Nokia telefonlaryny henizem näçe adam ulanýar? Telefon ýasandyklaryny kim bilýär? Bir wagtlar olar diňe ýetip bolmajak, jedelsiz bazar ýolbaşçylarydy ... Indi bolsa statistiki ýalňyşlyklaryň bir ýerinde peýda bolýarlar.

Ilkinji täsir

GitHub koduňyzy we GitHub-da neşir edilen milliardlarça setirleri gözläp, gezip we analiz edip boljak bir taslama döretdi. Gözlegiň ulaldylyp bilinjekdigini, çalt we takykdygyny bellemelidiris. Kod gözlemek üçin ýörite noldan döredildi. Nawigasiýa sazlamalar bolmazdan 10 sany esasy programma dili üçin işleýär (sanaw geljekde öser diýip umyt edýäris). Adaty bir aňlatma ulanyp gözläp bilersiňiz, bu gaty oňat. Beýleki süzgüçler hem bar:
  • gurama boýunça;
  • programma dilleri arkaly;
  • ýörite eýesi tarapyndan;
  • faýl giňeltmek arkaly;
  • yzygiderli aňlatmak arkaly.
Sanaw eýýäm täsirli! Gözleg motory, gözlegiň zerur çäklerini anyk kesgitläp biljek çylşyrymly gözleg talaplaryny döretmäge mümkinçilik berýär. Dwigateliň ikinji möhüm bölegi kod nawigasiýasy development Ösüş şertleri haýsylar üçin amatly we adamlar näme üçin pul töleýärler? Sebäbi olar durmuşymyzy aňsatlaşdyrýarlar, kody ösdürmegiň we okamagyň tizligi ýokarlanar ýaly, koddan geçmäge kömek ediň. GitHub indi bize bu ajaýyp aýratynlygy hödürleýär. Bu ajaýyp. Hawa, häzirki wagtda GitHub-da nawigasiýa meňzeş bir zadyň bardygyny bilýärin, ýöne işlemegi henizem gaty gysga we çig. Developmentagny, ösüş gurşawy bolmazdan, käbir usullaryň nirede ulanylandygyny, nirede kesgitlenendigini gözläp bilersiňiz. Bu gaty ajaýyp. GitHub meni begendirýärsiň. Sapaklarda import üçin nawigasiýa hem bar. GitHub-da belli bir kitaphanany tapmakda we öwrenmekde köp meseläni çözýär. Indi bu proses birnäçe gezek çaltlaşdyrylýar. Hemmesi mugt. Gowy. Oňa mätäç bolarmy? Hawa, ynanýaryn!

Gözleg hakda has jikme-jik gürleşeliň

Seredip, özüňizi gözlemäge synanyşmak gaty gyzykly: olaryň aýdyşy ýaly amatlymy? Häzirlikçe bu aýratynlyk köpçülige elýeterli däl we baglanyşyk arkaly garaşýanlaryň sanawyna goşup bilersiňiz . Therehli nokatlary şol ýerde doldurýarys, soraglar ýönekeý, men bu ýerde suratlandyrjak däl. Netijede, garaşýanlaryň sanawyna goşulýarys we dowam edýäris. Netijede, jogap şeýle bolar: “GitHub kod gözlegi: Has köp zady tapyň, az gözläň” - GitHub gözleg motoryny işe girizdi - 2Siz diňe garaşmaly bolarsyňyz. Goşulan badyma hökman hemme zady görkezerin. Gijä goýmaň, soňrak düşünip, göwnüňizden turar ýaly edip goşuň) Elbetde, täze guraly derrew synap görmezligiňiz utandyryjy zat, geliň resminamalaryny seljerip, düşündiriň bu guraly işimiz üçin nädip ulanyp boljakdygy barada has jikme-jik. Gözleg hakda. Writingazýan kitaphanamda manyly sapaklary we gurluşlary ulanar . Bu meniň üçin has düşnükli we aňsatlaşdyrar we size-de has aňsat bolar diýip umyt edýärin.

Esasy gözleg

“ImageComparison” faýl atlaryndaky we mazmunyndaky talap bilen takyk gözleýän iň ýönekeý gözlegdir. Bu ýerde hemme zat gaty ýönekeý görünýär. Synpyň ady bilen, nirede yglan edilendigini we nirede ulanylýandygyny anyk bilmek islesek, şeýle gözleg bu meselede bize kömek eder. Boşluklar bilen bölünen birnäçe söz girizseňiz, netije olaryň hemmesini aýratyn gözlär: Surat deňeşdirmesi , ýagny Surat we Deňeşdirme üçin faýllary we kody tapar . Boşluklary öz içine alýan setir gözlemeli bolsaňyz, diňe sitatalary ulanmaly bolarsyňyz. Mysal üçin: “ImageComparison deňeşdirme = täze ImageComparison ()” , soňra gözleg tutuş setire gabat geler. Gaçmak üçin hemişe bolşy ýaly “\” ulanýarys. Şu wagta çenli hemme zat içgin we köplenç şeýle edilýär. Mundan başga-da, bu esasy gözleg üçin süzgüç goşup bileris. Şonuň üçin geliň olaryň hersi hakda gürleşeliň. Bular eýýäm döreden süzgüçimize logiki “AND” bolar.

Ammar boýunça süzüň

Esasy süzgüçimiz taýýar bolansoň, gözlegimizi we gözlegimizi belli bir ammar arkaly çäklendirip bileris, bu gaty amatly. Synpyň haýsy bukjada ýerleşýändigini gözlemek hökman däl, diňe ýazyp bilersiňiz:
repo: romankh3 / surat-deňeşdirme ImageComparisonResult
Repo görkezmeli ýerimizde : $ {user_name} / $ {repo_name} . Şeýle hem, bir OR goşmak bilen birnäçe ammarda gözläp bilersiňiz:
repo: romankh3 / surat-deňeşdirme ORA-da repo: romankh3 / ulanyş-şekil-deňeşdirme ImageComparisonResult
GitHub-da aýdylyşy ýaly, häzirki wagtda adyň adaty aňlatma hökmünde görkezilen ammarlarda gözlemegi goldamaýarlar ... Bu olaryň şeýle aýratynlygy goşmagy meýilleşdirýändiklerini we taslamanyň yglan edilen ýerinde durmajakdygyny aňladýar işlemegi we hasam ösmegi.

Gurama boýunça süzgüç

Gurama ýa-da ulanyjy tarapyndan gözlemek ammarda gözlemek bilen edil edilişi ýaly edilýär, diňe açar söz repo däl , org :
org: romankh3 ImageComparison
Soň bolsa gözleg ulanyjynyň / guramanyň ähli ammarlaryndan geçer.

Programma dilleri boýunça süzüň

Şeýle hem belli bir programmirleme dilinde faýl gözlegini kesgitläp bilersiňiz. Bu ýerde gurluşyk ammar we gurama bilen deňdir, diňe açar söz dil :
dili: java ImageComparison
Ammar üçin bolşy ýaly, OR açar sözüni ulanyp birbada birnäçe dilde gözlemegi goldaýar:
dili: java ORA-da dil: ýakut ImageComparison
GitHub tarapyndan goldanýan dilleriň doly sanawyny şu ýerden tapyp bilersiňiz . BrainFuck barmy? 😂

Faýl ýoly boýunça süzüň

Taslamadaky her bir faýlyň öz ýoly bar we süzgüç goşup gözläp bilersiňiz. Mysal üçin, ImageComparisonResult faýly bar , onuň ýoly bar:
src / main / java / com / github / romankh3 / surat / deňeşdirme / model / ImageComparisonResult.java
Şeýlelik bilen, ýoly src / main / java / com / github / romankh3 / image bilen başlaýan ähli synplary tapmak üçin :
ýol: src / main / java / com / github / romankh3 / surat
Synag sapaklarynyň gözleg netijelerimizden galmagyny islemeýän ýagdaýlarymyzda peýdaly bolup biler. Ora-da tersine, diňe synaglar. Bu gözlegiňizi has çeýe edýär. Faýl ýoly boýunça süzgüç yzygiderli aňlatma arkaly kesgitlenip bilner. Mysal üçin, tapmaly
ýol: src / * / *. js

Boolean amallary

Elbetde, ähli süzgüç binasynyň iň ýokary nokady, bu meseläni Boolean amallaryny ulanmak bilen birleşdirýär. Munuň üçin bizde we, ORA-da, NOTOK. Bu biziň üçin ýeterlik bolmaly diýip pikir edýärin. Mysal üçin, çylşyrymly gözleg soragyny döredeliň: belli bir ulanyjy / gurama üçin Java ýa-da Kotlin önümçiliginden kod:
repo: romankh3 WE (dil: java ORA-da dil: kotlin) WE NOTOL däl: * / test / *
Saňa aýdýaryn, bu diýseň ajaýyp. Gözleg haýyşy şeýle ýönekeý, çalt, gysga we aç-açan ýazylýar, haýyşy gözlemekde we okamakda hiç hili kynçylyk bolmaz.

Kiçijik yza çekiş

Biziň şatlygymyz entek sowadylmasa-da, 2018-nji ýyla gaýdyp, bir zady ýada salmak isleýärin ... Microsoftadyňyzdamy, Microsoft-yň GitHub-y satyn alýandygyny her kim bilip, taslama jaýlanar öýdüpdi? Ykbaly ikinji Skype-iň ýolymy? Her kim öz taslamalaryny GitLab-a nädip başlady? Honestöne dogrymy aýtsam, bu gykylykdan soň bir zatlar döredip, ejir çekdim. Emma, ​​dogrymy aýtsam, taslamalary täzeden göçüren ýerime hiç haçan baryp görmedim. Näme-de bolsa islämok. Näme üçin? Bu hakda pikirler hem bar. GitHub-yň Bill Geýte satylandan soň, taslama hususy ammarlara eýe bolmak mümkinçiligini goşandygyny, CI / CD prosesi üçin GitHub Hereketleriniň goýberilendigini we başga-da köp zady ýatladýaryn. Indi güýçli gözleg motory. Bu taslama çümmek islegi ýaly däl. Bu, Microsoft-yň girdeji üçin salgyt tölemek islemeýänine we ýylyň ahyryna çenli 9 milliard dollardan gowrak üstünlikli satyn almagyna meňzeýär 😁 Soň bolsa bu taslamany işläp düzmek kararyna geldiler. Açyk çeşme dörediji üçin bu kodlaryny saklamak üçin ajaýyp ýerdir. GitHub-dan çykman önümiňizi doly ösdürip bilersiňiz.

Soňunda

Makalany bir gezek ýazdym. Sözler we duýgular edil geýzer ýaly akanda, men ony gaty gowy görýärin. Tehnologiýany öňe sürýän zat şu. Şonuň üçin barmagymyzy impulsda saklaýarys we ýagdaýy goýbermeris. Ony ulanmagy öwrenmelidigimize ynanýaryn. GitHub-a ýazylmadyklar üçin muny etmegi maslahat berýärin. Munuň gadyry bar. Hemişe bolşy ýaly, dostlar, ähli jemgyýetçilik işlerimi birleşdirýän telegram kanalyma ýazylmagy ýatdan çykarmaň . Bu ýerde neşir edýän makalalarymdan başga-da, ösüş dünýäsinden we umuman IT meni gyzyklandyrýan mowzuklara degýän gysga ýazgylary ýazýaryn. Ol ýerde eýýäm 800-den gowrak abonent bar! Elbetde, makalalar üçin ähli demo taslamalaryny neşir edýän, kitaphanalarymy täzeleýän we açyk çeşme guramalaryny ösdürýän GitHub hasabym . Bularyň hemmesi, okanyňyz üçin hemmäňize sag bolsun aýdalyň, hoşlaşalyň 👌
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION