

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Maven Shade Plugin là một Maven plugin cho phép chúng ta có thể build các uber-jar. Nói nôm na thì uber-jar là những tập tin .jar ngoài chứa source code của ứng dụng thì nó còn chứa các dependencies mà ứng dụng đó đang sử dụng. Từ đó, nó giúp chúng ta có thể build các ứng dụng Java có thể chạy standalone được. [irp posts="36036" name="Tại sao lại dùng Gradle thay thế Maven và Ant"] [irp posts="38093" name="Cài Plugin cho Jenkins, Cài Maven Plugin cho Jenkins"] Lấy ví dụ như mình có một Maven project với một main class đơn giản, khi chạy sẽ hiển thị dòng chữ “Hello from Huong Dan Java” như sau: package com.huongdanjava.mavenshadeplugin; import org.apache.commons.lang3.StringUtils; public class Application { public static void main(String[] args) { System.out.println(StringUtils.capitalize("hello from Huong Dan Java")); } } Trong ví dụ này, mình có sử dụng thư viện commons-lang3 để in hoa chữ cái đầu tiên của dòng chữ này. <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> < [...]
Read more →
Bài viết được sự cho phép của blogchiasekienthuc.com Như các bạn cũng đã biết, Windows 11 Home sẽ bắt buộc người dùng phải sử dụng tài khoản Microsoft khi cài đặt (và đương nhiên cần phải có kết nối Internet nữa). [irp posts="32463" name="Biến toàn cục (global), biến cục bộ (local), biến nonlocal trong Python"] [irp posts="4039" name="Cách làm HTTPS hoạt động trên local trong 5 phút"] Theo một nguồn tin mà mình thu thập được thì cách duy nhất để tạo được tài khoản cục bộ (Local Account) trong quá trình cài đặt là bạn phải sử dụng phiên bản Windows 11 Pro. Có nghĩa là, nếu như bạn sở hữu hoặc mua máy tính được trang bị sẵn Windows 11 Pro thì bạn có thể tạo tài khoản cục bộ trực tiếp ngay từ quá trình cài đặt. Còn đối với Windows 11 Home thì chúng ta vẫn có thể tạo tài khoản Local Account, nhưng là tạo sau khi quá trình cài đặt Windows 11 hoàn tất, và xóa tà [...]
Read more →
Bài viết được sự cho phép của tác giả Trần Hữu Cương Sửa lỗi jenkins No Java executable found in current PATH Đây là lỗi khi bạn start service jenkins. Nguyên nhân là do jenkins không tìm thấy Java Path. [irp posts="38093" name="Cài Plugin cho Jenkins, Cài Maven Plugin cho Jenkins"] [irp posts="37961" name="Hướng dẫn cấu hình JDK (Java) cho Jenkins"] Có 2 nguyên nhân: Trường hợp 1: Do bạn chưa cài Java trên máy tính or chưa cấu hình environment cho Java Trường hợp 2: Đã cài Java và cấu hình environment nhưng jenkins không nhận Java PATH (thường là bị trên ubuntu do bạn cài JDK từ oracle bằng tay) Sửa lỗi jenkins No Java executable found in current PATH. Trường hợp 1: Bạn cài đặt Java và cấu hình environment bằng lệnh: sudo apt install openjdk-8-jre Hoặc tải file tar.gz rồi cài đặt bằng tay như tại đây. Trường hợp 2: Mở file cấu hình jenkins bằng lệnh sau: sudo vi /etc/init.d/jenkins Sửa dòng thêm folder bin trong thư mục java [...]
Read more →
Author: Khoa Nguyen Tại sao cần biết những thuật ngữ này Thực sự, bạn không cần biết những khái niệm như Syntax Parser, Execution Context, Lexical Environment trong JavaScript là gì vẫn được. Tuy nhiên, nếu bạn muốn hiểu rõ chính xác điều gì đang diễn ra khi code bạn chạy (đương nhiên vẫn dễ hiểu hơn mã máy nha) thì bạn cần phải giải thích được những thuật ngữ khô khan này. Ngoài ra, những thuật ngữ nền tảng này sẽ theo bạn xuyên suốt quá trình học và làm việc với Javascript sau này. Để hiểu những khái niệm khác như: hoisting trong Javascript (Creation Phase vs. Execution Phase), từ khóa this, array functions thì bạn nên hiểu Syntax Parser, Execution Context, Lexical Environment là gì trước. Tuyển dụng lập trình viên Javascript tại đây Syntax Parser là gì? Ngôn ngữ lập trình cũng có nhiều loại. Mình sẽ không phân loại ở bài viết này. Nhưng bạn sẽ thường thấy cụm [...]
Read more →