18 สิ่งที่อยากบอกจากการไปทำงานที่มาเล

  1.  เบอเก้อคิงไม่มีชีสเบอเก้อ (แต่สาขาที่สนามบินมี)
  2. ก๋วยเตี๋ยวไม่มีเครื่องปรุงให้ (จืดๆยังงั้นแหละ)
  3.  kfc ไม่มีวิงแซ่บ (T_T)
  4.  ร้านฟาสต์ฟู้ดเช่น แมค/kfc ไม่มี ส้อมกะมีดให้ (ใช้มือกินโลด)
  5. อยากกินหมูต้องไปร้านจีนนะ
  6.  แดดแรง แต่พอเข้าร่มแล้วเย็นกว่าไทยนะ
  7.  taxi แม่งจะไม่ยอมกดมิเตอร์
  8. บรรยากาศเหมือนอยู่ไทย
  9. ภาษาอังกฤษคล้ายๆอินเดียนสไตล์
  10.  อาหารราคาประมาณ 10 – 20 ริงกิต (100 – 200 บาท)
  11.  มี BBQ Plaza ที่มาเลเซีย
  12. เห็นว่า ไดโดม่อน ก็มี
  13. มีร้านที่ดีกว่า 7-eleven
  14. อาหารไทยหายากมากกก
  15. ร้านอาหารบนฟุตบาท มีแบบพี่ไทยเลย
  16.  ถนนหนทางดูดีกว่าไทย
  17. ไปอยู่สองสัปดาห์ใช้ประมาณ 8000 บาท (ไม่รวมที่พัก)
  18. หนุ่มๆไม่ต้องกลัวเฉา สาวจีนที่นั่นใช้ได้อยู่ โดยเฉพาะตามห้าง

 

นึกไม่ออกละ ไว้นึกออกจะมาเพิ่ม

แนะนำโปรแกรม Better Desktop Tool – มันคือ Expose’ + Space on Windows

ผมเองใช้แมคมาได้สักพัก ประมาณ 6 ปีสิ่งที่ชอบมากสำหรับแมคไม่ใช่เรื่องของความปลอดภัยที่แห่กันโฆษณาหรือสเปค/ความแรง ที่มักจะแรงกว่าชาวบ้านเค้า(ราคานะ ที่แรงกว่าชาวบ้าน) แต่กลับเป็นเรื่องของ usablility, build quality,  branding (ต้องยอมรับว่าวัสดุมันดูดีจริง เทียบกับยี่ห้ออื่น หรือผมคิดไปเองก็ไม่รู้ 55)

สำหรับ usability สิ่งนึงที่เราใช้กันบ่อยมากๆๆๆ ก็คือการสลับหน้าจอระหว่าง application ที่กำลังเปิดอยู่ ซึ่งสำหรับแมค มันจะมีฟีเจอร์เรียกว่า Expose’ อ่านว่า เอ่ก โพ เซ่ (กรุณาทำเสียงกระแดะๆ) โดยมันจะย่อหน้าต่างของแอพที่กำลังเปิดอยู่แล้วมาเรียงๆกันให้เราเลือก แบบนี้ๆ หารูปก่อน

ซึ่ง(สำหรับผม)สะดวกกว่าการใช้ Alt + tab ของ windows มาก

ทีนี้มันมีเหตุให้ผมจำเป็นต้องซื้อ windows มาเล่น dota 2 ทำงาน ผมก็เลยมานั่งหาว่า windows 8.1 มันมีฟีเจอร์อะไรคล้ายๆแบบนี้มั้ย ไปเจอมาตัวนึงชื่อ Better Desktop Tool ลองโหลดๆมาใช้ดู แล้วดูเข้าท่าดี ตั้งค่าได้ว่าจะให้ใช้ปุ่มไหนเป็น short key หรือใช้เป็น hot corner (ลากเม้าส์ไปที่มุม)ก็ได้

ผมตั้งไว้เป้น Alt + F3 จะได้คล้ายๆของแมค (กดๆไป ไปโดน Alt +F4  Orz)  หรือกดปุ่มกลางของเม้าส์

นอกจากนี้มันยังสามารถทำได้มากกว่านี้อีก เช่น โชว์ Desktop (ผมไม่ได้ใช้ เพราะ windows+d ก็โอเคอยู่แล้ว)  Virtual Desktop (คล้ายๆ Space ใน mac)

bdt

พอเรียกใช้ หน้าตาจะเป็นแบบนี้

desktop

ยังไง ถ้าใครอยากลองอะไรใหม่ๆ ลองโหลดไปใช้กันดูได้นะคับ แต่มีไวรัสรึเปล่านี่ไม่รู้นะ

ป.ล. ใครดอทชวนได้

objective c [ios] : หาความสูงรวมของ content ใน scroll view

นั่งงงกับปัญหานี้นานมาก 
เพราะใช้วิธีวนลูป subview ของ scrollview เพื่อหาความสูงรวม 
ดันไปเจอไอสอง subview ลับของมัน

โชคดีที่ subview ของ scroll view ไม่มี uiimage
เลยใช้ [view isKindOfClass:[UIImageView class]]  เช็คเอา[view isKindOfClass:[UIImageView class]]

http://wiresareobsolete.com/wordpress/2010/03/uiscrollview-has-a-secret/

 

 

Cache ใช้งานง่ายสำหรับ objective c (ios)

กำลังหัดเขียน ios app

ไปเจอส่วนที่จะใช้ cache เลยเอามาแปะไว้ใน blog

https://github.com/FTW/FTWCache

มีฟังก์ชั่นหลักๆอยู่แค่ 3-4 อัน

setObject สำหรับเก็บ NSData ลง cache โดยผูกไว้กับ key
objectForKey ก็ดึง object มาจาก cache โดยใช้ key
resetCache

 

ตัวอย่าง
สมมติเรามี url ของ image ที่เราจะแสดงอยู่แล้ว เราอาจใช้ MD5Hash ของ url นั้นเป็น key

NSString *key = [imageURL.absoluteString MD5Hash];
NSData *data = [FTWCache objectForKey:key]; //ลองเอา key ไปหาก่อน
if (data) { //ถ้ามีก็ใช้รูปจาก cache
UIImage *image = [UIImage imageWithData:data];
cell.imageView.image = image;
} else { //ถ้าไม่มีก็ไปดึงจาก web

NSData *data = [NSData dataWithContentsOfURL:imageURL]; //ไปดึง data มาจาก webservice
[FTWCache setObject:data forKey:key]; //เก็บลง cache
UIImage *image = [UIImage imageWithData:data];
[tableView cellForRowAtIndexPath:indexPath].imageView.image = image;
}

โค้ดตัวอย่างข้างบนเอามาจาก http://khanlou.com/2012/08/asynchronous-downloaded-images-with-caching/

objective c เรียก REST webservice

เอามาจาก http://rajneesh071.blogspot.com/2013/07/how-to-make-rest-api-call-in-objective-c.html

We can call using this.

NSString *twitterUrl = @”YourUrlString”;
NSString *resp = [self makeRestAPICall: twitterUrl];

and method is

-(NSString*) makeRestAPICall : (NSString*) reqURLStr
{
NSURLRequest *Request = [NSURLRequest requestWithURL:[NSURL URLWithString: reqURLStr]];
NSURLResponse *resp = nil;
NSError *error = nil;
NSData *response = [NSURLConnection sendSynchronousRequest: Request returningResponse: &resp error: &error];
NSString *responseString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
NSLog(@”%@”,responseString);
return responseString;
}