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鈥檛 mock database context directly using for example Moq library. That鈥檚 because this class properties isn鈥檛 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