Xin chào tất cả mọi người, các bạn thân mến! Là người yêu thích các tính năng mới trên GitHub, tôi rất muốn biết rằng tất cả chúng ta sẽ sớm có thể tìm kiếm cơ sở mã GitHub một cách nhanh chóng và hiệu quả. Điều này có thể rất thuận tiện, đặc biệt nếu bạn cần tìm một cách phức tạp để sử dụng một công cụ. Điều này đặc biệt gây tiếng vang với thực tế là một đối thủ cạnh tranh trong tương lai với GitHub đã được mở ở Nga. Vì vậy, GitHub chắc chắn không nên ngủ quên trên chiến thắng của mình, mặc dù thực tế rằng họ chắc chắn là người dẫn đầu thị trường. Chúng ta cần phải tiếp tục và phát triển, nếu không chưa đầy một giờ nữa các đối thủ sẽ đuổi kịp và bỏ xa. Và hãy để nó không có vẻ quá khó tin. Ví dụ: bao nhiêu người vẫn sử dụng điện thoại Nokia? Ai còn biết họ đã tạo ra điện thoại? Đã có lúc họ đơn giản là những người dẫn đầu thị trường không thể đạt được, không thể tranh cãi... Và bây giờ họ xuất hiện ở đâu đó trong lĩnh vực sai sót thống kê.
Chỉ vậy thôi, cảm ơn mọi người đã đọc, đừng nói lời tạm biệt 👌
Ấn tượng đầu
GitHub đã tạo một dự án nơi bạn có thể tìm kiếm, điều hướng và phân tích mã của mình cũng như hàng tỷ dòng mã được xuất bản trên GitHub. Điều quan trọng cần lưu ý là tìm kiếm có thể mở rộng, nhanh chóng và chính xác. Nó được tạo ra từ đầu dành riêng cho việc tìm kiếm mã. Điều hướng hoạt động với 10 ngôn ngữ lập trình chính mà không cần cài đặt (chúng tôi hy vọng rằng danh sách này sẽ phát triển trong tương lai). Bạn có thể tìm kiếm bằng cách sử dụng biểu thức chính quy, điều này rất thú vị. Các bộ lọc khác cũng có sẵn:- theo tổ chức;
- bằng ngôn ngữ lập trình;
- bởi chủ sở hữu cụ thể;
- bằng phần mở rộng tập tin;
- bằng biểu thức chính quy.
Hãy nói chi tiết hơn về tìm kiếm
Thật thú vị khi bạn xem và thử tự mình tìm kiếm: nó có tiện lợi như người ta nói không? Hiện tại, tính năng này chưa được cung cấp công khai và bạn có thể thêm mình vào danh sách chờ bằng liên kết . Chúng tôi điền tất cả các điểm ở đó, các câu hỏi rất đơn giản, tôi sẽ không mô tả chúng ở đây. Kết quả là chúng tôi được thêm vào danh sách chờ và đi tiếp. Kết quả là câu trả lời sẽ là: Bạn chỉ cần đợi. Ngay khi được thêm vào, tôi chắc chắn sẽ cho bạn thấy mọi thứ. Đừng trì hoãn, hãy thêm chính bạn để sau này bạn có thể tìm hiểu và sử dụng nó một cách thỏa thích) Và tất nhiên, thật đáng tiếc khi bạn không thể dùng thử công cụ mới ngay lập tức, vì vậy hãy cùng phân tích tài liệu của họ và mô tả trong chi tiết hơn về cách chúng ta có thể sử dụng công cụ này cho công việc của mình. Bây giờ về việc tìm kiếm. Nó sẽ sử dụng các lớp và cấu trúc có ý nghĩa trong thư viện mà tôi đang viết. Điều này sẽ làm cho mọi việc trở nên rõ ràng và dễ dàng hơn đối với tôi và tôi hy vọng nó cũng sẽ dễ dàng hơn đối với bạn.Tìm kiếm cơ bản
ImageComparison là tìm kiếm đơn giản nhất tìm kiếm chính xác với truy vấn về tên tệp và nội dung của chúng. Mọi thứ ở đây có vẻ rất đơn giản. Nếu chúng ta muốn tìm rõ ràng theo tên lớp, nơi nó được khai báo và nơi nó được sử dụng, việc tìm kiếm như vậy sẽ giúp chúng ta điều này. Khi bạn nhập nhiều từ cách nhau bằng dấu cách, kết quả sẽ là tìm kiếm tất cả các từ đó một cách riêng biệt: Image So sánh , nghĩa là nó sẽ tìm thấy các tệp và mã cho cả Hình ảnh và So sánh . Nếu bạn cần tìm kiếm một chuỗi chứa khoảng trắng thì bạn chỉ cần sử dụng dấu ngoặc kép. Ví dụ: “So sánh ImageComparison = new ImageComparison()” và sau đó tìm kiếm sẽ khớp với toàn bộ chuỗi. Để thoát, chúng ta sử dụng “\” như mọi khi. Cho đến nay, mọi thứ đều trực quan và đó thường là cách nó được thực hiện. Hơn nữa, chúng tôi có thể thêm bộ lọc vào tìm kiếm cơ bản này. Vì vậy, hãy nói về từng người trong số họ. Đây sẽ là các “AND” logic đối với bộ lọc mà chúng ta đã tạo.Lọc theo kho lưu trữ
Khi bộ lọc cơ bản của chúng tôi đã sẵn sàng, chúng tôi có thể thu hẹp tìm kiếm và tìm kiếm theo kho lưu trữ cụ thể, rất thuận tiện. Bạn không cần phải tìm xem lớp đó nằm ở thư mục nào, bạn chỉ cần viết:
repo:romankh3/so sánh hình ảnh ImageComparisonResult
Nơi chúng tôi cần chỉ định repo:${user_name}/${repo_name} . Bạn cũng có thể tìm kiếm trên nhiều kho lưu trữ bằng cách thêm OR:
repo:romankh3/image-comparison HOẶC repo:romankh3/usage-image-comparison ImageComparisonResult
Như đã nêu trên GitHub, hiện tại họ không hỗ trợ tìm kiếm trong các kho lưu trữ nơi tên được chỉ định dưới dạng biểu thức chính quy... Điều này có nghĩa là họ đang có kế hoạch thêm một tính năng như vậy và điều đó có nghĩa là dự án sẽ không dừng lại ở mức đã khai báo chức năng và sẽ phát triển hơn nữa.
Lọc theo tổ chức
Việc tìm kiếm theo tổ chức hoặc người dùng được thực hiện tương tự như tìm kiếm theo kho lưu trữ, chỉ có điều từ khóa sẽ không phải là repo mà là org :
org:romankh3 So sánh hình ảnh
Và sau đó việc tìm kiếm sẽ đi qua tất cả các kho lưu trữ của người dùng/tổ chức.
Lọc theo ngôn ngữ lập trình
Bạn cũng có thể chỉ định tìm kiếm tệp bằng ngôn ngữ lập trình cụ thể. Ở đây cách xây dựng cũng giống như đối với kho lưu trữ và tổ chức, chỉ có từ khóa là ngôn ngữ :
ngôn ngữ:java So sánh hình ảnh
Cũng giống như kho lưu trữ, nó hỗ trợ tìm kiếm bằng nhiều ngôn ngữ cùng lúc bằng từ khóa OR:
ngôn ngữ: java HOẶC ngôn ngữ: Ruby ImageComparison
Bạn có thể tìm thấy danh sách đầy đủ các ngôn ngữ được GitHub hỗ trợ tại đây . Tôi tự hỏi liệu BrainFuck có ở đó không? 😂
Lọc theo đường dẫn tệp
Mỗi tệp trong dự án có đường dẫn riêng và bạn cũng có thể tìm kiếm qua đó bằng cách thêm bộ lọc. Ví dụ có file ImageComparisonResult , nó có đường dẫn:
src/main/java/com/github/romankh3/image/comparison/model/ImageComparisonResult.java
Vì vậy, để tìm tất cả các lớp có đường dẫn bắt đầu bằng src/main/java/com/github/romankh3/image , bạn cần:
đường dẫn: src/main/java/com/github/romankh3/image
Có thể hữu ích trong trường hợp chúng tôi không muốn các lớp kiểm tra bị loại khỏi kết quả tìm kiếm của chúng tôi. Hoặc ngược lại, chỉ kiểm tra. Điều này làm cho tìm kiếm của bạn linh hoạt hơn. Bộ lọc theo đường dẫn tệp có thể được chỉ định bằng biểu thức chính quy. Ví dụ, chúng ta cần tìm
đường dẫn:src/*/*.js
Các phép toán Boolean
Và tất nhiên, đỉnh cao của tất cả việc xây dựng bộ lọc là kết hợp vấn đề này lại với nhau bằng các phép toán Boolean. Đối với điều này, chúng tôi có VÀ, HOẶC, VÀ KHÔNG. Tôi nghĩ điều này là đủ cho chúng tôi. Ví dụ: hãy tạo một truy vấn tìm kiếm phức tạp: mã từ quá trình sản xuất Java hoặc Kotlin cho một người dùng/tổ chức cụ thể:
repo:romankh3 VÀ (ngôn ngữ:java HOẶC ngôn ngữ:kotlin) VÀ KHÔNG đường dẫn:*/test/*
Và điều này, tôi nói với bạn, đơn giản là không thể tin được. Yêu cầu tìm kiếm được viết sao cho đơn giản, nhanh chóng, chính xác và rõ ràng nên sẽ không gặp khó khăn gì trong việc tìm kiếm và đọc yêu cầu.
Một cuộc rút lui nhỏ
Trong khi niềm vui của chúng tôi vẫn chưa nguội bớt, tôi muốn quay lại năm 2018 và nhớ lại một điều... Bạn còn nhớ, khi biết tin Microsoft mua GitHub, mọi người đều nghĩ rằng dự án sẽ bị chôn vùi? Rằng định mệnh của anh là con đường của Skype thứ hai? Mọi người bắt đầu chuyển dự án của mình sang GitLab như thế nào? Nhưng hãy thành thật mà nói, sau sự cường điệu này, tôi đã tạo ra và phải chịu đựng điều gì đó. Nhưng thành thật mà nói, tôi chưa bao giờ đến thăm nơi tôi đã chuyển dự án nữa. Và bằng cách nào đó tôi không muốn. Và tại sao? Cũng có những suy nghĩ về điều này. Hãy để tôi nhắc bạn rằng sau khi bán GitHub cho Bill Gates, dự án đã bổ sung khả năng có kho lưu trữ riêng miễn phí, GitHub Actions đã được phát hành cho quy trình CI/CD, v.v. Và bây giờ cũng là một công cụ tìm kiếm mạnh mẽ. Điều này nghe có vẻ không giống ý định nhấn chìm dự án. Có vẻ như Microsoft không muốn trả thuế lợi nhuận và đã mua thành công vào cuối năm với giá hơn 9 tỷ đô la 😁 Và sau tất cả những điều này, họ quyết định phát triển dự án này. Và đúng là đối với một nhà phát triển nguồn mở thì đây là nơi tuyệt vời để lưu trữ mã của họ. Bạn hoàn toàn có thể phát triển sản phẩm của mình mà không cần rời khỏi GitHub.Cuối cùng
Tôi đã viết bài viết trong một lần. Tôi thực sự thích khi lời nói và cảm xúc tuôn chảy như một mạch nước phun. Đây là những gì thúc đẩy công nghệ tiến lên phía trước. Vì vậy, chúng ta luôn theo dõi nhịp đập và không buông bỏ hoàn cảnh. Tôi chắc chắn rằng mỗi chúng ta nên học cách sử dụng nó. Đối với những ai chưa đăng ký GitHub, tôi thực sự khuyên bạn nên làm như vậy. Nó đáng giá. Như mọi khi, các bạn đừng quên đăng ký kênh telegram của tôi , trong đó tôi tổng hợp tất cả các hoạt động công khai của mình. Ngoài các bài viết mà tôi xuất bản ở đây, tôi còn viết những bài viết ngắn hơn, trong đó tôi đề cập đến các chủ đề mà tôi quan tâm trong thế giới phát triển và CNTT nói chung. Hiện đã có hơn 800 người đăng ký ở đó! Và tất nhiên, tài khoản GitHub của tôi , nơi tôi xuất bản tất cả các dự án demo cho các bài viết, cập nhật thư viện của mình và phát triển các tổ chức nguồn mở.Liên kết hữu ích: |
---|
GO TO FULL VERSION