CORS with AngularJS and Spring REST

If you are developing RESTFul webservice producing JSON as a response that may be consumed by clients, you need to aware of the same-origin policy. The same-origin policy is the important security concept implemented by browser to prevent javascript codes from sending request to different source. The same-origin policy not only prevent from sending request to different origin but also prevent from sending request to different port and different protocols.

Cross Origin Resource Sharing – CORS- is a technique that permits that kind of situation.  It allows the clients to communicate servers from different origin. For example, when abc.com requests some resources from def.com, same-origin policy usually block the request.  By supporting CORS, the server can include a special header in the response to allows clients to access data.

Continue reading

Guidline For Learning Spring Framework

၂ဝ၁၃ က ကြ်န္ေတာ့္အတြက္ ကံေကာင္းတဲ့ ႏွစ္လို႕ေျပာလို႕၇ပါတယ္။ စင္ကာပူမွာ ေက်ာင္းတက္ခြင့္၇သလို စိတ္တူကိုယ္တူ သူငယ္ခ်င္းအသစ္ေတြ လည္း၇လိုက္တယ္။ အစက ေက်ာငး္က သင္၇ိုးကို သိပ္မၾကိႉက္လွဘူး။ platform ေတြ အစံုသင္ေပမယ့္ project ေတြကို သူတို့ ခိုင္းတဲ့ .Net platform ေပါၤမွာပဲ ေ၇း၇တာ.. ေနာက္ course တစ္ဝက္ျပီးလို့ internship ဆင္းေတာ့လည္း မလုပ္ခ်င္တဲ့ project နဲ့ platform ေပါ္မွာပဲ လုပ္၇တယ္။ ပထမေတာ့ စိတ္ပ်က္တာေပါ့.ေနာက္ေတာ့လည္း တေျဖးေျဖးနဲ့ အဆင္ေျပလာတာပါပဲ။ .Net platform ကို ဒီေက်ာင္းမွ စသင္ဖူးေပမယ့္ Java အေျခခံ၇ွိေတာ့ သင္၇တာနဲ့ ေလ့လာ၇တာေတာ့ သိပ္အခက္အခဲ မ၇ွိဘူး။ ၇ံုးမွာလုပ္ေတာ့လည္း google မွာ ၇ွာလိုက္ forum ေတြမွာ ေမးလိုက္နဲ့ သိပ္ အခက္အခဲ ၾကီးၾကီးမားမား မ၇ွီဘူး။ ေ၇းေန၇င္းနဲ့လည္း Java မွာဆို ဘယ္လို လြယ္ေအာင္ လုပ္လို့ ၇တယ္လို့ ေတြးမိတုိငး္ ကုိယ္ေ၇ာက္ေနတဲ့ အေျခအေနကို အားမ၇ဘူး။ အလုပ္ကလည္း သိပ္ျပီး stress မ၇ွိဘူး.. ေနာက္ပိုင္း အလုပ္ပါးလာတဲ့ အခ်ိန္မွာ ၇ံုးမွာ Spring framework ဆက္ေလ့လာျဖစ္တယ္။ Spring နဲ့ project လုပ္ၾကည့္ေတာ့လည္း တခ်ို႕အပိုင္းေတြက Asp.net မွာဆို  လြယ္လြယ္နဲ႕၇တယ္လို့ ေတြးမိျပန္ေ၇ာ။

တကယ္ေတာ့ platform နွစ္ခုကို ေသေသခ်ာခ်ာ မေလ့လာပဲ ႏွိုင္းယွဥ္လို့မ၇ဘူး။ သူ႕အားသာခ်က္ အားနည္းခ်က္ေတြ ကိုယ္ဆီ၇ွိၾကတယ္။ နွစ္ခုလံုးကို ေသခ်ာ လုပ္ၾကည့္မွ သိလာတာ။ ဒါေပမယ့္ ASP.NET ကို သိပ္မၾကို္က္ဘူး.. flexible မျဖစ္ဘူးလို့ ခံစား၇တယ္။ ျပီးေတာ့ Web development platform နဲ့ မတူပဲ သူ႕ architecture က ကြဲထြက္ေနတယ္။ Web ၇ဲ႕ request, response nature ကို သိစ၇ာမလိုသလိုျဖစ္ေနတယ္။ ေျပာ၇၇င္ web development လုပ္ေနတယ္လို့ မထင္၇ဘူး။ desktop app တစ္ခု ေ၇းေန၇သလိုပဲ။ ဒါေၾကာင့္ Microsoft က MVC ထပ္ထြင္ထားတာ။ ASP.NET MVC ကိုေတာ့ မေလ့လာဖူးေတာ့ မေဝဖန္တတ္ဘူး။  Web development က MVC design pattern နဲ့သာ အသင့္ေတာ္ဆံုးလို့ပဲထင္တယ္။ Java မွာလည္း Component Framework ျဖစ္တဲ့ JSF ကလည္း ASP.NET နဲ့တူတယ္။ Controller ၇ဲ႕ အခန္း ေပ်ာက္ေနျပိးေတာ့  concern ေတြကို ဘယ္လို ခြဲထုတ္၇မွန္းမသိဘူး။ ဒါေၾကာင့္ Spring Framework ကိုပဲ ဆက္ေလ့လာျဖစ္တယ္။

Continue reading

CSS Positioning 101

When it comes to web page layout, how you place your element on the page without effecting the document flow, you might probably think of CSS position property.  But if you are confused how this property works and when to use particular values of this property, here is a brief introduction of CSS position.
Continue reading

jQuery Animation Part I : Simple Animation

When you want your website to offer visitors full fancy animation when they hover or click something on your website, you can achieve this using jQuery or CSS3. These days, CSS3 animation becomes popular and more flexible to use. It doesn’t delay website performance. But the only limitation is not every browsers haven’t support all features or support in their desire ways that make designers put more efforts to overcome cross-browser compatibility. In addition, developers still need to stick with drawback solutions for old browsers which have no idea about CSS3. You shouldn’t too much rely on those features if you’re targeting all users all over the world unless you’re living in 2020. Anyway, I admit it it’s time to start learning and using CSS3 animation features. For those browsers which don’t support CSS3, you can choose jQuery animation as drawback solution.

Continue reading

Simple Static Site Hosting

တေန့က twitter သံုးေနရင္း user တေယာက္က getforge.com ဆိုတဲ့ static hosting site တစ္ခုအေျကာင္းကို tweet ထားတယ္။ ဒါနဲ့ အဲ site ကို သြားျကည့္ေတာ့ ေတာ္ေတာ္ေလး စိတ္၀င္စားသြားတယ္။ UX နဲ့ UI ကလည္း ေတာ္ေတာ္ေလး simple ျဖစ္တယ္။ Free account ဆိုရင္ေတာ့ site တစ္ခုပဲ host လုပ္လို့ရတယ္။ ကိုယ့္ရဲ့ site ကို zip လုပ္ျပီး upload လုပ္လိုက္ရံုပဲ။ Configuration ေတြကို သူဘာသာ manage လုပ္သြားတယ္။ jquery လို library ေတြကိုလည္း cdn နဲ့ ထည့္သြားတယ္။ ျပီးေတာ့ version ေတြပါ control လုပ္ေပးတယ္။ ကိုယ္လိုခ်င္တဲ့ version ကို deploy လုပ္ရံုပဲ။ site ရဲ့ bandwidth usage ေတြလည္း ျကည့္လို့ရတယ္။ သူေရးထားတာကေတာ့ usage ေပါ္မွာ မူတည္ျပီး bill လုပ္မယ္လို့ေရးထားတယ္။ ဒါေပမယ့္ register လုပ္ေတာ့ billing information ေတြလည္း မေတာင္းဘူး။ bandwidth ဘယ္ေလာက္ထိ free ရတယ္ဆိုတာလည္း မေရးထားဘူး။ အဲဒီ အပိုင္းကိုေတာ့ သိပ္မရွင္းဘူး။ ေနာက္ က်ြန္ေတာ္မျကိုက္တာက built-in editor မပါဘူး။ zip file ရဲ့ content ေတြကို ျကည့္လို့ပဲရတယ္။ ဘာမွ လုပ္လို့မရဘူး။ ျပင္လို့လည္း မရဘူး။ ဖ်က္လို့လည္း မရဘူး။ ျပင္စရာရွိရင္ ကိုယ့္စက္မွာျပင္၊၊ ျပီးရင္ အသစ္ျပန္တင္ပဲ။

Continue reading

Jquery ToDo List App

အရင္ေန့ေတြတုန္းက JavaScript MVC comparison ေတြ အေျကာငး္လိုက္ရွာဖတ္ေနရင္းနဲ့ သူတို့ရဲ့ အားသာခ်က္ အားနည္းခ်က္ေတြကို ToDo List apps ေတြ ေရးျပီး နွုိငး္ယွဥ္ျပထားတဲ့ website တစ္ခု သြားေတြ့မိတယ္။ ဒါနဲ့ အျကံရျပီး သူတို့လို ToDo list app တစ္ခုေရးျကည့္မယ္ဆိုျပီး စိတ္ကူးရမိတယ္။ Javascript နဲ့ Jquery ကို ေလ့လာေနရင္း ဘာ app ေရးျကည့္ရင္ ေကာင္းမလဲ လို့ စဥ္းစားေနတဲ့ အခ်ိန္မွာ idea ရသြားခဲ့တာ။ ဒါနဲ့ Pure Javascript ပဲ သံုးမလား  Jquery ကိုပဲ သံုးမလားဆိုျပီး ကိုယ့္ကိုယ္ ကို ျပန္ျပီး ေမးခြန္းထုတ္ေနတာနဲ့ပဲ အခ်ိန္ေတာ္ေတာ္ ကုန္သြားတယ္။ ဒါေပမယ့္ ေနာက္ပိုင္း jQuery နဲ့ပဲ ေရးဖို့ ဆံုးျဖတ္လိုက္တယ္။ ToDo list app တစ္ခုက အဓိကက DOM ကို ကိုင္တြယ္ေျဖရွင္းနိုင္ရင္ အဆင္ေျပသြားျပီ။ ကိုယ္ကိုတိုင္ကလည္း DOM api ေတြ ေမ့သေလာက္ရွိေနျပီ ေနာက္ျပီး jQuery ကိုလည္း အသံုးခ်ျကည့္ခ်င္တာနဲ့ jquery နဲ့ပဲ ေရးဖို့ ဆံုးျဖတ္လိုက္တယ္။

ToDo list အတြက္ HTML markup ေတြ ဘာသံုးရမလဲဆို ဘာမွ ရွည္ရွည္ေ၀းေ၀း စဥ္းစား စရာ မလိုပါဘူး။ Unorder list (ul) က သာ အသင့္ေတာ္ဆံုးပါ။ task တစ္ခုခ်င္းစီ  ကို li နဲ့ ကိုယ္စားျပုလိုက္တာပါပဲ။ li ကို task wrapper တစ္ခု အေနနဲ့ ထားလိုက္တယ္ဆိုရင္ေတာ့ ပိုမွန္ပါလိမ့္မယ္။ (တကယ္ေတာ့ task ထဲမွာ mark လုပ္ဖို့ checkbox ရယ္  delete button ရယ္ ပါပါေသးတယ္။) UI design ခ်ျပီးသြားေတာ့ firefox နဲ့ chrome ေပါ္မွာ run ျကည့္လိုက္ေတာ့ rendering က အဆင္ေျပေျပ ေပါ္လာတာ ေတြ့ရတယ္။ ေနာက္ေနဲ့ ရံုးကစက္က IE ေပါ္မွာ စမ္းလိုက္ေတာ့လည္း အဆင္ေျပတယ္။ ဒါနဲ့ web design နဲ့ ပတ္သတ္ျပီး တိုးတက္လာတယ္လို့ ကိုယ့္ကိုယ္ကို သံုးသပ္မိတယ္။ (အမ်ားျကီးေတာ့ မဟုတ္ဘူး၊ အရင္က အေတာ္ပိန္းတာ :D) ဘယ္ HTML markup ေတြ ဘယ္ေနရာမွာ ဘယ္လိုသံုးရမလဲ ဆိုတာ နည္းနည္း သေဘာေပါက္လာတယ္။ ဒီလိုပဲ CSS property ေတြ ဥပမာ position ကို ဘယ္လိုသံုးရမလဲဆိုတာ ေတာ္ေတာ္ေလး သေဘာေပါက္သြားတယ္။

Continue reading

Follow

Get every new post delivered to your Inbox.