Skip to content

Dashboard

All activity

Showing 4,251-4,300 of 7,730 items.
@renovate
Admin 17/12/2021 12:00
Tìm hiểu về Autoencoder

Giới thiệu Làm về xử lý ảnh, chắc hẳn các bạn sẽ bắt gặp 1 số bài toán như tái tạo ảnh, giảm nhiễu ảnh, làm sáng ảnh, hay bài toàn giảm chiều dữ liệu, … Gặp các bài toán này thì cũng có khá nhiều phương pháp để xử lý, với cá nhân mình thì mình nghỉ ngày tới kỹ thuật Autoencoder. Lướt một vòng google search thì mình chỉ tìm thấy các bài viết nước ngoài hoặc 1 số blog của các...

Machine Learning Computer Vision Deep Leanring Autoencoder
@renovate
Admin 16/12/2021 19:10
Chữ ký số (Digital Signature) là gì?

Chữ ký số không đơn thuần là loại hình ký có khả năng thay thế hoàn toàn Chữ ký tay. Để đáp ứng tiêu chuẩn đối với ký số trên môi trường điện tử, chứng thư số được gắn vào chữ ký số phải đảm bảo các tiêu chí sau: Tính chống chối bỏ, toàn vẹn dữ liệu và tính định danh xác thực của đối tượng thực hiện ký. Bài viết liên quan: Nhà cung cấp Dịch vụ Ký số từ xa Remote...

Ký số từ xa savis ký số trustca
@renovate
Admin 16/12/2021 17:30
CODE REGIME PROVIDES A FOOD DELIVERY APP WITH EXCITING CHRISTMAS OFFERS!!!

Nowadays online food delivery apps are more convenient and safe to get their food at the doorstep and the online food delivery segment is going to be an on-demand business. Here, we talk about our product that is Food Regime - UberEats clone by Code Regime. In the end, we are providing exciting offers. Follow us, WHAT IS AN UBEREATS CLONE? The successful online food delivery platforms are UberEats, Swiggy, Zomato, etc and this is a lucrative app nowadays. The same like entrepreneurs who need to...

ubereatsclone ubereatsclonescript ubereatscloneapp foodregime coderegime
@renovate
Admin 15/12/2021 08:10
Sử dụng Laravel Eloquent withSum() and withCount()

Bài viết này mình sẽ giới thiệu các bạn cách sử dụng withSum() and withCount() với laravel relationship eloquent. Để demo ví dụ mình sẽ tạo 2 tables là Category và Product và tạo relationship cho chúng. Bạn có thể sử dụng withSum() & withCount() với laravel 6, laravel 7 & laravel 8 version. Hãy xem ví dụ bên dưới nhé: Category Model: <?php namespace App\Models; use...

Code Laravel chuẩn
@renovate
Admin 15/12/2021 03:30
Tạo đường "lượn sóng" cho landing page với công cụ Haikei

Đôi lúc ghé thăm những trang landing page ở những web phổ biến, có bao giờ bạn bắt gặp phần dải phân cách giữa các section thay vì đường kẻ ngang đơn giản, thì lại là một đường cong "lượn sóng" mượt mà? Bạn có thắc mắc họ đã làm thế nào, và làm sao để đem những chi tiết độc đáo đó vào landing page của chính bạn, để làm tăng thêm vẻ mềm mại và tự nhiên cho landing page của...

HTML CSS
@renovate
Admin 15/12/2021 01:20
Tăng tốc database index phần 2 - Leaf Nodes

Đầu tiên mình định dịch ra là nút lá, nhưng nghe nó không được hay cho lắm nên quyết định giữ nguyên tên của nó là Leaf Nodes. Mục đích của Index là để lưu trữ dữ liệu đã được sắp xếp theo thứ tự. Nếu ta lưu dữ liệu theo kiểu vật lý, với các cục index này nằm cạnh cục index kia theo thứ tự, thì nếu một ngày đẹp trời có một lệnh INSERT muốn chèn một cục index vào giữa thì...

database index tăng tốc website
@renovate
Admin 14/12/2021 22:40
Object trong Javascript

Xin chào mọi người, Hôm nay mình sẽ giới thiệu về kiểu dữ liệu Object trong Javascript. Các khái niệm cơ bản, kèm các keyword và link để mọi người có thể tìm hiểu thêm. Không để mọi người chờ lâu, cùng mình bắt đầu nào. 1. Định nghĩa Object (đối tượng) là kiểu dữ liệu dùng để thể hiện một đối tượng thực tế trong đời thực. Object bao gồm các thuộc tính và hành động được...

JavaScript object trong javascript Cơ bản Javascript
@renovate
Admin 14/12/2021 19:10
Log4j RCE (CVE-2021-44228) - Lịch sử, cách hoạt động và cách phòng tránh

1. Lịch sử về Log4j RCE (CVE-2021-44228, CVSSv3 10.0) Vào ngày 9/12/2021 Chen Zhaojun - Thuộc Alibaba Cloud Security Team đã tiết lộ lỗ hổng nghiêm trọng của thư viện Log4J. Cho phép thực thi code từ xa (RCE - Remote Code Execute) mà không cần xác thực (Authenticate). Log4j là thư viện để ghi log (logging) rất nổi tiếng thuộc sở hữu của Apache, được sử dụng rộng rãi trong các ứng dụng doanh nghiệp và điện toán...

Java RCE Log4J CVE-2021-44228 Log4Shell
@renovate
Admin 14/12/2021 18:00
SHA1 – Thanh gươm Damocles của thế kỷ 21

Bỗng một sang thức dậy bạn nhận ra tất cả hệ thống và thông tin của bạn bị tấn công, điều này sẽ không hề quá bất ngờ, rất có thể bạn đã trở thành mục tiêu của hackers vì sự trung thành của bạn dành cho SHA1. Các nhà nghiên cứu đã thành công trong việc thực hiện tấn công va chạm với SHA1, tạo ra 2 tệp PDF với cùng 1 chữ ký từ năm 2015 Những nhà nghiên cứu bảo mật đã thành công...

SHA1 Chữ ký số SHA256 Ký số từ xa savis
@renovate
Admin 14/12/2021 17:40
SHA1, SHA2, SHA256 – Những thuật ngữ này nghĩa là gì?

Nếu như bạn đã từng nghe về các từ vựng “SHA” mà vẫn chưa chắc chắn đã hiểu chúng, bài viết này sẽ làm rõ những thuật ngữ này. Nhưng trước khi đề cập đến SHA, chúng ta cần tìm hiểu mã hàm băm là gì, sau đó là chứng thư SSL sử dụng mã hàm băm như thế nào để tạo chữ ký số. Đây là những concept quan trọng trước khi bạn có thể hiểu về SHA1 và SHA2. Mã hàm băm?! (Hashing...

SHA1 SHA256 savis thuật ngữ mã hàm băm
@renovate
Admin 14/12/2021 17:00
HPA là gì? Auto scaling pod bằng HPA và KEDA

Auto Scaling Pod là gì? Auto scaling pod là quá trình thực hiện tăng số lượng pod trong 1 node lên một số lượng đã được định sẵn hoặc không (mở rộng theo chiều ngang). Quá trình này được thực hiện khi xảy ra một hoặc nhiều sự kiện, ví dụ như: CPU đạt trên 70%, số lượng request đến server lớn hơn 500 req/s,... Auto Scaling để làm gì? Auto Scaling sẽ giúp ứng dụng tăng tài nguyên và từ đó...

Kubernetes DevOps K8s HPA Autoscale
@renovate
Admin 14/12/2021 15:30
SHA1 – Tham gươm Damocles của thế kỷ 21

Bỗng một sang thức dậy bạn nhận ra tất cả hệ thống và thông tin của bạn bị tấn công, điều này sẽ không hề quá bất ngờ, rất có thể bạn đã trở thành mục tiêu của hackers vì sự trung thành của bạn dành cho SHA-1. Các nhà nghiên cứu đã thành công trong việc thực hiện tấn công va chạm với SHA1, tạo ra 2 tệp PDF với cùng 1 chữ ký từ năm 2015 Những nhà nghiên cứu bảo mật đã thành...

SHA1 Chữ ký số SHA256 Ký số từ xa savis
@renovate
Admin 14/12/2021 10:40
Traits và sử dụng traits trong PHP

1. Giới thiệu Nếu là một lập trình viên PHP, chắc hẳn bạn đã từng ít nhất một lần sử dụng traits. Traits được giới thiệu từ PHP 5.4, là một cơ chế giúp ta tái sử dụng code trong các ngôn ngữ đơn kế thừa như PHP. Với traits, ta có thể nhóm các phương thức ta muốn thành một class và sử dụng các phương thức trong traits mà không cần phải kế thừa traits. Tiếp theo ta sẽ đi tìm hiểu về...

PHP traits
@renovate
Admin 14/12/2021 10:10
Log4j RCE (CVE-2021-44228, CVSSv3 10.0) - Lịch sử, cách hoạt động và cách phòng tránh

1. Lịch sử về Log4j RCE (CVE-2021-44228, CVSSv3 10.0) Vào ngày 9/12/2021 Chen Zhaojun - Thuộc Alibaba Cloud Security Team đã tiết lộ lỗ hổng nghiêm trọng của thư viện Log4J. Cho phép thực thi code từ xa (RCE - Remote Code Execute) mà không cần xác thực (Authenticate). Log4j là thư viện để ghi log (logging) rất nổi tiếng thuộc sở hữu của Apache, được sử dụng rộng rãi trong các ứng dụng doanh nghiệp và điện toán...

Java lỗ hổng bảo mật RCE Log4J CVE-2021-44228
@renovate
Admin 14/12/2021 08:20
4 websites giúp bạn trở thành một Product Owner chất hơn

Thông Tin luôn là trợ thủ đắc lực nhất của một người làm Product. Biết càng nhiều mảng kiến thức, cập nhật càng nhiều thông tin thị trường thì ta càng có nhiều dữ kiện để xử lý vấn đề hơn. Một người anh có số có má trong ngành của mình hay đùa là một ông Product chỉ cần biết đọc và biết nói là đủ, nghĩ đi nghĩ lại thấy cũng khá đúng. Trong bài này mình giới thiệu với bạn...

product management product manager simpleproductmind product owner Learning
@renovate
Admin 14/12/2021 00:40
Tăng tốc database phần 1 index - khái niệm cơ bản

Phần đầu tiên trong chuỗi bài là các phần liên quan tới database, nhiều bạn thích trình bày các vấn đề khác về database tuy nhiên theo kinh nghiệm cá nhân mình thấy hiểu về index trong db rất quan trọng trong quá trình nâng cao hiệu năng của chương trình, đôi khi chỉ cần đánh index thôi mà tốc độ đang từ rùa bò trở nên tốc độ bàn thờ . Nhưng có phải index luôn giúp truy vấn nhanh hơn...

database index tăng tốc website
@renovate
Admin 13/12/2021 21:10
Xây dựng công cụ tự động cắt ảnh chỉ chứa khuôn mặt sử dụng MTCNN và PyQt5

1. Ý tưởng      Trong quá trình làm một dự án về AI thì phần mất nhiều thời gian cho project nhất chính là xử lý dữ liệu. Chính vì vậy có nhiều công cụ (tool) được tạo ra để giảm tải cho quá trình này. Xuất phát từ bài toán nhận diện khuôn mặt, mình có ý tưởng xây dựng một công cụ tự động cắt ảnh chỉ chứa phần khuôn mặt cho ảnh chân dung. Mục đích để xử lý loại bỏ...

build tool MTCNN PyQt5 build exe crop image
@renovate
Admin 13/12/2021 12:20
How to install Ubuntu on VirtualBox

Bạn đang tìm một bài hướng dẫn để cài đặt một máy tính ảo miễn phí trên máy tính của mình ? Vậy thì đây đúng là bài viết mà bạn cần rồi. Còn chần chừ gì nữa, cùng mình tạo ngay ra một con máy ảo Ubuntu 20.04 ngay trên hệ điều hành Windows, để anh em lập trình chúng ta sáng có em Ubuntu cho tiện làm việc, trong khi tối vẫn có em Windows thân thương để giải trí nào. Trong bài viết này...

Virtualbox install ubuntu
@renovate
Admin 12/12/2021 17:20
Áp dụng Builder (Manager) Pattern trong Laravel để quản lý bên thứ 3 cung cấp dịch vụ

Bài toán đặt ra Trong rất nhiều ứng dụng chúng ta sẽ phải sử dụng dịch vụ của bên thứ 3. Ở đây tôi ví dụ dịch vụ gửi OTP qua SMS chẳng hạn. Để đảm bảo hệ thống chạy ngon lành và không phụ thuộc vào sự cố của nhà cung cấp, chúng ta nên sử dụng ít nhất 02 nhà cung cấp dịch vụ. Trong bài viết này, tôi giả định có 3 nhà cung cấp OTP qua SMS là Abenla, Esms và Nexmo. Làm thế nào để...

Laravel manager Builders
@renovate
Admin 10/12/2021 13:00
Product Management cơ bản 3: Product management là gì? - phần 1

Bài viết gốc: https://simpleproductmind.com/product-management-co-ban-3-product-management-la-gi-phan-1/ Ở 2 bài trước, chúng ta đã thảo luận về định nghĩa của một sản phẩm công nghệ, team làm ra sản phẩm gồm những ai. Hy vọng các bài viết trước giúp bạn có cái nhìn sơ bộ về công việc làm sản phẩm công nghệ, nếu bạn chưa đọc thì có thể đọc lại tại đây. Product managment cơ bản 1: Sản phẩm...

quanlysanpham product management product manager product 101
@renovate
Admin 10/12/2021 12:10
Phát triển Blockchain với PHP

Năm 2021 chắc hẳn là một năm bùng nổ của Blockchain, khi người người nhà nhà làm Blockchain, game NFT, Token.... Vậy nếu Blockchain được phát triển trên ngôn ngữ PHP thì sao? Blockchain là gì? Blockchain (hay gọi là cuốn sổ cái) là hệ thống cơ sở dữ liệu cho phép lưu trữ và truyền tải các khối thông tin (block). Chúng được liên kết với nhau nhờ mã hóa. Các khối thông tin này hoạt động độc lập...

Blockchain lập trình php
@renovate
Admin 09/12/2021 21:40
Tạo Portfolio miễn phí trên Github và thiết lập tên miền cá nhân (P2)

Giới thiệu Ở phần trước thì mình đã hướng dẫn các bạn cách tạo 1 trang Portfolio bằng HTML, CSS và host miễn phí trên Github Pages. Ở bài này mình sẽ hướng dẫn các bạn trỏ tên miền cá nhân về cái địa chỉ user_name.github.io của các bạn. Để khi truy cập chỉ cần gõ đúng custom domain của các bạn là sẽ vào được Portfolio, không cần phải .github.io chi cho dài dòng. Bài này yêu cầu các bạn...

domain Github Pages Portfolio Free domain Freenom
@renovate
Admin 09/12/2021 14:20
Từ khóa Const trong Javascript

Mục tiêu bài viết Hiểu được từ khóa const và cách sử dụng của từ khóa này. Có thể thực hành với từ khóa const. Nội dung bài viết Ở phiên bản ES2015 đã giới thiệu 2 từ khóa Javascript mới là let và const. Bài trước chúng ta đã tìm hiểu let, đến bài này chúng ta sẽ tìm hiểu thứ còn lại đó là const. Các biến được xác định bằng const hoạt động giống như biến let, ngoại trừ chúng...

JavaScript Const trong javascript
@renovate
Admin 09/12/2021 08:10
Cách sử dụng Git Reset to HEAD

Khi làm việc trong một dự án có nhiều thành viên,việc các thành viên trong nhóm có thể tạo branchs,thêm, sửa và xóa files trong dự án. Sau đó thực hiện commits lên git khi hoàn thành code. Tuy nhiên, trong một số trường hợp, bạn có thể nhận ra rằng những thay đổi bạn đã thực hiện không tốt cho lắm. Bạn đã sửa đổi một số files, thêm và xóa rất nhiều dòng khỏi các files của mình, nhưng bạn...

command git
@renovate
Admin 09/12/2021 00:20
Cài đặt Laravel 7.0 từ docker

Chuẩn bị docker php:7.4-fpm Source code Trong default.conf thiết lập đường dẫn đọc source dự án Sửa lại file Dockerfile để cài thêm các thư viện ngoài từ image php-fpm RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libpng-dev \ && docker-php-ext-install -j$(nproc) iconv \ && docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ \ ...

Laravel laravel 7
@renovate
Admin 08/12/2021 18:40
Tạo Portfolio miễn phí trên Github và thiết lập tên miền cá nhân (P1)

Giới thiệu Chào các bạn, đối với các bạn sinh viên chuẩn bị đi thực tập hay mới ra trường thì có một cái Portfolio online, sẽ hỗ trợ được các bạn kha khá trong việc gây ấn tượng với nhà tuyển dụng. Trong bài viết này mình sẽ hướng dẫn các bạn từ a-z cách tạo một trang Portfolio cho riêng mình vô cùng đơn giản và miễn phí trên Github với Github Pages và cách thiết lập tên miền cá...

GitHub domain free Github page
@renovate
Admin 08/12/2021 17:10
5 Best Home Service Marketplace Platforms for On Demand Home Business

Home service market size is expanding day by day. A substantial rise in technological innovations has created a huge demand in the market. Home service includes repairs and maintenance of the house, installations, renovation, and many more. A home service platform offers professional services to customers and apps that cater to the needs of consumers gain greater popularity in the market. The on-demand home service marketplace has features that are completely customer-centric. The revenue...

home service platform home services marketplace home services marketplace app home service marketplace
@renovate
Admin 08/12/2021 12:00
Debug testing a nodejs app with visual code

Chắc hẳn khi viết test nhiều bạn sẽ chỉ cho test chạy và đôi khi không biết lỗi bắn ra ở đâu. Bài viết này mình sẽ hướng dẫn các bạn debug trong quá trình testing Ở đây mình sẽ sử dụng ngôn ngữ là nodejs và thực hiện test với thư viện mocha, chai và supertest 1. Chuẩn bị Các bạn cần cài đặt framework ExpressJS: Express js là một Framework nhỏ, nhưng linh hoạt được xây dựng trên nền tảng...

Visual Studio Code Testing Mochajs Debug
@renovate
Admin 08/12/2021 11:40
[Paper Explain] Boosting masked Face recognition with Multi-task ArcFace

Source paper: https://arxiv.org/pdf/2104.09874.pdf Giới thiệu Tiếp nối về bài viết [Paper Explain] EFFICIENT MASKED FACE RECOGNITION METHOD DURING THECOVID-19 PANDEMIC, hôm nay mình sẽ gửi tới các bạn 1 bài Paper Explain khác cũng cùng chủ đề là Masked face recognition. Ý tưởng chính của paper này là dựa trên hoạt động của ArcFace, với một số chỉnh sửa trong backbone và loss function. Từ tập dữ liệu ảnh khuôn mặt ban...

Deep Leanring Face Recognition
@renovate
Admin 07/12/2021 12:30
Product Management/Quản lý sản phẩm cơ bản 2: Product team

Bài viết gốc: https://simpleproductmind.com/product-management-co-ban-2-product-team/ Đã bao giờ bạn thắc mắc về việc các sản phẩm công nghệ cao như Zalo, Snapchat, Grab được xây dựng như thế nào chưa? Ví dụ như làm sao để ông Grab quyết định sẽ thêm tính năng XYZ vào ứng dụng, làm sao để ông Tiktok tạo ra được một cái Feeds gây nghiện cho toàn thế giới như thế? Ngày trước khi còn đi code, mình...

productmanagement quanlysanpham product101 productexecutive productspecialist
@renovate
Admin 05/12/2021 23:20
[Java 8] Behavior Parameterization in Java.

Chào các bạn, hôm nay mình sẽ giới thiệu mọi người về Behavior Parameterization là gì và được implement trong java như thế nào thông qua ví dụ vô cùng đơn giản. Để dễ hiểu mình sẽ dùng cú pháp java 8 để thể hiện các ví dụ sau. 1. Đặt vấn đề (Problem). Trong một buổi phỏng vấn, nhà tuyển dụng cho đề bài sau: Bạn có một danh sách các số nguyên và họ muốn bạn in ra một danh sách mới mà...

Design Pattern java core java 8 lambda expression behavior parameterization
@renovate
Admin 04/12/2021 18:50
gRPC là gì? Tại sao nên dùng gRPC? Protocol buffers

Dẫn nhập Để phát triển hệ thống lớn, chúng ta thường áp dụng kiến trúc microservice, vấn đề chúng ta thường gặp phải là các service giao tiếp với nhau bằng cách nào, theo phương thức nào? Các service có thể giao tiếp với nhau bằng nhiều cách, tùy theo ngữ cảnh. Khi message cần được được xử lí ở nhiều service khác nhau không yêu cầu phản hồi kết quả ngay lập tức, hoặc message xử lí...

solution for startup Backend microservice microservices http2
@renovate
Admin 04/12/2021 11:50
Boolean trong Javascript

Xin chào mọi người, Hôm nay mình sẽ giới thiệu về kiểu dữ liệu Boolean trong Javascript. Các khái niệm cơ bản, kèm các keyword và link để mọi người có thể tìm hiểu thêm. Build-in object Boolean, truthy, falsy, toán tử so sánh(comparison operators), toán tử luận lý(logical operators) Không để mọi người chờ lâu, cùng mình bắt đầu nào. 1. Định nghĩa Boolean là kiểu dữ liệu nguyên thủy (primitive) và chỉ...

JavaScript DataType trong Javascript
@renovate
Admin 03/12/2021 08:00
Cách download & đọc file csv từ một FPT server

Hôm nay mình xin chia sẻ kinh nghiệm cách download file csv từ 1 FPT server về local của mình và đọc file csv đó,sau đó sẽ hiển thị ra dữ liệu. Hiện tại trên FPT server mình đã uploaded sẵn 1 file csv có tên là SampleCSV.csv, bên dưới đây là các bước kết nối đến FPT server, download về local, hiển thị dữ liệu. // 1. Kết nối và login to FTP server $ftp_server = "Your host name"; $ftp_conn = ftp_connect($ftp_server) or...

lập trình php
@renovate
Admin 01/12/2021 10:30
[MSDP] - Orchestration Saga Pattern

Khi xử lý các nghiệp vụ liên quan đến giao dịch (business transaction) qua nhiều microservices thì với nhiều người chắc hẳn việc này không thú vị chút nào vì nó không hề dễ dàng. Trong kiến trúc Microservice mỗi microservice có những trách nhiệm cụ thể. Để hoàn thành một tác vụ đôi khi nhiều microservices có thể phải làm việc cùng nhau. Trong bài viết này chúng ta cùng xem việc xử lý các giao dịch,...

Spring Boot microservices kafka
@renovate
Admin 30/11/2021 11:10
UnitTest trong Laravel, một số ví dụ về UnitTest

1. Giới thiệu UnitTest Cùng với việc viết code thì việc đảm bảo để những dòng code viết ra chạy đúng cũng rất quan trọng. Rất may, Laravel đã cung cấp cho chúng ta các công cụ để việc testing trở nên rất thuận tiện. Trong Laravel có hai loại test là FeatureTest và UnitTest, trong bài viết này ta đề cập đến UnitTest thôi nhé. UnitTest: Kiểm thử ở mức đơn vị. Đơn vị ở đây là các đơn vị mã...

Laravel UnitTest
@renovate
Admin 29/11/2021 20:20
[SWIFT] Dependency Injection in iOS

Trong bài viết này, chúng ta sẽ cùng tìm hiểu về Dependency Injection - một trong những nguyên tắc lập trình vô cùng quan trọng để viết code "sạch" (hay còn gọi là clean code). Trước khi đi vào Dependency Injection, ta sẽ cùng tìm hiểu về khái niệm "Dependency là gì?", và khi hiểu được khái niệm Dependency thì việc tìm hiểu về Dependency Injection sẽ trở nên dễ dàng hơn đối với lập trình viên. 1....

Swift iOS Dependency Injection di
@renovate
Admin 29/11/2021 15:00
Logging using Serilog in ASP.NET

Lời nói đầu! Là một developer mk không thể phủ nhận rằng trong một hệ thống mà thiếu logging thì việc debug, sửa lỗi nó khó khăn ntn. Logging giúp chúng ta dễ dàng theo dõi quá trình hệ thống xử lý tác vụ, khắc phục sự cố hoặc gỡ lỗi. Một trong những cách log đơn giản mà hiệu quả mk hay sử dụng đó là dùng Serilog. Bài viết này mk sẽ giới thiệu cách sử dụng logging using Serilog trong API...

C#
@renovate
Admin 29/11/2021 12:10
Change account

Tài khoản cũ của mình có chút vấn đề nên mình chuyển sang dùng tài khoản mới để viết bài. Mọi người có thể follow tài mới TheLight và các bài viết gốc tại thenewstack. Xin cảm ơn mọi người! Nội dung bên dưới sẽ được move sang một tài viết trên tài khoản mới: TheLight Phát triển một ứng dụng microservice có thể rất thú vị. Nhưng xử lý nghiệp vụ giao dịch phân tán (business...

Redis Java Spring Boot Design Pattern kafka
@renovate
Admin 29/11/2021 11:40
[gRPC] - gRPC Unary

Unary là mô hình request & response đơn giản nhất. Client sẽ gửi request đến server và server sẽ xử lý yêu cầu sau đó phản hồi lại cho Client. Cuộc gọi này có thể là đồng bộ (blocking synchronous call) hoặc không đồng bộ (non-blocking asynchronous). Protobuf – Service Definition (Định nghĩa dịch vụ) Khi biết nghiệp vụ, request và response cần là gì, chúng ta sẽ định nghĩa service xử lý nghiệp vụ cho...

gRPC
@renovate
Admin 29/11/2021 11:40
[gRPC] - gRPC Client Streaming

Với framework gRPC, chúng ta có thể gửi nhiều messages giữa Client và Server thông qua một kết nối TCP duy nhất. Nó được gọi là Multiplexing. Trong gRPC client streaming, Client có thể gửi nhiều request đến Server. Sau khi Client xác nhận rằng nó đã gửi tất cả các request, Server sẽ gửi lại một response duy nhất cho Client. Một case study ví dụ như chức năng upload file, trong đó Client upload một file lớn bằng...

Spring Boot gRPC
@renovate
Admin 29/11/2021 11:40
[gRPC] - gRPC Server Streaming

Bài viết trước chúng ta vừa tìm hiểu về gRPC Client Stream, bài này chúng ta sẽ tìm hiểu về gRPC Server Streaming. Một số bài viết cùng chủ đề có thể mọi người quan tâm: gRPC Overview gRPC Unary gRPC Client Streaming Trong gRPC server streaming, Client sẽ gửi một request đến Server và nhận về nhiều response từ Server. Sau khi Server đã gửi tất cả các response cho Client, Server sẽ gửi thông báo đến Client nó...

Spring Boot gRPC
@renovate
Admin 29/11/2021 11:40
[gRPC] - gRPC Bidirectional Streaming

Trong mô hình gRPC Bidirectional Streaming, Client và Server có thể trao đổi nhiều request và response qua một kết nối TCP duy nhất. Các request và response này có thể hoàn toàn độc lập với nhau. Client và Server sẽ đóng cuộc gọi khi chúng hoàn tất việc nghiệp vụ. Hãy xem một số ví dụ ứng dụng streaming ở 2 phía Client và Server. Màn hình tìm kiếm của Google: Ngay sau khi chúng ta nhập một từ khóa, nó sẽ...

Streaming gRPC
@renovate
Admin 29/11/2021 11:40
[gRPC] - gRPC vs REST Performance

Bài viết này chúng ta sẽ cùng so sánh về hiệu năng của gRPC và REST. Một số bài viết về gRPC có thể mọi người quan tâm. Sample Application Mục tiêu chính của chúng ta ở đây là tạo ra một ứng dụng - với 2 cách triển khai khác nhau (REST và gRPC) cho cùng một chức năng. Trong các bài viết trước chúng ta đã cùng thảo luận rằng gRPC sẽ phù hợp tốt cho việc phát triển ứng dụng Client - Server hoặc...

gRPC API REST
@renovate
Admin 29/11/2021 11:40
[Spring security] - Spring Boot Security Refresh Token

Trong bài viết trước, chúng ta đã cùng tìm hiểu về cách xây dựng ứng dụng Spring security với JWT để xác thực và phân quyền. Và như mọi người đã biết thì Access Token sẽ hết hạn sau một khoảng thời gian, vậy làm sao để tạo lại token mới thì trong bài viết này chúng ta sẽ tiếp tục tìm hiểu về JWT Refresh Token. Mọi người có thể tìm đọc các bài viết liên quan tại đây! JWT-JSON Web Token...

Security jwt Spring
@renovate
Admin 29/11/2021 11:40
[Redis] - Spring Boot With Redis Lua Script

Trong bài viết này chúng ta sẽ cùng tìm hiểu Redis Lua Script với Spring Boot để thực hiện một tập hợp các hành động như một transaction hoặc thực hiện một số loại ràng buộc khi chúng ta thực hiện các Redis transaction. Một số bài viết cùng chủ đề, mọi người có thể tham khảo tại đây: Spring Boot Cache-Aside design pattern (hướng dẫn Spring Boot Redis) Spring Boot Redis Transaction Redis Lua Script Khi...

Redis Spring Boot
@renovate
Admin 29/11/2021 11:40
[Redis] - Spring Boot Redis Transaction

Trong bài viết này chúng ta sẽ tìm hiểu về Redis Transaction. Nói qua một chút về Database Transaction, nói ngắn gọn đây là một tập hợp của một trong các hành động read/insert/update/delete được thực hiện trong một đơn vị công việc, chúng sẽ thành công tất hoặc các thay đổi sẽ bị loại bỏ trong trường hợp có lỗi xảy ra. Đối với những người từng làm việc với CSDL quan hệ chắc sẽ không...

Redis Spring Boot transaction
@renovate
Admin 29/11/2021 11:40
[MSDP] - Priority Queue Pattern

Trong một số trường hợp khi các request đến server, chúng ta có thể muốn đưa các request vào hàng đợi và xử lý chúng theo trình tự hoặc theo thứ tự có ưu tiên sau đó thông báo cho người dùng sau khi các tác vụ được hoàn thành. Để các hệ thống của chúng ta có thể được kết hợp một cách mềm dẻo linh hoạt và cung cấp trải nghiệm người dùng tốt hơn vì người dùng sẽ không bị lock lại...

Redis Spring Boot Design Pattern
@renovate
Admin 29/11/2021 11:40
[MSDP] - Timeout pattern (spring boot)

Khi làm việc với các hệ thống phân tán, hãy luôn nhớ một điều rằng chúng ta có thể gặp phải các vấn đề về độ trễ mạng, dịch vụ từ xa không khả dụng hay đang chạy chậm,...những sự cố này có thể ảnh hưởng đến hiệu suất tổng thể của hệ thống. Nếu một hệ thống có khả năng phục hồi sau những sự cố như vậy sẽ tránh được sự cố domino (sụp đổ xếp tầng liên tiếp,...

Spring Boot Design Pattern microservices
ProTip! The feed shows you events from people you follow and repositories you watch.
Subscribe to your news feed