Wyszukaj / o blogu

JavaScript - krótkie wprowadzenie do testowania kodu

Opublikowano śro 03 czerwca 2020 w javascript • 1 min read

TDD

Dlaczego warto stosować testy/Do czego służą testy?

[..........]

TDD - test driven development - testowanie aplikacji na bieżąco, podczas realizacji kolejnych kroków, może to być związane z tworzeniem testu jeszcze przed napisaniem danego bloku kodu

Unit test - inaczej testowanie jednostkowe - polega na rozbiciu kodu na jak najmniejsze części i poddawanie ich testom …


Czytaj dalej

Sass - struktura projektu

Opublikowano wto 02 czerwca 2020 w saas • Tagi: sass, scss, css, javascript, gulp, gulpfile • 1 min read

struktura-projektu-scss

Wraz z wzrostem wielkości projektu, większą rolę odgrywać będzie odpowiedni sposób strukturyzacji oraz modularyzacji plików zdefiniowanych w ramach niego stylów. Podział na odpowiednie moduły umożliwia również ponowne wykorzystanie wybranych części kodu w innych projektach.

Zwyczajowo przyjęło, się że plik, który importuje moduły (partials) a staje się łącznikiem pomiędzy nimi nazwany …


Czytaj dalej

Sass - wbudowane moduły i ich metody

Opublikowano ndz 31 maja 2020 w saas • Tagi: sass, scss, css, javascript, gulp, gulpfile • 4 min read

Sass oferuje następujące wbudowane moduły color, list, map, math, meta, selector, string

Używanie modułu odbywa się poprzez jego zaimportowanie na początku poprzez odowłanie się do słowa kluczowego @use nazwy modułu oraz użycia gwiazdki lub bez użycia gwiazdki - wówczas każda metoda musi być poprzedzona nazwą modułu

@use 'sass:math';
$half: math …

Czytaj dalej

Sass - wprowadzenie

Opublikowano ptk 29 maja 2020 w saas • Tagi: sass, scss, css, javascript, gulp, gulpfile • 7 min read

CSS na sterydach - czyli Syntactically Awesome Style Sheets

Sass

Sass jest językiem skryptowym rozszerzającym możliwości CSS i wymaga kompilacji na CSS tak aby mógł być interpretowany przez przeglądarki w tym celu można wykorzystać Gulpa (odpowiedniej wtyczki) lun wtyczki VSC.

Sass pozwala na:

* definiowanie zmiennych

* pisanie składni opartej na zagnieżdżaniu selektorów w …


Czytaj dalej

JavaScript - NPM

Opublikowano czw 28 maja 2020 w javascript • Tagi: gitignore, npm, Dependencies, devDependencies, package.json, ubuntu • 1 min read

npm-logo

NPM

Korzystając z domyślnej opcji instalacji paczki/wtyczki z NPM w przypadku Ubuntu stosując opcję instalacji globalnej należy wykorzystać uprawnienia administracyjne sudo. Aby uniknąć instalowania wtyczkę w ten sposób (i przekazywania im możliwości edytowania ustawień systemowych) należy zastosować niżej opisane kroki.

1) Należy stworzyć folder, w którym będą zapisane paczki …


Czytaj dalej

JavaScript - Gulp

Opublikowano czw 28 maja 2020 w javascript • Tagi: gitignore, node_modules, node, gulp, sass, wtyczki, npm, Dependencies, devDependencies, package.json • 4 min read

Gulp

Instalacja globalna

Gulp - jest narzędziem pozwalającym na zarządzanie wieloma zadaniami

Instalacja globalna Gulpa (wymaga wcześniejszej instalacji npm np. korzystając z nvm - Node Version Manager), która pozwala na wywoływanie komendy gulp globalnie przy pomocy terminala

npm install --global gulp-cli

Sprawdzanie instalacji (jej wersji)

gulp -v

zwraca:

CLI version: 2.2.1 …

Czytaj dalej

CSS - max(), min(), clamp()

Opublikowano ndz 24 maja 2020 w css • Tagi: css, max, min, clamp, funkcje • 2 min read

min() - jest funkcją CSS i pozwala na oznaczenie najmniejszej wartości w przypadku szerokości obiektu i przyjmuje jedno lub więcej wyrażeń rozgraniczonych przecinkami jako parametry (istnieje możliwość mieszania jednostek np. px, vw, %) - najmniejszy z dwóch podanych parametrów w danym momencie jest obowiązujący.

.second-level {
  width: min(50vw, 400px);
}

Przykładowo powyższy …


Czytaj dalej

JavaScript - przechowywanie danych lokalnie oraz w sesji

Opublikowano ptk 22 maja 2020 w javascript • Tagi: js, javascript, local storage, przechowywanie danych lokalnie • 1 min read

Lokalna pamięć przeglądarki pozwala na przechowywanie danych przy pomocy JavaScript bezterminowo.

Dane przechowywane w lokalnej pamięci przeglądarki nie mogą przekroczyć 5mb i nie powinny znajdować się w nich dane poufne. Lokalna pamięć przeglądarki działa w sposób synchroniczny (odpowiada na zapytania po kolei).

Aby korzystać z tzw local storage (LS) można …


Czytaj dalej

JavaScript i trzykropek (...) -> "rozproszenie"/"reszta"

Opublikowano czw 21 maja 2020 w javascript • Tagi: javascript, js, array, tablica, ES6, ES2015 • 2 min read

Zastosowanie trzech kropek wprowadzonych w ES6 - pozwala na rozwinięcie wyrażenia iterowalnego (wielokorotnie powtarzalnego/przejściowego) jako spread operator lub parametr rest.

Trzykropek można stosować w kontekście obiektów, tablic, stringów, zbiorów (setów) i map.

Spread Operator -> Rozproszenie

Dzieli kolekcję tworząc tablicę

Pozwala na rozciągnięcie (rozproszenie/rozwinięcie) obiektu mogącego ulec iteracji wewnątrz odbiorcy …


Czytaj dalej

JavaScript - klasy

Opublikowano ptk 15 maja 2020 w javascript • Tagi: js, javascript, klasy, classes • 2 min read

Klasy pozwalają na przypisanie metod bezpośrednio do (prototypów) obiektów przy pomocy jednego bloku (od ES6)

class Droid {
    constructor(name, occupation) {
        this.name = name;
        this.occupation = occupation;
    }

    logDroid() {
        return `this is ${this.name} a ${this.occupation} // metoda prototypowa -> __proto__: Object
    }
}

const c3po = new Droid('C-3PO', 'Protocol droid');
const r2d2 = new Droid …

Czytaj dalej

Ubuntu - zamiana gronostaja na fossę - przerwana aktualizacja

Opublikowano wto 12 maja 2020 w ubuntu • Tagi: linux, ubuntu, aktualizacja, ciemny motyw, ubuntu 19.10, ubuntu 20.04 • 1 min read

Do tej pory pracowałem na Bionicznym Bobrze (Ubuntu 18.04) następnie Eonicznum Gronostaju (19.10) i gdy przyszedł czas na Skupioną Fossę (20.04) postanowiłem skorzystać z możliwości aktualizowania systemu - niestety w trakcie dokonywania się aktualizacji została ona przerwana w nieoczekiwany sposób, w wyniku czego system przestał się uruchamiać.

focal fossa

Przerwana …


Czytaj dalej

JavaScript - etykietowanie funkcji

Opublikowano pon 11 maja 2020 w javascript • Tagi: javascript, js, tag, function, funkcja, etykietowanie, tagged function • 2 min read

Template strings lub też literals zwane po polsku łańcuchami szablonowymi

Łańcuchy szablonowe [wcześniej wspominałem o nich w tym miejscu] pozwalają na podstawianie zmiennych wewnątrz informacji przeznaczonymi do druku i zawartymi pomiędzy apostrofami [ warto pamiętać o tym, że stosowanie tego formatu zapisu nie wymaga używania sekwencji ucieczkowej -> /n]

Przykładowo:

const droid …

Czytaj dalej

DOM: NodeList i HTML Collection

Opublikowano wto 05 maja 2020 w javascript • Tagi: javascript, js, dom, kolekcje węzłów DOM, kolekcja węzłów DOM, collection of DOM nodes • 1 min read

Kolekcje węzłów DOM

Typy węzłów

  • element node
  • attribute node
  • text node
  • comment node

NodeList

Uporządkowana lista wszystkich węzłów DOM (w tym również węzłów tekstowych oraz bloków tekstowych), obiekty można uzyskać poprzez odwołanie się do indeksu

querySelectorAll()/getElementsByName() - - metody document zwracające NodeList

NodeList posiada metodę forEach() !!

NodeList, jest static - zwrócona lista …


Czytaj dalej

JavaScript - wydarzenia DOM cz. 2 - propagacja

Opublikowano pon 04 maja 2020 w javascript • Tagi: dom, js, javascript, events, propagacja, propagacja wydarzenia, selectors • 1 min read

Propagacja wydarzeń (w górę) - event bubbling

W DOM domyślnie wydarzenia są przenoszone od dziecka lub rodzeństwa do rodzica lub rodzeństwa - oznacza to, że jeśli rodzic oraz dziecko mają nastawioną ten sam rodzaj akcji wywołującej (np. click) oraz różne lub tą samą wydarzenie wywołane, oba z nich dojdą do skutku chyba …


Czytaj dalej

JavaScript - wydarzenia DOM cz. 1

Opublikowano pon 04 maja 2020 w javascript • Tagi: dom, js, javascript, events, wydarzenia, selectors • 3 min read

Nasłuchiwacz wydarzeń ;)

Aby dodać interakcji do strony internetowej przy pomocy JS należy do wybranego przez siebie elementu dołączyć tzw. 'nasłuchiwacz wydarzeń' (ang. event listener)

.addEventListener(wydarzenie, funkcja-przekazana-do-wywołania) - ta metoda przyjmuje dwa argumenty rodzaj 1) rodzaj wydarzenia np. 'click' (kliknięcie myszy) oraz 2) funkcję jaka ma się wywołać w momencie jego …


Czytaj dalej

JavaScript i DOM - tworzenie, usuwanie i pozyskiwanie informacji z elementów

Opublikowano sob 02 maja 2020 w javascript • Tagi: js, javascript, selektory, dom, elementy dom • 3 min read

DOMContentLoaded

Na początek warto pamiętać o wydarzeniu DOMContentLoaded - nasłuchuje przeładowania przeglądarki -> pozwala na wywołanie funkcji zmieniającej elementy DOM w momencie załadowania całości drzewa DOM (jest to istotne w momencie gdy plik zawierający skrypt js jest podlinkowany w zamiast po )

Przykładowe zastosowanie "zamknięcie" zmian w bloku/funkcji -> w momencie przeładowania przeglądarki …


Czytaj dalej

JavaScript - selektory DOM

Opublikowano sob 02 maja 2020 w javascript • Tagi: js, javascript, selektory, dom, elementy dom, sibling • 2 min read

DOM - document object model

Selektory pojedynczych elementów

selektor funkcja przykładowe zastosowanie
document.getElementById() zwraca element w podanym Id document.getElementById('button-4')
document.querySelector() zwraca pierwszy element spełniający podany warunek/ wpisany składnią znaną z CSS document.getElementById('#button-4')

:::Istnieje możliwość łączenia selektorów z atrybutami :::

Przykładowe zastosowanie

document.getElementById('button-4').className // zwraca …


Czytaj dalej

JavaScript - obiekt window i document

Opublikowano czw 30 kwietnia 2020 w javascript • Tagi: js, javascript, window, document • 2 min read

Obiekt document jest częścią obiektu window i został opisany poniżej. Wybrane metody obiektu window (globalny) ->

Window

alert() - pokazuje się okienko z ostrzeżeniem

window.alert('Hello world')

lub po prostu

alert('Hello world')

prompt() - wyskakuje okienko z informacją

confirm() - przyjmuje parametr

if(confirm('Are you sure?')) {
  console.log('Yes)
}

window.outerHeight …


Czytaj dalej

JavaScript - konstruktor, prototyp i dziedziczenie

Opublikowano wto 28 kwietnia 2020 w javascript • Tagi: javascript, js • 3 min read

Funkcja konstruktora pozwala na stworzenie wielu obiektów według zdefiniowanego schematu, który jest nazywany prototypem

Nazwa funkcji konstruktora często zaczyna się od dużej litery

Schemat:

  function NazwaFunkcji (właściwość) { // zdefiniowanie konstruktora, przekazanie właściwości
        this.atrybut1 = właściwość; //
        this.atrybut2 = function(argument) {  // funkcja zawarta w ramach obiektu stająca się metodą obiektu
              console.log(this …

Czytaj dalej

JavaScript "this"

Opublikowano ndz 26 kwietnia 2020 w javascript • Tagi: javascript, js, this • 1 min read

Funkcja podczas wywołania odwołuje się do jej bieżącego kontekstu (sposobu jej wywołania, a nie miejsca jej deklaracji lub sposobu jej zdefiniowania) przy pomocy słowa kluczowegothis.

-> nie wskazuje na funkcję wewnątrz, której jest użyte ani na zakres (scope) funkcji

-> wskazanie kontekstu poprzez call, apply (lub bind)

-> wywołanie funkcji z wykorzystaniem …


Czytaj dalej