Ciekawostki

SQL Search – koniec z ręcznym przeszukiwaniem struktur bazy!

SQL Search – narzędzie (DARMOWE) stworzone przez Red Gate pozwala nam spać spokojnie (a przynajmniej spokojniej) w momencie gdy wprowadzamy do bazy zmiany. Nie musimy już analizować różnic między wersjami bazy danych, mozolnie przeklikiwać się przez poszczególne procedury i funkcje w poszukiwaniu odwołań do wybranego przez nas pola w tabeli. Owszem, w Sql Server Management Studio mamy do dyspozycji drzewo zależności. Mamy tam procedury składowane, funkcje, tabele widoki, ale! Niestety nie możemy wyświetlić drzewa zależności dla pojedynczej kolumny. Dostając wynik zależności dotyczących tabeli [Persons].[Contats] nie wiemy tak naprawdę, która jej część jest użyta.

Przyjmijmy taki oto scenariusz:
Korzystamy z bazy [AdventureWorks], w niej znajduje się tabela [Person].[Contact], w niej mamy do dyspozycji następujące pola:
    [ContactID]
    [NameStyle]
    [Title]
    [FirstName]
    [MiddleName]
    [LastName]
    [Suffix]
    [EmailAddress]
    [EmailPromotion]
    [Phone]
    [PasswordHash]
    [PasswordSalt]
    [AdditionalContactInfo]
    [rowguid]
    [ModifiedDate]

Pewnego dnia ktoś, z pewnych przyczyn chce zmienić nazwę kolumny [AdditionalContactInfo] na dajmy na to [AdditionalInfo]. Mając do dyspozycji drzewo zalezności nie wiemy tak naprawdę gdzie ta kolumna jest wykorzystana. Musimy zatem sprawdzić każdą z zależności pod kątem jej wystąpienia. Dodatkowo nie dysponujemy możliwością szybkiego podglądu/przeniesienia do obiektów zależnych – musimy je ręcznie wyszukać.

Z pomoca przychodzi SQL Search. Pierwsza praca z bazą danych wymaga zaindeksowania jej struktury. Trwa to od chwili do kilku minut, w zależności od rozległości bazy.

  1. Integruje się on w pełni z SQL Server Management Studio nawet w wersji Express! Wystarczy skorzystać z przycisku na toolbarze, lub wcisnąć Alt + Ctrl + D.
  2. Mamy możliwość doprecyzowania co nas interesuje czyli: możemy wybrać dokładne dopasowanie, typ obiektu, bazę do przeszukania oraz serwer.
       
  3. Przeszukiwanie odbywa się w sposób ciągły/dynamicznie (“as you type”). Dzięki czemu od razu widzimy wyniki naszego działania.
  4. W przeciwieństwie do drzewa zależności możemy przenieść się do obiektu który wybraliśmy, dzięki czemu odpada nam kolejna część pracy, czyli mozolne przeszukiwanie.

Wyniki wyszukiwania dają nam informację o sposbie dopasowania – czy jest to dopasowanie tekstu, kolumny, nazwy klumny. Dodatkowo dla przejrzystości odnaleziona fraza jest podświetlana…

Czego brakuje? Szukam, szukam, ale narazie nie znalazłem :) Zachęcam do pobrania (przypomnę, że produkt jest darmowy!) i przetestowania


Publikowanie kodu – CodeHTMLer

Poszukując wygodnego sposobu na publikację kodu przy użyciu Windows Live Writera, którego używam do wygodniejszej publikacji trafiłem na CodeHTMLer. Po ściągnięciu paczki, która zajmuje zaledwie 23KB i jej rozpakowaniu mamy do dyspozycji 4 pliki:

To co należy zrobić to uruchomić plik install.bat – należy pamiętć, by zrobić to w trybie administratora. Dlaczego? Spójrzmy na jego zawartość:

  1 @echo off
  2 REM To Install the CodeHtmler LiveWriter Plugin
  3 REM Copy CodeHtmler.dll and CodeHtmler.LiveWriterPlugin.dll into %Program Files%\Windows Live\Writer\Plugins
  4
  5 setlocal
  6
  7 set PLUGINDIR="%ProgramFiles%\Windows Live\Writer\Plugins\"
  8 set CODELOCATION=%~dp0
  9
 10 IF "%1" NEQ "" set CODELOCATION=%~dp1
 11
 12 XCOPY /D /Y /R "%CODELOCATION%CodeHtmler.dll" %PLUGINDIR%
 13 XCOPY /D /Y /R "%CODELOCATION%CodeHtmler.LiveWriterPlugin.dll" %PLUGINDIR%
 14
 15 endlocal

Instalacja polega na przekopiowaniu CodeHtmler.dll i CodeHtmler.LiveWriterPlugin.dll do katalogu pluginów Live Writera. Wybór należy do was.

Co dobrego daje nam ta wtyczka? Przede wszystkim ławtość użycia. Po zainstalowaniu obok innych wtyczek (Hyperlink, Picture, Photo album, …) pojawia nam się opcja “Code”. Po jej wybraniu mamy takie oto okno:

Do wyboru oprócz numerowania linii mamy 8 predefiniowanych kolorowań składni dla najpopularniejszych języków, dzięki czemu nie trzeba tracić czasu na ich definiowanie i można zacząć pracę od zaraz. Jeżeli jednak coś jest nie tak i wymaga zmiany, zawsze można wybrać opcję “Edit languages”. Udostępnia ona możliwość edycji wszystkich elementów kodu (zaznaczone na zielono) do której możemy przy pomocy wyrażeń regularnych w prosty sposób dodać nasze własne elementy.

A oto wynik transformacji kodu, który widać w okienku “Insert code”:

  1 /// <summary>
  2 /// Summary description for Main.
  3 /// </summary>
  4 static void Main(string[] args)
  5 {
  6   // string variable
  7   string myString = “myString”;
  8
  9   /* integer�
10      variable */

11   int myInt = 2;
12 }
 

Dla osób, które nie korzystają z Live Writera istnieje alternatywa w wersji online na tej stronie. Nie oferuje ona edycji kolorowania składni, lub też własnego definiowania tych elementów, jednakże taki urok online :)


Visual Studio 2010 – box selection i multi-line editing

Box selection to funkcjonalność, która pojawiła się już wcześniej w Visual Studio 2008. Dzięki niej możemy inaczej niż do tej pory (w sposób ciągły) zaznaczyć fragment kodu a następnie na przykład w jego obrębie coś zmienić (np atrybut dostepności pól publicznych na pola prywatne.

Tak to było kiedyś – standardowe zaznaczenie:

Coraz lepiej – zaznaczenie typu box oraz szybka podmiana:

 

Jak to zrobić? Wystarczy podczas zaznaczania wcisnąć lewy przycisk ALT – wówczas w miejsce zaznaczania linia po linii pojawia nam się box wyznaczony przez ruch kursora.

Tak to wyglądało w poprzedniej wersji. Podczas prac nad Visual Studio 2010 zabrakło tej opcji w wersjach przed RC, natomiast w wersji finalnej IDE była na swoim miejscu. Godne uwagi, a może wręcz przydatniejsze niż box selection jest multi-line editing. Na czym to polega? Nie trzeba już używać “podmiany” tekstu.

Jak? Zaznaczamy z użyciem lewebo przycisku ALT, a następnie zwyczajnie zaczynamy pisać. W każdej z linii objętych zaznaczeniem zacznie pojawiać się tekst, który właśnie wpisujemy.

 

W analogiczny sposób możemy zmieniać np prefixy właściwości klasy, lub dodawać komentarz

 

Obie funkcjonalności moim zdaniem godne polecenia i zapewne przydatne w codziennej pracy z kodem.
Filmik na Youtube
Wiecej na blogu Visual Studio


jQuery – ciekawe pluginy

Na Smashing Magazine pojawił się artykuł na temat ciekawych pluginów oraz wtyczek dotyczących jQuery. Mi osobiście do gustu najbardziej przypadły cztery z nich:

Contextual Slideout Tips, który pozwala na tworzenie animowanych warstw zawierających treści np tooltipów (jak wskazuje nazwa) ale również jest to ciekawy sposób na realizację menu…

  

Selectmenu jako alternatywa dla standardowego <asp:DropDownList> (lub jak kto woli <select>). Sami na pewno wiele razy spotkaliście się z koniecznością “upiększenia” tych elementów, lub też stworzenia kontrolek, które mają wyglądać jak użyty na stronie <select> ale działających w inny sposób. jQuery przychodzi tu z pomocą i wieloma gotowymi “podmieniaczami” (jeżeli takie słowo nie istnieje, to już istnieje :), a Selectmenu jest jedną z ciekawszych propozycji w tej materii.

Captify – dzięki tej wtyczce możemy w prosty, a przede wszystkim efektowny sposób dodać opisy do naszych galerii.

 

Opis pojawia się, a właściwie “wjeżdża” na zdjęcie, dzięki czemu nie przesłania treści graficznej, a w odpowiednim momencie daje pełną informację dotyczącą konkretnego zdjęcia…

Na koniec coś, co lubię, czyli gadżety – to też dodaje stylu i usability dla naszych stron:

Quicksand – coś, co wywołało u mnie tzw. efekt WOW – uwielbiam gadżety i ta wtyczka zalicza się do jednego z nich. Animowane sortowanie i filtrowanie, dodatkowe przedstawione w sposób

  

Tego nie można oddać na screenach – to trzeba zobaczyć i “przeklikać”


Poziom trudności sesji

Gdyby ktoś kiedyś zastanawiał się jak przebiega szacunkowa ocena poziomy trudności prezentacji tu jest mała pomoc

http://support.microsoft.com/default.aspx?scid=gp;en-us;WebCastLevels&sd=gn


Poziom trudności sesji

Gdyby ktoś kiedyś zastanawiał się jak przebiega szacunkowa ocena poziomy trudności prezentacji tu jest mała pomoc

http://support.microsoft.com/default.aspx?scid=gp;en-us;WebCastLevels&sd=gn


  • O mnie

    Maciej Grabek

    Moje profile na:

    MVP

    Codeguru.pl GoldenLine
    Twitter CodeProject

  • english version
  • Polecam

  • Copyright © Maciej Grabek. All rights reserved.
    Powered by WordPress
    %d bloggers like this: