Spotkanie inauguracyjne 2011

Zapraszam na pierwsze, inauguracyjne spotkanie grupy w nowym semestrze, które odbędzie się w czwartek (13.10.2011) o godzinie 18:15 w sali D09.

 

Tagi:

Nie śpij – programuj!

 

Jesteś zapalonym programistą i chętnie podejmujesz nowe wyzwania? Nie może Cię zabraknąć na eliminacjach do 24-godzinnego maratonu programistycznego! Razem z przyjaciółmi stwórz trzyosobowy team i przekonaj się, jak wiele można zrobić w krótkim czasie, gdy pracuje się razem.

Ogólnopolskie zawody programistyczne Deadline24 to prawdziwy test wytrzymałości, kreatywnego myślenia i interdyscyplinarnej wiedzy. Po przejściu eliminacji, najlepsze drużyny zostaną zaproszone na finał do Gliwic, gdzie czekać je będzie 24-godzinny programistyczny maraton.  Zawodnicy, odcięci od zewnętrznego świata, będą rywalizować między sobą, pisząc nietypowy program. O wygranej zadecyduje jakość wykonanej w tak krótkim czasie pracy. Uczestnicy mogą uzbroić się w dowolny sprzęt i oprogramowanie. Organizatorzy zapewniają każdej drużynie jedno gniazdko 230V i dostęp do wirtualnej areny - serwera konkursowego. Liczy się inwencja i praca zespołowa. W pierwszej edycji konkursu zadaniem informatyków była tresura żukoskoczków - musieli opanować motywowanie, ruch, a nawet rozmnażanie tych stworzonek, by uratować świat przed zagładą i negatywną energią. Tegoroczne zadanie będzie z pewnością nie mniej ekscentryczne.

Udział w zawodach jest bezpłatny. Zarówno w eliminacjach jak i w finale uczestnicy pracują na swoim sprzęcie, mając pełną swobodę wyboru systemu operacyjnego, środowiska i języka programowania. Eliminacje trwają 5 godzin, odbywają się zdalnie. Drużyny otrzymują zadania i dane wejściowe do zadań. Celem jest wygenerowanie (w dowolny sposób) odpowiedzi i przesłanie ich na serwer sprawdzający w wyznaczonym czasie. Finał trwa 24 godziny, odbywa się na Politechnice Śląskiej w Gliwicach. Uczestnicy mogą korzystać ze wszelkich materiałów przyniesionych ze sobą, lecz dostęp do pomocy zewnętrznej jest zabroniony. Zadanie będzie miało charakter interaktywny, komunikacja z serwerem konkursowym będzie się odbywała za pomocą TCP/IP.

Pomysł na organizację Deadline24 zrodził się na początku 2009 roku. Są to pierwsze tego typu zawody w Polsce. Organizatorami konkursu są: firma Future Processing i Politechnika Śląska. Strona www z poprzedniej edycji wraz z regulaminem, galerią, wynikami i zadaniem konkursowym jest dostępna pod adresem http://www.deadline24.pl.

Filozofią konkursu jest przyciągnięcie do udziału pasjonatów programowania, oryginalnych, kreatywnych i kompetentnych osób. Konkurs wyłoni młodych programistów o nieprzeciętnych umiejętnościach, indywidualistów w akademickim świecie IT, utalentowanych ludzi z branży. Konkurs ma niestandardową formułę. Promuje ludzi o wyjątkowych zdolnościach programistycznych, działających w nietypowych dla siebie warunkach.

Nagrody dla zwycięzców będą równie niezwykłe, jak programistyczne zadanie, z którym się zmierzą. Dobra zabawa gwarantowana! Eliminacje już 26 marca. Wejdź na stronę konkursu http://www.deadline24.pl, zapoznaj się z regulaminem i aplikuj! Drużyny, które pomyślnie przejdą pierwszy etap, wezmą udział w maratonie programistycznym. Konkurs rozpocznie się w Gliwicach 26 kwietnia i potrwa całą dobę.

 

Tagi: ,

Ustalenia po spotkaniach organizacyjnych

Hej :)

W ubiegłym tygodniu odbyły się dwa, organizacyjne, spotkania grupy. Postanowiliśmy, że tak, jak w latach poprzednich, będą dwa typy spotkań: Warsztaty oraz Prezentacje. Na warsztatach, w tym semestrze będziemy uczyli się C# oraz pisali małe projekty. Spotkania zawsze będą odbywały się we wtorki (prezentacje) o godzinie 17.30 oraz w czwartki (warsztaty) o godzinie 19.

Zapraszam również na jutrzejsze spotkanie (wtorek 26.10), na którym Mateusz Jaskółowski opowie o tworzeniu aplikacji w WPF z użyciem wzorca MVVM. Opowie również o narzędziu do tworzenia wyglądu naszej aplikacji WPF. Zapraszamy!

Nie zapomnijcie zarejestrować się na: https://codeguru.pl/group-82/LectureDetails/1,4686.aspx

 

Tagi: , , ,

Pierwsze, powakacyjne spotkanie

 
  Witam Was w nowym roku akademickim!
Czas zacząć spotkania naszej grupy :) Już niebawem, bo we wtorek 19 października o godzinie 18.00 w sali 49 na Wydziale Matematyki i Informatyki odbędzie się pierwsze powakacyjne spotkanie. Będzie to spotkanie organizacyjne, na którym chcemy ustalić jak będą wyglądały spotkania w tym roku, co chcielibyście robić na warsztatach, prezentacje na jaki temat chcielibyście usłyszeć itp.Będzie też trochę o nowych zasadach premiowania aktywnych uczestników i wiele więcej.
Gorąco zapraszamy.

P.S Przypominam o rejestracji na spotkanie: https://codeguru.pl/group-82/LectureDetails/1,4622.aspx

Tagi: , , ,

70-562:Deploying Web applications

Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET.

W dzisiejszej lekcji powiemy sobie o wdrażaniu aplikacji internetowych w ASP.NET.

Tworzenie projektu Web Setup

Web setup jest narzędziem, które wspomaga wdrażanie naszej aplikacji internetowej. Projekt Web Setup jest bardzo podobny do standardowego projektu Setup, który mamy w aplikacjach Windows Forms, lecz dostarcza specjalnych właściwości wymaganych przez aplikację Web. Aby stworzyć nowy projekt typu Web Setup musimy podczas tworzenia projektu wybrać zakładkę Other Project Types –> Setup  and Deployment –> Web Setup Project.
image
Po stworzeniu nowego projektu, Visual dołączy projekt do solution oraz wyświetli edytor “File System”. Następnie musimy dodać do nowo utworzonego projektu nowy element. Ustawiamy się na projekcie i wybieramy Add-> Project Output. W oknie tworzenia Project Output wybieramy Content i configuration ustawiamy na Active. W tym momencie zapewniliśmy sobie dostęp do naszego projektu, który chcemy wdrażać.

Tworzenie warunków uruchomienia

Dzięki warunkom uruchomienia możemy sobie sprawdzać np. czy na serwerze znajdują się Service Packi albo inne komponenty, które są wymagane do wdrożenia naszej aplikacji. Do tworzenia i zarządzania warunkami uruchomienia używa się edytora Launch Condition. Aby z niego skorzystać klikamy prawym przyciskiem na projekcie, następnie wybieramy View-> Launch Condition. Teraz aby dodać nowy warunek klikamy prawym przyciskiem na folderze Launch Condition i wybieramy Add Launch Condition:
image

 

Istnieją dwie główne gałęzie w edytorze: Search Target Machine oraz Launch Condition:
Search Target Machine – pozwala na zdefiniowanie kryteriów wyszukiwania przed instalacją. Domyślnie zawiera wyszukiwanie dla IIS ale możemy dodać do niego pliki rejestru, Windows Installer Search Condition itp.
Launch Condition – pozwala na tworzenie nowych warunków, które muszą być spełnione przed instalacją. Mogą być one oparte o warunki wyszukiwania lub inne kryteria (np. wersja systemu operacyjnego).

Po stworzeniu nowego warunku, możemy we właściwości Condition ustawić nasz warunek. Np. sprawdzanie wersji IIS może odbyć się w taki sposób:

   1: IISVERSION = "#6" 

Sprawdzamy tu, czy wersja IIS jest równa 6. Oczywiście możemy używać operatorów > < >= <=. Aby sprawdzić czy dyskiem domowym jest C:

   1: %HOMEDRIVE = "C:"

Dodawanie własnej strony setup’u

Możemy dodać własne strony do naszego instalatora. Można w nich pobierać jakieś informacje a następnie przekazywać je jako parametry do własnych akcji. Działania jakie możemy wykonywać podczas instalacji:
Wyświetlanie licencji – projekt Web Setup dostarcza szablon do potwierdzania licencji
Modyfikowanie ustawień w Web.Config – zmienianie ustawień Web.Config na podstawie danych przekazanych przez użytkownika
Wykonywanie niestandardowej konfiguracji – możemy za pomocą własnej konfiguracji zapytać użytkownika o jakieś informację i przechowywać je np. w rejestrze.
Aktywacja bądź rejestracja aplikacji – możemy wymagać od użytkownika podanie klucza bądź rejestracji

Aby dodać własną stronę, wchodzimy w User Interface(prawym przyskiem myszy na projekcie –> View –> User Interface). Edytor ten wyświetla różne etapy konfiguracji itp:
image

Teraz wystarczy PPM na etapie, w którym chcemy dodać stronę i wybieramy Add Dialog. Widzimy opcję, które możemy dodać do projektu. Proponuję pobawić się nimi i zobaczyć jak działają bądź doczytać o nich na msdnie.
image

Wdrażanie aplikacji

Po skonfigurowaniu naszego projektu i zbudowaniu jesteśmy gotowi wdrożyć go na serwerze :) Aby to zrobić, należy użyć plików wygenerowanych podczas buildu:
Setup.exe – plik, który instaluje pliki i wprowadza ustawienia, które dodaliśmy w naszym projekcie. Podczas instalacji zostaniemy zapytani o wszystkie dodatkowe ustawienia.
<NazwaProjektu>.msi – plik instalatora Windows zawierający wszystkie pliki dodane do projektu. Uruchomienie tego pliku jest równoważne uruchomieniu Setup.exe. Ten typ pliku jest mniejszy i bardziej uniwersalny.
Bardziej polecany jest plik msi, chociaż ma jedną wadę: serwer, na którym chcemy instalować aplikację musi mieć Windows Installer.

To wszystko z mojej strony :) Dziękuję za wytrwanie w tej serii wpisów :)

 

Tagi: , , , , ,

70-562:Using ASP.NET Membership

Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET.

W dzisiejszym artykule powiemy sobie o używaniu kontrolki logowania, zarządzaniu użytkownikami, informacjami na ich temat oraz o rolach. To wszystko zrealizujemy używając mechanizmu Membership.

Użycie WSAT do konfigurowania zabezpieczeń

Do zarządzania użytkownikami, rolami oraz zabezpieczeniami na naszej stronie możemy użyć wbudowanego narzędzia Web Site Administration Tool (WSAT).

Tworzenie użytkowników

Aby uruchomić WSAT należy wybrać z menu ASP.NET Configuration. Konfiguracje użytkowników znajdziecie w zakładce Security. Najpierw musimy skonfigurować uwierzytelnianie. Mamy do wyboru uwierzytelnianie Windows, Lokalne Active Directory oraz uwierzytelnianie za pomocą formularza. Po wybraniu interesującego nas uwierzytelniania możemy stworzyć użytkownika, zarządzać nim, nadać mu role itp. Poniżej przykład tworzenia nowego usera:

image 

Jeśli wybraliśmy uwierzytelnianie oparte o formularze (Web-based), WSAT automatycznie stworzy lokalną baze i umieści ją w katalogu App_Data (no chyba że chcemy podczepić inną baze np. wygenerowaną tak jak w poprzednim wpisie). Doda również wpis do pliku Web.config, który włącza nasze uwierzytelnianie:

   1: <configuration>
   2:  <system.web>
   3:   <authentication mode="Forms" />
   4:  </system.web>
   5: </configuration>
Tworzenie ról

Aby włączyć role wystarczy odpalić WSAT i kliknąć w link, który je włącza :) Po włączeniu ról, WSAT doda do Web.Config taki kod:

   1: <configuration>
   2:  <system.web>
   3:   <roleManager enabled="true" />
   4:  </system.web>
   5: </configuration>

Teraz możemy już tworzyć własne role i przypisywać do nich użytkowników. Robi się to podczas tworzenia nowego użytkownika ew. podczas jego edycji :)

Podobnie działa mechanizm “Acces Rules”, dzięki któremu możemy określić kto ma dostęp do folderu czy pliku. Również wszystko robimy z poziomu WSAT.

Kontrolka Login

Istnieje kilka kontrolek, wbudowanych w ASP .NET, dzięki którym możemy zarządzać logowaniem i informacjami na temat logowania. Dostarczają one interfejs użytkownika i szereg metod pomagających w zarządzaniu informacjami. Poniżej hierarchia:

image

 

CreateUserWizard – jest to “kreator”, dzięki któremu stworzymy nowego użytkownika.
Login – kontrolka, dzięki której dajemy użytkownikowi możliwość zalogowania się .
LoginView – kontrolki tej możemy użyć np. do udostępnienia linka, dostępnego dla zalogowanych użytkowików
LoginName – wyświetla bieżącego użytkownika (jeśli jest zalogowany)
PasswordRecovery – pozwala na zresetowanie hasła użytkownika poprzez wysłanie maila bądź odpowiedź na pytanie
ChangePassword – pozwala zmienić bieżące hasło.

Wszystkie kontrolki są bardzo proste w użyciu, więc nie będę opisywał po kolei (tak jak jest to opisane w TK), jak przeciągnąć na formatkę itp :) Myślę że każdy sobie z tym poradzi.

Klasa Membership

Poniżej najważniejsze statyczne metody klasy Membership, dzięki którym możemy ręcznie stworzyć użytkownika, usunąć itp:
CreateUser – dodaje nowego użytkownika do bazy danych.
DeleteUser – usuwa użytkownika z bazy
FindUsersByEmail – metoda wyszukuje użytkownika (z kolekcji użytkowników), do którego pasuje podany mail
FindUsersByName – tak jak wyżej tylko szukanie odbywa się po nazwie.
GeneratePassword – metoda ta tworzy losowe hasło o podanej długości
GetAllUsers – zwraca kolekcję wszystkich użytkowników znajdujących się w bazie
GetNumberOfUsersOnline – metoda zwraca ilość zalogowanych osób
GetUser – zwraca aktualnie zalogowanego użytkownika
GetUserNameByEmail – pobiera nazwę użytkownika na podstawie maila
UpdateUser – aktualizuje informacje o użytkowniku

Klasa Roles

Klasa Roles dostarcza wielu statycznych metod, dzięki którym możemy operować, zarządzać rolami.

AddUserToRole, AddUsersToRole i AddUsersToRoles – dodają użytkownika (użytkowników) do roli (ról)
CreateRole – tworzy nową role
DeleteRole – kasuje role
FindUsersInRole – znajduje użytkowników w podanej roli
GetAllRoles – zwraca wszystkie istniejące role
GetRolesForUser – zwraca role przypisane do podanego użytkownika
IsUserInRole – zwraca true, jeśli użytkownik należy do podanej roli
RemoveUserFromRole, RemoveUsersFromRole, RemoveUserFromRoles, i RemoveUsersFromRoles – usuwa użytkownika z roli

Jeśli np. chcemy przypisać użytkownika do roli, możemy napisać tak: (w tym przykładzie nazwa użytkownika brana jest z kontrolki CreateUserWizard):

   1: Roles.AddUserToRole(CreateUserWizard1.UserName, "Users");

To tyle na dziś. W następnym artykule będziecie mogli przeczytać o zabezpieczaniu strony. Zapraszam w imieniu Dawida :)

Tagi: , , , , , ,

70-562:Configuring globalization and Localization

Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET.

W dzisiejszym artykule powiemy sobie o działaniu zasobów w ASP .NET, poznamy jak za ich pomocą robić np. wielojęzykową strone.

Zasoby

Do obsługi języków na stronie, ASP .NET wykorzystuje pliki zasobów (ang. resource files). Plik zasobów zawiera zestaw tekstów (specyficznych dla danego języka), dla strony lub całej witryny. Jeśli plik z zasobami istnieje dla języka, który jest pożądany przez użytkownika, ASP korzysta z niego. Jeśli plik nie istnieje, wyświetla domyślny język, który ustawiliśmy na naszej stronie.  Istnieją dwa typy zasobów: lokalne i globalne. Omówione zostaną w dalszej części artykułu.

Użycie lokalnych plików zasobów

Lokalne zasoby (ang. local resources), są przeznaczone dla pojedynczych stron i powinny być użyte do dostarczania wersji strony w różnych językach. Zasoby te powinny być umieszczone w specjalnym folderze App_LocalResources. Każdy plik zasobów jest określony dla danej strony, dlatego nazywa się go w taki sposób: <NazwaStrony>.Aspx.resx. Np. dla strony o nazwie Default.aspx, plik zasobów będzie nazywał się Default.aspx.resx. Dzięki temu określiliśmy domyślny plik zasobów.
Możemy stworzyć plik zasobów, który określa nam dany język, za pomocą pliku zasobów o nazwie: <NazwaStrony>.aspx.<jezyk>.resx. Np. jeśli chcemy hiszpańską wersję strony nasz plik będzie wyglądał tak: Default.aspx.es.resx. (es jest skrótem Hiszpanii).

Generowanie lokalnych zasobów

Do wygenerowania naszego pliku zasobów możemy użyć Visual Studio, które wygeneruje nam domyślną wersję pliku. Możemy zrobić to w następujący sposób:
1. Otwieramy naszą stronę w visual studio
2.  Z menu Tools wybieramy Generate Local Resource
    W tym momencie Visual Studio stworzył folder App_LocalResources oraz stworzył plik XML. Plik bedzie   zawierał ustawienia zasobów dla strony oraz kontrolował właściwości takie jak Text,ToolTip,Title,Caption itp.
W naszym przykładzie tworzymy sobie stronę zawierającą kontrolki: label, textbox, calendar oraz button.

image

Poniżej plik zasobów dla naszej przykładowej strony. Plik został otworzony w wizualnym edytorze plików zasobów, który udostępnia nam Visual Studio.
image

Możemy również otworzyć ten plik w edytorze XML. Widzimy tu m.in taki kod:

   1: <data name="ButtonSubmitResource1.Text" xml:space="preserve">
   2:  <value>Save</value>
   3: </data>
   4: <data name="ButtonSubmitResource1.ToolTip" xml:space="preserve">
   5:  <value />
   6: </data>

Widzimy pary data-value. W data trzymamy właściwość kontrolki np. Text a w value jej wartość.

Tworzenie wersji językowych zasobów lokalnych

Aby stworzyć językowy plik zasobów musimy najpierw stworzyć domyślny plik zasobów. Następnie:
1. W solution explorer klikamy prawym przyciskiem na naszym domyślnym pliku zasobów i wybieramy Copy
2. Kopiujemy ten plik do folderu App_LocalResources
3. Zmieniamy nazwę pliku na np. Default.aspx.fr.resx aby stworzyć francuską wersję.
4. Klikamy na nasz plik i zmieniamy wartości na własne – francuskie :D

Zasoby globalne

Globalne zasoby (ang. global resources) to takie, które można odczytać z każdej strony. Zasoby te przydają się w momencie, gdy chcemy uzyskać dostęp do zasobu z wielu stron w naszej witrynie.
Globalne zasoby są wciąż plikami .resx i wciąż tworzymy domyślną wersję a później jej odmiany językowe. Tak samo jest z nazewnictwem plików. Różnią się jednak położeniem plików. Globalne zasoby trzymamy w folderze App_GlobalResource. Tworzenie plików wygląda tak jak poprzednio. Również mamy edytor itp. dlatego nie będę tu opisywał od nowa tworzenia wszystkiego.

To tyle na dzisiaj. W tym rozdziale TK nie bardzo pokazał jak ustawiać w kodzie, z której wersji strony chcemy korzystać. Podejrzewam że pojawi się to już w piątek :)

Tagi: , , , , , ,

Eastgroup.pl na facebooku