Zacząłem się wczytywać czym jest IoC. Okazuje się, że jest to bardzo szerokie pojęcie, a DI to tylko jedna jego interpretacja. W zeszłym tygodniu pisałem o tym czym jest Dependency Injection. Teraz natomiast opowiem pokrótce czym jest IoC i jak będę go używał w moim projekcie.
Czytaj dalej IoC[2] - Inversion of ControlIoC[1] - Dependency Injection
Zanim omówimy czym jest IoC i jak będę go używał, zacznijmy od tego czym jest Dependency Injection. Głównie chodzi o to, żeby rozdzielić implementacje poszczególnych klas. Załóżmy, że mamy taki kod:
Czytaj dalej IoC[1] - Dependency InjectionIBlessed - błogosławione interfejsy
Nie zdawałem sobie sprawy jak bardzo łatwiej pisać kod w oparciu o interfejsy. Zamiast tworzyć od razu klasy i martwić się ich implementacją, możemy odłożyć to zadanie na przyszłość. Dzięki temu można stworzyć hierarchię zależności między typami, nie martwiąc się zbytnio wnętrzem interfejsu.
Czytaj dalej IBlessed - błogosławione interfejsyMicrosoft 3C
W ostatni poniedziałek (07.03) wziąłem udział w konkursie Microsoft College Code Competition (link). Grupy, 1-3 osobowe, miały do rozwiązania 7 zadań (3 po 1, 2 po 2 i 2 po 3 punkty). Na rozwiązanie zadań dostaliśmy około 2 godziny. Biorąc udział samemu, nie miałem wielkich nadziei na powodzenie, ale i tak udało mi się zdobyć 4 punkty (rozwiązałem 3 zadania). Na koniec mieliśmy szansę porozmawiać z Melissą B., rekruterką Microsoftu, o procesie rekrutacji na staże i pracę.
Czytaj dalej Microsoft 3CGirlzCamp 2016 - wrażenia
W ostatnią sobotę (05.03) odbył się GirlzCamp, warsztaty skierowane do dziewczyn, organizowane przez Microsoft. Zapisanych uczestniczek było ponad 100 i mogły wybrać jedną z 8 ścieżek: UWP, Xamarin, ASP.NET MVC, Umbraco, Construct 2, Azure, IoT, Blender+Unity. Dodatkowo, rekruterki Microsoft ze Stanów przedstawiły ofertę pracy i praktyk za granicą. No i była pizza 😉
Czytaj dalej GirlzCamp 2016 - wrażeniaKonfiguracja
Każda większa aplikacja potrzebuje zapisywać sobie jakieś ustawienia. Aby to ułatwić wymyśliłem interfejs IConfiguration
. Stwierdziłem, że niezależnie od implementacji tego interfejsu, będzie potrzebowali dwóch metod:
Hackathon eth1
W ostatnią sobotę wziąłem z kolegą udział w hackathonie eth1 organizowanym przez Jane Street. Można było pisać w dowolnym języku, więc wybrałem C#. Program musiał działać na maszynie wirtualnej z Ubuntu postawionej w chmurze Amazona, którą dostarczał organizator.
Czytaj dalej Hackathon eth1Struktura projektu
SharpOffice to mój pierwszy duży projekt. Oraz mój pierwszy projekt open-source’owy, co oznacza, że jeśli ktoś będzie chciał mi pomóc, będzie musiał być w stanie mój kod przeczytać. Czytałem całkiem sporo o przypadkach brzydkiego, zawiłego kodu i chciałbym uniknąć tego w moich projektach. Dodatkowo mój projekt ma być zmodularyzowany, co wymusza pewne wzorce projektowe oraz powinno pomóc utrzymać fajną strukturę projektu.
Czytaj dalej Struktura projektuSharpOffice - Daj Się Poznać
Odkładam na jakiś czas pracę nad systemem operacyjnym, o którym pisałem jakiś czas temu. Takie projekty są bardzo czasochłonne i potrzebują dużego doświadczenia. Aby to doświadczenie zdobyć, postanowiłem rozpocząć drugi projekt SharpOffice. Moim zamiarem jest napisanie open-source’owego pakietu Office w C#, oraz zmodularyzowanie go w taki sposób aby łatwo było tworzyć kolejne aplikacje do pakietu, a istniejące rozszerzać wtyczkami. Biorę również udział w konkursie Daj Się Poznać, i przez następne 10 tygodni będę opisywał kolejne postępy w pisaniu SharpOffice’a. Jego kod źródłowy można zobaczyć na GitHubie
Czytaj dalej SharpOffice - Daj Się PoznaćGirlzCamp &ASP.NET MVC
GirlzCamp to całodzienne warsztaty dla dziewczyn zainteresowanych technologią organizowane przez Microsoft Student Partnerów. Więcej informacji na temat warsztatów znajdziecie tutaj.
Czytaj dalej GirlzCamp &ASP.NET MVC