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.

Generate typescript docs from source code

Tự động sinh docs từ comment(tsdoc) trong typescript code

Gen docs từ source code của typescript thì chắc chẳn(g) xa lạ gì nữa, chỉ cần bỏ ra vài phút search là bạn có thể tìm thấy cả lùm thư viện/tools gen docs cho ts, vừa tiết kiệm thời gian vừa đỡ đau não. Nhưng đơn giản quá thì dể gây nhàm chán, vì thế hôm nay tôi sẽ hướng dẩn bạn tự viết code để gen docs, đúng tiêu chuẩn cây nhà lá vườn, tự viết tự fix tự chưởi thề :))

Execute C# code at runtime

Chạy code C# lúc runtime được không nhỉ 🤔

Các bạn chắc cũng biết C# là một ngôn ngữ lập trình biên dịch vì thế muốn chạy được thì phải compile ra binary file (thực ra là IL, tợ tợ như bytecode bên java thôi). Điều này chẳng có gì mới mẻ cả, cho đến một ngày…. trong lúc ngồi nghỉ vu vơ chờ crush rep tin nhắn, đầu tôi chợt nảy ra một câu hỏi “Chạy code C# lúc runtime được không nhỉ?”. Và thế là tôi vứt crush sang một bên và lên google ngâm cứu, sau một 1 vài phút hỏi bác google thì 2 keywords chính đã lòi ra Microsoft.CodeAnalysis.CSharp.Scripting và Roslyn.

Pagination


Copyright © 2022. All rights reserved.