Przejdź do głównej zawartości

Node.js i aplikacje CLI - smaczek przed sesją

Na rozgrzewkę przed sesją o Node.js (jutro, na 35. spotkaniu Śląskiej Regionalnej Grupy Microsoft) bardzo prosty programik demonstrujący użycie funkcji http.request(). Mimo, że Node.js to przede wszystkim platforma uruchomieniowa lub raczej środowisko uruchomieniowe dla aplikacji sieciowych (w tym głównie webowych), można je również wykorzystać do tworzenia niekoniecznie prostych programów typu CLI. Poniżej przykład - coś na wzór programu curl, choć tutaj akurat szalenie uproszczonego:



Do zobaczenia na spotkaniu!

Komentarze

  1. Dałem sobie +1 z powodów przedstawionych we wpisie na G+ :-)

    OdpowiedzUsuń
  2. data.length w przypdaku Node.js może powodować błędy! Przykładowo polskie znaki liczone są jako dwa znaki, dlatego tworzy się Buffer i dopiero sprawdza długość. Gdzie to przeszkadza? W odpowiedzi na zapytanie do serwera trzeba podać ilość znaków w odpowiedzi i tutaj można się zdziwić kiedy utnie nam z odpowiedzi perę znaków.

    OdpowiedzUsuń
  3. Cenna uwaga, ale założyłem w programie, że data.length zwraca liczbę znaków, nie bajtów. Chyba, że nie do końca zrozumiałem :-) Sprawdzę, jak się sprawa ma z Bufferem.

    OdpowiedzUsuń
  4. @Wszerad tak, sprawdziłem - wszystko się zgadza, zwracana jest liczba znaków dla utf-8, natomiast jeśli ma to być liczba bajtów (zwykle bardziej użyteczna) to powinno się użyć np. Buffer.byteLength(data, 'utf-8'). Jeszcze raz dzięki za zwrócenie uwagi :-)

    OdpowiedzUsuń
  5. Lekko namieszałem, pamiętałem, że miałem z tym problem ale nie do końca pamiętałem jaki :D

    OdpowiedzUsuń

Prześlij komentarz

Popularne posty z tego bloga

Niesamowicie prosty czujnik zmierzchowy.

Tym razem zero programowania, będzie natomiast nostalgiczno-wspomnieniowy układzik, lekko zmodyfikowany.
Otóż kilka dni temu rozmawialiśmy w gronie znajomych o różnego rodzaju czujnikach zmierzchowych i czujnikach ruchu. Ponieważ należę do tych wariatów, co to hołdują jeszcze owej przestarzałej i kompletnie odrealnionej dziś zasadzie: "po co kupować, gdy można zrobić", stwierdziłem, że poskładam takie coś (czujnik zmierzchowy; sensor ruchu faktycznie lepiej nabyć, choćby ze względu na rozmiary ;)) i być może podłączę do jakiegoś mikrokontrolera. Przypomniało mi się też przy okazji, że znalazłem ostatnio w elektronicznych śmieciach stary fotorezystor (dla niewtajemniczonych: element zmieniający rezystancję, czyli opór elektryczny, pod wpływem działania strumienia światła) RPP130, jeden z kilku pozostałych po montowanych wieki temu układach tranzystorowych do zdalnego sterowania pracą urządzeń za pomocą latarki... No OK, nie było to specjalnie rozbudowane zdalne sterowanie ;)

Android i zewnętrzny moduł GPS

Od kilku dni jestem w posiadaniu smyrfona z Androidem 4.1.1 na pokładzie. Kwestie związane z wyborem systemu roztrząsałem już na G+, a ten artykuł tutaj ma konkretny temat, więc nie będę wyjaśniał po raz n-ty. Po prostu zwyciężyły popularność i ekosystem oraz przywiązanie do produktów sieciowych Google. Mniejsza.

Zbliża się sezon urlopowy :-) Moi podopieczni już mają wakacje, a ja wyjeżdżam wkrótce. W każdym bądź razie wakacje to podróże - samochodem, rowerem, na piechotę, żaglówką, motorówką, samolotem... Zaawansowane urządzenia mobilne przyzwyczaiły nas już do usług lokalizacyjnych, z których najważniejszą jest GPS (na dalszym planie mamy A-GPS, lokalizacje w oparciu o sieci WiFi itp.). Często korzystamy z programów, które w coraz ciekawszy sposób wiążą naszą lokalizację, pobraną z np. GPS-a, z przeróżnymi danymi, nieraz ocierając się o AR.
Każdy współczesny smartfon, a przynajmniej znakomita ich większość, wyposażona jest we wbudowany odbiornik sygnału lokalizacyjnego (GPS, GLONASS…

Po co mi to całe Arduino?

Oczywiście tytuł ma być jedynie prowokacją. Chociaż nie do końca - artykuł jest właśnie poświęcony pracy w Arduino IDE z mikrokontrolerami, ale bez płytek Arduino.
Czym jest Arduino - wiemy wszyscy, zarówno początkujący fani programowania elektroniki, jak i zaawansowani mikrokontrolerowcy. Jeśli jednak nie do końca wiemy, zachęcam do odwiedzenia strony domowej projektu (link 5 na końcu artykułu) oraz zerknięcia np. w poradnik (link 4).

Jakiś czas temu, przełamując się i zmieniając zdanie ("o 180 stopni" ;-)) nabyłem sobie Arduino Leonardo, głównie w celu jego "obwąchania" i zapoznania się z bogatym zbiorem bibliotek dostępnych dla tej platformy. Zgoda, różne biblioteki są dostępne niezależnie od Arduino, ale i tak się zdecydowałem. Dlaczego Leonardo? Otóż miałem ochotę przyrządzić dwie pieczenie na jednym ogniu - mieć Arduino i przetestować ATmegę 32u4. Dziś doskonale zdaję sobie sprawę, że żeby pobawić się Arduino nie trzeba go w ogóle posiadać... Ale po kolei.

Pi…