Łukasz Gąsior – Blog

Web Developer – ASP.NET | ASP.NET MVC | PHP

Browsing Posts in Ogólne

Długo mnie tu nie było, ale nie próżnowałem.

Był już inżynier, to i magistra trzeba było dołożyć :) Udało się tego dokonać wczoraj w godzinach popołudniowych i ostatecznie zakończyć zabawę w studenta na PWr.

Temat pracy dyplomowej był ciekawy – dotyczył hurtowni danych Microsoft oraz Sybase. Chodziło głównie o zbadanie różnic w hurtowniach przechowujących dane wierszami (MS SQL) oraz kolumnowo (Sybase). Ogólnie – to drugie podejście oferuje szybsze wykonywanie zapytań.  Niedługo postaram się coś więcej na ten temat napisać.

Temat ten na tyle zainteresował mnie i promotora, że postanowiliśmy kontynuować projekt dążąc do wydania książki :) Jest nawet szansa, że nam się uda!

Lista propozycji tematów do napisania posta liczy sobie ok. 50 pozycji, więc teraz daję sobie parę dni na powrót do normalności i zaczynam produkować kolejne wpisy na blogu.

Aha – zapraszam również na codingtv(); – tam posty ruszyły trochę wcześniej!

Dla programisty jednym z głównych elementów pracy, poza „produkowaniem kodu”, jest zdobywanie wiedzy. Zarówno w kwestii poznawania nowych technologii, jak i „sztuki programowania” – czyli jak pisać, żeby było dobrze, a nie źle :)

Sposobów na poszerzanie wiedzy jest wiele: studiowanie MSDNa, czytanie blogów, książek, uczestnictwo w szkoleniach i konferencjach, udział w grupach społecznościowych, itp.

continue reading…

Tak się ostatnio złożyło, że zaistniała u mnie potrzeba zdobycia certyfikatu MCPD. Najpierw udało mi się zdać MCPD Web 4; wczoraj dołożyłem MCPD Windows 4 kończąc chwilowo swoją przygodę z certyfikacjami.

Pomijając kwestię sensu zdobywania certyfikatów (wiem, że jest to temat budzący skrajne uczucia), chciałbym co nieco opisać o moich przygotowaniach. Kilka osób pytało mnie o to w mailach, więc mam nadzieję, że Wam to się przyda.

continue reading…

W zeszłym tygodniu razem z kolegą Andrzejem uruchomiliśmy nowy projekt – codingtv();.

Jest to inicjatywa, w ramach której chcemy pokazać nasze podejście do tworzenia aplikacji, jednocześnie licząc na Wasz aktywny udział poprzez liczne komentarze.

Dzisiaj dla codingtv(); nastał wielki dzień – opublikowaliśmy pierwszy odcinek! Omówiliśmy w nim założenia codingtv();, narzędzia, z których będziemy korzystali oraz przeprowadziliśmy planowanie funkcjonalności, które będziemy implementowali w kolejnych odcinkach.

Gorąco zapraszam na http://codingtv.pl oraz na http://facebook.com/codingtv.

Mam nadzieję, że już wszyscy wiedzą, ale na wszelki wypadek i ja o tym wspomnę -  we Wrocławiu reaktywuje się grupa .NETowa – wroc.net :)

Grupa wroc.net jest społecznością skupiającą przede wszystkim pasjonatów technologii .NET, jednak każdy jest mile widziany. W ramach swojej działalności Grupa organizuje bezpłatne spotkania. Aktualnie we Wrocławiu odbywają się one co miesiąc w trzeci wtorek miesiąca. Na spotkaniu każdy(!) może zaproponować temat i poprowadzić sesję. Jest to wspaniała okazja do doskonalenia i nauki prowadzenia prezentacji.

Uczestnictwo w Grupie jest doskonałą okazją do zawarcia ciekawych znajomości oraz wymiany wiedzy i doświadczeń.

Na najbliższym spotkaniu, 16 marca, będę miał okazję poprowadzić prezentację o optymalizacji aplikacji .NETowych z wykorzystaniem pakietu .NET Bundle firmy RedGate.

Więcej informacji o spotkaniu oraz formularz do rejestracji znajduje się na stronie grupy.

Jeżeli nie mieszkasz we Wrocławiu i nie masz możliwości uczestniczyć w jej spotkaniach, a podoba Ci się ta idea, to sprawdź na stronie ms groups czy w Twoim mieście/okolicy taka grupa istnieje.

Pracując nad jakąś aplikacją czasami musimy ją zdebugować. Sposobów na to jest wiele – np. podpinając się pod odpowiedni proces. U mnie standardowo wygląda to tak: menu Debug->Attach to Process…->w3wp.exe.

Wykonuję tę operację dość często.

Jak wiele czynności w pracy z komputerem można tę operację zautomatyzować, tworząc np. makro.

W Visual Studio wybieramy: Tools->Macros->Macros IDE

attache_to_process_1

Dodajemy nowy moduł, nadajemy mu nazwę, np. RecordingModule:

attache_to_process_2

i wpisujemy makro:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics

Public Module RecordingModule
 Sub AttachToAspNET()
 Try
 Dim dbg2 As EnvDTE80.Debugger2 = DTE.Debugger
 Dim trans As EnvDTE80.Transport = dbg2.Transports.Item("Default")
 Dim compName As String = Environ$("computername")
 Dim proc2 As EnvDTE80.Process2 = dbg2.GetProcesses(trans, compName).Item("WebDev.WebServer.EXE")
 proc2.Attach2()
 Catch ex As System.Exception
 MsgBox(ex.Message)
 End Try
 End Sub

End Module

Oczywiście w ten sposób możemy podpinać się pod dowolny proces. W przypadku ASP.NET, w zależności od tego, z jakiego serwera korzystamy będzie to:

  • WebDev.WebServer.exe – środowisko uruchamiane przez VS
  • w3wp.exe – IIS 6.0
  • aspnet_wp.exe – IIS 5.0, IIS 5.1

Aby uruchamiać makro, najprościej jest podpiąć je pod skrót klawiaturowy.

Z menu wybieramy: Tools->Options->Environment->Keyboard i wybieramy nasze makro:

attache_to_process_3

Po przypisaniu skrótu (u mnie ALT+CRTL+K) klikamy Assign, zamykamy okno opcji  i cieszymy się nowym makrem :)

tja … wystarczył malutki urlopik, parę delegacji i dwa miesiące gdzieś uciekły :) Na szczęście powoli wszystko powoli wraca do normy. Oczywiście wiąże się to z moim powrotem do blogowania :)

Wczoraj postanowiłem rozpocząć swoją przygodę ze środowiskiem Open Source.

Moim pierwszym projektem jest ArchiveMe – prosty ale bardzo przydatny archiwizer.

Jego opis wraz z linkiem do pobrania znajduje się tutaj.

Wszystkim, którym znudził się standardowy wygląd Gmaila, polecam dodatek do Firefoxa – Better Gmail 2. Oprócz zmiany wyglądu naszej „skrzynki”, Wtyczka umożliwia skonfigurowanie paru ustawień Gmaila, np.: wyłączyć listę kontaktów Google Talk, dodanie listy nieprzeczytanych na początku tytułu strony, itp.

Wtyczkę możemy pobrać ze strony Firefox Add-ons

Po instalacji i restarcie FF wchodzimy w menu „Narzędzia -> Better Gmail 2…”

Przechodzimy do zakładki „Skins” i wybieramy „Redesigned”.
1
Klikamy OK, odświeżamy stronę Gmaila i voila!
1

Dzisiaj światło dzienne ujrzała finalna wersja ReSharper 4.0. Narzędzie jest tak popularne, że chyba nie trzeba go przedstawiać :)

Właśnie rozpoczynam testy tej wersji i postaram się na bieżąco informować o moich uwagach. Pierwszą nowością jaka przykuła moje oko jest Code Cleanup. Funkcja ta próbuje usunąć część błędów napotkanych w pliku za pomocą jednego kliknięcia.

Ciekawy opis funkcjonalności przedstawia na swoim blogu Maciej Aniserowicz – część 1, część 2.

Pełna lista nowości przedstawiona jest na stronie: http://www.jetbrains.com/resharper/features/newfeatures.html

Powered by WordPress Web Design by SRS Solutions © 2012 Łukasz Gąsior – Blog Design by SRS Solutions