W ostatnim wpisie wspomniałem, że Web.Config został usunięty i zastąpiony project.json. Pokazałem, jak dodać referencje czy skonfigurować wersję framework’a. Web.Config jednak zawierał jeszcze jedną ważną sekcję – AppSettings. ASP.NET 5 wspiera różne typy plików konfiguracyjnych – JSON, INI oraz XML. Możemy wszystkie je dodać jednocześnie do solucji i nie spowoduje to konfliktów. Nie jesteśmy ograniczeni tylko do jednego typu czy pojedynczego pliku konfiguracyjnego. Dla testów, dodajmy 3 pliki, każdy w...
Strona głównaUżytkownik
Paweł Łukasik | użytkownik
W architekturze WinRT możemy korzystać z dwóch bardzo przyjemnych kontrolek do prezentacji danych - ListView oraz GridView. Obie te kontrolki mają duże możliwości konfiguracyjne, posiadają sporo zdarzeń i można je również fajnie ostylować. Jednym słowem jest naprawdę dobrze;-) Naszą piękną, idealistyczną sielankę może jednak w łatwy sposób zakłócić, pewien dość prozaiczny problem, który nazywa się nadmiar danych. Tego rodzaju sytuacja zasadniczo nie ma żadnych pozytywów. Nasza aplikacja pochłonie duże il...
Sztuka programowania 3464 dni, 19 godzin, 45 minut temu 168 źrodło rozwiń
Siedemnasty odcinek wypada w Dzień Dziecka! I to kilka raptem dni po premierze nowego Wiedźmina! O czym więc dzisiaj będzie? No o grach, oczywiście :). Moim i Waszym Gościem jest Przemek Czatrowski, który przez ostatnie lata pracował jako programista nad Wiedźminem właśnie. Oprócz tego lubi piwo i pisze o tym na blogu Prosto z Pokala. Lubi też podróże i o tym też pisze, razem z żoną, na blogu TroPiMy. Zachęcam do zajrzenia. Znajdziecie go również na Twitterze: @cz0per. Tematem naszej rozmowy jest praca...
W poprzednim wpisie zajęliśmy się testowaniem routingu w WebAPI. Napisany kod był dość brzydki i warto go po prostu umieścić w osobnej klasie, tak abyśmy mogli z niego korzystać w różnych testach. Zaznaczam, że wciąż nie jest to kod produkcyjny. Zdecydowanie nie będzie pokrywał wszystkich scenariuszy, dlatego odradzam umieszczenie go w swoim wewnętrznym repozytorium NuGet. Z drugiej jednak strony, nic nie szkodzi na przeszkodzie, aby korzystać z niego konkretnym projekcie i w razie potrzeby naprawić j...
Przemysław Walkowski Co ma wpływ na skuteczność naszego programowania na co dzień? Jest sporo czynników – wiedza, umiejętności techniczne, doświadczenie, motywacja, zaangażowanie, chęć do uczenia się. Innym ważnym czynnikiem jest organizacja pracy. W tym poście chce pokazać 7 przydatnych nawyków pracy, które osobiście stosuje, każdego dnia. Do niektórych można stosować narzędzia jednak większość to po prostu zmiana sposobu myślenia.
Szesnasty odcinek to “meta-dev talk” :). Paweł Zdziech, rekruter od X lat, dzieli się swoimi spostrzeżeniami odnośnie zawodu programisty i naszej dev-kariery. Po przesłuchaniu odcinka zachęcam odwiedzić blog Pawła: http://rekrutacyjny.blogspot.com gdzie… jeszcze więcej na ten temat! A w odcinku usłyszycie odpowiedzi na pytania takie jak… Czy programiści to primadonny? Czy rynek kiedyś nasyci się programistami? Jak ubrać się na rozmowę kwalifikacyjną? Jak napisać CV? Czy warto iść na studia? Jak częste z...
Wraz z pojawieniem się Roslyn, powstaje wiele interesujących narzędzi. Jednym z nich jest Alive, zachęcam do obejrzenia tego video: https://youtu.be/YipNsoTapho W skrócie – pozwala wykonywać kod w tle, co oznacza, że wiele błędów będziemy w stanie wykrywać na etapie design a nie runtime. Bardzo przypomina nCrunch, ale jeszcze bardziej usprawnia ten proces…
Wiadomo, że każdy projekcie są testy. W części z nich są testy jednostkowe, w innych są testy integracyjne, w innych testy programistyczne - programista klika i jak działa to działa, a w jeszcze innych test na produkcji u klienta razem z milionami użytkowników. Generalnie każdy jakieś test ma. Wiadomo jak jest w projektach komercyjnych, klient chce aplikację działająca, wykonaną z najnowszymi i najlepszymi technikami, najlepiej napisaną przez juniorów, bez testerów i PM...
Sztuka programowania 3525 dni, 8 godzin, 10 minut temu 284 źrodło rozwiń
Od jakiegoś czasu, sporo się piszę o horrendalnych stawkach jakie można zarobić w branży IT oraz o ogólnym zepsuciu tego sektora. Niektórzy mówią, że wystarczy pomachać odrobinę większą gotówką przed programistą, by ten z ochotą porzucił swojego obecnego pracodawcę. W moim odczuciu jest to wielkie generalizowanie, ponieważ ludzie łasi na gotówkę są w każdej branży i nie można powiedzieć, że IT pod tym względem wyróżnia się jakoś na plus czy na minus. Dlatego też również w tym sektorze znajdziemy tzw. sko...
Koncentracja to życie. No może nie aż tyle, ale w naszym programistycznym światku wiele zależy od naszego stanu skupienia. Niestety czasem nawet długie godziny (poniedziałek rano ;)) może nam zająć wejście w tryb efektywnej pracy (tzw. flow) a tymczasem tylko jedna sekunda rozproszenia np. powiadomienie o mega ważnym mailu od kolegi z tytułem śliczne kotki potrafi ten mozolnie budowany stan zniszczyć. Co zatem robić aby flow osiągać szybciej i częściej? Dla mnie jednym z takich elementów jest odpowiedni...
Ale o czym dzisiaj, dzisiaj o obcisłości po angielsku w programowaniu. Słowo tight będzie jednym z bohaterów wpisu. A nawet tight coupling, czyli coś mocno wiążącego. Co tak mocno wiąże w programowaniu? Moim zdanie new jest temu winny. Wiąże bowiem ono ze sobą klienta, klasę którą korzysta z new aby zaspokoić swoje potrzeby, oraz dostarczyciela usługi, czyli klasę, która jest w stanie zaspokoić tę (tą) potrzebę.
Sztuka programowania 3546 dni, 20 godzin, 54 minuty temu 545 źrodło rozwiń
Przemysław Walkowski Kontynuując temat bezpieczeństwa, chce zająć się tematem certyfikatów ich tworzeniem i obsługą. Omówię co to jest PKI, CA, X.509. To o czym nie wspomniałem w ostatnim poście a może przydać się w tym poście to wiedza o tym, że algorytm asymetryczny z kluczem publicznym i prywatnym ma możliwość szyfrowania danych przy pomocy klucza publicznego jak i prywatnego. Gdy zaszyfrujemy dane kluczem prywatnym, będziemy mieć możliwość...
Sztuka programowania 3541 dni, 10 godzin, 23 minuty temu 447 źrodło rozwiń
Programując internety gdy wysyła się jakieś żądanie na serwer nie można założyć, że poleceni się po prostu wykona. Operacja void nie istnieje. Tzn można, ale to zła praktyka, można przecież wysłać żądanie i nie sprawdzić czy w ogóle doszło ono na serwer. Ale nie o to chodzi, mój przypadek polegał na tym, że wysyłać na serwer żądanie i chciałem tylko sprawdzić czy serwer to dostał czy nie. W moim przypadku wynik w ogóle nie był ważny. Naiwnie pomyślałem sobie, że wystarczy zwrócić (oczywiście w .net asp m...
Przemysław Walkowski Parę linijek kodu, proste pytanie co ten kod robi lub gdzie jest błąd. Nazywam to zagadkami. Czasem nawet 5 lat doświadczenie nie wystarczy aby odpowiedzieć prawidłowo na tego typu pytania. Poniżej lista paru zagadek, które zebrałem w jednym miejscu. Osobiście zawsze gdy idę na rozmowę o pracę mam ze sobą swoją zagadkę, w razie gdybym nie odpowiedział na którąś zadaną mi przez rekrutera. Robię to po to aby pokazać, że zagad...
Sztuka programowania 3586 dni, 7 godzin, 9 minut temu 1418 źrodło rozwiń
Definicja testów jednostkowych nie jest jednoznaczna i moim zdaniem zmieniała się przez lata. Jednostkę (“unit”) można w różny sposób interpretować. Wiele programistów uważa, że należy testować wyłącznie poszczególne klasy. Dobrą stroną takiego podejścia jest fakt, że jak test zakończy się niepowodzeniem, wtedy od razu wiadomo gdzie szukać przyczyny. Przy dobrym zestawie testów, debugger przestaje być potrzebny. Osobiście preferuje zupełnie inne podejście. W aplikacjach biznesowych, moim zdaniem aż t...
Sztuka programowania 3594 dni, 19 godzin, 24 minuty temu 263 źrodło rozwiń
Od jakiegoś czasu pracuje za prawdziwe złoto jako sieciowy programista, dawno nikt nie wymagał aby po przekierowaniu wrócić do jakiegoś specyficznego kawałka strony. Zawsze kończyło się przekierowaniem do pełnej. Zapomniałem już o takiej funkcjonalność, no prawie zapomniałem. Otóż klepiąc sobie coś tam w domu, chciałem po zrobieniu POSTa wrócić gdzieś na dół strony, akcja nie korzysta ze zdobyczy technologi jaką jest AJAX, więc strona się przeładowywuje. Pozostało mi tylko skorzystanie z elementu html, k...
Zapewne wiele z was ma w tej chwili poważny problem z miejscem na dysku. Pomimo ciągle rosnących pojemności nośników talerzowych, a także ich nowszego substytutu – SSD nadal nie trudno napotkać komunikat o braku miejsca. Zawsze jednak, nawet w najtańszym laptopie da się zw...
Czasami potrzeba nam prostego narzędzia, które będzie wykonywało jakieś zadania w określonych ramach czasowych. Można użyć prostego Timera z .NET Framework, ale ma on dość ograniczone możliwości. Na przykład, stan zadań nie może być zapisany w bazie danych. Dla bardzo zaawansowanych rozwiązań, zwykle mamy inną architekturę, na przykład opartą na kolejkach. W takich sytuacjach, zwykle poszczególne technologie posiadają swoje mechanizmy, tak jak nServiceBus o który już wiele razy pisałem. Dzisiaj jednak c...
Zakupiłem do CloudExperta (www.cloudexpert.pl) MACa Mini, który ma w firmie służyć jako komputer do kompilowania aplikacji napisanych dla systemów iOS. Ostatnimi czasy tworzymy sporo aplikacji w HTML5/Cordova właśnie dla iOS i z racji braku potrzeby kupowania MACów dla każdego pracownika cały proces przebiega dobrze aż do momentu kiedy trzeba stworzyć paczkę dla sklepu AppStore.
Kiedyś na blogu wyjaśniłem jak działa readonly, gdy jest wywoływany po za konstruktorem. Posłużyłem się następującym przykładem.