การสังเคราะห์ Diethyl Ether
169สวัสดีครับในบทความนี้จะมาลงลึกเรื่องการสังเคราะห์ Ether (Diethyl Ether) กัน วิธีการ ตัวเร่งปฏิกิรยา และความเสี่ยงที่จะเกิด Peroxide Acid-catalyzed dehydration ในการสังเคราะห์ Diethy Ether ด้วย Ethanol นั้น จะเป็นปฏิกิริยาที่เ...
VPS Linux เดือนละ 140 บาท ที่โคตรคุ้ม!!!
129สำหรับสายคนที่เซ็ท Linux Server แบบผมเองในอดีต โดยการตั้งคอมเล็ก ๆ ไว้เปิดเซิร์ฟเวอร์เอง ทำ Virtual Host เปิดได้หลาย ๆ เว็บ หลาย ๆ โดเมน คิดว่าที่ผมทำคือคุ้มที่สุดละ ถ้าเทียบกับ VPS เดือนละหลายร้อย ซึ่งผมไม่รู้จะสร้างรายได้จากมันให้คุ้มค่ายังไงด้ว...
Leuckart-Wallach และ Eschweiler-Clarke แตกต่างกันอย่างไร ?
112Eschweiler-Clarke Eschweiler-Clarke คือปฏิกิริยาที่เติมหมู่ methyl (-CH3) เข้าไปในพันธะของ Amine s nitrogen หรือที่เรียกว่า N-methylation โดยสามารถเปลี่ยน Primary Amine หรือ Secondary Amine ให้เป็น&n...
ทำความรู้จักกับ Functional Groups ในอินทรีย์เคมี
284สวัสดีครับในบทความนี้เราจะมาทำความรู้จัก Alcohol, Alkene, Alkyne, Ketone, Ether, Ester, Amine และ Amide ซึ่งเป็น Functional Group พื้นฐานในทางเคมีอินทรีย์ ว่าพวกนี้คืออะไร เป็นสารประกอบหน้าตาเป็นแบบไหน มาได้ยังไง และทำอะไรได้บ้าง A...
Reduction และ Oxidation แบบเข้าใจง่าย !!!
195สวัสดีครับในบทความนี้เราจะมาเรียนรู้กันเรื่องการ Reduction และการ Oxidation หรือที่เรียกรวม ๆ ว่าปฏิกิริยา Redox นั่นเอง ! ก่อนแรกเราจะมาพูดถึงความหมายหรือนิยามของ Reduction และ Oxidation กันก่อน แบบเข้าใจง่าย ๆ นิยามของ Red...
การสังเคราะห์ Tryptamine จาก Tryptophan
170สวัสดีครับวันนี้ผมจะมาเล่าเทคนิคการสังเคราะห์ ทริปตามีน (Tryptamine) ซึ่งสามารถนำไปสังเคราะห์อนุพันธ์อื่น ๆ ที่น่าสนใจมากมายเช่น harmine และ Tryptoline เป็นต้น ด้วยวิธีการ Decarboxylation หรือการทำลายพันธะ Carboxylic acid ออกจาก mol...
ทำนาย "โรคหัวใจ" ด้วยข้อมูล (2) แก้ไข Overfitting
305แก้ปัญหา Overfitting Model หาก Model ของเรามีปัญหา Overfitting ซึ่งก็คือ การที่ Model ทำประสิทธิภาพได้ไม่ดี ใน Test Set ซึ่งสำหรับ Model แล้ว ถือเป็นข้อมูลที่ไม่เคนเห็น ในบทความนี้ผมก็จะมาแนะนำการแก้ปัญหา Overfitting ของข้อมูล ที่อาจช่...
ทำนาย "โรคหัวใจ" ด้วยข้อมูล (1) การสร้าง Model
363สวัสดีครับในวันนี้ผมจะมาแนะนำ การทำนายสิ่งต่าง ๆ โดยใช้ Python ซึ่งเราจะใช้ Library หลายตัว ได้แก่ pandas สำหรับสร้าง สิ่งที่เรียกว่า DataFrame ซึ่งจะทำให้เราทำงานกับข้อมูลได้ง่ายขึ้น numpy ใช้สร้าง Numpy Array ที่ง่ายต่อการคำนวณณ และ ...
การติดตั้ง Stable Diffusion
421Stable Diffusion เป็น Opensource Text to Image AI ที่ผู้ใช้จะสามารถ ใส่ Prompt ให้ AI สร้างภาพอย่างที่เราต้องการได้ โดยในบทความนี้ผมจะพาไปดูวิธีการติดตั้ง Stable Diffusion Web UI บนเครื่อง Windows, macOS และ Debian Linux กัน ...
Next.js (3) การตั้งค่า Metadata
261สวัสดีครับในวันนี้ผมจะพามาตั้งค่า Metadata ใน Next.js กัน หลายๆ คนที่เริ่มพัฒนาเว็บด้วย Next.js ใหม่ ๆ อาจจะยังสงสัยว่า ใน Next.js เราจะสามารถตั้ง Title และ Meta เช่น Open Graph protocol (og:image และอื่น ๆ) ของเว็บไซต์แบบ Dynamics ซึ่งแตกต่า...
Next.js (2) การใช้งาน useState ร่วมกับ fetch
373ในบทความนี้ผมจะมาแนะนำ การดึงข้อมูลจาก Backend โดยใช้ Fetch ซึ่งจะมีการใช้ useState ในการติดตามสถานะ ว่าดึงข้อมูลออกมาแล้วหรือยัง เหตุผลที่ต้องใช้ useState ก็คือ ฝั่ง Client-Side นั่นหากเราดึงข้อมูล โดยไม่ติดตามสถานะ จะทำให้ React ดึงข้อมูลอยู่ตลอ...
Next.js (1) สร้าง Project และจัดการ App Router
532Next.js เป็นผลงาน Fullstack React Framework จากบริษัท Vercel ที่หลายๆ คนมองว่า นี่เป็นสิ่งที่ React.js ควรจะเป็นตั้งแต่แรก เหตุที่เรามองว่ามันเป็น Fullstack Framework ก็เพราะว่า ตัว Next.js สามารถทำการประมวลผลแบบ Server-Side Rende...
ใช้งาน SQLmap เพื่อโจมตีช่องโหว่ SQL Injection
422ในบทความนี้ผู้อ่านจะได้เรียนรู้ถึงวิธีการใช้ SQLmap ในการโจมตีเว็บเพจที่มีช่องโหว่ SQL Injection ซึ่งจะสามารถ แสดงข้อมูลทั้งหมดจากทุกตาราง (Tables) และทุกฐานข้อมูล (Databases) รวมถึงสามารถเข้าถึง OS Shell หรือ Command Prompt ได้ SQ...
การวิเคราะห์และออกแบบเชิงวัตถุ (OOAD)
2,336การวิเคราะห์และออกแบบเชิงวัตถุ Object-oriented analysis and design (OOAD) เป็นวิธีการ ออกแบบ และวิเคราะห์ การเขียนโปรแกรม ในรูปแบบหนึ่ง ซึ่งจะเกี่ยวข้องกับการเขียนโปรแกรมเชิงวัตถุ Object-oriented programming (OOP) ภาษาที่รองรับการเขียนแบบ OOP...
Angular (3) สร้างและจัดการ Router
206Routing คือการกำหนดการทำงานตามที่อยู่ใน URL เช่น /Person, /editPersons ให้แสดงหน้าและ Component ที่แตกต่างกัน ซึ่งในบทความนี้ผมจะมาแนะนำวิธีการสร้างและจัดการ Routing บน Angular Routing หลังจากที่เราสร้าง project จะเกิดไฟล์&nb...
Angular (2) สร้าง Service, ดึงข้อมูลจาก Backend
343ในบทความก่อนหน้า เราได้ทำการ สร้าง Component รวมถึง Interface แล้ว ในบทความนี้ผมจะพามาสร้าง Service สำหรับการทำงานต่าง ๆ ในกรณีนี้จะเป็นการดึงข้อมูล JSON จาก Backend API มาแสดง โดยผมจะมี Backend ที่พัฒนาโดยใช้ Express.js ไว้แล้ว <a href="https://s...
Express.js สำหรับทำ JSON API Backend
270สวัสดีครับ ในวันนี้ผมจะมาแนะนำการใช้ Express.js Framework ในการทำ JSON API Backend Server เพื่อ Serve ข้อมูลจาก MySQL กัน เรียกได้ว่า บทความนี้ครบจบตั้งแต่เชื่อมต่อฐานข้อมูล MySQL ไปจนถึงการ Routing และ Serve ข้อมูล เพื่อนๆ สามารถ...
Angular (1) สร้างและจัดการ Component
362Angular คืออะไร? Angular เป็น Frontend Framework พัฒนาโดย Angular Team จากบริษัท Google ที่ใช้ TypeScript เป็นหลัก ทำงานอยู่ใน JavaScript runtime environment อย่าง Node.js ตัว Angular...
Subnet Mask และ IP Address ฉบับเข้าใจง่าย
440IP Address คืออะไร? IP Address คือ ข้อมูลขนาด 32 bits สำหรับระบุที่อยู่ของเครือข่ายใน Internet Protocol โดย IP จะมีหลาย Class ได้แก่ Class IP Range</th...
การวิเคราะห์ Time Complexity ของ Algorithm
384Time Complexity เป็นศัพท์เฉพาะทางในทาง Programming ที่บ่งบอกถึง จำนวนเวลาที่ใช้ในการทำงาน ของ Algorithm ซึ่งการเปรียบเทียบผลลัพท์ที่ออกมาจาก การคำนวน Time Complexity จะเปรียบเทียบโดยใช้ Time Complexity Classes ดังนี้ (เร...
แก้ปัญหาจอฟ้า nvlddmkm.sys ใน Windows 10
358ปัญหาจอฟ้า Error: nvlddmkm.sys หลังติดตั้ง Nvidia Driver ใหม่ ไม่ว่าจะผ่าน Geforce Experience หรือ ติดตั้งผ่านไฟล์ที่ download โดยตรงจาก Nvidia โดยเฉพาะในเครื่อง Notebook (Laptop) เช่นในเครื่อง Acer Aspire VX 15 ที่ผมเจอ...
พัฒนาเว็บแชทด้วย Socket.io + Node.js
361สวัสดีครับ ในบทความนี้ผมจะมาแนะนำการสร้าง Web Chat Application อาศัยเครื่องมือ ได้แก่ Node.js, Express.js, Socket.io โดย Node.js จะเป็น Server-Side Processing ส่วน Express.js จะเป็นตัว Routing และ Serve หน้าเว็บ EJS Template EJS</...
Unity C# (3) สร้างและประยุกต์ใช้ Raycast
441สวัสดีครับ ในบทความนี้ผมจะพามาแนะนำให้รู้จักกับ Raycast มันคือการที่เรายิงเส้นตรงออกมาจากกล้องของ Player เพื่อให้ไปตกกระทบ Objects ต่าง ๆ ใน Scene ตัวอย่างการใช้ Raycast ที่เกมต่างๆ ใช้ได้แก่ เกมแนวยิง (Shooter) ในการยิงปืนใน...
Unity C# (2) จัดการ GameObject
351สวัสดีครับ ในบทความนี้ ผมจะพามาแนะนำให้รู้จักกับ Properties ต่าง ๆ ของ GameObject เช่น Tag และ Layer ของ GameObject และการจัดการ GameObject เช่น ให้แสดงหรือซ่อน (SetActive) เป็นต้น แสดงพิกัดของ GameObject ใน Scene ตัวอย่...
Unity C# (1) Variables และ Inspector
422สวัสดีครับ ในวันนี้ผมจะพามาแนะนำการเขียน C# เบื้องต้น เพื่อนำไปปรับใช้ในการเขียน Script ต่างๆ ให้กับเกมที่สร้างด้วย Unity Engine แนวคิดเบื้องหลังของ Game Engine Game Engine ทั้งแบบ 2D และ 3D จะมี หลักการทำงานอยู่ สองฟังก์ชั่น...
ปัญหา Connection Timeout และการ Optimization Nginx
636ในบทความนี้ผมจะมาแนะนำการ Optimization Website ที่ทำงานบน Node.js และใช้ Nginx เป็น Reverse Proxy สำหรับนักพัฒนาเว็บไซต์ที่เจอ Connection Timeout บ่อยๆ ก่อนแรกต้องไปที่ไฟล์ /etc/nginx/sites-enabled/default สมมุติว่า...
Bash (1) คำสั่งพื้นฐาน สร้าง ลบ และย้ายไฟล์
416Bash (Bourne-Again SHell) เป็นโปรแกรมชุดคำสั่ง ที่ถูกพัฒนาโดย Brian Fox ในโครงการ <a href="https://en.wikipedia.org/wiki/GNU_Project" t...
ภาษา PHP เบื้องต้น (6) Cookies และ Session
377สวัสดีครับในบทความนี้ผมจะพามารู้จักกับ Cookie และ Session บนภาษา PHP ซึ่งก่อนแรกเราจะมาพูดถึงข้อแตกต่างระหว่าง Cookie กับ Session กันก่อน จากนั้นจะมีตัวอย่างโค้ด PHP การสร้าง เรียกใช้ และทำลาย ข้อมูลใน Cookie กับ Session Cookie และ...
ภาษา PHP เบื้องต้น (5) การป้องกัน XSS
372สวัสดีครับในบทความนี้ผมจะพามารู้จักกับช่องโหว่ Cross-Site Scripting (XSS) โดยหลักๆ คือการ ที่ผู้ไม่ประสงค์ดีแทรกโค้ด Javascript เข้าไปทำงาน ในเว็บไซต์ ซึ่งเป็นการแทรก script /script หรือ body onload= และ att...
ภาษา PHP เบื้องต้น (4) การป้องกัน SQL Injection
548สวัสดีครับในบทความนี้จะเป็นการแนะนำการป้องกันเว็บไซต์ของเราจากการถูกโจมตีด้วย MySQL Injection ซึ่ง MySQL Injection คือการที่ผู้ไม่ประสงค์ดีสามารถแทรกโค้ดเข้าไปใน คำสั่ง MySQL ของเราได้ ซึ่งมีตัวอย่างดังนี้ สมมุตว่าผมต้องการทำระบบ ล๊อคอิน...
Calculus 1 การ Derivative
277ในบทความนี้จะเป็นการแนะนำวิธีการหาอนุพันธ์ (Derivative) ในแบบเข้าใจง่ายๆ โดยจะรวบรวมถึงการหา Derivative ของสมการทั่วไป สมการติด root และตรีโกนมิติ (sin cos tan) การ Derivative นั้นใน Graph function (ให้นึกถึงกราฟสองมิติที่มีแก...
Calculus 1 การ Simplify และ Limit/Function
411สวัสดีครับ ในบทความนี้จะเป็นการแนะนำบทเรียนเบื้องต้น ก่อนจะศึกษาวิชา Calculus 1 สิ่งที่ต้องรู้มีอะไรบ้าง บอกก่อนเลยว่าผมไม่ได้เรียนสายวิทย์-คณิต และบทเรียนที่ผมกำลังจะแนะนำ ผมอาจให้ได้ไม่แน่นมากเท่าไหร่ Simplifying การลดความซับซ้อน...
จัดการ Node.js Projects ด้วย pm2
1,190สวัสดีครับ ในบทความนี้ผมจะมาแนะนำเครื่องมือตัวหนึ่งที่ชื่อ PM2 ใช้สำหรับจัดการ Node.js Projects หลายๆอันของเรา ได้ง่ายๆ และสามารถเก็บ log ไปยัง file ได้ สามารถ Monitoring ทรัพยากรที่ใช้ได้ สามารถนำมาทำ Cluster Mode ได้ แถม pm2 ยังสามารถติดตั้ง&nbs...
ภาษา PHP เบื้องต้น (3) เชื่อมต่อ MySQL
393สวัสดีครับในบทความนี้ผมจะมาแนะนำเรื่องการใช้ PHP ร่วมกับ ฐานข้อมูล MySQL เช่นการ query ข้อมูลออกมาแสดง เป็นต้น ตัวอย่างในบทความนี้จะเป็นการยกตัวอย่างการแสดงข้อมูลบทความจากตารางที่ชื่อ articles มาแสดงในไฟล์ที่ชื่อ articles.php ดังนั...
ภาษา PHP เบื้องต้น (2) Form
307ในบทความนี้ ผมจะเริ่มจากการรับค่า form ของ HTML ที่เราสามารถสร้างให้รับ input จากผู้ใช้มาดำเนินการบน PHP ได้ เช่น นำไปคำนวน, สร้างระบบจัดการข้อมูล หรือ ออกแบบระบบสมาชิก เป็นต้น ซึ่งในตัวอย่างแรกจะเป็น form ที่รับ ข้อมูลการสมัครสมาชิก โดยไม่ได้จำกั...
ภาษา PHP เบื้องต้น (1) คำสั่งพื้นฐาน
357ในบทความนี้ผมจะมาแนะนำการเขียนโปรแกรมเว็บด้วยภาษา PHP หากเพื่อนๆ ที่ได้ศึกษา HTML, CSS มาบ้างแล้ว จะพบว่า HTML และ CSS เป็นเพียงแค่การจัดโครงสร้างของหน้าเว็บเท่านั้น การจะทำระบบต่างๆ จึงจะต้องใช้ภาษาที่ทำงานบนเซิร์ฟเวอร์แล้วส่งผลลัพท์เป็น HTML ให้...
Heap Tree และการจัดเรียงข้อมูลใน Heap
654Heap Tree เป็นโครงสร้างข้อมูลแบบต้นไม้ (Tree) ในบทความนี้จะเป็นการอ้างอิงเนื้อหาจากความรู้เรื่องโครงสร้างต้นไม้ (Tree) ซึ่งผมได้อธิบายเบื้องต้นไว้ในบทความ ทำความรู้จักกับโครงสร้างข้อมูลแบ...
Algorithm การจัดเรียงข้อมูลแบบ Selection Sort
745สวัสดีครับ ในบทความนี้จะเป็นการแนะนำ Algorithm การจัดเรียงข้อมูลแบบ Selection Sort มีประสิทธิภาพในการทำงานเร็วสุดที่ O(n2) เฉลี่ย O(n2) แย่สุด O(n2) ซึ่ง ในการทำงานเร็วสุด (Best Case) ก็ยังถือว่าน้อ...
ฐานข้อมูล MySQL (5) คำสั่ง JOIN
569บทความนี้เป็นการแนะนำคำสั่ง JOIN ของ MySQL ที่มีไว้สำหรับ เชื่อมต่อหลายตารางเข้าด้วยกัน เพื่อนำมาแสดงผล หรือนำมาสร้างเงื่อนไขต่างๆ โดยที่คำสั่ง JOIN จะมี อย่างน้อย 4 แบบคือ <img alt="MySQL Join" class="w-100" src="/img/Articles/MySQL/joi...
Node.js + Express + MySQL สร้างระบบเพิ่มลบแก้ไข
1,060สวัสดีครับในบทความนี้จะเป็นการแนะนำการสร้าง เว็บไซต์ที่มีระบบเพิ่ม ลบ แก้ไข ข้อมูลในฐานข้อมูล MySQL บน Node.js เป็น Project ที่ง่ายและเป็นพื้นฐานของการพัฒนาเว็บไซต์ Node.js คืออะไร? Node.js เป็น Open-Source Javascript Se...
Algorithm การจัดเรียงข้อมูลแบบ Bubble Sort
816สวัสดีครับ ในบทความนี้จะเป็นการแนะนำ Algorithm การจัดเรียงข้อมูล มีหลายวิธี เช่น Quicksort, Mergesort, Insertion Sort Bubble Sort, Bucket Sort, Radix Sort และ Heapsort ซึ่งแต่ละตัวจะมีประสิทธิภาพในการทำงานที่แตกต่างกัน ซึ่...
ฐานข้อมูล MySQL (4) บัญชีผู้ใช้ และการให้สิทธิ์
929การสร้างบัญชีผู้ใช้ (Creating MySQL User) สำหรับคนที่มีหลายๆ projects ทุก projects ควรออกแบบให้แต่ละ project เข้าถึงตารางของตนเองผ่าน user ที่แตกต่างกัน เพื่อจำกัดผู้ใช้ให้สามารถเข้าถึงและดำเนินการตารางที่ได้รับอนุญาติเท่านั้น ตัวอย่าง...
การเขียนและอ่านไฟล์ Binary บนภาษา C
696ในบทความนี้จะเป็นการเขียนและอ่านข้อมูล Binary File บนภาษา C แบบเบื้องต้น ซึ่งจากบทความที่แล้วเป็นการเขียนข้อมูลลงใน Text File ซึ่งหากเราต้องการให้ไฟล์ที่เราใช้เก็บข้อมูลอ่านยากขึ้น ควรเขียนข้อมูลลงใน Binary File ซึ่งเป็นไฟล์ประเภทที่เรียกว่า "...
การเขียนและอ่านไฟล์ Text บนภาษา C
688ในบทความนี้จะเป็นการแนะนำวิธีการเปิดอ่านและเขียนไฟล์ Text เพื่อใช้เก็บข้อมูล โดยจะเป็นการใช้งานร่วมกับโครงสร้าง Struct เพื่อจัดกลุ่มข้อมูล หากเพื่อนๆ คนไหนยังไม่ได้อ่านเรื่อง Struct สามารถไปอ่านได้ที่ <a href="https://sunny420x.com/articles/...
การติดตั้ง Homebrew บน macOS
607Homebrew คืออะไร? หากใครเป็นคนที่ใช้ Linux จะทราบว่าเวลาเราต้องการจะดาวน์โหลด Software และ Package ต่างๆ เราล้วนจะติดตั้งผ่าน Package Manager เช่นการติดตั้งผ่านคำสั่ง apt ของระบบปฏิบัติการ Ubuntu แต่เมื่อเปลี่ยนมาใช้ macOS จะพบว่าบน ma...
การล้าง ตาก และบ่ม ดอกกัญชาที่ปลูกกลางแจ้ง
4,470บทความนี้เป็นการแนะนำวิธีการล้าง ตาก และบ่มกัญชาที่ปลูกกลางแจ้ง (Outdoors) เหตุผลที่เราต้องล้างดอกกัญชาคือ หากเราเป็นผู้ที่ปลูกกัญชากลางแจ้ง สภาพแวดล้อมที่เราปลูกย่อมต้องมีฝุ่นมีแมลงอย่างหลีกเลี่ยงไม่ได้ ในบางกรณีล้างเผื่อป้องกันเชื้อราอีกด้วย&nbs...
สร้าง Windows Bootable USB บน macOS
1,137บทความนี้จะเป็นการแนะนำวิธีการสร้าง Windows USB Bootable จาก macOS กัน ซึ่งโดยปกติแล้ว Disk Utility ของ macOS จะเปลี่ยนชนิดของ Partions ให้เข้ากับ Windows ได้เพียงแค่ประเภท exFAT และ FAT32 ไม่สามารถ format เป็นประเภท NTFS ได้ ปัญหาคือใน BIOS โหมด ...
ทำความรู้จักกับโครงสร้างข้อมูลแบบต้นไม้ (Tree)
724โครงสร้างข้อมูลแบบต้นไม้ (Tree) เป็นโครงสร้างข้อมูลที่สามารถนำไปปรับใช้กับการค้นหาข้อมูลแบบ Binary Search Tree และการจัดเรียงข้อมูล (Sorting) ได้ ซึ่งเป็นแนวคิดนักวิทยาการคอมพิวเตอร์เลียนแบบมาจากต้นไม้ในชีวิตจริง โครงสร้างต้นไม้ (Tree)<...
ปรับแต่ง macOS Terminal ด้วย Figlet และ Oh My Zsh
584สำหรับใครที่เป็นสาวก macOS อาจเบื่อหน้าต่าง Ternimal เดิมๆ ที่มากับ OS ในบทความนี้จะเป็นการแนะนำวิธีการปรับแต่ง Ternimal โดยใช้ Software ที่ชื่อว่า Oh My Zsh และ Figlet ให้ Terminal ของเรามีสีสันสวยงามมากขึ้น <h2 clas...
Port Forwarding เพื่อเปิดเว็บไซต์, เซิร์ฟเวอร์เกม
594Port คืออะไร? Port เป็นช่องทางการรับส่งข้อมูลของเครือข่ายคอมพิวเตอร์ ซึ่งผู้พัฒนาโปรแกรมจะใช้ Port ที่ไม่ซ้ำกัน โปรแกรมแต่ละโปรแกรมรวมถึงเกมคอมพิวเตอร์ที่มีการรับส่งข้อมูลออกจะมีหมายเลข Port เป็นของตัวเอง โดย...
สร้าง Struct ในภาษา C สำหรับจัดกลุ่มตัวแปร
297ในบทความนี้จะเป็นการแนะนำการจัดกลุ่มตัวแปรโดยใช้ Struct ซึ่งทำให้เราสามารถเรียกใช้ตัวแปรต่างๆที่อยู่ใน Struct ได้ ทำให้เราสามารถจัดกลุ่มของตัวแปรต่างๆ ไว้เป็นกลุ่มๆ ได้ ตัวอย่างเช่น หากมีตัวแปร name อยู่ใน struct ที่ชื่อว่า <stron...
ปัจจัยที่ส่งผลต่อการปนเปื้อนเชื้อ Trichoderma
400บทความนี้เป็นการเขียนจากประสบการณ์การเพาะเลี้ยงเชื้อราเห็ดมาประมาณ 2 ปีของผม อะไรคือการปนเปื้อนในการเพาะเห็ด? ในการเพาะเห็ดทั่วไป มักพบการปนเปื้อนเชื้อราต่างๆ ในก้อนเห็ด หลังจากเก็บผลผลิตแล้ว สี่ถึ...
ฐานข้อมูล MySQL (3) แสดงข้อมูลจากหลายตาราง
448ในบทความนี้จะเป็นการแนะนำ วิธีการใช้งาน ตาราง (Tables) มากกว่าหนึ่งตาราง ในฐานข้อมูล MySQL ซึ่งตัวอย่างตารางที่ใช้ในบทความนี้ คือ ตารางที่ใช้เก็บประวัติการซื้อสินค้าของสมาชิก มีดังนี้ ตารางที่ 1 ตารางสมา...
ตัวอย่างการใช้งาน Loop ร่วมกับ Arrays
386ในการใช้งาน Loop ร่วมกับ Array คล้ายกับการที่วนซ้ำและแก้ไขข้อมูลในตัวแปร ซึ่งในบทความนี้จะยกตัวอย่างบนภาษา C 1) รับค่าและนำข้อมูลใส่ลงใน Array ในตัวอย่างโปรแกรมแรกจะเป็นการรับค่าทาง command-line โดยค่าที่ป้อนจะถูกจัดเก็บอยู่ใ...
แสดงความสัมพันธ์ของตารางด้วย Crow’s Foot Notation (1)
4,579Crow s Foot Notaion หรือที่เรียกว่า IE notation คือ รูปแบบในการนำเสนอให้เห็นถึงความสัมพันธ์ของตารางมากกว่าหนึ่งตาราง และชนิดของข้อมูลของข้อมูลที่สัมพันธ์กัน โดยใช้สัญลักษณ์เบื้องต้น ดังตัวอย่างนี้ <img...
การแปลงสูตรคณิตเป็น Postfix ผ่านแนวคิด Stack
932จากเดิมสูตร (9+3)/2-4 เครื่องหมายดำเนินการ (operators) เช่น +, -, *, / จะอยู่ในรูปของ Infix notation หมายถึง อยู่ระหว่างกลางของ ตัวถูกดำเนินการ (operands) ทั้งสองตัว Postfix Notation, Rever...
การทำอาหารเลี้ยงเชื้อรา (PDA) อย่างง่าย
1,431ใน Projects นี้จะเป็นการสาธิตวิธีการทำ จานอาหารเลี้ยงเชื้อรา (Agar plates) สูตร PDA (Potato + Dextrose + Agar) เองจากวัตถุดิบที่หาได้ง่าย ราคาถูก สำหรับเพาะเลี้ยงเชื้อรา ขยายเชื้อ ทำหัวเชื้อ ซึ่งสูตร PDA เป็นสูตรที่นิยมใช้กัน แม้จะไม่ได้ให้ผลลัพท์...
คุณภาพของกัญชา และปัจจัยที่ส่งผลต่อคุณภาพกัญชา
799กัญชา (Cannabis) เป็นพืชในกลุ่ม Cannabaceae ซึ่งมีสารประเภท alkaloid หลักๆ สองประเภท Cannabidiol (CBD) และ Tetrahydrocannabinol (THC) เรียกว่าสารกลุ่ม cannabinoid ซึ่งจับกับ cannabinoid receptors ในสมองของมนุษย์ รวมถึงยังมีสารป...
ฐานข้อมูล MySQL (2) คำสั่งเพิ่มเติม
503ในบทความนี้จะเป็นคำสั่ง MySQL เพิ่มเติม สำหรับการจัดการฐานข้อมูลที่ซับซ้อนมากยิ่งขึ้น ตัวอย่างตาราง worker worker_id username <t...
ฐานข้อมูล MySQL (1) คำสั่งพื้นฐาน
956ในบทความนี้เป็นการแนะนำให้รู้จักกับฐานข้อมูล MySQL ซึ่งเป็นฐานข้อมูลที่ใช้กับ ข้อมูลที่มีโครงสร้าง (Structured Data) หมายถึง ข้อมูลที่สามารถนำมาทำให้อยู่ในรูปแบบตารางได้ ตัวอย่างตารางที่ชื่อว่า peoples ...
JavaScript เบื้องต้น, เขียน Logic ให้กับเว็บไซต์
1,055บทความนี้จะเป็นการแนะนำวิธีการเขียน JavaScript สำหรับสร้างกลไกต่างๆ ภายในเว็บไซต์ ข้อแตกต่างระหว่าง Client-Side และ Server-Side JavaScript เป็นภาษาที่ทำงานบน Client-Side หมายถึง คำสั่งทุกคำสั่งจะถ...
การใช้ตารางกำไร และตารางสูญเสียโอกาส ในการตัดสินใจ
2,034ตารางการตัดสินใจ (Decision Table) ตารางการตัดสินใจ คือ ตารางที่แสดงผลลัพท์จากการพิจารณา ทางเลือก (แทนด้วย A) และเหตุการณ์ (แทนด้วย E) ตัวอย่างตารางที่ประกอบด้วย 5 กลยุทธ์ และ 5 เหตุการณ์ <...
ส่วนเบี่ยงเบนมาตรฐาน (S.D.) และ สัมประสิทธิ์การแปรผัน (C.V.)
29,291โจทย์ตัวอย่างที่ 1 ให้หาส่วนเบี่ยงเบนมาตรฐาน (S.D.) และ สัมประสิทธิ์การแปรผัน (C.V.) ของคะแนนจากกลุ่มนักเรียน 10 คน ดังนี้ 56, 72, 63, 40, 33, 21, 10, 80, 90, 92 ค่าเฉลี่ยเลขคณิต (Mean) เป็นหนึ่งในวิธีกา...
รายชื่อพืชและเห็ดที่ออกฤทธิ์ต่อจิตในประเทศไทย
1,280บทความนี้เป็นการรวบรวม พืชและเห็ด ที่ออกฤทธิ์ต่อจิตและประสาท ทั้งในประเทศไทย ประเทศใกล้เคียง และในทวีปเอเชียตะวันออกเฉียงได้ พร้อมชื่อวิทยาศาสตร์ และชื่อสามัญ มีจุดประสงค์ให้ผู้อ่านที่สนใจเรื่องพืชที่ส่งผลต่อจิต (Psychoactive Plan...
ภาษา C เบื้องต้น ปูพื้นฐานการเขียนโปรแกรม
1,061ในบทความนี้จะเป็นการปูพื้นฐานการเขียนโปรแกรมด้วยภาษา C มีจุดประสงค์เพื่อให้ผู้อ่านสามารถนำไปต่อยอดได้ ภาษา C เป็น low-level language คือ ภาษาระดับที่ใกล้เคียงกับภาษาเครื่อง อย่าง Assembly มากที่สุด ภาษา C จำเ...
สร้าง Web page ด้วยภาษา HTML และ CSS
1,031HTML (Hypertext Markup Language) เป็นภาษาที่ใช้เขียน Hypertext Markup คือ การสร้างโครงสร้างของข้อความ และ hypertext ซึ่งจะไม่เหมือนภาษาอื่นๆ ที่สามารถเขียน logic เข้าไปได้ เช่น Javascripts, C, C++ หรือ Python แต่ HTML เป็นเพี...
การใช้งาน Nginx สำหรับ Reverse Proxy
1,581Nginx เป็นโปรแกรมที่ออกแบบมาเพื่อสำหรับใช้เป็นเว็บเซิร์ฟเวอร์ เพื่อแสดงหน้าเว็บแบบคงที่ (serve static web content) คล้ายกับ Apache2 และยังสามารถใช้เป็น reverse proxy, load<a href="https://en.wikipedia.org/wiki/Load_...
การใช้ Proxy Chains
1,759Proxy คือ บริการที่ให้เราสามารถส่งต่อคำขอส่งข้อมูล (requests) ผ่าน Proxy Server ไปยังเซิร์ฟเวอร์อื่นๆ ได้ โดยไม่ต้องเชื่อมต่อจากเราโดยตรง ตัวอย่างเช่น การจะเชื่อมต่อ A ไปหา B ปกติจะมีลักษณะดังนี้ A - B หากผ่าน Proxy จะมีลักษณะ...
คู่มือการใช้งาน Nmap อย่างง่าย
2,229Nmap คืออะไร? Nmap (Network Mapper) เป็น Software ตรวจจับอุปกรณ์ และบริการในเครือข่าย โดยการวิเคราะห์การตอบสนองของเป้าหมายต่อ packets ที่ส่งไป โปรแกรมนี้ถูกพัฒนาโดย Gordon Lyon (หรือที่รู้จักกันในชื่อ Fyodor Vaskovich) ซึ่งสามาร...