Posts

มีคนถามว่า "เวิร์ดเพรส (opensource) ฟรี ทำไมทำเว็บ (Software) เก็บเงิน" ?

Image
พี่คุ้นๆว่าตัวนี้ฟรีน่ะ ทำไมคิดแพง... ลดหน่อยเถอะ ใช้ wp เอง ... โหยน้อง ใช้ opensoure มาช่วยแล้ว พี่ขอเร็วขึ้นกว่านี้ได้ม่ะ ... แค่เว็บง่ายๆ ทำไมแพงจัง .. @#$%&*%#$(! เพราะ การทำเว็บ มันมีส่วนอื่นๆ อีกมาก มันไม่ใช่แค่  structure ที่เราเอามาใช้อย่างเดียว แต่มันรวมไปถึงตั้งแต่ก่อนจะเริ่มสร้างเว็บ ไปจนกระทั่งเว็บออนไลท์เสร็จแล้ว และทำงานได้ ตาม requirement ของลูกค้าผู้น่ารักอย่างมีประสิทธิภาพ ซึ่งแน่นอน WP โง่ๆโล่งๆเนี่ย มันใช้ทำอะไรไม่ได้อยู่แล้ว ยกตัวอย่างให้เห็นภาพสักนิด  การ design ทำ UI ไปจนจบที่ UX นี่ยังไม่นับรวม SEO อีก ในกรณีเป็นร้านค้าออนไลน์ ค่าพัฒนาของ dev (ค่ารูปภาพเอย font เอย ค่าปลั๊กอินเอย งานส่วนที่ต้อง Dev. เพิ่มเอย ค่าเสียเวลาเอย และค่าฝีมือ&ประสบการณ์ *******) (เดี๋ยวว่างๆ ค่อยมาเขียนเกี่ยวกับพวกนี้ลึกๆ ว่าทำไมแค่เว็บง่ายๆ แม่งแพงจัง) ซึ่งทั้งหมดนี้ ถ้าคุณลูกค้าทำเองทั้งหมดได้ ก็คงไม่จ้างเรา ถูกม่ะ ... มีคนเคยบอกไว้ว่า  ปัญหา คือคนไทยส่วนใหญ่มักคิดว่า free pay มากกกว่า freedoms  พอเอา software ไปใช้ ขนาด support ยังจะให้ฟรีอันนี

ไลบรารี ซอร์สโค้ดก็แจกฟรีนี่? เอามาใช้ จะเดือดร้อนอะไร?

เดือนร้อนแน่นอนครับ ถ้าคุณยังไม่เข้าใจ โมแล้วขาย ถ้าไม่เข้าใจพื้นฐาน ก็เป็นกรรมในอนาคตครับ จะโดนฟ้องได้ ปกติพวกไลบรารีซอฟต์แวร์ หรือพวกซอร์สโค้ด Open-Source ส่วนใหญ่ ร้อยล่ะ 75% (อ้างอิงจาก wikipedia) จะใช้ สัญญาอนุญาตจีพีแอล (GPL) สำหรับคนในโลกทั่วไปก็คงคิดง่ายๆ ว่า อ้าว ก็แจกฟรีนี่? แล้วเราจะเอามายำ เอามาใช้ เอามาขายจะทำไมว่ะครับ ตามสัญญา GPL การที่คุณเอาของเขาไปใช้ แล้วไม่เปิดเผยโค้ดต่อ คุณผิดนั่นเอง!!! ที่ผิด ไม่ใช่ที่คุณผิดเพราะไปดูดโค้ด หรือ ซอฟต์แวร์ เขามาใช้ แต่ผิดที่ การมีอิสรภาพในการเรียนรู้และพัฒนาต่อจะหายไปนั่นเอง ในอดีต เคยมีกรณีที่  Wix App เอาโค้ด WordPress App ไปใช้ เลยต้องถูกบังคับให้เปิดโค้ด เพราะเป็น GPL โดย Matt Mullenweg ออกมาสรุปท้ายตอบ Wix ว่า Release your app under the GPL, and put the source code for your app up on GitHub so that we can all build on it, improve it, and learn from it .  - Matt Mullenweg  "(ในเมื่อคุณใช้โค้ดของ WordPress ก็) ขอให้เปิดโค้ดด้วยสัญญาอนุญาต GPL และเอา Source Code ของแอพคุณขึ้นไปไว้ที่ GitHub นะ - เพื่อเราจะได้ช่ว

หนทางเอาตัวรอดจาก มัลแวร์ตะมุตะมิ Wana decryptor / Ransomware สำหรับผู้ใช้งาน Microsoft Windows

Image
ภาพประกอบจาก https://www.blognone.com/node/92435         Wana decryptor / Ransomware คงได้ยินติดหูมาหลายวันล่ะ เป็นมัลแวร์ตะมุตะมิ เข้ารหัสลับข้อมูลในคอมพิวเตอร์เพื่อเรียกค่าไถ่ หากไม่จ่ายเงินตามที่เรียกจะไม่สามารถเปิดไฟล์ได้  สิ่งที่ซิกเนเจอร์สําหรับมัลแวร์นี้คือ สามารถกระจายตัวเองจากไปเครื่องหนึ่งในเครือข่ายได้โดยอัตโนมัติ ผ่านช่องโหว่ระบบ SMB (Server Message Block) ของวินโดวส์        จริงๆปัญหาที่เกิดคือ มันมีช่องโหว่ที่อยู่ในโค้ดในไฟล์ของ Windows ดังนั้น การอัพเดทแพทช์ มันคือ วิธีแก้ที่ถูกต้องที่สุด วิธีอื่นอย่าไปสนใจเลย เสียเวลาฟรี แต่จะอัพเดทแพทซ์ได้ วิธีเดียวที่ควรทำ คือ ใช้ของแท้ ของแท้ ใช้ของแท้ รู้จักอัพเดทแพทซ์ อัพเดทแพทซ์ รู้จักอัพเดทแพทซ์ แค่นั้นแหล่ะ สำหรับผู้ดูแลระบบ 1.ถ้าแชร์ข้อมูลผ่านเครือข่าย ตรวจสอบสิทธิ (Permission) ในการเข้าถึงข้อมูลให้ดี ให้สิทธิ์อ่านหรือแก้ไข หรืเขียน เฉพาะไฟล์ที่มีความจำเป็นต้องใช้สิทธิ 2. ถ้าไม่มีความจำเป็นต้องใช้ SMBv1 แนะนำให้ผู้ดูแลระบบปิดการใช้งาน SMBv1 โดยดูวิธีการปิดได้จาก   https://support.microsoft.com

Upgrade&Downgrade #Unifi Controller on Cloud Key

Image
ปกติ Admin ทั่วๆ ไปก็คงใช้ controller release version ที่ประกาศเป็นทางการ เพราะ Stable ที่สุด แต่บางครั้งก็มีเหตุจำเป็นให้ต้อง Upgrade & Downgrade เช่น อยากลองของก่อน เพราะมีฟังชั่นที่น่าสนใจในรุ่น  Beta Version หรือพอ Upgrade ไปแล้ว ไม่เวิร์ค อยาก Downgrade กลับมา ** Downgrade controller  ค่าต่างๆอาจต้องตั้งค่าใหม่ทั้งหมด แต่ Upgrade ส่วนใหญ่ใช้งานได้ต่อเนื่องเลย 1. SSH to Cloud Key User: root , Pass: ของ admin ที่เข้าสู่ระบบ Controller  ถ้าเข้าสู่ระบบสำเร็จก็จะโชว์ภาพตามด้านล่าง 2. หลังจากเชื่อมกับ Cloud Key ได้แล้ว ก็เข้าไป directory ของ tmp  เพราะเดี๋ยวจะมีไฟล์ที่ดาว์โหลดมาด้วย จะได้รู้ว่าเป็นที่เก็บชั่วคราว cd /tmp 3. จากนั้นทำการดาวโหลดไฟล์ Controller รุ่นที่ต้องการ ของผมต้องการ 5.6.4 ซึ่งเป็นเวอร์ชั่น Beta อยู่ ต้องเข้าไปส่องลิ้งดูที่ Blog Beta เท่านั้น!! ก็คลิกขวา เลือก Copy link ของ Linux จากนั้นกลับมาที่ Putty พิมพ์ wget แล้วขลิกขวา url ก็จะมา Enter เลยย wget https://www.ubnt.com/downloads/unifi/5.6.4-c3f780a99//unifi_sysvinit_all.deb 4. ติดตั้

โลจิสโพสต์ ส่งรถจักรยานยนต์ หรือของใหญ่ๆ ผ่านไปรษณีย์ไทย.. ง่ายนิดเดียว

Image
พอดีผมกำลังจะให้เพื่อนส่งจักรยานยนต์ขึ้นมากรุงเทพ ซึ่งตัวเลือกที่หาได้ก็มีแค่ไปรษณีย์ไทย รถไฟ ตอนแรกจะส่งผ่านมากับรถไฟเพราะจากการหาข้อมูล ค่าบริการถูกกว่าครึ่งนึง ก็เลยลองโทรถามเพื่อความชัวร์ ปรากกฏว่าตอนนี้รถไฟไทย เปลี่ยนกฏการให้บริการคือ ต้องมีผู้โดยสารไปกับรถด้วย (ผู้โดยสารจองไปปกติ และซื้อค่าวางสัมภาระสำหรับรถเพิ่ม) ก็เฟลไป เลยสุดท้ายมาจบที่ไปรษณีย์ไทย ราคาโหดพอควร ซึ่งบริการของไปรณีย์ไทยที่เราจะใช้ ชื่อว่า  โลจิสโพสต์ (Logispost)  รับฝากสิ่งของขนาดใหญ่ หรือมีรูปร่างพิเศษเหมาะกับการขนส่งสินค้า ซึ่งมีน้ำหนักมากหรือมีบรรจุภัณฑ์ขนาดใหญ่ เช่น จักรยานยนต์ ตู้เย็น  ทีวี เครื่องซักผ้า โดยสามารถฝากส่งและรอจ่าย ณ ที่ทำการไปรษณีย์ที่ผู้รับสะดวก และยังส่งไปต่างประเทศได้อีกด้วย โดยปกติจะใช้ระยะเวลา 5-7 วันทำการ แต่ถ้าหากต้องการความรวดเร็ว ก็ยังมีบริการ  Logispost Plus ส่งด้วยภายใน 3 วัน และยังส่งถึงหน้าบ้าน!! เริ่มเลยครับ .. อย่างแรก เอกสารที่ต้องใช้ เตรียมถ่ายไว้เลยจะได้สะดวก ผมว่าให้ถ่ายไปสองชุดเพื่อความชัวร์ 1. สำเนาทะเบียนรถที่จะส่ง (พาตัวจริงไปด้วยก็ดี เผื่อเจ้าหน้าขอดู) 2. สำเนา

Introduction to Java Database Connectivity (JDBC) การติดต่อฐานข้อมูล JDBC - ODBC

Image
JDBC คือ API (Application Programming Interface) หรือ library ในจาวาที่ใช้สำหรับติดต่อกับฐานข้อมูลที่เป็นแบบ relational อย่างเช่น MS SQL, Oracle, MySQL, DB2, Informix เป็นต้น JDBC จะช่วยให้เราสามารถเพิ่ม แก้ไข ลบ หรือเรียกดูข้อมูลที่เก็บไว้ในฐานข้อมูลจากโปรแกรมจาวาที่เราเขียนขึ้นได้ สังเกตว่า JDBC จะเป็น API ที่ช่วยให้เราสามารถใช้งานฐานข้อมูลแบบ relational ได้ โดยลักษณะการเพิ่ม แก้ไข ลบ หรือเรียกดูข้อมูลจากฐานข้อมูลนั้นจะมีแนวคิดเป็นแบบ relational ด้วยเช่นกัน คือมองข้อมูลเป็น แถวและตาราง จะเห็นว่าแนวคิดแบบนี้จะไม่เหมือนกับแนวคิดที่เราใช้ในการเขียนโปรแกรมเชิงวัตถุที่เรามองข้อมูลหรือสิ่งต่าง ๆ เป็นวัตถุ นี่ทำให้เกิดความแตกต่างในแนวคิดของการมองข้อมูล JDBC ยังมองข้อมูลเป็น ตารางและแถว ในขณะที่โปรแกรมจาวาจัดการข้อมูลเป็นแบบวัตถุ ด้วยเหตุนี้เอง จึงมีความพยายามที่จะลดความแตกต่างของแนวคิดที่ใช้ในการมองข้อมูล แทนที่เราจะใช้ JDBC ในการติดต่อกับฐานข้อมูลโดยตรง เราก็ใช้ software ที่ทำหน้าที่เป็น object-relational mapping คือเปลี่ยนข้อมูลจากที่อยู่ในรูปของ ตารางและแถวให้อยู่ในรูปของวัตถุ เวลาเร

Peer-to-Peer Technologies (P2P)

Image
What is P2P (briefly) ? - Peer-to-peer (P2P) ช่วยให้ทุกคนในเครือข่ายอินเทอร์เน็ตใช้ทรัพยากรร่วมกันกับคนอื่น ๆ - P2P เป็นชั้นของการใช้งานที่ใช้ทรัพยากรจาก "เส้นทาง" (edges) ของอินเทอร์เน็ต  เช่น storage space, CPU time, files - ตัวอย่าง applications เช่น Napster, Gnutella, FreeNet, FreeHaven Client/Server vs. P2P Reference image : http://blog.gogrid.com/wp-content/uploads/2009/05/image.png ปล.ระบบ Peer To Peer มีการทำงานแบบกระจาย โดยกระจายทรัพยากรต่าง ๆ ไปสู่เวิร์กสเตชั่นอื่น ๆ มักมีปัญหาเรื่องการรักษาความปลอดภัย เนื่องจากข้อมูลที่เป็นความลับจะถูกส่งออกไปสู่คอมพิวเตอร์อื่น The Early Days of the Internet - หลายๆคนชอบคิดว่า P2P เป็นแนวคิดใหม่ - Infact และ Internet ถูกออกแบบมาเพื่อเป็น P2P แต่เนื่องจากเว็บและเบราว์เซอร์ได้เปลี่ยนเป็นแบบไคลเอ็นต์ / เซิร์ฟเวอร์ในช่วงปี 1990 The Arpanet (late 1960's)      จุดมุ่งหมาย Arpanet ก็คือการแบ่งปันทรัพยากรในการคำนวณรอบๆ มหาวิทยาลัยหลักของ USA และการติดตั้งรัฐบาล - Popular applications of 1970-1980's:    FTP, tel