Xcode Keyboard Shortcuts

สิ่งหนึ่งที่ programmer ควรจดจำไว้เวลาเขียนโปรแกรม เพื่อให้การพัฒนาเป็นไปด้วยความรวดเร็วมากยิ่งขึ้น คงจะหนีไม่พ้นคำว่า Shortcuts อย่างแน่นอน ไม่ว่าเราจะใช้ Microsoft Visual Studio / EditPlus / eclipse สำหรับครั้งนี้ขอเสนอ Shortcuts สำหรับผู้พัฒนาที่ใช้ Xcode ลองดูจากภาพ แล้วศึกษาดูนะครับ อาจช่วยให้การเขียนโปรแกรมมีความสุขขึ้น ไม่มากก็น้อยล่ะครับ

 

Xcode Shortcuts

Credits : http://cocoasamurai.blogspot.com/2008/02/complete-xcode-keyboard-shortcut-list.html

Hello World! from iPhone

Hello World iPhone

Hello World iPhone

ในที่สุดก็ได้ say “Hello World!” ในเวอร์ชั่นนี้ซักที ต่อไปนี้ก็เป็นเรื่องของการฝึกฝนและความพยายามแล้วล่ะ แล้วรอชมผลงานถัดไปนะครับ
ป.ล.ซื้อ iPhone กันเถอะครับ 55+

 

Setup Timestamp to Table in SQL Server

ปกติแล้วเกือบทุก table จะต้องการใช้ Timestamp ส่วนมากจะ insert ใส่กันไปเองด้วย coding หรือ stored procedure แต่ก็มีวิธีที่ทำให้เราไม่ต้องเข้าไปยุ่งกับมันเลย เพราะยังไงเวลาที่ต้องการ stamp ก็คือเวลาปัจจุบันอยู่แล้ว

1. เริ่มแรกให้เราสร้าง field ที่เป็นประเภท datetime

2. เซ็ต Column Properties ให้ Default Value เป็น getdate() เพื่อเป็นการ auto timestamp

3. ให้ลอง insert ข้อมูลโดยไม่ใส่ create_date ก็จะพบว่าผลลัพธ์ถูกใส่ timestamp มาให้แล้วโดยอัตโนมัติ

หวังว่าข้อมูลนี้คงมีประโยชน์ไม่มากก็น้อยนะครับ

jQuery Validator Configure Manual Message and Rule

ปกติแล้ว jQuery Validator มี default message สำหรับกรณีต่างๆไว้อยู่แล้ว แต่แน่นอนว่าการใช้งานโดยทั่วไปของหลายๆคน ต้องการใช้ข้อความในการเตือนที่แตกต่างกันไป

jQuery Validator Manual Message Rule

More

Configure MIME types to Support FLV Files (windows server)

เหตุมันเกิดเมื่อ windows server ไม่สามารถแสดงผลไฟล์ประเภท .flv ได้ จึงต้องทำการ configure MIME types เพื่อให้ support .flv

มีวิธีการดังต่อไปนี้
1. เปิด IIS ขึ้นมา (Start > All Programs > Administrative Tools > Internet Information Services (IIS) Manager)
2. คลิกขวาที่ local computer -> properties จากนั้นกดปุ่ม MIME Types…

MIME FLV

3. จะมีหน้าต่างขึ้นมาใหม่ ดูที่กล่อง Registered MIME Types (file extensions) ว่ามี .flv หรือไม่ ถ้าไม่มีให้คลิก New… จากนั้นใส่ข้อมูลตามนี้
Extensions: .flv
MIME type: flv-application/octet-stream

MIME types FLV

4. ไปที่ Services (Go Start > All Programs > Administrative Tools > Services) เพื่อ restart “World Wide Web Publishing Service”

MIME types FLV

5. รอจน restart เสร็จ จากนั้นก็ใช้งาน .flv ได้ละครับ

ขอบคุณ
dvdvideosoft

หวังว่าข้อมูลนี้จะมีประโยชน์นะครับ

jQuery Validator the First Step (jQuery Plugins)

เมื่อ web app มีช่องให้ใส่ข้อมูล เช่นการสมัครสมาชิก หรืออะไรก็ตามที่จำเป็นต้องตรวจสอบ ว่าประเภทของข้อมูลถูกต้องหรือไม่ สิ่งเหล่านั้นเราเรียกว่าการ Validate

jQuery Validator
หลังจากกรอกข้อมูลผิด หรือไม่ครบถ้วน ก็ควรจะมีการแจ้งเตือนว่าควรจะกรอกข้อมูลอย่างไร

jQuery Validator
More

document.getElementById().style.display = ‘table’ problem with ie

ในเมื่อ ie 6 ยังคงก่อความเดือดร้อนให้กับโลก online อยู่เสมอมา ปัญหาเกี่ยวกับ browser ที่แสดงผลไม่เหมือนกันจึงเกิดขึ้นอย่างต่อเนื่อง นี่เป็นตัวอย่างของปัญหาหนึ่งใน javascript ที่เปลี่ยน style ให้เป็น table

ปกติแล้วถ้าให้ style=”display : table” จะไม่มีปัญหาในการแสดงผล ไม่ว่าจะเป็น browser ใดก็ตาม แต่หากว่าเราเปลี่ยนการแสดงผลของ style ไปเป็น javascript ดังนี้

document.getElementById('table1').style.display = 'table'

ปัญหาที่ตามมาคือ ie 6,7 จะไม่แสดงผลตามที่ javascript สั่งการ ถ้าเปิดด้วยโปรแกรม ietester ก็จะพบ error ในจังหวะที่ javascript นี้ถูกเรียกใช้

วิธีการแก้ปัญหา
1. ต้องแยกก่อนว่า browser ที่ใช้แสดงผลนั้นเป็น browser ชนิดใด Identify Browser
2. ถ้าเป็น ie browser ก็ให้เราเปลี่ยน

document.getElementById('table1').style.display = 'table'

เป็น

document.getElementById('table1').style.display = 'block'

เพราะ ie 6,7 ไม่สามารถแสดงผลจำพวก table, table-row อะไรได้เลย (ในกรณีของ javascript) ซึ่ง table กับ block มีการแสดงผลเหมือนกัน
แต่ถ้าเป็นกรณีของ firefox หรืออื่น ให้แสดงผลเป็น table ได้

ทำตามนี้ก็สามารถแก้ปัญหาการแสดงผลประเภทนี้ได้

หวังเป็นอย่างยิ่งว่าข้อมูลนี้จะเป็นประโยชน์นะครับ

Identify Browser using JavaScript (IE problem)

จะทำอย่างไรเมื่อ ie 6 แสดงผลต่างกับ browser อื่นๆเป็นอย่างมาก จะเลิกใช้ก็ไม่ได้ เพราะ user ie 6 ยังค่อนข้างเยอะอยู่ ถ้ามีปัญหาในกรณีนี้บางครั้งต้องหลีกเลี่ยงด้วยการใช้ javascript ในการแบ่งแยกว่านี่เป็น browser อะไร ตามตัวอย่างนี้เลยครับ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var ua = navigator.userAgent.toLowerCase();
if ( ua.indexOf( "opera" ) != -1 ) {
    browserName = "opera";
} else if ( ua.indexOf( "msie" ) != -1 ) {
    browserName = "msie";
} else if ( ua.indexOf( "safari" ) != -1 ) {
    browserName = "safari";
} else if ( ua.indexOf( "mozilla" ) != -1 ) {
    if ( ua.indexOf( "firefox" ) != -1 ) {
        browserName = "firefox";
    } else {
        browserName = "mozilla";
    }
}

หลังจากนี้ก็ต้องไปแบ่งแยกกันละว่า จะให้ browser อะไรแสดงผลแบบไหน

หวังเป็นอย่างยิ่งว่าข้อมูลนี่จะเป็นประโยชน์นะครับ

ขอบคุณ
quomon.com

OnClientClick with Validation in ASP.Net

OnClientClick with Validation on ASP.Net

เมื่อ input ต้องการ validate รวมถึงการ confirm พร้อมๆกันจะทำอย่างไร ในเมื่อการใส่อย่างใดอย่างหนึ่งก็สามารถทำงานได้ในตัวของมันเอง แต่หากนำมันมารวมกัน ก็จะพบว่าการ validate input นั้นไม่ทำงาน

OnClientClick with Validation in ASP.Net

มีวิธีการแก้ไข 2 วิธี
1. ให้ alert confirm input ก่อน แล้วค่อยทำการ validate วิธีนี้ต้องใส่โค๊ดด้านล่างไว้ที่ Page_Load

btnSubmit.Attributes.Add("onclick", "if(confirm('do this ?') == false) return false;");

2. ให้ validate ก่อน แล้วค่อย alert confirm input ให้ใส่โค๊ดนี้ในส่วนของ asp:Button

OnClientClick="if (Page_ClientValidate('vd1')){return confirm('Are you sure you want to perform this action?')}"

OnClientClick with Validation in ASP.Net
สำหรับ page ไหนที่มี ValidationGroup หลายตัว ให้ใส่ชื่อ group นั้นใน Page_ClientValidate(‘….’) ด้วย แต่ถ้ามี group เดียวก็ปล่อยว่างได้ครับ
สามารถอธิบายในส่วน if (Page_ClientValidate()) ได้ว่า ถ้าผ่านการ validate เรียบร้อยแล้ว จะทำงานในส่วนของภายใน if ดังนั้นถ้า validate ไม่ผ่าน ก็จะไม่เกิดอะไรขึ้นในส่วนนี้ครับ

ขอบคุณ
msdotnetsupport
stevekinsey

หวังว่าข้อมูลนี้จะเป็นประโยชน์ไม่มากก็น้อยนะครับ

Client does not support authentication protocol MySQL

Client does not support authentication protocol requested by server; consider upgrading MySQL client.

ปัญหานี้เกิดจากการ upgrade MySQL version ไปยัง version 4.1+ เนื่องจากใช้วิธีในการเข้ารหัส user ต่างกัน ใน version ก่อนหน้า 4.1 ใช้การเข้ารหัสด้วยความยาว 16 bytes แต่ใน version หลังจาก 4.1 ใช้ความยาวถึง 4.1 bytes ทำให้การ upgrade version มีปัญหา

การแก้ปัญหาคือต้องไปเปลี่ยนการเข้ารหัสแบบใหม่นั้น ให้กลายเป็นแบบเก่า เพราะว่าเรายังคงใช้เทคโนโลยีอื่นๆในแบบเก่าอยู่ จึงต้องปรับให้ support กัน

วิธีการแก้ปัญหาตามนี้
1. เข้าไปยัง root database ของ MySQL
– ไปที่ command prompt แล้วไปยัง MySQL Directory\bin จากนั้นพิมพ์

1
mysql -u root -p

ระบบจะร้องขอ password ให้ใส่ลงไปแล้ว enter
– หรือไปที่ start->All Programs->MySQL->MySQL Server 4.1->MySQL Command Link Client
จากนั้นก็ใส่ password
MySQL Command
2. ใส่คำสั่งนี้ไปเพื่อ update password ให้เป็นแบบ old password

1
2
3
4
UPDATE mysql.USER
SET password=OLD_PASSWORD('somepassword')
WHERE USER='someuser'
AND host='somehost';

ควรจะทำกับทุก user ที่มี เพราะถ้าไม่ทำ ก็ใช้งานไม่ได้ ลอง select มาดูก่อนก็ได้ ว่า user มีใครบ้าง

1
SELECT USER FROM mysql.USER

3. หลังจากนั้นให้ flush table เพื่อ update ข้อมูลที่เพิ่งแก้ไขไป

1
FLUSH privileges;

4. ทดสอบเข้า phpmyadmin เพื่อดูว่าใช้งานได้รึไม่ น่าจะได้นะครับ (ถ้าไม่ได้ก็… ไม่รู้ทำยังไงเหมือนกัน ^ ^)

ขอบคุณ
thaicyberpoint
digitalpeer

หวังว่าข้อมูลนี้จะมีประโยชน์ไม่มากก็น้อยนะครับ