Witam ponownie! Dziś, tak jak zapowiadałem w ostatnim wpisie, znów powraca temat „Testowanie z Jasmine” Powoli robi się z tego taki mini kurs (czy jak to nazwać) no ale temat zdecydowanie wymaga kontynuowania… Zatem dziś kolejne aspekty frameworka Jasmine, a konkretniej matchery czyli odpowiedniki asercji znanych z innych frameworków testowych; ponadto „setup” oraz „teardown” czyli sposób na inicjowanie testów i sprzątanie po nich; wspomnę także o metodach w...
Hej, sorry za tę przerwę! Dopadło mnie chyba to samo o czym pisał ostatnio procent… No ale nic to, oto jestem z powrotem z nowymi siłami do blogowania! A dzisiejszym wpisem postanowiłem kontynuować temat testowania kodu napisanego w JavaScript. Ostatnio zrobiłem krótki wstęp do frameworka Jasmine – jeśli jesteś nowicjuszem w temacie testów jednostkowych w JavaScript lub nie wiesz zupełnie nic na temat frameworka Jasmine, to zachęcam do przeczytania tego wpis...
W poprzednim wpisie na temat testowania kodu JavaScript, przedstawiłem trzy najpopularniejsze frameworki służące do tego celu – QUnit, Mocha oraz Jasmine. Napisałem też baaardzo pokrótce na czym generalnie polega testowanie JavaScript. Myślę jednak, że to zdecydowanie za mało… Postanowiłem więc trochę zgłębić temat na łamach bloga, tak żebyśmy wszyscy się mogli czegoś nowego nauczyć Całkiem subiektywnie, na warsztat wybrałem Jasmine. Podoba mi się składnia ...
More experience I gain, more interested I am in how things work underneath the code level. In this post I want to provide short description of the Top 10 programming languages (by TIOBE Index), how they work and their super short history.
Sztuka programowania 3789 dni, 5 godzin, 2 minuty temu 441 źrodło rozwiń
Building better client-side JavaScript applications For some time now, you could have noticed a trend in web applications development to build more and more complicated applications, moving more logic from the server to the client side. Is it an appropriate trend? I don’t know. The discussion between supporters and opponents of each approach may look like discussion concerning superiority of Easter over Christmas; it’s hard to concede the point to any side as they have their arguments. That is w...
Witam, po krótkiej przerwie spowodowanej przedłużonym weekendem oraz oglądaniem mundialu w Brazylii Na szczęście dziś wieczorem gra najmniej ciekawa grupa, postanowiłem więc wykorzystać to „okienko” na napisanie nowego wpisu. Nie mogę Was przecież za bardzo zaniedbywać… Ostatnimi czasy zauważyłem sporo wpisów w blogosferze (przynajmniej w tej, którą sam subskrybuję) na temat Velocity.js… Szczerze mówiąc nie znałem wcześniej tego pluginu jQuery. Jednak po b...
Ostatnio pisałem o systemie automatyzacjipracy grunt. Tak jak wspomniałem ma on swoje wady i zalety. Na szczęście nie jest to jedyna opcja jaka jest dostępna dla światka JavaScript.gulp.js The streaming build system Konkurencją dla grunt jest gulp.js (niektórzy nawet mówią, że grunt jest pase a gulp trendi) – narzędzie, które działa na zasadzie code-over-configuration z prostym API (to tutaj IMO jest najważniejsze – wystarczy porównać dwa skrypty robiące to samo w grunt i w gulp by zobaczyć, że gulp je...
Skoro już mamy nasze środowisko przygotowane i wiemy co i jak z tym grunt, to pora się nim trochę pobawić :) UWAGA: to jest przykład, nie twierdzę że najlepiej napisany, chodzi głównie o pokazanie co można zrobić.Krok 0 – przygotowanie środowiska W aplikacji będziemy wykorzystywać grunt jak i bower, więc warto sobie przypomnieć jak te dwie rzeczy zainstalować :)npm bower -g install npm grunt-cli -g install Krok 1 – informacje na temat aplikacji i struktury katalogów W tym celu wykorzystamy przykładową...
Poprzednio opisałem do czego służy grunt i jak go zainstalować. Jednak zakończyłem na jednej z najważniejszych rzeczy w grunt – mianowicie pliku który jest odpowiedzialny za definicje zadań jak i konfiguracje tego co ma nam ten biedny grunt robić :) Niestety, z grunt nie jest tak łatwo jak z NPM – by stworzyć gruntfile.js lub gruntfile.coffee mamy dwie opcje:Ręczne utworzenie plikuWykorzystanie kolejnej paczki (kiedyś była częścią grunt) grunt-init Ręcznie możemy to zrobić za pomocą poleceńtouch gruntf...
Ostatnio omawialiśmy co to jest NPM oraz co to jest Bower. Pora na coś z czego będzie nam naprawdę ciężko (do póki nie poznamy alternatywy ;)) żyć w świecie JavaScript.Grunt The JavaScript Task Runner Grunt jest to system automatyzacji pracy – nie zależnie co robimy, czy to ma być statyczna strona w HTML i JavaScript, czy bardziej zaawansowana aplikacja wykorzystująca coffee script, czy też po prostu coś co chcielibyśmy z automatyzować. W odniesieniu do naszego świata .NET Grunt można porównać z MSBUIL...
Postawiłem przed sobą dość proste zadanie dodania nowego 'ficzeru' do pewnej wewnętrznej ministronki w firmie. Ot, taka mała lista obsługiwanych aplikacji. Z biegiem czasu 'mutacji' produktu powstało wiele, dlatego lista stała się dość pokaźna i znalezienie czegoś w niej stało się trudne.
W poprzednim odcinku dowiedzieliśmy się co to jest Node (pobieżnie) i do czego służy NPM. Dowiedzieliśmy się, by zainstalować framework lub rozszerzyć nasz serwer o dodatkowe funkcje wystarczy polecenie npm install i kłopot z głowy. A co jeżeli byśmy chcieli zainstalować jQuery? Albo Twitter Bootstrap? Albo jakąś inną kliencką bibliotekę, którą chcemy wykorzystać w aplikacji? W Visual Studio za pomocą nuget instalujemy paczkę o odpowiedniej nazwie i ona nam już trafia do odpowiednich folderów. Ale NPM ...
Jednym ze sposobów na przyspieszenie wczytywania strony internetowej jest asynchroniczne ładowanie skryptów JavaScript. Jest to ważne szczególnie kiedy wykorzystujemy na naszych stronach skrypty znajdujące się na zdalnych serwerach, ponieważ często ich pobieranie trwa długo. Przeglądarki internetowe, domyślnie podczas wczytywania strony przetwarzają poszczególne elementy DOM jeden po drugim czyli synchronicznie. Jako, że script również jest takim elementem, jego przedłużone wczytywanie mo...
Ostatnio jeden z czytelników tego bloga zadał mi pytanie związane z oknami modalnymi w Bootstrap co skłoniło mnie do poszperania trochę w dokumentacji wtyczek jQuery do Bootstrap’a. Po bliższym zapoznaniu się z tą tematyką uznałem, że może z tego powstać całkiem ciekawy i użyteczny wpis – i oto efekt Zresztą nie ma co przedłużać, przejdźmy zatem do rzeczy!
Czas się przyznać. Nie można takiego stanu utrzymywać dłużej bo prawda prędzej czy później wyjdzie na jaw. Jak to mówią kłamstwo ma krótkie nogi. Dzisiaj postanowiłem wyjść z szafy, ujawnić się i powiedzieć to na głos. Nie testuję JavaScript’ów. Uff teraz kiedy już publicznie to powiedziałem 50% sukcesu za mną. No bo przecież powiedzenie tego publicznie jest najtrudniejsze… Mimo, iż JavaScript jest już od dawna pełnoprawnym obywatelem w naszych aplikacjach czy to WebForms (tfu!) czy MVC i pisze się g...
Hej! Dziś trochę o moim ulubionym języku JavaScript, a konkretniej o dość popularnej konstrukcji tego języka jakim są wywołania zwrotne czyli inaczej, z angielska, o funkcjach callback. Jak możecie przeczytać w tytule tego wpisu, jest on poświęcony pewnemu szczególnemu przypadkowi funkcji callback – chodzi mianowicie o wywołanie zwrotne, które jednocześnie jest metodą obiektu. Zanim jednak przejdę do omówienia tego konkretnego przypadku, kilka słów przypomnienia co to jest funkcja callbac...
Jak pewnie wielu z Was pamięta, w jednym z ostatnich wpisów poruszyłem temat LESS czyli swego rodzaju rozszerzenia CSS, pozwalającego na re-używanie kodu, definiowanie zmiennych itp., itd. Wpis tamten zdecydowanie był jedynie wstępem do bardziej szczegółowego opisu możliwości tego rozwiązania – napisałem w końcu tylko jak zacząć używać LESS oraz pokazałem jeden prosty przykład kodu… Dziś zatem pora na znaczne poszerzenie tego tematu i więcej szczegółów dotyczących LESS… postaram się przyb...
Useful Node.js modules – ssh2 I would like to introduce a very useful Node.js module to you, which can help in automating your daily work or accomplishing non-ordinary and non-obvious task such as SFTP/SSH management.Description ssh2 is a SSH2 client module written in pure JavaScript. In this case the above mentioned module helped me to bootstrap the simple tool a while ago. The main goal of this tool is to automate creating, downloading and uploading a backup to SFTP for one-of-the-most-popul...
Zastanawialiście się kiedyś jak zrobić układ strony podobny do tego, który zobaczyć możemy między innymi w serwisie Pinterest? Pewnie większość z Was zna ten serwis – jeśli nie to spieszę wyjaśnić, że jest to serwis społecznościowy, w którym użytkownicy dzielą się z innymi swoimi zdjęciami. Wyróżnia się on ciekawym układem, w jaki prezentowane są zdjęcia. Generalnie chodzi o to, że „layout” podzielony jest na kolumny o określonej szerokości, a ilość tych kolumn zależy od szerokości okna przeglądarki. W u...
Są momenty, w których jedyne co wypada zrobić do dać sobie samemu blachę z wykrzyknieniem: “kRRRRetynie!”. Tak miałem ostatnio, gdy po wdrożeniu kolejnej wersji systemu dostałem od klienta komunikat: “e ziom, nie działa!”. Po inwestygacji logów przyczyna okazała się dość prozaiczna: owszem, deploy poszedł, wszystko się udało, ale “użytkownik końcowy” nie zrobił (bo i skąd miał wiedzieć że trzeba to zrobić?) full-refresh, aby przeglądarka zaciągnęła now...