cheerasak.s
การพัฒนาแอปพลิเคชันสำหรับระบบปฏิบัติการ iOS นั้นมีหลายช่องทางในปัจจุบัน โดยไม่นานมานี้ ทางไมโครซอฟ ได้เข้าซื้อ Xamarin ซึ่งเป็นซอฟแวร์ สร้างแอปพลิเคชันสำหรับ Android, iOS, Windows Phone โดยใช้ภาษา C# โดยมีแนวคิดแชร์โค้ดในส่วน Logic ระหว่างแพลตฟอร์มได้ (แต่ส่วน User Interface และ Controller ต้องเขียนแยกกัน) ซึ่งเดิมทีซอฟแวร์ตัวนี้มีค่าใช้จ่ายในการนำมาใช้งานพอสมควร แต่ปัจจุบัน สามารถใช้ร่วมกับ Visual Studio ได้ตั้งแต่รุ่น Community ซึ่งฟรี ทำให้มีความน่าสนใจในการนำมาใช้งานสำหรับ ทีมพัฒนาระบบ ที่ใช้ Visual Studio ร่วมกับ ภาษา C# อยู่แล้วเป็นอย่างมาก สิ่งที่ต้องมี สำหรับการใช้ Xamarin พัฒนา iOS แอปพลิเคชัน 1.เครื่องคอมพิวเตอร์ที่ติดตั้ง macOS ได้ เช่น MacBook , MAC Pro,…
>> Read More <<
wunwisa.c
ในบางครั้งท่านผู้อ่านอาจจะมีปัญหา ในการนำ jQuery ไปใช้กับ ร่วมสคริปต์อื่นๆ หรือแม้กระทั่งพวก css framework ที่บางตัวจะมีการฝัง script ไว้ข้างในด้วย ซึ่งอาจทำให้ script ของท่านทำงานผิดเพี้ยนไปจากที่ควรเป็น วันนี้จะขอแนะนำเทคนิคในการแก้ปัญหาดังกล่าว นั่นก็คือ การปรับ jQuery ไปใช้งานในโหมด no-conflict นั่นเองค่ะ สิ่งที่พึงระวังสำหรับมือใหม่ก็คือ ตัว jquery เองนั้นจะใช้ตัวแปร $ อ้างถึงฟังก์ชั่น jQuery ดังนั้น ถ้ามีสคริปต์ตัวอื่นที่ใช้ตัวแปร $ นี้เหมือนกันล่ะก็ เกิดปัญหาขึ้นแน่นอนค่ะ วิธีแก้ปัญหา วิธีที่ 1 คือให้สร้างตัวแปรเพิ่มขึ้นมาอีกตัวเพื่อใช้แทนเครื่องหมาย $ ตัวอย่างพร้อมคำอธิบาย <script src=”other_library.js”></script> <script src=”jquery.js”></script> <script> //ในที่นี้เราประกาศตัวแปร $j แทนตัว $ var $j = jQuery.noConflict(); $j(document).ready(function(){ $j(“div”).hide();…
kanakorn.h
จากที่ปฏิบัติหน้าที่ Helpdesk และได้เห็นนักศึกษาและบุคลากรของมหาวิทยาลัย ใช้โปรแกรมเถื่อนโดยเฉพาะ Adobe Acrobat ซึ่งจริงๆแล้ว เค้ามีตัวฟรี คือ Adobe Acrobat Reader ให้ใช้อยู่แล้ว อย่าไปละเมิดลิขสิทธิ์เค้าเลย ในบทความนี้ จะขอแนะนำความสามารถที่ “ของฟรี” มีให้ใช้ แต่บางคนอาจจะไม่รู้ ก็เลยไปละเมิดลิขสิทธิ์ ยุค Paperless หรือ ไร้กระดาษ ก็สามารถทำได้แล้ว ตัวอย่างเช่น มีเอกสาร PDF ที่ต้อง Print ใส่กระดาษ แล้วกรอกเอกสาร ลงลายเซ็นต์ แล้วก็ต้อง Scan กลับเข้าไปในระบบอีก … สุดท้ายก็ต้องเก็บกระดาษกองโต เพื่อรอเอาไปทิ้ง ทำไปเพื่ออะไร ? ขอยกตัวอย่างการใช้งานกับเอกสารต่อไปนี้ http://group.psu.ac.th/docs/F_SD13.pdf http://www.personnel.psu.ac.th/fromper/form1.pdf เริ่มจาก Download เอกสารมาเก็บไว้ในเครื่อง แล้วเปิดโปรแกรม Adobe Acrobat Reader DC…
jatuporn.ch
“อยากติดตั้ง Docker บน Ubuntu 16.04 ทำอย่างไร” นอกจาก containner ที่เป็น lxd ของ Ubuntu แล้ว ก็ยังสามารถใช้ในรูปแบบ Docker เช่นเดียวกัน แต่ค่อนข้างยุ่งยากกว่าเล็กน้อย โดยถ้าเทียบประสิทธิภาพแล้วในส่วนของ lxd จะดีกว่าแต่ในแง่ของ Image ทาง Docker ยังมีมากกว่า (แต่อนาคตอะไรก็ไม่แน่นอน ขึ้นอยู่กับจะเอามาใช้ทำอะไรมากกว่า และมีคนทำมาให้ใช้อันไหนมากกว่า หรือถนัด Image เองแบบไหนมากกว่า สรุปชอบอันไหนใช้อันนั้นแล้วกันครับ) วิธีการติดตั้ง (Ubuntu 16.04) *Ref : https://docs.docker.com/engine/installation/linux/ubuntulinux/ เนื่องจากไม่มี docker ใน Ubuntu Package โดยตรง จึงต้องเพิ่ม source.list ก่อนดังนี้ sudo apt-get update sudo apt-get install apt-transport-https ca-certificates…
“อยากติดตั้ง Docker บน Windows Server 2016 ทำอย่างไร” Feature ใหม่ของ Windows Server 2016 คือการใช้งาน Docker ที่สมบูรณ์มากขึ้น โดยใช้การจัดการผ่าน PowerShell Command แต่ยังไงก็ตามก็ยังไม่พ้นหน้าจอฟ้า ๆ ที่ใช้ในการติดตั้ง และตรวจสอบสถานะต่าง ๆ แต่เนื่องด้วยการรองรับที่สมบูรณ์มากขึ้น การใช้งานก็จะมีประสิทธิภาพไม่แตกต่างจากการรันบนระบบปฎิบัติอื่น ๆ เหมาะกับการนำมาใช้เพื่อลดการบริโภคทรัพยากร ช่วยให้ใช้สมรรถนะของเครื่อง Server เต็มประสิทธิภาพ และเหมาะสำหรับการใช้งาน Application ที่แตกตัวเพิ่มได้ตามจำนวนการใช้งานที่เพิ่มขึ้น จุดเด่นที่สำคัญอีกจุดคือ Windows Nano Server สำหรับผู้อยากใช้งาน Windows Server Container Image ขนาดเล็ก ซึ่งจะเขียนในหัวข้อต่อ ๆ ไปครับ วิธีการติดตั้ง (Windows Server 2016) *Ref : https://docs.microsoft.com/th-th/virtualization/windowscontainers/quick-start/quick-start-windows-server ทำการติดตั้ง…
ต่อจาก Juju #05 – วิธีกระจายงานไปยัง MySQL แบบ Master-Master เมื่อสร้าง MySQL แบบ Master-Master Replication ได้แล้ว ก็มาเชื่อมกับ HAProxy เพื่อให้ Application ที่เขียน มองเห็นทั้งระบบเป็นชิ้นเดียว IP Address ของระบบต่างๆเป็นดังนี้ haproxy : 10.107.107.71 mysql-master1: 10.107.107.35 mysql-master1: 10.107.107.83 ขั้นตอนการติดตั้ง ที่ mysql-master1 ต้องสร้าง 2 Users ขึ้นมา ชื่อ haproxy_check และ haproxy_root ด้วยคำสั่งต่อไปนี้ mysql -u root -p$(cat /var/lib/mysql/mysql.passwd) -e “INSERT INTO mysql.user (Host,User) values (‘10.107.107.71′,’haproxy_check’); FLUSH PRIVILEGES;” mysql…
ต่อจาก Juju #04 – วิธีทำให้ WordPress กระจายงานไปยัง MySQL Slave ด้วย HyperDB ซึ่งเป็นวิธีการกระจายงานให้ MySQL แบบ Master-Slave จะต้องอาศัยความสามารถของ HyperDB Plugin ของ WordPress ในการทำงาน ซึ่งถ้าเป็นการพัฒนา Application ทั่วไปที่ไม่ใช่ WordPress ก็จะทำด้วยวิธีดังกล่าวไม่ได้ ในบทความนี้จะกล่าวถึง การสร้าง Load-Balanced MySQL แบบ Master-Master ซึ่งทำให้สามารถกระจายการ Write ไปยัง MySQL หลายตัวได้ (ในเบื้องต้น 2 ตัว) *** ในบทความต่อไป จะต่อด้วยการเชื่อมเข้ากับ haproxy *** ขั้นตอนการติดตั้งมีดังนี้ Deploy haproxy (ตั้งชื่อ haproxy-mysql) และ MySQL (ตั้งชื่อ mysql-master1 และ…
sirima.sa
ในการอ่านหรือดูรายงานหนึ่ง ๆ นั้น แม้ข้อมูลจะมีการจัดเป็นข้อ ๆ แล้วหรือมีการจัดกลุ่มข้อความนั้นแล้วก็ตาม แต่เมื่อข้อมูลมีจำนวนมาก ก็อาจทำให้เราวิงเวียน ตาลายได้ ดังนั้นในฐานะผู้จัดทำรายงานคนหนึ่ง ก็พยายามหาทางให้ผู้ใช้สามารถอ่านรายงานได้ง่าย โดยการใส่สีข้อความสลับบรรทัดนั่นเอง โดยปกตินั้น การใส่สีสลับบรรทัดสามารถทำได้โดยวิธีง่าย ๆ นั้นคือ if row mod 2 = 0 then //ตรวจสอบว่าแถวนั้นเป็นแถวคู่หรือไม่ color(240,240,240) //ถ้าใช่แสดงสี else crNocolor //ถ้าไม่ใช่ไม่ต้องแสดงสี ซึ่งจะทำให้ได้ผลลัพธ์ดังรูป จากรูปจะเห็นได้ว่า ข้อมูลมีการสลับสีแล้ว แต่เนื่องจากข้อมูลถูก Group จะพบว่า ข้อมูลที่มี 1 record ก็มีการสลับสีด้วย ซึ่งผู้เขียนไม่ต้องการให้มีการสลับสีกรณีที่ข้อมูลมีเพียง 1 ดังนั้นผู้เขียนจึงปรับวิธีการเขียนใหม่ดังนี้ เพิ่ม Formula Fields…
ต่อจาก Juju #03 – วิธีสร้าง Load Balance MySQL เมื่อมี MySQL Server มากกว่า 1 ตัว ซึ่งทำการ Replication กัน (ในตอนนี้ 2 ตัว คือ Master กับ Slave) ซึ่งให้ความสามารถในเรื่อง [1] Data-Security : เมื่อข้อมูลถูก Replicate ไปที่ Slave แล้ว เราสามารถหยุดการทำงานของ Slave เพื่อทำการสำรองข้อมูลได้ โดยไม่กระทบประสิทธิภาพการทำงานของ Master Analytics: ทำการวิเคราะห์ข้อมูลต่างๆได้ที่ Slave โดยไม่กระทบประสิทธิภาพการทำงานของ Master Scale-Out Solutions: เมื่อมี Slaves หลายตัว ทำให้สามารถกระจายงานในด้าน Read เพื่อเพิ่มประสิทธิภาพ โดยการแก้ไขข้อมูล จะทำที่ Master เท่านั้น ในบทความนี้ จะกล่าวถึงวิธีการ…