11 April 2014

แก้ปัญหา php_mbstring.dll is missing ครับ

เมื่อเปิดใช้งาน extension ตัวนี้แล้วเกิดปัญหาในการโหลด module ของตัว php เองครับ

เราจึงต้องทำการแก้ไขลำดับการ load module ใน file php.ini ดังนี้

extension=php_mbstring.dll
extension=php_exif.dll

โดยย้าย extension=php_mbstring.dll ขึ้นมาให้อยู่บน extension=php_exif.dll 
เพื่อให้ php โหลด module mbstring ก่อนครับ เท่านี้ error ก็จะหายไปแล้วครับผม

^ ^

02 April 2014

แนวทางการเรียนรู้ CSS3 และ HTML5 ให้เกิดประโยชน์สูงสุด

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

แต่ถ้าหากว่า สิ่งที่มันมีอยู่นั้น มันอยู่ตรงไหนกัน “คำถามนี้ ถือเป็นปัญหาหลัก” ในแวดวงการทำงานในส่วนของ CSS และ HTML ของเมืองไทยเรามาหลายปี หรือจะบอกได้ว่าตั้งแต่เริ่มมีคำว่า Tableless หรือ CSS ไหลเข้ามาในหัวของนักพัฒนาเว็บชาวไทยโน่นเลยก็ว่าได้

เพราะมันเพิ่งเริ่ม เพิ่งเกิด จึงไม่มี หรือมีน้อย ส่วนที่มีน้อยนั้นก็ใช่ว่าจะเปี่ยมไปด้วยคุณภาพ หรือที่มีอยู่ดันเปี่ยมไปด้วยความด้อยคุณภาพ จึงทำให้ส่วนงานที่กล่าวมานั้น ยังไม่มีแนวทางหรือต้นแบบในการเรียนรู้ ปฏิบัติอย่างชัดเจน
โดยประสบการณ์แล้วผมเสียเวลาเรียนรู้ด้วยตัวเอง ลองผิด ลองผิดน้อย ลองผิดน้อยลงไปอีก อยู่นานหลายปี กว่าจะเริ่มค่อยๆ เข้าใจหลักการทำงานของภาษา CSS และ HTML ในขั้นต้น ผมไม่อาจกล้าที่จะบอกว่า ผมเข้าใจทั้งหมดทั้งมวลทะลุหูรูดของทั้งสองภาษานั่นแล้ว เพราะเราอยู่กับเทคโนโลยี ที่เปลี่ยนแปลงพัฒนาตัวเองตลอดเวลา หยุดชมโอ้เมื่อไหร่ เราก็ช้าเมื่อนั้น

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

ผมอยากเพียงแค่ วางแบบแผน หรือแนะแนวทางสำหรับผู้ที่รัก จะเขียน CSS และ HTML เป็นอาชีพเป็นหลักนะครับ เพราะในบางประเด็นนั้น มันอาจจะฟังดูแล้วยากลำบากเกินกว่าคนที่ต้องทำแบบ ผ่านผิว

Guideline สำหรับ อาชีพเขียน CSS และ HTML

อย่าดูถูก HTML

ทำไมผมจึงต้องเอาเรื่องนี้ขึ้นก่อน ทำไมผมจึงพยายามบอกเสมอว่า HTML ไม่ใช่เรื่องง่าย ผมเคยคิดว่าภาษา HTML ง่ายมาก มาแล้ว และเขียน HTML แบบผิดๆ มานักต่อนัก สาเหตุหลักๆ เพราะไม่รู้จักว่า HTML มันมีอะไรบ้าง ซึ่งเมื่อก่อนเราเขียนเว็บด้วยการใช้ <table> เป็นตัวนำ มีอะไรก็ <table> กว่าจะรู้ว่า <table> นั้น คือ HTML tag หนึ่ง ที่เอาไว้จัดการกับข้อมูลที่แสดงเป็น “ตารางเอกสารเท่านั้น” ก็เสียจริตกันไปนาน
ก่อนที่เราจะเลือกใช้ HTML ในหน้าเอกสารของเรานั้น เราต้องรู้ก่อนเป็นอันดับแรกว่า เนื้อหาที่เรากำลังเขียนอยู่นั้น มันประกอบไปด้วยการแสดงผลแบบไหนบ้าง เช่น แบ่งกลุ่ม Layout ไหม แสดงผลเป็น List ด้วยหรือไม่ มี Form กี่อัน มีตารางหรือเปล่า แทรกรูปภาพตรงไหน
ซึ่งการคิดแยกแยะตามย่อหน้าข้างต้นนั้น ภาษา HTML มี tags เอาไว้จัดการกับเนื้อหาที่แตกต่างกันทั้งหมด เพราะฉะนั้น เราจึงจำเป็นต้องเรียนรู้ภาษา HTML ก่อนเป็นอันดับแรก แยกแยะให้ออกก่อนว่า จะใช้ Element ใด ตรงไหน ไม่ใช่ <div> แหลก

แยกให้ออกว่า อะไรคือ CSS และ อะไรคือ HTML เอามาใช้ร่วมกันยังไง

ผู้ที่เพิ่งเริ่มศึกษาการเขียน CSS โดยส่วนมากแล้วมักจะสับสนว่าสองภาษานี้มันต่างกันตรงไหน ยิ่งทุกวันนี้คำว่า CSS ติดปากเป็นคำเรียกขานรวมเหมาทั้งคนเขียน HTML เข้าไปด้วยแล้วยิ่งไปกันใหญ่
HTML คือ ภาษาโครงสร้าง ไม่มี HTML เราก็ไม่รู้จะเขียน CSS ไปจัดการกับอะไร นอกจากจะไปเขียนจัดการกับ XML หรือภาษาอื่นๆ ที่อนุญาตให้ CSS จัดการได้ แต่ในที่นี้เราพูดถึง HTML
CSS คือภาษาที่เอาไว้ทำให้ HTML แสดงผลให้สวยงามตามท้องเรื่องในอุปกรณ์ต่างๆ (User Agents)
เพราะฉะนั้น ทั้งสองภาษาจึงควบคู่กันไป

เริ่มศึกษา HTML อย่างมีหลักการ

ผมคงไม่สามารถขอให้ทุกๆ คนเข้าไปอ่านวีธีการเขียน HTML หรือ หลักการของภาษา HTML ใน W3C ได้ทั้งหมด ซึ่งที่ที่สามารถศึกษาได้เป็นอย่างดีก็คือ เว็บของ W3C อยู่วันยังค่ำ
โดยเราควรเริ่มจากเรียนรู้ว่า HTML5 มีพฤติกรรมข้อมูลอยู่ 7 ประเภท และกลุ่ม Element อยู่ 15 หมวดหมู่ โดย 7 ประเภทของ HTML5 นั้นเอาไว้แยกแยะรูปแบบการวางโครงสร้างของเอกสาร ส่วน 15 หมวดหมู่นั้น เอาไว้จัดการกับเนื้อหาแบบต่างๆ ที่เกิดขึ้น เช่น <article> เราต้องบอกได้ว่า tag <article> นั้น อยู่ในหมวดหมู่ Sections (จาก 15 หมวดหมู่) ซึ่งมีพฤติกรรมข้อมูล เป็น Flow content และ Sectioning content (จาก 7 ประเภท)
เมื่อมองย้อนกลับไปยัง XHTML การแยกแยะหมวดหมู่ของภาษา ไม่ได้แยกเหมือน HTML5 เพราะ XHTML นั้นถือเอาการวางโครงสร้างเอกสารเป็นหลัก XHTML จะแยก Element ออกตาม Modules ซึ่งแต่ละ Module นั้นจะดูจากการใช้งาน เช่น Text Module มีอะไรบ้าง หรือ List Module มีอะไรบ้าง หรือ Form Module มีอะไรบ้าง (ทั้งหมดประมาณ 17 Modules) แล้วค่อยไปเจาะจงอีกทีว่า ค่าพื้นฐานแสดงผลแบบไหน แล้วมีกฎการใช้งานยังไง ซึ่งจะสวนทางกับ HTML5 เพราะ HTML5 นั้นวางกฎการใช้งานตามประเภทมาก่อน เพื่อที่จะแยกแยะรูปแบบการเขียนทีหลัง

หมวดหมู่ Elements ของ HTML5

The Root Element
html
Document metadata
head, title, base, link, meta, style
Scripting
script, noscript
Sections
body, section, nav, article, aside, h1-h6, hgroup, header, footer, address
Grouping contents
p, hr, pre, blockqoute, ol, ul, li, dl, dt, dd, figure, figcaption, div
Text-level semantics
a, em, strong, small, s, cite, q, dfn, abbr, time, code, var, samp, kbd, sub, sup, i, b, mark, ruby, rt, rp, bdo, span, br, wbr
Edit
ins, del
Embedded content
img, iframe, embed, object, param, video, audio, source, canvas, map, area
Tabular data
table, caption, colgroup, col, tbody, thead, tfoot, tr, td, th
Forms
form, fieldset, legend, label, input, button, select, datalist, optgroup, option, textarea, keygen, output, progress, meter
APIs for the text field selections
Interactive
details, summary, command, menu
Link and link type
Common idioms without dedicated elements
Matching HTML elements using selectors
หัวใจสำคัญของการศึกษา HTML5 สำหรับทำเว็บ ให้เน้นทำความเข้าใจ 3 หมวดหมู่หลักนี้ก่อนครับ Sections, Grouping content และ Text-level Semantics หลังจากนั้น ค่อยขยับขยายไปหาอีก 12 หมวดหมู่ที่เหลือ

กฎการใช้งาน HTML5 Elements แยกตามพฤติกรรม

เมื่อเรารู้แล้วว่า Elements แต่ละตัว อยู่ในหมวดหมู่ไหน ขั้นต่อไป ให้ตามไปดูพฤติกรรมของเหล่า Element นั้นๆ คำว่า พฤติกรรมของเหล่า Element นั้นคืออะไรหรือ เอากันง่ายๆ ว่ากันซึ่งๆ หน้า คือ สิ่งที่จะบอกว่า “เราสามารถเขียน tag A เข้าไปใน tag B ได้หรือไม่” เพราะในภาษา HTML5 นั้น มีกฎเกณฑ์ควบคุมเอาไว้หมดแล้วครับ โดยที่ทั้ง 7 พฤติกรรมนั้น มีประมาณนี้
  1. Metadata content คือ กลุ่มของ Elements ที่เอาไว้ตั้งค่าหรือบอกพฤติกรรมหลักของเอกสาร  หรือเอาไว้แสดงความสัมพันธ์กับเอกสารอื่นๆ มี base, command, link,meta, noscript, script, style, title
  2. Flow content โดยกฎพื้นฐาน Element เกือบทั้งหมดของ HTML5 นั้นมีพฤติกรรมเป็น Flow content อยู่แล้ว ข้อสำคัญที่สุดคือ ห้ามมี tag เปล่า
  3. Sectioning content คือ กลุ่มที่เอาไว้แสดงรูปแบบความเป็นหน้าเอกสาร มี article, aside, nav, section
  4. Heading content คือ กลุ่มที่เอาไว้บอกการเป็น “หัวข้อ” โดยหลักๆ แล้วเอาไว้ใช้ร่วมกับ Sectioning content โดยมี h1-h6 และ hgroup
  5. Phrasing content คือ หน่วยที่ติดต่อโดยตรงกับ “ตัวหนังสือ” หรือ Element ที่เป็น Phrasing content ด้วยกันเอง หรือ ถ้าอยากจำให้ง่าย มันคือ “inline element” ตามแบบฉบับของ XHTML นั่นเอง ห้ามเอา Phrasing content ไปเขียนครอบ Element ใดๆ ที่ไม่ใช่ Phrasing content โดยเด็ดขาด เช่น อย่าเอา span ไป ครอบ aside หรือ อย่าเอา em ไปครอบ section
  6. Embedded content คือ กลุ่มที่เอาไว้ แทรกเนื้อหาที่เป็น Media ทั้งหลาย หรือแทรกเนื้อหาจากแหล่งอื่น มี audio, canvas, embed, iframe, img, math, object, svg, video
  7. Interactive content คือ กลุ่มของ Element ที่ทำหน้าที่ ปฏิสนธิกับผู้ใช้โดยตรง เช่น ปุ่มกดต่างๆ ส่วนมากจะอยู่ในหมวดหมู่ของ Form และ tag <a> ถือเป็น Interactive content ด้วย
โดยใน HTML5 Element ใดๆ นั้น สามารถมีพฤติกรรมได้มากกว่า 1 อย่าง ดั่งเช่น <article> ที่ผมยกตัวอย่างมาไว้ก่อนหน้า ซึ่งมีพฤติกรรมเป็นทั้ง Flow content และ Sectioning content

ขั้นตอนการเรียนรู้ CSS3

CSS3 แตกต่างไปจาก CSS2 แบบยกเครื่อง การเริ่มต้นเรียนรู้จึงจำเป็นต้องปรับเปลี่ยนรูปแบบไปด้วย ใน CSS3 นั้น ระบบการทำงานแต่ละอย่างจะถูกแยกออกมาเป็น Module เดี่ยวๆ ของใครของมัน รวมไปถึง Selectors ของ CSS3 เองด้วย ใน CSS2 Selectors นั้น W3C ได้รวมเอา Selectors เป็นองค์ประกอบหลักของการเขียน CSS ใน ทุกๆ Models (CSS2 เรียก Model ส่วน CSS3 เรียก Module)
CSS3 นั้นแยกเนื้อหาออกเป็น Modules ซึ่งในแต่ละ Module นั้นจะมี CSS Properties และ Values เพื่อใช้ในการควบคุมการแสดงผล ของ HTML โดยสื่อสารผ่าน Selectors
ใน CSS3 ทาง W3C ได้ยกเรื่องของ Selectors ออกมาเป็น CSS Selectors Module Level 3 ซึ่งถือเป็น Module แรกสุดของ CSS3 ที่ประกาศเป็นสถานะ PR (Proposed Recommendation) แต่ในขณะเดียวกัน CSS2.1 ยังอยู่ในสถานะ CR (Candidate Recommendation) อยู่เลยครับ

CSS3 Modules ที่จำเป็นต้องเรียนรู้ก่อนเมื่อมีเวลา

  1. CSS Selectors
  2. CSS Background and Borders
  3. CSS Color
  4. CSS Fonts
  5. CSS Basic Box model
  6. CSS Multi-column layout
  7. CSS 2D Transformations
  8. CSS Transitions
  9. CSS Animation
  10. CSS Basic user interface
  11. CSS Values and Units

ตัวอย่างการเริ่มต้นศึกษาก็เช่น CSS Basic Box Model คืออะไร และมันมีอะไรบ้าง

ส่วนประกอบ (Properties) ของ Module นี้ มีอะไรบ้าง คือคำถามหลักที่เกิดขึ้น เมื่อเราได้ยินคำว่า “Box Model” ให้จดจำเอาไว้ว่า มันมีประมาณนี้
  1. ประเภทของ Box
    1. Display
    2. Block-Level
    3. Run-in การสั่ง run-in นั้น กระทำก็ต่อเมื่อ เราต้องการเอา Element ที่เป็น formattedBlock มาเรียงต่อกันกัน ให้สั่ง display: run-in;
    4. Compact
  2. Padding
  3. Margin ซึ่ง Margin แยกออกเป็น 2 แบบ
    1. Margin properties ปรกติ
    2. Collapsing Margins ใน Collapsing นี้ มันจะอยู่ใน <table>
  4. Width และ Height
  5. min-width, min-height, max-width, max-height
  6. กฎการคำนาณ ความกว้าง สูงและ margins
  7. Float
  8. Overflow
  9. Visibility
* หมายเหตุ คำถามต่อมา หลายคนคงอยากถามว่า แล้วไอ้ Element ของ HTML5 ที่มันเป็น Block element มันมีอะไรบ้างหละ? วิธีการจดจำ ให้มองไปที่ หมวดหมู่ของ HTML5 ในส่วนของ Sections และ Grouping Contents
เมื่อเรารู้ว่า HTML Element ที่เรากำลังสั่งงานอยู่นั้น คืออะไร เราก็สามารถที่จะใช้ Properties สั่งงานได้ถูกต้อง เช่น เช่น เราต้องการสั่งงาน <aside> ซึ่ง tag <aside> นั้นถือเป็น formattedBlock Candidate สามารถที่จะใช้ Properties ต่างๆ ที่เป็นของ Basic box model นั้น สั่งงานได้เลย
การสังเกตว่า Element ไม่มีคุณสมบัติเป็น Block Element ให้จดจำง่ายๆ คือ HTML5 เกือบทุกตัวที่มีพฤติกรรมเป็น Phrasing content โดยถ้าเราอยากให้ Elements เหล่านี้ต้องการเปลี่ยนรูปแบบการแสดงผลเป็น Block และสามารถใช้ Box model properties สั่งงานได้อย่างสมบูรณ์ เราสามารถทำได้โดย สั่งให้ Element นั้นๆ display เป็น block ก่อนได้ เช่น ถ้าเราต้องการสั่งงาน <abbr> ให้แสดงผลแบบ <footer> ให้ได้ เราสามารถเขียนได้ ประมาณนี้
abbr {display: block;} หลังจากสั่ง display เป็น block แล้ว เราก็สามารถใช้ properties อื่นๆ ที่สามารถใช้ได้กับ Block element โดยตรง
ง่ายๆ สำหรับหลักการ ในการเรียนรู้อย่างเป็นระบบคือ ให้มุ่งไปที่ Modules ต่างๆ ของ CSS3 ก่อน แล้วจดจำ Properties ที่มีอยู่ให้ได้ รวมถึงใช้ Values ให้เป็น
ผมขอ พักบทความยาวเยื้อยชิ้นนี้เอาไว้ตรงนี้ก่อนนะครับ บทความต่อๆ ไป ผมจะค่อยๆ แนะนำไม่ว่าจะเป็น CSS3 ในแต่ละ Modules หรือ HTML5 ในแต่ละกลุ่มพฤติกรรมข้อมูล และการนำไปใช้งานจริง ต่อไปเรื่อยๆ
มีความสุขกับการใช้ชีวิต ตามอัตภาพบ้าง จะเป็นไรไป อย่างน้อยชีวิตนี้ เราก็ไม่ได้ทุกข์ไปซะหมด

--------------------------------------------------------------
credit : http://thaicss.com/แนวทางการเรียนรู้ css3 และ html5/
--------------------------------------------------------------

06 August 2013

สายงานไอที

1.สายผู้บริหารไอที (IT Management)
ตัวอย่าง อาชีพระดับบริหารไอที เช่น
- CEO (Chief Executive Officer) เน้นทุกด้าน
- CIO (Chief Information Officer) เน้นด้านระบบข้อมูล
- CTO (Chief Technology Officer) เน้นด้านเทคโนโลยี
- CFO (Chief Finance Officer) เน้นด้านการเงิน
- COO (Chief Operation Officer) เน้นด้านปฏิบัติการหรือดำเนินการ
- CMO (Chief Marketing Officer) เน้นด้านการขาย
- General Manager ผู้จัดการทั่วไป
- IT Manager ผู้จัดการฝ่ายไอที
- MIS Manager
- IT Division Manager
- IT Sales Manager
- IT Audit Division Manager
- IT System Division Manager
- Business Development Manager
- IT Specialist
- MIS Supervisor
- ICT Manager
- Assistant IT Manager
——————————————————————————–
2.อาชีพสายผู้ดูแลระบบเครือข่าย (Network Admin Jobs)
สำหรับสายผู้ดูแลระบบเครือข่าย (นิยมเรียกกันในชื่อ Admin)จะเป็นผู้ดูแลระบบเครือข่ายคอมพิวเตอร์ขององค์กร สามารถแบ่งได้ 3 สายย่อย ตามชนิดระบบปฏิบัติการที่ใช้งาน ดังนี้
2.1 ผู้ดูแลระบบเครือข่ายองค์กรขนาดใหญ่ ระบบปฏิบัติการที่ใช้จะเป็น
- UNIX เช่น IBM AIX, Sun Solaris
* สามารถบริหารจัดการแอคเคาน์ผู้ใช้, ติดตั้งระบบเซิร์ฟเวอร์ต่างๆ อาทิ DNS, Web, Mail, Proxy, Database, Backup, …
2.2 ผู้ดูแลระบบเครือข่ายองค์กรขนาดกลาง ระบบปฏิบัติการที่ใช้จะเป็น
- Windows Server (2003, 2008)
- Linux Server เช่น RedHat, Slackware, SuSE, Debiun, Ubuntu, CentOS
- BSD Server เช่น FreeBSD, OpenBSD, NetBSD
2.3 ผู้ดูแลระบบเครือข่ายองค์กรขนาดเล็ก ระบบปฏิบัติการที่ใช้จะเป็น
- Windows Server (2003, 2008)
- Linux Server เช่น RedHat, Ubuntu, CentOS
- BSD Server เช่น FreeBSD
- ระบบเซิร์ฟเวอร์สำเร็จรูป เช่น IPCop, pfSense, ClarkConnect, Endian ดูข้อมูลเพิ่มเติมที่นี่)

ตัวอย่าง อาชีพสายเครือข่าย เช่น
- System Engineer วิศวกรระบบ
- System Administrator ผู้ดูแลระบบเครือข่าย
- Network Engineer วิศวกรเครือข่าย
- Network Administrator
- IT Administrator
- IT System Admin
- IT Security
- Network Security
- Internet Security Manager
- IT Network Infrastructure
- Network Operation เจ้าหน้าที่ปฏิบัติการและดูแลแครือข่าย
- Lotus Notes/Domino Admin
- Internet Security Systems Engineer
- Linux Administrator
——————————————————————————–
3.อาชีพสายนักเขียนโปรแกรม (Programmer Jobs)
สำหรับสายนักเขียนโปรแกรมคอมพิวเตอร์หรือโปรแกรมเมอร์

อาชีพสายการเขียนโปรแกรมนั้น สามารถแยกได้ 2 ส่วนคือ
3.1 งานโปรแกรมแบบ Offline (นิยมในอดีต)
- ภาษาที่เน้นใช้พัฒนาอาทิ เช่น C, C++, VB, Delphi, JAVA, Cobol
- ฐานข้อมูลที่นิยมใช้ เช่น MS Access, MS SQL Server, Oracle, Sybase, DB2
3.2 งานโปรแกรมแบบ Online (นิยมในปัจจุบัน) เน้นใช้งานผ่านโปรแกรมเว็บบราวเซอร์เช่น IE, Firefox, Opera
- ภาษาที่เน้นใช้พัฒนาอาทิ เช่น PHP, ASP, ASP.NET, JSP, PERL, PYTHON, RUBY (ไปดูข้อมูลสายเว็บไซ์ด้านล่างเพิ่มเติม)
- ฐานข้อมูลที่นิยมใช้ เช่น MySQL, PostgreSQL, MS Access, MS SQL Server
- โปรแกรมเว็บเซิร์ฟเวอร์ เช่น Apache, IIS, Tomcat
ตัวอย่าง อาชีพสายการเขียนโปรแกรม เช่น
- Programmer
- Senior Programmer
- Cobol Programmer เน้นภาษาโคบอล
- Application Developer
- Application Developer (JAVA) เน้นภาษาจาวา
- Senior Java Developer เน้นภาษาจาวา
- Senior Test Engineer
- E-Commerce Developer
- Game Programmer
- Application Engineer
- VB Developer
- Senior Java Programmer
- PHP Programmer เน้นภาษาพีเฮสพี
- .Net Programmer (C#, VBT.NET) เน้นเทคโนโลยีดอทเน็ต อาจาใช้ภาษา C# หรือ VBT.NET
- Java Programmer
- Software Tester
- Ajax Programmer
- Software Engineer
- J2EE Programmer
- iPhone Application Developer เน้นใช้งานบนไอโฟน
- IT Development Specialist
- Project Manager
——————————————————————————–
4.อาชีพสายนักวิเคราะห์และออกแบบระบบ(System Analyst Jobs)

ตัวอย่าง อาชีพสายนักวิเคราะห์และออกแบบระบบ เช่น
- Systems Analyst
- Business Analyst
- Senior System Analyst
- System Analyst AS/400
- System Analyst (RPG,AS400/IBM)
——————————————————————————–
5. สายเว็บไซต์ (Website)
สำหรับอาชีพสายเว็บไซต์ ปัจจุบันนับเป็นอาชีพ ที่ได้รับความนิยมอย่างมาก
ตัวอย่าง อาชีพสายเว็บไซต์ เช่น
- Web Programmer / Web Developer ทำหน้าที่พัฒนาแอพลิเคชั่น
- Web Designer ทำหน้าที่ออกแบบความสวยงานของเว็บไซต์
- Web Content ทำหน้าที่ดูแลข้อมูลก่อนนำมาใส่ลงเว็บไซต์
- Web Marketing ทำหน้าที่ทำการตลาด ทำรายได้ให้ตัวเว็บไซต์สร้างมูลค่าขึ้นมาได้
- Web Master / Web Manager ทำหน้าที่ดูแลและควบคุมเว็บ
- E-Commerce Developer พัฒนาระบบหน้าร้านขายของ
- Creative Web Designer
- Senior Web Designer
- Flash Programmer เน้นพัฒนาแอพลิเคชั่นด้วย Action Script

——————————————————————————–
6.อาชีพสายฐานข้อมูล (Database Jobs)
ทำหน้าที่ดูแลฐานข้อมูลขององค์กร
ตัวอย่าง อาชีพสายสายฐานข้อมูล เช่น
- Database Administrator (DBA)
- PL/SQL Developer
- Lotus System Analyst
- Database Architect
- Oracle Database Administrator (DBA)
- Data Warehouse Specialist
- Oracle Programmer
- Data Warehouse Developer
- Oracle Forms Developer
- DB2 Database Administrator
- Lotus Notes Developer
- MySQL Engineer
- MySQL DBA

——————————————————————————–
7. อาชีพสาย CRM/ERP
ทำหน้าที่ดูแลฐานข้อมูลลูกค้า และระบบจัดการบุคคลากรในหน่วยงาน
CRM : Customer Relationship Management
ERP : Enterprise Resource Planning
ซอฟต์แวร์ยอดนิยมในปัจจุบัน เช่น SAP (Systems, Applications and Products)
ตัวอย่าง อาชีพสาย CRM/ERP เช่น
- ERP Specialist
- SAP Basis Administrators
- SAP Specialist
- SAP Analyst : MM
- SAP Analyst : SD
- SAP Apprication Manager
- SAP Project Manager
- CRM Manager
- CRM Program Management
- CRM Business Data Manager

——————————————————————————–
8.อาชีพสายคอมพิวเตอร์กราฟิก (Computer Graphic Jobs)
ตัวอย่าง อาชีพสายคอมพิวเตอร์กราฟิก เช่น
- Graphic Designer
- Computer Graphic
- Graphic Arts Designer
——————————————————————————–
9.อาชีพสายการออกแบบ/เขียนแบบด้วยคอมพิวเตอร์/งานสามมิติ/Animation
ตัวอย่าง อาชีพสายออกแบบ/เขียนแบบด้วยคอมพิวเตอร์/ก เช่น
- Draftman (พนักงานเขียนแบบ)
- 3D Product Design Officer
- Interactive Media Editor
- Creative
- 3D Modeling
- 3D Character Animator
- 3D Visualizer
- Computer Animation
——————————————————————————–
10. อาชีพสายสื่อผสม (Multimedia Jobs)
ตัวอย่าง อาชีพสายสื่อผสม เช่น
- Multimedia Designer
——————————————————————————–
11. อาชีพสายที่ปรึกษาไอที (IT Consultant Jobs)
ตัวอย่าง อาชีพสายที่ปรึกษาไอที เช่น
- IT Consultant
- Business Intelligence Consultant
- ERP Consultant
- Datawarehousing Consultant
- CRM Consultant
12. อาชีพสายผู้ตรวจสอบไอที (IT Audit Jobs)
ตัวอย่าง อาชีพสายผู้ตรวจสอบไอที เช่น
- IT Audit (ผู้ตรวจสอบระบบสารสนเทศ)
——————————————————————————–
13. อาชีพสายผู้สอนหลักสูตรไอที / ฝึกอบรมด้านไอที
ตัวอย่าง อาชีพสายผู้สอนหลักสูตรไอที / ฝึกอบรมด้านไอที เช่น
- Computer Teacher (อาจารย์สอนคอมพิวเตอร์)
- IT Trainner (วิทยากรอบรม/บรรยายด้านไอที)
- Instructor (ผู้สอนหลักสูตรคอมพิวเตอร์)
——————————————————————————–
14. อาชีพสายผู้สนับสนุนไอที (IT Support Jobs)
ตัวอย่าง อาชีพสายผู้สนับสนุนไอที เช่น
- IT Support
- IT Support Officer
- Technical Support Engineer
- Technicial Support
- Maintenance Engineer
- Technical Services Engineer
- Helpdesk Supervisor
- IT Help Desk
- Customer Support
- IT Maintenance
——————————————————————————–
15. อาชีพสายพนักงานขายอุปกรณ์ไอที (IT Sales Jobs)
ตัวอย่าง อาชีพสายพนักงานขายอุปกรณ์ไอที เช่น
- IT Sales
- Sales Executive
- Senior Sales Executive
- Product Specialist
- Product Manager
- Sales Engineer (IT)
- Sales Engineer (Solution)
- Sales Supervisor
- Pre-sales Consultant
- Sales Representative
- Project Sales
- Pre-sales Engineer
——————————————————————————–
16. อาชีพสายพนักงานไอที
ตัวอย่าง อาชีพสายพนักงานไอที เช่น
- IT Officer
- System Operator
- IT Operator
- Computer Operator
——————————————————————————–
17. อาชีพสายไอทีอื่นๆ ที่น่าสนใจ
ตัวอย่าง อาชีพสายไอทีอื่นๆ ที่น่าสนใจ เช่น
- นักเขียนหนังสือ (IT Book)
- นักเขียนนิตยสาร/หนังสือพิมพ์ (Columnist)
- นักข่าวสายไอที (Reporters)
- บรรณาธิการนิตยสารไอที

------------------------------------------------------------
credit : http://pantip.com/topic/30807700
--------------------------------------------------

06 July 2013

เทคนิคการเขียนโปรแกรม 50 ข้อ

1.โปรแกรมแบบพอเพียง(ทำอะไรให้เล็กที่สุดเท่าที่เป็น ไปได้)
2.ทำสิ่งธรรมดาให้ง่าย ทำสิ่งยากให้เป็นไปได้
3.จงโปรแกรมโดยนึกว่าจะมีคนมาทำต่ออย่างแน่นอน
4.ระเบียบ กฏข้อบังคับ เชื่อมั่นไม่ได้แล้ว ถ้ามีเพียงหนึ่งโมดูลไม่ปฏิบัติตาม
5.ตัดสินใจให้ดีระหว่างความชัดเจน(clearance) กับ การขยายได้(extensibility)
6.อย่าเชื่อมั่น output จากโมดูลอื่น ถึงแม้เราจะเป็นคนเขียนเอง
7.ถ้าคนเขียนยังเข้าใจได้ยาก แล้วคนอ่านจะเข้าใจได้ยากกว่าแค่ไหน
8.ค้นหาข้อมูลสามวันแล้วทำหนึ่งวัน หรือจะทำสามวันแล้วแก้บั๊กตลอดไป
9.จงสร้างเครื่องมือ ก่อนทำงาน
10.อย่าโทษโมดูลอื่นก่อน โดยเฉพาะถ้าโมดูลอื่นเป็น OS และ Compiler
11.พยายามทำตามกฏ แต่ถ้ามีข้อยกเว้น ต้องมีอย่างหลีกเลี่ยงไม่ได้ แล้วประกาศและตะโกนให้ดังที่สุด
12.High cohesion Loose coupling. (ยึดเกาะให้สูงสุดในโมดูล และ เกาะเกี่ยวกับโมดูลอื่นให้น้อยที่สุด)
13.ให้สิ่งที่เกี่ยวข้องกันยิ่งมากอยู่ไกล้กันมากที่ สุด
14.อย่าเชื่อโดยไม่พิสูจน์
15.อย่าลองทำแล้วคอมไพล์ดู ถ้าเราไม่ได้คาดหวังผลลัพธ์อะไรไว้ (อย่างเช่นปัญหา index off by one)
16.จงกระจายความรู้เพราะนั่นคือการทำ Unit Test ระดับล่างสุด(ระดับความคิด)
17.อย่าเอาทุกอย่างใส่ใน UI เพราะ UI คือส่วนที่ Unit Test ได้ยาก
18.ทั้งโปรเจ็คต์ควรไปในทางเดียวกันมากที่สุด( Consistency )
19.ถ้ามีสิ่งที่ดีอยู่แล้วจงใช้มัน อย่าเขียนเอง ถ้าจำเป็นต้องเขียนเอง ให้ศึกษาจากข้อผิดพลาดในอดีตก่อน
20.อย่ามั่นใจเอาโค้ดไปใช้จนกว่าจะ test อย่างเพียงพอ
21.เอาโค้ดที่ test ไว้ที่เดียวกันกับโค้ดที่ถูก test เสมอ
22.ทุกครั้งที่แก้ไขโค้ดให้ run unit test ทุกครั้ง
23.จงใช้ Unit Test แต่อย่าเชื่อมั่นทุกอย่างใน Unit Test เพราะ Unit Test ก็ผิดได้
24.ถ้าต้องทำอะไรที่ซ้ำกันมากกว่าหนึ่งครั้ง ก็เพียงพอแล้วที่จะแยกโค้ดส่วนนั้นออก
25.ทำให้ใช้งานได้ก่อน แล้วค่อย optimize และถ้าไม่จำเป็น อย่าoptimize
26.ยิ่งประสิทธิภาพเพิ่ม ความเข้าใจง่ายจะลดลง
27.ใช้ Design Pattern ที่เป็นที่รู้จักจะได้คุยกับใครได้รู้เรื่อง
28.อย่าเก็บไว้ทำทีหลัง ถ้ายังไงก็ต้องทำ
29.MutiThreading ไม่ใช่แค่การเพิ่มประสิทธิภาพ แต่มันมาพร้อมกับ Concerency, Deadlock, IsolationLevel, Hard to debug, Undeterministic Errors.
30.จงทำอย่างโจ่งแจ้ง
31.อย่าเพิ่ม technology โดยไม่จำเป็น เพราะนั่นทำให้โปรแกรมเมอร์ต้องวุ่นวายมากขึ้น
32.จงทำโปรเจ็คต์ โดยคิดว่าความเปลี่ยนแปลงเกิดขึ้นได้เสมอ
33.อย่าย่อชื่อตัวแปรถ้าไม่จำเป็น เดี๋ยวนี้ IDE มันช่วยขึ้นเยอะแล้วไม่ต้องพิมพ์เองแค่ dot มันก็ขึ้นมาให้เลือก
34.อย่าใช้ i, j , k , result, index , name, param เป็นชื่อตัวแปร
35.ทำโค้ดที่ต้องสื่อสารผ่านเครือข่ายให้คุยกันน้อยท ี่สุด
36.แบ่งแยกดีดี ระหว่าง Exception message ในแต่ละเลเยอร์ ว่าต้องการบอกผู้ใช้ หรือ บอกโปรแกรมเมอร์
37.ที่ระดับ UI ต้องมี catch all exception เสมอเพื่อกรอง Exception ที่ลืมดักจับ
38.ระวัง คอลัมภ์ allow null ใน database ดีดี ค่า มัน convert ไม่ได้
39. อย่าลืมว่า Database เป็น global variable ประเภทหนึ่ง แต่ละโปรแกรมที่ติดต่อเปรียบเหมือน MultiThreading ดังนั้นกฏของ Multithreading ต้องกระทำเมื่อทำงานกับ Database
40.ระวังอย่าให้ logic if then else ซ้อนกันมากมาก เพราะสมองคนไม่ใช่ CPU จินตนาการไม่ออกหรอกว่ามันอยู่ตรงไหนเวลา Debug (ถ้ามากกว่าสามชั้นก็ลองคิดใหม่ดูว่าเขียนแบบอื่นได้ มั้ย)
41.ระวังอย่าให้ลูปซ้อนกันมากมาก ไม่ใช่แค่เรื่องความเร็วอย่างเดียว เวลา Debug เราคิดตามมันไม่ได้ (ถ้าเกินสามชั้นก็ไม่ไหวแล้ว)
42. อย่าใช้ Magic Number ใน Code เช่น if( controlingValue == 4 ) เปลี่ยนไปใช้ Enum ดีกว่า เป็น if( controlingValue == ControllingState.NORMAL ) เข้าใจง่ายกว่ามั้ย
43.ถ้าจะเปรียบเทียบ string Trim ซ้ายขวาก่อนเสมอ
44.คิดหลายๆ ครั้งก่อนใช้ Trigger
45.โปรแกรมเมอร์คือห่วงโซ่สุดท้ายของมลพิษทางความซับ ซ้อน ดังนั้นหา project leader ดีดีแล้วกัน
46. มนุษย์ฉลาดกว่าคอมพิวเตอร์ การเขียนโปรแกรมก็คือการสอนให้คอมพิวเตอร์ฉลาดได้เหม ือนเรา (มนุษย์ฉลาดกว่าคอมพิวเตอร์จริงๆนะ)
Reply With Quote
47. จงควบคุมคอม มิใช่ให้คอมควบคุมเรา เราต้องสั่งให้คอมทำงาน ไม่ใช่ให้เราทำงานตามคอมสั่ง
48. อย่าปล่อยให้ข้อจำกัดของคอม มาจำกัดความคิดของเรา [คอมไม่ดีเปลี่ยนเครื่องเลย 55+]
49. ยอมรับความคิดของผู้อื่น แต่อย่าออกจากกรอบของตนเอง
50. หมั่น Save โปรแกรมไว้อย่าสม่ำเสมอ ก่อนที่จะไม่มีโอกาส Save [จะให้ดี Save เป็นแต่ละ Version เลย]
-----------------------------------------------------------------------------------------------------------
ที่มา
-----------------------------------------------------------------------------------------------------------

05 April 2013

เรื่องที่ต้องรู้ก่อนจดโดเมน


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

- ควรคัดสรรเลือกชื่อโดเมนก่อนตัดสินใจจดชื่อโดเมน เพราะเมื่อ จดชื่อโดเมนแล้ว จะไม่สามารถเปลี่ยนแปลงชื่อโดเมนที่จดไปแล้วได้ ต้องจดใหม่ ก็คือเสียเงินจดโดเมนเพิ่มอีก 1 โดเมน
- เลือกผู้ให้บริการจดโดเมนที่เชื่อถือได้ เพราะผู้ดูแลโดเมนให้คุณ จะต้องเป็นผู้ต่ออายุโดเมนให้เมื่อโดเมนหมดอายุ นอกจากนี้ เค้ายังสามารถเข้าไปจัดการแก้ไขโดเมนของคุณได้เช่นกัน
- ผู้ให้บริการ ควรจดชื่อโดเมนโดยใช้ชื่อคุณเป็นเจ้าของโดเมน 100% ไม่เช่นนั้นคุณจะไม่สามารถจัดการโดเมนของคุณเองได้ ซึ่งอาจเกิดปัญหา เมื่อคุณต้องการเปลี่ยนผู้ดูแลโดเมนของคุณเป็นเจ้าอื่น(การเปลี่ยนผู้ดูแลโดเมน ก็คือ การย้ายโดเมน หรือ Transfer Domain) ทั้งนี้ คุณควรเก็บ Username และ Password สำหรับโดเมนไว้เป็นความลับ หากคุณจ้างผู้อื่นทำเว็บไซต์ ให้แค่ Username และ Password สำหรับ FTP ก็พอ
- ในการจดโดเมน ต้องใช้ข้อมูลส่วนตัวของเจ้าของโดเมนคือ ชื่อ นามสกุล, ที่อยู่, รหัสไปรษณีย์, อีเมล, เบอร์โทรศัพท์ ทั้งหมดเป็นภาษาอังกฤษ ซึ่งแนะนำให้กรอกข้อมูลให้ถูกต้องและครบถ้วน หากคุณต้องการทราบว่า เจ้าของโดเมนคือใคร สามารถเช็คได้ที่เว็บไซต์ http://www.whois.com จะปรากฏรายละเอียดเจ้าของโดเมน หากคุณเป็นเจ้าของโดเมนแล้ว และไม่ต้องการเปิดเผยรายละเอียดในส่วนนี้ สามารถแจ้งผู้ให้บริการให้ปกปิดข้อมูลส่วนนี้ได้

หลังจากจดโดเมน
อย่าลืมเข้าไปเช็คว่าโดเมนนั้นเป็นของคุณ 100% หรือไม่

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

การย้ายโดเมน
การจดโดเมน จะต้องมีผู้ให้บริการเป็นผู้จดโดเมนให้ ซึ่งผู้ให้บริการมีหลายเจ้า หากต้องการเปลี่ยนผู้ให้บริการก็สามารถทำได้ โดยทำตามขั้นตอนดังนี้
1. ตรวจสอบก่อนว่า โดเมนที่จะย้าย ยังไม่หมดอายุ และ ควรย้ายโดเมนก่อนถึงวันหมดอายุไม่น้อยกว่า 30 วัน และโดเมนนั้นคุณเป็นเจ้าของ 100%
2. ขอ Transfer Code หรือ Auth Code จากผู้ให้บริการรายเดิม หรือในบางกรณีเจ้าของโดเมน login เข้าไปดูในระบบจัดการโดเมนเองก็ได้
3. แจ้งชื่อโดเมนที่ต้องการย้าย และ Transfer Code ไปยังผู้ให้บริการรายใหม่ทำการย้าย
4. หลังจากผู้ให้บริการรายใหม่ดำเนินการย้ายโดเมนให้แล้ว จะมีอีเมลแจ้งมายังเจ้าของโดเมน ให้คลิก Approve คำขอย้ายโดเมน
5. การดำเนินการย้ายโดเมนจะใช้เวลาประมาณ 5 วัน
การย้ายโดเมนจะต่ออายุโดเมนไปในตัวเพิ่มอีก 1 ปี โดยอัติโนมัติ
---------------------------------------------------------------------
credit : http://www.thaihostclub.com
---------------------------------------------------------------------

01 April 2013

wordpress 2 ภาษา


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

ขั้นตอนการติดตั้งปลั๊กอิน qTranslate
1.ไปโหลด Plugin มาก่อนที่ http://wordpress.org/extend/plugins/qtranslate/ หรือ http://www.qianqin.de/qtranslate/
2.เข้าระบบ Admin แล้วเลือก Plugins (ที่อยู่ทางด้านบนขวาของจอ) แล้วเลือก Add New
3.จากนั้นเลือกที่แถบ Upload
4.กด Browse เพื่อเลือกไฟล์ที่โหลดมา แล้วกด Install Now
ทำการ Active เสร็จสิ้นขั้นตอนการติดตั้งครับ


  • ขั้นตอนการติดตั้งปลั๊กอิน qTranslate

  1. ไปโหลด Plugin มาก่อนที่ http://wordpress.org/extend/plugins/qtranslate/ หรือhttp://www.qianqin.de/qtranslate/
  2. เข้าระบบ Admin แล้วเลือก Plugins (ที่อยู่ทางด้านบนขวาของจอ)
  3. แล้วเลือก Add New
  4. จากนั้นเลือกที่แถบ Upload
  5. กด Browse เพื่อเลือกไฟล์ที่โหลดมา แล้วกด Install Now
  6. ทำการ Active   ซะ
  7. เสร็จสิ้นขั้นตอนการติดตั้ง
  • การเพิ่มภาษาใน qTranslate

  1. เข้าไปที่ Setting > Languages
  2. เลื่อนลงไปจนเจอส่วน Add Language
  3. ตัวอย่างสำหรับการตั้งค่าภาษาไทย
    qTranslate_add_lang.jpg
    - Language Code : TH
    - Flag : th.png
    - Name : Thailand
    - Locale : th
    - Date Format : %A %B %e%q, %Y
    - Time Format : %I:%M %p
    - Not Avaliable Message : Sorry, this entry is only available in %LANG
  4. กดปุ่ม  Add Language
  • การตั้งค่าให้ภาษา Default

  1. เข้าไปที่ Setting > Languages
  2. เลื่อนดูส่วน Generalที่หัวข้อ Default Langage / Order
  3. เลือกภาษาที่ต้องการใช้เป็นภาษาหลัก
    qTranslate_set_order_lanf.jpg
  4. กด Save ด้านล่าง
  • การใช้งาน qTranslate  สำหรับเว็บหลายภาษา

  1. เมื่อทำการเพิ่ม post / page
  2. ในส่วน Title : ใส่หัวข้องของเนื้อหาโดยเลือกใส่ตามช่องของภาษาที่ต้องการ
    qTranslate_title.jpg
  3. ในส่วนเนื้อหา : ให้กดเลือกที่อักษรย่อของภาษาที่ต้องการใส่เนื้อหา
    qTranslate_detail.jpg
  4. ในส่วน excerpt : ให้กดเลือกที่ธงของภาษาที่ต้องการใส่เนื้อหาก่อน
    qTranslate_excerpt.jpg
  • การเพิ่ม Widget ในการแสดงลิงก์เปลี่ยนภาษา

  1. เข้าไปที่ Appearance > Widget
  2. ลากกล่อง qTranslate Language Chooser ไปวางในส่วนที่ต้องการ
    qTranslate_widget.jpg