This post comes from the first version of this blog.
Please send me an email if anything needs an update. Thanks!
Praca inżynierska w toku, powoli klaruje się także sytuacja z zaliczeniami na uczelni, także mogę uznać, że wszystko idzie w dobrym kierunku do otrzymania trzech literek i kropki przed nazwiskiem. Mam nadzieję, że uda się zrobić wszystko w wymaganym terminie i “obronić się” w lutym. Dzisiaj poczyniłem kolejny krok do załatwienia spraw uczelnianych - przedstawiłem drugą i ostatnią prezentację na Seminarium Dyplomowym. Zapraszam do przejrzenia tego, co przygotowałem.
Wstęp. Tym, którzy nie są w temacie proponuję lekturę poprzedniego wpisu o pierwszej prezentacji na temat bibliotek ORM. Wyjaśniłem tam dokładnie całą ideę przedmiotu oraz wymagania postawione przed studentami. Z informacji, jakie zawarłem w nagłówku tego posta znalazła się informacja o tym, że druga prezentacja musi mieć temat taki sam lub co najmniej związany z tematem pracy inżynierskiej. Nie podzieliłem się tym z Wami ostatnio, dlatego czynię to dzisiaj. Mój temat pracy inżynierskiej to:
Projektowanie i architektura frameworka w języku PHP.Dlaczego taki temat? Otóż, nie lubię tworzyć rozwiązań docelowych, jednorazowych. Pomimo tego, że lubię programowanie webowe, to samo "dłubanie" kolejnych CMSów i portali internetowych jest mało ciekawe - o ile nie robi się tego w sposób usystematyzowany i nie rozwija się własnej, dobrze znanej bazy kodu [ok, tłumaczenie słowa "codebase" trochę kuleje, ale mam nadzieję, że się rozumiemy].
To, co najbardziej mnie interesuje to projektowanie i programowanie bibliotek, które można wykorzystać w dalszej pracy - komponentów stanowiących całość i zamykających w sobie dobrze znaną listę funkcji. Tworzenie nowego frameworka to generalnie zły pomysł i tak powie Wam każdy programista mający doświadczenie w branży. Idea stojąca za tym stwierdzeniem jest bardzo prosta - czy naprawdę komuś może się wydawać, że jest w stanie stworzyć coś lepszego niż dostępny na rynku produkt rozwijany przez rzeszę developerów i przetestowany w tysiącach rozwiązań? Postawione pytanie jest co najmniej retoryczne.
Biorąc pod uwagę właśnie to stwierdzenie chciałbym wyjaśnić pobudki, które skłoniły mnie do wyboru takiego, a nie innego tematu. Jest to praca inżynierskiej, a więc praca, w której będę musiał zaprezentować i udowodnić posiadanie wiedzy dotyczącej tworzenia konkretnych rozwiązań technicznych. W przypadku kierunku, jakim jest Informatyka sprowadza się to do zdolności zaprojektowania pewnej struktury, zastosowania odpowiednich wzorców projektowych i udowodnienia poprawności wykonanego oprogramowania. Ze względu na to, że nie miałem żadnego przekonywującego mnie pomysłu na wyspecjalizowaną bibliotekę, stwierdziłem, że warto będzie zmierzyć się ze stworzeniem rozwiązania ogólnego.
Zamierzam zawrzeć w tym frameworku wszystkie [a raczej te najlepsze / które pamiętam ;]] pomysły i doświadczenie, jakie nabyłem podczas kilku lat rozwoju w branży. Nie chcę się nastawiać na krytykę podważającą sam cel pracy - chcę po prostu sprawdzić swoje możliwości i oddać społeczności coś, co być może znajdzie pewien odzew i chęć dalszego rozwijania. Jako, że lubię tworzyć rozwiązania kompletne, nie będę pod żadnym pozorem w istotny sposób kopiował istniejących frameworków - chcę zapewnić po prostu dobry jakościowo kod, który nie będzie potrzebował rozbudowy konceptualnej - jak to napisałem na jednym ze slajdów - “There’s too much frame, not enough work”. Chciałbym spróbować to zmienić.
Prezentacja.
To tyle w kwestii teorii. Prezentację poświęciłem oczywiście na omówienie struktury i pewnego spojrzenia na sposób tworzenia tego typu oprogramowania. Tym razem prawie całe wystąpienie było w języku ojczystym, jedynie omówienie / streszczenie tematu było po angielsku - taki był wymóg doktora prowadzącego przedmiot, do czego się chętnie dostosowałem.Zainteresowanych oczywiście zapraszam do przejrzenia przygotowanego przeze mnie materiału w tradycyjnie dwóch egzemplarzach:
- ODP - OpenDocument Presentation, format programu OpenOffice.org Impress.
- PDF - Portable Document Format, czyli znany i lubiany PDF.
Podczas prezentacji, jak i po niej nie padło zbyt wiele pytań - moi “współstudiujący” nie byli zbytnio chętni rozmawiać ani pytać o jej treść. ;] Trochę dostało mi się za przedłużanie, ponieważ górnym limitem jest 20 minut, a przedstawienie wszystkich slajdów zajęło mi 22 minuty i 50 sekund. Na szczęście jednak prowadzący uznał chyba przedstawione materiały za wartościowe i udało się ponownie otrzymać piątkę, z minusem, żeby nie popaść w samozachwyt. ;]