การใช้งานคำสั่ง git init

25 Jun 2022,
Share: 
Cover image

สวัสดีครับ บทความนี้เราจะมาเรียนรู้การใช้งานคําสั่ง “git int” กันครับ

สําหรับการใช้งาน git นั้น เริ่มแรกเราจะต้องบอก git ก่อนว่าเราจะให้ git เข้าไปควบคุมที่ Folder ไหน ยกตัวอย่างเช่น เรามี Project โดย File ทั้งหมดของ Project เก็บไว้ใน Folder ชื่อว่า “my-project” เราสามารถกำหนดให้ Git เข้าไปควบคุม Folder “my-project” ของเราได้โดย เข้าไปใน folder นั้นก่อน แล้วใช้คำสั่งนี้ได้เลยครับ

$ git init

เมื่อใช้คำสั่ง “git init” แล้ว ระบบจะสร้าง Folder ที่ชื่อว่า “.git” ขึ้นมาโดยจะซ่อนไว้ครับ ใน Folder “.git” นี้ภายในจะเก็บข้อมูลทุกอย่างที่เกี่ยวของกับ Project ของเราทั้งหมด

git

ก็ประมาณนี้นะครับสําหรับการใช้งานคําสั่ง git init

แล้วเจอกันใหม่บทความหน้านะครับ ขอบคุณครับ

Suggestion blogs

ติดโฆษณาบนเว็บ เจ้าไหนดี

สวัสดีครับ บทความนี้ผมจะมาแนะนําว่าติดโฆษณาบนเว็บเพื่อสร้างรายได้จากการทําเว็บ ซึ่งก็จะมีอยู่หลายเจ้าให้เราเลือกครับ โดยในบทความนี้ผมเลือกเจ้าที่น่าสนใจดังนี้

OpenSSL คืออะไร

OpenSSL คือชุดเครื่องมือและไลบรารีเข้ารหัส (cryptography) แบบโอเพนซอร์ส ที่ถูกใช้กันอย่างแพร่หลาย ตัวอย่างการใช้งานคือสื่อสารแบบเข้ารหัสผ่าน TLS/SSL (เช่น HTTPS)จัดการกุญแจ (keys) และใบรับรองดิจิทัล (X.509 certificates)คำนวณแฮช/ลายเซ็นดิจิทัล/เข้ารหัส–ถอดรหัสข้อมูลOpenSSL มี 2 ส่วนหลักไลบรารี: libcrypto (ฟังก์ชันเข้ารหัสทั่วไป) และ libssl (โปรโตคอล TLS/SSL)เครื่องมือบรรทัดคำสั่ง: คำสั่ง openssl ที่เราพิมพ์ใช้งานในเทอร์มินัลหมายเหตุ: บน macOS ที่มากับระบบมักเป็น LibreSSL (ฟอร์คของ OpenSSL) ถ้าต้องการ OpenSSL เวอร์ชันล่าสุดนิยมติดตั้งผ่าน Homebrew แล้วเช็คด้วย openssl versionแนวคิดหลักที่ต้องรู้TLS/SSL: โปรโตคอลที่ทำให้การสื่อสารปลอดภัย (เช่น https://) โดยฝั่งเซิร์ฟเวอร์จะแสดง ใบรับรอง (certificate) ให้ไคลเอนต์ตรวจสอบความถูกต้องและความเป็นเจ้าของโดเมนX.509 Certificate: บัตรประชาชนของเว็บไซต์/บริการ ประกอบด้วย public key, ข้อมูลเจ้าของ, วันหมดอายุ, ผู้ออกใบรับรอง (CA) ฯลฯCertificate Chain: โซ่ใบรับรอง (Leaf → Intermediate → Root) ที่ใช้ยืนยันกันเป็นทอด ๆKey Pair: คู่กุญแจ private/public (เช่น RSA, ECDSA, Ed25519) — ห้ามเปิดเผย private keyFormat ทั่วไปPEM: ข้อความ base64 มีหัวท้าย -----BEGIN ...----- (เช่น .pem/.crt/.cer/.key)DER: ไบนารี (เช่น .der)PKCS#12: แพ็กไฟล์รวมกุญแจกับใบรับรอง (เช่น .p12/.pfx) สำหรับนำเข้าใน Windows/IIS เป็นต้นCSR (Certificate Signing Request): คำขอออกใบรับรองที่ส่งให้ CAอัลกอริทึม/มาตรฐานสำคัญที่ OpenSSL รองรับกุญแจ: RSA, ECDSA (เช่น secp256r1/prime256v1), Ed25519แฮช: SHA-256/384/512, SHA-3เข้ารหัสสมมาตร: AES-GCM/CTR/CBC, ChaCha20-Poly1305KDF/Password: PBKDF2, HKDF (และอื่น ๆ)โครงสร้าง/โปรโตคอล: X.509, PKCS#7/CMS, PKCS#12, S/MIMETLS เวอร์ชันใหม่ ๆ (เช่น TLS 1.2/1.3) ผ่าน libsslใน OpenSSL 3.x มีแนวคิด Providers (default/legacy/FIPS) ที่จัดหมวดอัลกอริทึม ถ้าเจอว่าอัลกอริทึม “หาย” อาจต้องโหลด provider ที่เหมาะสมในไฟล์ openssl.cnfคำสั่งที่ใช้บ่อย (พร้อมตัวอย่าง)ตรวจสอบเวอร์ชัน/บิลด์openssl version -aสร้างกุญแจส่วนตัว (Private Key)RSA 2048 บิต (เหมาะกับเว็บทั่วไป)openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out server.keyECDSA P-256openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:prime256v1 -out ecdsa.keyEd25519openssl genpkey -algorithm ED25519 -out ed25519.keyดูรายละเอียดกุญแจ: openssl pkey -in server.key -text -nooutสร้าง CSR (ขอใบรับรอง) + ระบุ SAN (จำเป็นสำหรับเบราว์เซอร์ยุคใหม่)openssl req -new -key server.key -out server.csr \ -subj "/C=TH/ST=Bangkok/L=Bangkok/O=My Co/OU=Web/CN=example.com" \ -addext "subjectAltName=DNS:example.com,DNS:www.example.com"SAN สำคัญมาก: เบราว์เซอร์สมัยนี้จะไม่ดู CN แล้ว ควรใส่โดเมนใน subjectAltNameออกใบรับรองแบบ self-signed (ใช้ทดสอบ/ภายใน)openssl req -x509 -newkey rsa:2048 -days 365 -nodes \ -keyout dev.key -out dev.crt \ -subj "/C=TH/O=Dev Local/CN=localhost" \ -addext "subjectAltName=DNS:localhost,IP:127.0.0.1"แปลงฟอร์แมตใบรับรองDER → PEMopenssl x509 -inform der -in cert.der -out cert.pemรวมเป็นไฟล์ .pfx (มี key + cert + chain)openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt -certfile chain.pemตรวจสอบใบรับรอง/โซ่/วันหมดอายุ# อ่านรายละเอียดใบรับรอง openssl x509 -in server.crt -noout -text # วันเริ่ม-หมดอายุ openssl x509 -in server.crt -noout -dates # ตรวจสอบกับ CA/Chain openssl verify -CAfile chain.pem server.crtทดสอบ TLS ของเซิร์ฟเวอร์ปลายทางopenssl s_client -connect example.com:443 -servername example.com -showcerts # ออกด้วย Ctrl+C หรือ echo | openssl s_client ...จะเห็นโซ่ใบรับรอง, ALPN, Cipher, เวอร์ชัน TLS ฯลฯแฮชไฟล์/ตรวจลายนิ้วมือ# แฮชไฟล์ openssl dgst -sha256 somefile.bin # Fingerprint ของใบรับรอง openssl x509 -in server.crt -noout -fingerprint -sha256เข้ารหัสไฟล์แบบสมมาตร (ง่าย ๆ)openssl enc -aes-256-cbc -salt -in secret.txt -out secret.enc # ถอดรหัส openssl enc -d -aes-256-cbc -in secret.enc -out secret.txtสุ่มไบต์สำหรับรหัสผ่าน/โทเคนopenssl rand -hex 32 # สุ่ม 32 ไบต์ (แสดงเป็น hex)พารามิเตอร์ DH (ยุคใหม่ไม่ค่อยต้อง แต่ยังเจอในบางบริการ)openssl dhparam -out dhparam.pem 2048เวิร์กโฟลว์ยอดนิยมในการทำเว็บ HTTPSสร้าง private keyสร้าง CSR (ใส่ SAN)ส่งให้ CA (หรือใช้ ACME/Certbot)ได้ server.crt + chain.pem กลับมา → 5) ตั้งค่าที่เว็บเซิร์ฟเวอร์ (Nginx/Apache/Caddy ฯลฯ)ใน Nginx มักตั้ง ssl_certificate (รวม leaf+chain) และ ssl_certificate_key (private key)เคล็ดลับและข้อควรระวังห้ามแชร์/คอมมิต *.key ขึ้น Git เด็ดขาด ตั้ง permission ให้เฉพาะ root/service อ่านได้ (chmod 600)ถ้าไม่อยากให้ถามพาสเวิร์ดตอน start service อาจสร้างคีย์แบบไม่เข้ารหัสด้วย -nodes (สะดวกแต่เสี่ยงกว่า)เลือกกุญแจ RSA 2048 เป็นฐาน ถ้าต้องการประสิทธิภาพและไฟล์เล็กลงเลือก ECDSA (P-256)(รองรับดีในเบราว์เซอร์สมัยใหม่) ส่วน Ed25519 กำลังนิยมมากสำหรับ SSH/เซ็นข้อมูล และเริ่มรองรับใน TLS/ใบรับรองหลายที่แล้วใบรับรอง ต้องมี SAN เสมอ ไม่งั้นเบราว์เซอร์จะฟ้องไม่ปลอดภัยแยกไฟล์: server.crt (leaf), chain.pem (intermediate), server.key (private) ชัดเจนบน macOS ถ้าเจอความต่างพฤติกรรม ให้ตรวจว่าใช้ OpenSSL หรือ LibreSSL (openssl version)สรุปสั้น ๆOpenSSL ใช้สำหรับงานเข้ารหัส + TLS + ใบรับรองใช้สร้าง/ดู/แปลงคีย์–ใบรับรอง, ทดสอบ TLS ปลายทาง, ทำแฮช/เข้ารหัสไฟล์ ฯลฯเวิร์กโฟลว์เว็บ: สร้าง key → CSR (+SAN) → ส่ง CA → ติดตั้งใบรับรอง + chain → ทดสอบด้วย s_client

เริ่มต้นใช้งาน NodeMcu ESP8266 ด้วย Arduino IDE

ในบทความที่แล้วเราได้ทําความรู้จักกับ ESP8266 กันแล้ว ในบทความนี้เราจะมาพูดถึงวิธีการใช้งาน ESP8266 ด้วย Arduino IDE โดยจะใช้ ภาษา c/c++ ในการเขียนโปรแกรม


Copyright © 2019 - 2025 thiti.dev |  v1.59.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ