Wpisy w kategorii: ‘Inne’

Skończ z CSS

niedziela, 29.12.2013

less-logo

Jakieś półtora roku temu natrafiłem na LESS.js. Od razu mnie zainteresował i stwierdziłem, że będzie można w tym stworzyć całkowicie modyfikowalną wizualnie aplikację. Koledzy, byli sceptyczni w ogóle w stosunku do LESS-a i sensu jego stosowania.

Przez ten cały czas miałem w głowie, że coś takiego istnieje, ale dopiero życie zmusiło mnie do skorzystania z tej technologii. W jednym z projektów, który był adresowany do osób niepełnosprawnych, było założenie by użytkownik mógł zmieniać kontrasty na stronie, zmieniać czcionkę i możliwie robić jakieś inne rzeczy.
I wtedy w mojej programistycznej „stajni” zadebiutował obok boostrap3. Co prawda, klient się wycofał z funkcjonalności, ale LESS pozostał i z tego się cieszę.

Czym jest LESS.js?

LESS jest jednym z wielu niedawno powstałych języków do dynamicznego tworzenia arkuszy stylów. W dwóch słowa: piszemy w LESS, a otrzymujemy wynikowo arkusz CSS.
Do rodzinki takich języków należą także: SASS, SCSS. Podstawy tych języków są podobne, ale każdy z nich ma garść czegoś innego do zaproponowania.

Dlaczego warto używać LESS/SASS/SCSS?

Zacznę od tego, że niewiele i bardzo skromne powody są ku temu by nie używać takich języków, no chyba że plik CSS ma jakieś marne 100 linijek.

Mały przykład, na którym widać ładne zagnieżdżenia:

#header {
  h1 {
    font-size: 26px;
    font-weight: bold;
  }
  p { 
    font-size: 12px;
    a { 
      text-decoration: none;
      &:hover { 
        border-width: 1px;
      }
    }
  }
}

Drugi przykład to użycie mixins (za wiki)

.rounded-corners (@radius: 5px) {
  border-radius: @radius;
  -webkit-border-radius: @radius;
  -moz-border-radius: @radius;
}

#header {
  .rounded-corners;
}
#footer {
  .rounded-corners(10px);
}

Zalet bez liku:

  • już same zastosowanie takich języków sprawia, że kod jest bardziej DRY, nie piszemy ciągle podobnie zagnieżdżonych sekwencji CSS, ale zagnieżdżamy selektory,
  • powyższe sprawia, że łatwo jest nam zmieniać taką strukturę, jest ona przy tym bardziej przejrzysta i oczywiście nie piszemy tych samych sekwencji selektorów po stokroć,
  • możemy stosować zmienne dla kolorów, nazywać je przy tym wg swojego klucza, a następnie używać je we wbudowanych funkcjach takich jak np. darken() ,
  • możemy także używać zmiennych do trzymania innych atrybutów, np. wielkości czcionki, adresu obrazka, czy nazwy fonta,
  • zgodnie z duchem DRY, możemy zastosować tzw. domieszki/mixins, które zachowują się jak funkcja w każdym innym języku programowania, do której też możemy wprowadzać argumenty,
  • możemy operować na parametrach liczbowych z użyciem prostej arytmetyki,
  • jeśli mamy zwykły CSS, kompilator po prostu go wstawi przy kompilacji, jest też możliwość „dekompilacji” CSS do LESS/SASS/..
  • jesteśmy w stanie sprawić (jeśli tylko będzie potrzeba lub chęć), że nasza aplikacja/strona będzie miała nieograniczone możliwości zmiany elementów wizualny czy to losowo, czy to przez klienta, czy to nawet przez użytkownika końcowego – prawda, że pięknie ? :)

Można by tak wymieniać i zagłębiać się w poszczególne języki, ale chyba lista powyżej sprawia, że chęć programowania i uciecha z programowania wzrasta, bo w końcu możemy… zaprogramować sobie CSS :)

Jak kompilować?

Sposobów na korzystanie z LESS/SASS/.. jest wiele. LESS w odróżnieniu od innych tego typu języków (w końcu LESS.js ;) ) ma możliwość modyfikacji w locie strony, bez przeładowania. Co, w pewnych okolicznościach może być piękne i mocno pomocne. Wystarczy wyobrazić sobie, że piszemy w naszym edytorze, zapisujemy plik less, a less watch zmienia nam elementy na stronie i to na każdej otwartej przeglądarce. Czyli, możemy pisać na jednym monitorze i zapisując, na drugim oglądać zmiany np. szerokości o 10px, po zmianach kod mamy już gotowy i zapisany, nie musimy niczego przeklejać.

Innymi sposobami na korzystanie z less/sass/.. to:

  • używanie dedykowany kompilatorów dla naszego języka programowania (np. php, python) – niewątpliwą zaletą takiego rozwiązania jest możliwość łatwego wdrożenia innych osób do naszych projektów, nie muszą one konfigurować swoich edytorów/IDE, nie muszą także instalować dodatkowego oprogramowania i konfigurować
  • edytory stworzone z myślą o CSS i LESS/SASS
  • kompilatory i wtyczki dla IDE
  • same kompilatory

 

Nie wiem, jak wy, ale ja nie chcę już wracać do czystego CSS, bo i po co? ;)

Django again

poniedziałek, 09.09.2013

Python (logo)

Powrót do Pythona był dla mnie wyczekiwanym momentem.

Dawno temu musiałem go poznać, żeby wykonać kilka projektów w pracy.

Od samego początku byłem zaciekawiony tym tworem, który nie posiada nawiasów klamrowych (szok!;)), a zamiast tego jedynie wcięcia.

Po pierwszych chwilach, które były mocno irytujące, polubiłem ten język i pragnąłem do niego wrócić.

W sumie, to nie wiem, jak można go nie lubić. Ma przecież tyle zastosowań (nie tylko aplikacje web jak popularny PHP), tyle możliwości implementacji (Jython, IronPython), tylu zwolenników (np. wielki Google) i parę innych zalet.

Nigdy jednak nie byłem człowiekiem, który od tak sobie dzióbdzia coś w języku (czy technologii), tylko dlatego, że jest fajny, albo warto się go nauczyć, nie zaczytywałem się też bez sensu w bibliach programistycznych. Zawsze uczyłem się przy okazji projektów, które po prostu trzeba było wykonać. Tak samo nauczyłem się Pythona i tak samo zarzuciłem jego użytkowanie – z braku powodów i projektów.

Django to jeden z najpopularniejszych albo najpopularniejszy z frameworków dla Python, choć ponoć są lepsze. Kiedyś, parę razy podchodziłem do tego tworu, aby zbudować autorską aplikację do zastosowań własny. Wtedy wygrał pragmatyzm i duet Zend Framework z PHP. Teraz jest ten czas by wkroczyć znowu do tej samej rzeki. Lodowatej rzeki, bo pierwsza konfiguracja Django i sprawienie, żeby to wszystko ożyło zawsze było utrapieniem. Ale do dzieła… :)

Tak na marginesie. Po kilku dniach przerwy z samym Django, przypadkow znalazłem ciekawy artykuł Wprowadzenie do Pythona, co prawda jako wprowadzenie jest średnie, ale jako przypomnienie Pythona lub Python dla ciekawski jest elegancki.
Dla osób, które chcą się nauczyć Pythona spotkałem się z zaleceniami by sięgnąć po pozycję Zanurkuj w Pythonie, ale jeszcze nie zdążyłem tego przeanalizować.

ExtJS – prezentacja

środa, 28.11.2012

ExtJs jest potężnym frameworkiem javascript wyposażonym w zestaw gotowych/wbudowanych kontrolek umożliwiający łatwą budowę rozbudowanych aplikacji opartych o technologię AJAX. ExtJS, jest budowany i zarządzany przez Sencha (Sencha.com).

W stosunku do bardzo podobnego Dojo, z którego także miałem okazję korzystać przy budowie mniejszych aplikacji, większość pracy i zmian, pochodzi z jednego ściśle określonego źródła, czyli od pracowników Sencha. Co jak się okazało (Dojo poznałem później) jest idealnym rozwiązaniem, gdyż w tym przypadku rozwój dobrego już wcześniej produktu ewoluuje w ściśle określonym kierunku, co sprawia, że ExtJS 4.* jest dobrym rozwinięciem idei poprzednich wersji i coraz przyjemniej się z niego korzysta. Także dokumentacja, choć nie zawsze idealna znajduje się w jednym ściśle określonym miejscu, jest przejrzysta i funkcjonalna.

Ale do rzeczy….

ExtJS 4, jest narzędziem kompleksowym. Szczyci się tym, że można zbudować za jego pomocą aplikację webową, która wygląda zupełnie jak desktop. Osobiście, nie widzę w tym większego sensu, ale mam kolegę, który pracuje na nad rozbudową i konserwacją takiego właśnie systemu. Sam framework choć rozbudowany, jest stosunkowo prosty w implementacji, a podążając za przykładami dostarczonymi przez twórców lub dużo lepiej, za gotowym już kodem aplikacji w którą się wdrażamy, łatwo jest zacząć tworzyć swój własny kod. Oczywiście, potrzebna będzie znajomość Javascript-u przynajmniej na poziomie gdzieś pomiędzy minimalnym i średnim, a do tego przynajmniej teoretyczną wiedza jak działa technologia AJAX.

Aplikacje w ExtJs składają tak z jakby z dwóch warstw.

Warstwa danych i warstwa interakcji z użytkownikiem. Za pomocą technologii AJAX i notacji JSON te dwie warstwy komunikują się ze sobą.

Do generowania, dodawania i modyfikacji danych, a także do obsługi serca samej aplikacji wybieramy język typu PHP, Python.

Za pomocą Javascript dodajemy elementy wbudowane w ExtJS takie jak np. formularz, przyciski, gridy. Mamy także do wyboru różne warianty wyświetlania elementów na stronie, grupowania ich wg potrzeb i np. określania interakcji między nimi. ExtJs dba o to by wszystko (całość to oczywiście html i css)wyświetlało się podobnie w każdej przeglądarce (tak samo jak w znanym jQuery).

Najczęściej w pracy z ExtJs korzysta się z dobrze skonstruowanego narzędzia jakim jest interaktywny Grid. Jest dość przemyślanym modułem o wielu zastosowaniach. Łatwo za jego pomocą przeglądać dane, sortować je, filtrować. Mamy dużo możliwość doboru cech i funkcjonalności dla naszych Grid-ów.

Trudno mi sobie wyobrazić większą aplikację użytkową bez tego elementu.

Zdecydowanie najlepszą cechą tego frameworku jest jego kompletność i dojrzałość. Wszystko co w nim zawarte i wbudowane wystarczy by zbudować nawet bardzo rozbudowane aplikacji klasy biznesowej. Można także, pamiętając o odpowiednich zabezpieczeniach, przenieść stare aplikacji desktopowe do sieci internet czy sieci firmowej.

Warianty licencyjne ExtJS: link

Szanuj swoje zdrowie

poniedziałek, 22.08.2011

Jako że bardzo mocno opierałem się przed innym typem umowy, niż umowa o pracę, taką też miałem okazję podpisać z moim nowym pracodawcą. Ta forma umowy ma różne plusy i minusy. Minusem jest chociażby dość duży dysonans przy wypłatach na linii umowa o pracę – umowy cywilnoprawne, ale coś za coś. Dużym plusem są wielorakie funkcje zabezpieczające takiej umowy, a także różne prawa i obowiązki.

Jednym z minusów jest to, że trzeba zaliczyć szkolenie BHP . Jako że centrala mojej nowej firmy jest w Gliwicach udałem się tam potulnie (na szczęście dzięki dobrej pogodzie na motorze). Szkolenie jak to szkolenie, nic co mogło zaskoczyć. No może poza tym, że szkoleniowiec był także motocyklistą, wystąpiło więc wiele wątków pobocznych ;).  Nie jedno już przeżyłem w swoim życiu szkolenie BHP, tak na oko to już 5 czy 6. Tak naprawdę szkoleniowiec musi obskoczyć wiele zagadnień i sprężyć się przy tym, żeby jak najmniej osób zasnęło. Zawsze się znajdzie jakiś nowy element, ale zazwyczaj człowiek już większość rzeczy wiedział wcześniej, czy to ze szkoleń, czy choćby z doświadczenia.

Ja sam siebie postrzegam jako osoba odpowiedzialna i widząca w pewnej perspektywie, można powiedzieć nawet, że ostrożna. Do jakiejkolwiek pracy nie pójdziemy, musimy być świadomi jednego, nie ma takiej pracy, która nie powoduje takiego czy innego uszczerbku na zdrowiu. Musimy także sobie uświadomić jak wiele życia poświęcamy lub zabiera nam praca.

Do pracy należy podejść z odpowiedzialnością. Zarówno w stosunku do obowiązków jak i do siebie samego, i swojego zdrowia. Każdy sam, na podstawie wiedzy, doświadczenia i opinii, powinien wypracować sobie jakiś model funkcjonowania w pracy (np. mini relaksacje, ćwiczenia, programy wspomagające). Każdy powinien odpowiedzialnie gospodarować swoim zdrowiem (fizycznym i psychicznym), bo nikt tak naprawdę mu nie nakreśli wszystkich zagrożeń (nawet na tygodniowym szkoleniu BHP), nikt nie będzie za nim chodził i pokazywał mu jak ma prawidłowo siedzieć i kiedy robić przerwy, a już na pewno nikt nie każe mu kategorycznie dbać o swoje zdrowie, bo to już nie czasy szkolne.

To każdy z nas powinien się dokształcać w tym wszystkim o czym m.in. mówią szkolenia BHP, np. :

  • prawo pracy
  • obowiązki i prawa zarówno pracownika jak i pracodawcy
  • pierwsza pomoc
  • przepisy BHP
  • ergonomia
  • funkcjonowanie organizmu
  • zapobieganie chorobom, dysfunkcjom i urazom
  • relaksacja, odreagowywanie i zapobieganie nadmiernemu stresowi

bo:

  1. nigdy nie wiesz czy pewne zagadnienia nie będą dotyczyć ciebie (np. spór z szefostwem)
  2. może na starość będziesz chciał poczytać wnukom czy ponosić ich „na barana”
  3. łatwiej jest zapobiegać niż leczyć
  4. gdy pojawi się coś niepokojącego, możliwe że twoja reakcja będzie szybsza

To takie ogólnikowe przemyślenia. Ja przez wiele lat dokształcałem się i zdobywałem doświadczenie w tych wszystkich zagadnieniach. Robię to nadal. W pracy daje z siebie wszystko (takie mam „głupie” zasady), jednocześnie dla swojego zdrowia staram się zrobić w tym czasie to co w mojej mocy. Bo nie mam zamiaru, za parę lat, nosić takich okularów jak Stępień z serialu 13 Posterunek.  Przemyślcie to jak traktujecie swoje zdrowie w pracy.

Python vs PHP

piątek, 24.12.2010

No cóż, muszę się przyznać, że wkurza mnie podejście moich starszych stażem kolegów programistów odnośnie języka PHP.

Ja lubię PHP. Znam ten język na tyle dobrze, by w miarę płynnie się poruszać po wszystkim co z nim związane. Denerwujące jest to, że kiedy tylko coś pójdzie nie tak, coś nie chce działać, coś zachowuje się nieprzewidziany sposób, to wszystko od razu wrzuca się do worka z napisem „PHP to język śmieciowy”.

Dramatycznie się z tym nie zgadzam.

W tym momencie w mojej firmie królują 3 języki programowania. PHP, JavaScript i Python.

– PHP, to jest mój konik.

– JS-a zawsze do tej pory unikałem (trochę tego żałuje…)

– Python, który ponoć jest o niebo lepszym językiem niż PHP

Powiem szczerze. Nie polubiliśmy się z Pythonem na wejściu. Początki były dość trudne, wszystko sprawiało problem. Po dość krótki obcowaniu z językiem muszę powiedzieć, że jest on… po prostu zwykłym językiem programowania. Bez fajerwerków, tudzież z bagażem często bardzo wkurzających dolegliwości.

Python i PHP

Python (1991)jest starszym językiem niż PHP (1995), mimo to jest uważany za poważniejszy i dojrzalszy język programowania.  To prawda, że od samego początku twórcy i programiści starają się utrzymywać pewne określone wzory i niepisane zasady konstrukcji. Sprawia to, że język jest dość uporządkowany, a programowanie odbywa się w określonym stylu.

Python w odróżnieniu od PHP, jest w pełni obiektowy, w takim znaczeniu, że wszystko w tym języku jest obiektem. Inaczej mówiąc nie da się w tym języku programować, nie znając koncepcji takiegoż programowania.

Python oczywiście nie jest doskonały. Często aż irytuje dziwnymi dla mnie, programisty PHP, zagraniami i wymaganiami, które w PHP są oczywiste, proste i nie powodujące zakłopotania.

Różna jest koncepcji celu jakiemu ma służyć PHP względem języka Python. PHP został stworzony jako proste narzędzie do tworzenia witryn internetowych. Taki właśnie jest cel istnienia tego języka. Nie napiszemy w tym języku wielu rzeczy, choćby najprostszego dektopowego kalkulatorka. Jest to język stworzony dla prostego i bezbolesnego tworzenia stron internetowych. Nie mniej jednak PHP, także za sprawą jego popularności, ciągle się rozwijał. Wystarczy porównać obiektowość PHP 4 i PHP 5. Piąta wersja języka sprawiła, że w końcu PHP stał się dojrzałym językiem, który choć ciągle sprawia, że robienie witryn internetowych jest proste, ale także wprowadza mechanizmy i rozwiązania dużo bardziej ambitniejsze i dające dużo większe pole manewru.

Wracając do Pythona

Najbardziej wkurzającym elementem języka jest przymus odpowiedniego operowania wcięciami i brak nawiasów. Naprawdę trudno się przestawić na początku. A co powiedzieć o takim kodzie? Dla mnie jest co najmniej średnio czytelny, kiedy mam do czynienia z większym fragmentem kodu. Lubię te piękne „curly brackets” i swoje własne formatowanie fragmentów kodu, ale to jest też kwestia przyzwyczajenia oczywiście.

Podsumowanie

Choć, nie wybrałbym tego języka do nauki, cieszę się, że moja praca wymaga nauczenia się i programowania w języku, który nie jest dla mnie uosobieniem cnót wszelakich. Programista powinien umieć się odnaleźć w każdym języku i umieć w nim znaleźć masę pozytywów.

Funkcje

czwartek, 06.08.2009

Pokazuje ten filmik nie dlatego, że jestem fanatykiem google i jego przeglądarki, choć już kiedyś pisałem o niej. Pokazuje, bo jest ciekawym i udanym pokazaniem, tego wszystkiego co da się pokazać na schematach czy w punktach, a nawet elaboratach. Ale łatwy przekaz najlepiej dociera do każdego człowieka.

Nowy blog

sobota, 20.06.2009

BLEE.LIVENUP.PL

to mój nowy blog.

Zawsze to jakiś kontakt z informatyką. Tym razem poszedłem po najmniejszej linii oporu. Wybrałem ładnych szablonik, który przypomina pierwszą stronę jakieś gazety.

Tym razem najważniejsza jest treść, a nie informatyka. A treścią będą moje przemyślenia, newsy, ciekawostki. To wszystko co mnie zainteresuje albo co mnie interesuje już teraz, to wszytko o czym będę chciał napisać i czym się podzielić.

Zapraszam na

Blee.livenup.pl

.

Ocena

czwartek, 23.04.2009

No dobra, już wiem, że nie zostanę programistą. Nie jestem w tym dobry, wszystko zajmuje mi więcej czasu niż innym.

Ale lubię sobie czasem coś zaprogramować. Skończę studia, zacznę pracę, a czasem sobie jakąś szybką stronkę zrobię, z której mam nadzieję będę choć trochę dumny.

Pozdrawiam
Trzeźwo Patrzący

Lepiej być programistą hobbystą, niż kiczowatym programistą.

Studia w PL to idiotyzm!!!

niedziela, 19.04.2009

Kurcze, jestem na 6 semestrze studiów w Polsce. To jest masakra! Ktoś kto wymyślił taki rodzaj studiów to musiał być chyba jakiś wybitny teoretyk, nie mający z praktyką wiele do czynienia.

Nie trudno mi się z tej perspektywy dziwić, że młodzi inżynierowie nie chcą kontynuować studiów w Polsce, pomijając jedynie tych, którzy chcą się paprać w tym niedorozwojowym bagnie dla papierka i lepszej gaży w ostatecznym rozrachunku.

Gdyby te studia wymyślił informatyk praktyk, w życiu by mu nie przyszło do głowy, że do końca studiów był przymus (bo przecież uczelnie najchętniej ograniczyłyby się do 2 przedmiotów na semestr – taniej) wtłaczania bezużytecznej wiedzy w sposób dramatycznie bezsensowny i drażniący. Bo przecież, czy ktoś, kto chce tworzyć grafikę komputerową ma ochotę poznawać przy końcu studiów inżynierskich architekturę mikrokontrolerów, czy ktoś kto chce tworzyć strony internetowe zainteresowany jest jakimś ekonomicznym bełkotem (który zasadniczo jest tańszy w wykładaniu)?

Na nasze nieszczęście, program studiów, to nie jest coś co jest tworzone i modyfikowane przez ludzi czynu w danej dziedzinie studiów, jest tworzony przez wybitnych teoretyków, albo co gorsza, ludzi, którzy nie wiele wiedzą o dziedzinie studiów jaki właśnie mają na tapecie.

I to widać!!!

Gdyby wybitny Informatyk-Praktyk stworzył program studiów, to po pierwsze…byłyby to dwa programy. Do wyboru zarówno dla Uczelni i dla Studentów (wybierających uczelnie).

Pierwszy program nie różniłby się znacząco od obecnych studiów. Uczyli by się oni wszystkiego i niczego jednocześnie, zgodnie z maksymą, że inżynier musi wszystkiego liznąć. Taki tryb studiów ma niewątpliwie wielką zaletę, jest tani w „obsłudze”. Wielu miernych wykładowców z marnym doświadczeniem praktycznym, prosty do ogarnięcia plan studiów i łatwiejszy harmonogram. Same plusy dla wszystkich … oprócz studentów.

Drugi program jest mniej więcej taki, jaki obiecywała moja uczelnia kiedy chciała bym zaczął na niej studiować. Przez rok, albo półtora studiuje się rzeczy ogólne (wiadomo, podstawy teoretyczne są niezbędne), następnie wybiera się jakąś specjalizację, którą się drąży już do końca, by na końcu stać się mistrzem w tym co chce się robić.

Jak się okazało, to była jedna wielka ściema!
Czytaj, na 6 semestrze muszę się zajmować np. Mikrokontrolerami, które będę jeszcze na dodatek programować na 7 semestrze, by już nigdy nie wrócić do tego w przyszłości. Kiedy ja się zajmuję „bawieniem się” dokumentacją rodem z firmy ATMEL mógłbym sobie spokojnie robić coś co mnie interesuje, coś dla czego chciałem zostać informatykiem. Mógłbym… gdybym nie chciał zostać Inż. Inf.

Reasumując. Tak jak nie ma rąk które leczą, tak nie ma studiów, które uczą (przynajmniej na moim kierunku studiów i poza osławionymi ośrodkami takimi jak np. Warszawa).

Pozdrawiam
Tomek

Uzależnienie od internetu

wtorek, 07.04.2009

Nie kocham internetu. Jest mi potrzebny. Jest dla mnie narzędziem. Może stanie się kiedyś sposobem na zarabianie na życie. Ale niektórzy stanowczo przesadzają…

Faktem jest, że także w innym sensie uzależniamy się od internetu, nawet nie siedząc od rana do wieczora.
Nie chodzimy już do banku. Nie chodzimy na pocztę. Nie czytam książek. Zamiast kartek świątecznych przesyłamy sobie, często beznamiętnie, elektroniczne pocztówki, czy sms-y. Kontakt osobisty zanika, tak samo jak lasy, góry, jeziora stają się dla niektórych pojęciami abstrakcyjnymi, prawie nie istniejącymi, no chyba, że znajdzie się jakaś fotka przedstawiająca te góry czy lasy w … internecie. W innym, tym drugim, sensie uzależniamy się od internetu, zatracając inną rzeczywistość, która wiąże się z wyjściem z domu, tak po prostu, na wiosenny spacer czy po prostu do ludzi.

Nie wiem czy to źle, czy to dobrze. Wiem jedynie, że świat idzie na przód. Może nam się nie podobać w jakim kierunku zmierza, ale widać, że idzie do przodu.