Công nghệ phát triển hướng đến giải quyết và cải tiến cho mỗi quy trình, hoạt động của doanh nghiệp cũng như đời sống. Đối với lĩnh vực tuyển dụng, sự xuất hiện của phần mềm ATS (Applicant Tracking System) mang đến nhiều thay đổi đáng kể, cả đối với nhà tuyển dụng và ứng viên. Vậy phần mềm ATS là gì? Chúng được sử dụng ra sao? Những thắc mắc về phần mềm ATS trong tuyển dụng sẽ được TopDev giải đáp tại bài viết dưới đây. [caption id="attachment_56927" align="aligncenter" width="1200"] Hệ thống sàng lọc ứng viên ATS (Applicant Tracking System)[/caption] Applicant Tracking System là gì? Applicant Tracking System (ATS) hay còn gọi là Hệ thống quản lý hồ sơ ứng viên là phần mềm quản lý quy trình tuyển dụng từ đầu đến cuối một cách tự động hóa. ATS được thiết kế để giúp nhà tuyển dụng tiết kiệm thời gian và chi phí trong việc thu thập, sắp xếp và sàng lọc hồ sơ cá [...]
Read more →Bài viết đến từ anh Lê Văn Tám - Senior Cloud Engineer Cloud Architect team @Techcombank Như các bạn đã biết, tại Techcombank, đã có rất nhiều ứng dụng được di chuyển lên Cloud. Mỗi ứng dụng phục vụ các nhóm đối tượng mục tiêu khác nhau bao gồm nhân viên nội bộ ngân hàng (internal users) hoặc khách hàng sử dụng sản phẩm dịch vụ của Techcombank (external users). Trên AWS cloud, các nguồn lực như EC2, RDS… sẽ tính phí dựa theo thời gian hoạt động. Đối với môi trường production, các ứng dụng này sẽ chạy liên tục 24/7. Tuy nhiên, đối với môi trường non-production (dev, sit, uat, pre-prd …), tùy theo mục đích sử dụng, chúng sẽ được bật/tắt trong khoảng thời gian nhất định để giảm chi phí. Thời gian đầu, quá trình bật/tắt các ứng dụng được thực hiện thủ công. Tức là, khi đội ngũ phát triển cần kích hoạt ứng dụng, sẽ truy cập vào AWS Console để bật [...]
Read more →Hơn 12 năm vận hành và phát triển tại Việt Nam, Home Credit không ngừng ứng dụng công nghệ nhằm giúp khách hàng “Dự định trong tầm tay - Sống vui thêm mỗi ngày”. Và tối ưu hóa trải nghiệm của người dùng trên ứng dụng di động là một phần quan trọng trong việc hiện thực hóa mục tiêu thay đổi cách thế giới mua sắm. Tham gia ngay sự kiện “Tech Talk: The Evolution of Scalable Mobile Application Development at Home Credit Vietnam” để tìm hiểu về cách vận hành team và cách triển khai các công nghệ mới mà các chuyên gia công nghệ tại Home Credit đã và đang sử dụng trong việc phát triển ứng dụng di động cho hàng triệu người dùng. Thời gian: 02/12/2021 | 18:30 - 20:00 Hình thức: Sự kiện trực tuyến qua Zoom Ngôn ngữ: Tiếng Việt và tiếng Anh Đăng ký: bit.ly/HomeCreditTechTalk Nhận được gì khi tham gia sự kiện? Tham gia sự kiện “The Evolution of Scalable Mobile Application Development at Home Credit Vietnam”, [...]
Read more →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ươ [...]
Read more →Bài viết được sự cho phép của tác giả Trần Hữu Cương Sự khác nhau giữa file application với bootstrap trong Spring Phân biệt sự khác nhau giữa 2 file cấu hình là application.properties với bootstrap.properties hoặc application.yml với bootstrap.yml. Khi nào thì sử dụng file cấu hình application, khi nào thì sử dụng file cấu hình bootstrap? 1. File application.properties / application.yml dùng để làm gì? File application.properties hoặc application.yml được dùng để cấu hình application context (ngữ cảnh ứng dụng) Khi ứng dụng Spring Boot được khởi động, nó sẽ tạo một application context mà không cần phải chỉ định 1 cách rõ ràng (tự động cấu hình). Đó là nguyên nhân vì sao khi sử dụng spring boot bạn phải cấu hình rất ít. [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 Ngoài việc sử dụng file application.properties hoặc application.yml thì [...]
Read more →Bài viết được sự cho phép của tác giả Edward Thien Hoang Trong các bài viết trước chúng ta đã làm quen với Netflix Eureka, Ribbon, Zuul và Hystrix. Trong bài này hãy cùng làm quen với việc xác thực API sử dụng OAuth 2.0 Các bạn có thể tham khảo bài viết tiếng Anh tại: http://callistaenterprise.se/blogg/teknik/2015/04/27/building-microservices-part-3-secure-APIs-with-OAuth/ [irp posts="40161" name="Building Microservices Application - Phần 1: Sử dụng Netflix Eureka, Ribbon và Zuul"] [irp posts="40181" name="Building Microservices Application - Phần 2: Xử lý Chain of Failures" dùng Circuit Breaker Pattern với Netflix Hystrix"] 1. GIỚI THIỆU VỀ OAUTH VÀ SINGLE SIGN ON Các hệ thống phân tán (decentralized system) ngày càng trở lên phổ biến và xác thực là một khía cạnh quan trọng của tất cả chúng. Xác thực Single Sign On (SSO) ngày càng trở nên cần thiết hơn bao giờ hết. Ngày nay, hầu hết các trang web đều yêu cầu xác thực để truy cập tới các tính năng và nội dung của nó. Với số lượ [...]
Read more →Bài viết được sự cho phép của tác giả Edward Thien Hoang Trong bài trước, chúng ta đã làm quen với các nền tảng và công cụ để làm việc với Microservice bao gồm Spring Boot, Spring Cloud, Netflix OSS với 3 ứng viên CẦN THIẾT nhất là Netflix Eureka, Ribbon và Zuul để một hệ thống gồm nhiều Microservice có thể hoạt động trơn tru trong điều kiện “thời tiết tốt”, không có lỗi phát sinh nào. Tuy nhiên, trong thực tế thì đâu có chuyện đơn giản như vậy. Như một tính chất quan trọng nhất mà một hệ thống microservice cần phải đáp ứng đó là khả năng chịu lỗi và phản hồi với lỗi. Đặc biệt là với các lỗi ở dạng “chain of failures”. Một hệ thống microservice, bạn hãy tưởng tượng đó là các quân cờ domino được xếp cạnh nhau, giả sử có một quân tự dưng đổ sầm ra, thì các quân còn lại, liên đới với quân bị đổ sẽ bị đổ theo. [irp posts="40110" name=" [...]
Read more →Bài viết được sự cho phép của tác giả Edward Thien Hoang Đây là bài viết thứ nhất (index start từ 0 ) trong series Building Microservices Application với Spring Boot. Trong bài viết mở đầu series đã giới thiệu một cách tổng quan các “viên gạch” cần có khi xây dựng ứng dụng Microservices. Trong bài viết này, hãy bắt tay vào những viên gạch đầu tiên CẦN thiết nhất bao gồm: API Gateway, Load balancer và Service Discovery. [irp posts="40110" name="Building Microservices Application - Phần mở đầu: Bức tranh tổng thể"] [irp posts="39876" name="Các thao tác cơ bản với Database trong Microsoft SQL Server"] SPRING BOOT, SPRING CLOUD VÀ NETFLIX OSS Spring Boot là một dự án nổi bật trong hệ sinh thái Spring Framework. Nếu như trước đây, công đoạn khởi tạo một dự án Spring khá vất vả từ việc khai báo các dependency trong file pom.xml cho đến cấu hình bằng XML hoặc annotation phức tạp, thì giờ đây với Spring Boot, chúng ta có thể tạo các ứng dụng Spring một cách [...]
Read more →Bài viết được sự cho phép của tác giả Edward Thien Hoang Đây là bài viết đầu tiên trong phần Xây dựng ứng dụng với Microservices. Trong những loạt bài trước, chúng ta đã tìm hiểu qua phần lý thuyết về những “viên gạch” (building block) chủ đạo trong Microservies. Loạt bài tiếp theo sẽ hướng đến việc implement những pattern như API Gateway, Service Discovery, Circuit Breaker trong kiến trúc Microservices như thế nào. [irp posts="1436" name="Cải thiện hiệu năng cho JavaScript Web Application chỉ trong vòng vài bước đơn giản"] [irp posts="37933" name="Security Considerations khi Designing Web Applications"] Đáng lẽ mình sẽ tự tay implement và giải thích về ý nghĩa của từng phần, tuy nhiên, trong thời gian research đã tìm ra được một nguồn tài liệu viết rất chuyên nghiệp và đầy đủ. Vì vậy mình sẽ dựa trên đó để viết, nhằm mang đến cái nhìn professional và đúng đắn nhất Các bạn có thể đọc các bài viết nguyên bản tiếng Anh tại ĐÂY. Trong bài viết đầu [...]
Read more →Bài viết được sự cho phép của tác giả Kiên Nguyễn Scalable Web Application luôn là điểm quan trọng để đánh giá sự thành công của một web applications. Không còn như xưa, số lương request ít ỏi, nâng ram, nâng chip. Các ứng dụng ngày nay có thể phải giải quyết hàng tỷ (billion) request hàng ngày. Cùng tìm hiểu cách giải quyết vấn đề qua bài viết dưới đây 18 Web Developer Jobs tốt nhất từ các công ty HOT 1. Giải pháp nào để có Scalable Với các ứng dụng lớn hiện nay, có Scale được hay không trở thành một câu hỏi lớn. Do nhược điểm hiện hữu về xử lý có hạn của cấu trúc Single Server. Scalable Web Application trở thành bài toán về mặt kiến trúc Architecture. Nguồn ảnh / Source: re-cycledair.com Cần có những giải pháp cụ thể để đảm bảo performance, availability cho ứng dụng. Ngoài ra, khi ứng dụng mở rộng, việc scale là dễ dàng và hiệu quả. 2. Vertical Scaling và [...]
Read more →Tác giả: Hillary Nyakundi Người dùng cuối thường sẽ không phân biệt được những điểm giống và khác nhau của website và web application. Họ chỉ việc nhập URL và sử dụng kết quả tìm kiếm là được. Nhưng với các dev, bạn chính là người build nên các nền tảng này cho người dùng sử dụng. Do đó việc nắm bắt được sự khác nhau này chắc chắn sẽ giúp ích rất nhiều cho công việc. Web developer Jobs for you in Vietnam Web Application là gì? Web Application còn hay được gọi tắt là web app là một phần của phần mềm có thể được truy cập bởi trình duyệt. Nói cách khác, web app là website có chức năng và các yếu tố tương tác. Các web app có khả năng tùy biến cực cao và có thể thực hiện nhiều tác vụ và chức năng khác nhau. Chúng thường phức tạp hơn và khó xây dựng hơn, đồng thời chú [...]
Read more →Bài viết được sự cho phép của tác giả Kiên Nguyễn Nhắc tới thiết kế hệ thống (System Design), ngoài thiết kế hệ thống tốt, đáp ứng khả năng Scale, chuẩn business, ta cũng cần cân nhắc thêm về tính bảo mật của hệ thống (Security Considerations) Qua bài viết dưới đây, Kieblog mong muốn chia sẻ thêm chút ít kinh nghiệm thực tế khi thiết kế hệ thống Web. Một số vấn đề về Security cần quan tâm. Bắt đầu ngay thôi nào! 1. Access and Authentication Access và Authentication là 2 phần không thể bỏ qua khi nói về Security Considerations cho Designing Web Applications. Hầu hết các cuộc tấn công Web hiện nay, nguyên nhân chủ yếu không phải là các cuộc tấn công lớn hoặc sử dụng công nghệ cao. Nguyên nhân chính là do hệ thống bảo mật yếu kém. Trong đó nổi bật nhất là Authentication. Các vụ tấn công lớn đã được biết tới của Target Corp hay Yahoo đều xuất phá [...]
Read more →Tác giả: Rajat S Không quan trọng ứng dụng bạn xây dựng là gì, để nó có thể đến được tay người dùng thì nó phải đến được mắt người dùng trong các kết quả tìm kiếm trước cái đã. Đấy là lý do vì sao Search Engine Optimization (SEO) là một thứ rất quan trọng mà mỗi một lập trình viên khi xây dựng ứng dụng của mình phải chú ý đến. Trở lại năm 2017, các cuộc khảo sát đã cho thấy rằng, khoảng 27% người dùng điện thoại bỏ qua cửa hàng ứng dụng trên điện thoại của mình, mà tìm đến những công cụ tìm kiếm khác như Google hay Bing. Chỉ mở cửa hàng ứng dụng trên thiết bị của bạn lên và tìm kiếm một thứ gì đó đơn giản như máy tính bỏ túi chẳng hạn. Thứ bạn nhận được chính là một hằng hà sa số các ứng dụng có thể làm điều tương tự - tính toán. Điều [...]
Read more →JavaScript là một trong những ngôn ngữ lập trình phổ biến nhất thế giới. Được sử dụng cho web pages, software, mobile apps, ứng dụng trong console, etc. JavaScript hiện diện ở khắp mọi nơi. Tuy nhiên, có nhiều ứng dụng sử dụng JavaScript gặp vấn đề về hiệu năng. Và trong bài viết hôm nay, chúng ta sẽ nói về cách tối ưu hóa các ứng dụng JavaScript. Throttling & Debounce Khi ta thêm event listener cho những hành động của user như scrolling, chúng ta thường bỏ qua một điều là listener sẽ tự hoạt động khi event được kích hoạt. Điều này có khả năng dẫn đến hiện tượng “nghẽn cổ chai” đối với các ứng dụng của Javascript. Lấy scroll event làm ví dụ, khi chúng ta làm như sau: function scrollHandler() { return console.log('yippeeeee'); } window.addEventListener('scroll', scrollHandler()); Mỗi lần user scroll, "yippeeeee" sẽ logged vào console. Cũng không có gì đáng lo đúng không? Nhưng đối với level hoạt động cao hơn như kiểm tra element trong viewport để ta có thể tạo animate, thì [...]
Read more →