TopDev
Sort by
29 results
HIGHLIGHT COMPANY

COMPANY INFORMATION

job-imageCÔNG TY TNHH DETECH CÔNG NGHỆ SỐPrecision from Germany. Agility from Vietnam. Together, we deliver transformation.
Thành phố Hà Nội
job-imageMBBANKVững vàng – Tin cậy
Thành phố Hà Nội, Thành phố Hồ Chí Minh, Thành phố Cần Thơ, Thành phố Đà Nẵng Hơn 1000
job-imageMBBANKVững vàng – Tin cậy
Thành phố Hà Nội, Thành phố Hồ Chí Minh, Thành phố Cần Thơ, Thành phố Đà Nẵng Hơn 1000
job-imageMBBANKVững vàng – Tin cậy
Thành phố Hà Nội, Thành phố Hồ Chí Minh, Thành phố Cần Thơ, Thành phố Đà Nẵng Hơn 1000
job-imageMBBANKVững vàng – Tin cậy
Thành phố Hà Nội, Thành phố Hồ Chí Minh, Thành phố Cần Thơ, Thành phố Đà Nẵng Hơn 1000
job-imageCATHAY UNITED BANK - HO CHI MINH CITY BRANCHCathay empowers your future
Thành phố Hồ Chí Minh 100-499
job-imageCyberLogitec Vietnam Co., Ltd.Off-shore Development Center in Vietnam
Thành phố Hồ Chí Minh 500-999
job-imageMBBANKVững vàng – Tin cậy
Thành phố Hà Nội, Thành phố Hồ Chí Minh, Thành phố Cần Thơ, Thành phố Đà Nẵng Hơn 1000
job-imageLG CNS Việt NamLG CNS - Công ty IT số 1 Hàn Quốc
Thành phố Hà Nội, Thành phố Hải Phòng 100-499
job-imageDaouKiwoom InnovationICT and Finance Platform Leader
Thành phố Hồ Chí Minh 100-499
job-imageCÔNG TY TNHH SAMSUNG SDS VIỆT NAMRealize your vision
Thành phố Hà Nội, Tỉnh Bắc Ninh Hơn 1000
job-imageCÔNG TY TNHH AMOEBA
Thành phố Hồ Chí Minh, Thành phố Hồ Chí Minh 100-499
job-imageMirae Asset Finance Company (Vietnam)Professional - Friendly - Effective
Thành phố Hồ Chí Minh, Thành phố Hồ Chí Minh, Thành phố Hà Nội, Tỉnh Lâm Đồng, Thành phố Đà Nẵng, Thành phố Cần Thơ, Tỉnh Khánh Hòa, Tỉnh Đắk Lắk, Tỉnh Vĩnh Phúc, Tỉnh Sơn La, Thành phố Hồ Chí Minh, Tỉnh Hưng Yên, Tỉnh Bình Phước, Tỉnh Quảng Ngãi, Tỉnh Tây Ninh, Tỉnh Thừa Thiên Huế, Tỉnh Bến Tre, Tỉnh Ninh Bình, Tỉnh Đồng Tháp 5.000-9.999
job-imageVIETCAP SECURITIESVIETCAP SECURITIES JOINT STOCK COMPANY
Thành phố Hồ Chí Minh 100-499
job-imageCÔNG TY TNHH T2 SOFT
Thành phố Hà Nội, Thành phố Hà Nội

RELATED POSTS

Marketplace Illustration
Hướng dẫn xử lý database trong Spring MVC 5 với Hibernate

Bài viết được sự cho phép của tác giả Lê Hồng Kỳ Hướng dẫn xử lý database trong Spring MVC 5 với Hibernate sẽ bao gồm 4 xử lý cơ bản đó là thêm (C), lấy dữ liệu (R), cập nhật dữ liệu (U) và xóa dữ liệu (D). Trong những bài hướng dẫn trước, chúng tôi đã trình bày cách tạo một Web application với Spring MVC nhưng chưa có phần xử lý database. Và để xử lý database, chúng ta phải cần đến Hibernate. Hướng dẫn xử lý database trong Spring MVC 5 với Hibernate – Các bước thực hiện 1/ Tạo một Maven Web Application Project Các bạn có thể tạo mới một Project. Trong bài hướng dẫn này, chúng tôi sử dụng lại project của bài Hướng dẫn validation trong Spring MVC 5 2/ Mở file pom.xml và thêm dependency <!-- Spring ORM --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>5.1.0.RELEASE</version> </dependency> <!-- Hibernate Core --> <dependency> <groupId>org.hibernate</groupId& [...]

Marketplace Illustration
Type Query trong GraphQL với Spring Boot

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Trong bài viết trước, mình đã giới thiệu với các bạn về GraphQL, những vấn đề mà GraphQL đã giải quyết được cho những hạn chế của RESTful Web Service. Mình cũng đã hướng dẫn  sơ qua cho các bạn về cách hiện thực type Query của GraphQL với Spring Boot. Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết hơn về cách hiện thực type Query này sử dụng Spring Boot các bạn nhé! Đầu tiên, mình sẽ tạo một Spring Boot project với Web và GraphQL Starter để làm ví dụ: Kết quả: Như mình đã nói trong bài viết trước, để làm việc với GraphQL, chúng ta cần định nghĩa các tập tin schema .graphqls. Mặc định thì Spring Boot sẽ scan tất cả các thư mục trong classpath src/main/resources của project để đọc các tập tin schema này. Mình sẽ tạo một thư mục tên là graphql trong thư mục src/main/resources và để cá [...]

Marketplace Illustration
Giới thiệu về Spring Integration

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Mình đã giới thiệu với các bạn về MuleSoft, một low code platform giúp chúng ta hiện thực các ứng dụng Enterprise Service Bus với nhiều Enterprise Integration Pattern một cách dễ dàng. Vấn đề là MuleSoft không free mặc dù nó cũng có bản community nên chúng ta cần có những giải pháp ít tốn chi phí hơn. Một trong số những giải pháp mà mình muốn giới thiệu với các bạn trong bài viết này là Spring Integration. Cụ thể là như thế nào? Chúng ta hãy cùng nhau tìm hiểu trong bài viết này các bạn nhé! Cơ bản về Spring Integration Điều đầu tiên mà các bạn cần biết là, tương tự như MuleSoft, Spring Integration giúp chúng ta hiện thực các ứng dụng middleware, integrate các ứng dụng trong một hệ thống với nhau. Nó sử dụng messaging strategy để giữ và truyền thông tin giữa các component vớ [...]

Marketplace Illustration
Publish message vào Google Pub/Sub topic sử dụng Spring Cloud GCP

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Google Pub/Sub là một trong những cloud messaging service mà chúng ta có thể sử dụng nếu ứng dụng của các bạn có những tính năng cần sử dụng messaging technology. Trong bài viết này, mình sẽ hướng dẫn các bạn cách publish một message vào Google Pub/Sub topic sử dụng Spring Cloud GCP các bạn nhé! Đầu tiên, mình sẽ tạo mới một Spring Boot project với GCP Messaging dependency: để làm ví dụ. Kết quả:   Mình sẽ implement interface CommandLineRunner cho class SpringGcpPubsubPublishApplication để chạy ứng dụng Spring Boot này ở chế độ console. Các bạn có thể tham khảo thêm bài viết này các bạn nhé! package com.huongdanjava.springgcppubsub.publish; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringGcpPubsubPublishApplication implements CommandLineRunner { public static void main(String[] args) { SpringApplication.run(SpringGcpPubsubPublishApplication.class, args); } @Override public void run(String... args) throws Exception { // TODO Auto-generated method stub } } Để làm ví dụ, mình cũng sẽ tạo mới một topic trên Google Pub/Sub với thô [...]

Marketplace Illustration
Cấu hình Spring Data JPA với @EnableJpaRepositories annotation

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Trong bài viết Tổng quan về Spring Data JPA, mình đã giới thiệu với các bạn Spring Data JPA và cách cấu hình nó sử dụng tập tin XML. Có một cách khác để cấu hình Spring Data JPA đó là sử dụng các annotation mà nó hỗ trợ như @EnableJpaRepositories annotation. Cụ thể như thế nào? Chúng ta hãy cùng nhau tìm hiểu trong bài viết này các bạn nhé! Đầu tiên, mình sẽ tạo mới một Maven project để làm ví dụ: Chúng ta sẽ sử dụng Java 11 cho project này: <properties> <maven.compiler.target>11</maven.compiler.target> <maven.compiler.source>11</maven.compiler.source> </properties> Spring Data JPA và Hibernate implementation dependencies như sau: <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> <version>2.6.2</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.6.5.Final</version> </dependency> Mình sẽ sử dụng MySQL database để làm [...]

Marketplace Illustration
Code ví dụ Spring Cloud Config Client

Bài viết được sự cho phép của tác giả Trần Hữu Cương Code ví dụ Spring Cloud Config Client Trong ví dụ này chúng ta sẽ thực hiện load cấu hình để sử dụng cho project từ 1 server khác (Spring Cloud Config) Việc load cấu hình từ 1 server khác thường áp dụng cho các project có nhiều instance trên nhiều server, mỗi lần đổi cấu hình ta chỉ cần đổi cấu hình trên server config là được chứ không cần phải sửa cho từng server một. (Xem lại: Code ví dụ Spring Cloud Config Server) [irp posts="37186" name="Xác thực trong Spring Cloud Config (Spring Cloud Config Authenticate)"] [irp posts="44900" name="Authentication trong Spring Security"] Xem thêm các việc làm Spring hấp dẫn trên TopDev Code ví dụ Spring Cloud Config Client Tạo project Spring Boot: File > New > Module    Cấu trúc project sau khi hoàn thành: File Application: (giống hệt các project spring boot thông thường) package stackjava.com.scconfigclient; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringCloudConfigClientApplication { public static void main(String[] args) { SpringApplication.run(SpringCloudConfigClientApplication.class, args); } } File bootstrap.yml: [...]

Marketplace Illustration
Code ví dụ Spring Cloud Config Server

Bài viết được sự cho phép của tác giả Trần Hữu Cương Code ví dụ Spring Cloud Config Server Trong bài này mình sẽ làm ví dụ về Spring Cloud Config Server load data cấu hình từ github hoặc từ các folder ở local. [irp posts="44900" name="Authentication trong Spring Security"] [irp posts="44759" name="Bean, ApplicationContext, Spring Bean Life Cycle và Component scan"] Xem thêm các việc làm Spring lương cao trên TopDev Code ví dụ Spring Cloud Config Server Tạo project Spring Boot: File > New > Module    Đây là cấu trúc project sau khi hoàn thành. File Application: chúng ta thêm annotation @EnableConfigServer để nó hiểu đây là một Config Server package stackjava.com.scconfigserver; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.config.server.EnableConfigServer; @EnableConfigServer @SpringBootApplication public class SpringCloudConfigServerApplication { public static void main(String[] args) { SpringApplication.run(SpringCloudConfigServerApplication.class, args); } } File cấu hình: server: port: 8888 spring: cloud: config: server: git: uri: https://github.com/stackjava/spring-cloud-config-server-repo.git search-paths: demo # username: # password: # uri: C:/Users/stackjava/Desktop/spring-cloud-config-server-repo Trong ví dụ này chạy server trên port 8888 và lưu cấu hình ở github với uri như trên. Mặc định thì các file cấu hình lưu ở root folder, tuy [...]

Marketplace Illustration
Generate API contract sử dụng Spring MVC-RAML Plugin

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Sau khi định nghĩa API specs với RAML, chúng ta sẽ tiến hành implement API specs này. Nếu ứng dụng của các bạn đang sử dụng Spring framework thì các bạn có thể sử dụng Spring MVC-RAML Plugin để generate API contract với Spring framework và chỉ cần thêm code implementation. Cụ thể như thế nào? Chúng ta hãy cùng nhau tìm hiểu trong bài viết này các bạn nhé! [irp posts="44900" name="Authentication trong Spring Security"] [irp posts="44759" name="Bean, ApplicationContext, Spring Bean Life Cycle và Component scan"] Xem thêm tuyển dụng Spring hấp dẫn trên TopDev Đầu tiên, mình sẽ tạo mới một Spring Boot project với Web dependency như sau: Kết quả:   Để làm ví dụ, mình sẽ sử dụng API specs được định nghĩa với RAML trong bài viết về API fragments với RAML. Các bạn có thể lấy nội dung của API specs này ở đây, copy tất cả các tập tin, folder vào thư muc src/main/resources/api của project của chúng ta: & [...]

Marketplace Illustration
Lưu RegisteredClient vào database trong Spring Authorization Server

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Trong bài viết trước, mình đã hướng dẫn các bạn cách hiện thực một Authorization Server sử dụng Spring Authorization Server, nhưng thông tin về RegisteredClient trong bài viết này được lưu trong memory. Để lưu thông tin RegisteredClient vào database thì chúng ta sẽ làm như thế nào? Trong bài viết này, mình sẽ hướng dẫn các bạn làm điều này các bạn nhé! [irp posts="44759" name="Bean, ApplicationContext, Spring Bean Life Cycle và Component scan"] [irp posts="44900" name="Authentication trong Spring Security"] Xem thêm các chương trình tuyển dụng Spring lương cao trên TopDev Đầu tiên, mình cũng tạo mới một Spring Boot project với Web Starter, Security Starter, Data JPA, PostgreSQL Driver: và Spring Authorization Server: <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-oauth2-authorization-server</artifactId> <version>0.2.0</version> </dependency> để làm ví dụ. Kết quả: Mình sẽ cấu hình Spring Security như trong bài viết Hiện thực OAuth Authorization Server sử dụng [...]

Marketplace Illustration
Sử dụng Flyway trong Spring Boot

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Mình đã giới thiệu với các bạn về Flyway để hiện thực database migration. Đối với các ứng dụng Spring Boot muốn sử dụng Flyway thì việc integrate này rất dễ dàng vì Spring Boot đã hỗ trợ. Cụ thể như thế nào? Chúng ta hãy cùng nhau tìm hiểu trong bài viết này các bạn nhé! [irp posts="6487" name="Cách làm một ứng dụng Chat cho Android & iOS bằng Contus Fly như thế nào?"] Xem thêm việc làm Spring Boot lương cao trên TopDev Đầu tiên, mình sẽ tạo mới một Spring Boot project với Flyway, Spring Data JDBC và PostgreSQL dependencies như sau: Kết quả: Nếu kiểm tra thư mục src/main/resources trong project vừa tạo, các bạn sẽ thấy có một thư mục là db/migration. Đây chính là thư mục mặc định mà chúng ta sẽ chứa các tập tin SQL để Spring Boot với Flyway làm database migration đó các bạn! Bây giờ, để làm ví dụ, mình sẽ tạ [...]

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
Token revocation với Spring Authorization Server

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Để revoke một access token đang còn valid, không cho Client Application sử dụng access token đó nữa, chúng ta sẽ sử dụng token revocation endpoint. Với Authorization Server được xây dựng sử dụng Spring Authorization Server, các bạn có thể sử dụng POST request sau để revoke một access token: http://localhost:8080/oauth2/revoke. [irp posts="44759" name="Bean, ApplicationContext, Spring Bean Life Cycle và Component scan"] [irp posts="38148" name="Bảo mật ứng dụng Java web bởi Spring Security"] Xem thêm các chương trình tuyển dụng Spring hấp dẫn trên TopDev Ví dụ bây giờ mình có một RegisteredClient như sau: // @formatter:off RegisteredClient registeredClient1 = RegisteredClient.withId(UUID.randomUUID().toString()) .clientId("huongdanjava1") .clientSecret("{noop}123") .clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_POST) .authorizationGrantType(AuthorizationGrantType.CLIENT_CREDENTIALS) .tokenSettings(tokenSettings()) .scope("accees-hello") .build(); // @formatter:on Lấy access token của client này, rồi gọi tới token introspection request, các bạn sẽ thấy kết quả như sau: Bây giờ, nếu mình gọi tới request token revocation với 3 tham số trong phần body của request là token cần revoke, client_id và client_secret của access token này, các [...]

Marketplace Illustration
Hiện thực OAuth Resource Server sử dụng Spring Security OAuth2 Resource Server

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Resource Server trong OAuth2 được sử dụng để protect việc truy cập đến các resources, APIs. Nó sẽ validate access token được truyền bởi Client Application, với Authorization Server để quyết định xem liệu Client Application có quyền access tới các resources, APIs mà nó muốn hay không? Trong bài viết này, mình hướng dẫn các bạn cách hiện thực OAuth Resource Server sử dụng Spring Security OAuth2 Resource Server các bạn nhé! [irp posts="41385" name="Authorization Code grant type với Proof Key for Code Exchange (PKCE) trong OAuth 2.1"] [irp posts="40402" name="Giới thiệu về OAuth"] Xem thêm các chương trình tuyển dụng Spring trên TopDev Đầu tiên, mình sẽ tạo mới một Spring Boot project với Spring Web, Spring Security OAuth2 Resource Server để làm ví dụ: Kết quả: Đầu tiên, mình sẽ tạo mới một RESTful API đóng vai trò là resource mà chúng ta cần resource server protect. Nội dung của API này đơn giản như sau: package com.huongdanjava.springsecurity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation. [...]

Marketplace Illustration
Authentication trong Spring Security

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Trong bài viết Tổng quan về quy trình xử lý request trong Spring Security, mình đã giới thiệu sơ qua với các bạn về các thành phần chính trong một flow cho phần authentication của Spring Security framework. Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết hơn về cách Spring Security handle phần authentication như thế nào các bạn nhé! [irp posts="44759" name="Bean, ApplicationContext, Spring Bean Life Cycle và Component scan"] [irp posts="4199" name="API Authentication trong Laravel-Vue SPA sử dụng Jwt-auth"] Xem thêm các chương trình tuyển dụng Spring trên TopDev Đầu tiên, mình sẽ tạo mới một Spring Boot project với Spring Security Starter and Spring Web Starter để làm ví dụ. Kết quả như sau: Như mình đã nói trong bài viết Tổng quan về quy trình xử lý request trong Spring Security, class AuthenticationManager sẽ là class đảm nhận việc authentication trong Spring Security: Request sau khi đi qua AuthenticationFilter, thông tin đăng nhập của user sẽ được convert sang đối tượng Authentication với implementation là class [...]

Marketplace Illustration
Bean, ApplicationContext, Spring Bean Life Cycle và Component scan

Bài viết được sự cho phép của tác giả Lê Chí Dũng 1. Bean là gì? Trong documentation của Spring framework, thì bean được định nghĩa như sau: In Spring, the objects that form the backbone of your application and that are managed by the Spring IoC container are called beans. A bean is an object that is instantiated, assembled, and otherwise managed by a Spring IoC container. Nói một cách đơn giản, bean là những module chính của chương trình, được tạo ra và quản lý bởi Spring IoC container. Các bean có thể phụ thuộc lẫn nhau, như ví dụ về Car, Engine và ChinaEngine từ đầu series tới giờ. Sự phụ thuộc này được mô tả cho IoC biết nhờ cơ chế Dependency injection. Lúc này chỉ cần biết đơn giản nhất là dùng @Component lên class là class đó là một bean. [irp posts="38148" name="Bảo mật ứng dụng Java web bởi Spring Security"] [irp posts="36724" name="Cách sử dụng properties trong tập tin cấu hình của Spring"] Xem thêm nhiều việc làm Spring lương cao trên TopDev 2. ApplicationContext là gì? ApplicationContext là khái niệm Spring Boot dùng để chỉ Spring IoC container, tươ [...]