Formatowanie bez strat

•Marzec 2, 2017 • 1 komentarz

formaOdkąd zacząłem korzystać z PowerShella zawsze starałem się pamiętać o podstawowej zasadzie: filtrowanie na lewo, formatowanie na prawo. Jedno wynika z tego, że im mniej danych pobierzemy ze źródła, tym mniej popłynie do nas z zewnętrznego źródła, cały proces gromadzenia danych ulegnie więc skróceniu. To jak wielka będzie to różnica zależeć będzie przede wszystkim od tego, jaki jest koszt pobrania danych i na ile koszt ten ogranicza ich wstępne filtrowanie. Stąd maja słabość do wszelkich filtrów LDAP, WQL-i, XPathów i innych. I tu raczej nigdy nic się nie zmieni – jeśli wiem jak filtrować u źródła, to nawet jeśli zysk jest znikomy tam właśnie będę się starał filtrować. Drugi jednak imperatyw wynika z ograniczenia, z którym przyzwyczaiłem się żyć: sformatowane obiekty nadają się jedynie do wyświetlania na ekranie, względnie do przekierowywania do pliku. Tak przynajmniej było dotychczas…

Czytaj dalej ‚Formatowanie bez strat’

Dolar-daszek, dolar-dolar

•Luty 15, 2017 • Dodaj komentarz

dolar-daszekDziś krótki wpis o dwóch zmiennych, którym nie poświęciłem zbyt wiele uwagi gdy usłyszałem o nich po raz pierwszy. Wówczas nie widziałem dla nich kompletnie żadnego zastosowania. Dziś nie mam już wątpliwości: ich przydatność jest tylko kwestią wyobraźni użytkownika i choć w zasadzie ogranicza się ona do interaktywnej konsoli, to będąc jej stałym użyszkodnikiem – nie wyobrażam sobie jak mogłem kiedyś sobie bez tych dwóch zmiennych radzić. Zmienne mają bardzo krótkie nazwy, dzięki czemu korzystanie z nich nie wymaga wielu znaków: wystarczy standardowy znak dolara (oznaczającego zmienną) i jednoznakowa nazwa: dolar lub "daszek".

Czytaj dalej ‚Dolar-daszek, dolar-dolar’

Historia… inaczej.

•Luty 8, 2017 • Dodaj komentarz

history_bookOd jakiegoś czasu noszę się z zamiarem napisania o grupie modułów, których autorem jest Kirk Munro – jeden z niewielu ludzi, którzy tytuł PowerShell MVP noszą tak długo, że trudno oprzeć się wrażeniu, że z tytułem tym się urodzili. Kirk to dynamit, człowiek pełen pomysłów a gdy zaczyna pomysły te wprowadzać w życie… Dziś o module, który zmienia zasadniczo sposób pracy z historią poleceń.

Moduł HistoryPx przeznaczony jest dla wszystkich wersji PowerShella, począwszy od wersji trzeciej. Zmienia on w sposób zasadniczy to, jak zachowuje się nasza konsola i pozwala nam cofać się do przeszłości. Zanim jednak przyjrzymy się temu jak świat wygląda po zainstalowaniu i zaimportowaniu tego modułu, pomówmy sobie chwilę o tych wszystkich sytuacjach, gdy czegoś w PowerShellu nam brakowało…

Czytaj dalej ‚Historia… inaczej.’

TabExpansion Plus Plus – rewizyta

•Październik 31, 2016 • Dodaj komentarz

Minęły przeszło dwa lata od posta, w którym starałem się Wam przybliżyć moduł TabExpansion++. W tak zwanym międzyczasie autor projektu, Jason Shirk, wrócił "do domu" i pracuje ponownie w zespole odpowiedzialnym za PowerShella. Wraz z nim do "rdzenia" powróciły oba jego projekty, o których pisałem na moim blogu: TabExpansion++ oraz PSReadline. O ile jednak PSReadline (pomijając znaczącą rozbudowę i dodanie kolejnych możliwości, oraz zmianę przestrzeni nazw, w której znajdziemy wszelkie metody z modułem związane) nie zmienił się znacznie, o tyle zmian w TabExpansion++ nie brakuje.

Czytaj dalej ‚TabExpansion Plus Plus – rewizyta’

Przedsprzedaż spełnionych marzeń

•Czerwiec 27, 2016 • 10 Komentarzy

windows-powershell-bibliaGdy przeszło pięć lat temu napisałem pierwszy artykuł na tym blogu, wspomniałem o kilku celach, które pragnąłem osiągnąć. Cele to chyba jednak zbyt mocne słowo. Bardziej marzenia…

Pierwsze z nich, polonizacja PowerShella, nigdy nie doszła do skutku. Choć przyznam, że pokusa by do tego zagadnienia wrócić teraz jest większa niż kiedykolwiek wcześniej: pomoc jest dostępna na GitHubie, więc środki po temu, by przetłumaczyć pomoc na język ojczysty w zasadzie są dostępne. Cóż jednak z tego, skoro czasu zwyczajnie brakuje, by choć zacząć.

Czytaj dalej ‚Przedsprzedaż spełnionych marzeń’

Z innej beczki: aliasy.

•Maj 31, 2016 • Dodaj komentarz

Planowałem już od dłuższego czasu skrobnąć kolejną część cyklu o modułach innych niż skryptowe, ale maj przemknął mi przed oczami: najpierw majowe wakacje dzieciaków połączone z podróżą do Ziemi Ojczystej i zwieńczone komunią chrześniaka, dalej drugie urodziny najmłodszej i komunia najstarszej córci i nim zerknąłem w kalendarz – przyszło powoli żegnać się z tym pięknym miesiącem. Pogoda również nie nastrajała "komputerowo", choć biorąc pod uwagę fakt, że na pisanie czas zwykle znajduję i tak w nocy…

Zamiast więc kolejnej części cyklu słów kilka o tym, na co natknąłem się w zasadzie niedawno, a co może Wam się przydać w trakcie pisania zarówno kompilowanych, jak i skryptowych poleceń.

Czytaj dalej ‚Z innej beczki: aliasy.’

Piszemy sobie moduł: C# (2)

•Kwiecień 24, 2016 • Dodaj komentarz

ModulBinarny2Coś nie specjalnie (póki co) udaje mi się dotrzymać obietnicy – pisuję nadal rzadko. Cóż jednak zrobić, gdy doba nie chce się wydłużyć, a ilość rzeczy do zrobienia piętrzy się nieustannie. Dziś jednak w końcu mam chwilkę czasu, wypada więc zamknąć to, co zaczęliśmy jakiś czas temu.

W pierwszej części napisaliśmy banalnie prosty moduł. Przyjrzeliśmy się temu, jak utworzyć odpowiedni projekt, pobrać niezbędne biblioteki i wreszcie – jak przyjrzeć się naszemu modułowi w debuggerze. Dziś przyjrzymy się temu, jak wokół modułu binarnego zbudować pełny moduł: z manifestem, plikami pomocy, formatów i typów.

Czytaj dalej ‚Piszemy sobie moduł: C# (2)’