W poprzedniej części trochę poszaleliśmy z opcjami w npm install. Teraz skoncentrujmy się nad tym jak to można jeszcze bardziej zoptymalizować. Dla przypomnienia, chcemy zoptymalizować wykonywanie npm install na build server, lub w miejscach gdzie często to wykonujemy dla określonego projektu. Część 1 skończyła się na zapytaniu...
Strona głównaUżytkownik
rroszczyk | użytkownik
Temat prosty, jednak nie dla wszystkich jasny. Postanowiłem napisać ten post po tym gdy po zapytaniu się wielu osób: „czym różni się cel od zakresu?” usłyszałem losowy ciąg wyrazów zawierający głównie dwa wyrazy – „cel” i „zakres” ;) Rozumienie tych pojęć jest szczególnie istotne w projektach IT bez względu na to czy jesteś programistą, PM czy klientem. Dlaczego? Odpowiem w kolejnych linijkac...
Dzisiaj zacząłem pisać post o hierarchii aktorów. Jest to bardzo ważny element w celu osiągnięcia skalowalności i dobrej obsługi błędów (np. poprzez izolacje wadliwych aktorów). W połowie jednak stwierdziłem, że najpierw wypada napisać krótki wpis o zdarzeniach (hooks), jakie możemy zdefiniować w AKKA. Pozwoli nam to potem lepiej zrozumieć przepływ informacji w hierarchiach aktorów. Każdy aktor, może znajdować się w następujących etapach...
Programowanie rozproszone 3295 dni, 19 godzin, 20 minut temu 78 źrodło rozwiń
%PATH% – mój chyba ulubieniec. Czy on zawiera to co powinien? Czy dany katalog już jest? Lepiej dodajmy go, w razie co będzie podwójnie. Ktoś z was miał z nim problem? I tym naszym pięknym oknem edycji path? (...)
Zupełnie niedawno miałem okazję napisać dla jednego z moich klientów aplikację, która ze względu na potrzebę wykonania gigantycznej ilości zadań w możliwie jak najkrótszym odcinku czasu musiała korzystać z dostępnych w .NET mechanizmów przetwarzania równoległego. Postanowiłem do tego celu wykorzystać Task Parallel Library (w skrócie TPL), od niedawna oferowany dla programistów tej platformy. Mając w przeszłości spore doświadczenia z wykorzystaniem puli wątków uznałem, że ...
Sztuka programowania 3299 dni, 19 godzin, 55 minut temu 360 źrodło rozwiń
Tym razem zaczyna się od kodu i od razu dowiemy się dlaczego jest on niebezpieczny...
Programowanie rozproszone 3298 dni, 20 godzin, 14 minut temu 243 źrodło rozwiń
Wzorzec projektowy „fluent interface” (polski odpowiednik… płynny interfejs…?) przyjął się w środowisku .NETowym bardzo dobrze. I słusznie! „Płynna syntaktyka” znacznie poprawia czytelność pisanego kodu. Jednym z sztandarowych przykładów jej użycia są asercje w testach.
Co to jest npm już swojego czasu pisałem. Teraz pora jednak zagłębić się w sposób optymalizacji dość prozaicznego zapytania – npm install. Które jak wiadomo, jest odpowiedzialne za zainstalowanie wszystkich możliwych paczek zdefiniowanych w package.json we wszystkich jego sekcjach – depedencies, devDepedencies, peerDepedencies, optionalDependencies (takie które nie są wymagane by paczka działała)...
Jest to pierwszy wpis rozpoczynający serię ciekawych linków z branży IT publikowanych na moim blogu. Będę wrzucał najciekawsze pozycje z mniej sprecyzowaną częstotliwością (tzw od czasu do czasu :) ). Na pierwszy ogień pójdzie blog Gynvael Coldwind’a, który jest w moich RSS już ładnych kilka lat. Pozwoliłem sobie zrobić listę najciekawszych (imho) wpisów, które są kierowane do programistów.
Zanim będę kontynuował serię o AKKA.NET, warto zapoznać się z podstawami programowania reaktywnego. Pozwoli to później zrozumieć, w jaki sposób AKKA.NET implementuje założenia programowania reaktywnego. Dzisiaj zatem przedstawię tzw. “The Reactive Manifesto”, którego pełną treść można znaleźć tutaj. Moim zdaniem jednak, manifest może wydawać się trochę skomplikowany i dlatego zdecydowałem się wyjaśnić to po swojemu.
Programowanie rozproszone 3302 dni, 20 godzin, 11 minut temu 309 źrodło rozwiń
Sprawa komunikowania klienta w usłudze WCF pracującej jako RESTful może nie być proste na pierwszy rzut oka, jednak chwila googlingu i sprawa okazała się banalna. Jak skonfigurować usługę WCF żeby działała jak RESTful? Nasz interfejs, oraz usługa wygląda mniej więcej tak: Interfejs: [ServiceContract] public interface Iv1 { [OperationContract] [WebInvoke(Method = "GET", ResponseFormat = We...
Architektura 3314 dni, 11 godzin, 2 minuty temu 177 źrodło rozwiń
Opis metod HTTP, sposobów ich użycia i przykładów zastosowań
Sztuka programowania 3314 dni, 11 godzin, 2 minuty temu 217 źrodło rozwiń
W ostatnich dwóch wpisach pokazałem zasady działania modelu aktor. W kolejnych postach będę korzystał już z Akka.net zamiast pseudokodu. Dzisiaj czysty opis podstaw API – bez konkretnego problemu do rozwiązania. Akka.net można zainstalować w formie pakietu Nuget: Install-Package Akka
Programowanie rozproszone 3314 dni, 11 godzin, 2 minuty temu 289 źrodło rozwiń
Szukanie lokalizacji danej biblioteki może być skomplikowane. W zależności od skonfigurowanego binding’u, inne foldery są przeszukiwanie. Problem stanowi druga część – “or one of its dependencies’. Wyjątek nie zawsze powie nam, której biblioteki brakuje nam. Jeszcze większe problemy natrafimy, gdy użyjemy natywnej referencji.Ostatnio miałem problemy z pewnym kodem i użyłem programu Process Monitor. Aplikacja może nie jest zbyt intuicyjna, ale pozwala w dość szybki sposób prześledzić wszystkie wiązania i ...
Sztuka programowania 3314 dni, 11 godzin, 2 minuty temu 174 źrodło rozwiń
Dwa tygodnie temu popełniłem wpis na temat lokalnych notyfikacji, które z powodzeniem bez większych przeszkód można użyć w każdej aplikacji uniwersalnej. Dziś chciałbym pozostać w temacie notyfikacji, aczkolwiek tym razem podejdziemy do sprawy trochę bardziej globalnie - zajmiemy się tzw. notyfikacjami push.
Mobile development 3314 dni, 11 godzin, 2 minuty temu 68 źrodło rozwiń
W ostatnim wpisie przedstawiłem zasadę działania modelu aktor. Zachęcam do przeczytania poprzedniego wpisu ponieważ dzisiaj skupię się na przykładzie, a nie podstawach teoretycznych. Jeśli poprzedni wpis nie był do końca zrozumiały, zachęcam do przeanalizowania przykładu z tego wpisu i potem powrócenia do poprzedniego postu – wtedy myślę, że wiele zagadnień będzie prostsze w zrozumieniu.
Programowanie rozproszone 3315 dni, 18 godzin, 37 minut temu 189 źrodło rozwiń
Aktor jest modelem budowania aplikacji wielowątkowych. Powstał w celu ułatwienia synchronizacji między różnymi wątkami. Programiści piszący aplikacje wielowątkowe zwykle korzystają z klasycznych blokad (lock) w celu opisania sekcji krytycznej. W wielu sytuacjach jest to najlepszy i najprostszy sposób. Niestety dla dużych i skomplikowanych systemów, utrzymywanie takiego kodu jest bardzo trudne, mozolne i niezwykłe podatne na powstanie deadlock lub livelock.
Programowanie rozproszone 3319 dni, 19 godzin, 27 minut temu 302 źrodło rozwiń
W tym wpisie poruszę temat umiejętności miękkich u developerów. Według mnie ten aspekt jest często zaniedbywany w rozwoju kariery, a bez niego nie można określić się kompletnym programistą. Opiszę 6 wybranych cech, które definiują „dobrego” developera. Nie było prosto ubrać w słowa cechy, które miałem w głowie – więc jako nazwy nagłówków dałem wspólny mianownik moich myśli, które szerzej opisałem w akapitach.
Coraz więcej API dostarcza asynchroniczne wersje metod. Niektóre z nich, idą o krok dalej i w ogóle nie posiadają synchronicznej wersji. Załóżmy, że zewnętrzna biblioteka ma następującą metodę: async Task
Programowanie rozproszone 3322 dni, 16 godzin, 29 minut temu 316 źrodło rozwiń
Jako programista doświadczyłem w swojej karierze zawodowej różnych sytuacji. Na pewno w pozytywny sposób mogę opisać pracę z analitykami – zwłaszcza z tymi, którzy nie mają żadnego doświadczenia w programowaniu. To osoby, które są w stanie przygotować proces biznesowy solidnie, bez zbędnej ingerencji w elementy związane z programowaniem i architekturą. aplikacji. Bez większego problemu są w stanie uzgodnić z zespołem programistycznym elementy które mogą zostać wykonane łatwiej, albo zmienić proces biznes...
Sztuka programowania 3326 dni, 19 godzin, 37 minut temu 536 źrodło rozwiń