ความจริง 9 ข้อเกี่ยวกับ Google+

หลายท่านคงได้เล่น Google+ กันมาพอสมควร ส่วนตัวผมเองเพิ่งมีโอกาสได้เล่น (วันหยุดพอดี) เลยขอสรุปสั้นๆให้เข้าใจกันง่ายๆ 9 ข้อดังนี้ Google Plus = Facebook + Twitter คือไม่ต้องเป็น Friend กันก็ Follow กันได้ Comment กันได้ ด้วยเหตุนี้ Account ใน Google Plus ไม่น่าจะแบ่งแบบ Facebook ที่มี Pages ให้ Users ทั่วไป Follow เท่าที่ลองไม่มีการ Limit ตัวอักษรแบบ Twitter ที่ 140 หรือ Facebook ที่ 420 ตัวอักษร ความเจ๋งของ Stream ของ Google Plus อยู่ที่คุณสามารถแก้ไข Stream ที่ Share ไปแล้วได้ ซึ่งอย่างที่รู้กัน…

9 ขั้นตอนในการ Install Apache, PHP, MySQL บน Mac OS X 10.6 (Show Leopard)

ต้องยอมรับว่าผมไม่เคยใช้ Mac พัฒนาเว็บเลย ส่วนใหญ่จะเป็น iPhone เสียมากกว่า แต่ไหนๆหลังๆก็ใช้ชีวิตอยู่กับ Mac มากขึ้น เลยลองพัฒนาเว็บบน Mac บ้างดีกว่่า ขั้นตอนก็คล้ายๆกับ Linux เพราะ Mac OS นั้นเป็น Unix นั่นเอง 1. Start Apache sudo apachectl startsudo apachectl start 2. Test Apache http://localhosthttp://localhost 3. Enable PHP แก้ไฟล์ /etc/apache2/httpd.conf (แก้ด้วย VI ก็ได้) ให้ uncomment php module ดังข้างล่าง LoadModule php5_module libexec/apache2/libphp5.soLoadModule php5_module libexec/apache2/libphp5.so 4. Restart Apache sudo apachectl…

Eclipse Helios is here! (Eclipse 3.6)

ต้องยอมรับว่าหลังๆผมมีโอกาสได้ใช้ Eclipse น้อยมาก ณ ปัจจุบันผมยังใช้ Ganymede (3.4) อยู่เลยเนื่องด้วยจำเป็นต้องใช้ Plugins หลายตัวที่ยังไม่รองรับ Galileo (3.5) เช่น Flex3, Force.com IDE เรียกได้ว่าผมไม่เคยใช้ Galileo กับงานจริงเลยก็ว่าได้แม้ว่าอยากจะใช้มากก็ตามที แต่ก็ยังแอบลุ้นว่าในอนาคตจะได้ใช้มันมากขึ้น โดยเฉพาะกับงานทางด้าน Java อย่างที่ผมเคย tweet เมื่อนานมาแล้วว่าเขียนภาษาอะไรก็ไม่มันส์เท่าเขียน Java จริงๆ แต่ไม่ว่าจะอย่างไหร่ก็ตาม ทาง Eclipse Foundation ก็ยังคงออกตามแพลนที่วางไว้คือ Eclipse จะมี release ทุกปี โดยการรวบรวมโปรเจคในรอบหนึ่งปีนั้นๆมารวมกัน โดยปีนี้ชื่อของมันคือ Helios สิ่งที่น่่าสนใจของ Helios ไม่ใช่เรื่อง Feature ใหม่ๆ (ซึ่งสามารถดูรายละเอียดได้จาก link ด้านล่าง) แต่เป็นความน่าจะเป็นที่ Eclipse และ NetBeans (ที่เพิ่งออก 6.9) มีโอกาสจะได้ join…

ความแตกต่างระหว่าง Software, Application, และ Program

พอดีวันก่อนมีคนถามว่า Software, Application, และ Program นี่มันแตกต่างกันยังไง ก่อนจะอธิบายด้วยคำพูด มาดูรูปกันก่อนดีกว่าครับ จากภาพข้างต้นแสดงให้เห็นว่า ระบบคอมพิวเตอร์ (Computer System) ประกอบไปด้วย – Hardware หรือ Machine นั่นเอง โดยอาจเป็นเครื่องจริงๆ หรือ Virtual Machine เช่น VMware/VirtureBox/VirtualPC ก็ได้ – Software ที่ทำงานอยู่ใน Hardware ข้างต้น ไม่ว่าจะเป็น OS เช่น Windows/Linux/Mac หรือ Game, Web Browser ก็ล้วนแต่เป็น Software – Program คือส่วนย่อยของ Software กล่าวคือ Software หนึ่งตัวจะประกอบขึ้นมาจาก Program หลายๆตัวนั่นเอง ถ้าใน Software Project ขนาดใหญ่ เราอาจจะได้ยินการประเมิณว่าใน Software…

การบันทึก State ของ iPhone App ด้วย NSUserDefaults

การบันทึก State ของ iPhone App คืออะไร? มันคือการบันทึกค่าต่างๆ เพื่อที่ว่าเมื่อ user ปิด app แล้วเปิดขึ้นมาใหม่ก็จะได้ค่าเดิม เทียบได้กับ INI file ของ Windows นั่นเอง สื่งที่ต้องทำมีสองส่วนคือ ตอน Save กับตอน Load ค่า 1. การ Save state ควรเรียกทุกครั้งที่มีการยืนยันการเปลี่ยนแปลงค่า บางท่านชอบ save ตอนจะปิดโปรแกรมทีเดียว (ใน applicationWillTerminate) ซึ่งมักจะเจอปัญหาว่าถ้าเครื่อง hang ค่าก็จะไม่ทันได้ save 1 2 3 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setInteger:myValue forKey:@"myKey"]; [defaults synchronize];NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];…

ทุกอย่างที่คุณควรรู้กับ Java เมื่อกษัตริย์คืนบัลลังก์

ไม่มีอะไรมากครับ ตั้งชื่อล้อหัวข้อข่าวของ mk ณ Blognone เท่านั้นเอง เรื่องของเรื่องคือ แม้ว่าความนิยมของ Java จะลดลงเรื่อยๆ ถึงขนาดเมื่อเดือนก่อน (May 2010) ก็หล่นจากบัลลังก์มาอยู่อันดับ 2 แต่เดือนนี้แม้ % ความนิยมจะยังลดลงต่อเนื่อง แต่เมื่อเทียบกับคู่แข่งแล้วก็ยังสามารถกลับมาอยู่อันดับ 1 ได้ และคาดว่าคงจะขึ้นๆลงๆแบบนี้อีกหลายรอบซะด้วย สำหรับคนที่ใช้ Java อยู่ไม่ต้องกังวลนะครับ ว่าภาษาจะล้มหายตายจากไปในเร็ววันนี้ Java ยังคงได้รับความนิยมอยากมากในงาน Enterprise เนื่องจากการพลักดันของยักษ์ใหญ่ในวงการ ไม่ว่าจะเป็น IBM, Oracle, SAP เป็นต้น หรือวงการ Open source ก็ยังมีการใช้ Java อีกมากเช่น Apache, Eclipse, Spring, หรือแม่กระทั่ง Google หรือแม้แต่ Mobile App อย่าง Android หรือ Blackberry ก็ยังใช้ Java…

How to use autorelease in Objective-C and iPhone SDK

จากคราวที่แล้วที่ผมพูดเกี่ยวกับ Memory Management in Objective-C and iPhone SDK ด้วยการใช้ alloc และ release วันนี้เราจะมาดูกันว่าวิธีการใช้ autorelease นั้นดีกว่ายังไง เดิมนั้นในการสร้าง instance จาก Class นั้นเราจะเขียน code ประมาณนี้ 1 2 3 MyClass *myObj = [[MyClass alloc] init]; //Do something with myObj [myObj release];MyClass *myObj = [[MyClass alloc] init]; //Do something with myObj [myObj release]; โดย alloc เป็น class method (เทียบได้กับ static…

Memory Management in Objective-C and iPhone SDK

เนื่องจากข้อจำกับของ iPhone SDK ทำให้ไม่สามารถมี Garbage Collector ได้ ดังนั้นเราจึงต้องมาจัดการในเรื่องการจองและคืนหน่วยความจำเอง สอง method หลักๆที่เราต้องเรียกในครั้งนี้คือ 1. alloc เทียบได้กับ malloc ใน C 2. dealloc เทียบได้กับ free ใน C โดยเราจะไม่เรียกใช้ตรงๆแต่จะเรียกผ่าน release method มาดูตัวอย่างกันดีกว่า 1 2 3 MyClass *myObj = [[MyClass alloc] init]; //Do something with myObj [myObj release];MyClass *myObj = [[MyClass alloc] init]; //Do something with myObj [myObj release]; จากตัวอย่างข้างต้น –…

วิธีการเปลี่ยน __MyCompanyName__ ใน Xcode

ช่วงนี้งานอดิเรกเป็น Objective-C ครับ สำหรับใครที่เคยเจอว่า new file หรือ new project แล้ว file template แสดงชื่อบริษัทเป็น __MyCompanyName__ วิธีแก้ให้พิมพ์คำสั่งนี้ใน terminal (แทน www.choopong.com ด้วยชื่อบริษัทของคุณ) จากนันก็ restart Xcode ใหม่ก็จะได้ชื่อบริษัทที่ต้องการเวลา new file หรือ new project แล้วละครับ defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions -dict ORGANIZATIONNAME “www.choopong.com”