Category Archives: Programming

Decimal To Time Formatting

Beberapa menit googling ga nemu script untuk formatting Decimal to Time. contoh input: 8.5, output: 8:30. hal ini dimaksudkan untuk formatting time untuk membuat modul timesheet di aplikasi. berikut script sederhana yang terpaksa dibikin sendiri, kira2 ada ide bwt lebih menyederhanakan?

function ConvertDecimalToTime(decimal) {
var stringValue = String(decimal);
var hours;
var minutes;
if (stringValue.indexOf(",") != -1) {
minutes = SplitMinutes(stringValue, ",");
hours = SplitHours(stringValue, ",");
}
else if (stringValue.indexOf(".") != -1) {
minutes = SplitMinutes(stringValue, ".");
hours = SplitHours(stringValue, ".");
}
else {
return stringValue + ":00";
}
return hours + ":" + minutes;
}

function SplitMinutes(stringValue, separator) {
var result = stringValue.substring(stringValue.indexOf(separator) + 1, stringValue.length);
result = "0." + result;
result = parseFloat(result) * 60;
return String(result);
}

function SplitHours(stringValue, separator) {
return stringValue.substring(0, stringValue.indexOf(separator));
}

Constructing URL

Setelah ane baca lg soal routing  di ASP.NET MVC, ane nemuin fitur baru yang bagus masbro bwt construct outgoing URL.

kalo sebelumnya kita pake ini method dr HtmlHelper.ActionLink sprti dibawah ini:

old

sekarang kita bisa pake lambda expression bwt generate link persis seperti diatas!

new

dimana opsi kedua lebih menguntungkan karena lebih type-safe, mksdnya,  liat aja code dibawah

voila

kita bisa manfaatin fitur intellisensenya visual studio :mrgreen: , artinya apa, code kita bakal lebih aman karena bs menghindari kesalahan penulisan Controller, Action dst dr line code pertama.

menurut ane, improvement ini sederhana, tp AWESOME!!! :)

Selengkapnya bs diliat disini: http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx

Dependency Injection

Mungkin ini bahasan basi bwt temen2, cuman kyknya masih relevan dan masih berguna jika diimplementasikan.

Apa itu Dependency Injection (DI)? menurut wiki:

Dependency injection (DI) in object-oriented computer programming is a technique that indicates to a part of a program which other parts it can use, i.e. to supply an external dependency, or reference, to a software component. More simply, dependency injection is the passing or setting of dependencies into a software component. In technical terms, it is a design pattern that separates behavior from dependency resolution, thus decoupling highly dependent components. Instead of components having to request dependencies, they are given, or injected, into the component

Bingung? wkwkkw sama.. pendek kata sih, dengan make dependency injection kita berusaha untuk mendecoupling implementasi kita dengan cara mensuplai Interface aja ke software component yang membutuhkan. contoh sederhana: Repository

Read more …

Automapper

Dengan berat hati, akhirnya saya nulis juga soal codingan di blog ini, wkwkwkwkw *maklum sedang mardabu :malu:

Automapper, mungkin sebagian dari masbro dah pernah pake API ini dan merasakan gimana mudah, simple dan sangat membantu dalam object to object mapping. dr webnya sendiri, auto mapper dipakai sebagai:

AutoMapper is geared towards model projection scenarios to flatten complex object models to DTOs and other simple objects

mksdnya piye jal?

secara sederhana, gimana caranya untuk memproyeksikan data dr complex object model (contoh aktual, sebuah Entity di Entity Framework) ke sebuah DTO (Data Transfer Object) dan object simple lainnya, atau bisa juga sebaliknya.

masih bingung? contohnya begini:

misal object A memiliki puluhan properties, sedang kita hanya butuh, katakanlah 8 dari properties tersebut untuk dimap ke sebuah object B. nah… mungkin dulu secara tradisional, kita assign satu-satu tuh property di B dengan value dr related property di object A

contoh:

B.PropA = A.PropA dst.. Read more …

Perbedaan antara <%: … %> dan <%= … %>

Di ASP.Net MVC 1 (.Net 3.5), anda akan menemui tag berikut untuk merender value ke html. Akan tetapi, penggunaan tag tersebut harus disertai dengan Html.Encode untuk mencegah terjadi XSS attack. contoh:

[csharp]<%= Model.SomeProperty %>[/csharp] menjadi [csharp]<%= Html.Encode(Model.SomeProperty) %>[/csharp]

Pada ASP.Net MVC 2 (.Net 4.0) anda cukup melakukan ini

[csharp]<%: Model.SomeProperty %>[/csharp] untuk menghindari XSS attack, karena string didalam tag tersebut akan secara otomatis di encode tanpa harus menspesifikasian encoding dengan Html.Encode.