Maciej Mirosław Świderski
PHP Artisan
Frontend Developer
Good Coffee Addict
MENU

O mnie

W skrócie o mojej personie

Robienie tego, co sprawia nam przyjemność, jest jedną z największych tajemnic sukcesu finansowego.Brian Tracy, Milionerzy z wyboru. 21 tajemnic sukcesu.

Przygodę z tworzeniem stron WWW zaczynałem w czasach, gdy Ministerstwo Edukacji Narodowej wdrażało system gimnazjalny, wszystkie strony powstawały z użyciem tabel, o CSS Zen Garden jeszcze nikt nie słyszał, php4 utrzymywało, że jest "obiektowe", a najpopularniejszą przeglądarką na rynku był Internet Explorer.

Wszystko to sprawia, że na tworzenie stron spoglądam z nieco innej, szerszej perspektywy...
Prawdziwy Hipster na pewno zna Konami Code


Życzę miłej lektury, Maciej Mirosław Świderski

Never stop learning...

Do 40 roku zycia nasz mózg ciągle się rozwija (zostało mi 9 lat). Gdy uczymy się czegoś nowego struktura naszego mózgu się zmienia. Co ciekawe udowodniono, że zapach czekolady pobudza wytwarzanie fal theta w mózgu, które wywołują stan relaksacji.

>

Umiejętności

Mój warsztat

Każdy, kto przestaje się uczyć jest stary, bez względu na to, czy ma 20 czy 80 lat. Kto kontynuuje naukę pozostaje młody. Najwspanialszą rzeczą w życiu jest utrzymywanie swojego umysłu młodym.Henry Ford

Dzisiaj, gdy sam jestem "dziadkiem", z tabelek przeszliśmy na gridy, strony stały się responsywne, zewnętrzne arkusze stylów zyskały własne prekompilatory, najpopularniejsze języki programowania stron zorientowały się obiektowo, a testy automatyczne i filozofie TDD/BDD zyskują coraz większą popularność. Byłem świadkiem wielu przemian w sferze tworzenia stron www, co spowodowało, że moje umiejętności także musiały się dostosować do panujących standardów.

Zaczynałem od istnego spaghetti php, css i html (Hail His Noodliness). Nic nie miało swojego miejsca ani hierarchii do czasu, kiedy poznałem swój pierwszy framework Codeigniter i tajemniczy skrót MVC. Wszystko nagle znalazło swoje miejsce, modele-kontrolery-widoki dobrze spełniały swoje zadanie, CI miał świetną dokumentację, istniało wiele sprawdzonych bibliotek - DRY, kod nadzorowali twórcy z Ellislab, przyszłość malowała się w pięknych barwach, ale tylko do czasu. W miarę wzrostu liczby i złożoności stron CI wymagał coraz większej ingerencji w strukturę i wewnętrzną architekturę, a model rozwiązania MVC nie skalował się wraz ze wzrostem serwisów. Wzorzec Model-Widok-Kontroler nie jest doskonały, został stworzony w roku 1979 przez Trygve Reenskaug'a na potrzeby języka Smalltalk. Pomysł opierał się na kilku założeniach: dane wejściowe od użytkownika otrzymywał kontroler, który na ich podstawie dokonywał zmian w modelu, który zawierał w sobie całą logikę biznesową aplikacji; w ciągłej relacji z modelem (observer realtion) pozostawał widok, który prezentował wynik żądanej akcji użytkownikowi. Niestety implementacja tego wzorca w przypadku stron www opierała się na błędnym założeniu, że cały ekran użytkownika to jeden widok. Częściowym rozwiązaniem tego problemu było rozszerzenie HMVC, jednak nie miało dużego wsparcia zarówno twórców ani społeczności, a Codeigniter został w tyle za konkurencją. Nadszedł zatem czas, aby ruszyć do przodu. 

Najpopularniejszą platformą do rozwijania wolnego oprogramowania stał się GitHub, dlatego przyswojenie tego systemu było oczywistym krokiem. Zmiany wymagał także framework, skłaniałem się ku Symfony, ale w międzyczasie na popularności zyskiwał nowy projekt - Laravel

Reasumując

OO PHP5

Interface, Trait, MVC *, SOLID

MySQL

{1/2}NF, ERD, Transactions

JavaScript

jQuery{UI}

Laravel

IoC, Eloquent ORM... Laracast

Codeigniter

Active Record, HMVC, Ext Libs

Composer

Satis, GitHub/Bitbucket Repos

HTML5

Geolocation, LS, Semantic

CSS3

Media Queries, @font-face, ...

Sass

Mixins, Compass/Libsass

Bower

Asset Management bower.json

Grunt

Task Runner Gruntfile.js package.json

Gulp

Easy (Pipe) Build System Gruntfile.js

Markdown

*Header* **1**

LaTeX

\emph{Header} \textbf{1}

Emmet

p{<i>Header</i> <b>$</b>}

Git

Git-flow

Vagrant

Homestead

Linux Terminal

Bash shell

Foundation{4/5}

Framework by Zurb

Bootstrap

Framework by Twitter

RWD + SASS

Bourbon + Neat + Bitters

phpSpec

Behaviour Driven Development

Codeception

$I->am('Programmer'); $I->wantTo('Test');

STANDARDS GUIDELINES

w3c, WCAG, SEO, php-cs{PSR2}


Jednak wiedza i umiejętności to nie wszystko, trzeba wiedzieć jak sobie radzić z problemami i gdzie szukać odpowiedzi. Nie bez znaczenia jest także ciągłe bycie na bieżąco, jedyny sposób, żeby nie wypaść z obiegu to czytać, czytać i jeszcze raz czytać. Książki, podręczniki, czasopisma branżowe, blogi, vlogi, filmy z konferencji, screencasty, podcasty, jest wiele możliwości, różnych - wystarczy tylko chcieć

Smashing Magazine
Stackoverflow
Codrops
Css Tricks
Net Magazine
oraz wiele innych: Laracast, Webdesigner Depot, Web Designer Ledger, Six Revision, Speckyboy Design Magazine, Noupe, Hongkiat, siteInspire, Design Shack, Geek, etc. etc.

Kawa to - owoc!

Na Uniwersytecie Cambridge naukowcy mieli poważny problem: każdy chciał wypić kubek gorącej kawy, ale jednocześnie nikomu nie chciało się parzyć nowego dzbanka. Potrzeba matką wynalazków, wymyślono pierwszą kamerkę internetową (webcam) która kontrolowała poziomu kawy w dzbanku.

Portfolio

Partnerzy, a nie klienci

exegi monumentum aere perenniusPieśni, Horacy

Dzięki moim wnikliwym badaniom rynku i bieżącym monitorowaniu zachodzących na nim zmian, moi partnerzy mogą skupić się na własnym biznesie, co przekładać się będzie na ich większe zyski i zadowolenie. Dodatkowo, moja filozofia zakłada, że cały proces tworzenia i późniejszego prowadzenia strony internetowej realizowany jest w cyklu Deminga (Plan-Do-Check-Act), co gwarantuje ciągłe ulepszanie istniejących rozwiązań, aby dążyć do perfekcji.


Wybrane realizacje

Endoaccess

Profesjonalny serwis endoskopów Olympus i PENTAX. Wyłączny przedstawiciele EndoMobil w Polsce.

więcej
Fit-Max

Fit-Max Gym prawdopodobnie najlepsza siłownia w Bydgoszczy.

więcej
Solidwood

Solidwood - jakość, nowoczesność i praktyczność już od 1978 roku. Producent mebli w całości wykonanych z litego drewna bukowego lub dębowego.

więcej
Otrzęsiny Studenckie

Otrzęsiny Studenckie to największa impreza studencka w Bydgoszczy!

więcej
Akcja studencka

W TOKU Ogólnopolska akcja informacyjna dla studentów.

więcej
Otrzęsiny Studenckie

W TOKU Badania, analizy, tajemniczy klient.

więcej

Bento System

Czym jest Bento System? Bento to japońskie danie na wynos (do pracy, szkoły, na piknik itd.). Definicja brzmi banalnie, ale skomponowanie Bento to nie lada sztuka. Pudełka posiadają przegródki, a każda z nich dopasowana jest do preferencji właściciela. Na zbędne dodatki nie ma tu miejsca. Bento musi być atrakcyjnie zapakowane, a przy tym ma dobrze smakować. Podobnie jest ze stronami internetowymi.

Bento System to autorski projekt zespołu Wabi-Sabi. Każdy serwis oparty o nasz system jest szyty na miarę i oczekiwania, ponieważ każdy biznes wymaga indywidualnego podejścia. Projekt ten wychodzi naprzeciw rosnącemu zapotrzebowaniu przedsiębiorców na nowoczesne strony internetowe:

System w całości oparty jest framework Laravel, stworzony w formie modułowej, struktura adresów RESTful. Każdy moduł stanowi osobną paczkę Composer, co pozwala na prostą aktualizację oraz użycie systemu GIT do kontroli wersji. 

W 2014 roku zrealizowałem swój cel, przebiec 5k<30minut.

W stopach, 26 kości, 33 stawy, 112 więzadła i skomplikowana sieć nerwów, ścięgien i naczyń krwionośnych musi współpracować razem, żebyśmy mogli biegać. Rekord najszybszej mili (ok. 1.6km) należy do Hitchama El Guerrouj - 3:43:13.

Narzędzia

Mój scyzoryk armii szwajcarskiej

Wybierz sobie zawód, który lubisz, a całe życie nie będziesz musiał pracować.Konfucjusz

Cenię sobie minimalizm. Wszystkie narzędzia, edytory oraz sam system operacyjny powinny przede wszystkim nie przeszkadzać. Ma tutaj zastosowanie prosta zasada Less is More. Jeżeli coś jest do wszystkiego, to znaczy, że jest do wyrzucenia. 

Jeżeli chodzi o stanowisko pracy nie mam żadnych preferencji, jedynie przyzwyczajenia, ale one czasem bywają drugą naturą człowieka. Nie ważne w czym tworzy się strony www, ważny jest efekt końcowy.


System Operacyjny

Najlepsza edycja Ubuntu, Linux Mint

Edytor tekstowy

Sublime Text3 i cała masa pluginów

Przegladarka

Google Chrome, choć coraz wolniejszy...

Zarządzanie projektami

Trello dla małych projektów

Wymiana plików

Dropbox, po prostu

Kompatybilność

Wirtualizacja Modren.ie

Analiza

Google Analytics oraz SeoMoz


Planowane "nowe ostrza do scyzoryka":

Praca w zespole

Software Development in Scrum

Framework

Symfony by SensioLabs

Śledzenie błędów

JIRA by Atlassian

Javascript Framework

Angular.js

Javascript Scripting

Coffeescript

SVG Manipulation

Snap.svg

Rise from Your Grave!

Moda na Parallax scrolling? To specjalna technika, w której grafika tła przesuwa się w stosunku do obserwatora wolniej niż elementy nad tłem, tworząc iluzję przestrzeni w animacji 2D. Parallax scrolling spopularyzowała w roku 1982 gra Moon Patrol dostępna w salonach gier.

Optymalizacja

PageSpeed Insights 99/100

Czas to pieniądz. Benjamin Franklin

Co zrobiłem, żeby otrzymać taki wynik, pomimo ładowania: dwóch czcionek z pełnym zestawem znaków latin-ext Google Fonts, całej biblioteki jquery i osiemdziesięciu trzech grafik? 

[Mobile first] - Od samego początku strona projektowana była z myślą o urządzeniach przenośnych. Z powodzeniem przechodzi test Mobile-Friendly Test.
Wszystkie optymalizacje uwzględniają wariant responsywny strony na wszystkich urządzeniach.

[Style CSS] - Above the fold css - wydzielona część css odpowiedzialna za wyświetlania tzw. above-the-fold content jest automatycznie kompresowana i dołączana w formie znacznika do strony. Enchance CSS - ładowanie reszty css służących do wzbogacenia wyglądu, zostało przesunięte na koniec strony, aby nie blokować renderowania. 

[Webfonts] - Zewnętrzne czcionki (Google Fonts API) - system Bento automatycznie pobiera, optymalizuje, dokonuje kodowania base64 i cachuje zoptymalizowaną czcionkę. Pozwala to zaoszczędzić jedno wysyłane do Google. Asynchroniczne ładowanie czcionek - aby nie blokować renderu strony czcionki ładowane są asynchronicznie jako rozszerzenie strony. localStorage - w celu uniknięcia FOUT czcionki (o ile ot możliwe) są przechowywane w localStorage przeglądarki użytkownika, co pozwala na ich szybkie ładowanie, jednak nie jest w 100% skuteczne. 

[Cache] - wszystkie możliwe elementy strony.

[Grafika] - optymalizacja grafiki za pomocą zadań Grunt.js, pliki svg optymalizowane osobno i automatycznie osadzane w kodzie HTML.

[Minify Resources] - minifikacja zewnętrzego jak i osadzonego ccs, javascript oraz HTML. 


Zapraszam do kontaktu

GSM: 661928717 | @: mmswiderski(at)gmail.com


Copyrights © 2014-2015 by Maciej Mirosław Świderski