บทความ

Convert Data from DBMS to XML Format

รูปภาพ
Language : Python 3.4 Database : mariadb-10.2.8-Window Database ที่นำมาทดลองคือ Database ของร้านอาหาร โดยมี ER Diagramดังนี้ รูป ER Diagram Module : mysql-connector-python-rf - Standardized database driver for Python platforms and development. - เป็น module ที่ใช้เชื่อมต่อระหว่าง DBMS กับ Python Code Connect to MariaDB Result Database to XML error ที่พบ Code : Query Result : XML Result : แสดงอาหารที่แพงที่สุด 5 อันดับแรก cursor.execute("SELECT Food_ID,FoodName,Price,Type FROM food ORDER BY cast(Price as unsigned) DESC  LIMIT 5") Result Query and XML แสดงอาหารที่ราคาถูกที่สุด 5 อันดับแรก cursor.execute("SELECT Food_ID,FoodName,Price,Type FROM food ORDER BY cast(Price as unsigned) ASC LIMIT 5") Result Query and XML แสดงเครื่องดื่มเย็นที่มีแคลอรี่สูงสุด 5 อันดับ cursor.execute("SELECT Food_ID,FoodName,Price,Type FROM food ORDER BY cast(Price as uns...

XML

รูปภาพ
XML What? XML stands for eXtensible Markup Language XML is a W3C (World Wide Web Consortium) Recommendation XML is a markup language much like HTML What is Markup Language? Markup หมายถึงกลุ่มของ tag ที่ใช้ในการบอกความสัมพันธ์และรูปแบบการแสดงผล Markup Language ก็หมายถึง รูปแบบวิธีในการจัดการความสัมพันธ์และการแสดงผล XML Why? XML was designed to store and transport data XML was designed to be self-descriptive XML How? XML is used in many aspects of web development. XML is often used to separate data from presentation. XML is Often a Complement to HTML. Simple Data Transform to XML จุดเด่นของ XML 1.ดูเอกสารได้ง่าย สะดวก และได้ผลดีเหมือน HTML 2.เขียนง่าย 3.มนุษย์อ่านได้ง่าย โดยไม่ต้องอาศัยโปรแกรมหรือเครื่องมือช่วยแปล 4.การเขียน XML ทำได้ด้วยการใช้ Text editor ง่ายๆทั่วไป 5.ใช้เป็นตัวควบคุมข้อมูล (Meta data) จึงเป็นแนวทางในการขนส่งข้อมูล และสร้างการ เชื่อมโยงระหว่างแอปพลิเคชั่นได้ง่าย 6.สนับสนุน UNICODE ทำให้ใช้ได้กับหลากหลายภาษาได้อย่างง่าย...

Connect and send data between programs (Part 4) : Send large file + MD5 Checksum

รูปภาพ
จากที่เคยทำการทดลองส่งไฟล์ระหว่างภาษา C++ และ Python ไปแล้ว ครั้งนี้ได้ทำการปรับปรุงการทำงานและ Code ใหม่ ครั้งนี้ใช้ Server เป็น Windows ด้วยภาษา C++ ส่วน Client เป็น Linux ด้วย Python หลักการทำงานคือ ให้ Client ทำการส่งชื่อไฟล์ที่ต้องการไปยัง Server จากนั้น Server จะทำการส่งไฟล์นั้นกลับมาให้ Client ผ่าน TCP Socket Environment : OS :  Windows 8.1 64-bit Linux Ubuntu 14.04 LTS in VMware Workstation 12 Player Language Python 2.7.1 C++ (TDM-GCC 4.9.2 64-bit Compiler) Program code : https://github.com/watashimill/ConnectBetweenDataPathII ขั้นตอนการทดลอง 1. ทำการ Compile Code ภาษา C++ ใน Ubuntu โดยคำสั่ง g++ client.cpp -o client 2. จะได้ไฟล์ชื่อ client พร้อมทดลองรัน โดยคำสั่ง ./client    จะพบว่าต้องใส่ Argument ให้ครบก่อนด้วย ซึ่งเก็บไว้ทีหลังเปิด Server 3. ที่เครื่องฝั่ง Windows ทำการ Run Server Python เพื่อรอรับการเชื่อมต่อ 4. จากนั้น กลับไปที่ Ubuntu ใส่ ชื่อไฟล์ที่ต้องการ , Server IP/Port จะทำการ Download file เมื่อได้ไฟล์ ล...

Connect and send data between programs (Part 3) : send file (text, pdf, multimedia)

รูปภาพ
Python to Python (python3.4) Code ฝั่ง SERVER Code ฝั่ง Client Errorที่พบ : เกิดจากการที่server กับ client ไม่สามารถติดต่อถึงกันได้ อาจเป็นเพราะหาportไม่พบ แก้โดยตั้งหมายเลขportให้เท่ากัน ไม่ทราบสาเหตุ แก้ไขโดยการเปลี่ยน Version Python จาก 3.4 > 2.7 Socket API socket.socket()  สร้าง Socket socket.gethostname() ดึง host name ของเครื่องมาใช้ .bind((host, port))  ผูก Socket กับ address เข้าด้วยกัน .accept()  ตอบรับการเข้าถึงของ client .send() ส่งข้อความไปหาserver หรือclient .close() ปิดการทำงาน

Connect and send data between programs (Part 2) : Send data using Thai language

รูปภาพ
จากการทดลองส่งข้อมูลผ่าน Socket ครั้งที่แล้ว คราวนี้ทดลองส่งด้วยภาษาไทยบ้าง ขั้นตอนการทดลอง 1. เมื่อทดลองพิมพ์ภาษาไทยใน Dev-C++ 5.11 พบว่ากลายเป็นตัวอักขระที่อ่านไม่ออก 2. ตั้งสมมติฐานว่า อาจเกิดจาก Font ของ IDE ไม่รองรับภาษาไทย จึงลองไปเปลี่ยนที่ Tools -> Editor Options -> Fonts ซึ่งเดิมคือ Courier New 3. เปลี่ยนให้เป็น Angsana New ผลที่ได้คือ แสดงผลภาษาไทยได้ แต่เว้นได้ช่องไฟไม่ดีเลย 4. หลังจากเห็นผลว่า อย่างน้อยก็แสดงผลภาษาไทยได้ จึงแก้ Code ลองให้ส่งข้อมูลเป็นภาษาไทยดู 5. ผลที่ได้ พบว่าข้อมูลที่แสดงบน Terminal แสดงผลภาษาไทยไม่ได้ 6. จึงไปหาข้อมูลใน Internet ว่ามีวิธีแสดงผลภาษาไทยได้ไหม ก็พบวิธีตามลิงค์นี้ http://booiii.blogspot.com/2016/01/setting-thai-language-in-windows-cmd.html 7. Download file ลิงค์ด้านล่างนี้ และแตกไฟล์ให้เรียบร้อย https://drive.google.com/file/d/0B-A6vTPybct7X1NRZUpiME5GNEE/view?usp=sharing 8. ทำการติดตั้ง Font ที่ไฟล์ Courier MonoThai .ttf 9. จากนั้นทำการเปลี่ยน Font ให้ cmd.exe ของเราโดย คลิ้กขว...

Connect and send data between programs (Part 1) : Send data by Socket

รูปภาพ
ต้องการทดลองส่งข้อมูลระหว่างโปรแกรมต่างภาษา ต่างOS จากต่างเครื่องให้ติดต่อกันได้ โดยตัดสินใจใช้ Socket Test Environment : OS :  Windows 8.1 64-bit Linux Ubuntu 14.04 LTS in VMware Workstation 12 Player Language C++ (TDM-GCC 4.9.2 64-bit Compiler) , Dev-C++ 5.11 IDE. Python 2.7.6 Program code :  https://github.com/watashimill/ConnectDataBetweenOS ขั้นตอนการทดลอง 1.บนเครื่องWindow เปิดโปรแกรม Dev-C++ เตรียม Compile code 2.ก่อนจะ Compile ให้ไปแก้ไขที่ Project Options (หรือกด Ctrl+H) ที่ Tab Parameters ให้เพิ่ม -lws2_32 ในส่วนของ Linker หากไม่เพิ่มตามนี้แล้ว Compile จะเกิด Error เนื่องจากหา Winsock Library ไม่เจอ 3. Compile & Run จะปรากฎโปรแกรมดังรูป 4. ขณะนี้ได้ทำการเปิด Socket รอรับการเชื่อมต่อแล้วที่ Port 8888 จากนั้นหา IP Address ของ Socket Server โดยเข้า Command Prompt -> ipconfig 5. ได้ IP แล้วคือ 192.168.1.37 จากนั้นให้ไปแก้ Code Python ที่ตัวแปร host 6. เซฟไฟล์ แล้วรันโปรแกรม Python เพื่อเชื่อมต่อ Socket จ...