Hello semua, kawan-kawan yang dikasihi! Sebagai pencinta ciri baharu di GitHub, saya sangat berminat untuk mengetahui bahawa tidak lama lagi kita semua akan dapat mencari pangkalan kod GitHub dengan cepat dan cekap. Ini boleh menjadi sangat mudah, terutamanya jika anda perlu mencari cara yang canggih untuk menggunakan alat. Ini terutamanya bergema dengan fakta bahawa pesaing masa depan untuk GitHub telah dibuka di Rusia. Oleh itu, GitHub pastinya tidak sepatutnya berpuas hati, walaupun pada hakikatnya mereka sudah pasti peneraju dalam pasaran. Kami perlu bergerak dan berkembang, jika tidak, ia tidak sampai sejam dan pesaing akan mengejar dan menyapu bersih. Dan biarkan ia tidak kelihatan begitu luar biasa. Sebagai contoh: berapa ramai orang yang masih menggunakan telefon Nokia? Siapa tahu mereka membuat telefon? Pada satu ketika mereka hanya tidak dapat dicapai, pemimpin pasaran yang tidak dipertikaikan... Dan kini mereka muncul di suatu tempat dalam bidang kesilapan statistik.
Sekian sahaja, terima kasih semua kerana sudi membaca, jangan kata selamat tinggal 👌
Kesan pertama
GitHub telah mencipta projek di mana anda boleh mencari, menavigasi dan menganalisis kod anda dan berbilion baris kod yang diterbitkan di GitHub. Adalah penting untuk ambil perhatian bahawa carian boleh berskala, pantas dan tepat. Ia dicipta dari awal khusus untuk carian kod. Navigasi berfungsi untuk 10 bahasa pengaturcaraan utama tanpa tetapan (kami berharap senarai itu akan berkembang pada masa hadapan). Anda boleh mencari menggunakan ungkapan biasa, yang sangat keren. Penapis lain juga tersedia:- oleh organisasi;
- oleh bahasa pengaturcaraan;
- oleh pemilik tertentu;
- dengan sambungan fail;
- dengan ungkapan biasa.
Mari bercakap dengan lebih terperinci tentang carian
Sangat menarik untuk melihat dan cuba mencari sendiri: adakah ia semudah yang mereka katakan? Buat masa ini, ciri ini tidak tersedia secara umum dan anda boleh menambah diri anda ke senarai menunggu menggunakan pautan . Kami mengisi semua mata di sana, soalannya mudah, saya tidak akan menerangkannya di sini. Akibatnya, kami ditambahkan ke senarai menunggu dan teruskan. Akibatnya, jawapannya ialah ini: Anda hanya perlu menunggu. Sebaik sahaja saya ditambah, saya pasti akan menunjukkan kepada anda segala-galanya. Jangan berlengah, tambahkan diri anda supaya anda boleh memikirkannya kemudian dan gunakannya untuk kegembiraan anda) Dan sudah tentu, memalukan bahawa anda tidak boleh mencuba alat baharu dengan segera, jadi mari analisa dokumentasi mereka dan huraikan dalam lebih terperinci bagaimana kami boleh menggunakan alat ini untuk kerja kami. Sekarang tentang carian. Ia akan menggunakan kelas dan binaan yang masuk akal dalam perpustakaan yang saya tulis. Ini akan menjadikannya lebih jelas dan lebih mudah untuk saya, dan saya harap ia akan lebih mudah untuk anda juga.Carian asas
ImageComparison ialah carian paling mudah yang mencari tepat dengan pertanyaan dalam nama fail dan dalam kandungannya. Segala-galanya kelihatan sangat mudah di sini. Jika kita ingin mencari dengan jelas mengikut nama kelas, di mana ia diisytiharkan dan di mana ia digunakan, carian sedemikian akan membantu kita dengan ini. Apabila anda memasukkan berbilang perkataan yang dipisahkan oleh ruang, hasilnya akan menjadi carian untuk kesemuanya secara berasingan: Perbandingan Imej , bermakna ia akan mencari fail dan kod untuk Imej dan Perbandingan . Jika anda perlu mencari rentetan yang mengandungi ruang, maka anda hanya perlu menggunakan petikan. Contohnya: "Perbandingan Perbandingan Imej = Perbandingan Imej baharu()" dan kemudian carian akan sepadan dengan keseluruhan rentetan. Untuk melarikan diri, kami menggunakan "\" seperti biasa. Setakat ini, semuanya adalah intuitif dan selalunya ia dilakukan. Selanjutnya, kita boleh menambah penapis pada carian asas ini. Oleh itu, mari kita bercakap tentang setiap daripada mereka. Ini akan menjadi "DAN" logik kepada penapis yang telah kami buat.Tapis mengikut repositori
Setelah penapis asas kami sedia, kami boleh mengecilkan carian dan carian kami mengikut repositori tertentu, yang sangat mudah. Anda tidak perlu mencari folder mana kelas itu terletak, anda hanya boleh menulis:
repo:romankh3/image-comparison ImageComparisonResult
Di mana kita perlu menentukan repo:${user_name}/${repo_name} . Anda juga boleh mencari merentas berbilang repositori dengan hanya menambah ATAU:
repo:romankh3/image-comparison ATAU repo:romankh3/usage-image-comparison ImageComparisonResult
Seperti yang dinyatakan di GitHub, pada masa ini mereka tidak menyokong carian dalam repositori di mana nama itu dinyatakan sebagai ungkapan biasa... Ini bermakna mereka merancang untuk menambah ciri sedemikian dan ini bermakna projek itu tidak akan berhenti pada yang diisytiharkan. kefungsian dan akan berkembang lebih jauh.
Tapis mengikut organisasi
Pencarian mengikut organisasi atau pengguna dilakukan dengan cara yang sama seperti mencari melalui repositori, hanya kata kunci tidak akan repo , tetapi org :
org:romankh3 ImageComparison
Dan kemudian carian akan melalui semua repositori pengguna/organisasi.
Tapis mengikut bahasa pengaturcaraan
Anda juga boleh menentukan carian untuk fail dalam bahasa pengaturcaraan tertentu. Di sini pembinaan adalah sama seperti untuk repositori dan organisasi, hanya kata kuncinya adalah bahasa :
bahasa:java ImageComparison
Sama seperti untuk repositori, ia menyokong carian dalam beberapa bahasa sekaligus menggunakan kata kunci ATAU:
language:java ATAU bahasa: ruby ImageComparison
Senarai lengkap bahasa yang disokong oleh GitHub boleh didapati di sini . Saya tertanya-tanya adakah BrainFuck ada di sana? 😂
Tapis mengikut laluan fail
Setiap fail dalam projek mempunyai laluannya sendiri dan anda juga boleh mencari melaluinya dengan menambah penapis. Sebagai contoh, terdapat fail ImageComparisonResult , ia mempunyai laluan:
src/main/java/com/github/romankh3/image/comparison/model/ImageComparisonResult.java
Jadi, untuk mencari semua kelas yang laluannya bermula dengan src/main/java/com/github/romankh3/image , anda perlukan:
path:src/main/java/com/github/romankh3/image
Boleh berguna dalam kes di mana kami tidak mahu kelas ujian ditinggalkan daripada hasil carian kami. Atau sebaliknya, hanya ujian. Ini menjadikan carian anda lebih fleksibel. Penapis mengikut laluan fail boleh ditentukan menggunakan ungkapan biasa. Sebagai contoh, kita perlu mencari
laluan:src/*/*.js
Operasi Boolean
Dan sudah tentu, kemuncak semua bangunan penapis adalah menggabungkan perkara ini bersama-sama menggunakan operasi Boolean. Untuk ini kita ada DAN, ATAU, DAN BUKAN. Saya rasa ini sudah cukup untuk kita. Sebagai contoh, mari buat pertanyaan carian yang kompleks: kod daripada pengeluaran Java atau Kotlin untuk pengguna/organisasi tertentu:
repo:romankh3 DAN (bahasa:java ATAU bahasa:kotlin) DAN BUKAN laluan:*/test/*
Dan ini, saya beritahu anda, sungguh luar biasa. Permintaan carian ditulis dengan begitu ringkas, cepat, ringkas dan jelas bahawa tidak akan ada masalah dalam mencari dan membaca permintaan tersebut.
Berundur kecil
Walaupun kegembiraan kami masih belum reda, saya ingin kembali ke 2018 dan ingat sesuatu... Ingat, apabila semua orang mengetahui bahawa Microsoft membeli GitHub, semua orang menyangka bahawa projek itu akan terkubur? Bahawa takdirnya adalah laluan Skype kedua? Bagaimanakah semua orang mula memindahkan projek mereka ke GitLab? Tetapi jujurlah, berikutan gembar-gembur ini saya mencipta dan mengalami sesuatu. Tetapi sejujurnya, saya tidak pernah melawat tempat saya memindahkan projek itu lagi. Dan entah bagaimana saya tidak mahu. Dan mengapa? Terdapat juga pemikiran tentang ini. Biar saya ingatkan anda bahawa selepas penjualan GitHub kepada Bill Gates, projek itu menambahkan keupayaan untuk memiliki repositori peribadi secara percuma, Tindakan GitHub telah dikeluarkan untuk proses CI/CD dan banyak lagi. Dan kini terdapat juga enjin carian yang berkuasa. Ini tidak kelihatan seperti keinginan untuk menenggelamkan projek. Ia lebih seperti Microsoft tidak mahu membayar cukai ke atas keuntungan dan membuat pembelian yang berjaya menjelang akhir tahun untuk lebih daripada 9 bilion dolar 😁 Dan kemudian selepas semua ini mereka memutuskan untuk membangunkan projek ini. Dan memang benar bahawa untuk pembangun sumber terbuka ini adalah tempat yang bagus untuk menyimpan kod mereka. Anda boleh membangunkan produk anda sepenuhnya tanpa meninggalkan GitHub.Pada penghujungnya
Saya menulis artikel itu sekali gus. Saya sangat suka apabila kata-kata dan emosi mengalir seperti air panas. Inilah yang menggerakkan teknologi ke hadapan. Oleh itu, kami mengekalkan jari kami pada nadi dan tidak melepaskan keadaan. Saya pasti bahawa setiap daripada kita harus belajar menggunakannya. Bagi sesiapa yang belum mendaftar untuk GitHub, saya amat mengesyorkan berbuat demikian. Ia berbaloi. Seperti biasa, kawan-kawan, jangan lupa untuk melanggan saluran telegram saya , di mana saya menggabungkan semua aktiviti awam saya. Sebagai tambahan kepada artikel yang saya terbitkan di sini, saya menulis catatan yang lebih pendek di sana yang mana saya menyentuh topik yang menarik minat saya dari dunia pembangunan dan IT secara amnya. Terdapat lebih daripada 800 pelanggan di sana! Dan, sudah tentu, akaun GitHub saya , tempat saya menerbitkan semua projek demo untuk artikel, mengemas kini perpustakaan saya dan membangunkan organisasi sumber terbuka.Pautan berguna: |
---|
GO TO FULL VERSION