Blog webdeveloperski Patryk yarpo Jar

Zmiana wersji node.js za pomoca nvm

Autor wiadomości Październik 17, 2016

Node.js zagoscil juz w swiecie programistycznym na dobre i czesto nawet jesli nie tworzysz produktu w JavaScript, to nadal jakas czesc projektu wymaga node'a.

Czasem tez wymagana jest konkretna wersja node.js. Istnieje kilka sposob na zainstalowanie wlasciwej wersji, ja pokaze tu jedna z prostszych, wykorzystujaca nvm (Node Version Manager).

Na poczatek

  • zainstalowany node.js
  • umiejetnosc korzystania z wiersza polecen
  • 3 minuty

Wpis ten dotyczy nvm i node na MacOS, ale roznice dla Linuksa czy Windowsa nie powinny byc duze.

Pobranie nvm

U mnie bardzo dobrze i sprawnie udalo sie zainstalowac nvm za pomoca tej komendy:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash

Jesli mialbys jakiekolwiek problemy, odsylam do dokumentacji: Instalacja NVM.

Instalacja dodatkowej wersji

Zalozmy, ze potrzebujemy starszej wersji, np. 5.6.0, a domyslnie zainstalowal sie nam node.js w wersji 6.8.0. Poki co mamy tylko jedna wersje (6.8.0), zatem musimy doinstalowac dodatkowa wersje:

nvm install 5.6.0

Gotowe. Dodatkowa wersja zostanie pobrana i zainstalowana, a takze ustawiona jako wersja node.js jaka ma byc wykorzystywana. Na wszelki wypadek otworz terminal ponownie, aby upewnic sie, ze ma wszystkie zmienne srodowiskowe odswiezone.

Zmiana wersji

Jesli masz juz wiecej niz jedna wersje zainstalowana i z jakiegos powodu musisz zmienic domyslna wersje uzyj polecenia:

nvm use 5.6.0

Gdzie oczywiscie numer wersji moze byc inny, w zaleznosci od potrzeb.

 

 

Progressive enhancement – tworzenie stron dla kazdego odbiorcy

Autor wiadomości Listopad 16, 2014

Kazdy z nas lubi tworzyc cos bardzo nowoczesnego i przyjaznego programiscie. Pewnie nikt z nas (procz 3 osob ciagle odwiedzajacych te strone za pomoca IE 6) nie znosi tworzyc czegos dla starych i wrednych srodowisk.

Niestety, czasem nie wszystko zalezy od nas. Musimy pojsc na kompromisy i zapewnic takze starym, zgrzybialym srodowiskom podstawowe wsparcie. Istnieje kilka sposob na tworzenie takich stron. W ponizszej prezentacji glownie chcialbym sie skupic nad progressive enhancement (progresywne ulepszanie) oraz wspomniec o kilku innych, np. graceful degradation.

JavaScript – sterowanie kontekstem wywolania funkcji

Autor wiadomości Grudzień 13, 2013

Ostatnio na blogu cisza, ale nie oznacza to, ze niczego nie pisze 😉

Czasu niestety zawsze malo, ale znalazlem niedawno chwile na napisanie dluzszego artykulu zbiorczo traktujacego o pracy z operatorem `this' oraz `new'. Artykul zostal podzielony na dwie czesci:

Milej lektury!

Tech 3 Camp: Kompresja stron internetowych

Autor wiadomości Czerwiec 19, 2013

Wczoraj miałem okazję przedstawiać temat kompresji stron internetowych na branżowym spotkaniu Tech 3 Camp.

Cieszę się z dobrego odbioru publiczności oraz z kilku bardzo ciekawych rozmów po prezentacji. Tak jak obiecałem zamieszczam swoją prezentację.

Tworzenie obiektów za pomocą Object.create (ECMAScript 5)

Autor wiadomości Czerwiec 10, 2013

JavaScript nie stoi w miejscu. Cały czas trwają prace nad różnymi API wchodzącymi w skład HTML 5, jak również nad rdzeniem języka - ECMAScript.

Dziś coś o nowości z ECMAScript 5 metodzie `Object.create' pozwalającej na wygodne tworzenie obiektów. Przedstawiłem już wiele sposobów na tworzenie obiektów w JavaScript. Większość z nich była jednak mniej lub bardziej naginaniem podstawowych mechanizmów języka,aby przybliżyć jego działanie do oczekiwań programistów Java-pochodnych (pamiętajmy, nawet potocznie Java != JavaScript).

Drugi meet.js w Gdańsku

Autor wiadomości Maj 28, 2013

Kolejne spotkanie z cyklu meet.js miało wczoraj miejsce "tradycyjnie" w Inkubatorze Starter w Gdańsku. Po raz kolejny trójmiejscy front-endowcy pokazali, że są chętni dzielenia sie wiedzą dotyczącą JavaScript. Na widowni zasiadło znowu ponad 100 osób (dokładnych statystyk nie znam, ale chyba było odrobinę mniej osób niż zeszłym razem).

Jeśli chodzi o prezentacje to myślę, że także można być usatysfakcjonowanym - Node.js, MongoDB, łańcuchy prototypów oraz asm.js. Z pewnością dało to niezły obraz aktualnych trendów w JS i technologiach pobocznych.

Moim zdaniem najciekawsze było wystąpienie Błażeja Krysiaka - "MongoDB - NoSQL'owa baza danych w JS". Prezentacja niezwykle przejrzysta, techniczna, ale z doskonale zachowaną proporcją między kodem, a poziomem abstracji pozwalającym wynieść wiele osobom, które pierwszy raz słyszały o nierelacyjnych bazach danych. Brawo!

Ponoć przez wakacje czeka nas przerwa w spotkaniach meet.js. Mam nadzieję, że po letniej przerwie wracamy z nowymi, ciekawymi prelekcjami.

Książka: “HTML5. Zaawansowane programowanie”

Autor wiadomości Maj 26, 2013

HTML5. Zaawansowane programowanieHTML5. Zaawansowane programowanie

HTML5 zawitał na dobre pod strzechy wraz z najnowszymi wersjami popularnych przeglądarek. Oczywiście, nie wszystko jest już wspierane (na to WHATWG daje światu czas do 2022 r.), jednak nawet tylko część aktualnie zaimplementowana w najważniejszych przeglądarkach na rynku daje niesamowite możliwości.

Chciałbyś rysować na stronie (wektorowo czy też bitmapy?), chciałbyś mieć lepszą komunikację między zakładkami? Między stronami? Między sesjami (bez użycia ciasteczek)? Chcesz używać WebSocketów? A może policzyć coś w osobnym wątku bez blokowania interfejsu?

Tak, nadal mówię o programowaniu za pomocą natywnego JavaScript. Bez wtyczek. Bez kompilatorów. Bez problemów. Z użyciem nowych API dostarczanych przez specyfikacje HTML5.

Starczy reklamy technologii. O tym, że HTML5 będzie przyszłością sieci już chyba nie trzeba nikogo przekonywać. Natomiast na pewno warto zareklamować książkę "HTML5. Zaawansowane programowanie" autorstwa Petera Lubbersa, Briana Albersa i Franka Salima. Nie jest to książka, z której początkujący nie-programista nauczy się programować. Nie ta pozycja, nie taki cel postawili sobie autorzy. Natomiast każdy webdeveloper dobrze radzący sobie z programowaniem dostanie bardzo czytelny i przyjemny w lekturze przegląd nowych możliwości JavaScriptu. Każdy rozdział dotyczy innego API (m. in. canvas, websocket, web workers itp.). Nie jest to jedynie lista dostępnych pól nowych obiektów, ale konkretne "żywe" przykłady. Bardzo podobały mi się także ramki z dodatkowymi uwagami autorów - przestrogi przed możliwymi pułapkami, rady i pomocne uwagi.

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

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