Bài đăng

Đang hiển thị bài đăng từ 2018

Dấu hiệu của một Microservice không tốt

Dưới đây là những dấu hiệu của một Microservice không tốt trong ứng dụng Microservices. Lưu ý là số ít và số nhiều nhé. Một service với nhiều nhiệm vụ: Flow chính của business logic trong service là phức tạp và có vẻ phải tuân thủ nhiều business rules khác nhau. Một service quản lý dữ liệu của một lượng lớn các bảng: Một microservice là nguồn dữ liệu độc quyền cho dữ liệu mà nó quản lý. Nghĩa là chỉ nó có thể thao tác trên dữ liệu đó. Nếu bạn thấy bạn thao tác với dữ liệu trên nhiều bảng hoặc lấy dữ liệu từ bảng biên ngoài của cơ sở dữ liệu hiện tại, thì đây là một service quá lớn. Một microservice không nên giữ nhiều hơn 5 bảng. Nếu nhiều hơn, thì nghĩa là service có vẻ có quá nhiều nhiệm vụ. Có quá nhiều test cases: Các services có thể tăng kích thước và nhiệm vụ qua thời gian. Nếu bạn có một service mà bắt đầu với một lượng nhỉ các test case và kết thúc với khoảng trăm unit và integration test case, bạn có thể cần phải refactor. Còn về một microservice quá nhỏ? Các microserv...

Tổng quan về Microservices

Một số thông tin về Micoservices: Microservices là các chức năng nhỏ được tách ra từ một phạm vi chức năng. Không có định nghĩa chính xác cho microservices. Không giống như các giao thức web service trước đây, microservices có hướng tiếp cận dựa trên REST và JSON. Viết microservices là đơn giản, nhưng vận hành chúng trong toàn bộ sản phẩm cần thêm nhiều chất xám.

Spring Cloud là gì?

Spring Cloud cung cấp các công cụ dành cho các developers có thể nhanh chóng xây dựng những mẫu thiết kế phổ biến trong các hệ thống phân tán, ví dụ như quản lý cấu hình, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, one-time tokens, global locks, leadership election, distributed session, cluster state). Điều phối các hệ thống phân tán dẫn đến các boiler plate patterns, và sử fungj Spring Cloud, các nhà phát triển có thể nhanh chóng dựng nên các services và ứng ựng mà hiện thực những patterns này. Chúng sẽ hoạt động tốt trong mọi môi trường phân tán, bao gồm cả máy tính của nhà phát triển đó, các trung tâm dữ liệ và các nền tảng như Cloud Foundry. Spring Cloud xây dựng trên Spring Boot bằng việc cung cấp một tập các thư viện mà cải thiện hành vi của một ứng dụng khi thêm vào classpath. Bạn có thể tận dụng ưu điểm của hành vi mặc định để tạo một dự án quick start, và sau đó khi bạn cần, bạn có thể cấu hình hoặc mở rộng để tạo một custom solution. ...

Angular - Architecture overview

Hình ảnh
Angular là một platform và framework để xây dựng các ứng dụng phía client bằng HTML và TypeScript. Angular được viết bởi TypeScript. Nó implement core và các chức năng tùy chọn thông qua các thư viện TypeScript mà bạn import vào app của bạn.

Automatic congifuration trong Spring Boot

Hình ảnh
Configuration (cấu hình) là thành phần trung tâm của Spring Framework. Mặc dù Spring Boot tự động cấu hình mọi thứ cho bạn nhưng vẫn phải có thứ gì đó cho Spring biết cách chạy ứng dụng của bạn. Bài này sẽ nói về cách mà Spring Boot tự động cấu hình như thế nào. Nếu có thời gian thì blog sẽ có bài nói về cách override auto-configuration của Spring Boot.

Những tính năng nâng cao của FormFlow - Advanced features of FormFlow

Hình ảnh
Bài Basic features of FormFlow mô tả việc hiện thực FormFlow và tạo ra một trải nghiệm cơ bản cho người dùng. Để tạo ra user experience theo cách tuỳ chỉnh hơn bằng việc sử dụng Form Flow, bạn có thể chỉ rõ trạng thái ban đầu của form, thêm các bussiness logic để quản lý những interdependencies giữa các field và quá trình lúc người dùng nhập thông tin, và sử dụng attributes để tuỳ chỉnh các prompts, override templates, tạo các optional fileds, match user input, và validate user input.

Những tính năng cơ bản của FormFlow - Basic features of FormFlow

Hình ảnh
Dialogs đã rất mạnh mẽ và linh hoạt, nhưng việc xử lý một conversation theo khuôn mẫu như mua một chiếc bánh sandwich cần rất nhiều nỗ lực. Tại mỗi điểm của conversation, có rất nhiều tình huống có thể xảy ra tiếp theo. Ví dụ, bạn có thể cần phải làm rõ những mơ hồ, cung cấp sự hỗ trợ, quay lại hoặc show ra quá trình. Bằng việc sử dụng FormFlow trong Bot Builder SDK cho .NET, bạn có thể đơn giản hoá quá trình quản lý một conversation theo khuôn mẫu như vậy.

Class Relationships

Hình ảnh
Trong thực tế, class không chỉ nằm một mình là chúng quan hệ với các class khác thông qua các loại relationship khác nhau. Các relationship giữa các class có điểm mạnh khác nhau. Điểm mạnh của các relationship dựa trên mức độ phụ thuộc giữa các class trong mối relationship đó. Hai class mà có độ phụ thuộc mạnh với nhau thì được gọi là tightly coupled, nếu một class thay đổi thì sẽ ảnh hưởng lớn đến class còn lại. Tight coupling thường (không phải luôn luôn) là điều không tốt, vì vậy, một relationship càng mạnh thì càng phải cẩn thận.

Key concepts in the Bot Builder SDK for .NET

Hình ảnh
Connector Bot Framework Connector cung cấp một single REST API cho phép bot có thể giao tiếp thông qua nhiều kênh (channel) như Skype, Email, Slack v.v... Nó giúp việc giao tiếp giữa bot và user được thuận tiện hơn bằng việc chuyển tiếp messages từ channel đến bot và từ bot đến channel. Trong Bot Builder SDL for .NET, Connector library giúp cho phép truy cập đến Connector. Activity Connector sử dụng một Activity object để truyền thông tin qua lại giữa bot và channel (user). Loại activity phổ biến nhất là message, nhưng có các loại activity khác mà có thể được sử dụng để giao tiếp bằng các lại thông tin khác nhau từ bot hoặc channel. Xem chi tiết về Activities trong Bot Builder SDL for .NET ở Activities overview . Dialog Khi bạn tạo một bot sử dụng Bot Builder SDL for .NET, bạn có thể sử dụng dialogs để mô hình một cuộc hội thoại (conversation) và quản lý conversation flow. Một dialog có thể bao gồm các dialog khác để tối đa hoá việc sử dụng lại, và một dialog context duy tr...

Fragment trong Android

Hình ảnh
Một Fragment là một phần của Activity. Một Fragment có thể chiếm một phần màn hình hoặc chiếm toàn bộ màn hình. Trong Activity, ta có thể hoán đổi các Fragment với nhau.