Storyboard in Xcode 4

Storyboard ใน Xcode คืออะไร หลายๆคนอาจจะสงสัยว่าเอาไว้ทำไม หรือใช้งานได้อย่างไร จริงๆแล้วเป็นเครื่องมือตัวใหม่ที่ทาง Apple ช่วยให้เราออกแบบ Application ได้ง่ายขึ้นและมีระบบระเบียบที่ดีขึ้น คล้ายเวลาจะสร้างหนังซักเรื่อง ก็ต้องมีการเขียน Storyboard เพื่อเป็น Guideline ก่อนนั่นเอง
More

I just 27 years old.

สวัสดีทุกท่านที่เข้ามาเยี่ยมชม blog ของผมนะครับ มีเรื่องราวอยากแบ่งปันประสบการณ์ของผมในปีที่ผ่านมาให้พี่น้องได้รับชมกันครับ

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

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

แต่แล้วความตั้งใจก็ไม่ประสบผลสำเร็จ จากเหตุการณ์แผ่นดินไหวของญี่ปุ่น (11/03/2011) ทำให้ความคิดที่จะไปญี่ปุ่นของผมนั้นเปลี่ยนไป จึงได้มุ่งมั่นทำงานต่อทันที หวังว่าซักวันภาษาญี่ปุ่นที่เราได้ร่ำเรียนมานั้นจะได้ใช้ในอนาคต อีก 10 20 หรือ 30 ปีก็ไม่อาจรู้ได้ ดั่งที่ Steve Jobs เคยพูดถึงเรื่อง “Life is about connecting the dots” ในพิธีจบการศึกษาของ Stanford University 2005

“Life is about connecting the dots” ชีวิตคือการเชื่อมต่อจุดให้เป็นภาพ จงเชื่อมั่นในสิ่งที่คุณทำ คุณไม่รู้หรอกว่าสิ่งที่คุณทำอยู่จะเป็นประโยชน์อะไรกับคุณในอนาคต จนกระทั่งวันหนึ่งคุณจะเห็นว่าสิ่งที่คุณพบผ่านมานั้น แม้จะนอกลู่นอกทาง ไม่เหมือนคนอื่นบ้าง แต่มันจะกลายเป็นการเชื่อมต่อจุดต่างๆจนกลายเป็นภาพที่กลายเป็นตัวคุณในที่สุด

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

ขอบคุณ พ่อแม่ พี่น้อง และเพื่อนๆทุกคนที่เป็นกำลังใจให้ผมตลอดมาครับ

ขอบคุณทุกท่านที่อ่านเรื่องราวเพ้อฝันของผมจนจบนะครับ ^ ^

How to reset iPhone manually in a recovery mode?

หากคุณประสบปัญหาในการ upgrade iOS หรือเครื่องมีปัญหาด้วยสาเหตุใดๆก็ตาม
– jail break แล้ว upgrade iOS ไม่ได้
– เครื่องแฮงค์ เปิดไม่ติด
– เครื่องหาย (อันนี้ไม่เกี่ยว) ^ ^
แต่สำหรับผมเจอปัญหานี้ครับ
iPhone could not be restored
The iPhone could not be restored. This device isn’t eligible for the requested build.” แปลเป็นไทยก็คือ “คุณไม่สามารถ restored ได้ เนื่องจากคุณไม่มีสิทธิ์” อ่าว!? … เลยไปหาวิธีมา พบว่ามีวิธีแก้ก็คือทำการ manually reset ไปเลย

วิธีการไม่ยากครับ ทำตามนี้ได้เลย
1. ต่อสาย USB จาก iPhone ไปยัง Computer ครับ
2. เปิดโปรแกรม iTunes ขึ้นมา
3. กดปุ่ม Home กับ Power ค้างไว้จนกว่า icon Apple จะปรากฎขึ้นมาบนหน้าจอของ iPhone จากนั้นให้ปล่อยปุ่ม Power เหลือแต่ปุ่ม Home จนกว่าจะเจอรูป “Connect to iTunes” ครับ
Connect to iTunes
4. ถ้า iPhone icon ของเราไม่ปรากฎที่แถบด้านซ้ายของ iTunes ให้ปิด-เปิดโปรแกรม iTunes อีกครั้งนึง
5. คลิกไปที่ iPhone icon ของเรา แล้วจะเห็นปุ่ม restore ขึ้นมาที่หน้าจอด้านขวามือ
6. คลิกปุ่ม restore จากนั้นก็ไปสั่งก๋วยเตี๋ยวกินซักชามครับ ^ ^ เสร็จแล้ว

ป.ล. วิธีนี้นอกจาก iPhone แล้วยังใช้ได้กับ iPad ด้วยนะครับ

ใครทำได้ไม่ได้ก็บอกกันนะครับ เผื่อจะได้หาวิธีแก้กันต่อไป

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

Credit : http://theonlinematrix.com/sports/how-to-reset-iphone-manually-in-a-recovery-mode/

MKMapView Xcode : I got it !!


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

แค่ความประทับใจเล็กๆน้อยๆนะครับ อยากแบ่งปัน ^ ^

How to edit the hosts file in Mac

hosts file คือไฟล์ที่จะทำให้เราสร้าง domain ใหม่ขึ้นมาแล้วจะชี้ไปยัง IP address ที่ต้องการได้ ซึ่งใน windows เราสามารถเข้าไปแก้ไขได้ง่ายๆที่ “C:\WINDOWS\system32\drivers\etc\hosts” แล้วเข้าไปเพิ่มข้อมูลข้างใน เช่น

127.0.0.1 localhost

เมื่อเราพิมพ์ localhost ใน address ของ browser ก็จะวิ่งเข้าไปที่ 127.0.0.1 ซึ่งเป็นเครื่องของเราเอง

แต่เมื่อเป็น mac เราจะทำอย่างไร? ทำตามนี้เลยครับ
1. Open the Terminal.app – เข้าไปที่ Applications -> Utilities -> Terminal เปิดโปรแกรมขึ้นมา
2. Open the hosts file – พิมพ์โค๊ดข้างล่างไป แล้วกด Enter จากนั้นโปรแกรมจะถาม password เครื่อง ก็ให้ใส่ไปตามนั้นครับ

sudo nano /private/etc/hosts

3. Edit the hosts file – เพิ่ม IP ที่ต้องการเพิ่มไป (เช่น 127.0.0.1 localhost)

4. Save the hosts file – กด control-o แล้วกด Enter เพื่อเซฟ จากนั้นกด control-x เพื่อออกมา
5. Flush the DNS cache – เพื่อให้เครื่องเรารู้จักกับ IP ใหม่ ให้พิมพ์

dscacheutil -flushcache

ลงไปใน Terminal

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

Credit :
http://decoding.wordpress.com/2009/04/06/how-to-edit-the-hosts-file-in-mac-os-x-leopard/

Open Web Project Tip with Microsoft Visual Studio 2003 (.NET 1.1)

จริงๆเคยเจอปัญหานี้มานานแล้ว ไม่ได้นำมาเขียนลง blog ซักที วันนี้เจอปัญหานี้เข้ากับตัวอีกครั้ง แต่เกิดจำไม่ได้ขึ้นมาว่าแก้ไขยังไง เสียเวลาไปนานพอดู

ปัญหาสุดเบสิคครับ เมื่อเปิดโปรเจคด้วย Microsoft Visual Studio 2003 ไม่ได้ ได้รับ error กลับมาเป็น “visual studio .net has detected that the specified web server is not running asp.net version 1.1. you will be unable to run asp.net web applications or services”

ทำยังไงต่อล่ะ? เข้าไปเซ็ตใน IIS ก็แล้วว่าให้ virtual directory ชี้ไปยังโฟลเดอร์ของโปรเจค ก็ยังไม่ได้ ให้แก้ปัญหาด้วยวิธีการสร้างไฟล์ .webinfo ขึ้นมา

ภายในโฟลเดอร์ของโปรเจค คุณจะเห็นไฟล์ที่ชื่อประมาณว่า “myProject.csproj” ให้เราสร้างไฟล์ใหม่ขึ้นมาเป็นชื่อเดิม แต่เพิ่ม .webinfo เข้าไปเป็น “myProject.csproj.webinfo” แล้วใส่โค๊ดต่อไปนี้ลงไปครับ

<VisualStudioUNCWeb>    <Web URLPath = “http://localhost/myProject/myProject.csproj” /></VisualStudioUNCWeb>

โดยที่ชื่อ myProject ที่กล่าวถึง คือชื่อโปรเจคที่เราทำ virtual directory เข้าไปนะครับ

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

 

refreshing the project failed. Unable to retrieve folder information from the server.


นี่เป็นปัญหาที่เกิดขึ้นกับโปรเจคที่ผูกเข้ากับ IIS เนื่องจากโปรเจคนี้มีโฟลเดอร์ประเภทที่มี “.” อยู่เป็นตัวอักษรแรกในโฟลเดอร์ โดยปกติแล้วจะเกิดจากโปรแกรม tortoisesvn เพราะจะ generate โฟลเดอร์ประเภทนี้มาให้เอง วิธีการแก้ปัญหาคือให้เปลี่ยนชื่อโฟลเดอร์ “.svn” เป็น “_svn” ลองดูดีๆนะครับ เพราะโฟลเดอร์ “.svn” จะ่ซ่อนอยู่ในโฟลเดอร์ย่อยๆทั้งหมด ให้ตามไปเปลี่ยนให้หมดครับ :D

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

Credit :
http://www.codeguru.com/forum/showthread.php?t=281275

Automatic Reference Counting (ARC) in Xcode 4.2

ARC = Automatic Reference Counting is a new feature that come with Xcode 4.2. From the Apple iOS 5 developer page wrote “Automatic Reference Couning (ARC) for Objective-C makes memory management the job of the compiler. By enabling ARC with the new Apple LLVM compiler, you will never need to type retain or release again, dramatically simplifying the development process, while reducing crashes and memory leaks. The compiler has a complete understanding of your objects, and releases each object the instant it is no longer used, so apps run as fast as ever, with predictable, smooth performance.“.

So that mean you don’t have to release object anymore. But the problem is “If I want to manage the memory by myself. What should I do?” Let’s follow this.

1. Click on the Project.
2. Click on the target.
3. Select build phases tab.
4. Select the multiple files in which you want to turn off ARC
5. Press ENTER / Hit Enter key
6. Type “-fno-objc-arc” ( without quotes, as shown in image ).

Or see this video.

Hope this article be useful to you.

credits:
http://sugartin.info/2011/08/10/ios5-how-to-turn-off-arc-on-individual-files/
http://developer.apple.com/technologies/ios5/

 

Using JSON with Google Data APIs

สำหรับบางคนที่ต้องการเขียนโปรแกรมไปเรียกใช้ API ของ Google หรือ Youtube ก็ตาม สามารถเรียกข้อมูลมาเป็น XML หรือ JSON ก็ได้
ตัวอย่างข้อมูล Link ที่ใช้เรียก API เช่น

https://gdata.youtube.com/feeds/api/users/dreamusic/uploads

ให้เราใส่ query string ตามหลังไป ?alt= โดยพารามิเตอร์ก็จะมี atom, rss, json, json-in-script, and jsonc. ในที่นี้ให้ใช้ json

https://gdata.youtube.com/feeds/api/users/dreamusic/uploads?alt=json

ก็จะได้ข้อมูลออกมาเป็น json แต่สำหรับใครที่เรียกใช้งาน API นี้ด้วย Javascript ก็จะติดปัญหา Cross Domain ให้แก้ด้วยการใส่เป็น json-in-script

https://gdata.youtube.com/feeds/api/users/dreamusic/uploads?alt=json-in-script

สามารถดูตัวอย่างโค๊ดที่เรียกใช้งานได้ตามนี้ครับ http://code.google.com/apis/gdata/docs/json.html

Get Youtube Videos uploaded by a specific user

user uploaded youtube api

มาว่ากันด้วยเรื่องของ Youtube API กันต่อ มาคราวนี้เป็นการเรียกดูว่า user คนนี้ได้เคย upload วีดีโออะไรไว้บ้าง เช่น เราอยากจะรู้ว่า user ที่ชื่อว่า dreamusic เคย upload อะไรไว้ ก็สามารถ feed ข้อมูลได้จาก

https://gdata.youtube.com/feeds/api/users/username/uploads

ให้เปลี่ยน username เป็นชื่อ user ที่เราต้องการ

https://gdata.youtube.com/feeds/api/users/dreamusic/uploads

แล้วก็เขียนโปรแกรมเข้าไปอ่าน xml ได้ตามสะดวก