Posts

Showing posts from 2011

Google Chrome & Mozilla Firefox

Image
ประเด็นนี้ช่างเป็นที่ร้อนแรงในกลุ่มผู้ท่องอินเทอร์เน็ตพอสมควรนะครับ อย่างที่รู้กันดีกว่า ถ้าเป็นผู้ใช้ทั่วๆไปก็จะใช้ Internet Explorer (IE) เพราะจะติดมาพร้อมกับ Windows แต่ก็เป็น Browser ที่จัดว่าช้าที่สุดก็ว่าได้ ทำให้หลายคนเปลี่ยนไปใช้ Web Browser ตัวอื่น ส่วนใหญ่แล้วก็หนีไม่พ้น Google Chrome หรือ Mozilla Firefox ครับ ประเด็นในหัวข้อนี้ก็มีอยู่ว่า แล้ว Web Browser ตัวไหนที่ดีที่สุดล่ะ ?? วันนี้เราก็จะมาแตกประเด็นจากเว็บต่างๆกันนะครับ ^^ เหล่าสาวกแต่ละฝั่งมาช่วย Discuss ด้วยก็จะมันส์มากครับ ฮาๆ ^^ จะว่าไปมันก็เขียนยากเหมือนกันนะเรื่องนี้ ผมในฐานะ Google User (จาก topic: สาวก Google ) ก็จะขอเปรียบเทียบจากประสบการณ์แล้วเปรียบเทียบกับ Firefox นะครับ ก็อาจจะทำให้เนื้อหาเอนเอียงไปบ้าง ก็ขออภัยนะครับ หุหุ

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

          หัวข้อนี้อาจทำให้หลายคนสงสัยว่า ผมเขียนขึ้นมาทำไม หลายๆคนที่ได้เรียนวิชา Programming ต่างๆก็คงถูกสอนกันมาอยู่แล้วว่า การตั้งชื่อตัวแปรต้องให้สื่อความหมาย ไม่ใช่สักแต่ว่า a,b,c; หรือ x,y,z เพราะมันจะทำให้คนที่จะมาเขียนโปรแกรมต่อจากเราทำได้ยาก ถ้าเป็นโปรแกรมเล็กๆก็พอรับได้ แต่ถ้าเป็นงานใหญ่ๆ ก็ควรลด-ละ-เลิกได้แล้วครับ           แต่มันยังไม่หมดแค่นั้น นอกจากจะตั้งชื่อให้สื่อความหมายแล้ว ควรสังเกตลักษณะไวยากรณ์ (Syntax) ของแต่ละภาษาด้วยว่าเค้าเขียนกันอย่างไร หรือตัวอย่างตาม internet เค้าเขียนกันอย่างไร ซึ่งล้วนแต่มีที่มาที่ไปมาจากข้อตกลงร่วมกันในแต่ละภาษา หรือ เรียกว่า "Naming Convention"  ซึ่งจะทำให้ชื่อแต่ละชื่อนั้น สามารถบ่งบอกความหมายได้เบื้องต้น เป็นผลดีต่อโปรแกรมเมอร์อย่างมากครับ Hungarian Notation           จะใช้ตัวย่อของชนิดตัวแปรขึ้นต้น โดยจะใช้ตัวอักษรตัวพิมพ์เล็กทั้งหมด ซึ่งตัวย่อจะถูกกำหนดไว้เป็นมาตรฐานเดียวกัน ทำให้การตั้งชื่อตัวแปรแบบ Hungarian Notation จะทำให้ Programmer อ่านโปรแกรมได้ง่ายขึ้น จากนั้นคำต่อๆไปตัวอักษรตัวแรกของคำจะเป็นตัวใหญ่ ตัวอย่า

[Android] ซื้อ app. จาก market ด้วย k-web shopping card

Image
ผมว่าผู้ใช้ Android หลายคนพอใจกับการโหลด app. ฟรีแล้วยอมทนกับโฆษณาที่ติดมามากกว่าที่จะจ่ายเงินซื้อ หรือถ้ามีความรู้เรื่องคอมพิวเตอร์หน่อยก็อาจจะหาไฟล์ installer มาลงเอง ซึ่งการหามาลงเองคือการลงด้วย Unknown sources ครับ แต่อย่าเพิ่งเข้าใจผิดว่า topic นี้ผมไม่ได้จะมาสอนวิธีหา Unknown sources ที่ว่านะครับ แต่จะบอกว่า เราๆที่ใช้แต่ของฟรีนั้น ถ้าอยากจะได้ application ที่เป็นลิขสิทธิ์ของเราบ้างก็คงจะดีใช้ไหมครับ ลองดูภาพแรกที่ผมแปะไว้ดีๆครับ "10 DAYS OF OFFERS TOP PREMIUM APPS 90% OFF" พูดง่ายๆคือ Google ให้โอกาสเราซื้อ app. ดีๆ 10 ตัวต่อ 1 วันในราคา 0.10$ หรือ 3.08฿ ครับ ย้ำว่า "3.08 บาท" นะครับ ถูกมากครับ เอาเศษเงินในบัญชีซื้อกันเล่นๆก็ได้ครับ สิ่งที่ผมจะแบ่งปันต่อไปนี้ ไม่ใช่ทำได้เฉพาะช่วงส่วนลดของ Android Market นะครับ เป็นวิธีที่ทำให้ซื้อได้จริงๆ เสียเงินกันจริงๆ และได้โปรแกรมถูกต้องตามลิขสิทธิ์จริงๆครับ เพียงแต่ช่วงนี้มีการลดราคาพอดีเลยถือโอกาสเอามาเผื่อจะทำให้ใครหลายๆคนตื่นเต้นที่จะได้ซื้อ app. จริงๆซะทีครับ หลังจากที่ใช้ของฟรีมานาน ที่สำคัญคือ ราคาถ

Java ME, Java SE, Java EE แตกต่างกันอย่างไร

Image
สำหรับนักพัฒนา Java มือใหม่หลายๆคนคงเคยได้ยินหรือได้เห็น J2..E หรือ Java ..E อะไรพวกนี้มาบ้างนะครับ ไม่ว่าจะเป็น Java ME, Java SE หรือ Java EE ทั้งหลายเหล่านี้ ไม่ได้เป็นเทคนิค วิธีการ หรืออัลกอริทึมของภาษา Java แต่อย่างใดครับ เป็นเพียงแพคคนละขนาดเท่านั้นครับ อธิบายแบบบ้านๆก็คือ เหมือนเราไปเดินห้างของต่างๆก็จะมีแพครวม 4 ห่อบ้าง 6 ห่อบ้าง  หรือ 10 ห่ออะไรประมาณนี้ครับ ในภาษา Java ก็มีแพคให้เลือกตามนี้เลยครับ ก่อนหน้านี้ ได้ใช้ชื่อ J2..E สำหรับแต่ละรุ่น  ดังนี้ J2ME : Java 2 platform Micro Edition J2SE : Java 2 platform Standard Edition J2EE : Java 2 platform Enterprise Edition และได้มีเปลี่ยนชื่อใหม่ สำหรับ version ใหม่ โดยชื่อใหม่สำหรับแต่ละรุ่น คือ Java ME : Java   Platform, Micro Edition Java SE : Java   Platform, Standard Edition Java EE : Java   Platform, Enterprise Edition

[Java] Exception เขียนยังไง

Image
ใน Java ถ้าเราใช้ IDE เก่งๆ เวลาเราเขียน source code ที่มีจุดสำคัญ หรือมีผลกระทบต่อการทำงานของโปรแกรมขณะ runtime จะมีการแจ้งเตือนเลยว่าเราต้องจัดการกับ Exception ด้วย แต่ถ้าเราใช้เครื่องมือช่วยแบบไม่เข้าใจมัน มันก็เกะกะเกินไปได้ ในภาษา Java นั้นมี exception อยู่ 5 ตัวครับ exception ทั้ง 5 นายนี้มีชื่อว่า try, catch, throws, throw และ finally ครับ try โค้ดที่เขียนในส่วนนี้จะเป็นชุดคำสั่งที่จะเริ่มเข้าทดสอบใน exception ครับ แปลตรงไปตรงมาตามชื่อเลยก็คือ "ลอง(try)" ครับ โค้ดส่วนนี้จะถูกลองทำก่อน ถ้ามีปัญหาเกิดขึ้น เช่น หาฐานข้อมูลไม่เจอ โหลดไฟล์ไม่ได้ ก็จะทำให้โค้ดหลังจากจุดที่เกิด error ไปถึงจุดปิด scope ของ try จะถูกข้ามไปเลยครับ ซึ่งถ้าเราใส่ try ไปแล้ว compiler จะบังคับให้เรามี catch หรือ finally ด้วยครับ catch คำสั่ง catch จะถูกทำก็ต่อเมื่อมี exception เกิดขึ้นใน try ครับ หากมีปัญหาเกิดขึ้น จะมีการเรียกชุดคำสั่งใน catch ทันทีครับ แต่ catch จะต้องการ parameter ด้วย ซึ่งก็คือ ชนิดของ exception ครับ เช่น ต้องการดัก FileNotFoundException, IOException หรืออื่นๆ ซึ่ง 1 tr

Servlet+JSP and MVC : Model-View-Controller

Image
พูดถึงการเขียนโปรแกรมเชิงวัตถุ (Object-Oriented Programming หรือ OOP) ก็คงต้องรู้จักสถาปัตยกรรมของ MVC (Model-View-Controller Architecture) ด้วย เพราะว่าการเขียนโปรแกรมเชิงวัตถุ จะเหมาะกับการพัฒนาโปรแกรมที่มีขนาดค่อนข้างใหญ่ที่ประกอบไปด้วยส่วนต่างๆ มากมาย โดยแต่ละส่วนจะมีการจัดสรรให้อยู่ในสถาปัตยกรรม MVC  ในบทความนี้ผมก็จะอธิบายถึง MVC ในการทำงานของ Java Servlet และ JSP ( Java Servlet คืออะไร? ) ซึ่งเป็นการพัฒนาเว็บรูปแบบหนึ่ง ที่ดูจะมีความเป็นเชิงวัตถุมากกว่า PHP อยู่มาก จากที่เคยมีประสบการณ์มาทั้ง 2 ภาษา ถึงแม้ว่า PHP จะสามารถเขียนได้ง่ายกว่าก็จริงอยู่ หรืออาจจะพยายามเขียนให้เป็น OOP ก็เถอะ ยังไม่ด้านนี้ก็เทียบ Java ไม่ได้แน่นอน ^^ จริงๆ แล้วข้อมูลเรื่อง MVC สามารถหาได้จาก Google ไม่ยาก แต่เพื่อให้เห็นภาพมากขึ้น เพื่อให้นักพัฒนา Java Servlet มือใหม่สามารถทำงานได้อย่างมีประสิทธิภาพมากขึ้น ก็เลยเขียนขึ้นมาใหม่ เผื่อจะอ่านแล้วเข้าใจกว่าครับ (รึเปล่า ฮ่าๆ)

forward กับ redirect สำหรับ web application

Image
การเรียกหน้าเว็บใหม่ขึ้นมาแสดงนั้น ส่วนใหญ่เรามักจะเจอแบบ redirect กันมากกว่า แต่การ forward ก็เป็นอีกแบบหนึ่งที่มีอยู่ในจักรวาล(ฮ่าๆๆ) หลายคนอาจเข้าเว็บที่เปลี่ยนลิงค์ไปแล้ว แล้วเจอกับข้อความประมาณนี้ This Page is automatic redirecting .... ก็คือหน้าเว็บที่เราเรียก ถูกบังคับให้เปลี่ยนไปหน้าอื่น แบบ redirect Redirect ก็คือ การเรียกหน้าเว็บใหม่โดย path จะเปลี่ยนไปตามที่อยู่ใหม่ ซึ่งถ้าเรา copy แล้วเอาไป paste ใน tab ใหม่ก็จะสามารถแสดงผลลัพธ์ได้เหมือนเดิมทุกประการ Forward คือ การเรียกหน้าเว็บใหม่โดย path จะไม่เปลี่ยนแปลง ซึ่งสิ่งที่แสดงอยู่ในช่อง address นั้น จะเป็น path เก่าของหน้าเดิม ถ้าเราต้องการเข้ามาหน้าเว็บนี้อีกครั้ง เราจะไม่สามารถเปิดหน้านี้ด้วย path ที่แสดงอยู่ได้ หรือถ้าเรา bookmark ไว้ เมื่อเราเปิดซ้ำ เราก็จะได้หน้าเว็บที่อยู่ตาม path นั้นๆแทนที่จะเป็นหน้าที่เราต้องการ หน้าเว็บบางหน้า ผู้เขียนเว็บอาจต้องการป้องกันเพื่อไม่ให้สามารถเข้ามาดูหน้าเว็บนี้ได้โดยตรง ก็อาจบัง path ด้วยวิธีการ forward แต่ถึงอย่างไร ถ้ามีผู้รู้ที่อยู่ของหน้าเว็บก็สามารถเข้าได้อยู่ดี ทำให้ปัจจุบ

[Java] Log4j การเก็บบันทึก (log file)

Image
log4j เป็น class สำหรับใช้ในการจัดเก็บบันทึกภาษา java ซึ่งอาจใช้แทน System.out.println(); ที่เราแทรกๆกันใน code เพื่อ debugging ก็ได้ แต่มันเหนือกว่าตรงที่ log4j สามารถอ่านได้ง่ายกว่า กำหนดระดับของการ debugging ได้ สามารถปรับแต่งเพื่อให้ log แสดงบน console, แสดงใน text file, แสดงบน database หรือ email ก็ทำได้ ซึ่งระดับของ log มีอยู่ 5 ระดับ คือ DEBUG, INFO, WARN, ERROR, FATAL โดยเรียงตามระดับของความร้ายแรงจากต่ำไปสูง วิธีการติดตั้ง log4j สำหรับ Java class ของเรานะครับ โดยตัวอย่างนี้จะทำบน Netbeans IDE โดยใช้ DailyRollingFileAppender ซึ่งจะบันทึก log ลง text file รายวันครับ 1. Download Log4j 2. ทำการ Add เฉพาะไฟล์ .jar ลงไปใน library project ของเราครับ Add log4j library 3. เมื่อ Add library log4j แล้ว จะทำให้เราสามารถ import class ของ log4j ได้ แต่ว่า เราต้องกำหนด properties ของ log4j ด้วยการเขียน properties file (Add file -> other -> properties file) ครับ โดย log4j.rootLogger=DEBUG, connectorLog #กำหนดระดับเป็น DEBUG ,ตั้งชื่อตัวแปร log4j.appender.connectorLog=org

[Java] keyword และสิทธิ์การเข้าถึงตัวแปร/เมธอด

static เป็นคีย์เวิร์ดที่จะทำให้ method หรือตัวแปร มีการจอง memory เพียงหนึ่งเดียวเท่านั้น เช่น ถ้าประกาศ Object หลายๆตัว ตัวแปร static ของแต่ละ Object จะถือว่าเป็นตัวเดียวกันทั้งหมด (ถ้าไม่ใช่ static ก็จะจองพื้นที่ใหม่สำหรับแต่ละ Object) ตัวแปรลักษณะนี้จะเหมาะสำหรับการประกาศแล้วใช้เหมือนกันในหลายๆ Class แต่ถ้าใช้เพียงไม่กี่ Class ก็จะทำให้เปลือง memory พอสมควร เพราะว่าปกติแล้วการเขียน Class จะเหมือนการบอกลอยๆว่าจะมีรายละเอียดอะไรบ้าง แต่จะยังไม่จอง memory จนกว่าจะมีการสร้าง Object แต่สำหรับ static แล้ว Class จะมีการจองพื้นที่ memory ไปก่อนด้วยทำให้เราสามารถเขียนในลักษณะ <ชื่อคลาส>.<ตัวแปร static> ได้ public static void main(String[] args) final เป็นคีย์เวิร์ดที่ระบุว่าสิ้นสุดหรือสุดท้ายแล้ว คือ การกำหนดค่าให้ตัวแปรที่มีการประกาศเป็น final จะกำหนดค่าเริ่มต้นได้เพียงครั้งเดียว และค่าเริ่มต้นนี้ จะเปลี่ยนแปลงไม่ได้ เช่น ถ้าเป็น Method ก็จะไม่สามารถนำไป inherit ต่อได้ ถ้าเป็นตัวแปรก็จะไม่สามารถเปลี่ยนแปลงค่าได้ มักใช้สำหรับตัวแปรที่ต้องการให้มีข้อมูลคงที่ตลอดทั้งโปรแกรม

เรื่องของ ++i กับ i++

การเขียนโปรแกรม หลายๆภาษาย่อมให้มีการเขียน i++ แทน i = i + 1 ซึ่งผมก็เคยได้ยินมาว่า การเขียน i++ และ ++i นั้นให้ค่าที่แตกต่างกัน คือ i++ จะนำค่าไปใช้ก่อนค่อยบวก ส่วน ++i จะบวกก่อนค่อยนำค่าไปใช้ พูดๆไปก็งงอยู่เหมือนกัน ลองดูตัวอย่างนี้ครับ i=1; j=i++; // i=2, j=1 i=1; j=++i; // i=2, j=2 ถ้าเข้าใจแล้วว่า i++ และ ++i ทำงานต่างกันอย่างไร ผมก็จะพูดถึงกรณีของ for loop นะครับ เคยได้ยินไหมว่าเวลาใช้ loop ไม่ควรใส่การทำงานอะไรเยอะแยะภายใน เช่น chaining method เพราะนอกจากจะทำให้มีโอกาสเกิด null แล้วยังต้อง access method ทุกๆ รอบอีกต่างหาก for(i=0;i<n;i++) for(i=0;i<n;++i) ตัวอย่างชุดนี้มีอะไรแปลกไหม การทำงานเหมือนกันแน่ๆ จะนำค่าไปใช้ก่อนค่อยบวก(i++) หรือบวกก่อนค่อยนำค่าไปใช้(++i) มันก็วนรอบเท่ากันอยู่ดี แล้วยังไง ดูความแตกต่างของสองอย่างนี้กัน (copy มาอีกทีจาก link ด้านล่าง) i++ : create a temporary copy of i increment i return the temporary copy ++i : increment i return i แต่มันก็ไม่ใช่เรื่องใหญ่อะไร รู้ไว้ขำๆ ก็พอนะคร้าบบ ที่มา : http://en.wikipedia.org/wiki/Opc

[Android] SuperUser (Root) - สิทธิที่เหนือกว่า

Image
เรื่องราวของ Android Tip มาอีกแล้วครับ วันนี้ขอเสนอ การให้สิทธิ์ root โทรศัพท์ Android ของเรากัน การ root คือ สิทธิความสามารถให้การเข้าถึง / หรือเรียกว่า root (ถ้าใครเคยใช้ linux คงเข้าใจ) ซึ่งเป็น folder ใหญ่สุดของเครื่องก็ว่าได้ ซึ่งจะมีเฉพาะผู้มีสิทธิ์ SuperUser เท่านั้นจึงจะสามารถเข้าถึงได้ และมีสิทธิ์ปรับแต่งตามต้องการ สำหรับ Android นั้น ก็ทำงานเช่นเดียวกัน  เพราะฉะนั้น การ root Android ก็คือ การให้สิทธิ์ SuperUser กับเครื่องนั้นๆนั่นเอง สำหรับผู้ใช้มือใหม่หัด root การให้สิทธิ์ root กับเครื่อง Android ของเรานั้น ทำได้ 2 วิธี คือ 1) ใช้ App. ชื่อว่า Universal Androot  ติดตั้งลงบนโทรศัพท์เหมือน App. ทั่วไป และเพียงแค่กดปุ่ม root ก็จะได้สิทธิ์ SuperUser มาครอบครองง่ายๆ แต่ว่า App. นี้บางเครื่องก็ใช้ไม่ได้นะครับ 2)ใช้โปรแกรม SuperOneClick  สำหรับติดตั้งบน PC อันนี้ต้องต่อสาย USB นะครับ ติดตั้ง Driver โทรศัพท์ให้เรียบร้อย(ถ้าเคย Sync โทรศัพท์กับคอมฯผ่าน USB ก็ไม่ต้องติดตั้งใหม่ครับ) จากนั้นเปิดโปรแกรม SuperOneClick แล้วกดปุ่ม Root เท่านี้ก็เรียบร้อยครับ รอโปรแกรมทำงานไม

Modem, Router, Switch, Hub, AccessPoint ?????

Image
เรื่องของ Modem, Router, Switch, Hub, Access Point ที่เป็นอุปกรณ์อิเล็กทรอนิกส์สำหรับเชื่อมต่อเครือข่ายอินเตอร์เน็ตครับ ใครใช้ของพวกนี้อยู่ก็คงคุ้นๆหูกันบ้างครับ แต่ปัญหามันอยู่ที่ชื่อของมันถูกเรียกกันปนเปไปมา จนแทบจะไม่รู้เลยว่า มันเหมือนกันหรอ? หรือว่าเรียกได้หลายชื่อ? แล้วถ้าไม่เหมือนแต่ละอันมันคืออะไรล่ะ?? คำตอบก็อยู่ในนี้แล้วครับ Modem เป็นอุปกรณ์สำหรับแปลงสัญญาณครับ ถ้าเป็นเน็ตทั่วๆไปตามบ้าน(ADSL) สัญญาณ Internet ก็จะถูกส่งสัญญาณมากับสัญญาณโทรศัพท์บ้านของเรานี่แหละครับ ถ้าเราอยากส่งข้อมูล(เล่นเน็ต) ผ่านสายนี้ เราต้องทำการแปลงสัญญาณด้วย Modem ครับ ถ้าใครเคยใช้ Internet แบบ Dial-up ก็เป็นลักษณะนี้เช่นกัน จะใช้ก็ต้องต่อสายโทรศัพท์เข้ากับเครื่องคอมพิวเตอร์ แล้วก็ส่งสัญญาณไป เพียงแต่ว่าสัญญาณที่มาช้ากว่า ADSL มาก แล้วก็ไม่สามารถใช้งานแบบคู่สายเหมือน ADSL ที่โทรไปด้วยเล่นไปด้วยได้เหมือนปัจจุบัน Router อุปกรณ์ที่ถูกเข้าใจผิดบ่อยที่สุดในบรรดาอุปกรณ์เชื่อมต่อเครือข่ายทั้งหลาย บางคนก็คิดว่า มันคืออุปกรณ์กระจายสัญญาณ Wifi บางคนก็คิดว่ามันคือตัวรับสัญญาณ ADSL แต่หน้าที่จริงๆของ

VCD DVD HD

ผมว่าหลายๆคนคงดูหนังกันนะครับ ทั้งซื้อแผ่นมาหรือว่าโหลดตามเว็บต่างๆ ก็คงคุ้นหูกับ VCD,DVD,Hi-Def หรือว่าจะ Master ,Rip อะไรต่างๆพวกนี้ ก็เลยอยากแบ่งปันเผื่อใครที่ยังไม่รู้แล้วกันนะครับ เล่าให้ฟังแบบบ้านๆแล้วกัน... ขอพูดถึงแค่รูปแบบของหนังในระบบที่เป็น Digital แล้วนะครับ เทป VDO ข้ามไปเลยแล้วกัน ^^ VCD เป็นที่นิยมมากตามร้านเช่าหนังครับ ความจุ 700MB ดูหนังได้ประมาณชั่วโมงนิดๆ ก็หมดแผ่นแล้วครับ ดังนั้นหนังเรื่องนึงส่วนใหญ่ก็ใช้ไม่เกิน 2 แผ่น ยาวหน่อยก็ 3 อย่างเรื่อง Pearl Harbor หรือ The Lord of The Ring ครับ ความคมชัดจะน้อยครับ ความละเอียดสูงสุดอยู่ที่ 352x288 pixels ครับ ลองสังเกตด้วยตาง่ายๆ ตอนระหว่างการเคลื่อนไหวของภาพครับ จะเบลอกันอย่างเห็นได้ชัดทีเดียว DVD ก็เป็นที่เห็นได้รองลงมาตามร้านเช่านะครับ โดยทั่วไปจะใช้แบบที่มีความจุ 4.7 GB คือ DVD5 (มี DVD9 ความจุประมาณ 8.4 GB ด้วย) หนังที่เก็บจะมีคุณภาพมากขึ้น และสามารถเก็บเพียงพอในแผ่นเดียวได้ ความละเอียดจะเป็น 480p หรือ 720x480 pixels (อ้อ อย่าเข้าใจผิดว่าตัว p หลัง 480p เป็น pixel นะ มันไม่ใช่ เดี๋ยวจะพูดถึงทีหลัง) นอกจากจะเพิ่มคุณภ

สาวก Google

Image
พักการ update blog มาหลายวันเหมือนกัน วันนี้ก็มา Review Google Application ที่ผมใช้อยู่เป็นประจำกันหน่อย สาระของ blog ในวันนี้ไม่มีอะไรครับ เขียนเล่นๆ ออกแนวเล่าสู่กันฟังมากกว่า.. เห็นหลายๆคนเป็นสาวกของค่าย Apple ครับ ผมก็เลยเพิ่งสังเกตเห็นว่าตัวเองก็เป็นสาวกเหมือนกัน แต่เป็นสาวกฝั่ง Google นะ ^^ ก็มาลองดูครับว่ามีใครเป็นสาวกพี่กูเหมือนผมบ้าง Google Search Engine บริการแรกของ Google ที่ผมรู้จักก็ว่าได้ และคิดว่าเป็นอย่างแรกที่นึกถึงเมื่อพูดถึง Internet เมื่อครั้งยังเด็ก เป็นเว็บที่สามารถหาข้อมูลได้ง่ายที่สุด ตอนนั้นจะชอบมากกับปุ่ม "ดีใจจัง ค้นแล้วเจอเลย" มาก เพราะเน็ตก็ช้าแล้วก็ขี้เกียจเลือก คิดแบบเด็กๆอ่ะนะ^^ การพัฒนาการค้นหาได้ดีขึ้น หารูปภาพ หาหนังสือ หรืออื่นๆได้เก่งทีเดียว ทำให้เราสามารถเข้าถึงข้อมูลได้หลากหลายมากขึ้น เร็วมากขึ้น เร็วกว่าต้องไปนั่งค้นหนังสือตามห้องสมุด ตามร้านหนังสือ (แต่ก็ต้องยอมรับว่าหนังสือก็ให้คำตอบที่ตรงใจกว่าเป็นบางที) ก็เลยทำให้หลายๆคนโดนใจกับสิ่งนี้ของพี่กูของเราทีเดียว Google Translate   สำหรับหลายๆคนที่ไม่แข็งเรื่องภาษาอังกฤษ รวมถึง

[Android] ตั้งค่า App. ให้ลง Mem. แบบ default

Image
หลายๆ คนอาจจะเคยประสบกับปัญหา Mem. เครื่องเต็ม ลงโปรแกรมเพิ่มไม่ได้แล้ว ซึ่งปกติถ้าใช้จนเหลือน้อยกว่า 20 MB Android ก็จะเตือนว่าเต็มแล้ว วิธีแก้ปัญหาเบื้องต้นก็คือ ลง App2SD ซึ่งเป็นโปรแกรมที่จะย้ายโปรแกรมของเราไปที่ Memory Card ให้ ถ้าทำได้นะ เพราะบางโปรแกรมก็ไม่ยอมให้ย้าย ใช้ไปใช้มาระยะหนึ่งก็จะรู้ว่า แม้ว่าเราจะย้ายไปแล้วก็ตาม แต่มันก็ยังมีการเก็บอะไรบางอย่างไว้ที่ Mem. เครื่องของเราอยู่ดี ไอ้ตรงนี้แหละ ทำให้มันเต็มโดยเราไม่รู้ตัว วันนี้ ผมก็เลยมีวิธีอีกวิธีหนึ่งมาเสนอ เป็นการเปลี่ยนค่า Default ของเครื่อง Android ของเราเลยครับ ทำให้โปรแกรมใหม่ที่เราลง ไม่ยุ่งเกี่ยวกับ Mem. เครื่องอีกต่อไป ทั้งการแอบเก็บไฟล์ ทั้งไฟล์หลัก จะถูกเก็บใน Memory Card ทั้งหมดครับ เฮ....... 1. ก่อนอื่นก็เตรียมเครื่องมือให้พร้อมก่อนนะครับ (สำหรับ Developer ก็ข้ามขั้นตอนนี้ไปได้เลยนะครับ เพราะคงลง SDK เพื่อเขียนโปรแกรมบน Eclipse อยู่แล้ว ^^) Android SDK :  http://developer.android.com/sdk/index.html โหลดมาแล้วก็รัน SDK Manager.exe แล้วมันจะขึ้นให้ Install SDK platform นะครับ ก็กดๆไปได้เลย (รอนานหน่อยกว่า

PHP versus JSP

เรื่องราวในวันนี้ก็จะเป็นเรื่องของภาษาที่ใช้สำหรับทำเว็บ ในลักษณะ Server-side script ที่ค่อนข้างได้รับความนิยมในปัจจุบันนี้นะครับ เริ่มต้นด้วย PHP ก่อนครับ PHP เป็นภาษาที่นิยมมากสำหรับการทำเว็บไซต์ทั่วไปครับ เหมาะกับผู้เริ่มต้นเขียนโปรแกรมสคริปต์สำหรับเว็บไซต์ ยิ่งถ้ารู้ syntax ภาษา C มาอยู่แล้วค่อนข้างจะศึกษาง่ายครับ และด้วยความนิยมก็ทำให้หาข้อมูลได้ไม่ยากครับ อีกทั้งสามารถหา Hosting ได้ง่าย ฟรีก็มี เสียตังก็ไม่แพงครับ แต่ถึงแม้ว่าจะเป็นภาษาที่รองรับการเขียนโปรแกรมเชิงวัตถุ (Object-Oriented Programming : OOP) แต่ก็ยังทำได้ไม่ดีนัก  สำหรับ JSP แล้ว จะเป็นสคริปต์ที่ทำงานบน J2EE ครับ ด้วยความสามารถที่เป็น Java นี่แหละทำให้สามารถรองรับได้หลายระบบปฏิบัติการ JSP จะเหมาะกับองค์กรใหญ่ๆ ที่มี server เป็นของตัวเอง และยังมีความปลอดภัยสูงก็เลยมักจะเจอในองค์กรใหญ่ๆ (ก็จะมีบ้างที่ใช้ ASP ของ Microsoft การทำงานคล้ายๆกัน แต่ ASP จะมี license ทำให้มี vendor มาดูแลเวลามีปัญหาครับ) โดยปกติแล้ว JSP จะทำงานร่วมกับ servlet และ bean ครับ จะทำให้ได้คุณสมบัติการเขียนโปรแกรมเชิงวัตถุแบบ MVC (Model-View

กำเนิด JAVA

Image
จาวา หรือ ชวา ที่เป็นชื่อกาแฟจากทางอินโดนีเซียมาเกี่ยวข้องกับ การเขียนโปรแกรมภาษาจาวาได้อย่างไร อย่างที่รู้กันดีว่า Java เป็นภาษาโปรแกรมที่มีต้นกำเนิดมาจากบริษัท Sun Microsystem, Inc. ซึ่งมีความต้องการที่จะพัฒนาภาษาที่สามารถทำงานได้โดยไม่ยึดติดกับระบบปฏิบัติการ (Cross-Platform) ซึ่ง James Gosling และทีมงานได้ตั้งชื่อภาษาใหม่นี้ว่า OAK เพราะบริเวณรอบๆที่ทำงานของเขานั้นเต็มไปด้วยต้นโอ้ค แต่ก็บังเอิญไปซ้ำกับชื่อบริษัท Oak Technologies ทำให้มีปัญหาเรื่องลิขสิทธิ์ ก็เลยต้องเปลี่ยนไปเป็น JAVA ซึ่งเป็นชื่อกาแฟที่เขาดื่มกันนั่นเอง แต่กว่าจะมาเป็นชื่อนี้ได้ก็เป็นที่ถกเถียงในหมู่ผู้อาวุโสของบริษัทนานพอสมควร จากนั้น Java Programming Language ก็ถือกำเนิดขึ้น และถูกใช้กันอย่างแพร่หลายในปัจจุบัน การที่ Java สามารถทำงานข้าม platform ได้นั้น เครื่องที่จะรันจะต้องมี Java Virtual Machine (JVM) เพื่อเป็นตัวกลางระหว่างภาษาจาวาและภาษาเครื่องสำหรับแต่ละระบบปฏิบัติการ เมื่อ compiler จัดการกับโค้ดภาษาจาวาแล้วจะได้ไฟล์ไบต์โค้ด จากนั้น JVM จะแปลเพื่อแสดง output สำหรับแต่ละระบบปฏิบัติการ ที่ม

Netbeans IDE Profiler คืออะไร?

Image
หลายคนอาจเห็นเครื่องมือเกะกะๆ หลายๆอย่างบน Netbeans IDE วันนี้เลยขอนำเสนอ Profiler ซึ่งเป็นการรันโปรแกรมอีกรูปแบบหนึ่ง ทำอะไรได้บ้าง ไปดูกัน... บอกก่อนครับว่า Profiler เป็นการรันโปรแกรมโดยจะสามารถดูการทำงานของเธรด (Thread Monitoring) การใช้ CPU และการใช้ Memory ครับ ซึ่งจะสามารถดูรายละเอียดต่างๆเมื่อเวลาเปลี่ยนไป หรือเมื่อมีเหตุการณ์ใดๆ (Event) เกิดขึ้น เมื่อเรากด Profile และเลือก project ที่ต้องการแล้ว จะมีหน้าต่างขึ้นมาให้เราแบบนี้ครับ ซึ่งจะเป็นหน้าต่างให้เราเลือกว่าเราต้องการจะ Profile project ของเราแบบไหนครับ เลือกแล้วกด Run ก็จะมีการ run project ขึ้นมาครับ เหมือนเรารันปกตินั่นแหละ แต่ในตัว Netbeans จะมีการแสดงผลที่แตกต่างออกไปครับ คือมีหน้าจอให้เราดูว่าเมื่อเราทำอะไรกับโปรแกรมเราไปแล้ว จะมีผลลัพธ์อย่างไร ส่งผลอะไรต่อ Thread, CPU หรือ Memory ของเราอย่างไรบ้างครับ

Harddisk ที่หายไป

Image
เรื่องนี้หลายคนอาจจะรู้แล้ว อยากเขียนไว้อ่านเล่นๆ เผื่อเป็นความรู้ใหม่สำหรับคนอื่นๆนะครับ เคยลองสังเกตไหมว่าฮาร์ดดิสก์ของเรา(รวมถึงพวกแฟรชไดรว์ด้วยนะครับ) ต่างโฆษณาว่า เก็บความจุได้เท่านั้นเท่านี้ เช่น 320 GB บ้าง 500 GB บ้าง แต่พอลองมาใช้จริงๆแล้วความจุกลับไม่ถึงตามขนาดที่บอก ส่วนใหญ่จะน้อยกว่านิดหน่อยครับ ถามว่า ความจุส่วนที่หายไปล่ะ โดนหลอกรึเปล่า?? จริงๆแล้ว เป็นเรื่องของระบบตัวเลขที่ใช้ในการคำนวณที่แตกต่างกันของ บริษัทผู้ผลิตฮาร์ดดิสก์ กับ ระบบปฏิบัติการครับ เราจะเอาขนาดที่เห็นจากบนเครื่องคอมของเราเทียบกับข้างกล่องว่ามันไม่เท่ากันไม่ได้ครับ เพราะมันแค่การคำนวณคนละแบบ ผู้ผลิตฮาร์ดดิสก์ จะคำนวณหน่วยตามมาตรฐาน SI Unit ที่เราคุ้นหูกันตอนเรียนวิชาฟิสิกส์ครับ จะเป็นเรื่องของคำนำหน้าหน่วย (Prefix) ซึ่งคิดเป็นเลขฐาน 10 ดังนี้ครับ 1 Giga(G) = 1000 Mega(M) 1 Mega(M)  = 1000 Kilo(K) 1 Kilo(K) = 1000 unit ระบบปฏิบัติการ ก็อย่างที่รู้ๆกันก็คือ ระบบคอมพิวเตอร์จะคำนวณเป็น bit ครับ(8 bits = 1 byte) ซึ่งทำให้การคำนวณต้องเป็นลักษณะเลขฐาน 2 ดังนี้ครับ 1 Giga(G) = 1024 Mega(M) 1 Mega

ปัญหาขำๆ กับ User #2

6. เน็ตช้า ทำอะไรไม่ได้ กลายเป็นเรากระจอก เรื่องนี้สำหรับกรณีที่อยู่บ้าน หรือที่ๆไม่มีเน็ตแรงๆ อย่างดีก็ edge ครับ มันเกิดจากความไม่เข้าใจจาก User ของเราครับ ไม่เข้าใจถึงขั้น Internet มีความสำคัญยังไง ประมาณว่าใช้พิมพ์งาน เล่นเกมไพ่ แค่นั้นจบครับ หลายๆโปรแกรมมันก็สามารถลงได้โดยไม่ต้องต่อเน็ต แต่อย่างเช่น Antivirus ยังไงมันก็ต้อง Register ผ่านเว็บ หรือโหลด Update Virus ล่าสุดมาในการลงครั้งแรก เราก็พยายามลงให้นะครับ แต่มันไม่ไหวจริงๆ จากนั้น User ก็จะนิยามเราว่า "อ่อน" ครับ 7. Internet Explorer ลูกเดียว ถ้าได้ใช้ Windows แล้ว ยังไง Internet Explorer หรือ IE ก็ต้องติดมาด้วยอย่างแน่นอน User จะรู้จัก Web Browser แค่ตัวนี้ครับ และเคยชินกับมันพอสมควร เคยชินจนถึงขั้นที่เข้าใจผิดว่าโปรแกรมที่เล่นเว็บได้มีแค่ IE ครับ การขยับไปเล่น Firefox หรือ Chrome ก็เป็นอะไรที่ยากเหมือนกันนะครับ ถ้าถามว่าทำไมต้องเปลี่ยน browser ก็สืบเนื่องมาจากข้อแรกนะครับ เนื่องจากเน็ตมันช้า บางครั้ง IE ก็มีความสามารถน้อยที่จะเปิดหน้าเว็บด้วยความเร็วต่ำๆ ลองเปลี่ยนดูบ้าง เผื่อจะเล่นได้สะดวกขึ้น เป็นการแนะนำ Use

"G" evolution

Image
วันนี้อยากนำเสนอเรื่องราวของวิวัฒนาการของ "G" ที่เราได้ยินกันคุ้นหูนะครับ ลองมาดูกันว่า ตั้งแต่ 1G จนถึง 3G ที่มีในปัจจุบัน มันคืออะไรนะครับ ตัว "G" มาจาก "Generation" หรือยุคสมัย สำหรับการรับส่งข้อมูลในลักษณะสื่อ ไร้สาย ครับ 1G เป็นยุคของสัญญาณแบบ Analog ครับ คือส่งผ่านสัญญาณในลักษณะของคลื่นวิทยุ ไม่ได้มีการแปลงในรูปแบบของ Digital ใดๆครับ ทำให้สามารถทำได้แค่ส่งได้แค่เสียงไปครับ หรือง่ายๆก็คือ สามารถคุยโทรศัพท์กันได้เท่านั้น แต่ในยุคนี้โทรศัพท์มือถือก็ยังไม่ได้แพร่หลายนัก ส่วนใหญ่ก็ใช้โทรศัพท์บ้านซะส่วนใหญ่ (หรืออาจเพราะมือถือยุคนี้เครื่องมันใหญ่ก็เป็นได้นะ หุหุ)

ประสบการณ์ การฝึกงาน

Image
ก่อนที่จะได้รับการฝึกงาน ผมก็เป็นนักศึกษาสาขาคอมพิวเตอร์ที่มีความรู้ 'งูๆปลาๆ' คนนึง ก็ได้ยินเรื่องราวมาเยอะเกี่ยวกับการฝึกงาน ว่า เค้าไม่มีอะไรให้ทำหรอก ถ่ายเอกสารมั่ง เดินเอกสารมั่ง หรืออย่างหรูก็อาจจะได้ทำเว็บ ทำโปรแกรม Visual Basic (VB) แบบขำๆไป เพราะด้วยความที่คณะผมไม่มีการบังคับฝึกงาน แต่นักศึกษาสามารถทำเรื่องเองได้ ก็เลยลังเลใจว่าจะฝึกดีหรือไม่ฝึกดี แต่ความคิดฝ่ายดีชนะครับ ตกลงฝึกงานเพื่อหาประสบการณ์ อย่างน้อยใน Resume เราก็มีบรรทัดเพิ่มมาอีกนิดหนึ่งก็ยังดี ^^ ผมเข้ากับการฝึกงานที่บริษัท การบินไทย จำกัด(มหาชน) ครับ ได้ลงที่ Head Office ครับ ถ้าใครรู้จักตลาดหลังการบินไทย ก็หมายถึงตลาดหลัง Head Office การบินไทยนี่แหละ ในวันแรกๆ ต้องยอมรับว่าไม่ค่อยประทับใจเท่าไร เพราะได้อยู่ในแผนกที่ไม่ตรงกับสาขาตัวเองเลย แผนกที่ได้ลงเค้าก็ไม่ค่อยมีงานในช่วงนั้น ทั้งเราทั้งพี่ๆเค้าก็ว่างๆกันหมด บอกให้เรานั่งดูเว็บของบริษัทศึกษาอะไรไปก่อน ตอนแรกๆก็ตื่นเต้น แต่บอกดูไปหลายชั่วโมงก็เริ่มเซ็งๆกับการคลิกไปๆมาๆเหมือนกัน -*- ก็เลยตกลงว่าจะไปคุยกับฝ่าย Human Resource เพื่อขอย้ายแผนกฝึก เค้าก

Review หนังสำหรับนักคอมพิวเตอร์

Image
Minority Report เรื่องนี้เป็นหนังแนวแอคชั่น สืบสวน ดูแล้วต้องคิดตามนิดนึง ในฉากของเรื่องมีการใช้ Technology ที่ดูเป็นอนาคตสำหรับปี 2002 แต่ปัจจุบันอาจคิดว่าเป็นเรื่องปกติไปซะแล้ว เนื้อหาของเรื่องจะเป็นเรื่องราวการสืบสวนของพระเอกที่ได้รับคำทำนายจากผู้หยั่งรู้ (มี 3 คน)  ว่าจะเป็นคนก่อเหตุฆาตกรรม ทำให้พระเอกต้องหาคำตอบว่าเกิดอะไรขึ้น และเขาจะฆ่าใครตามคำทำนายจริงหรือ หรือว่าคำทำนายจะผิดพลาด แล้วถ้าผิดพลาดจริงๆ หน่วย Pre-Crime ซึ่งเป็นหน่วยสกัดอาชญากรรมที่อาศัยคำทำนายอนาคตจากผู้หยั่งรู้ ทำงานผิดพลาดไปบ้างหรือเปล่า? The Matrix เป็นหนังแอคชั่นที่สนุกมากเรื่องหนึ่ง มีทั้งหมด 3 ภาค ภายในเรื่องเป็นยุคสมัยที่เจริญก้าวหน้ามาก เครื่องจักรสามารถทำงานได้ด้วยตัวเอง ซ่อมแซมตัวเอง ผลิตตัวใหม่ ซึ่ง The Matrix เป็นอีกโลกหนึ่งที่อยู่ในระบบคอมพิวเตอร์ หรือก็คือโปรแกรมโปรแกรมหนึ่งนั่นเอง มนุษย์จะเข้าไปในโปรแกรมนี้ได้ต้องมีการเสียบปลั๊กเข้าสู่ร่างกาย แต่ก็ไม่ได้มีแค่มนุษย์เท่านั้นที่จะเป็นผู้ใช้โปรแกรมนี้ อาจจะเป็นเครื่องจักรก็ได้ เมื่อเข้าไปภายในแล้วก็สามารถสอนความสามารถต่างๆได้ คล้

เหตุผลที่ผมชอบ Android

Image
ถ้าจะพูดถึงโทรศัพท์มือถือในยุคปัจจุบัน ส่วนใหญ่ก็มักจะมีระบบปฏิบัติการแล้ว ("ส่วนใหญ่"นะ) ที่เด่นๆก็มีอยู่ไม่กี่ค่าย Android ของ Google, iOS ของ Apple, Windows Phone ของ Microsoft, BBOS ของ Research In Motion (RIM) แล้วก็ Symbian ของ Nokia ผมก็จะเล่าถึงแต่ละ OS ไปนะครับ Android เป็นระบบปฏิบัติการสำหรับ Smart Phone ของ Google บริษัทยักษ์ใหญ่ที่คนส่วนใหญ่รู้จักจาก Google Search แต่รู้ไหมว่า Google ทำอะไรอีกมากมายให้ผู้ใช้ใช้ได้ฟรี รายได้ส่วนใหญ่ก็มาจากค่าโฆษณาต่างๆที่เราเห็นกันเกะกะตา ทำให้ App. ของ Android ก็จะมีแจกฟรีเยอะ เพราะ Google อนุญาติให้ติดโฆษณาใน App. ได้ด้วย

ว่าด้วยเรื่องของ Computer

Image
คอมพิวเตอร์ เป็นอุปกรณ์ที่ทำให้โลกรู้ว่า เครื่องจักรก็สามารถฉลาดได้ แต่ถ้าลองดูระบบการทำงานของคอมพิวเตอร์จาก clip ด้านบนก็จะรู้ว่า จริงๆคอมพิวเตอร์ไม่ได้ฉลาดอะไรเลย เพียงแต่ทำงานตามที่ได้รับคำสั่งมาเท่านั้น ตามทฤษฎีพื้นฐานที่เรียนๆกันมาเป๊ะๆเลย คือ Input -> Process -> Output ใน clip นี้ก็จะเป็นการเลียนแบบพฤติกรรมของคอมพิวเตอร์ ด้วยมนุษย์ (คนที่แสดงนิ่งมาก 555+)

html + javascript + css

วันนี้จะมาเล่าถึงความรู้พื้นฐานเกี่ยวกับเรื่อง web site กันดีกว่า keyword จากหัวข้อวันนี้ก็เป็นภาษาที่ใช้ในการทำเว็บทั้งสิ้น แต่มันใช้อะไรยังไง แตกต่างก้นยังไง เดี๋ยวจะเล่าให้ฟังแล้วล่ะ ^^ ก่อนอื่นถ้าพูดถึงการทำเว็บ คงจะต้องรู้จักภาษา HTML กันก่อน ต้องบอกก่อนว่า HTML ไม่ใช่ภาษาโปรแกรม(Programming Language) เพราะเป็นภาษาที่ไม่สามารถทำการคำนวณใดๆได้ สามารถใช้เป็น input,output บนหน้าเว็บได้เท่านั้น โดย HTML สามารถสร้าง textbox, combobox, radiobox, checkbox,... หรืออื่นๆได้ หรือจะพูดให้ง่ายๆก็คือ เพียงลำพัง HTML ก็สามารถทำหน้าเว็บแห้งๆสักเว็บหนึ่งได้ javascript หลายคนอาจจะสงสัยว่าทำไมถึงชื่อ javascript แล้วมันใช่ภาษา java หรือเปล่า?? คำตอบคือ ไม่ใช่และไม่มีความเกี่ยวข้องในตัวภาษาใดๆทั้งสิ้น สิ่งเดียวที่มีความสัมพันธ์กันระหว่าง javascript กับ java คือ บริษัท SUN เป็นผู้พัฒนาภาษา script ที่ช่วยในการทำเว็บไซต์ขึ้น และที่รู้กันว่า java ก็เป็นของ SUN มา น่าจะเป็นความคิดว่าถ้านึกถึงคำว่า "java" ก็ต้องนึกถึง SUN เลยเกิดเป็น javascript โดยภาษา javascript นี้เป็นภาษาที่ทำงานร่วมกับ h

[Java] Java Servlet คืออะไร?

ก่อนอื่นก็ต้องพูดถึงการเขียน web ก่อนนะครับ ในการทำ web site สักเว็บนึง ก็ต้องมีหลาย web page ครับ ซึ่งก็ต้องมีวิธีการส่งค่าระหว่าง web page ครับ อย่างเช่น อยากส่ง username , password ไปให้อีกหน้าหนึ่งเพื่อเช็คว่ามีในฐานข้อมูลหรือไม่ อะไรประมาณนี้ ถ้าลองสังเกตกันดีๆ เวลาเราเล่นเว็บปกติ อาจจะมีอะไรที่ยืดๆยาวๆในช่อง URL ของเรา เช่น ..../main.php?ID=12345&str=abcde หรืออะไรทำนองนี้ เครื่องหมาย "?" เป็นการบอกว่าข้างหลังมันคือ parameter นั่นเอง ในที่นี้มี parameter ชื่อ ID ที่มีค่า 12345 และ str มีค่า abcde การที่เราจะสามารถส่งค่าในลักษณะนี้ได้ สำหรับ HTML แล้ว เราสามารถทำได้โดยการ submit ที่อยู่ภายใต้แท็ก form มา ดังนี้ <form action="webpage2.php" method="GET"> <input name="ID" type="text" /> <input name="submit" type="submit" /> </form> ซึ่งผลลัพธ์จะเป็นดังนี้ *ไม่ต้องลองกด submit จริงๆนะครับ เป็นตัวอย่าง output เฉยๆ จากโค้ดตัวอย่างนี้ เมื่อกด submit แล้ว จะมีการเรี

ปัญหาขำๆ กับ User #1

เรื่องราวที่จะนำเสนอวันนี้ เป็นเรื่องเกี่ยวกับผู้ใช้คอมพิวเตอร์ หรือที่รู้จักกันในนาม User ครับ ปัญหาขำๆที่เจออยู่บ่อยๆนี้ ผมเชื่อว่าหลายคนคงจะได้เจอกับตัวเองมาแล้ว ขอนำเสนอเป็นข้อๆไปนะครับ 1. เปิดคอมไม่ติด เปิดเครื่องติดจอไม่ติด ปัญหานี้ สร้างความตกใจให้กับผู้ใช้ หรือ User ของเราเป็นอย่างมากครับ 'คอมเสียรึเปล่า?' 'ติดไวรัสแน่เลย' เราก็เลยต้องไปดูครับ พอไปถึงที่เกิดเหตุแล้ว เราก็จะพบว่า "ไม่เสียบปลั๊ก!" 2. โปรแกรมนี้ใช้ยังไง ไอ้นั่นอยู่ไหน ไอ้นี่อยู่ไหน ผ่านโทรศัพท์ สำหรับใครที่เรียนสาขาด้านคอมพิวเตอร์คงเคยเจอนะครับคำถามเหล่านี้ เราๆมันจะถูกเข้าใจผิดว่า ถ้าเรียนคอมฯก็ต้องรู้จักโปรแกรมครอบจักรวาลครับ โปรแกรมไหนปุ่มอยู่ไหน ตั้งค่าอะไรยังไง ใช้แบบไหน ยิ่งคุยผ่านโทรศัพท์ด้วยแล้ว ยากที่จะอธิบาย.. ก็ยอมรับนะครับว่าโปรแกรมดังๆก็ที่เคยใช้มาก็รู้ แต่ไอ้โปรแกรมที่ไม่เคยใช้จะไปรู้ได้ไง?? 3. Desktop, Taskbar, Start, Folder, ...  อย่าคิดว่าสิ่งเหล่านี้เป็นเรื่องง่ายๆสำหรับ User นะครับ ถ้าเป็นคนที่ใช้คอมฯบ่อยๆล่ะก็โอเคครับ แต่คนที่ไม่ค่อยมีโอกาสใช้คอมพิวเตอร์ก็เป็น

Review My Favorite Games

Image
ไร้สาระกันบ้างนะครับ คราวนี้ก็จะมา Review เกี่ยวกับเกมที่ชอบเล่นตั้งแต่เด็กๆ จนถึงปัจจุบันนี้ครับ ใครเล่นเกมเหมือนผมบ้าง ^^ เกมยุคแรกๆของผม คือ เครื่อง Famicom หรือ Family Computer ครับ ใส่เครื่องนี้ต้องใส่ตลับเล่น พอเริ่มเล่นไม่ได้ก็ต้องเป่า เป่าแล้วเล่นไม่ได้ก็งัดตลับจุ่มน้ำเลยครับ 555+ (ใช้ได้ผลจริงๆนะ) เครื่องผมหน้าตาก็ประมาณนี้แหละครับ แต่จะมีปืนด้วย  รูปจาก :  http://manila.olx.com.ph เกมที่เล่นแล้วติดใจมากก็ Contra กับ Kunio Sportgames ครับ โดยเฉพาะ Kunio เป็นเกมกีฬาที่ฮามากครับ มีหลายกีฬาให้เลือกเล่น ลองโหลด Emulator มาเล่นบนคอมดูนะครับ สำหรับใครที่อยากลอง หลังจากนั้น play station ก็เริ่มเข้ามาแล้วครับ ผมไม่มีปัญญาซื้อหรอกครับก็เลยไม่มีโอกาสได้เล่น 55+ ที่บ้านซื้อคอมฯมาพอดี ก็เลยได้เล่นเกม Red Alert 2 ครับ ชอบมากๆ เกมนี้ อาจเป็นเพราะเป็นเกมมันๆ เกมเดียวที่เล่นได้กับเครื่องสมัยนั้นเลยก็ว่าได้ (CPU เกือบกิ๊ก, RAM 256)  ก่อนหน้านี้ ทำไมต้องพูดถึง play station น่ะหรอครับ เพราะว่ามีอีกเกมหนึ่งที่อยากพูดถึงครับ เป็นเกมที่ชอบมากเหมือนกัน style การเล่นอิสระดี ตอนเล่นใช้ emula

NetBeans VS Eclipse

Image
สำหรับ IDE ที่ทำงานรองรับหลากหลายภาษา เป็นเครื่องมือช่วยในการเขียนโปรแกรม และมี server ที่ทำงานอยู่ในตัวเอง ก็คงจะมี 2 ตัวหลักๆ คือ NetBeans และ Eclipse ครับ แล้ว 2 ตัวนี้ใช้ตัวไหนดีกว่ากันล่ะ? คงตอบได้ยากครับ เพราะว่า Editor แต่ละตัวก็ขึ้นอยู่กับผู้ใช้งานด้วย ว่าใครถนัดอะไร บางคนชอบที่ highlight ที่นุ่มตากว่า บางคนชอบ plugins ที่หลากหลาย บางคนชอบความรวดเร็วในการรันโปรแกรม หรืออะไรก็แล้วแต่ สำหรับผมแล้ว ผมชอบ NetBeans มากกว่าครับ เพราะหน้าตาค่อนข้างเรียบง่าย ดูแล้วสะอาดตากว่า และเวลาเปิดโปรแกรมก็ทำได้ไวกว่า Eclipse ครับ การขึ้น Interface ของ Desktop Application รับรองไม่เป็นรองใครครับ แต่ก็ยอมรับข้อดีของ Eclipse ในเรื่องของ Plugins นะครับ เครื่องมือหลายๆตัวที่พัฒนามาช่วยในการทำงานของ Eclipse ครับ และก็มีเครื่องมือหลายตัวยอมให้เขียนโปรแกรมกับ Eclipse ได้เท่านั้น อย่างเช่น Android เป็นต้นครับ ถ้าจะให้สรุประหว่าง IDE 2 ตัวนี้ ก็สรุปได้ยากครับ คงจะไม่มีอะไรดีที่สุดครับ ข้อด้อยอย่างนึง อาจจะเป็นข้อดีของอีกอย่างนึง ทั้งนี้ก็ขึ้นอยู่กับความชอบของผู้ใช้งาน และความเหมาะสมครับ ใครเลือกใ

มาพูดเรื่อง TrueOnline - ADSL กันหน่อยดีกว่า

Image
คราวนี้จะมา Review True Internet จากประสบการณ์โดยตรงนะครับ ก่อนอื่นก็ต้องบอกก่อนนะครับว่า อินเตอร์เน็ตของ True ก็ไม่ได้เลวร้ายอะไรครับ ถ้าเล่นได้ปกติก็ถือว่าแรงใช้ได้เลย บริการก็ไม่ได้แย่ครับ โดยเฉพาะ call center ถือว่าให้บริการได้ดีทีเดียวครับ ยอมรับว่าประทับใจครับ แต่ปัญหาที่เกิดขึ้นก็คือ มีอยู่ช่วงหนึ่ง เกิดอาการเล่นได้บ้างไม่ได้บ้างครับ อยู่ดีๆก็เล่นไม่ได้ บางครั้งปิดเปิด Modem ก็ใช้ได้ บางครั้งต้องโทรไปกระตุ้นสัญญาณ สักเดือน 2 เดือนก็ไม่สามารถใช้ได้เลย call center ก็บอกว่าจะส่งช่างมาดูครับ สำหรับครั้งแรก True ส่งช่างมาที่บ้าน จากนั้นก็มีการตรวจสอบสัญญาณตามสายต่างๆ ผลสรุปคือสัญญาณมาปกติ ดังนั้นก็แสดงว่าอุปกรณ์ของเรามีปัญหา ผมก็เลยไปซื้อใหม่ครับ ทันทีที่ได้ Modem ตัวใหม่มาแล้ว ก็จัดการ setup ครับ แต่ไม่สามารถทำได้เนื่องจากสัญญาณ ADSL ไม่มาครับ โทรถาม call center อีกครั้งครับ คราวนี้ เค้าบอกให้ลองต่อตรงดูครับ (ทรูโทรมาเบอร์มือถือแทน) ก็ได้ผลเหมือนเดิม แล้วเค้าก็ให้ลองเสียบ Modem ตัวเก่าดูครับ ว่าสัญญาณเหมือนกันไหม "ถ้าใช้ได้ปกติ ADSL จะต้องนิ่งเหมือนไฟ power" แต่มันกระ

Netbeans 7.0 : Error creating temporary file transfer folder

Image
บทความนี้ สำหรับผู้พัฒนาที่ใช้ Netbeans 7.0 เท่านั้นนะครับ ซึ่งเท่าที่เห็นตอนนี้ รู้สึกว่าจะไม่มีให้โหลดแล้ว ในเว็บเปลี่ยนเป็น 7.0.1 แทนครับ ใครที่มีปัญหาเดียวกันก็แนะนำวิธีแก้ด้วยครับ  เรื่องของเรื่องคือ ผมได้ใช้ NetBeans IDE เป็นเครื่องมือพัฒนาภาษาจาวามาเป็นระยะหนึ่ง ก่อนหน้านี้เคยใช้ version 6.9.1 ก็ไม่มีปัญหาอะไรนะครับ แต่พอเห็นในเว็บมี update เป็น version 7.0 ก็เลยลองเอามาดู ซึ่งตัวนี้ มีการปรับการแสดงผล project ให้ดูเป็นระเบียบมากยิ่งขึ้น มีการใช้ glassfish server 3.1 ซึ่งเป็นเวอร์ชั่นใหม่กว่าตอนที่ผมใช้ Netbeans 6.9.1 (ถ้าเข้าไปโหลดตอนนี้ก็คงเปลี่ยนแล้วล่ะ) ปัญหาที่เจอก็คือ เมื่อเราพัฒนา Java web application จะมีปัญหาระหว่างการ deploy ครับ (การ deploy project ก็เหมือนการ compile นั่นแหละครับ) เมื่อเราทำการ run Netbeans จะ build,deploy ให้เราอัตโนมัติครับ แต่บางครั้งก็มีปัญหาของการสร้าง temp. file ครับ ทำให้เราไม่สามารถดูผลลัพธ์ที่เราเขียนโปรแกรมไว้ได้ครับ (ถ้าเคยรันก่อนหน้านี้สำเร็จ ผลลัพธ์นั้นก็จะแสดงแทนที่จะเป็นอันล่าสุด)  สำหรับวิธีแก้เบื้องต้นที่ผมทำนะครับ คือ deploy ให

[Java] Encrypt MD5 ภาษา Java

วันนี้จะมาแบ่งปันวิธีการเข้ารหัสผ่านแบบ MD5 ซึ่งเป็นการเข้ารหัสที่นิยมกันนะครับ แต่ก็ไม่ได้หมายความว่าจะปลอดภัยที่สุดนะครับ ทำให้หลายๆที่ต้องมีการเพิ่ม key เข้าไป หรือ encryption ซ้ำอีกก็แล้วแต่นะครับ ในตัวอย่างที่ยกมานี้เป็นการเข้ารหัสแบบ MD5 ปกตินะครับ การแปลงรหัสผ่านก่อนการ query ลง databases ก็เป็นวิธีการเพิ่มความปลอดภัยให้กับ Account ของ user ในเว็บไซต์ของเราครับ มาถึงในส่วน source code นะครับ ก่อนอื่นก็ต้อง import package มาก่อนครับ import java.security.MessageDigest; ในตอนนี้ จะมีการนำตัวแปร String password ดั้งเดิมมาแปลงเป็น MD5 นะครับ //Encrypt Password to MD5 MessageDigest algorithm = MessageDigest.getInstance("MD5"); algorithm.reset(); algorithm.update(password.getBytes()); byte[] md5 = algorithm.digest(); StringBuilder hexString = new StringBuilder(); for (int i=0;i < md5.length;i++) { String hex = Integer.toHexString(0xFF & md5[i]); if(hex.length()==1) hexString.append('0'); hexString.append(hex); }

[Java] การเชื่อมต่อ MySQL Database โดยใช้ JSP & Java Servlet บน NetBeans

Image
1. สำหรับคนที่ไม่มี NetBeans IDE ดาวน์โหลดได้จาก  https://www.netbeans.com/  ครับ 2. การเชื่อมต่อ Database ของ Java จำเป็นต้องมี JDBC Driver นะครับ สำหรับ MySQL ต้องดาวน์โหลดจาก  https://dev.mysql.com/downloads/connector/j/   3. เมื่อได้ mysql connector มาแล้ว extract ไปไว้ที่ๆ หาได้ง่าย (ผมจะเก็บไว้ Drive C: แล้วกันนะครับ) จากนั้นเราก็สามารถ import ลงสู่ Project ของเราง่ายๆ ดังนี้ครับ 4. จากนั้นเลือก path ของ file หานามสกุล .jar ครับ 5. จากนั้นเมื่อ import เข้ามาได้แล้ว เราก็จะสามารถ run เชื่อมต่อ ด้วย code ดังนี้ครับ  Class.forName("com.mysql.jdbc.Driver"); Connection c = DriverManager.getConnection("jdbc:mysql://localhost/jdbctest","root","1234"); Statement s = c.createStatement(); //s.executeUpdate("CREATE TABLE Student(stdcode VARCHAR(10), email VARCHAR(30))"); //s.executeUpdate("INSERT INTO student VALUES (123,'Henry Peter','Ind Eng',4.0)"); String stdCode = r

Facebook Comment

Recent Posts

Popular

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

ความเร็วเน็ตที่แท้จริง Mbps MBps ???

[Android] เปิดเครื่องไม่ได้ โลโก้ค้าง (Boot Loop)

Portal คืออะไรกันนะ???

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

พิมพ์ซองจากรายชื่อ excel ด้วยวิธี Mail Merge

[Java] Java Static Variable และ Static Method

Push Notification คืออะไร มีวิธีทำอย่างไร (No Code)

[Android] Download Mode & Recovery Mode

เรื่องของ ++i กับ i++