เป็นบริการ location-based service (LBS) คือผู้ใข้ สามารถเช็คอิน ว่าอยู่ตำแหน่งไหน และคุณสามารถดูว่าตอนนี้เพื่อนของคุณไปที่ไหนได้ ซึ่งบริการนี้จะเหมือนกับของ Foursquare และ Gowalla
-
Recent Posts
Recent Comments
Archives
Categories
Meta
เป็นบริการ location-based service (LBS) คือผู้ใข้ สามารถเช็คอิน ว่าอยู่ตำแหน่งไหน และคุณสามารถดูว่าตอนนี้เพื่อนของคุณไปที่ไหนได้ ซึ่งบริการนี้จะเหมือนกับของ Foursquare และ Gowalla
เราสามารถตรวจสอบว่า object เป็น null หรือไม่โดยใช้
string stringInput = null;
string val;
if (stringInput == null)
{
val = "Default value";
}
else
{
val = stringInput;
}
วิธีที่ 2 ทำได้โดย
string val =(stringInput == null)?"Default value":stringInput;
ซึ่งเหมือนกับ code แรก คือ ถ้า stringInput == null เป็นจริง ก็จะคืนค่า Default value ให้ val แต่ถ้าไม่ใช้ null ก็จะคืนค่า stringInput ให้ val
เนื่องจากการตรวจสอบค่า null ใช้บ่อย C# ซึ่งสร้างตัวดำเนินการ(operation) Coalescing เพื่อรวมคำสั่งการตรวจสอบ null ดังนี้
string val = stringInput ?? "Default value";
AppUp Center เป็นที่ขายโปรแกรมของ Intel ซึ่งสามารถขายได้ทุก platform ทั้ง PC, mobile คล้ายกับ App Store(ของ Apple), Android Market(ของ google) จริงๆ Sun ก็ทำเหมือนกัน Java Store ไง แต่ตอนนี้ไม่มีแม้เงา
Indexer ของ C# เป็นการยอมให้ instance ของ class สามารถเข้าถึงได้เป็น index คือเหมือนกับ array
class TempRecord
{
private string[] data = new string[10];
public string this[int i]
{
get { return data[i]; }
set { data[i] = value; }
}
}
static void Main(string[] args)
{
TempRecord t = new TempRecord();
t[0] = "t0";
t[1] = "t1";
}
จาก code เห็นได้ว่า object t เป็น instance ของ TempRecord ซึ่งสามารถใช้ t[0], t[1] ได้เหมือน array
คำถาม
public static void main(String[] args) {
check(2, 2);
check(2000, 2000);
}
public static void check(Integer a, Integer b){
System.out.print((a==b)+" ");
}
A) true true
B) false false
C) false true
D) true false
คำตอบที่ถูก D)
อันนี้เคยเจอตอนแรกก็งง เหตุผลคือถ้า autoboxing ไม่เกิน 1 byte (-128 และ 127) หลังจาก autoboxing แล้ว object จะเป็น object เดียวกัน
ดังนั้นการเปรียบเทียบ object ใช้ equals จะดีทีสุด
เป็นปกติของวงการคอมพิวเตอร์ ที่จะมีคนออกมาแสดงความคิดไม่เห็นด้วย(หรือด่านั้นเอง) โดนมาทุกอัน เช่น Cloud, rails, microsoft คราวนี้เป็นทีของ NoSQL
ซึ่งพอดีไปเจอบทความที่บอกว่า NoSQL ไม่ดีจึงมำว่าฝาก(สามารถอ่านได้ที่นี้) เขาบอกว่าแปลกใจที่ web ใหญ่อย่าง
Google, Facebook ,Amazon และ Twitter (อันนี้แถม เค้าไม่ได้บอก) ใช้ NoSQL ทั้งๆ ที่หมือน กลับไปใช้ file ในการประมวลผล ซึ่งเป็นสิ่งที่เคยทำกันว่าแล้วในปี 2003
สำหรับผมก็น่าเห็นใจทั้งคู่นะครับ ถ้าในมุมมองของ twitter ก็ข้อมูลเค้าใหญ่ หลาย PB
ส่วนเราเป็นผู้ใช้ก็ต้องศึกษาทั้ง 2 ด้านจะได้เลือกใช้ได้ถูก
eclipse เป็น IDE ที่ได้รับความนิยม ปัจจุบันเวอร์ชัน 3.6 ซึ่งในเวอร์ชันตอนไปจะเป็น eclipse e4 ซึ่งตอนนี้ออก Early Adopter Release ให้เรามาลองใช้ก่อน ผมเลยเอามาลอง สิ่งแรกที่เห็น คือหน้าตาใหม่สวยขึ้นมาก
หน้าแรก

ภายในก็ดูดี

NoSQL เป็น database ที่ไม่ใช้ relation database เนื่องจากช้า webใหญ่ที่เรารู้จักกันดีคือ facebook, twitter หันมาใช้ NoSQL database เนื่องจาก มีขนาดข้อมูลมาก ทำให้ใช้เกิดปัญหาหากใช้ relation database
google เองก็ออกบริการ BigTable ส่วน Amazon ก็ออกบริการ Amazon SimpleDB ที่เป็นบริการสำหรับใช้ NoSQL
ส่วน software NoSQL ที่น่าสนใจก็จะมี Cassandra (ทั้ง facebook และ twitter)
RESTful web service ในทางทฤษฎีนั้นจะยุ่งยาก แต่จริงๆก็คือใช้ URI(Uniform Resource Identifier) ในการสั่งงานนั้นเอง ข้อดีที่ผมเห็นคือ ไม่ต้องมี WSDL ทำให้รับส่งข้อมูลกันได้ง่ายขึ้น แต่ข้อเสียคือยากต่อการแก้ไข
แต่วันนี้เราไม่เน้นหนักทฤษฎีมากนัก จึงขอพูดถึง JAX-RS เป็นเครื่องมือที่ใช้พัฒนา RESTful web service โดยมี Jersey เป็นตัวที่ Sun พัฒนา
สำหรับการพัฒนา RESTful web service ด้วย jersey นั้นทำได้โดย download lib จาก web ของ jersey
สร้าง class Hello ดังนี้
import javax.ws.rs.GET;
import javax.ws.rs.Path;
@Path("/hello")
public class Hello {
@GET
public String sayHello(){
return "Hello World";
}
}
โดย class Hello จะมี method sayHello ซึ่งจะ return คำว่า Hello World
สามารถ run โดยเรียกไปที่ http://localhost:8080/server/rest/hello
จะได้ผลลัพธ์ดังนี้
Visual Studio 2010 ออกมานานแล้วตอนนี้ถึงเวลา review โดยเริ่มจาก C#4.0 มี feature ใหม่ คือ Named Parameter
public static string TestMethod(int id, string name="default")
{
return string.Format("id: {0}, name: {1}",id,name);
}
static void Main(string[] args)
{
string data = TestMethod(name: "test", id: 2);
Console.WriteLine(data);
}
เห็นได้ว่า TestMethod มี parameter 2 ตัวคือ id และ name ซึ่งเราสามารถเรียก TestMethod ได้ โดยระบุชื่อ parameter เช่น TestMethod(name: “test”, id : 2)
นอกจากนั้นยังสามารถกำหนด default value ให้ parameter ได้ด้วย
หลังจาก run program นี้จะแสดงข้อความ id: 2, name: test