Chủ Nhật, 25 tháng 10, 2020

 Yêu Cầu:

  • Đã cài đặt môi trường Python và hoạt động tốt
  • Đã có tài khoản gmail cá nhân ( cho phép ứng dụng không tin tưởng)

Ý Tưởng: Việc tự động gửi email bằng code thông qua gmail sẽ giúp hỗ trợ nhiều việc như report, thông báo tự động khi có sự cố....

Gửi email với gmail và python

Thực Hiện:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

#---------------------VIẾT HÀM SEND_MAIL-------------------#
def Send_Mail(sender_email,password_sender,subject_email,text_email,rec_email):
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = rec_email
msg['Subject'] = subject_email
msg.attach(MIMEText(text_email, 'plain'))
text=msg.as_string()

server = smtplib.SMTP('smtp.gmail.com',587)
server.starttls()
server.login(sender_email,password_sender)
server.sendmail(sender_email, rec_email, text)
server.quit()
#------------------KẾT THÚC HÀM SEND_MAIL-------------#

#tùy vào dữ kiện ta muốn gửi sẽ sinh ra content cho email
content = "Nguyễn Hoàng Sang"

#gọi hàm Send_Email và truyền các tham số vào --> Send Mail
Send_Mail("[nhập gmail từ người gửi]","[nhập password gmail từ người gửi]","THIS IS EMAIL TO CHECK SEND BY PYTHON",content,"[nhập email sẽ nhận]")

================================================================================== 


Chủ Nhật, 18 tháng 10, 2020

Yêu Cầu:

  • Đã được cài đặt và thực hiện được file python trước đó
  • Sử dụng Project củ với "Game Mini Random" >>>tại đây<<<

Ý Tưởng:

     Do Python là ngôn ngữ thông dịch (interpretation) nên việc muốn chạy một file python ta cần phải thiết lập môi trường và những cấu hình khá rắc rối, việc convert được một file từ python sang exe sẽ là đều thuận lợi, exe có thể chạy độc lập trên hệ đều hành windows..

Thực Hiện:

A. Cài Đặt PyInstaller

     Ta sử dụng Command Prompt (nên chạy với quyền Administrator) và thực hiện với cú pháp

pip install pyinstaller

     và đợi cho việc download cũng như cài đặt thành công.

Series Python for Live - 03 - Convert py to exe run alone with PyInstaller
Cài đặt PyInstaller bằng Command Prompt trong Windows


B. Thực Hiện Convert File Py Thành EXE

     Đầu tiên ta phải di chuyển đến thư mục đang được chứa project python với:

cd "Đường Dẫn"

     Tiếp theo sử dụng cú pháp như sau:

pyinstaller -F --hidden-import "babel.numbers" XXX.py

     với XXX là tên chương trình python vd: game.py

Series Python for Live - 03 - Convert py to exe run alone with PyInstaller
Thực hiện covert file python thành exe

     Sau quá trình convert ta thấy được dòng Completed Successfully là ta đã hoàn thành

C. Kết Quả

     Việc còn lại chúng ta sẽ truy cập vào thư mục Dist trong Project Python ban đầu và ta sẽ thấy file exe

Series Python for Live - 03 - Convert py to exe run alone with PyInstaller
Convert hoàn thành file python thành exe


==================================================================================


Thứ Tư, 14 tháng 10, 2020

Giới Thiệu:

giới thiệu ngắn gọn về FTP, lợi ích

Yêu Cầu:

Diagram:

Thực Hiện:

A. CÀI ĐẶT FTP SERVER VÀ CẤU HÌNH BAN ĐẦU

1. Cài Đặt FTP Server

cài đặt về các roles, feature...

tạo 1 group bên AD để sử dụng

tạo dns trên DC để truy cập

2. Cấu Hình FTP Server Sau Khi Cài Đặt - Đổi Port Mặc Định

vào iis tạo FTP, với tài khoản ở bước trên với quyền R,W, port thay đổi so với mặc định

cấu hình isolate: chọn dòng Username directory để cho việc..nếu tài khoản cùng với thư mục vật lý thì sẽ chuyển vào và có quyền thực hiện trên thư mục đó... ngược lại những tài khoảng không có cùng tên thư mục thì sẽ thấy được tất cả thư mục nhưng chỉ thao tác được trên thư mục mình được quyền

3. Mở Port Cho Firewall Trên Windows

truy cập vào windows firewall; tạo inbound và outbound allow cho port mà ta đã cấu hình ở trên

B. CẤU HÌNH TRONG LÚC SỬ DỤNG

1. Cấp Tài Khoản Cho Người Sử Dụng

User phải có tài khoản trong AD

Tài khoản phải thuộc cái group đã tạo trong AD ở bước A.1 (FTPGroup)

Tạo 1 folder trong FTProot->localusers->folder cùng tên alias tài khoản 

Phải xác định được User có quyền và hoạt động Folder thế nào.. mà phân quyền

2. Tạo Folder Và Phân Quyền Theo Quyền Hạn Của Tài Khoản

phân quyền security cho folder đó được sử dụng bởi ai và thế nào
lưu ý: quyền wirte tức là được ghi.. được xóa..nhưng chỉ xóa nhưng cái do chính bản thân tạo ra...
còn thêm quyền modify sẽ xóa luôn được những folder file cùng cấp do người khác tạo

C. NAT PORT TRÊN FIREWALL ĐỂ SỬ DỤNG TỪ BÊN NGOÀI

Cấu Hình Trên Thiết Bị Firewall: NAT port bình thường với port là FTP đã được đổi


Chủ Nhật, 11 tháng 10, 2020

 Mục Đích: 

  • Hiểu và luyện tập về vòng lặp for trong Python
  • Hàm random trong Python

Ý Tưởng:
     Thực hiện một game mini nhỏ với yêu cầu sẽ xuất ra số random từ khoảng dãy số cho trước, và tính tổng của mỗi người đạt được theo tổng lượt chơi

Minh Họa:
Series Python for Live - 02 - Game Mini Random By Python
Minh họa Game Mini Radom bằng Python đơn giản

Code Thự Hiện:
import random
import time


print("*"*20,"MINI GAME RANDOM","*"*20)
print()

songuoi = int(input("Nhập vào số người chơi:"))
soluot = int(input("Nhập vào số lượt muốn chơi:"))
print("*"*10,"Thông Tin Cấu Hình","*"*10)

tuso = int(input("Nhập vào số bắt đầu trong dãy:"))
denso = int(input("Nhập vào số kết thúc trong dãy:"))

if(tuso==denso):
print("Không Thể Bắt Đầu Và Kết Thúc Cùng Một Số")
time.sleep(5)
exit()
elif(tuso>denso):
print("Không Thể Bắt Đầu Lớn Hơn")
time.sleep(5)
print()

tong = 0
for x in range(0,songuoi):
for i in range(0,soluot):
so=random.randrange(tuso, denso, 1)
print("{0:>2}".format(so) ,end="\t")
tong += so
time.sleep(5)
print("Tổng:","{0:>3}".format(tong), "Của Người Thứ ",x+1)
tong=0
print()

input()

==================================================================================

Chủ Nhật, 4 tháng 10, 2020

Yêu Cầu:

  • Hướng dẫn và sử dùng trên hệ đều hành Windows + Web Browser Chrome
  • Cài đặt Python3 + Chương trình Code (VSCode) --- (tham khảo >>>tại đây<<<)
  • Cài đặt Selenium --- (tham khảo >>>tại đây<<<)

Ý Tưởng:
Mỗi video trên youtube sẽ có một ID riêng, với thường sẽ có url dạng như sau "https://www.youtube.com/watch?v=7VaYiHadnPc" .. bằng thủ công hoặc công cụ chúng ta hãy lấy tất cả những ID mà chúng ta muốn tăng view, sau đó chuyển chúng vào cùng 1file videolist.txt với mỗi dòng là 1 cứu pháp và ID như lúc nãy...
  • Sau khi đã có file videolist.txt chứa danh sách ID video, ta viết 1 chương trình với ngôn ngữ python với ý tưởng như sau:
  • chrome sẽ mở từng tab và chạy ID video youtube được lấy từ từng dòng trong file videolist.txt, chúng ta có thể chạy 4 hoặc 5 hay nhiều hơn số tab và sau mỗi thời gian chúng ta quy định...
  • tiếp theo sau khoản thời gian chúng ta mong muốn vd là 1 phút thì quay lại tab đầu tiên và đổi nó thành video khác.. và tiếp tục cho những tab còn lại...
Digram:


Thực Hiện:

1. Mở File VideoList.txt Và Lấy Thông Tin

import time
from selenium import webdriver

#txt chứa đường link video youtube
VideoFileName = "videolist.txt"
ViewCountFileName = "videolog.txt"

#selector id nút playvideo trên youtube
btnSelector = "#movie_player > div.ytp-cued-thumbnail-overlay > button"

#mở file videolist và lấy đường link từ nội dung trong file
videofile = open(VideoFileName)
listvideo = videofile.readlines()

2. Khởi Chạy Video

videoIndex = 0
tabIndex = 0
tabCount = 1
viewCount = 0

#khai báo biến số tab để sau này tiện thay đổi
NUMBER_OF_TAB = 4
NUMBER_OF_VIDEO = len(listvideo)
LOOP_TIME = 15

#khởi chạy video lên
browser = webdriver.Chrome()
browser.get(listvideo[videoIndex])

#tìm tới cái selector play video
time.sleep(5)
playbutton = browser.find_element_by_css_selector(btnSelector)

#tìm được rồi thì play cái video bằng cách click vào nó
playbutton.click()

'''
Đến đây là ta có thể chạy chương trình với lấy 1 ID đầu tiên của file và chạy thành công...
.
.
còn nhiều hơn tiếp tục thêm phần bên dưới nhé
'''

3. Tạo Vòng Lặp Và Những Cấu Hình Cân Chỉnh Cho Hoàn Chỉnh

#tạo vòng lặp đến khi nào ta tắt thì chương trình mới dừng
while True:
videoIndex = (videoIndex +1) % NUMBER_OF_VIDEO
tabIndex = (tabIndex +1) % NUMBER_OF_TAB

if(tabCount < NUMBER_OF_TAB):
tabCount+=1
browser.execute_script("window.open('"+listvideo[videoIndex].strip()+"')")
else:
browser.switch_to_window(browser.window_handles[tabIndex]) #chuyển về tab củ đã mở
time.sleep(5) # ngưng 5s rồi chạy video
browser.get(listvideo[videoIndex]) # chạy video

#ghi ra file log đã chạy được bao nhiêu vòng lặp
viewCount +=1
saveFile = open(ViewCountFileName,"w")
saveFile.write(str(viewCount))
saveFile.close()

#sau thời gian LOOP_TIME thì sẽ quay về vòng lặp
time.sleep(LOOP_TIME)

Code Hoàn Chỉnh:

import time
from selenium import webdriver

#txt chứa đường link video youtube
VideoFileName = "videolist.txt"
ViewCountFileName = "videolog.txt"

#selector id nút playvideo trên youtube
btnSelector = "#movie_player > div.ytp-cued-thumbnail-overlay > button"

#mở file videolist và lấy đường link từ nội dung trong file
videofile = open(VideoFileName)
listvideo = videofile.readlines()

videoIndex = 0
tabIndex = 0
tabCount = 1
viewCount = 0

#khai báo biến số tab để sau này tiện thay đổi
NUMBER_OF_TAB = 4
NUMBER_OF_VIDEO = len(listvideo)
LOOP_TIME = 15

#khởi chạy video lên
browser = webdriver.Chrome()
browser.get(listvideo[videoIndex])

#tìm tới cái selector play video
time.sleep(5)
playbutton = browser.find_element_by_css_selector(btnSelector)

#tìm được rồi thì play cái video bằng cách click vào nó
playbutton.click()

'''
Đến đây là ta có thể chạy chương trình với lấy 1 ID đầu tiên của file và chạy thành công...
.
.
còn nhiều hơn tiếp tục thêm phần bên dưới nhé
'''


#tạo vòng lặp đến khi nào ta tắt thì chương trình mới dừng
while True:
videoIndex = (videoIndex +1) % NUMBER_OF_VIDEO
tabIndex = (tabIndex +1) % NUMBER_OF_TAB

if(tabCount < NUMBER_OF_TAB):
tabCount+=1
browser.execute_script("window.open('"+listvideo[videoIndex].strip()+"')")
else:
browser.switch_to_window(browser.window_handles[tabIndex]) #chuyển về tab củ đã mở
time.sleep(5) # ngưng 5s rồi chạy video
browser.get(listvideo[videoIndex]) # chạy video

#ghi ra file log đã chạy được bao nhiêu vòng lặp
viewCount +=1
saveFile = open(ViewCountFileName,"w")
saveFile.write(str(viewCount))
saveFile.close()

#sau thời gian LOOP_TIME thì sẽ quay về vòng lặp
time.sleep(LOOP_TIME)



Bạn có thể download trọn bộ file code tại đây 

==================================================================================

Ý Tưởng: 

  • Tạo USB Boot có thể cài đặt được nhiều hệ điều hành khác nhau như Windows, Lunix, Unix hay thậm chí là VMware ESXi...; 
  • Miễn phí, dễ cài đặt và nhanh chống...

Chuẩn Bị: 

  • Truy cập tại  để lấy công cụ Ventoy
  • Chuẩn bị IOS của hệ điều hành ( tùy vào HDH chúng ta cần mà lên trang chủ download về)
  • USB ( càng nhiều dung lượng ta có thể chứa nhiều file ios)

Tạo USB Boot Nhiều Hệ Điều Hành Chỉ 3 Giây - How To Create USB Boot Multi OS only 3 seconds
Ventoy Boot USB với nhiều hệ điều hành

Thực Hiện:

Tạo USB Boot Nhiều Hệ Điều Hành Chỉ 3 Giây - How To Create USB Boot Multi OS only 3 seconds
Những hệ điều hành được Ventoy hỗ trợ


1. Download công cụ Ventoy

    Truy cập vào đường link  ... lựa chọn phiên bản mới nhất và hệ điều hành phù hợp (hệ điều hành ở đây là máy hiện tại chúng ta đang sử dụng)

Tạo USB Boot Nhiều Hệ Điều Hành Chỉ 3 Giây - How To Create USB Boot Multi OS only 3 seconds
Download tool tạo USB Boot nhiều hệ điều hành

2. Tạo môi trường trên USB

    Sau khi Download chương trình, ta giải nén và thực hiện chạy
"Ventoy2Disk.exe"
Chương trình xuất hiện ta chỉ cần làm theo hình - lựa chọn
Device (USB)
và nhấn
Install
(Lưu ý: những dữ liệu trong USB sẽ mất hết nhé)
Tạo USB Boot Nhiều Hệ Điều Hành Chỉ 3 Giây - How To Create USB Boot Multi OS only 3 seconds
Cài đặt môi trường trên USB Boot nhiều hệ điều hành

3. Hoàn Thành 

  • Chép file IOS HDH vào USB
  • Khởi chạy trên máy tính (Chế độ Boot từ USB)
Tạo USB Boot Nhiều Hệ Điều Hành Chỉ 3 Giây - How To Create USB Boot Multi OS only 3 seconds
USB Boot được nhiều hệ điều hành 

=========================================== Good Luck==========================================


 
background image