Wednesday, May 23, 2012

An excellent handbook: “Facebook for business” from Looops.net

Looops.net released an excellent facebook handbook for business. This is such a good handbook, I’d like to share this in my blog.

The handbook was written in Japanese. Hope you can read it.

Although it was written in September 2011, but it still has huge value for anyone who want to apply Facebook to their business.

Meanwhile, my colleague Yazawa Osamu and his company Socialand is also pioneer on helping business user to expand their business on Facebook.

handbook on Slidershare



Via Tonny Xu http://feedproxy.google.com/~r/tonnyxu/~3/IMAO7zpi6HM/ Social, Something really cool!

Tuesday, May 22, 2012

WWDC2012 eve @Tokyo

WWDC 2012 will be open within 3 weeks, I’d like to have a WWDC2012 eve party at my company Voyage Group. iOS developers who can go WWDC from Tokyo, if you have time on Friday, June 1st evening, please come!

How to register

Please visit: ATND and register yourself.

Fee

2000Yen/person

includes: * Free beer/Free softdrink * Free Pizza/Sushi

Date and time

June 1st, 2012 7pm~10pm

Place

AJITO of Voyage Group 〒150-0045 8F 8-16 Shinsen-cho Shibuya-ku, Tokyo

Topics

  • Making new friends
  • Exchanging hotel/tour/visit information, etc.

OK, let’s meet up on June 1st, at 7:00pm



Via Tonny Xu http://feedproxy.google.com/~r/tonnyxu/~3/WEXj9hK5dBE/ iPhone Dev, Something really cool!

Saturday, May 12, 2012

An object in Cocoa, but do not use `*`?

Block

via NedraI via CC License

A funny question

Here is the funny question:

Is there any object in Cocoa/Objective-C that is a object but you do not use * to indicate it?

Now, think a few seconds before you read on: is there any such kind of objects?

NO? are you sure about that?

The Answer

The answer is YES! Yeah, there is a such kind of object in Cocoa/Objective-C.

It is the Block object!

Why?

Apple brought Block, a much more common name is Closure. As you can see from the wiki page, it is a non-standard extention to C/C++/Objective-C 2.0

Because it is an extension not only to Objective-C, but also to C/C++, so it has some special treatment.

Because Block has ^

To indicate a piece of code as a Block(or a Closure), it DOES need something like a pointer, but not a normal pointer. It act as a function pointer, but much more powerful.

So Apple introduced ^ as a replacement of * to Block.

In Objective-C ^ == *

As we can see, ^ is also a pointer, so why do we need another * to pointer to a Block?

Sample code

Use it as a method argument

  typedef void (^MyBlock)(void);  - (void)doSomethingWith:(MyBlock)block;    

Use it as a property

  typedef void (^YourBlock)(void);  @property (nonatomic, copy) YourBlock block;    

Use it as a function argument

  typedef void (^HisBlock)(void);  void myfunction(HisBlock block);    

Note that, none of above is using * to indicate a block, because the typedef has already indicated it is an object.


Of course, don’t forget to follow me @TonnyXu and Facebook



Via Tonny Xu http://feedproxy.google.com/~r/tonnyxu/~3/8TGoxRpWNAU/ iPhone Dev

A Quick and Clean Way to Test Your HTTP GET and POST request

POST

photo via Corey Templeton via CC License

Well, this post is simple, HTTP POST is relatively complex than HTTP GET, some times you want to do a quick test with your post data.

Here are the solutions I know. If you have any other solutions, let me know.

A Free POST Only Test Sever

Access: http://www.posttestserver.com/post.php. This will dump all the http data for you. A good/bad approach of this site I like is that this site will record your request and you can review your request later. But we are not always just want to view the data in web page, sometimes, we also want to use it in unit test.

For example I had posted a request and your can see it here: http://www.posttestserver.com/data/2012/05/11/00.24.01738126829

It’s a test from an iOS App I recently work on.

The Ultimate Solution for Testing HTTP Request

http://httpbin.org/

This is the BEST site I know for test HTTP request. As it listed on the home page, there many test endpoint:

ENDPOINTS

/ This page.
/ip Returns Origin IP.
/user-agent Returns user-agent.
/headers Returns header dict.
/get Returns GET data.
/post Returns POST data.
/put Returns PUT data.
/delete Returns DELETE data.
/gzip Returns gzip-encoded data.
/status/:code Returns given HTTP Status code.
/response-headers?key=val Returns given response headers.
/redirect/:n 302 Redirects n times.
/relative-redirect/:n 302 Relative redirects n times.
/cookies Returns cookie data.
/cookies/set/:name/:value Sets a simple cookie.
/basic-auth/:user/:passwd Challenges HTTPBasic Auth.
/hidden-basic-auth/:user/:passwd 404′d BasicAuth.
/digest-auth/:qop/:user/:passwd Challenges HTTP Digest Auth.
/stream/:n Streams n–100 lines.
/delay/:n Delays responding for n–10 seconds.

This site is really awesome! Just try it!

Any suggestion?

If you have any suggestion or better solutions, please leave a comment.


Of course, don’t forget to follow me @TonnyXu and Facebook



Via Tonny Xu http://feedproxy.google.com/~r/tonnyxu/~3/woj9p1nMg6s/ iPhone Dev