วันอังคารที่ 16 มิถุนายน พ.ศ. 2558

Validate Form

ถามว่ากรองข้อมูลก่อน Submit Form หรือ หลัง Submit Form ดี  ผมบอกได้เลยว่าก่อน คุณจะให้โหลดเพจไปมาทำไมละ ในเมื่อเรากรองมันก่อนได้โดยที่ไม่ต้องโหลดเพจใหม่

ก่อน Submit Form คุณทำเลย กรอง
A : อ้าวแล้วกรองยังไง?
B : ก็เอาตะแกรงกรองมันเลย ง่ายดี
A : !!!?
B : 555

ก่อนอื่นเลยตัวที่กรองก่อน Submit Form อันดับแรกที่ต้องนึกถึงเลย คือ Javascript ก่อนที่จะไปนึกถึงเรื่อง Framework ห่าเหวอะไร เพราะพื้นฐานแน่นอนก็คือ Javascript นี่แหละ ตอนโหลดเพจนึกถึงภาพดังนี้

HTML >>> CSS >>> Javascript

และขณะที่เพจแสดงอยู่นั้น Javascript ก็ยังคงทำงานของมันอยู่ ตราบได้ที่มีปุ่ม หรือ Event ของ Element (แท็ก HTML Everything) ไปเรียกใช้มัน กระบวนการของ HTML ที่หลงเหลืออยู่ คือ Form ดังนั้น หากเราต้องการทำอะไรในหน้าเพจหลังจากโหลดแล้ว ก็คือ Javascript นี่แหละ ที่เราพูดถึงตอนนี้ก็คือ Validate Form ก็เอา Javascript ไปครอบฟอร์มซะ ก่อน Submit ให้เมื่อมีการ Submit ไปเรียกใช้ function ของ Javascript แทนซะ ตรง Javascript เราก็เขียน Code ตรวจสอบ แล้วค่อยสั่งให้ Submit แค่นี้เราก็ได้ Validate ข้อมูลก่อนส่งไปให้ Application ฝั่ง Server ทำต่อละ

ง่ายๆ สงสัยอะไร เม้นไว้ เครนะ ^^
 

วันเสาร์ที่ 13 มิถุนายน พ.ศ. 2558

ทำไมต้อง e-book



เริ่มต้นเลย ทำไมต้องเขียนหัวเรื่องแบบนี้ จะบอกว่า หนังสือไทยใส่หัวไม่พอ

e-book ของผมในที่นี้หมายถึง e-book ของต่างประเทศ เป็นหนังสือ Programming ของทางต่างประเทศเขาที่เราอยากอ่านหาความรู้เพิ่มเติม  เพราะหนังสือในไทยนั้นได้เขียนแต่เบื้องต้น จับมือขีดๆเขียนๆให้เข้าใจในเบื้องต้น ส่วนเบื้องลึก รายละเอียดของศาสตร์และศิลป์แล้ว ของต่างประเทศได้เขียนได้เจาะลึกลงไปในเรื่องนั้นๆ ทำให้เราได้กระจ่าง เจอแสงสว่างในบางเรื่องที่สงสัย จนติดในหัว ประมาณว่าพื้นฐานแน่นขึ้นมาเยอะ

เชื่อผม อยากรู้เรื่องอะไร ลองค้นหา และ download มาอ่าน ฟรีๆ มีเยอะ ทั้งได้ความรู้และได้ศัพท์เฉพาะทางเทคนิค ของการเขียนโปรแกรม ได้ทั้งพื้นฐาน ได้ทั้งภาษา ขยันๆหน่อย โตไปจะเลือกได้ เลือกงาน เลือกที่ทำงาน และที่สุดของที่สุด คือ เลือกเงินเดือน

ถ้าหาเว็บไม่ได้ก็ลอง >> http://www.waanvar.com/ebook เดียวจะหามาเติมให้เรื่อยๆ

วันพฤหัสบดีที่ 16 เมษายน พ.ศ. 2558

เป็นไงมั่งครับสงกรานต์ ผมนี่นั่งเขียนโปรแกรม เหนื๊อยเหนื่อย

สงกรานต์ก็ไม่ได้กลับบ้าน ไปเที่ยวก็ไม่ได้ไป นั่ง coding ไป ลำพัง เฮ้อชีวิตโปรแกรมเมอร์ T T

วันศุกร์ที่ 3 เมษายน พ.ศ. 2558

Netbeans เครื่องมือสารพัดประโยชน์



ตอนสมัยเรียนผมเริ่มใช้ Tools เขียนโปรแกรมก็ได้ Netbeans นี่แหละช่วยในการเขียนโปรแกรมและทำความเข้าใจกับ Java ปฏิเสธไม่ได้เลยว่าเป็นเครื่องมือที่ดีมากๆ ทั้งเริ่มต้นจนถึงการทำโปรเจคเลยทีเดียว โดยส่วนตัวแล้วมันง่ายมาก ไม่ยุ่งยากมากเท่าไหร่ มีเครื่องไม้เครื่องมือจัดการให้ถือว่าครบเลยทีเดียว เพื่อนๆลองใช้กันดูนะ ติดขัดตรงไหนสอบถามกันได้

download : https://netbeans.org/

วันพฤหัสบดีที่ 26 มีนาคม พ.ศ. 2558

Comment เตือนความจำ

ผมมีปัญหาบ่อยมาก เวลานำโค้ดเก่ามาแก้ไข แต่จำไม่ได้ว่าครั้งก่อนหน้าแก้อะไรไปบ้าง ในส่วนไหนของไฟล์ และก็เรื่องอะไรที่แก้ไข ทำให้ต้องฟื้นความจำสักระยะ



ไม่รู้ว่าผมเป็นปัญหาคนเดียวหรือป่าวนะ เพราะส่วนใหญ่เวลา deploy โค้ดขึ้น server แล้ว ก็จะไปเขียนโปรแกรมอื่นต่อ ซึ่งเป็นระบบเดียวกันหรือคนละระบบ ทำให้เราจำอะไรเก่าๆได้ยากพอสมควร(ยกเว้นความจำดีเลิศ)  เนื่องจากต้องมานั่งแก้ปัญหาโจทย์โปรแกรมใหม่ ซึ่งเดือนๆนึงก็วนอยู่แบบนี้ Coding ก็บอกว่าเติม ing อยู่แล้ว ก็เลยต้อง Code ไปเรื่อยๆ ตามประสาโปรแกรมเมอร์ครับ

ดังนั้น ผมจึงต้อง comment บรรทัดที่จะแก้ไข ว่า วันนี้  ได้แก้ไขอะไร ทำอะไรไปแล้วในจุดๆนี้ ระบบเดิมเป็นยังไง สิ่งที่เปลี่ยนเปลี่ยนเป็นอะไร ไว้เตือนความจำ ไม่ว่าเราหรือเพื่อนหรือคนอื่นที่จะมาทำต่อจะได้รู้ว่าส่วนนี้มีการแก้ไขอะไรไป  เราอาจจะไม่อยู่แล้วมีคนมาทำต่อก็ว่ากันไป

จึงเป็นที่มาของการ comment ก่อนทำการแก้ไขของผม แต่ถ้าเป็นการเขียน code ใหม่ในไฟล์ใหม่เลย ก็จะไม่เขียน comment อะไรลงไป เพราะถือว่าเป็นโปรแกรมใหม่หรือระบบใหม่ ไว้เป็นที่เข้าใจตามระบบ ถ้าศึกษาใหม่ๆก็ลอง comment ไว้ก็ได้ จะได้คุ้นเคย ไม่ต้องเสียเวลามานั่งไล่โค้ดย้อนหลัง มันแค่เรื่องง่ายๆนิดเดียวจริงๆ ^^

วันศุกร์ที่ 13 มีนาคม พ.ศ. 2558

Prepare to JSP

ก่อนที่จะเริ่มฝึกเขียนโปรแกรมด้วย JSP นั้น มีองค์ประกอบหลายอย่างที่ต้องเรียนรู้ด้วยกัน เพราะว่า JSP นั้นเป็นการเขียนโค้ด Java แทรก เข้าไปใน HTML นั่นเอง ซึ่งกระบวนการทำงานให้แสดงผลหน้า Web รวมทั้งการส่งค่ากลับไปฝั่ง Server จึงต้องมีส่วนจัดการในเรื่องของหน้า Web ด้วยนั่นเอง



สิ่งที่ต้องเรียนรู้ก็คือ
1. HTML  เป็นอย่างแรกที่ต้องศึกษาเมื่อมีการเขียน Web ไม่ว่าจะเป็น Web Application หรือ Website ทั่วไป ทุกภาษาที่เขียนจะต้องมี HTML เป็นพื้นฐานอย่างแน่นอน ทั้งในส่วนของ JSP เองสุดท้ายโค้ดจะต้อง Generate ออกมาเป็น HTML เพื่อแสดงผลด้วยนั่นเอง

2. Javascript เป็นส่วนเสริมให้กับหน้า Web ที่จะทำให้ข้อมูลมีการยืดหยุ่นมากขึ้น ซึ่งเป็นประโยชน์เป็นอย่างมากทั้งนี้ Javascript ยังเป็นพื้นฐานนำไปต่อยอดพัฒนากลไกทางหน้าเว็บได้หลากหลาย ไม่ว่าจะเป็น AJAX , JQuery เป็นต้น Javascript นี้จะช่วยในการจัดการข้อมูลได้เป็นอย่างดีทั้งเตรียมรับ-ส่งข้อมูลให้ทางฝั่ง Server ประมวลผล ซึ่งจะขาดไม่ได้อย่างแน่นอน

3. CSS (Style Sheet)  เป็นตัวตกแต่งหน้าเว็บให้ออกมาดูสวยงาน ถูกใจผู้ใช้งาน ซึ่งเดิมๆหน้าเว็บจะดูทื่อๆตามที่ Engine ของ Browser ออกแบบมา จึงมี CSS นี่แหละช่วยแต่งเติมหน้าเว็บให้ดูสวยงาม ซึ่งเป็นตัวหลักที่ขาดไม่ได้เช่นกันในการทำเว็บไซต์

3 อย่างที่กล่าวมา จะขาดไม่ได้เลยในการทำ Web Application ไม่ว่าจะเป็น JSP หรือไม่ ซึ่งผู้ที่ต้องการพัฒนาโปรแกรมบน Web Browser จะต้องเรียนรู้เพื่อนำไปใช้งานต่อไป

วันพุธที่ 18 มิถุนายน พ.ศ. 2557

การ Read Log ชาวบ้าน มายำ

จริงๆอันนี้จะ Note ไว้ อ่านไม่ได้ใจความยังไง หลังไมค์ได้ครับ

โจทย์คือ มี Server Run App ขั้นเทพอยู่อันนึง(App ราคาหลายแสน) แต่ฟีเจอร์นึงไม่มีคือเมื่อมีการ Login แล้วไม่ส่งเมลแจ้งคน Login ประมาณว่า App นี้ถ้าคนอื่น Login ใช้งานแล้วซวยครับ ก็เลยเป็นที่มา มาดูกัน

ไล่เรียงก่อนนะ
1. mount log file มาให้ tomcat read/write ได้
2. เขียน App เป็น Web App นะ ส่งเมลง่ายกว่า Run on Server Application Online และปู้ยี่ปู้ยำได้ง่าย(เผื่อเอาไปทำอย่างอื่นต่อ)
3. สร้างไฟล์ Listener ขึ้นมา สร้าง Class นั่นแหละ แล้ว implements ServletContextListener เข้าไป เดียวมันให้ Method มาสองอัน
4. ไปสร้าง Listener ที่ WEB-INF/web.xml แล้วใส่นี่เข้าไป เป็น Class ที่เราสร้างมาในข้อ3.

    packagename.ClassName

5. Listener คืออะไร คิดว่ามันเป็นคอนเทนเนอร์ละกัน ยัดๆอะไรใส่ๆเข้าไปแล้วก็ปิดไว้ ทำงานตอน Start App และ Stop App (Initrial and Detroy)
6. Codding ละนะ สร้าง Class ขึ้นมาทำ Thread  ให้มัน Run ตลอด (ทำงานกับ Log ต้องอ่านตลอด)
7. Concept ไม่อธิบายโค้ดนะ เอา Concept ไปเขียนเอาเอง
    7.1  ไปอ่าน Log มาเขียน Log ใหม่ใน Server เรา(ให้เป็น Local Log File จะจัดการง่ายกว่าอยู่ Server ชาวบ้าน) และ write แบบต่อไฟล์ rewrite ตลอด
    7.2  สมมุติตั้งชือ log file ที่นำมาเขียนใหม่ว่า info.log ก็เขียนโค้ดอ่านมันเลย ใช้ BufferedReader ในการวนอ่าน วนอยู่นั่นแหละ แต่เราดัก null ไว้ ความหมายคือ อ่านค้างไว้ จนถึงบรรทัดสุดท้าย หากตัวอ่าน log ในข้อ 7.1 ได้ข้อมูลมาใหม่ก็จะ write ลงไฟล์ ที่ดัก null ก็เพื่อการนี้แหละ ถ้า 7.1 ไม่ได้อะไรใหม่มาเขียนพอเราวนมามันก็จะเป็น null แต่ตอนวนอย่าลืม  sleep มันด้วยนะ
8. เอาข้อมูลใน 7.2 มาปู้ยี่ปู้ยำได้เลย และอย่าลืมทำตัว clear log หรือ backup log ฝั่งเราด้วย

Ploblem

  • log ชาวบ้านถ้าเขา write เป็น Stream ไว้ อย่าเขียนคำสั่งไป edit มันจะเป็นตัวขอม
  • permission ของไฟล์สำคัญ ต้องเปิดให้กันอ่านหรือเขียนได้ด้วย
  • อย่าลืมดักในการสร้างไฟล์ใหม่ ถ้าไฟล์ไม่มีให้สร้างเสมอ
  • Thread ถ้า error หรือ interrupt ให้เขียนคำสั่งรองรับด้วยเช่น ให้  Run อีกรอบ หรือไปลบ Process อะไรก็ว่าไป ถ้ามันตายมันไม่ฟื้นนะจะบอกให้

วันศุกร์ที่ 6 มิถุนายน พ.ศ. 2557

Error 508 Resource Limit Is Reached

สำหรับข้อความที่ขึ้น Error 508 นั้นจะมาจากระบบ CloudLinux Hosting ซึ่งแสดงผลบอกว่าระบบเว็บไซต์ของท่านใช้งานทรัพยากรเกินกว่าที่กำหนดไว้ โดยจะแจ้งข้อความดังนี้

Resource Limit Is Reached
The website is temporarily unable to service your request as it exceeded resource limit. Please try again later.

ใช้ทรัพยากรถึงขีดจำกัด
เว็บไซต์นี้ไม่สามารถใช้งานได้ตามคำขอของคุณ เนื่องจากใช้ทรัพยากรเกินขีดจำกัด โปรดลองใหม่อีกครั้งในภายหลัง

วันพุธที่ 21 พฤษภาคม พ.ศ. 2557

SEO Black Hat and White Hat : Talk


SEO หรือ Search Engine Optimization หรือการทำให้ เว็บเราติดอันดับต้นๆในการค้นหา เพื่อให้คนได้เข้าเว็บเยอะๆ เห็นว่ามันเป็นประโยชน์ ไอเราก็เลยไปศึกษา อ่านวิธีทำ หาอะไรอ่านเพิ่มเติม แต่บังเอิญไปเจอ สไลด์ เป็นไฟล์ PDF ของ อาจารย์ท่านหนึ่ง ขอเรียกว่าอาจารย์ละกันนะครับ อาจารย์ท่านนี้ทำงานเกี่ยวกับ Security ให้กับบริษัทแห่งหนึ่ง ทำสไลด์นี้ขึ้นมาชื่อว่า Black Hat SEO ผมก็ได้ยินมาหน่อยๆว่ามี SEO สายดำ ดำทมิฬ ก็มีเลยลองอ่านดู

ก่อนอื่นทำความเข้าในอีกนิด SEO ที่อาจารย์กล่าวถึง มี 2 แบบ
White Hat คือ การดันอันดับเว็บเราให้ขึ้นตามปกติ ดันเว็บเราเองให้แซงชาวบ้านขึ้นไป
Black Hat คือ การกดเว็บชาวบ้านลง ให้อันดับลดลงต่ำกว่าเรา หรือสวนทางกัน

ฮ้วย!! Black Hat ทำกันอย่างนี้เลยหรือ คนทำนี่ร้ายมาก แต่เพื่อผลประโยชน์และรายได้รายรับที่เข้ามาก็ต้องทำ อาจารย์บอกอย่างนั้น เราไม่ทำเขา เขาก็ทำเรา ใครจะไปรู้ ดังนั้นจึงจัดการคู่แข่งด้วยวิธีต่างๆ คู่แข่งเราก็ด้วย วิธีทำก็โหดมาก ฉกาจกันทั้งนั้น ทำเอา Security อย่างอาจารย์ต้องป้องกันให้วุ่น และส่วนมากหาวิธีการใหม่ๆมาถล่มกัน

เห้อ แค่คิดจะทำไปอ่านดูแล้วรู้สึกว่าโหดร้าย แต่แลกมากับรายได้มหาศาลก็ยอมกันไม่ได้เช่นกัน

วันพฤหัสบดีที่ 15 พฤษภาคม พ.ศ. 2557

substring informix

วันนี้นั่งเขียนโปรแกรมเจอ requirement เพิ่ม อันก่อนเขียนจนโค้ดตีกันละ มาเจออันนี้อีก ฮ้วย...บ่นแล้วก็เขียน อันนี้ก็ requirement แปลกๆ ไม่เหมือนชาวบ้าน ข้อมูลอย่างจะเอานิดเดียว แต่เยอะ query substring กับ database informix แต่ substring เยอะเหลือล้นคณา เลยมาบอกนี่แหละว่ามันเขียนอย่างนี้ได้

1.  column[1,n]
2.  substring(column,1,n)

ลองเอาไปใช้กันดูนะ