JavaRush /Java блогы /Random-KK /GitHub кодын іздеу: көбірек табыңыз, аз іздеңіз - GitHub ...
Roman Beekeeper
Деңгей

GitHub кодын іздеу: көбірек табыңыз, аз іздеңіз - GitHub іздеу жүйесін іске қосты

Топта жарияланған
Баршаңызға сәлем, қымбатты достар! GitHub-тағы жаңа мүмкіндіктерді ұнататын адам ретінде мен жақын арада барлығымыз GitHub code базасын тез және тиімді іздей алатынымызды білуге ​​өте қызықты болдым. Бұл өте ыңғайлы болуы мүмкін, әсіресе құралды пайдаланудың күрделі әдісін табу қажет болса. «GitHub codeын іздеу: көбірек табыңыз, аз іздеңіз» - GitHub іздеу жүйесін іске қосты - 1Бұл, әсіресе, GitHub-тың болашақ бәсекелесінің Ресейде ашылғанымен резонанс тудырады. Сондықтан, GitHub, сөзсіз, нарықтағы көшбасшылар болғанына қарамастан, олардың жетістіктеріне тоқтамауы керек. Біз алға жылжып, дамуымыз керек, әйтпесе бұл бір сағатқа да жетпейді және бәсекелестер қуып жетіп, сыпырып кетеді. Және бұл соншалықты керемет болып көрінбеуі керек. Мысал ретінде: қанша адам әлі де Nokia телефондарын пайдаланады? Олардың телефон жасағанын кім біледі? Бір кездері олар жай ғана қол жетімсіз, сөзсіз нарық көшбасшылары болды... Ал қазір олар статистикалық қателер саласында бір жерде пайда болады.

Алғашқы әсер

GitHub codeты және GitHub сайтында жарияланған миллиардтаған code жолдарын іздеуге, шарлауға және талдауға болатын жобаны жасады. Іздеу ауқымды, жылдам және дәл екенін атап өткен жөн. Ол codeты іздеу үшін арнайы нөлден жасалған. Навигация параметрлері жоқ 10 негізгі бағдарламалау тілдерінде жұмыс істейді (біз тізім болашақта өседі деп үміттенеміз). Тұрақты өрнек арқылы іздеуге болады, бұл өте жақсы. Басқа сүзгілер де қол жетімді:
  • ұйым бойынша;
  • программалау тілдері бойынша;
  • нақты иесі бойынша;
  • файл кеңейтімі бойынша;
  • тұрақты өрнек арқылы.
Тізім қазірдің өзінде әсерлі! Іздеу жүйесі бізге іздеуді қажет ететін шекараларды нақты анықтайтын күрделі іздеу сұрауларын жасауға мүмкіндік береді екен. Қозғалтқыштың екінші маңызды бөлігі - codeтық навигация 😳 Әзірлеу орталары не үшін ыңғайлы және адамдар неге олар үшін ақша төлейді? Өйткені олар біздің өмірімізді жеңілдетеді, codeты өңдеу және оқу жылдамдығын арттыру үшін code арқылы шарлауға көмектеседі. Енді GitHub бізге осы керемет мүмкіндікті ұсынады. Мүмкін емес. Иә, мен қазірдің өзінде GitHub-та навигацияға ұқсас нәрсе бар екенін білемін, бірақ функционалдылық әлі де өте қысқа және өрескел. Яғни, әзірлеу ортасы болмаса, белгілі бір әдістер қай жерде қолданылатынын, олар анықталған жерді іздеуге болады. Бұл жай ғана тамаша. GitHub сіз мені бақытты етесіз. Сыныптардағы импорттау үшін навигация да қол жетімді. Бұл GitHub-та белгілі бір кітапхананы табу және зерттеудегі көптеген мәселелерді шешеді. Қазір бұл процесс бірнеше есе жеделдетілді. Және бәрі тегін. Тек тамаша. Ол сұранысқа ие бола ма? Мен сенімдімін иә!

Іздеу туралы толығырақ сөйлесейік

Қарап шығу және өзіңізді іздеуге тырысу өте қызықты: бұл олар айтқандай ыңғайлы ма? Әзірге бұл мүмкіндік жалпыға қолжетімді емес және сілтеме арқылы өзіңізді күту тізіміне қосуға болады . Біз барлық нүктелерді толтырамыз, сұрақтар қарапайым, мен оларды мұнда сипаттамаймын. Нәтижесінде біз күту тізіміне қосылып, әрі қарай жүреміз. Нәтижесінде жауап мынадай болады: «GitHub codeын іздеу: көбірек табыңыз, аз іздеңіз» - GitHub іздеу жүйесін іске қосты - 2тек күту керек. Мен қосылғаннан кейін міндетті түрде бәрін көрсетемін. Кешіктірмеңіз, оны кейінірек анықтап, оны өзіңізге ұнайтындай пайдалану үшін өзіңізді қосыңыз) Және, әрине, жаңа құралды бірден сынап көре алмауыңыз ұят, сондықтан олардың құжаттамасын талдап, сипаттап көрейік. бұл құралды жұмысымыз үшін қалай пайдалануға болатындығы туралы толығырақ. Енді іздеу туралы. Ол мен жазып жатқан кітапханада мағынасы бар сыныптар мен конструкцияларды пайдаланады . Бұл мен үшін түсінікті әрі жеңілірек болады және сізге де оңай болады деп үміттенемін.

Негізгі іздеу

ImageComparison - бұл файл атауларында және олардың мазмұнындағы сұраныспен дәл іздейтін ең қарапайым іздеу. Мұнда бәрі өте қарапайым болып көрінеді. Егер біз сынып атауын, оның қай жерде жарияланғанын және қайда қолданылатынын анық тапқымыз келсе, мұндай іздеу бізге көмектеседі. Бос орындармен бөлінген бірнеше сөзді енгізген кезде нәтиже олардың барлығын бөлек іздеу болады: Кескінді салыстыру , яғни ол Сурет пен Салыстыру үшін файлдар мен codeты табады . Егер сізге бос орындар бар жолды іздеу қажет болса, онда сіз жай ғана тырнақшаларды пайдалануыңыз керек. Мысалы: “ImageComparison comparison = new ImageComparison()” және одан кейін іздеу бүкіл жолға сәйкес келеді. Қашу үшін біз әдеттегідей «\» қолданамыз. Әзірге бәрі интуитивті және жиі осылай жасалады. Әрі қарай, біз осы негізгі іздеуге сүзгілерді қоса аламыз. Сондықтан олардың әрқайсысына тоқталайық. Бұл біз жасаған сүзгінің логикалық «ЖӘНЕ» болады.

Репозиторий бойынша сүзгілеу

Негізгі сүзгіміз дайын болғаннан кейін біз іздеуді және арнайы репозиторий бойынша іздеуді тарылта аламыз, бұл өте ыңғайлы. Класс қай қалтада орналасқанын іздеудің қажеті жоқ, жай ғана жаза аласыз:
repo:romankh3/image-comparison ImageComparisonResult
Қай жерде репо көрсету керек :${user_name}/${repo_name} . Сондай-ақ жай ғана НЕМЕСЕ қосу арқылы бірнеше репозиторийлер бойынша іздеуге болады:
repo:romankh3/image-comparison НЕМЕСЕ repo:romankh3/usage-image-comparison ImageComparisonResult
GitHub сайтында айтылғандай, қазіргі уақытта олар атау тұрақты өрнек ретінде көрсетілген репозиторийлерде іздеуді қолдамайды... Бұл олардың мұндай мүмкіндікті қосуды жоспарлап отырғанын білдіреді және бұл жоба жарияланған жерде тоқтамайды дегенді білдіреді. функционалдық және одан әрі дамиды.

Ұйым бойынша сүзгілеу

Ұйым немесе пайдаланушы бойынша іздеу репозиторий бойынша іздеу сияқты орындалады, тек кілт сөз репо емес , org болады :
org:romankh3 ImageComparison
Содан кейін іздеу пайдаланушының/ұйымның барлық репозиторийлері арқылы өтеді.

Бағдарламалау тілдері бойынша сүзгілеу

Сондай-ақ белгілі бір бағдарламалау тілінде файлдарды іздеуді көрсетуге болады. Мұнда құрылыс репозиторий мен ұйымға ұқсас, тек кілт сөз - тіл :
тілі: java ImageComparison
Репозиторий сияқты, ол 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

Логикалық операциялар

Және, әрине, барлық сүзгі құрылысының шарықтау шегі бұл мәселені логикалық операциялар арқылы біріктіру болып табылады. Бұл үшін бізде ЖӘНЕ, НЕМЕСЕ, ЖӘНЕ ЕМЕС. Менің ойымша, бұл бізге жеткілікті болуы керек. Мысалы, күрделі іздеу сұрауын жасайық: белгілі бір пайдаланушы/ұйым үшін Java немесе Kotlin өндірісінің codeы:
repo:romankh3 ЖӘНЕ (тіл:java НЕМЕСЕ тіл:kotlin) ЖӘНЕ ЕМЕС жол:*/test/*
Және бұл, мен сізге айтамын, жай ғана керемет. Іздеу сұрауы соншалықты қарапайым, жылдам, қысқа және түсінікті жазылған, сондықтан сұрауды іздеуде және оқуда қиындықтар болмайды.

Шағын шегініс

Біздің қуанышымыз әлі суымаған кезде, мен 2018 жылға оралып, бір нәрсені есіме түсіргім келеді... Есіңізде болсын, Microsoft-тың GitHub-ты сатып алатынын білгенде бәрі жоба көміліп қалады деп ойлаған ба? Оның тағдыры екінші Skype жолы екенін ме? Әрқайсысы өз жобаларын GitLab-қа көшіруді қалай бастады? Бірақ шынымды айтсам, осы хайптың артынан мен бірдеңе жасап, зардап шектім. Бірақ, шынымды айтсам, жобаларды ауыстырған жерге қайта барған емеспін. Ал мен қалай да қаламаймын. Ал неге? Бұл туралы да ойлар бар. Еске сала кетейін, GitHub-ты Билл Гейтске сатқаннан кейін жоба жеке репозиторийлерге тегін ие болу мүмкіндігін қосқанын, CI/CD процесі үшін GitHub әрекеттері шығарылғанын және т.б. Ал енді қуатты іздеу жүйесі. Бұл жобаны тұншықтырғысы келетін сияқты емес. Майкрософт пайдаға салық төлегісі келмегені және жыл соңына дейін 9 миллиард доллардан астам сомаға сәтті сатып алғаны сияқты 😁 Содан кейін олар бұл жобаны әзірлеуге шешім қабылдады. Ашық бастапқы әзірлеуші ​​үшін бұл олардың codeын сақтау үшін тамаша орын екені рас. GitHub-тен шықпай-ақ, өніміңізді толығымен дамыта аласыз.

Соңында

Мен мақаланы бірден жаздым. Сөздер мен эмоциялар гейзер сияқты ағып жатқанын шынымен жақсы көремін. Бұл технологияны алға жылжытады. Сондықтан біз саусағымызды импульсте ұстаймыз және жағдайды жібермейміз. Әрқайсымыз оны пайдалануды үйренуіміз керек екеніне сенімдімін. GitHub-қа тіркелмегендерге мен мұны істеуді ұсынамын. Бұл тұрарлық. Әдеттегідей, достар, менің барлық қоғамдық әрекеттерімді біріктіретін телеграм каналыма жазылуды ұмытпаңыз . Мен мұнда жариялайтын мақалалардан басқа, мен даму әлемінен және жалпы IT әлемінен мені қызықтыратын тақырыптарды қозғайтын қысқа хабарламалар жазамын. Онда қазірдің өзінде 800-ден астам жазылушы бар! Және, әрине, менің GitHub тіркелгім , онда мен мақалаларға арналған барлық демонстрациялық жобаларды жариялаймын, кітапханаларымды жаңартамын және ашық бастапқы ұйымдарды дамытамын. Осымен бітті, оқығандарыңызға рахмет, қоштаспай-ақ қояйық👌
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION