Wiemy już jak zoptymalizować samą instalację paczek npm, jak także przyspieszyć instalację z wykorzystaniem archiwizacji node_modules. Teraz skoncentrujemy się na optymalizacji instalacji bez konieczności posiadania szybkiego dysku twardego! W tym celu trzeba się zastanowić co można by byłoby zrobić by tak naprawdę te paczki zawsze były zainstalowane nie...
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...
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)...
Jeżeli zachodzi potrzeba żeby w naszej aplikacji chcemy mieć razorowe widoki, standardowa konfiguracja nie daje nam intelisense. Powoduje to, że czas stworzenia widoku znacznie się wydłuża, bo visual krzyczy nam błędami co chwilę i podkreśla wszystko na czerwono. Jest jednej sposób który pozwala załatwić sprawę...
This is the first one of two posts concerning approach to build cost effective, but prepared for scaling systems, using ASP.NET Web API and Azure. In the era of building systems that aim to provide services at global scale, requirements for scalability and high availability are becoming our bread and butter. What is more, it is absolutely normal that stakeholders want first shippable version of software as soon as possible.
Architektura 3360 dni, 2 godziny, 37 minut temu 170 źrodło rozwiń
Kilka postów wcześniej pisałem o JSONP, jako sposobie na wywoływanie serwisów znajdujących się w innych domenach z poziomu JavaScript. Domyślnie przeglądarki blokują takie wywołania ze względu na bezpieczeństwo. Załóżmy, że mamy następujący serwis w jakiejś domenie...
O nowościach w MVC 6.0 pisałem już np. tutaj (...) Moim zdaniem, największe zmiany jednak mają miejsce w infrastrukturze i architekturze wewnętrznej ASP.NET. Jedną z tych zmian jest plik project.json, który definiuje wszelkie referencje w projekcie. Tworząc nowy projekt, project.json będzie wyglądać następująco...
W poprzednim wpisie pokazałem jak korzystać z JSONP w JQuery. Wiemy, że usługa musi rozpoznawać parametr callback i zwrócić treść w odpowiedniej formie tzn. “callback(dane)”. Załóżmy, że mamy następujący kontroler...
Programowanie rozproszone 3440 dni, 17 godzin, 25 minut temu 115 źrodło rozwiń
Web essentials jest zestawem narzędzi usprawniającym pracę z aplikacjami webowymi. Wersję 2013 można ściągnąć z stąd: https://visualstudiogallery.msdn.microsoft.com/56633663-6799-41d7-9df7-0f2a504ca361 Po zainstalowaniu pakietu i odpaleniu aplikacji z Visual Studio, w przeglądarce na samym dole zobaczymy nowy pasek: Zacznijmy od “inspekcji”. Naciskając na przycisk Inspect, możemy zaznaczyć dowolny fragment strony: Na powyższym screenie zaznaczyłem tekst. Przechodząc teraz do Visual Studio, zost...
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...
The ETag or Entity Tag is a part of HTTP protocol used for caching purposes. In the simplest way ETags are strings that help browser to identify and validate cache. Like almost everything the ETags can be inefficient while configured incorrectly. So let's have a closer look at them..
Jakiś czas temu, pisałem o Swagger, jako sposobie na dokumentacje REST API. Dzisiaj chciałbym pokazać kolejny mechanizm na generowanie dokumentacji, tym razem napisany przez Microsoft i dostępny od razu w ASP.NET. Od kilku lat jest on już dostępny bez żadnych dodatkowych instalacji. Jeśli uruchomimy przykładową aplikację WebAPI, zobaczymy w prawym górnym rogu link do API:
Sztuka programowania 3499 dni, 15 godzin, 17 minut temu 206 źrodło rozwiń
ASP.NET MVC 6 supports both regular controllers (inheriting from Controller base type) and POCO controllers. Let’s have a look at how the discovery of them happens in ASP.NET MVC 6. Note that the code and mechanisms discussed in this article were introduced after ASP.NET 5 beta3 was released, so it is not yet available if you use the version of ASP.NET 5 bundled with Visual Studio 2015 CTP6.
Architektura 3507 dni, 13 godzin, 31 minut temu 185 źrodło rozwiń
Microsoft is a massive software corporation, and like all other corporations, they’re in business to make money. Duh, right? Unfortunately, this is probably the #1 reason for all the ASP.NET hate: it’s a Microsoft technology, and the “evil” taint still lingers over the giant in many people’s minds. I’ve always found this interesting because the other major technology companies, such as Google and Apple, are just as “evil” as Microsoft, but the zealots fans of those other companies typically turn a blind ...
Architektura 3524 dni, 18 godzin, 6 minut temu 301 źrodło rozwiń
Czasami musimy połączyć kilka dokumentów PDF w jeden. W moim przypadku polegało to na stworzeniu jednego dokumentu pdf z kilku dokumentów wgranych na serwer przez użytkownika, oraz dołączeniu pliku z podpisem na początku lub końcu dokumentu w zależności od konfiguracji.
Jak wiemy Microsoft powołał projekt udostępnienia kodu źródłowego .NET-a. O czym można poczytać na tym blogu .NET. Są tam opisane szczegóły dotyczące motywów działania, jak i planów na przyszłość, które są obiecujące. Zachęcam do przeglądania tego udostępnionego kodu i nauki programowania poprzez podpatrywanie rozwiązań stosowanych przez kolegów z zespołu tworzącego .NET. Osobiście od jakiegoś czasu używam poniższych stron do badan...
Dzisiejszy wpis będzie dotyczył oczywistej oczywistości. Ale czy na pewno? Zostałem kiedyś zapytany na jednej z pierwszych rozmów o pracę, żeby wymienić jak najwięcej zdarzeń związanych z cyklem życia strony. Pierwszymi (i niestety jedynymi)...
Architektura 3715 dni, 19 godzin, 13 minut temu 920 źrodło rozwiń
Zapewne większość z Was miała do czynienia z aplikacjami pisanymi przy wykorzystaniu ASP.NET MVC. Zapewne pracowaliście nad jakimś projektem, im bliżej końca, tym co raz częściej wkradają się błędy, aplikacja jest na tyle duża, że łatwo wstawić przez przypadek do widoku jakieś duperele, jest mnóstwo resource’ów, które bardzo ciężko ogarnąć, mapowanie view-model to jakiś koszmar. Brzmi źle? Wcale nie musi tak być. Oto kilka porad (subiektywnych), w jaki sposób możemy uniknąć bałaganu:
Sztuka programowania 3915 dni, 19 godzin, 15 minut temu 406 źrodło rozwiń
Uruchomienie aplikacji .NET może być procesem powolnym. Związanie jest to oczywiście z potrzebą skompilowania kodu do postaci maszynowej. W przeciwieństwie do np. C++, w plikach jest przechowywany kod tymczasowy. W większości przypadków nie jest to problemem, ale dla naprawdę dużych aplikacji może być to odczuwalne. Szczególnie ma to znaczenie dla ASP.NET, gdzie zależy nam jak na najkrótszym opóźnieniu. Jednym ze sposobów jest użycie nGen, który wygeneruje kod maszynowy. Ma to taką wadę, że trzeba wywoł...
Witajcie w Coding News – serii screencastów, w której omawiam najciekawsze wydarzenia i znaleziska minionego tygodnia.