Mục Blog technologique

Hệ thống RAG và TxtAi Phần 1: Biến đổi Sinh sản Ngôn ngữ với Trí tuệ

Viết bởi gbourdin vào ngày 08/12/2023
Danh mục:   Trí Tuệ Nhân Tạo
Đối với phần đầu tiên của loạt bài viết này, chúng ta sẽ dựa vào hướng dẫn để triển khai quá trình RAG. Vậy RAG là gì? RAG, hay "Retrieval-Augmented Generation" (Tạo Sinh Sản Mở Rộng Tìm Kiếm), là một kỹ thuật tiên tiến trong trí tuệ nhâ...

Sonata Page 5: Thêm Thẻ Open Graph với SonataPage và SonataMediaSonata

Viết bởi vào ngày 02/10/2023
Danh mục:   symfony, Sonata
Nếu bạn đã từng sử dụng SonataPage và SonataMedia, bạn sẽ biết chúng mạnh mẽ như thế nào trong việc quản lý nội dung và phương tiện trên trang web của bạn. Trong bài viết này, tôi sẽ hướng dẫn bạn cách mở rộng những công cụ này để dễ dàng thêm các thẻ Open Graph vào trang của bạn nhằm nâng cao khả năng chia sẻ trên các mạng xã hội. Tại sao lại sử dụng thẻ Open Graph? Thẻ Open Graph (OG) là các thẻ meta mà bạn có thể thêm vào trang của mình để xác định tiêu đề, mô tả, hình ảnh và thông tin khá...

Sonata Page 5: Ẩn các khối bên trong khối chia sẻ.

Viết bởi vào ngày 30/09/2023
Danh mục:   symfony
Nếu bạn đang sử dụng gói SonataPage, có thể bạn đã nhận thấy rằng một số khối được cung cấp là không cần thiết hoặc không hoạt động.Chúng ta sẽ thảo luận về cách ẩn những khối này khỏi danh sách một cách gọn gàng, với một tệp cấu hình, và bằng cách ghi đè các mẫu quản trị của SonataPage. 1 – Cấu Hình Chúng ta cần tạo một danh sách các dịch vụ mà chúng ta không muốn hiển thị. Danh sách này sẽ tự nhiên đi vào các tham số của tệp dịch vụ của chúng ta: #config/services.y...

Sonata: Thêm một Bảng Điều Khiển Quản Trị không cần Đối Tượng với Sonata Admin 5 và Symfony 6.2

Viết bởi vào ngày 06/06/2023
Danh mục:   symfony, Sonata
Trong bài viết này, chúng ta sẽ học cách thêm một bảng điều khiển quản trị không cần đối tượng trong dự án Symfony 6.2 sử dụng Sonata Admin 5. Cơ sở dự án của chúng ta sẽ là tạo một giao diện tải lên tệp đơn giản. Nhưng bạn có thể tạo bất kỳ ứng dụng nào. Bao gồm thêm văn bản đơn giản. 1. Cài đặt Sonata Admin Bundle Nếu bạn chưa cài đặt Sonata Admin, bạn có thể làm điều đó với composer: composer require sonata-project/admin-bundle Chúng tôi mời bạn truy cập trang web của chúng tôi để cà...

Cách Tạo Một Phương Thức Truyền Email Tùy Chỉnh với Symfony Mailer

Viết bởi vào ngày 19/05/2023
Danh mục:   PHP, symfony
Hôm nay, chúng ta sẽ tìm hiểu cách tạo một phương thức truyền email tùy chỉnh với Symfony Mailer. Đối với ví dụ này, chúng ta sẽ tạo một phương thức truyền có tên là “pt”. Yêu cầu Trước Trước khi bắt đầu, hãy đảm bảo bạn đã cài đặt và cấu hình Symfony Mailer và HttpClient trong dự án của bạn. Bạn có thể thêm chúng vào dự án của bạn bằng các lệnh sau: composer require symfony/mailer composer require symfony/http-client Tạo Lớp Truyền Thông Điều đầu tiên cần làm là tạo một lớp mới thực h...

PHP FFI: Tạo Liên Kết với Thư Viện, QuickJS – Phần 5

Viết bởi admin vào ngày 24/01/2023
Danh mục:   PHP, PHP / FFI
Để kết thúc bản kỹ thuật mini này về giao diện hàm nước ngoài của PHP, mục tiêu của tôi là chỉ đơn giản là kết nối với một thư viện. Một loại thách thức có thể giúp tôi tiến bộ trong chủ đề này. Vì vậy, tôi phải nghĩ ra một ý tưởng dự án. Một cái gì đó không quá nhỏ hoặc quá đơn giản nhưng cũng không quá lớn. Thất bại, tôi đã tìm ra một ý tưởng nhưng nó hóa ra phức tạp hơn tôi tưởng. Không sao, tôi vẫn thử. Vì vậy, cho bài viết của chúng ta, tôi nghĩ mình sẽ thử tích hợp QuickJS một cách ít n...

Symfony: Bắt buộc một thực thể sử dụng kết nối cơ sở dữ liệu khác với kết nối mặc định đã cấu hình

Viết bởi vào ngày 19/01/2023
Danh mục:   PHP, symfony
Việc sử dụng nhiều cơ sở dữ liệu cho một dự án không phải là hiếm gặp. Thông thường, khi sử dụng hai cơ sở dữ liệu, các thực thể có thể được tổ chức vào các thư mục cụ thể được khai báo trong cấu hình của bạn. Trong trường hợp này, hệ thống sẽ sử dụng kết nối được cấu hình cho thư mục thực thể. Bạn có thể xem một ví dụ về nhiều kết nối tại đây Symfony 4 / Sonata: quản lý giao diện quản trị đa máy chủ Giả sử chúng ta muốn chỉ định một cơ sở dữ liệu chỉ đọc (một bản sao) mỗi khi chúng ta sử dụn...

Sử dụng composer và bin/console từ hình ảnh Docker của bạn trực tiếp trong PHPSTORM

Viết bởi vào ngày 19/01/2023
Danh mục:   PHP, symfony, phpstorm, Divers
Được rồi, bạn cũng giống như tôi. Máy tính của bạn không cài đặt gì cả, thậm chí là composer hay PHP ở chế độ CLI!Khi bạn sử dụng PHP và có thể là Symfony (hoặc không), bạn cần sử dụng composer hàng ngày. Bạn sử dụng PhpStorm mỗi ngày và nghĩ rằng thật đáng tiếc nếu không tận dụng hết các tùy chọn của IDE của bạn, đặc biệt là mọi thứ liên quan đến composer và bảng điều khiển Symfony. Vậy bạn cấu hình PhpStorm như thế nào để chỉ định composer cho dự án của bạn nằm trong hình ảnh docker?Đây là ...

Hành Động Tùy Chỉnh Sonata

Viết bởi admin vào ngày 19/01/2023
Danh mục:   PHP, symfony, Sonata
Theo bài viết của Thomas Bourdin SYMFONY / SONATA: THÊM CHỨC NĂNG NHÂN BẢN VÀO CRUD, chúng tôi sẽ chỉ bạn cách thêm các hành động tùy chỉnh vào giao diện một cách đơn giản. Trên Bảng điều khiển: Nhưng chúng tôi cũng sẽ xem xét cách tùy chỉnh đơn giản và chung chung các hành động tùy chỉnh của danh sách, tiêu đề CRUD của bạn và cuối cùng là cách thêm hành động cho xử lý hàng loạt. Với ví dụ của tôi, tôi bắt đầu với một bảng đơn giản gọi là Title là entity ở đây. Không cần thiết cho bạn...

Gỡ lỗi với PhpStorm và Symfony trong một Hình ảnh Docker

Viết bởi admin vào ngày 19/01/2023
Danh mục:   PHP, PHP / FFI, symfony, phpstorm
Cấu hình PHP/Docker Nếu bạn đang phát triển với Symfony, cài đặt trong một docker compose và vẫn chưa sử dụng debugger, thì bài viết này dành cho bạn. Chúng tôi sẽ chỉ cho bạn cách chuẩn bị môi trường của mình để bạn không cần phải sử dụng dd() hay var_dump nữa. Một khi bạn đã trải nghiệm niềm vui của việc debug, bạn sẽ không thể từ bỏ nó, vì nó sẽ tăng cường đáng kể sự thoải mái của bạn. Đối với bài viết này bạn cần có một ứng dụng Symfony được hỗ trợ bởi apache/php (hoặc nginx và fpm, khô...

Tạo một thư viện với composer

Viết bởi vào ngày 04/01/2023
Danh mục:   PHP, Divers
Composer là gì? Giống như NPM đối với JavaScript, Composer là công cụ dành riêng cho PHP giúp bạn quản lý các thư viện phụ thuộc cho ứng dụng của mình. Nếu bạn đã sử dụng một framework như Symfony, chắc chắn bạn đã sử dụng nó. Trên thực tế, mọi nhà phát triển PHP đều sử dụng nó hàng ngày. Nếu bạn đang ở trang này, có lẽ bạn đang tự hỏi làm thế nào để tạo một thư viện có thể dễ dàng phân phối và chia sẻ với cộng đồng. Đó là điều mà tôi sẽ cố gắng chỉ cho bạn. Vì lợi ích của hướng dẫn này, tôi ...

Cấu hình 'Công cụ Chất lượng' trong Hình ảnh Docker của PHPSTORM

Viết bởi vào ngày 15/12/2022
Danh mục:   PHP, symfony, phpstorm
Đây là câu hỏi mà gần đây tôi đã suy ngẫm. Thông thường, tôi cài đặt các công cụ QA trực tiếp trên máy chủ của mình hoặc trong hình ảnh Docker. Nếu các công cụ được cài đặt trên máy chủ của tôi, không có vấn đề gì trong việc cấu hình PhpStorm. Nếu các công cụ được cấu hình trực tiếp trong hình ảnh Docker, cũng không có vấn đề gì khi sử dụng chúng bên trong hình ảnh. Tuy nhiên, làm thế nào để kết hợp sức mạnh của PhpStorm và Docker để liên kết chúng? Vậy, đây là cách tiến hành cài đặt php_cod...

Cấu hình Exim để gửi email qua Gmail

Viết bởi vào ngày 12/12/2022
Chúng ta sẽ xem cách cấu hình Exim4 để gửi email hệ thống qua Gmail. Điều này sẽ đảm bảo rằng các email bạn gửi bằng CRON của mình được định tuyến chính xác và không rơi vào thư mục spam. Hãy cài đặt Exim4 apt-get install exim4 Cấu hình dpkg-reconfigure exim4-config Chọn: mail được gửi bởi smarthost; không có mail nội bộ Sau đó trả lời các câu hỏi như sau: System mail name: YOUR_HOSTNAME IP-addresses to listen on for incoming SMTP connections: 127.0.0.1 ; ::1 Oth...

Sonata DataMapper và Tự động Ghép Nối

Viết bởi vào ngày 08/12/2022
Danh mục:   PHP, symfony, Sonata
Nếu bạn có nhu cầu cụ thể để chuyển đổi dữ liệu giữa biểu mẫu và quá trình ghi của thực thể của mình và nghĩ rằng mã chuyển đổi này nên được đặt trong một dịch vụ vì nó có ý nghĩa hơn, bạn có thể sử dụng dataMapper bằng cách tận dụng tính năng tiêm phụ thuộc do Symfony cung cấp. Nhưng làm thế nào để triển khai nó? Một lưu ý nhỏ về DataMapper. Nếu chúng ta đồng ý với tài liệu chính thức của Symfony về DataMapper và DataTransformer, một dataMapper có trách nhiệm đọc và viết một đối tượng (một t...

SF6 / Sonata 5: Quản lý giao diện OneToMany trong một CRUD với CollectionType của Sonata

Viết bởi admin vào ngày 27/11/2022
Danh mục:   PHP, symfony, Sonata
Thẻ:   sonata, symfony, admin
Trong ví dụ này, chúng ta sẽ xem xét trường hợp cụ thể của một giao diện đơn giản bao gồm nhiều yếu tố. Chúng ta đã chọn sử dụng bảng "Dự án" trong đó chúng ta sẽ gán tài liệu. Vì vậy, đối với một dự án, chúng ta có thể gán nhiều tài liệu. Và để thuận tiện trong quản lý, chúng ta sẽ đảm bảo rằng chúng ta có thể quản lý giao diện lồng nhau trực tiếp trong giao diện chỉnh sửa của dự án của mình.Chúng ta cần tạo sơ đồ. Đầu tiên, chúng ta nhập sơ đồ hiện tại của mình vào MysqlWorbench bằng cách s...

PHP FFI: Sử dụng Thư viện Kotlin Đa nền tảng – Phần 4

Viết bởi vào ngày 11/11/2022
Danh mục:   PHP, PHP / FFI
Với Stéphane Péchard https://www.linkedin.com/in/stephanepechard/, chuyên gia Android và KMP guru, chúng tôi tự hỏi liệu việc phát triển một thuật toán dưới KMP và thực thi nó trực tiếp trong PHP có khả thi hay không. Đặc tả khá đơn giản: người phát triển Android (Stéphane) cung cấp cho tôi một tệp tiêu đề, một tệp .so và tôi xử lý nó. Với tệp tiêu đề, hợp đồng, chúng tôi có thể nghĩ ra điều gì đó... Vì vậy, chúng tôi đã quản lý để thực hiện cuộc gọi hàm của mình. Như...

PHP FFI: Callback - Part 3

Viết bởi vào ngày 11/11/2022
Danh mục:   PHP, PHP / FFI
Phản HồiTrong quá trình chuẩn bị bài viết này, tôi nhận thấy rằng nhiều tài nguyên trên internet trực tiếp sử dụng thư viện libc cho các ví dụ của họ. Bạn có thể dễ dàng tìm thấy những ví dụ đơn giản và trực quan. Nhưng để làm điều gì đó thú vị và độc đáo, tôi đã nghĩ "hãy tìm một cái gì đó để thể hiện với libc này". Dù sao đi nữa… nếu chỉ là truyền một cấu trúc như hầu hết các ví dụ, nó sẽ không hữu ích. Và sau đó, tôi tình cờ thấy một chức năng trong một...

PHP FFI: Truyền Tham Số – Phần 2

Viết bởi vào ngày 11/11/2022
Danh mục:   PHP, PHP / FFI
Gọi trực tiếp thư viện PHP?Nếu chúng ta viết một đoạn code vô dụng thì sao? Hãy thử nào!!! Hãy thử nào!! Hãy thử nào!!!Được rồi, OK. Tôi đề xuất chúng ta làm điều gì đó vô dụng bằng cách sử dụng PHP để gọi một thư viện C sử dụng Zend Engine.Thực ra, đoạn văn này không hề vô dụng như bạn nghĩ. Mục đích của nó là để cho bạn thấy một hành vi đặc biệt 😊PHP-FFI có một số hạn chế: bạn không thể truyền trực tiếp một biến PHP để lấy giá trị động của nó từ thư viện bên ngoài.Bạn chỉ có thể truyền các ...

PHP FFI: Giới thiệu – Phần 1

Viết bởi vào ngày 11/11/2022
Danh mục:   PHP, PHP / FFI
Giới thiệuTừ phiên bản 7.4 của PHP, chúng ta cuối cùng cũng có quyền truy cập vào các chức năng tương tác giữa các ngôn ngữ khác nhau và PHP: FFI hay Giao diện Chức năng Ngoại vi.FFI là gì? Đơn giản là khả năng sử dụng thư viện bên ngoài (.dll hoặc .so) trực tiếp trong PHP, mà không cần tạo ra một extension PHP. Vâng, chỉ với một script PHP! Đó là, trong số những thứ khác, điều đã làm cho Python trở nên nổi tiếng và cho phép nó có nhiều tính năng hơn.Điều tuyệt vời về FFI là một nhà phát tri...

Symfony 6 / Sonata 5: Liên kết ngôn ngữ và múi giờ với sở thích người dùng.

Viết bởi admin vào ngày 10/03/2022
Danh mục:   PHP, symfony, Sonata
Chúng tôi đã thấy trong một bài viết trước cách cài đặt Symfony 6 + Sonata Admin 5 với quản lý người dùng và quản lý media. Chúng tôi sẽ tiếp tục cài đặt này với cấu hình ngôn ngữ và múi giờ. Chúng tôi sẽ cài đặt intlBundle giúp quản lý hiển thị theo địa phương. php8.1 composer.phar require sonata-project/intl-bundle Chúng tôi nhân cơ hội này để thêm trường múi giờ và ngôn ngữ vào người dùng.Để làm điều này, chúng tôi sẽ mở rộng userBundle và thêm trường vào trong admin. Chúng tôi mở rộ...