Beyond the Hype: Start Building Intelligent Systems from First Principles

“Building an AI agent? It’s not just about picking the flashiest toolbox like LangChain or CrewAI and praying for magic. It’s more like assembling IKEA furniture with the mind of Sherlock Holmes, the patience of a monk, and the logic of Mr. Spock.” — ChatGPT 🤣
Before you glue parts together, teach your system how to think — define its brain loops, give it memory, a plan, eyes and hands… then finally decide if it needs to be a one-man-band or a full-on Avengers team of sub-agents.
Start with brains, add tools later, frameworks don’t fix chaos 😘

The world of AI is overflowing with powerful tools: LangChain, AutoGen, LangGraph, CrewAI, and many others. But with so many options, it’s easy to feel overwhelmed. Where should you begin?

Multi-tenancy with spring boot (Shared Database and Shared Schema) - Part 2

Khởi đầu với Multi-tenancy with spring boot - Part 1 tôi đã phun một tràng về lý thuyết cũng như các cách impl multi-tenancy trong spring (và tất cả chỉ là nói mồm 😆). Tiếp nối series multi-tenancy, bài viết này tôi sẽ giới thiệu cụ thể về cách impl Shared Database and Shared Schema với spring.

Lý thuyết về Shared Database and Shared Schema trong multi-tenancy tôi sẽ không nói nữa (nói nữa các bạn lại đấ* tôi vì lắm mồm 🥲). Bài hôm nay tôi sẽ bê từ How to integrate Hibernates Multitenant feature with Spring Data JPA in a Spring Boot application, ok, let’s start.

Multi-tenancy with spring boot - Part 1

Multi-tenancy là một kiến trúc trong đó nhiều khách hàng (tenants) sẽ được phục vụ chỉ bởi 1 một hệ thống. Nó yêu cầu mức độ cô lập cần thiết giữa các khách hàng, sao cho dữ liệu và tài nguyên được sử dụng bởi từng khách hàng được tách riêng biệt với các khách hàng khác.

Multi-tenancy vs Single-tenancy

Inheritance in spring jpa

Tính thừa kế là 1 trong những key concepts của java và dĩ nhiên là bạn có thể sử dụng nó trong các data models của mình, nhưng nếu bạn muốn map models xuống relational db thì khả năng cao là bạn sẽ gặp bug ngập mồm vì bản chất của mấy ông relational db này không có khái niệm về kế thừa :)) Thế nhưng các cao nhân vẫn chế ra cách để ông inheriance models map được với ông relational db qua cái cầu jpa hibernate.

Trong jpa hibernate thì có 4 cách chính để kế thừa domain models, mỗi cách có ưu nhược điểm riêng. Tôi sẽ giới thiệu ngay bên dưới kèm theo bài toán như sau:

Chrome extension with webpack and typescript

Chrome extension thì không còn xa lạ với người dùng chrome nữa, từ chặn quảng cáo, vpn đến torrent đều có thể xài chrome extension. Xài sướng là thế, nhưng bạn có bao giờ tự hỏi chrome extension làm việc như thế nào, làm sao để viết ra được chúng. Nếu bạn đã tò mò và muốn tìm hiểu thì tôi sẽ đưa đèn chỉ lối cho bạn :))

Ở các phiên bản trước của chrome, manifest v2 được sử dụng khá rộng rãi cho đến khi ông v3 tòi ra và chrome bắt buộc phải migrate lên v3 nếu không thì sẽ xịt :)) thế nên hôm nay tôi sẽ hướng dẩn các bạn chơi với con v3 này.

Pagination


Copyright © 2022. All rights reserved.