TopDev
Sort by
1 results
HIGHLIGHT COMPANY

Company information

job-imageCÔNG TY TNHH FRIENDIFY AI
Thành phố Hồ Chí Minh 25-99
6 Jobs

Related posts

Marketplace Illustration
Giới thiệu về RedisJSON - Mảnh ghép hoàn hảo cho RediSearch

Bài viết được sự cho phép của tác giả Tống Xuân Hoài Vấn đề Tôi đã có một bài viết về vấn đề blog của tôi sử dụng RediSearch làm cơ sở dữ liệu chính ở RediSearch là gì? Estacks đang sử dụng RediSearch làm cơ sở dữ liệu!, bên cạnh đó là lý do tôi dùng RediSearch vì tính năng Tìm kiếm fulltext trong RediSearch mà tôi luôn muốn tìm kiếm của blog trở nên mạnh mẽ và hữu ích hơn cho bạn đọc. Cho đến hiện tại mọi thứ vẫn đang hoạt động rất tốt, chỉ có một điều Redis không có kiểu dữ liệu JSON trong khi tôi lại muốn thao tác với dữ liệu dạng JSON một cách thân thiện nhất. Do đó trong quá trình tìm hiểu tôi phát hiện ra Redis cung cấp một module có tên là RedisJSON đã giúp tôi làm được điều đó. Nếu như bạn đang dùng Redis hay RediSearch mà muốn thao tác với dữ liệu JSON thì đây quả là [...]

Marketplace Illustration
Giới thiệu về JSON Binding trong Jakarta EE

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh JSON Binding là một specification của Jakarta EE về convert qua lại giữa JSON data và Java object, tương tự như thư viện Jackson mà mình đã giới thiệu với các bạn. Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu về JSON Binding và cách sử dụng nó với một implementation của nó là Eclipse Yasson các bạn nhé! Đầu tiên, mình sẽ tạo mới một Maven project để làm ví dụ: [irp posts="14451" name="JSON-LD là gì ? Tổng quan về JSON-LD cho người mới"] Eclipse Yasson dependency như sau: <dependency> <groupId>org.eclipse</groupId> <artifactId>yasson</artifactId> <version>3.0.2</version> </dependency> Để làm ví dụ, mình sẽ định nghĩa một class Student chứa thông tin sinh viên như sau: package com.huongdanjava.jakartaee; public record Student(String name, int age) { } Mình sẽ khởi tạo đối tượng của class Student trước: Student student = new Student("Khanh", 35); Để convert đối tượng Student này qua chuỗi JSON, các bạn cần khởi tạo đối [...]

Marketplace Illustration
0x0B và JSON parser

Bài viết được sự cho phép của tác giả Huy Trần Vào một ngày đẹp trời, một mail rì pọt từ user gửi đến, nội dung như này: Tui đang dùng app ABC của mấy người. Ở màn hình order, tui copy một đoạn text từ Powerpoint ra và dán vào mục Order Message. Xong tui bấm nút tiếp tục, thì app ngừng hoạt động, màn hình chỉ hiện lên một nửa, đây là nội dung lời nhắn: "Happy birthday, Dave! We got a gift for you! Hope you like it, Mom and Dad." Nhìn từ bên ngoài, lời nhắn kia trông không có gì khả nghi, nhưng nếu nhìn kĩ bằng cách bật chế độ hiển thị các kí tự ẩn (hidden characters) trên editor (với Emacs thì M-x whitespace-mode, với các editor khác thì các bạn tự Google đi), thì ta có thể thấy ngay một vài kí tự lạ xuất hiện: "Happy birthday, Dave!^K^K We got a gift for you!^K^K Hope you like it,^K Mom and Dad." Để chi tiết hơn, ta có thể dù [...]

Marketplace Illustration
Giới thiệu Json Web Token (JWT)

Bài viết được sự cho phép của tác giả Giang Phan Authentication là phần không thể thiếu trong bất kỳ hệ thống nào. Phương pháp authentication đơn giản và hay được sử dụng trong các ứng dụng web đó là user gửi thông tin username và password lên server. Sau khi server chứng thực thành công sẽ tạo ra một chuỗi session_id và lưu vào session hay database ở phía server. Sau đó, gửi session_id này về client và được client lưu trên cookie. Nhưng với các ứng dụng trên mobile và các ứng dụng web SPA (Single Page Application) thì cần có cơ chế authentication tốt hơn khi mà chúng ta phải thiết kế các RESTful api (stateless) thì server không thể đảm nhiệm việc lưu trạng thái phiên làm việc của user. Một trong những phương pháp tốt để giải quyết vấn đề này là sử dụng JSON Web Token (JWT). JSON Web Token (JWT) là gì? JSON Web Token (JWT) là 1 tiêu chuẩn mở (RFC 7519), định nghĩa cách thức truyền tin an toàn giữa [...]

Marketplace Illustration
Định nghĩa JSON Web Key Set cho Authorization Server sử dụng Spring Authorization Server và tập tin PKCS12 key store

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh JSON Web Key Set là một tập hợp các public key JSON Web Key được cung cấp bởi Authorization Server, để cho Resource Server có thể verify access token được gửi bởi Client Application. Trong bài viết về Hiện thực OAuth Authorization Server sử dụng Spring Authorization Server, mình đã hướng dẫn các bạn cách định nghĩa JSON Web Key này sử dụng code. Thế nhưng cho các ứng dụng chạy trên production, vì vấn đề bảo mật, thông tin JSON Web Key thường sẽ được một bên khác quản lý, có thể là IT team. Họ sẽ generate một tập tin keystore, nhiệm vụ của chúng ta là sử dụng tập tin keystore này để định nghĩa JSON Web Key Set. Trong bài viết này, mình sẽ hướng dẫn các bạn cách định nghĩa JSON Web Key Set cho Authorization Server sử dụng Spring Authorization Server và tập tin PKCS12 key store các bạn nhé! [irp posts="31494" name="Cách tạo REST API với JSON Server"] [irp posts="34092" name="Ghi chú file package. [...]

Marketplace Illustration
Chuyển đổi JSON qua CSV sử dụng thư viện Jackson

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Thư viện Jackson giúp cho chúng ta có thể chuyển đổi data dưới dạng JSON sang các định dạng data khác nhau và ngược lại. Trong bài viết này, mình hướng dẫn các bạn cách chuyển đổi data từ JSON sang CSV như thế nào các bạn nhé! [irp posts="31494" name="Cách tạo REST API với JSON Server"] [irp posts="34092" name="Ghi chú file package.json của node module"] Xem thêm các việc làm JSON hấp dẫn trên TopDev Đầu tiên, mình sẽ tạo mới một Maven project: với Jackson Dataformat CSV dependency như sau: <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-csv</artifactId> <version>2.13.0</version> </dependency> Để làm ví dụ, mình sẽ chuyển đổi chuỗi JSON sau sang tập tin CSV: { "name" : "Khanh", "code" : 99, "date" : "04-07-2017", "gotMarried": true } Để bắt đầu, mình sẽ tạo mới một Application class với main() method như sau: package com.huongdanjava.jackson; public class Application { public static void main(String[] args) { } } Đầu tiên, các bạ [...]

Marketplace Illustration
XML là gì? Tìm hiểu cú pháp và các thao tác với file XML

Trong lập trình ứng dụng web, XML được sử dụng nhiều nhất là xây dựng các API Service. Các API sẽ trả kết quả về dạng XML hoặc JSON để các hệ thống khác có thể nói nói chuyện với nhau được. Hiện nay tuy JSON được sử dụng phổ biến hơn, nhưng XML cũng vẫn đang được dùng bởi nhiều hệ thống lớn. Cùng TopDev tìm hiểu XML là gì thật chi tiết trong bài viết dưới đây! XML là gì? XML là từ viết tắt của từ Extensible Markup Language là ngôn ngữ đánh dấu mở rộng được thiết kế để lưu trữ và truyền tải dữ liệu một cách có cấu trúc. Tác dụng chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các nền tảng và các hệ thống được kết nối thông qua mạng Internet. Ngôn ngữ XML do Tổ chức World Wide Web Consortium (W3C) đề xuất, được tạo ra để hỗ trợ việc xây dựng các dịch vụ API. XML [...]

Marketplace Illustration
Ghi chú file package.json của node module

Bài viết được sự cho phép của tác giả Lưu Bình An Tạo file package.json (đồng thời khởi tạo một npm package) npm init // dùng các thiết đặt mặc định npm init --yes Các property chính cần nắm trong file package.json Tìm việc Json lương cao tại đây name: tên project "name": "my-blog-backend", version: version hiện tại của project "version": "1.0.0", main: đường dẫn trỏ đến file entry point chính của project "main": "server.js", scripts: chứa các command shortcut "scripts": { "start": "npx babel-node src/server.js", "dev": "npx babel-node src/server.js", "test": "echo \"Error: no test specified\" && exit 1", "lint": "eslint ./server" }, bugs: địa chỉ để báo bug và email nhận thông báo "bugs": { "url": "https://github.com/owner/project/issues", "email": "project@hostname.com" }, private: true nếu bạn không muốn publish, như đang làm project công ty thì không ai để false "private": true keywords: hỗ trợ các công cụ search tìm theo từ khóa "keywords": [ "node", "vue", ], dependencies: những thư viện nào đang phụ thuộc "dependencies": { "express": "^4.17.1" }, devDependencies: external dependencies trong lúc dev, không cần nếu bạn chỉ lấy production build. "devDependencies": { "@babel/cli": "^7.12.8", "@babel/core": "^7.12.9", "@babel/node": "^7.12.6", "@ [...]

Marketplace Illustration
Cách tạo REST API với JSON Server

Bài viết được sự cho phép của BBT Tạp chí Lập trình Một công việc khá phổ biến đối với front-end developer là phải giả lập một backend REST service để nhận JSON data cung cấp cho ứng dụng front-end, và đảm bảo nó hoạt động như mong đợi trong khi đang chờ phía backend hoàn thiện service. [irp posts="19157" name="3 bước tối ưu hiệu năng React App bằng các API mới của React"] [irp posts="2580" name="10+ tools và extensions tuyệt vời cho GraphQL APIs"] Bạn vẫn có thể cài đặt backend server đầy đủ, bằng cách sử dụng Node.js, Express và MongoDB, tuy nhiên việc này tốn khá nhiều thời gian và phức tạp. Trong khi đó JSON Server lại là một giải pháp khá hoàn thiện cho yêu cầu nhanh và đơn giản với đầy đủ các thao tác CRUD (Create Read Update Delete). Vì vậy bài viết này sẽ hướng dẫn bạn cách cài đặt JSON server và publish một sample REST API. Chuẩn bị Cài node cho máy tính của bạn bằng cá [...]

Marketplace Illustration
Ứng dụng JSON.parse để cải thiện tốc độ?

Với các ứng dụng web ngày nay, không khó bắt gặp việc sử dụng object như một nơi lưu trữ state và các dạng dữ liệu cần thiết khác cho ứng dụng. Cụ thể nhất chúng ta thường thấy trong store của Redux. const data = { foo: 42, bar: 1337 }; // 🐌 Trong thực tế nó sẽ không đơn giản như ví dụ ở trên, mà cấu trúc nếu không chồng chéo thì cũng rất lớn vì phải gánh vác toàn bộ state của ứng dụng. Nếu nó lại dữ liệu cần thiết trong lúc khởi tạo ứng dụng lần đầu tiên. Việc này sẽ nằm trong render critical path của trình duyệt, đồng nghĩa với việc user không thấy gì hết cho đến khi dữ liệu này được load, parse, compile, execute bởi Javascript engine bên dưới. Để khắc phục việc này một trong những cách làm là dùng server side rendering, chúng ta chỉ quăng cái HTML đã chứa toàn bộ kết quả của quá trì [...]

Marketplace Illustration
JSON-LD là gì ? Tổng quan về JSON-LD cho người mới

Bài viết được sự cho phép của tác giả Chu Xuan Thang Mở đầu Ok, trước khi bắt đầu, bạn cần có một chút kiến thức về SEO để hiểu những thứ bên dưới. Trước hết, có nhiều cách để cho Google và các search engines khác biết thông tin về trang web của bạn. Theo định kì các search engines sẽ ghé thăm trang web của bạn, nó sẽ chạy từ page này qua page khác để đọc dữ liệu, tìm hiểu xem trang web của bạn là gì, có những content gì, tiêu đề của content, nội dung của content, nếu là trang web bán hàng, nó sẽ xem sản phẩm tên gì, thuộc loại sản phẩm nào, giá bao nhiêu, sản xuất ở đâu,...v.v. Việc này có thể gây mất nhiều thời gian và có thể search engines đọc sai/không đủ thông tin về trang web của bạn, khiến search engines đánh độ ưu tiên trang web của bạn sai. Vậy thì thay vì phải mất thời gian đọc qua lần lượt từ đầ [...]

Marketplace Illustration
JSON Web Token là gì?

Token-based authentication là gì? Token-based authentication là phương thức xác thực bằng chuỗi má hóa. Một hệ thống sử dụng Token-based authentication cho phép người dùng nhập user/password để nhận về 1 chuỗi token. Chuỗi Token này được sử dụng để "xác minh" quyền truy cập vào tài nguyên mà không cần phải cung cấp lại username/password nữa. Tiếp theo, chúng ta sẽ tìm hiểu về phương pháp sử dụng Token-based authentication bằng JWT (Json Web Token). JWT - JSON Web Token là gì? JSON Web Token là một chuỗi mã hóa mà nguồn gốc ban đầu là một chuỗi JSON. Chuỗi thông tin dạng JSON bằng phương pháp mã hóa nào đó, nó trở thành 1 chuỗi ký tự lộn xộn nhìn vào sẽ rất khó hiểu. >>> Xem thêm JSON là gì? Định nghĩa theo tiêu chuẩn: JSON Web Token (JWT) là 1 tiêu chuẩn mở (RFC 7519) định nghĩa cách thức truyền tin an toàn giữa các thành viên bằng 1 đối tượng JSON. Thông tin này có thể được [...]

Marketplace Illustration
Hiểu rõ về JSON là gì? Cách lấy dữ liệu từ JSON

JSON là gì? JSON là viết tắt của JavaScript Object Notation, là một kiểu định dạng dữ liệu tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình hiện nay đều có thể đọc được. JSON là một tiêu chuẩn mở để trao đổi dữ liệu trên web. Định nghĩa Định dạng JSON sử dụng các cặp key - value để dữ liệu sử dụng. Nó hỗ trợ các cấu trúc dữ liệu như đối tượng và mảng. Ví dụ một tập tin có tên topdev_info.json với nội dung như ở dưới đây sử dụng format kiểu JSON để lưu trữ thông tin: { "name" : "TopDev", "title" : "Việc làm IT cho Top Developers", "description" : "là hệ sinh thái bao gồm cộng đồng các Top Developers." } Ta có thể thấy cú pháp của JSON có 2 phần đó là key và value: Chuỗi JSON được bao lại bởi dấu ngoặc nhọn {} Các key, valuecủa JSON bắt buộc phải đặt trong dấu nháy kép {"}, nếu bạn đặt nó trong dấu nháy đơn thì đây không phải [...]

Marketplace Illustration
AJAX là gì? Chi tiết về Asynchronous Javascript and XML

AJAX là một kỹ thuật phát triển web mạnh mẽ được sử dụng để giúp các trang web nhanh và mượt mà hơn như đang dùng app desktop. Trong bài viết này, cùng TopDev khám phá cách AJAX hoạt động, lợi ích mà nó mang lại và cách bạn có thể áp dụng nó vào các dự án web của mình. AJAX là gì? AJAX là từ viết tắt của Asynchronous Javascript and XML (JavaScript và XML không đồng bộ). AJAX là phương thức trao đổi dữ liệu với máy chủ cho phép cập nhật một hay nhiều phần của trang web, hoàn toàn không reload lại toàn bộ trang. Ajax được viết bằng Javascript chạy trên client, tức là mỗi browser sẽ chạy độc lập hoàn toàn không ảnh hưởng lẫn nhau. Về mặt kỹ thuật, nó đề cập đến việc sử dụng các đối tượng XmlHttpRequest để tương tác với một máy chủ web thông qua Javascript. XMLHttpRequest (XHR) là một API cho phép gửi các yêu cầu HTTP tới [...]

Marketplace Illustration
[Python cơ bản thường dùng trong công việc] Phần 8 : Xử lý file XML

Trong phần này, chúng ta sẽ parsing nội dung XML thành dữ liệu để xử lý. Để xử lý XML, ta sẽ sử dụng thư viện Beautifulsoup 4. Đây là một thư viện giúp việc triển khai việc parsing html, xml được nhanh chóng và tiện lợi. Tuyển dụng lập trình python lương cao 8.1. Cài đặt Beautifulsoup Bạn có thể tham khảo hướng dẫn cách cài đặt tại website http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-beautiful-soupc . Trên MacOS, có thể cài bằng pip như sau: $ sudo pip install beautifulsoup4 8.2. Cài đặt lxml parser Để parsing xml từ beautifulsoup, tao sử dụng bộ parser xml có tên là lxml . Xem hướng dẫn cài đặt tại https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser Trên MacOS, có thể cài bằng pip như sau: sudo pip install lxml 8.3. Ví dụ về parsing XML Cho ví dụ sau: from bs4 import BeautifulSoup as Soup note = ''' <?xml version="1.0" encoding="UTF-8"?> <breakfast_menu> <food> <name>Belgian Waffles</name> <price>$5.95</price> <description>Two of our famous Belgian Waff les with plenty of real maple syrup</description> <calories>650</calories> </food> < [...]