skip to Main Content
Git I PowerShell Oraz Polskie Znaki

git i PowerShell oraz polskie znaki

Bardzo lubię PowerShella jako narzędzie do konsolowej obsługi systemu.

Jeżeli korzystasz z gita przez konsolę to musisz wiedzieć o posh-git. Jest to rozszerzenie do PowerShella pozwalające na dodatkowe wsparcie przy korzystaniu z gita.

Korzyści to:

  • Znak zachęty zostaje wyposażony o dodatkowe informacje

    posh_git_prompt

  • Komendy są uzupełniane przez wykorzystanie przycisku Tab

Do uproszczonej instalacji potrzebujemy Powershell w wersji 5 lub wyższej.

Czytaj resztę...
Czarna Skrzynka Przed Katastrofą Oprogramowania. Dla Testera Bądź Programisty.

Czarna skrzynka przed katastrofą oprogramowania. Dla testera bądź programisty.

Kamery samochodowe, znane po angielsku jako dashcam są wykorzystywane do ciągłego nagrywania obrazu, a także dźwięku. Umieszczane na przedniej szybie, aby w razie zdarzenia w ruchu drogowym udokumentować przebieg wydarzeń i pomóc ustalić winnego zaistniałej sytuacji.

W świecie IT, nie grozi nam czołówka z nim samochodem, ale co może być gorsze to „wysypywanie się” naszej aplikacji.

Często się zdarza, że taki wypadek przy pracy zdarza się przypadkowo i nie do końca wiemy jak do tego doszło.

Naszym software-owym dashcam-em jest OBS. OBS jest programem, który służy do streamowania pulpitu, programów, kamer internetowych do różnych serwisów internetowych takich jak Twitch lub YouTube. Program jest dostępny za darmo z strony producenta.

Czytaj resztę...
Nie Myj Mięsa I Nie Smaż Mokrego Mięsa

Nie myj mięsa i nie smaż mokrego mięsa

Pytanie: Czy myjesz mięso przed smażeniem/pieczeniem?

Odpowiedz: Możesz sobie zaszkodzić i tracisz czas.

Kto tak sądzi?

Dlaczego?

Czytaj resztę...
WiX Toolset – Jak Zmienić Nazwę Pliku Wyjściowego, Aby Zawierał Informacje O Wersji

WiX Toolset – Jak zmienić nazwę pliku wyjściowego, aby zawierał informacje o wersji

Powiedzmy, że mamy projekt który tworzy nam instalator. Fajnie.

Projekt tworzy nam plik uruchomieniowy o nazwie MyInstaller.exe. Dobrze.

Wysyłamy taki plik naszej koleżance z pracy. Super.

Piszemy nowe funkcje i naprawiamy istniejące błędy. Extra.

Tworzymy instalator zawierający nową wersję programu. Bosko.

Musimy ręcznie zmienić nazwę z MyInstaller.exe na coś w stylu MyInstaller.1.1.exe. Smutek.

Nie róbimy rzeczy, które może za nas komputer zrobić.

Jak to naprawić smutek?

Czytaj resztę...
Żeberka Wieprzowe – Prosty Przepis Na Piekarnik

Żeberka wieprzowe – prosty przepis na piekarnik

Przepis jest kompilacją kilku innych przepisów z internetu. Wielu rzeczy nie miałem w szafce, więc użyłem czegoś innego.

Inspiracje:

Żeberka

Przepis na 2 kg żeberek.

Wyciągnąć z lodówki i pozwolić się ogrzać do temperatury pokojowej. Ściągnąć błony.

Sucha marynata

  • 1 łyżka Kminek cały -> moździerz -> proszek
  • 1,5 łyżka papryka słodka
  • 1 łyżka czosnek granulowany
  • 2 łyżeczki papryki ostrek
  • 1 łyżeczka czarnego pieprzu
  • 1 łyżeczka białego pieprzu
  • 1 łyżka cukru
  • 1 łyżka soli
  • 1 łyżeczka ziele angielskie całe – > moździerz -> proszek
  • 1 łyżeczka kolendra – > moździerz -> proszek

Wymieszać wszystko. Natrzeć obie strony żeberek suchą marynatą. Zostawić żeberka w suchej marynacie na 1-4 godzin. Im dłużej tym lepiej. Nie wstawiać z powrotem do lodówki.

Czytaj resztę...
String Enums W TypeScript

String enums w TypeScript

Jak typ danych może wyrazić dokładnie 1000 słów? enum String.

String może zawierać wszystkie słowa świata. Kiedy chcemy ograniczyć się tylko do kilku w TypeScirpt mogliśmy wykorzystać union types

Teraz (od wersji 2.4 – która powinna się wyjść lada dzień) mamy do dyspozycji możliwość tworzenia typów wyliczeniowych, które jako wartość mogą przyjmować łańcuchy znaków.
Czytaj resztę...
WPF I MEF – Sterowanie Wyglądem Aplikacji W Zależności Od Posiadanych Zasobów.

WPF i MEF – sterowanie wyglądem aplikacji w zależności od posiadanych zasobów.

Jednym z fundamentów WPF’a są zasoby – Resources. Definiowane w ResourceDictionary czyli słowniku zasobów. Każdy element słownika posiada swój klucz, który używamy do pobrania zasobu „z bazy”.

Odwołanie do zasobu może odbyć się na dwa sposoby.

  • StaticResource – Wartość jest ustalona podczas załadowania XAML.
  • DynamicResource – Wartość jest ustalona w momencie, kiedy obiekt ma się pojawić.

To zachowanie DynamicResource możemy wykorzystać do wprowadzenia ciekawych rozwiązań.

Jeżeli DynamicResource odwołuje się do zasobu aplikacji, to może być on przykryty przez inny zasób o tej samej nazwie.

Jeżeli mamy kilku klientów, a każdy z nich chce innych kolorów w swojej aplikacji, możemy załatwić tą prośbę dołączając do binarek .dll z zasobami, które zmienią kolory w odpowiednich miejscach.

Przykładowa aplikacja ma na celu wyświetlać dwukolorową flagę.

polish_flag

Aplikacja zawiera swoje zasoby zdefiniowane w osobnej .DLL o nazwach MainResources (podstawowe zasoby aplikacji), ClientResources (zasoby zmienione na danego klienta).

Czytaj resztę...
Tymczasowe Sprawdzanie Typów W Kodzie JavaScript Dzięki Visual Studio Code Oraz TypeScript

Tymczasowe sprawdzanie typów w kodzie JavaScript dzięki Visual Studio Code oraz TypeScript

Programistyczny edytor Visual Studio Code, jest napisany w TypeScript, co więcej każda nowa wersja Visual Studio Code przychodzi razem z nową wersją kompilatora TypeScript. Tak się składa, że oba produkty Microsoftu są ze sobą dobrze powiązane.

Ostania aktualizacja Visual Studio Code w wersji 1.12 (kwiecień 2017), przychodzi z kompilatorem TypeScript 2.3. Ta wersja otrzymała możliwość sprawdzania typów w kodzie JavaScript poprzez przełącznik --checkJs.

Możesz sprawdzić poprawność typów w kodzie JavaScript tymczasowo. Jeżeli dodasz na początku pliku .js komentarz // @ts-check, wtedy kompilator TypeScript przejdzie po typach i podkreśli na czerwono błędy.

Czytaj resztę...
TypeScript 2.3 – Generatory

TypeScript 2.3 – Generatory

W TypeScript 2.3, który pojawi się w maju. Jedną z nowych możliwości, dostępnych w języku, będzie możliwość korzystania z generatorów.

TypeScript goni z zmianami w pojawiającymi się JavaScript. Jak TypeScript goni za zmianami to ja też muszę.

Generator to funkcja, która potrafi zwracać wiele wartości. Potrafi uwaga, uwaga generować je, na przykład na podstawie poprzednich wartości.

Klasycznie jak funkcja coś zwraca to funkcja razem z zwróconą wartością kończy swój żywot. W przypadku generatorów one giną, gdy:

  • Wykonywanie kodu dojdzie do klamry zamykającą funkcję
  • Generator wyrzuci wyjątek
  • Generator zostanie przerwany

Kod:

Czytaj resztę...
Back To Top