Browsed by
Month: March 2016

Mocking EntityFramework context – Code First

Mocking EntityFramework context – Code First

When I first try to write test for class that use directly, I found that I can’t mock database context directly using for example Moq library. That’s because this class properties isn’t virtual. After some research I found that EF6 could be set up to enable mocking [1,2]. However that is not quite what I need. I had some specific requirements:

1. I want to trace operations into database tables
2. It must work for Code First EF6 configuration
3. It should be generic solution for each database table

OWASP AppSensor .NET – architektura

OWASP AppSensor .NET – architektura

Po dokładnym opisaniu mechanizmu czas na przedstawienie planowanej architektury implementowanego przeze mnie rozwiązania. Warto też zdefiniować cel projektu oraz zestaw kroków, które zawiodą mnie do jego wykonania.

Zacznijmy więc od zdefiniowania funkcjonalności, które chcemy osiągnąć w projekcie. Oczywiście można założyć, że docelowo chcielibyśmy zaimplementować spójny mechanizm OWASP AppSensor w pełnym jego zakresie, z implementacją wszystkich zdefiniowanych punktów detekcji i integracji z innymi systemami. Jednak z doświadczenia wiem już, że ten sposób określania wymagań nie jest dobry, bo dość słabo motywuje do pracy i do skończenia projektu. Zamiast tego zdefiniujemy MVP naszego projektu.

AppVeyor – Continues Integration for .NET/JavaScript – configuration

AppVeyor – Continues Integration for .NET/JavaScript – configuration

Some time ago I have been looking for some Continuous Integration engine for my Open Source project hosted on GitHub. I found a list of popular services https://github.com/ligurio/Continuous-Integration-services/blob/master/continuous-integration-services-list.md. My general requirement was support to JavaScript and .NET projects. Moreover it should be possible to run tests within this engine. I want to ensure the quality of my projects and I want to be able to detect failing test as quickly as possible after each commit. Also it would be nice to have a method to run deployment directly from this service.

Aktywne zabezpieczenie aplikacji webowej – AppSensor

Aktywne zabezpieczenie aplikacji webowej – AppSensor

W poprzednim poście opisałem, czym jest mechanizm AppSensor. Chciałbym teraz przedstawić dokładniej jego sposób działania i w jaki sposób pozwala na zabezpieczenie aplikacji webowej.

Znacznie szybsze debugowanie JS w VS Code

Znacznie szybsze debugowanie JS w VS Code

Ostatnio odkryłem nową funkcjonalność środowiska Visual Studio Code. Używając wtyczki VS Code – Debugger for Chrome można umożliwić debugowanie JS. Kod aplikacji uruchomiony w przeglądarce może być śledzony w edytorze. Visual Studio Code zawiera kilka wbudowanych debuggerów w tym np. dla Node.js. Aby doinstalować powyższy dodatek wystarczy nacisnąć F1 a następnie install extension. Gdy z otwartej listy wybierzemy pozycję Debugger for Chrome, będziemy mogli już przystąpić do konfiguracji naszego rozszerzenia. Konfiguracja Podstawową kwestią jest zmiana konfiguracji Chrome, aby upewnić się,…

Read More Read More

OWASP AppSensor – opis mechanizmu

OWASP AppSensor – opis mechanizmu

Źródło OWASP OWASP (Open Web Application Security Project) jest to organizacja non-profit mająca na celu analizę zagadnień związanych z bezpieczeństwem aplikacji i opracowywanie rozwiązań, które byłyby użyteczne zarówno dla organizacji jak i dla pojedynczych twórców oprogramowania. Organizacja ta działa otwarcie, a wszystkie materiały są darmowe i ogólnodostępne. Nie jest ona także związna z żadnym dostawcą oprogramowania i pozwala na niezależność w tym zakresie. Jej główną siłą napędową jest społeczność ludzi zainteresowanych tematem bezpieczeństwa. Tworzą oni narzędzia wspomagające zabezpieczanie i testowanie…

Read More Read More

Konfiguracja TypeScript – kompilacja

Konfiguracja TypeScript – kompilacja

Co to jest TypeScript? TypeScript to język, który jest nakładką na JavaScript. Udostępnia on silne typowanie dla tego dynamicznego języka. Dodatkowo wprowadza on klasy, moduły i interfejsy, które pomagają w organizacji kodu aplikacji. Jest to szczególnie użyteczne w dużych projektach z wydzielonymi wieloma częściami aplikacji. Dzięki użyciu mechanizmów obiektowych możemy porządkować kod, a dzięki silnemu typowaniu każdy błąd składniowy zostanie wykryty już podczas kompilacji lub, w niektórych edytorach, nawet podczas pisania. Dobra konfiguracja TypeScript pozwoli nam w dużej mierze zautomatyzować…

Read More Read More

Najtańszy hosting dla projektów webowych – GitHub Pages

Najtańszy hosting dla projektów webowych – GitHub Pages

Ostatnio dość długo poszukiwałem dobrego miejsca do uruchamiania moich drobnych projektów. Myślałem o różnego rodzaju hostingach potrafiących udostępniać strony www. Rozważałem między innymi takie możliwości jak hosting dla .NET, chmura dla różnych technologii np. Node. Jednak najbardziej interesujące okazało się najprostsze rozwiązanie. Znalazłem możliwość, aby GitHub hostował moje pliki. Jest to usługa GitHubPages. Co więcej jest ona dostępna za darmo. Co to jest GitHub Pages GitHub Pages pozwala hostować statyczne pliki w dwóch opcjach: dla profilu użytkownika i dla konkretnego…

Read More Read More

Pomysły i zdolność ich wykonania

Pomysły i zdolność ich wykonania

W ostatnim poście pisałem o podjęciu wyzwania, które polega na realizacji otwartego projektu. Decyzję o udziale w tym przedsięwzięciu podjąłem szybko, ale największy problem miałem z pomysłem na ten projekt. Przy czym nie był to problem związany z wymyśleniem czegoś, ale z wyborem spośród tego, o czym myślę ostatnio. Dość często przychodzą mi do głowy różne idee np. na zautomatyzowanie lub ulepszenie jakiegoś procesu czy uwspólnienie czegoś dla kilku aplikacji. Podejrzewam, że wielu developerów ma podobnie. Wiadomo, że jedne pomysły…

Read More Read More

Wyzwanie “Daj się poznać”

Wyzwanie “Daj się poznać”

Ostatnio znalazłem w sieci informację o konkursie “Daj się poznać” organizowanym przez Maćka Aniserowicza. Celem konkursu jest aktywizacja developerów w sieci. Wyzwanie polega na rozpoczęciu własnego projektu z otwartymi źródłami, który będzie publikowany na GitHub i opisywaniu różnych zagadnień z nim związanych na blogu. Wymogiem jest publikacja 2 postów tygodniowo. Myślę, że to bardzo pozytywna idea. Nawet niezależnie od nagród i wygranej. Jest to dobra okazja do sprawdzenia się jako osoba pisząca teksty techniczne oraz możliwość dotarcia do wielu osób…

Read More Read More