Jeżeli korzystasz z Twitter Bootstrap w ASP.NET MVC to najprawdopodobniej po kilku godzinach korzystania z tej świetnej biblioteki poczujesz nieodpartą potrzebę napisania kilku HtmlExtensions, aby choć trochę ułatwić sobie życie. Dobrym przykładem jest RadioButton, który w podstawowej wersji, dostępnej w ASP.NET MVC, “trochę” różni się od tego co oferuje nam Bootstrap. Napisałem HtmlExtensions do bootstrapowej wersji elementu jednocześnie dodając obsługę generowania z enuma. Takie radio na...
W ostatnich postach pisałem o JoinBlock oraz BatchedBlock czyli o blokach grupujących. Dzisiaj czas na połączenie tych dwóch konstrukcji, a mianowicie BatchedJoinBlock. Jak sama nazwa sugeruje, block będzie łączył elementy z kilku źródeł w Tuple ale zamiast Tuple
Sztuka programowania 4188 dni, 19 godzin, 52 minuty temu 34 źrodło rozwiń
I would like this blog post to serve as a quick reference that recalls the basic concept of covariant and contravariant type parameters of generic interfaces in the C# language.I tried to keep the example as simple as possible. Included comments explain the key points. No long stories and no dissertations.
Sztuka programowania 4188 dni, 19 godzin, 52 minuty temu 63 źrodło rozwiń
Dobry programista to ten, który w swoim codziennym programowaniu, nie , ale tworzy aplikacje zbudowane w oparciu o wszelkiej maści biblioteki i wzorce projektowe. Już kilka razy na tym blogu powtarzałem, że nie warto tworzyć koła od nowa, a niektórzy idą nawet dalej nazywając odtwórcze programowanie okradaniem własnych szefów - w pewnym sensie chyba coś w tym jest. W dzisiejszej odsłonie bibliotek wartych poznania, mam więc coś ciekawego, co w pewnym sensie powinno przerwać pewną programistyczną rutynę....
Architektura 4189 dni, 20 godzin, 57 minut temu 333 źrodło rozwiń
W zasadzie możnaby zapytać po co wynajdywać koło na nowo skoro chociażby przez NuGet można pobrać gotowe pagery (czy jak to nazwać). Praktyka jednak pokazuje, że czasem musimy stworzyć stronicowanie z uwzględnieniem dodatkowych funkcjonalności, których gotowe narzędzia nie posiadają, a nawet gdy dysponujemy ich kodem źródłowym i możemy go zmodyfikować to grzebanie w czyimś kodzie okazuje się często niełatwe. wink W artykule przedstawię więc jak zbudować własne narzędzie do stronicowania czy też paginacji...
Po wstępie i omówieniu różnic między testami jednostkowymi, a integracyjnymi, czas na omówienie jak strukturalnie powinien wyglądać wzorcowy test jednostkowy. Będzie to pewnie najkrótszy wpis tej serii, ale jednocześnie jeden z najważniejszych. Pozwoli bowiem na pierwszy kontakt z testem jednostkowym w praktyce.
Sztuka programowania 4191 dni, 15 godzin, 48 minut temu 144 źrodło rozwiń
Kolejna część artykułu o GC. Zapraszam do lektury: http://msdn.microsoft.com/pl-pl/library/garbage-collector-cz-4-wycieki-pamieci
Sztuka programowania 4191 dni, 15 godzin, 48 minut temu 252 źrodło rozwiń
Gdy MyEnum nie ma wartości -13, to poniższy kod się wykona poprawnie i w enumie będziemy mieli wartość spoza zakresu enuma. var myEnum = (MyEnum) -13; Właściwa treść Mamy enum: enum MyEnum { One = 1 } I chcemy wykonać prostą operacje utworzenia tego enuma, tyle że posiadamy jedynie wartość liczbową (z zewnętrznego źródła danych). Akurat tak pechowo się stało, że mamy nie istn...
Sztuka programowania 4192 dni, 16 godzin, 22 minuty temu 154 źrodło rozwiń
Introduction to MVC In the last few years a software architecture changed very heavily. From desktop (forms) application which were very popular in Windows XP users move to SOA and now completely start using web based solution hosting in a cloud. Of course such evolution is not something bad, just the opposite in my opinion because web based application are highly scalable, better secured and available from each place in the Earth where user has an Internet connection. Such a big changes in software ...
Ten wpis będzie po trosze prywatą ;). Nazbierało mi się kilka różnych skryptów, zazwyczaj są to pojedyncze polecenia SQL, które warto mieć pod ręką. No właśnie ;). Rzecz w tym, że nie zawsze pod tą ręką są, a tu na blogu praktycznie w 99% przypadków by były. Zatem dzielę się nimi, a przy okazji zapewniam sobie ich większą dostępność dla siebie. Na początek skrypt ...
Bazy danych i XML 4194 dni, 12 godzin, 1 minutę temu 219 źrodło rozwiń
Have you ever forgotten to lock your computer and went for a lunch? If so then you know what can happen. Your coworkers can send invitation for a party at your place to all co-workers (using your e-mail). They can also mess up with your desktop icons and much, much other fun stuff. The best solution is always lock the system. However sometimes we forget about it. Once I was bored after work I created WinForms application, which starts playing scary sound whe...
W poprzednim wpisie pisałem o pierwszym bloku grupującym – BatchBlock. Dziś czas przyszedł na kolejny element, tym razem JoinBlock. JoinBlock grupuje elementy podane na wejście w formie Tuple (pisałem o tej klasie kiedyś na blogu). Jeśli zatem podamy na wejście dwa integer’y, na wyjściu pojawi się Tuple
Sztuka programowania 4194 dni, 12 godzin, 1 minutę temu 27 źrodło rozwiń
Garść cytatów w kontekście Test Driven Development. Można je wykorzystać przy różnych okazjach, np. przy tworzeniu prezentacji albo przy rodzinnych bankietach ;)
Sometimes its easier to reaload only part of the website witout reloading whole page. Thanks to AJAX technology such aproach is possible and easy to code. Lets begin. Firstly we need to configure our environment so we must have a Visual Studio with MVC 3 Razor isntalled on it. Razor can be obtained from here. After installation process completed , the second step is to set up a new WebStie project (Picture 1.) Picture 1.After you confirm Your project type choise, next window starts. On it You s...
When we use the Entity Framework (EF) in multilayer information systems sometimes we want to extend classes generated by EF by adding some common properties or functions. Such operation cant be conduct on *.edmx data model so we need to make some improvement in our solution. Lets begin... Lets assumed that in our soulution we have only three layer (three project):Client console application which has reference to the second layer - 'ConsoleApplication' project nameClass library project with class i...
Architektura 4195 dni, 19 godzin, 59 minut temu 74 źrodło rozwiń
Last week I get interesting task to develop. The task was to search input text in PDF file stored in database as FileStream. The task implementation took me some time so I decided to share it with other developers. Here we are going to use SQL Server 2008 R2 (x64 Developers Edition), external driver from Adobe, Full-Text Search technology and FileStream technology.Because this sems a little bit comlicated let`s make this topic clear and do it step by step. 1) Enable FileStream - this part is prett...
Bazy danych i XML 4195 dni, 19 godzin, 59 minut temu 86 źrodło rozwiń
Since SQL SERVER 2005 it is possible to store XML data in database by using dedicated data type - XML. This type solved many programming problems such storing XML data as simple text which was very unpleasant to maintenance and detecting errors in document structure. Now stroring XML data is very simple and requires only the creation of column in XML data type. But sometimes we may want to do reverse operation. I mean generating XML document or fragment from non XML columns in a single SELECT statement....
Bazy danych i XML 4195 dni, 19 godzin, 59 minut temu 32 źrodło rozwiń
Almost in each modern website project one of the feature is suggesting user possible items to select when he start typing one of them. Such functionality is done by using control named autocomplete. Under the hood it consists of at least three elements:UI control which allow user to type some text - mainly this in HTML input of text typeServer-side function which serves data to be auto-completedClient-side logic (written in JavaScript) which , by using AJAX, send request to the server asynchronously and...
In SQL SERVER 2005 the most common data type for storing BLOBs was an IMAGE datatype. When SQL Server 2008 and later SQL SERVER 2008 R2 occured the image datatypes coexists with several new and recomended by Mictosoft BLOB datatypes such varbinary(MAX). Let`s have a look: varbinary(max) /binary(n) variables store variable-length binary data of approximately n bytes, may store a maximum of 2 gigabytes.image variables store up to 2 gigabytes of data and are commonly used to store any type of data fi...
Bazy danych i XML 4196 dni, 13 godzin, 55 minut temu 23 źrodło rozwiń
In many of my projects including last one I need to user N-Tier architecture for my application. This is very good approach because you can centralize your business logic and have many type of clients (WWW, mobile devices) thanks WCF and REST technology. The other thing is that most of business solutions displays some data in tabular format knows as grids and grid has always one problem: number of records increasing in time. So we need to ask ourselves do we really need to display all the data together ...
Sztuka programowania 4196 dni, 13 godzin, 55 minut temu 127 źrodło rozwiń