Skip to content

Programista.NET

praktyk
WebDeveloper ASP.NET | ASP.NET MVC | PHP, SEO, AJAX
Ten blog ma służyć jako mój podręczny notatnik, a także narzędzie dzięki któremu usystematyzuje zbieraną na co dzień wiedzę.

Jednym z ciekawszych sposobów na dzielenie danych pomiędzy procedurami jest użycie tabel tymczasowych. Rozwiązanie jest proste i skuteczne, można z niego korzystać we wszystkich sytuacjach, minusem jest utrudnione zarządzanie w przypadku gdy więcej procedur będzie korzystać z jednej tabeli tymczasowej, np chcąc zmienić kolumny trzeba będzie zmieniać je we wszystkich procedurach korzystających z danej tabeli tymczasowej.

continue reading…

Dzisiaj na szybko, dwa linki do artykułów Piotra Zielińskiego dotyczących MVC3 i silnika Razor, idealne na start z MVC

http://msdn.microsoft.com/pl-pl/library/wprowadzenie-do-asp-net-mvc-3-0

I parę słów o silniku renderującym razor:

http://msdn.microsoft.com/pl-pl/library/razor–nowy-silnik-renderujacy

http://www.pluralsight-training.net to moje niedawne odkrycie. Na stronie znajdziecie mnóstwo video-tutoriali dotyczących wszelkich technologii Microsoftu, co wyróżnia stronę to wysoka jakość materiałów i ich aktualność. Znajdziecie tam m.in. dużo o C#, WebFormsach, MVC, TeamFoundation, WCF, Silverlight nawet WP 7 .

Problemem jest koszt subskrypcji który wynosi 30$  / miesiąc. Na szczęście studenci mogą otrzymać darmową subskrypcję na 90 dni za darmoszke!

Wystarczy zarejestrować się na stronie http://www.dreamspark.com/ przez swoje konto live i zatwierdzić swój status jako studenta

continue reading…

AJAX w MVC3

mar 26

Aby używać AJAXA w MVC należy wywołać poniższe biblioteki JS znajdziemy je w folderze Scripts naszego projektu

1
2
3
<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>

Teraz możemy przystąpić do generowania linku naszej akcji, wykorzystamy do tego nowy silnik generowania widoków „Razor” dostępny od MVC3

1
2
3
4
5
6
7
@Ajax.ActionLink("Kliknij aby wykonać akcję",
"NazwaAkcji",
new AjaxOptions{
UpdateTargetId = "idElementu",
HttpMethod = "Get", //default
InsertionMode = InsertionMode.Replace,
})

Przydatne opcje AjaxOptions
OnBegin - Gets or sets the name of the JavaScript function to call immediately before the page is updated.
OnComplete - Gets or sets the JavaScript function to call when response data has been instantiated but before the page is updated.
OnFailure - Gets or sets the JavaScript function to call if the page update fails.
OnSuccess - Gets or sets the JavaScript function to call after the page is successfully updated.

continue reading…

Singleton to wzorzec często przydający się w większych aplikacjach np w odniesieniu do połączenia z bazą danych czy innym źródłem danych.
Jak prawidłowo zaimplementować wzorzec singleton.

Kod dla aplikacji jednowątkowych:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public sealed class Singleton
{
   private static Singleton instance;

   private Singleton() {}

   public static Singleton Instance
   {
      get
      {
         if (instance == null)
         {
            instance = new Singleton();
         }
         return instance;
      }
   }
}

continue reading…

Zadania z terminu zerowego

1. Napisać funkcję asemblerową:
int asm_main(int pierwszy, int drugi)
która sprawdzi, czy oba parametry funkcji są tego samego znaku. Jeżeli pierwszy i drugi są jednocześnie dodatnie lub jednocześnie ujemne funkcja powinna zwrócić wartość 1. Jeżeli pierwszy i drugi mają przeciwne znaki (na przykład pierwszy jest dodatni a drugi ujemny) to funkcja powinna zwrócić 0. Dla ułatwienia zakładamy, że pierwszy i drugi nie będą przyjmowały wartości 0.

2. Napisać funkcję asemblerową:
unsigned int asm_main()
która zwróci liczbę, odpowiadającą tablicy znaków cyfry. Zakładamy – do wyboru – że w tablicy tej znajduje się ile znaków, lub że ciąg cyfr kończy się bajtem o wartości 0. Jeżeli przykładowo cyfry[] = „901″ to tablica ta zawiera w praktyce bajty o wartościach 57, 48, 49, 0. Tym samym aby obliczyć liczbę odpowiadającą tej tablicy należy systematycznie pobierać bajty z tablicy, odejmować od nich 48 i tę różnicę dodawać do uprzedniego pośredniego wyniku pomnożonego przez 10, tak aby ostatecznie otrzymać wynik o wartości 901.
(rozwiązanie by R.Radzisz)

3. Napisać funkcję asemblerową:
int asm_main()
która sprawdzi, ile zer kończy binarną reprezentację zmiennej liczba. Jeżeli przykładowo liczba = 96 to jej binarna reprezentacja ma postać:
0000000001100000
Ponieważ liczba ta ma na końcu 5 zer, funkcja powinna zwrócić wartość 5.

continue reading…

Kilka algorytmów które mogą przydać się na przyszłość
continue reading…

W poniższym tutorialu utworzymy przykładowy projekt C/ASM za pomocą Visual Studio 2008.

Nasza aplikacja będzie mnożyła dwie liczby i zwracała wynik na ekranie.

W pierwszym kroku dodajemy nowy projekt Visual C++/Win32/Win32 Console Application

continue reading…

Co będzie potrzebne do programowania w assemblerze?

Potrzebny nam kompilator np MASM od Microsoftu, edytor tekstu i debugger. Jednak wygodnie jest korzystać z rozbudowanego środowiska VisualStudio 2008 które zawiera wszystko a nawet więcej niż potrzebujemy na nasze skromne potrzeby.

Teraz wypada napisać dlaczego Assembler? Wiele osób pewnie już słyszało, że programy pisane w języku Assembler słyną z tego, ze są małe i szybkie. Są takie, gdyż mają one taki kod, jaki stworzymy, a nie taki jak kompilator „przetłumaczy”, nie posiadają również zbędnych bibliotek.
Programując w Assemblerze pozna się jak działa procesor, jak program jest zbudowany i inne rzeczy o których nie ma pojęcia programista np. takiej Javy. Dlatego każdy szanujący się programista powinien poznać przynajmniej podstawy Assemblera.

I. Systemy liczbowe

Do programowania w Assemblerze przydatna będzie na pewno wiedza o dwóch dodatkowych systemach liczbowych (prócz dziesiętnego) takich jak: dwójkowy (binarny), szesnastkowy (heksadecymalny). Opiszę krótko te dwa systemy:

  • binarny – podstawą systemu jest są dwie cyfry: 0 i 1. W tym systemie działa komputer, w tym systemie jest zapisywany kod programu. Liczby w tym systemie przyjęło się zapisywać z literą b na końcu (np. 10001011b).
  • heksadecymalny – podstawą systemu są cyfry od 0 do 9 i litery od A do F (w sumie szesnaście znaków). Dla człowieka o wiele bardziej wygodny od systemu binarnego. Liczby w tym systemie przyjęło zapisywać się z literą h na końcu (np. 23E0B3h).

To wszystko na temat systemów, jak ktoś chce może doczytać coś więcej o nich, a także nauczyć się je ręcznie przeliczać. Jednak programując szybciej i wygodniej jest przeliczać te systemy za pomocą kalkulatora.
continue reading…

Ten blog powstał po to aby usystematyzować moją wiedzę a także pomóc w jej dalszym pogłębianiu, dodatkowo mam nadzieję, że będzie to impuls motywujący mnie do działania w kierunku osiągnięcia mojego celu czyli zdobycie pracy którą mógłbym połączyć z pasją.

Moja pasja czyli technologie .NET głównie webowe, wszystko co związane z ASP.NET, AJAX, RIA, Silverlight, Programowaniu mobilnym .NET CF

Od przeszło dwóch lat pracuje jako programista PHP natomiast będąc na studiach zafascynowałem się technologią .NET czynnie uczestniczyłem w życiu grupy WWSI.NET Warszawskiej Wyższej Szkoły Informatyki gdzie ukończyłem studia na poziomie inżyniera. Obecnie studiuje informatykę na Uniwersytecie Łódzkim niestety z przyczyn technicznych nie mogę uczestniczyć w działalności grup .NET dlatego mam nadzieję, że ten blog pomoże mi dalej pogłębiać wiedzę o technologii .NET