Przemysław Walkowski. Jakiś czas temu dowiedziałem się, że można tworzyć pluginy do Notepad++ w C#. Chwila konfiguracji, trochę pomyślunku i pierwszy plugin gotowy. Poniżej dokumentacja i kody do mojego pomysłu na szybki dostęp do logów na różnych środowiskach. Dodatkowo przedstawiłem co należy zrobić aby stworzyć własny plugin do NotePad++ Notepad++ jest całkiem przyjemnym narzędziem programisty. Przez większość czasu podczas...
Strona głównaUżytkownik
manio143 | użytkownik
Trochę o moim nowym projekcie SportTacticsBoard (C#), motywacji oraz o importowaniu projektu z SVN do Git i jaka jest sytuacja z licencją...
Dziś temat iście akademicki, który może wydawać się banalny. Zauważyłem jednak, że programiści dyskutując o współbieżności często używają wymiennie terminu równoległości. Czy wobec tego są to pojęcia tożsame? Nie do końca. Oba te „twory” radzą sobie dobrze razem, jak i oddzielnie. Żeby jednak tematyka nie zrobiła się nazbyt poważna (tym samym niezrozumiała), omówmy przykład, który mam nadzieję trochę nam wszystkim rozjaśni w głowach. Wyobraźmy sobie, że naszym zadaniem jest zorganizowanie turnieju szacho...
Sztuka programowania 3080 dni, 23 godziny, 51 minut temu 271 źrodło rozwiń
Ta kwestia od jakiegoś czasu zdaje się dzielić programistów niemalże tak mocno jak podział ...
Sztuka programowania 3084 dni, 23 godziny, 30 minut temu 161 źrodło rozwiń
Koncepcja przelewu samgo w sobie – czy to bankowego, czy w sieci Bitcoin – wydaje się być nieskomplikowana. Mamy nadawcę, odbiorcę, kwotę przelewu i w sumie na tym możnaby zakończyć opis procesu transakcji. Jednak po spodem dzieje się dużo ciekawych rzeczy, które mają na celu zapewnienie jej poprawności. Zobaczmy jak to wygląda z perspektywy protokołu Bitcoina :)
Wśród narzędzi do hostowania własnego repozytorium przodują GitLab i Go Git Service. Ostatnio opisałem jak działa Docker, a w tym poście dowiesz się jak zainstalować gogs za pomocą kontenerów.
Postanowiłem wdrożyć Go Git Service. Gogs ma kilka metod instalacji, a jedna z nich to użycie kontenerów Dockera. Od pewnego czasu słyszałem o tej technologii, ale nie wiedziałem jak działa, ani do czego dokładnie służy. Teraz kiedy udało mi się opanować ją w wystarczającym stopniu, stwierdziłem, że podzielę się nową wiedzą.
Maj dobiega końca, a wraz z nim kończy się Daj Się Poznać. Ten konkurs wniósł bardzo dużo do mojego życia, przede wszystkim zacząłem regularnie prowadzić bloga. Była to też okazja do poznania wielu osób z polskiej informatycznej blogosfery oraz innych uczestników konkursu. No i ja sam dałem się poznać.
Daj się poznać 2016 3094 dni, 15 godzin, 31 minut temu 109 źrodło rozwiń
Czasem warto przeglądać kod innych, podobnych projektów. W moim przypadku przyglądam się LibreOffice, MonoDevelop i RoslynPad.
Daj się poznać 2016 3091 dni, 20 godzin, 11 minut temu 136 źrodło rozwiń
Już od jakiegoś czasu miałem oko na spróbowanie F#. Połączenie szybkiego programowania funkcyjnego wraz z potężną biblioteką .NET brzmi bardzo fajnie i takie jest w rzeczywistości. Zobaczyłem, że NUnit ma w swoich przykładach projekt w F#, więc postanowiłem przepisać moje obecne testy na F#. Nie przewidziałem jednak trudności wynikających z nieznajomości tego języka…
Daj się poznać 2016 3100 dni, 4 godziny, 29 minut temu 57 źrodło rozwiń
Dotychczas nie pisałem testów (jakoś kod testowałem ręcznie) i odkrywam jak bardzo są pożyteczne. Po pierwsze i najważniejsze, umożliwiają wykrycie błędów w implementacji klas zanim zaczniemy ich używać. Tworząc nowy projekt testów w Visual Studio dostajemy MSTest, który nie działa pod Linuxem. W związku z tym sięgnąłem po NUnit.
Daj się poznać 2016 3103 dni, 4 godziny, 2 minuty temu 164 źrodło rozwiń
99% procent cieszy tylko przez pierwsze 5 minut – tak słyszałem. Kto z nas nie posiada jakiegoś miernika w tray, czy gdzieś na pulpicie na którym widać ile CPU, jaka temperatura, jaki ram i ile prądu – mój ulubiony to proces monitor. Glimpse Fajnie że jest Glimpse który może zrobic to samo z moja aplikacją asp mvc – no prawie to samo. Aby to zainstalować należy udać się do zarządzania paczkami i wpisać glimpse: Klik-klik i instalacja zakończona. Aby nie marnować czasu od razu p...
Daj się poznać 2016 3107 dni, 1 godzinę, 44 minuty temu 351 źrodło rozwiń
Pewnie podczas nauki programowania zastanawialiście się, jak to jest, że niektórzy piszą dobry kod, a innym wcale to nie wychodzi. A może nawet nie wiedzieliście do końca, czym jest dobry kod. A więc jak jest z tym tak naprawdę? Pisz dużo Po pierwsze: żeby pisać dobry kod, trzeba najpierw pisać kod. To stwierdzenie może wydać się mało śmiesznym żartem, ale wcale nim nie jest – najprostsze rozwiązania czasem są najlepsze. Żeby wyrobić w sobie umiejętności pro-kodera, trzeba ćwiczyć. I to całkiem sporo ć...
Sztuka programowania 3102 dni, 3 godziny, 34 minuty temu 405 źrodło rozwiń
Jest wiele sposobów na znajdowanie błędów w aplikacji: dowody matematyczne, testy jednostkowe, ręczne testowanie i debugowanie. Niestety debugowanie może być bardzo czasochłonne jeśli nie wiemy, w którym miejscu znajduje się problem. Tworzenie logów może nam pomóc zlokalizować ten problem.
Daj się poznać 2016 3107 dni, 1 godzinę, 44 minuty temu 171 źrodło rozwiń
Piszemy kod, commitujemy, pushujemy. I jesteśmy potem zajęci, zapominamy o kodzie. W tym czasie ktoś stwierdza, że ściągnie sobie nasze repo. Więc klonuje, pobiera paczki, odpala build i … nie działa. Powyższe spowodowane jest tym, że programista nie zawsze pamięta by skompilować, uruchomić, przetestować kod po wprowadzeniu zmian. Powinien pamiętać, ale zdarza się, trudno. To jest jeden ze scenariuszy gdzie CI, czyli Continuous Integration, może pomóc...
Daj się poznać 2016 3107 dni, 1 godzinę, 44 minuty temu 234 źrodło rozwiń
Jakiś czas temu pisałem o DI i IoC oraz o tym, że będę używał kontenera do automatycznego ładowania wielu modułów podczas startu aplikacji. Początkowo zrobiłem metodę ContainerWrapper.AutoRegister(), która iterowała po wszystkich bibliotekach związanych z SharpOfficem i rejestrowała odpowiednie klasy. Ale było to dość zagmatwane, więc postanowiłem trochę to uprzątnąć...
Daj się poznać 2016 3118 dni, 57 minut temu 85 źrodło rozwiń
Object-Relational Mapping (w skrócie ORM) powstał, aby pogodzić dwa niekompatybilne ze sobą światy: obiektowy oraz relacyjny. Dzięki zastosowaniu ORM-ów programiści nie muszą martwić się ręcznym tworzeniem połączeń do bazy danych czy chociażby pisaniem klasycznych zapytań SQL. Wszystko co musimy zrobić to pobrać framework i dokonać prostej konfiguracji. Niestety jak to zwykle w życiu bywa, każdy kij ma dwa końce. I o ile ORM-y powstały, aby ułatwić pracę każdemu z nas, o tyle brak zrozumienia jak one dzi...
Bazy danych i XML 3119 dni, 22 godziny, 39 minut temu 479 źrodło rozwiń
Większość ludzi których znam, nie lubi regexa. Wolą żmudnie wpisywać string.IndexOf niż nauczyć się przepotężnego narzędzia. Z tymi indexOf to w ogóle kupa problemów jest. Ostatnio okazało się, że jak delikatnie zmieni się struktura HTML’a to IndexOf przestaje działać. Ja, czuły na to, poniżej chciałbym pokazać jak rozwiązaliśmy pewien problem i użyć “power of regex”.
Sztuka programowania 3122 dni, 2 godziny, 16 minut temu 144 źrodło rozwiń
Dlaczego podejście drugie? Ponieważ już raz pisałem o generowaniu Menu, ale trochę w inny sposób i w innym środowisku. Wtedy po prostu tworzyłem obiekty Xwt.MenuItem. Teraz zmieniłem podejście. Interfejs IMenuElement określa minimalny wspólny interfejs obiektów menu w dowolnym frameworku jakiego będę używał. I na podstawie definicji menu złożenej z obiektów IMenuElement będę generował odpowiednią strukturę obiektów.
Daj się poznać 2016 3118 dni, 22 godziny, 11 minut temu 81 źrodło rozwiń
O tym jak wygląda metoda Main() w aplikacji WPF oraz jak można dodać swoją własną, aby program się uruchamiał.
Daj się poznać 2016 3121 dni, 4 godziny, 39 minut temu 115 źrodło rozwiń