"Hello World" - Mad Programmer Diary

ถามมา – ด่าไป กับ พ.ร.บ. ความมั่นคงไซเบอร์

Posted by arnondora on January 31st, 2015

เป็นเรื่องเป็นราวกันมาทั้งแต่ท้ายปีที่แล้ว (2557) กับ พ.ร.บ. ความมั่นคงไซเบอร์ที่รัฐดันสุดตัวเพื่อให้ พ.ร.บ. นี่ออกเป็นกฏหมาย ซึ่งหลายๆคนก็ให้ความเห็นถึงเนื้อหาของ พ.ร.บ. ตัวนี้กันที่ว่า มันออกมากว้างโคตรๆ เนื้อหาออกแนวป้อนอำนาจให้เจ้าหน้าที่เข้าถึงข้อมูลของเราได้ล้นฟ้า จะแอบอ่านว่าเราคุยอะไรกะกิ๊ก หรือจะเป็นคุยไลน์ส่งหวานกัน อะไรแบบนี้ โดยที่ไม่ต้องขอหมายอะไร เพียงแค่หาเหตุก็เข้าไปดูได้ทุกซอกมุมของคุณกันเลยทีเดียว (อู๊~~~)  โดยที่รัฐบาลได้ให้เหตุผลว่า ไว้จัดการพวกหมิ่น~~ คริคริ (คริคริ รัฐบาลไม่ได้กล่าวไว้ เพราะผมกล่าวเองคริคริ~~) เอาจริงๆไปอินมาจากโพสนึงในเฟสบุ๊คที่คุณ Sarinee Achavanuntakul ได้เขียนและแชร์ไว้ (มันถูกส่งต่อกันแบบเยอะอะ) ที่ ถามมา-ตอบไป สำหรับคนที่ไม่เข้าใจว่าทำไมประชาชนทุกคนควรค้านชุดกฎหมายความมั่นคงดิจิทัล ไม่ว่าจะเป็นเสื้อเหลือง เสื้อแดง นกหวีด สลิ่ม ไม่มีสี ฯลฯ ที่แย่ไปกว่านั้น ถ้ากำลังจะมีบริษัทต่างชาติเข้ามาลงทุก พวกเขาคงไม่กล้ามาลงทุนแน่นอนเพราะ ข้อมูลอาจจะรั่วไหล ออกไปก็ได้ (เผ่นป่าราบ) ถามว่า ถ้าเราไม่ทำผิดแล้วจะกลัวอะไร!!! เอาจริงๆผมว่า ต้องกลัวนะ เพราะกว่าเราไม่รู้ว่า “ผู้มีอำนาจ” จะเอาข้อมูลของเราไปใช้ในทางไหน โลกเรามันประกอบทั้ง คนดี และคนไม่ดี เพราะฉะนั้นเราควรจะระวังหน่อย อีกเรื่องคือ เรื่องของ ความเป็นส่วนตัว ในประเทศที่พัฒนาแล้ว (เอิ่มแต่เรายังไม่พัฒนาเลยนี่หว่า) […]

Live With Google Drive

Posted by arnondora on January 26th, 2015

ก็หายไปนานอีกแล้วนะครับ อิอิ วันนี้ไม่ได้มาสอนอะไร แต่วันนี้จะมานำเสนออะไรอย่างนึง ก่อนอื่นขอพูดถึงปัญหาของผมก่อนล่ะกันครับ ก็ผมใช้ Macbook แล้วมันก็ลง OSX เข้ามาซึ่งเวลาผมทำงานเอกสาร ก็จะใช้ Page,Keynote,Number ของ Apple พอไปฝั่ง Windows ก็ต้องไปใช้ Word,Excel,Powerpoint  ทีนี้ล่ะครับปัญหามันเกิดและ เมื่อผมจะเปิดงานจาก ฝั่ง OSX ไปบน Microsoft Office งานเกิดแล้วล่ะครับ มันเปิดกันไม่ได้น่ะสิ!!! ถ้าแปลงไปมากันไฟล์ก็เพี้ยนอีก (ขนาด MS ต่าง Version กันเปิดต่าง Version มันยังเพี้ยนเลย แล้วภาษาอะไรกับ ต่างโปรแกรมเลย) จริงๆมันก็มี Microsoft Office For Mac ด้วยนะแกว์! แต่ก็ลงทิ้งไว้ให้เน่าตายอยู่ในเครื่องอยู่ดี ผมจึงออกไปหาอย่างอื่นมาใช้สุดท้ายแล้วมันก็มาลงเอยกับ Google Drive นี่ล่ะครับ เพราะมันง่ายดี แถมรันบน OSX,Windows,Linux มันก็หน้าตาเหมือนกันหมดแล้วไฟล์ไม่เพี้ยนด้วยล่ะๆๆ ด้วยความที่มันเป็น Web-Based มันเลยเหมือนกันหมดทุก Platform […]

Java 101 : Pattern Class (Class ฟรุ้งฟริ้ง.. :~ มึนทั้งตำบล )

Posted by arnondora on January 18th, 2015

วันนี้ก็กลับมาอีกแล้ว วันนี้อยากมาเอง ไม่มีใครจุดธูปเรียก เฮ้ยไม่ใช่ เข้าเรื่องดีกว่า ช่วงนี้ก็เปิดเทอมแล้วก็เลยทำโจทย์อะไรหน่อย พอดีไปเจอโจทย์ข้อนึงใน Google Code Jam แล้วนั่งแก้อยู่ประมาณ 2 ชม. ได้ และก็ทำให้ได้คิดถึง Class ที่จะพูดในวันนี้นั่นคือ Pattern Class Regular Expression คืออะไร? ก่อนจะไปถึง Pattern Class ก่อนอื่นขออธิบายก่อนว่า Regular Expression หรือ Regex คืออะไร ง่ายๆแล้วมันคือการบอกรูปแบบของข้อความ เช่น a* มันอาจจะแปลว่า aa หรือ aaa ไปได้เรื่อยๆ หรือจะเป็น ab ก็อาจจะแปลว่า aabb abb ไปเรื่อยๆ ซึ่งมันก็มีนอกจากเครื่องหมายดอกจันทร์อีก ซึ่งไม่ขอพูด เราจะมาลองเล่นกันคร่าวๆ เราจะป้อน String เข้าไปอันนึง แล้วก็ String อีกอันที่เป็น Pattern String in_str […]

Android Dev Tip : Genymotion Emulator ที่จะทำให้ลืม AVD ไปเลย

Posted by arnondora on January 14th, 2015

ห่างหายไปนานอยู่ เพราะเปิดเทอมแล้ว จริงๆจะเขียนอันนี้ตั้งแต่ปิดเทอมแล้วยังไม่ว่างเบย ติดปีใหม่!! ปีใหม่หลายๆคนคงไปเที่ยวสนุกดีนะครับ ขอให้สุขภาพดีทุกคนนะครับ เข้าเรื่องกันดีกว่า ถ้าใครเคยใช้ AVD ที่อยู่บน Android Studio หรือว่าบน Eclipse Plugin จะพบว่า มันโคตรช้าบรมเลย บูตเครื่องที บูตลืมเลยทีเดียว วันนี้เลยจะมาแนะนำ Android SDK อีกตัวนึงที่ผมคิดว่ามันเร็วกว่า AVD ตัวเก่าเยอะมากๆ เยอะคนล่ะเรื่องเลยทีเดียว ชื่อของมันคือ Genymotion Genymotion เป็น Android SDK ที่โคตรเร็ว เร็วมากจริงๆ ทันใจสุดๆ แถมยังติดตั้งไม่ยากเลย แค่ไปเปิด Member (เฮ้ย สมัครสมาชิกสิ) ที่ เว็บไซต์ของ Genymotion ได้เลย แล้วโหลดตัวโปรแกรม มาพร้อมกับ ไปโหลด Virtualbox มาก็ลงก็พร้อมใช้และ อีกทั้งโปรแกรมตัวนี้ก็รองรับหลาย OS ไม่ว่าจะเป็น Windows,OSX,Linux หลังจากโหลดมาติดตั้งแล้ว ถ้าเรา Login ในตัวโปรแกรมเราก็จะได้ Pre-Config […]

Java 101 : Java Collection Framework

Posted by arnondora on January 9th, 2015

 Java Collection Framework คืออะไร? ง่ายๆไม่คิดมาก มันคือ Class และ Interface ที่อยู่ใน Package java.util.*  ซึ่งโดยพื้นฐานแล้วไม่ว่าจะ Collection ชนิดไหน มันก็เก็บข้อมูลหลายๆอย่างมาเก็บอยู่ในตัวแปรอันเดียวเท่านั้นเอง บ้างอันเก็บซ้ำมาได้ บางอันเก็บได้ อันนี้ก็แล้วแต่ประเภทของ Collection จากรูปข้างบนสรุปเอาง่ายๆ  เราจะแยกมันออกเป็น Interface และ Class ก่อน (ถ้าใครไม่รู้ว่า Interface คืออะไร เชิญไปอ่าน EP.8 ก่อนเลยนะครับ ไม่งั้นอาจจะเกิดอาการมึนงงและเลิกอ่านในที่สุด) Interface จะประกอบไปด้วย Collection Set List Map ส่วน Class ก็จะมีย่อยๆ ประมาณข้างล่างนี้ ย้ำว่าประมาณนะ เพราะว่ามันมีเยอะมาก HashSet ArrayList Vector Linked List Hash Map ถัดมาเราจะมาดูว่า Class ไหน Implement […]

Java 101 – What is Lambda Expressions in Java 8

Posted by arnondora on January 6th, 2015

Lambda Expressions เป็น Feature ใหม่ที่พึ่งเพิ่มเข้ามาใน JSE8  เป็นหนึ่งในหลายๆ Feature ที่คนที่ใช้ Java หลายๆคนบอกว่า “ในที่สุดก็มีกะเขามั่ง” เพราะว่าในภาษาอื่นเขามีใช้กันจนเป็นเรื่องอันโคตรจะธรรมชาติมนุษย์ประตุชนคนธรรมดาใช้กันเกื่อนเลยล่ะครับ จากเมื่อก่อนเวลาเราจะทำอะไรก็ต้องสร้าง Class Implement Interface อะไรกันปวดตับไปหมด แทบทุกปัญหาที่ว่ามาเมื่อกี้จะหมดไป ด้วย Lambda Expression เช่นผมบอกว่า (a,b)->a+b; (คือสร้าง Method ที่รับค่า a กับ b เข้าไป แล้ว Return ค่าของ a+b ออกมา) รูปของมันคือ (parameter) -> {body} เช่นๆ (a,b)-> a+b; เป็นต้น เรามาลองเล่นตัวอย่างเล่นๆกันบ้าง เราลองมาสร้าง Thread แบบเก่ากันก่อน new Thread (new Runnable() { public void […]

Anime Review – Garden Of Words Anime ไม่เก่าชวนให้ดู

Posted by arnondora on January 3rd, 2015

The Garden of Words – ยามสายฝนโปรยปราย “เราคงจะได้พบกันอีก ถ้าฝนตกล่ะนะ” เป็นอีกผลงาน Anime ของ  มาโคโตะ ชินไค ที่เคยเรียกเสียงได้อยู่เยอะพอสมควรจาก  5 Centimeters Per Second ในปี 2007 เรื่องนี้เป็นเรื่องของเด็กหนุ่ม ม.ปลายที่ชอบโดดเรียนตอนเช้าในวันที่ฝนตก เพื่อไปนั่งขีดเขียนอยู่ในสวนสาธารณะ และเขาได้พบกับหญิงสาวคนหนึ่ง ที่โดดงานมานั่งเหมือนกันและยัง ชอบมานั่งดื่มเบียร์แกล้มช๊อคโกแลต เมื่อฝนตกพวกเขาจะได้มาเจอกันโดยที่ไม่ได้นัดหมาย หัวใจของพวกเขาก็เปิดรับกันมากขึ้น ตัว Anime ก็ 46 นาที แต่ตอนผมดู 46 นาทีผมรู้สึกว่ามันเหมือนผ่านไปเพียง 15 นาทีเองครับ การดำเนินเรื่องออกแนวเรียบๆ แต่เจ๋งมาก ส่วนเรื่องของภาพก็ยังเนียบอยู่เหมือนเดิมครับ ผมชอบมากโดยเฉพาะมุมกล้อง มันทำให้ Anime เรื่องนี้ดูมีชีวิตชีวาเยอะขึ้นมากเลย ยิ่งรวมกับเนื้อเรื่องโรแมนติกกลางสายฝนแล้วด้วยล่ะก็ น่าจะทำให้ใครหลายๆคน หัวใจพองโต กันได้เลยล่ะครับ The Garden Of Words เป็น Anime ที่ดูฆ่าเวลาก็ฟินดี และถ้าดูเอาฟิลก็ได้ดีเหมือนกันครับ ผมนั่งดูไปก็ตื่นเต้นไป มันดีมากๆเลย […]

Java 101 – ว่าด้วย Thread (EP. พิเศษอีกแล้ว เพราะคนเขียนอยากเขียน)

Posted by arnondora on January 3rd, 2015

วันนี้ก็อยากเขียนอีกแล้ว เรื่องนี้มีหลายคนถามอยู่เหมือนกันว่า ทำยังไง วันนี้ผมเลยจะมาพูดถึงมันกัน นั่นคือเรื่องของ Thread นั่นเอง Thread คืออะไร? มันคือการทำงานหลายๆงานพร้อมๆกัน ถ้าเราเขียนปกติ มันก็จะทำงานจากบนลงล่าง แต่ถ้าเราเขียนโปรแกรมให้มันทำงานแบบ Multitasking ก็จะทำให้โปรแกรมของเรานั่นมีประสิทธิภาพมากขึ้น ซึ่งใน Java ที่เป็นภาษาที่เจ๋ง คือเราสามารถกำหนดให้ Object ของ Class อะไรก็ได้ ทำงานแบบ thread หรือนั่นก็คือ ทำพร้อมกันนั่นเอง ซึ่งใน Java เราก็มีหลายวิธีในการทำงานกับ Object Thread แต่วันนี้ขอแค่ยกตัวอย่างมาสักวิธีนึงก่อนล่ะกัน public static void startThread (final String name) { Runnable runner = new Runnable () { }; } แล้วใน Method startThread ผมจะ Implement Interface […]

Java 101 – StringTokenizer (EP.พิเศษ เพราะคนเขียนอยากเขียน)

Posted by arnondora on January 1st, 2015

อันนี้อยากเขียนเป็นพิเศษ ไม่มีอะไรมาก อยากเขียนเฉยๆ OK เข้าใจตรงกันนะ มาเข้าเรื่องกันเลยดีกว่า StringTokenizer มันจะทำหน้าที่ในการแบ่ง String ออกเป็นส่วนๆตามที่เราบอกมัน โดยมันจะอยู่ใน Package java.util.StringTokenizer วิธีใช้คือ ต้องสร้าง Object StringTokenizer ขึ้นมาก่อน ก็ปกติเลย StringTokenizer st = new StringTokenizer (String,delim); โดยที่ String ก็คือข้อความที่เราต้องการแยกมัน ส่วน delim คือเครื่องหมาย หรือสัญลักษณ์ที่ใช้แยก เช่น (,) , (?) , (.) เป็นต้น (จริงๆแล้วถ้าเราใช้ Space ในการแยก ไม่จำเป็นต้องใส่ delim ก็ได้นะ) เรามาลองใช้กันดีกว่า เราจะให้ User ป้อนข้อความเข้ามา แล้วให้มันแยกด้วย ช่องว่างกันดีกว่า import java.util.Scanner; import java.util.StringTokenizer; ก่อนอื่นเราก็ import library […]