Blog webdeveloperski Patryk yarpo Jar

Zrzuty ekranu za pomocą JavaScript (HTML5 – canvas)

Autor wiadomości Maj 14, 2013

Wraz z nadejściem HTML5 i jego wielu rewolucyjnych API nastała era rzeczy, które dawniej wydawały się trudne / bardzo trudne / niewykonalne (niepotrzebne skreślić).

Jedną z takich funkcji jest możliwość rysowania za pomocą JavaScriptu na płótnie (ang canvas). Służy do tego znacznik <canvas /> oraz odpowiednie API przypominające podobne rozwiązania z innych języków programowania.

Rysowanie ekranu na płótnie

Nie, nie miałem aż tak wiele czasu, aby napisać to samemu. Miałem jednak trochę, aby wygoogle'ować ciekawą bibliotekę. Padło na bardzo przyjemną w użyciu html2canvas. Kod tej biblioteki przed spakowaniem ma prawie 3k linii, co trochę zniechęca do pisania tego własnoręcznie.

Do zastosowania biblioteki zachęca także przyjazna licencja (MIT) oraz kilka bardzo przydatnych funkcji. Zobaczmy jednak prosty przykład zastosowania:

html2canvas(document.body, {
    onrendered: function(canvas) {
        document.body.appendChild(canvas);
    }
});

demo online

“Etat czy na swoje?” – Lech Rychliński na spotkaniu koła Zarządzanie IT

Autor wiadomości Marzec 13, 2013

Ten tydzień obfituje w ciekawe spotkania społeczności IT w Trójmieście. Dobre rozpoczęcie tygodnia z pierwszym meet.js, a już we wtorek ciekawa kontynuacja w bardziej kameralnym gronie .

Meet.js zawitał do Gdańska!

Autor wiadomości Marzec 11, 2013

Choć sama inicjatywa spotkań front-endowców w postaci meet.js nie jest w Polsce nowa, to w Trójmieście takie spotkanie odbyło się po raz pierwszy.

Powiedzieć, że zainteresowanie było duże, to skłamać. Początkowo planowane w pubie Polufka, kameralne spotkanie, przerodziło się w jeden z większych eventów około programistycznych, jakie w ostatnim czasie odbywały się w naszym grodzie. Ostatecznie zdecydowano o przeniesieniu prezentacji do Gdańskiego Inkubatora Przedsiębiorczości.

Miałem niekrytą przyjemność przedstawienia tematu "Modularny JavaScript". Był to mój debiut na tego typu spotkaniach i bardzo dziękuję za responsywność publiczności. Mam nadzieję, że to nie ostatnie słowo meet.js w tej części naszego kraju.

Tworzenie modułów Dojo (bez szablonów)

Autor wiadomości Luty 14, 2013

Ostatnich kilka wpisów poświęciłem tworzeniu modułów zgodnych z AMD. W tym wpisie pokażę, jak stworzyć widget Dojo wykorzystując podejście AMD (kiedyś opisywałem dawny sposób - nadal dostępny, choć już niedługo).

Na początek potrzebujesz

  • ogólnej wiedzy o JavaScript i Dojo
  • serwera WWW (przykłady do pobrania należy uruchamiać na serwerze)
  • 5 minut

Książka: “Scrum. O zwinnym zarządzaniu projektami”

Autor wiadomości Luty 14, 2013

Scrum. O zwinnym zarządzaniu projektamiScrum. O zwinnym zarządzaniu projektami

Scrum jest najpopularniejszą zwinną metodyką zarządzania projektem, a także jedną z najdynamiczniej wdrażanych w różnych firmach.

Mariusz Chrapko przedstawia się w książce jako doświadczony scrumowiec, który chętnie podzieli się z czytelnikiem częścią swojej wiedzy. Sądzę, że z książki "Scrum. O zwinnym ..." można się naprawdę wiele nauczyć. Autor używa przyjemnego i zrozumiałego języka, okraszając swoją opowieść licznymi anegdotami (nie tylko "z życia IT").

Ze słowem "scrum" zawsze kojarzyły mi się dwa inne "serum" i "sacrum". W opisywanej pozycji Scrum jest uznawany za "serum". Warto jednak nadmienić, że w kilku miejscach autor przyznaje, że w konkretnych sytuacjach, konkretni ludzie lub całe organizacje niezbyt potrafili pracować zgodnie ze scrumem. Mówiąc szczerze zdziwiłbym się, gdyby w takiej książce nie uznawano opisywanej metodyki jako "serum". Oceniam jednak, że autor całkiem zgrabnie wplótł pewne ostrzeżenia przed ryzykiem związanym z nowym podejściem. W przypadku drugiego słowa też początkowo odnosiłem wrażenie, że wszystko jest naciągane pod scruma, co jest prawdą tylko częściowo.  W dalszej części lektury przekonałem się, iż to jednak scrum ma służyć ludziom, a nie ludzie scrumowi (choćby duża elastyczność związana z codziennymi spotkaniami zespołów zdalnych).

Tworzenie modułów JS zgodnych z AMD (require.js)

Autor wiadomości Styczeń 6, 2013

W niedawnym wpisie pokazałem jak wykorzystać bibliotekę require.js. W tym skupię się na tym, jak tworzyć własne moduły JavaScript zgodne z AMD (ang. asynchronous module definition).

Aby zacząć warto mieć:

  • serwer www (może być WAMP)
  • podstawy JS (przyda się też minimalna wiedza o AMD)
  • 5 minut ;)

Grupa badaczy z Politechniki Gdańskiej dowiodła: Św. Mikołaj istnieje!

Autor wiadomości Grudzień 21, 2012

W ostatnim czasie specjalnie powołana grupa badawcza stworzona na Politechnice Gdańskiej dowiodła - Święty Mikołaj istnieje!

Argument zgodności

W procesie dochodzenia do tego wniosku wykorzystali Platformę usług NOR-STA, tworząc drzewo dowodu. To nie pierwsze zastosowanie w praktyce Metodyki Trust IT (akredytacja szpitali CMJ oraz samoocena CAF), choć pierwsze tak wiekopomne odkrycie ;)

Aby zapoznać się z niepodważalnym materiałem dowodowym wejdź na stronę projektu NOR-STA i kliknij w Mikołaja.

Require.js – AMD w praktyce

Autor wiadomości Grudzień 16, 2012

Już kilkukrotnie poruszałem temat tworzenia modułów (czasem nawet "klas") w JavaScripcie. Tym razem coś nowego - asynchroniczne definiowanie modułów. W skrócie AMD (ang. asynchronous module definition). Coraz więcej znanych frameworków i bibliotek wykorzystuje właśnie to podejście (choćby Dojo i jQuery).

W tym wpisie spróbuję pokazać dlaczego powstało takie rozwiązanie oraz przedstawić kilka prostych zastosowań.

Na początek warto:

  • mieć jakieś podstawy JavaScript
  • zarezerwować 5 minut

Książka “Google+ dla biznesu”

Autor wiadomości Listopad 2, 2012

Okładka Google+ dla biznesu

Serwisy społecznościowe stają się ostatnio coraz ważniejszą areną zmagań marketingowców. Kolejne pojawiające platformy pokazują, że rynek ten wciąż jeszcze rośnie.
Jednym z najnowszych serwisów społecznościowych mającym jakiekolwiek znaczenie jest Google+, którego w skrócie można uznać, za odpowiedź giganta wyszukiwarkowego na facebooka.

Tyle w skrócie, bo w rzeczywistości różnic jest sporo, tak w funkcjach dostępnych na obu serwisach, jak i w samym sposobie "życia" na danej platformie.

Chris Brogan zastrzega w kilku miejscach, że nie ma nic wspólnego z Google, że nikt z tej firmy nie zlecił mu napisania tej książki, ani nie dostaje lepszych wyników w wyszukiwarce w zamian. Po prostu uważa, że Google+ jest warte poznania i wykorzystania w codziennych działaniach marketingowych.

Co spodobało mi się w książce to raczej nastawienie na opis tego, co zyska się korzystając z G+, a nie na to jaki to on jest "fajny" i nowoczesny. Autor bardzo często podaje przykłady z własnego życia pokazujące jak dany wpis pomógł mu w zdobyciu nowych kontaktów biznesowych. Co więcej - podaje przykłady z innych serwisów, np. z twittera. Zatem należy uznać, że wiedza przekazana w tej książce odnosi się raczej do "działań promocyjnych w internecie z wykorzystaniem serwisów społecznościowych ze szczególnym uwzględnieniem Google+".

Czy książka da Ci prosty przepis na to, jak zarobić miliony? NIE.
Czy książka da Ci prosty przepis jak zdobyć popularność w Internecie? Raczej nie.

Rozwijanie listy po kliknięciu na dijit.form.FilteringSelect / ComboBox

Autor wiadomości Sierpień 22, 2012

W Dojo Toolkit jest cały zestaw widgetów pozwalających budować bardzo nowoczesne aplikacje webowe. W ty wpisie zajmę się dwoma (spokrewnionymi) kontrolkami:

  • dijit.form.FilteringSelect
  • dijit.form.ComboBox

autouzupełnianie dijit.form.FilteringSelect

Co one robią?

Co z nimi nie tak, skoro mam zamiar im poświęcić cały wpis? Kolejno - są to komponenty zastępujące zwykły HTML-owy znacznik <select />. Są bardzo przyjazne dla oka, pozwalają nie tylko na wybór pozycji z listy dostępnych, ale także na wpisywanie własnych (mechanizm podpowiedzi), dodatkowo bardzo dobrze współdziałają z data store. Słowem - używać, nie umierać ;) .

Jednak posiadają jedną dużą wadę funkcjonalną - aby rozwinąć listę trzeba kliknąć dokładnie,tylko i wyłącznie w strzałeczkę sugerującą rozwijanie.

demo online