JavaRush /Блоги Java /Random-TG /Ҷустуҷӯи рамзи GitHub: Бештар ёбед, камтар ҷустуҷӯ кунед ...
Roman Beekeeper
Сатҳи

Ҷустуҷӯи рамзи GitHub: Бештар ёбед, камтар ҷустуҷӯ кунед - GitHub системаи ҷустуҷӯиро оғоз кард

Дар гурӯҳ нашр шудааст
Салом ба хама, дустони азиз! Ҳамчун дӯстдори хусусиятҳои нав дар GitHub, ман хеле шавқманд будам, ки бидонам, ки ба наздикӣ ҳамаи мо метавонем базаи рамзи GitHub-ро зуд ва самаранок ҷустуҷӯ кунем. Ин метавонад хеле қулай бошад, хусусан агар ба шумо лозим аст, ки роҳи мураккаби истифодаи асбобро пайдо кунед. "Ҷустуҷӯи codeи GitHub: бештар пайдо кунед, камтар ҷустуҷӯ кунед" - GitHub системаи ҷустуҷӯиро оғоз кард - 1Ин махсусан бо он аст, ки рақиби ояндаи GitHub дар Русия кушода шудааст. Аз ин рӯ, GitHub бешубҳа набояд аз дастовардҳои худ истироҳат кунад, гарчанде ки онҳо бешубҳа пешсафони бозор мебошанд. Мо бояд пеш равем ва инкишоф диҳем, вагарна як соат ҳам нест ва рақибон ба онҳо расида, аз байн мераванд. Ва бигзор он қадар аҷиб ба назар нарасад. Мисол: чанд нафар то ҳол телефонҳои Nokia-ро истифода мебаранд? Кӣ ҳатто медонад, ки онҳо телефонҳо сохтаанд? Дар як вақт онҳо пешвоёни бозорҳои бебаҳс, дастнорас буданд... Ва ҳоло онҳо дар ҷое дар доираи хатоҳои оморӣ пайдо мешаванд.

Таассуроти аввал

GitHub лоиҳаеро эҷод кардааст, ки дар он шумо метавонед codeи худ ва миллиардҳо сатри рамзи дар GitHub нашршударо ҷустуҷӯ, паймоиш ва таҳлил кунед. Бояд қайд кард, ки ҷустуҷӯ миқёспазир, зуд ва дақиқ аст. Он аз сифр махсусан барои ҷустуҷӯи code сохта шудааст. Навигатсия барои 10 забони асосии барномасозӣ бидуни танзимот кор мекунад (мо умедворем, ки рӯйхат дар оянда афзоиш хоҳад ёфт). Шумо метавонед бо истифода аз ифодаи муқаррарӣ ҷустуҷӯ кунед, ки хеле хуб аст. Филтрҳои дигар низ дастрасанд:
  • аз рӯи ташкилот;
  • бо забонҳои барномасозӣ;
  • аз ҷониби соҳиби мушаххас;
  • бо васеъшавии файл;
  • бо ифодаи муқаррарӣ.
Рӯйхат аллакай таъсирбахш аст! Маълум мешавад, ки системаи ҷустуҷӯӣ ба мо имкон медиҳад, ки дархостҳои мураккаби ҷустуҷӯиро эҷод кунем, ки дар он мо сарҳадҳоеро, ки дар он ҷустуҷӯ лозим аст, дақиқ муайян кунем. Қисми дуюми муҳими муҳаррик паймоиши code мебошад 😳 Муҳитҳои рушд барои чӣ мувофиқанд ва чаро одамон барои онҳо пул мепардозанд? Азбаски онҳо ҳаёти моро осон мекунанд, ба мо кӯмак мекунанд, ки тавассути рамз паймоиш кунем, то суръати таҳия ва хондани code афзоиш ёбад. Ва GitHub ҳоло ба мо ин хусусияти ҷолибро пешниҳод мекунад. Ин бениҳоят аст. Бале, ман медонам, ки дар айни замон дар GitHub як чизи шабеҳ ба паймоиш мавҷуд аст, аммо функсия ҳоло ҳам хеле кӯтоҳ ва хом аст. Яъне, бе муҳити рушд, шумо метавонед ҷустуҷӯ кунед, ки дар куҷо усулҳои муайян истифода мешаванд, дар куҷо муайян карда шудаанд. Ин танҳо аҷиб аст. GitHub шумо маро хушбахт мекунед. Навигатсия барои воридот дар синфҳо низ мавҷуд аст. Ин мушкилоти зиёдеро дар ҷустуҷӯ ва омӯзиши китобхонаи мушаххас дар GitHub ҳал мекунад. Холо ин процесс борхо тезонда шудааст. Ва ин ҳама ройгон аст. Танҳо олиҷаноб. Оё ӯ дар талабот хоҳад буд? Ман боварӣ дорам, ҳа!

Биёед дар бораи ҷустуҷӯ муфассалтар сӯҳбат кунем

Нигоҳ кардан ва кӯшиш кардан ба ҷустуҷӯи худ хеле ҷолиб аст: оё он тавре ки мегӯянд, қулай аст? Ҳоло ин хусусият дастрас нест ва шумо метавонед бо истифода аз истиноди худ худро ба рӯйхати интизорӣ илова кунед . Мо ҳама нуктаҳоро дар он ҷо пур мекунем, саволҳо оддӣ ҳастанд, ман онҳоро дар ин ҷо тавсиф намекунам. Дар натиҷа, мо ба рӯйхати интизорӣ илова карда шуда, идома медиҳем. Дар натиҷа, ҷавоб чунин хоҳад буд: "Ҷустуҷӯи codeи GitHub: Бештар ёбед, камтар ҷустуҷӯ кунед" - GitHub системаи ҷустуҷӯиро оғоз кард - 2Шумо танҳо бояд интизор шавед. Ҳамин ки маро илова карданд, ман ҳатман ҳама чизро ба шумо нишон медиҳам. Таъхир накунед, худатонро илова кунед, то онро баъдтар дарк кунед ва онро ба лаззати худ истифода баред) Ва албатта, ин шармовар аст, ки шумо асбоби навро фавран санҷида наметавонед, аз ин рӯ биёед ҳуҷҷатҳои онҳоро таҳлил ва тавсиф кунем. муфассалтар дар бораи чӣ гуна мо метавонем ин асбобро барои кори худ истифода барем. Акнун дар бораи ҷустуҷӯ. Он синфҳо ва конструксияҳоро истифода хоҳад кард, ки дар китобхонае , ки ман менависам, маъно доранд . Ин барои ман равшантар ва осонтар мешавад ва ман умедворам, ки барои шумо низ осонтар мешавад.

Ҷустуҷӯи асосӣ

ImageComparison соддатарин ҷустуҷӯест, ки маҳз бо дархост дар номҳои файл ва мундариҷаи онҳо ҷустуҷӯ мекунад. Дар ин ҷо ҳама чиз хеле оддӣ менамояд. Агар мо хоҳем, ки номи синф, дар куҷо эълон ва дар куҷо истифода мешавад, равшан пайдо кунем, чунин ҷустуҷӯ ба мо дар ин кор кӯмак мекунад. Вақте ки шумо калимаҳои сершумореро, ки бо фосила ҷудо карда шудаанд, ворид кунед, натиҷа ҷустуҷӯи ҳамаи онҳо дар алоҳидагӣ хоҳад буд: Муқоисаи тасвир , яъне он файлҳо ва codeҳоро ҳам барои тасвир ва ҳам Муқоиса пайдо мекунад . Агар шумо бояд сатри дорои фосиларо ҷустуҷӯ кунед, пас шумо бояд танҳо нохунакҳоро истифода баред. Масалан: "Муқоисаи тасвири муқоиса = new ImageComparison()" ва сипас ҷустуҷӯ ба тамоми сатр мувофиқат мекунад. Барои гурехтан мо мисли ҳамеша "\" -ро истифода мебарем. То ба ҳол, ҳама чиз беихтиёрона аст ва аксар вақт ин тавр карда мешавад. Ғайр аз он, мо метавонем ба ин ҷустуҷӯи асосӣ филтрҳо илова кунем. Аз ин рӯ, биёед дар бораи ҳар яки онҳо сӯҳбат кунем. Инҳо барои филтри мо аллакай офаридаем, "AND"-ҳои мантиқӣ хоҳанд буд.

Филтр аз рӯи анбор

Вақте ки филтри асосии мо омода аст, мо метавонем ҷустуҷӯ ва ҷустуҷӯи худро аз рӯи анбори мушаххас танг кунем, ки ин хеле қулай аст. Ба шумо лозим нест, ки дар кадом папкаи синф ҷойгир аст, шумо метавонед танҳо нависед:
repo: romankh3/image-comparison ImageComparisonResult
Дар куҷо мо бояд репоро муайян кунем:${user_name}/${repo_name} . Шумо инчунин метавонед тавассути илова кардани OR дар якчанд анборҳо ҷустуҷӯ кунед:
repo:romankh3/image-comparison Ё репо:romankh3/usage-image-comparison ImageComparisonResult
Тавре ки дар GitHub гуфта шудааст, дар айни замон онҳо ҷустуҷӯро дар анборҳое, ки ном ҳамчун ифодаи муқаррарӣ нишон дода шудааст, дастгирӣ намекунад... Ин маънои онро дорад, ки онҳо нақшаи илова кардани чунин хусусиятро доранд ва ин маънои онро дорад, ки лоиҳа дар эълоншуда қатъ нахоҳад шуд. функсионалии ва минбаъд инкишоф меёбад.

Аз рӯи созмон филтр кунед

Ҷустуҷӯ аз рӯи созмон ё корбар маҳз ҳамон тавре ки ҷустуҷӯ аз рӯи анбор анҷом дода мешавад, танҳо калимаи калидӣ на репо , балки org хоҳад буд :
org: romankh3 Муқоисаи тасвир
Ва он гоҳ ҷустуҷӯ аз тамоми анбори корбар/ташкилот мегузарад.

Аз рӯи забонҳои барномасозӣ филтр кунед

Шумо инчунин метавонед ҷустуҷӯи файлҳоро бо забони мушаххаси барномасозӣ муайян кунед. Дар ин ҷо сохтмон ҳамон тавре ки барои анбор ва созмон аст, танҳо калимаи калидӣ забон аст :
забон: Муқоисаи тасвири java
Мисли анбор, он ҷустуҷӯро дар як вақт бо истифода аз калимаи калидии OR дастгирӣ мекунад:
забон: Java Ё забон: Ruby ImageComparison
Рӯйхати пурраи забонҳоеро, ки аз ҷониби GitHub дастгирӣ мешаванд, дар ин ҷо пайдо кардан мумкин аст . Ман ҳайронам, ки оё BrainFuck вуҷуд дорад? 😂

Филтр аз рӯи роҳи файл

Ҳар як файл дар лоиҳа роҳи худро дорад ва шумо инчунин метавонед тавассути илова кардани филтр тавассути он ҷустуҷӯ кунед. Масалан, файли ImageComparisonResult вуҷуд дорад , ки он роҳ дорад:
src/main/java/com/github/romankh3/image/comparison/model/ImageComparisonResult.java
Ҳамин тавр, барои пайдо кардани ҳама синфҳое, ки роҳашон бо src/main/java/com/github/romankh3/image оғоз мешавад , ба шумо лозим аст:
роҳ: src/main/java/com/github/romankh3/image
Дар ҳолатҳое муфид буда метавонад, ки мо намехоҳем, ки дарсҳои санҷишӣ аз натиҷаҳои ҷустуҷӯи мо берун монад. Ё баръакс, танҳо санҷишҳо. Ин ҷустуҷӯи шуморо чандиртар мекунад. Филтрро аз рӯи роҳи файл метавон бо истифода аз ифодаи муқаррарӣ муайян кард. Масалан, мо бояд пайдо кунем
роҳ:src/*/*.js

Амалиёти булӣ

Ва албатта, авҷи тамоми бинои филтр якҷоя кардани ин масъала бо истифода аз амалиёти булӣ мебошад. Барои ин мо ВА, Ё, ВА НЕ дорем. Ба фикрам, ин бояд барои мо басанда бошад. Масалан, биёед як дархости мураккаби ҷустуҷӯ эҷод кунем: code аз Java ё истеҳсоли Kotlin барои корбар/ташкилоти мушаххас:
repo:romankh3 ВА (забон:java Ё забон:котлин) ВА НЕ роҳ:*/test/*
Ва ин, ман ба шумо мегӯям, бениҳоят аҷиб аст. Дархости ҷустуҷӯ чунон содда, зуд, мухтасар ва возеҳ навишта шудааст, ки дар ҷустуҷӯ ва хондани дархост ҳеҷ мушкиле вуҷуд надорад.

Бозгашти хурд

Дар ҳоле, ки шодии мо ҳанӯз сард нашудааст, ман мехоҳам ба соли 2018 баргардам ва чизеро ба ёд орам... Дар хотир доред, вақте ҳама фаҳмид, ки Microsoft GitHub-ро мехарад, ҳама фикр мекарданд, ки лоиҳа ба хок супурда мешавад? Ки сарнавишти ӯ роҳи Skype дуюм аст? Чӣ гуна ҳама лоиҳаҳои худро ба GitLab интиқол доданд? Аммо росташро гӯям, дар пайи ин шӯхӣ ман чизе эҷод кардам ва азоб кашидам. Аммо росташро гӯям, ман дигар ба ҷое, ки лоиҳаҳоро кӯчонида будам, надидаам. Ва гӯё ман намехоҳам. Ва чаро? Дар ин бора низ фикру мулоҳизаҳо вуҷуд доранд. Ёдовар мешавам, ки пас аз фурӯши GitHub ба Билл Гейтс, лоиҳа қобorяти доштани анбори хусусии ройгонро илова кард, GitHub Actions барои раванди CI/CD ва ғайра бароварда шуд. Ва ҳоло низ як муҳаррики пурқуввати ҷустуҷӯ. Ин ба хоҳиши ғарқ кардани лоиҳа монанд нест. Ин бештар ба он монанд аст, ки Microsoft намехост, ки аз фоида андоз супорад ва то охири сол ба маблағи беш аз 9 миллиард доллар хариди бомуваффақият анҷом дод 😁 Ва пас аз ин ҳама онҳо тасмим гирифтанд, ки ин лоиҳаро таҳия кунанд. Ва дуруст аст, ки барои як таҳиягари кушодаасос ин ҷои хубест барои нигоҳ доштани рамзи онҳо. Шумо метавонед маҳсулоти худро комилан бидуни тарк кардани GitHub таҳия кунед.

Дар охир

Ман мақоларо дар як лаҳза навиштам. Ман дар ҳақиқат онро дӯст медорам, вақте ки калимаҳо ва эҳсосот мисли гейзер ҷорӣ мешаванд. Ин аст он чизе, ки технологияро пеш мебарад. Аз ин рӯ, мо ангушти худро дар набз нигоҳ медорем ва вазъиятро раҳо намекунем. Боварй дорам, ки хар яки мо бояд истифода бурдани онро ёд гирем. Барои ҳар касе, ки дар GitHub сабти ном нашудааст, ман тавсия медиҳам, ки ин корро кунад. Меарзад. Мисли ҳамеша, дӯстон, ба канали телеграми ман обуна шуданро фаромӯш накунед , ки дар он ман тамоми фаъолияти ҷамъиятии худро муттаҳид мекунам. Илова ба мақолаҳое, ки ман дар ин ҷо нашр мекунам, ман дар он ҷо мақолаҳои кӯтоҳтар менависам, ки дар онҳо ба мавзӯъҳое дахл мекунам, ки маро аз ҷаҳони рушд ва умуман IT таваҷҷӯҳ доранд. Дар он ҷо аллакай зиёда аз 800 муштарӣ мавҷуданд! Ва, албатта, ҳисоби GitHub- и ман , ки дар он ман ҳама лоиҳаҳои намоиширо барои мақолаҳо нашр мекунам, китобхонаҳои худро навсозӣ мекунам ва созмонҳои кушодаасосро таҳия мекунам. Хамин аст, рахмат ба хама барои хондан, хайрбод накунем 👌
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION