งานพัฒนาและบำรุงรักษาฯ Category

Begining Jquery Part II

February 23rd, 2009 by cpcpyc in งานพัฒนาและบำรุงรักษาฯ

jQuery ( expression, [context] )

expression ก็คือ selector อย่างที่ได้ทราบจาก step by step (1) นั่นเองครับ

โดย default แล้ว context จะมีค่าเป็น document หรือข้อมูลของเว็บหน้าที่บรรจุโค้ด jQuery ทั้งหน้าเลยครับ

อย่างเช่น

Read the rest of this entry »


Begining Jquery Part I

February 20th, 2009 by cpcpyc in งานพัฒนาและบำรุงรักษาฯ

jQuery เป็น javascript framework ที่ช่วยให้การเขียน
dynamic html, DOM, AJAX เขียนสั้นกว่าเดิมแต่เขียนได้ง่ายกว่า :D

แล้วยังเขียนแล้ว Cross-browser IE 6.0+, FF 2+, Safari 2.0+, Opera 9.0+ อีก
เรียกว่าเขียนแล้วแทบไม่ต้องไปทดสอบกันทีละ browser เลย
( ถ้าใช้ css ผ่าน jquery ทั้งหมดไม่ต้องทดสอบเลย เพราะว่า jquery สนับสนุน css 3.0 แล้ว
เรียกได้ว่าข้ามขีดจำกัดของ browser กันเลยทีเดียว แต่ถ้าเขียน css ธรรมดาประกอบด้วยก็ต้องทดสอบอยู่ดี..แป่ว )

ดาวน์โหลด jquery.js เวอร์ชั่นล่าสุดจาก http://www.jquery.com

=======================================================

Read the rest of this entry »


เทคนิคที่น่าจะใช้บ่อย ในการเขียน PHP

February 16th, 2009 by cpcpyc in PHP, งานพัฒนาและบำรุงรักษาฯ

-  สามารภใช้  heredoc  syntax ในการสร้าง string  เช่น

$s = "This is something ";
$s .= "that will make ";
$s .= "a long string, with ";
$s .= "a variable: $x.";

เป็น

$s = <<;

- วิธีเอาตัวแปรเข้าไปแทนค่าใน string ควรใช้เครื่องหมาย “{}” (curly braces)  ครอบเช่น

$x = "Something with {$y['key']} and {$z}.";

- หากต้องการใช้ array ใน programของเรา ควรจะใช้ associative arrays  เช่น

$pages = array(
'index' => 'startPage.php',
'contact' => 'sendForm.php'
);

// could do some function here
$thePage = 'contact';

$theAddress = $pages[$thePage];

- การทำ shortcut  “else”  วิธีนี้เป็นการกำหนดค่า defualt ก่อนเข้า เงื่อนไข ทำให้ program ไม่ต้องทำคำสั่ง else  เช่น

if( this condition )
{
$x = 5;
}
else
{
$x = 10;
}

เป็น

$x = 10;
if( this condition )
{
$x = 5;
}

-  การเข้าถึง array ควรจะใช้  “foreach”  โดยเฉพาะการแก้ไขข้อมูลภายใน array เช่น

$arr = array(0,1,2,3,4,5,6,7,8,9);

foreach($arr as $key => $num) {
if($num==5) {
$arr[$key]=0;
}
}
print_r($arr);

- การใช้ swicth  บางครั้งเราอาจจะลืม break; เช่น

switch($x)
{
case 'one': ...; break;
case 'two': ...; break;
default: ...; break;
}

เราสามารถเขียนได้โดย ใช break แค่ครั้งเดียว หรือ บางครั้งถ้าเราต้องการกำหนด หลายๆเงื่อนไขใน case เดียว สามารถทำได้โดย

case 'one': case 'two': ...; break;

บีบอัดเว็บด้วย Opera Turbo

February 13th, 2009 by cpcpyc in งานพัฒนาและบำรุงรักษาฯ, เรื่องทั่วไป

Opera เปิดตัวเทคโนโลยี Opera Turbo ซึ่งจะช่วยบีบอัดขนาดของเว็บเพจลงได้สูงสุดถึง 80%

การทำงานจะคล้ายๆ กับพร็อกซี คือเว็บเพจจะต้องผ่านเซิร์ฟเวอร์ของ Opera (เรียกว่า “Opera Turbo Server”) ก่อนจะบีบอัดแล้วส่งไปให้ตัวเบราว์เซอร์ที่สนับสนุนความสามารถนี้ ซึ่งได้แก่ Opera Desktop, Opera Mobile และ Opera Devices SDK (เช่น บนทีวีหรือเครื่องเกม)

จากผลทดสอบที่ Opera นำมาโชว์ บนคอมพิวเตอร์ปกติจะลดขนาดเว็บเพจลงได้ 71% (กรณีที่ดีที่สุด) ส่วนบนมือถือได้ 80% ก่อนหน้านี้ Opera ใช้เทคนิคลักษณะเดียวกันกับ Opera Mini มาแล้ว ผมยังหาข้อมูลไม่พบว่าถ้าใช้เบราว์เซอร์ Opera แบบปกติอยู่ จะติดตั้งความสามารถ Opera Turbo เพิ่มเข้าไปได้อย่างไร (คาดว่าจะอยู่ในรูปปลั๊กอิน ก่อนจะรวมเข้าเป็นฟีเจอร์มาตรฐานในเวอร์ชันหน้า)

อย่างไรก็ตามมีข้อพึงระวัง เพราะใน whitepaper (PDF - หน้า 6) ของ Opera Turbo ระบุว่าจุดขายอันหนึ่งคือ การท่องเว็บผ่าน Opera Turbo จะช่วยให้โอเปอเรเตอร์มือถือสามารถดูพฤติกรรมการใช้เว็บของลูกค้าได้ด้วย

ที่มา - Opera


JSON : จังหวัด, อำเภอ

February 6th, 2009 by cpcpyc in งานพัฒนาและบำรุงรักษาฯ

ช่วยลดเนื้อที่และการติดต่อ Database

Download JSON


Ruby 1.9.1

February 2nd, 2009 by cpcpyc in งานพัฒนาและบำรุงรักษาฯ

Ruby 1.9 นั้นได้รับการปรับปรุงเรื่องประสิทธิภาพเป็นอย่างมาก (เค้าโฆษณาว่าเป็น the Fastest Ruby Ever) เพราะว่าเปลี่ยนมาใช้ YARV เพียงแต่ระบบเลขเวอร์ชันของ Ruby นั้น จะเริ่มนับว่าเป็นรุ่นเสถียรใน point release (1.9.x)

ดังนั้น Ruby 1.9.1 จึงถือเป็นรุ่นแรกในสาย 1.9 ที่แนะนำให้นำไปใช้ในงานจริงได้ และถือว่าเป็นรุ่นที่มาแทน Ruby 1.8.7 อย่างไรก็ตาม Ruby สาย 1.8.x ก็จะยังพัฒนาอยู่ โดยมีแผนจะออก 1.8.8 ช่วงปลายปีนี้

รายการเปลี่ยนแปลงดูได้จาก CHANGELOG นอกจากนี้ยังมีข่าวว่า JRuby 1.2 จะใช้ไลบรารีของ Ruby 1.9.1 เป็นมาตรฐาน

ที่มา - Ruby Inside


Netbeans 6.5 Release

January 30th, 2009 by cpcpyc in งานพัฒนาและบำรุงรักษาฯ
Download NetBean IDE 6.5 > http://www.netbeans.org/downloads/index.html
Download Plugin > http://plugins.netbeans.org/PluginPortal/faces/MainPage.jsp

Feature Highlights

PHP

  • PHP Editor (Code completion, syntactic and semantic code highlighting)
  • Support for heredoc notation and PHTML
  • Debugging using Xdebug
  • Generators for MySQL database code snippets

JavaScript and Ajax

  • JavaScript Debugging on FireFox & Internet Explorer
  • HTTP transaction monitoring
  • Improved JavaScript and CSS Editor
  • JavaScript Library Manager incl Yahoo UI, Woodstock, jQuery, Dojo, Scriptaculous, Prototype libraries

Java EE & Web Development

  • Enhanced support for Spring, Hibernate, JSF, JSF CRUD generator, JPA (Java Persistence API)
  • Create RESTful web services from database tables or from JPA entities
  • Drag and drop SaaS services into PHP files
  • SQL Editor Improvements (code completion, save/recall queries, and more)
  • Improved Eclipse project import and synchronization for Java Web projects
  • Automatic Deploy on Save

JavaFX

  • Create, test, debug, profile, and deploy JavaFX projects
  • JavaFX editor with syntax highlighting, source navigation, code completion, code folding, javadoc pop-ups, and error detection.
  • Live preview of visual elements
  • Code snippet palette for transformations, effects and animations

Groovy and Grails

  • Develop pure Groovy apps or use Groovy in Java SE projects
  • Groovy editor with code completion, highlighting, and more
  • Grails web application framework
  • Open existing Grails applications without adding metadata

Ruby and Rails

  • New Test Runner interface for displaying test results
  • Rake improvements: Rake Runner and a pre-generated Rake file
  • Debugger: Conditional breakpoints and catchpoints
  • Ruby projects accept JVM options from command line

GlassFish v3 Prelude for Web Development

  • Modular, OSGi based architecture
  • Small footprint, fast startup and deployment
  • Support for scripting, including JRuby

C/C++

  • Improved code completion, error highlighting, and semantic highlighting
  • Call graph, Memory window
  • Remote development
  • Packaging of application as tar files, zip files, or SVR4 packages

Java ME

  • New project wizard for adding custom components to the Visual Designer Palette
  • New SVG UI components in the enhanced SVG Composer enable rich UI design
  • New Data Binding Custom Components in the Visual Designer Palette
  • Upgraded obfuscation tool to ProGuard 4.2 and test framework to JMUnit 1.1.0

Java Debugger

  • New multi-threaded debugging with improved UI and work-flow
  • Smart Step Into with method selection right inside expression
  • Deadlock detection with visual indication

Java SE

  • Automatic Compile on Save
  • Improved Eclipse project import and synchronization
  • Java Call Hierarchy
  • Analyze Javadoc
  • Swing GUI Builder can generate simple or fully qualified class names

IDE Tools and Usability

  • CamelCase code completion
  • Customize formatting settings per project
  • One IDE-wide QuickSearch shortcut for files/symbols/types, IDE actions, options, and docs

Support for Windows UNC paths (shared network folders)

ที่มา - http://www.netbeans.org/community/releases/65/


6 ภาษาสคริปต์หน้าใหม่ที่น่าจับตามอง

January 19th, 2009 by cpcpyc in งานพัฒนาและบำรุงรักษาฯ, เรื่องทั่วไป

CIO.com ลงบทความแนะนำภาษาสคริปต์รุ่นใหม่ๆ ที่อาจจะมาแรง และองค์กรควรจับตาดูไว้เผื่อจะได้ใช้ในอนาคต

  • Scala - เจาะกลุ่มโปรแกรมเมอร์จาวาเดิม อ้างว่าแก้ปัญหา (เชิงภาษา) ของจาวาไปเกือบหมด
  • Groovy - เกิดขึ้นเพราะเราอีดอัดกับข้อจำกัดของจาวา หลังจากที่คุณได้ลองเขียน Python, Smalltalk หรือ Ruby แล้ว คุณจะพบว่ามีฟีเจอร์หลายอย่างที่เราอยากให้มีในจาวาด้วย
  • Clojure - เหมือนกับ 2 ภาษาแรกคือแปลงโค้ดเป็น byte code ก่อนเรียกใช้ แต่เน้นการใช้งานด้านมัลติคอร์และประมวลผลแบบขนานเป็นพิเศษ
  • Lua - เป็นภาษาขนาดเล็กมากๆ นิยมใช้ร่วมกับภาษาอื่น แพร่หลายในวงการพัฒนาเกม โฆษณาว่าเหมาะสำหรับการพัฒนาแบบ Agile
  • F# - เป็นโครงการวิจัยภายในของไมโครซอฟท์ ที่สร้างภาษาสคริปต์ขึ้นมาสำหรับแพลตฟอร์ม .NET
  • Boo - ภาษาที่ได้แรงบันดาลใจมาจาก Python แต่ตอนใช้จะคอมไพล์เป็น CLI

นอกจาก 6 ภาษานี้ในบทความยังเอ่ยถึง Factor กับ REBOL และภาษาเก่าแก่อย่าง Lisp ก็ไม่เว้น

ที่มา - CIO.com ผ่าน OSNews


แนวโน้มในอนาคตของภาษาโปรแกรมแบบไดนามิก

January 16th, 2009 by cpcpyc in งานพัฒนาและบำรุงรักษาฯ, เรื่องทั่วไป

InfoWorld มีสกู๊ปเกี่ยวกับอนาคตของภาษาโปรแกรมแบบไดนามิก ว่าจะไปในทิศทางใด จำนวน 10 ข้อ

  1. ภาษาจะมีลักษณะคล้ายกันมากขึ้น เพราะหยิบยืมฟีเจอร์ของภาษาอื่นๆ มาใช้
  2. เฟรมเวิร์คมีความสำคัญมากขึ้น ปัจจัยในการเลือกไม่ได้มีแต่ภาษาอย่างเดียวอีกต่อไป แต่มีเรื่องเฟรมเวิร์คเข้ามาเพิ่มด้วย
  3. เริ่มมีการระบุความเชี่ยวชาญเป็นชื่อแอพพลิเคชัน (เช่น WordPress, Drupal, Facebook) มากขึ้น แทนที่จะเป็นตัวภาษา แต่ถ้ามันเฉพาะทางเกินไป อาจอยู่ไม่ยืด
  4. ชุมชนผู้ใช้ภาษาโปรแกรมจะมีอิทธิพลเพิ่มขึ้น ตัวอย่างเช่น เมื่อ iPhone SDK เปิดตัว ก็มีคนสนใจ Cocoa/Obj-C เพิ่มขึ้นมาก
  5. เว็บแอพพลิเคชันและ cloud จะเป็นปัจจัยสำคัญที่ทำให้ภาษาไดนามิกรุ่ง เอาง่ายๆ ดู AppEngine/Python
  6. ประสิทธิภาพจะเป็นตัวเปลี่ยนเกม - สงครามเอนจินจาวาสคริปต์ระหว่าง TraceMonkey, V8, SquirrelFish Extreme จะทำให้ประสิทธิภาพของจาวาสคริปต์เพิ่มจนเราอาจเอา Perl ไปรันได้ (Larry Wall เขาว่าไว้)
  7. โปรแกรมมิ่งจะเปลี่ยนจากเดิมที่อิงคอมมานด์ไลน์ มาเป็นเว็บอย่างเดียวมากขึ้น เช่น การใส่ code snippet ส่วนเล็กๆ ลงใน WordPress หรือ Drupal
  8. การคอมไพล์ข้ามแพลตฟอร์ม เช่น Python เป็นไบต์โค้ดหรือ CLR และ GWT แปลงจาวาเป็นจาวาสคริปต์ จะช่วยขยายพรมแดนของภาษาไดนามิกออกไป
  9. ให้จับตาดูเครื่องมือโปรแกรมมิ่งแบบลากแล้ววาง อย่างเช่น Coghead หรือ Microsoft Popfly
  10. ตัวภาษาและแพลตฟอร์มต้องพัฒนาตัวเอง ให้รองรับสถาปัตยกรรมคอมพิวเตอร์แบบใหม่ๆ เช่น มัลติเธร็ด

ที่มา - InfoWorld


Firebug 1.3.0

January 12th, 2009 by cpcpyc in งานพัฒนาและบำรุงรักษาฯ

Firebug รุ่นล่าสุด 1.3.0 ออกแล้วครับ (น่าจะอัพเกรดกันผ่าน Add-ons Update หมดแล้วด้วย)ฟีเจอร์ใหม่ของ Firebug 1.3.0 ดูได้จาก Release Notes คร่าวๆ ก็มีการปรับปรุงประสิทธิภาพของ Javascript Debugging สำหรับการดีบั๊กไฟล์ขนาดใหญ่, ปรับปรุงตัวคอนโซลใหม่, เพิ่มการแปลส่วนติดต่อผู้ใช้อีกหลายภาษา และแก้บั๊กอีกจำนวนหนึ่ง

Firebug 1.3.0 นั้นยังไม่สามารถทำงานกับ Firefox 3.1 ได้ ต้องใช้ Firebug 1.4.0 ซึ่งตอนนี้อยู่ในสถานะอัลฟ่า

ที่มา - Firebug 1.3.0 Final Released, Ars Technica