• Dale Carnegie

    Are you bored with life? Then throw yourself into some work you believe in with all your heart, live for it, die for it, and you will find happiness that you had thought could never be yours.
    Cuộc sống làm bạn buồn chán ư? Hãy lao vào công việc bạn tin tưởng bằng tất cả trái tim, sống vì nó, chết vì nó, và bạn sẽ tìm thấy thứ hạnh phúc tưởng chừng như không bao giờ đạt được.

  • Dale Carnegie

    Success is getting what you want. Happiness is wanting what you get.
    Thành công là đạt được thứ bạn muốn. Hạnh phúc là muốn thứ bạn đạt được.

  • Albert Schweitzer

    Success is not the key to happiness. Happiness is the key to success. If you love what you are doing, you will be successful.
    Thành công không phải là chìa khóa mở cánh cửa hạnh phúc. Hạnh phúc là chìa khóa dẫn tới cánh cửa thành công. Nếu bạn yêu điều bạn đang làm, bạn sẽ thành công.

  • Albert Einstein

    Strive not to be a success, but rather to be of value.
    Đừng phấn đấu để thành công mà hãy phấn đấu để mình có ích.

  • Henri Frederic Amiel

    Conquering any difficulty always gives one a secret joy, for it means pushing back a boundary-line and adding to one's liberty.
    Chinh phục bất cứ một sự khó khăn nào luôn đem lại cho người ta một niềm vui sướng thầm lặng, bởi điều đó cũng có nghĩa là đẩy lùi một đường ranh giới và tăng thêm tự do của bản thân.

Mount/Unmount EFI boot partition by Command Prompt on Windows

0 comments


 Step 1: Open Terminal (Command Prompt) as Admin by press Windows + X.


Step 2: Input command

mountvol /?

The output will have some hint at the end and in my case it was upper image.

Step 3: You can try with volumes with note *** NO MOUNT POINTS *** (you need test one by one) to find out exactly EFI volume. The command to mount volume as below:

mountvol z: \\?\Volume{07434f9f-e9d4-11e9-84c3-7085c2c582c4}\

Step 4: For access this drive, you can: open Task Manager > File > Run New Task, and browse to it.

Step 5: For unmount this drive, you can open Terminal (Admin) and run below command:

mountvol z: /d /n

 Final.


Read More »

SETUP SECTIGO POSITIVE SSL WILDCARD DV

0 comments

 


Step 1: after received email with the certificate information has been issued, you will have a zip file. Extract it, you will have files:

Chain_RootCA_Bundle.crt, ChainCA1.crt, ChainCA2.crt, RootCA.crt example_cert.pem

Step 2: upload them to server. Run below command to make certificates in one bundle file.

$ cat example_cert.pem Chain_RootCA_Bundle.crt > example.crt

                * Notes: sometime maybe have error with end of file content or line formating, you should be open example.crt to check again.

Step 3: create private key file. Copy private key content from email of SSL distributor, it begins with “-----BEGIN RSA PRIVATE KEY-----” and end with “-----END RSA PRIVATE KEY-----”. Save it to file example.key

Step 4: edit NGINX configuration file (by default it is file nginx.conf)

                ssl_certificate /root/ssl/example.crt;

                ssl_certificate_key /root/ssl/example.key;

Step 5: restart NGINX 


Read More »

Kiểm tra sự kiện tắt nóng máy tính Windows bằng Event Viewer

0 comments

Trong Windows 10/11, có 3 ID sự kiện (Event ID) để kiểm tra Windows của bạn đã shutdown hoặc restart.

  • Event ID 1074: shutdown hoặc restart bởi một ứng dụng phần mềm nào đó ví dụ như Windows Update, phần mềm diệt virus.
  • Event ID 6006: hệ thống shutdown hoặc restart bình thường.
  • Event ID 6008: cho biết Windows đã bị shutdown hoặc restart không đúng cách. Event sẽ được tạo ra sau khi khởi động mà lần shutdows hoặc restart không đúng cách trước đây. Ví dụ: khi bạn nhấn nút nguồn 5 giây để shutdown máy, khi khởi động máy event này sẽ xuất hiện.

Các bước để lọc và xem các Events này:

  1. Ấn phím Windows + R để mở hộp thoại Run. Nhập vào "eventvwr.msc" và ấn Enter để mở cửa sổ ứng dụng Event Viewer.


  2. Trong cửa sổ Event Viewer khung bên trái chọn Windows Logs => System.


  3. Ở khung bên phải, click vào "Filter Current Log".


  4. Trong hộp thoại hiện ra, nhập vào "1074, 6006, 6008" textbox ở dưới mục Includes/Excludes Event IDs. Nếu bạn chỉ muốn lọc các event shutdown hoặc restart không đúng cách thì bạn chỉ cần nhập "6008".


  5. Click OK để xem các events logs shutdown hoặc restart đã được lọc.


Read More »

Tự động đăng nhập bằng Username, Password trên Windows 10 + 11

0 comments

    Đăng nhập bằng username và mật khẩu là một cách tuyệt vời để bảo vệ máy tính của bạn khỏi những con mắt tò mò, đặc biệt nếu bạn sử dụng và kết nối với hệ thống mạng công cộng như trong công cộng như cùng chung wifi hay mạng LAN trong công ty. Tuy nhiên, nếu bạn đang sử dụng máy tính của mình ở một nơi an toàn với mạng riêng, việc đăng nhập mọi lúc có thể giúp bạn sử dụng máy tính của bạn nhanh hơn. Nếu bạn muốn Windows tự động đăng nhập và truy cập vào màn hình máy tính của mình nhanh hơn, thì hướng dẫn bên dưới sẽ giúp bạn thực hiện điều này.

Bước 1: Truy cập vào Registry

- Bấm phím "Windows + R" để mở cửa sổ Run.

- Nhập vào "regedit" và bấm Enter hoặc click nút Ok.


Bước 2: tạo các key để tự động đăng nhập

- Bạn nhập vào đường dẫn bên dưới vào vị trí trong cửa sổ Registry như ảnh bên dưới và bấm Enter để chuyển đến thư mục "Winlogon":

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon


- Tạo các key Registry: 
    + Click phải chuột vào vùng trống và chọn New -> String Value. 
    + Sau đó nhập tên vào "DefaultUserName".
    + Click double vào String Value vừa tạo và nhập vào nhập username bạn muốn tự đăng nhập.
    Thao tác tương tự ta tạo các String Value với tên "DefaultPassword" giá trị là password của username tự động đăng nhập và String Value tên "AutoAdminLogon" giá trị là 1.

    Sau khi hoàn tất khởi động lại máy để kiểm tra lại.






Read More »

Kết nối MongoDB bằng Username và Password

0 comments

 Sau khi cài đặt hoàn tất MongoDB và chạy bạn có thể kết nối với database bằng cách cài đặt MongoDB Compass

Trên MongoDB Compass bạn bấm "Connect" sẽ tự động kết nối với MongoDB. Nếu bạn muốn kết nối xử lý dữ liệu MongoDB với Username/Password bạn mở cửa sổ MONGOSH bằng cách click vào chữ "MONGOSH" ở góc dưới bên trái cửa sổ MongoDB Compass.


Bạn gõ lệnh "use admin" để chuyển qua quyền admin.

Tiếp tục gõ lệnh bên dưới để thêm user vào:

db.createUser({  user: "root",  pwd: "rootpw",  roles: [ "root" ]  })

User trên sẽ toàn quyền quản lý tất cả các database, các tuỳ chọn chi tiết các bạn xem tại link này nhe.

Sau khi tạo user kết nối xong, bạn disconnect và connect lại với username và password đã tạo. Tại cửa sổ kết nối bạn click vào "Fill in connection fields individually".

Chọn và nhập thông tin kết nối như bên dưới, bấm "Connect" sau khi hoàn tất.
Nếu kết nối thành công sẽ có màn hình tương tự bên dưới.
Chúc các bạn thành công!

Read More »

Cài đặt MongoDB bằng file .tgz và config bằng terminal

0 comments

    Hiện tại MongoDB là một CSDL No SQL miễn phí thông dụng để lưu trữ dữ liệu cho Website hoặc App. Hôm nay trong quá trình setup môi trường làm project NodeJS trên MacOS mình xin note lại các bước thực hiện việc cài đặt MongoDB thủ công bằng file .tgz và config để chạy cũng như kết nối với DB bằng MongoDB Compass.

Bước 1: Download MongoDB tại link này: MongoDB Community Download Free Try


Sau khi download hoàn tất, các bạn giải nén và vào thư mục MongoDB vừa giải nén xong.

Bước 2: Tạo thư mục chứa database. 
- Mở terminal và gõ lệnh "cd <đường dẫn thư mục vừa giải nèn>" và Enter.

- Gõ tiếp lệnh "mkdir -p data/db" và Enter. Kiễm tra lại bằng lênh "ls" để xem thư mục "data/db" đã được tạo thành công chưa.

Bước 3: Tạo file config cho MongoDB
- Gõ tiếp lệnh "nano mongod.conf" và dán nội dung bên dưới vào bằng cách ấn phím Command + V.
processManagement:
   fork: true
net:
   bindIp: localhost
   port: 27017
storage:
   dbPath: /var/lib/mongo
systemLog:
   destination: file
   path: "/var/log/mongodb/mongod.log"
   logAppend: true
storage:
   journal:
      enabled: true

- Sau khi dán vào bạn sửa lại các đường dẫn đến thư mục chứa database chổ "dbPath" và đường dẫn nơi chứa file log chổ "systemLog > path" thành nội dung phù hợp với bạn, bên dưới là ví dụ:

processManagement:

  fork: true  # fork and run in background

  timeZoneInfo: /usr/share/zoneinfo

net:

  bindIp: localhost

  port: 27017

storage:

   dbPath: /Users/dangthach/Data/Projects/mongodb/data/db

systemLog:

  destination: file

  logAppend: true

  path: "/Users/dangthach/Data/Projects/mongodb/mongod.log"

storage:

  journal:

    enabled: true

 - Chạy lệnh "./mongod --config ../mongod.conf" để kiểm tra MongoDB có chạy thành công không. Nếu thành công sẽ có màn hình như bên dưới.

- Để tắt MongoDB, tại terminal gõ lệnh "top | grep 'mongod'" để xem PID. Sau khi biết PID thì gõ tiếp lệnh "kill <PID>" để stop service MongoDB.

Bước 4: Cài đặt MongoDB Compass
- Chạy lệnh "./install_compass" và chờ cho đến khi cài đặt hoàn tất. Sau khi cài đặt xong sẽ có ứng dụng tên "MongoDB Compass".

- Bấm "Connect" để kết nối. Nếu kết nối thành công sẽ có màn hình như bên dưới.
Có lỗi hay có chỗ nào chưa rõ các bạn có thể comment ở bên dưới.

Chúc các bạn thành công!


 


Read More »

Kết nối và truy vấn dữ liệu PostgreSQL trên Windows bằng lệnh trong Command Prompt

0 comments
1. Mở Command Prompt: Vào Start và gõ "cmd" để mở
        
Mở Command Prompt

2. Dùng lệnh "cd" để chuyển đến ổ đĩa cài đặt PostgreSQL và vào folder "bin" của Postgres

3. Phải đảm bảo service PostgreSQL của bạn đang running

4. Gõ lệnh "psql.exe -U postgres" để vào PostgreSQL
5. Kết nối database bằng lệnh "\c <Tên Database>"
6. Bật "\timing" của Postgres để hiển thị dữ liệu khi truy vấn và thời gian thực hiện truy vấn
7. Thực hiện các câu truy vấn bạn muốn



Một số lệnh hữu ích:

# \l: Liệt kê danh sách các database trên serverr
# \dt: Liệt kê các tables trong database đã kết nối
# \c <Tên Database>: Thay đổi database xử lý
# \d <Tên Table>: Liệt kê các fields trong table
# select version();: Kiểm tra version của PostreSQL
# \g: Xem kết quả của lệnh trước
# \h <SQL>: Xem hướng dẫn câu SQL
# \e: Chạy truy vấn SQL từ Notepad
\?: Liệt kê tất cả các lệnh


Read More »

Patching LAPTOP DSDT/SSDTs

0 comments
The process of patching involves several steps:
- extracting native files
- disassembling the native files
- analysing and filtering the native files
- patching
- saving (compiling) and installing

Extracting native ACPI files

Extracting with Clover F4
Extracting with Clover F4 is recommended, due to ease of extraction, and due to ease of comparison between ACPI/origin and ACPI/patched (for troubleshooting).

At the main Clover bootloader screen, you can press F4 and Clover will dump the native ACPI files to EFI/Clover/ACPI/origin. You can then access them after you boot OS X to disassemble them and patch. Note that some BIOS implementations reverse the function of Fn+F4 with F4, so when in doubt, press both Fn+F4 and F4. There is no feedback during or after the dump, just a slight delay as the files are written. The delay is more noticeable if they are being written to USB, as would be the case when booting from a Clover USB.

Sometimes, Clover F4 will write duplicate SSDTs. These duplicates will cause problems during disassembly. If you run into issues (duplicate definitions) during disassembly, you will need to analyse all SSDTs to eliminate the files which are duplicate. It is easy to see which are duplicates by looking at the file sizes. Files with equal size are likely duplicates.

You can see file sizes in bytes of all SSDTs in Terminal:
ls -l SSDT*.aml

Preparing tools for disassembly

To properly disassemble your extracted files, you need the iasl compiler, which is run from Terminal.

You will need a recent build of iasl to disassemble them properly. There is an appropriate version available here: https://bitbucket.org/RehabMan/acpica/downloads. It is a good idea to copy the iasl binary to your path (eg. /usr/bin), so it is easily accessed from Terminal.

For example, if you downloaded it to ~/Downloads/iasl.zip, you can extract and copy it in Terminal:
Code (Text):

cd ~/Downloads
unzip iasl.zip
sudo cp iasl /usr/bin



Read More »

Change virtual network card for VMWare

0 comments
You now have
ethernet*.virtualDev = "e1000"

possible other settings are
ethernet*.virtualDev = "vlance" - thats the PCnet32
ethernet*.virtualDev = "vmxnet" - thats the old vmxnet-card
ethernet*.virtualDev = "vmxnet3" - thats what you want
ethernet*.virtualDev = "e1000e" - a newer version of the E1000 which uses an PCI-express slot

if you do not specify ethernet*.virtualDev you get the default "vlance"

Read More »

Mở Port cho Firewall trên Windows 10

0 comments
Đối với bất cứ máy tính nào Firewall (tường lửa) là một phần thiết yếu và rất cần thiết. Đó là lý do tại sao Windows tạo và quản lý Firewall và kích hoạt ở chế động hoạt động theo mặc định. Tuy nhiên, đôi khi một số chương trình phần mềm sẽ yêu cầu kết nối cần bỏ qua Firewall. Nếu phần mềm bạn dùng cần phải mở một Port (Cổng giao tiếp)  nào đó trên Windows 10 thì bạn hãy tham khảo hướng dẫn bên dưới.

Firewall được tạo ra để bảo vệ máy tính của bạn khỏi các mối nguy hiểm từ bên ngoài. Các mối nguy hiểm này có thể sẽ muối kết nối bên ngoài vào hoặc kết nối từ trong máy tính bạn ra ngoài bằng các Port kết nối mạng. Khi các yêu cầu kết nối được thực hiện, Firewall sẽ kiểm tra các yêu cầu này có được cho phép hay không. Nếu Firewall không biết có được phép hay không, nó sẽ hỏi bạn bằng các cửa sổ xác nhận với bạn có được phép truy cập hay không.

Mở Port Firewall cho Windows 10

Bạn có thể tự mở Port cho Firewall. Trước hết bạn phải biết bạn cần mở Port và giao thức (TCP/UDP) nào cho Firewall.

1. Bạn vào Control Panel \ System and Security \ Windows Firewall.
2. Chọn Advanced settings và chọn dòng Inbound Rules ở khung bên trái.
3. Click chuột phải vào Inbound Rules và chọn New Rule.
4. Chọn Port và click Next.
5. Chọn giao thức (TCP / UDP)Port số vào, click Next.
6. Chọn Allow the connection ở hộp thoại kế tiếp và click Next.
7. Chọn phân loại mạng đã liệt kê và click Next.
8. Đặt tên và click Finish.

Vậy là bạn đã hoàn tất việc mở Firewall Port trên Windows 10!

Bạn cũng có thể chặn Port hoặc các phần mềm tại đây.

Read More »