Repozytorium Web Developera

Archiwum z lat 2013-2018, treści mogą być nieaktualne.

Słowniczek

DRY - DONT REPEAT YOURSELF
Reguła stosowana podczas wytwarzania oprogramowania, zalecająca unikanie różnego rodzaju powtórzeń wykonywanych przez programistów - na przykład unikanie tych samych czynności podczas kompilowania, unikanie wklejania (lub pisania) tych samych (lub bardzo podobnych) fragmentów kodu w wielu miejscach. Reguła pozwala na wykonywanie powtarzających się czynności jeżeli jest ona zautomatyzowana - wykonywana przez komputer. W przypadku powtarzającego się kodu źródłowego można separować powtarzający się fragment i jedynie odwoływać się do niego.
Regułę tę sformułował Andy Hunt oraz Dave Thomas w książce The Pragmatic Programmer. Autorzy zaznaczają, że nie chodzi tylko o unikanie powtórzeń w kodzie, ale o unikanie wszelkich powtórzeń czynności robionych przez programistów. Podają przykłady takie jak automatyzacja procesu kompilacji, generowanie kodu, automatyzacja procesu tworzenia dokumentacji, pisanie skryptów automatyzujących pracę.
MODEL-VIEW-CONTROLLER
Model-View-Controller (pol. Model-Widok-Kontroler) – wzorzec architektoniczny służący do organizowania struktury aplikacji posiadających graficzne interfejsy użytkownika. Wiele prac traktuje go jako pojedynczy wzorzec, lecz może on być także traktowany jako złożony wzorzec wykorzystujący idee wzorców prostych takich, jak Obserwator, Strategia czy Kompozyt.
Model-View-Controller zakłada podział aplikacji na trzy główne części:
  • Model – jest pewną reprezentacją problemu bądź logiki aplikacji.
  • Widok – opisuje, jak wyświetlić pewną część modelu w ramach interfejsu użytkownika. Może składać się z podwidoków odpowiedzialnych za mniejsze części interfejsu.
  • Kontroler – przyjmuje dane wejściowe od użytkownika i reaguje na jego poczynania, zarządzając aktualizacje modelu oraz odświeżenie widoków.
    • zmienić stan modelu,
    • odświeżyć widok,
    • przełączyć sterowanie na inny kontroler.
Wszystkie trzy części (MVC) są ze sobą wzajemnie połączone.
Zalety:
  • Brak zależności modelu od widoków — model jest niezależny od widoków, dlatego w aplikacji może współistnieć wiele widoków prezentujących te same dane na różne sposoby.
  • Łatwiejsza rozbudowa widoków — interfejs użytkownika oraz warstwa prezentacji zmieniają się o wiele częściej niż logika biznesowa aplikacji. Ponieważ obie te części są oddzielone, można łatwo dodawać oraz modyfikować istniejące widoki bez wpływu na kluczową część systemu.
Wady:
  • Złożoność — implementacje MVC wprowadzają dodatkową warstwę abstrakcji oraz dodatkowe sposoby interakcji, czyniąc w ten sposób aplikację potencjalnie trudniejszą do debugowania.
  • Kosztowne zmiany modelu — ponieważ model nie jest zależny od widoku, programiści rozwijający tę część nie muszą przejmować się zależnościami w przeciwnym kierunku. Jeżeli interfejs modelu ulega częstym zmianom, oznacza to konieczność poprawiania wszystkich korzystających z niego widoków.
  • Trudne testowanie widoków — widoki są zależne od modeli, a ponadto zawierają własną, dodatkową logikę. Testowanie złożonych interfejsów użytkownika uważane jest za zadanie trudne.
ABOVE THE FOLD
By extension, situated near the top of a web page; not requiring scrolling. See above the scroll.
BELOW THE FOLD
Referring to that portion of a web page which is far enough down that it is not likely to be visible in the initial display of a standard browser window, such that the reader will probably have to scroll down before seeing it.
FOLD
The division between the part of a web page visible in a web browser window without scrolling; usually the fold.
SKEUOMORPHIC DESIGN
A skeuomorph /ˈskjuːəmɔrf/ is a derivative object that retains ornamental design cues from structures that were necessary in the original. Examples include pottery embellished with imitation rivets reminiscent of similar pots made of metal and a software calendar that imitates the appearance of binding on a paper desk calendar.
LANDING PAGE
A web page at which a user first arrives at a website.
LEADERBOARD
An advertisement on a Web page spanning the width of the page and shallow in height.
SITE MAP
A webpage that lists the contents and shows the structure of a website, to aid in navigation.
SLUG
The last part of a clean URL, the displayed resource name, similar to a filename.
WIREFRAME
A basic visual guide used to suggest the layout of fundamental elements in a web interface.
WEB ACCESSIILITY
Dostępność WWW (ang. web accessibility) – dziedzina wiedzy z zakresu interakcji człowieka z komputerem zajmująca się problematyką tworzenia stron i serwisów internetowych dostępnych dla jak najszerszego grona odbiorców, ze szczególnym uwzględnieniem osób niepełnosprawnych. Dostępność serwisu internetowego oznacza stopień w jakim może być on postrzegany, rozumiany i przeglądany przez wszystkich użytkowników, niezależnie od ich cech lub upośledzeń, a także niezależnie od właściwości używanego przez nich oprogramowania i sprzętu.
SEMANTIC WEB
projekt, który ma przyczynić się do utworzenia i rozpowszechnienia standardów opisywania treści w Internecie w sposób, który umożliwi maszynom i programom (np. tzw. agentom) przetwarzanie informacji w sposób odpowiedni do ich znaczenia. Wśród standardów Semantic Web znajdują się m.in. OWL, RDF, RDF Schema (inaczej RDFS). Znaczenia zasobów informacyjnych określa się za pomocą tzw. ontologii.
WAI-ARIA
Web Accessibility Initiative (WAI) (pl. Inicjatywa dostępności do sieci) – inicjatywa W3C mająca na celu zwiększenie szeroko rozumianej dostępności stron WWW. Oprócz dostępności dla osób niepełnosprawnych, WAI walczy o równouprawnienie wszelkich sposobów korzystania z Internetu.
PROGRESSIVE ENHANCEMENT
Powszechnie wiadomo, że znacznie lepiej jest zapobiegać, niż leczyć. Strategia Progressive Enhancement realizuje tą regułę poprzez zastosowanie dobrej kolejności w procesie produkcji.
PE polega na tworzeniu projektu w trzech następujących po sobie etapach:
  • kodowania danych – HTML,
  • opisu prezentacji – CSS,
  • programowania interakcji interfejsu – JavaScript.
Dzięki zachowaniu takiej kolejności po zakończeniu każdego z etapów uzyskujemy po stronie klienta:
  • Wersję serwisu obsługiwaną przez wszystkie czytniki dokumentów HTML w sposób dla nich domyślny. Zapewnia to, że niezależnie od możliwości czytnika użytkownik otrzyma treści, które będzie w stanie odczytać i zrozumieć.
  • Wersję obsługiwaną przez przeglądarki wspierające CSS. Serwis zapewnia przekaz (wygląd) najbardziej optymalny do możliwości prezentacyjnych sprzętu i oprogramowania użytkownika.
  • Wersję serwisu wykorzystującą w pełni możliwości przeglądarki, dostarczającą treści szybciej, z lepszą interakcją i najlepszym „user experience”.
RWD - RESPONSIVE WEB DESIGN
technika projektowania strony www, tak aby jej wygląd i układ dostosowywał się automatycznie do rozmiaru okna urządzenia, na którym jest wyświetlany (np. przeglądarki, smartfonów czy tabletów[1]. Strona tworzona w takiej technice jest uniwersalna i wyświetla się dobrze zarówno na wielkich ekranach (np. Full HD), jak i na ekranach smartfonów czy tabletów.
RIA - RICH INTERNET APPLICATION
Aplikacje RIA nie ograniczają się tylko do aplikacji opartych o technologię Flash. Coraz większą popularnością wśród developerów tego typu aplikacji cieszy się technologia AJAX i biblioteki JavaScript wspomagające proces budowy bogatych interfejsów opartych o HTML oraz asynchroniczną komunikację z serwerem. Zalicza się do nich między innymi jQuery, EXT JS, MooTools, Dojo, Prototype, YUI.
CSS BOX MODEL
All HTML elements can be considered as boxes. In CSS, the term "box model" is used when talking about design and layout.
The CSS box model is essentially a box that wraps around HTML elements, and it consists of: margins, borders, padding, and the actual content.
The total width of an element should be calculated like this:
Total element width = width + left padding + right padding + left border + right border + left margin + right margin The total height of an element should be calculated like this:
Total element height = height + top padding + bottom padding + top border + bottom border + top margin + bottom margin
CLASSITIS
The practice of authoring stylesheets with redundant and semantically unhelpful classes.
W HTML jest to na przykład tzw "classitis", czyli nadmiarowe dodawanie niepotrzebnych klas.
DIVITIS
The practice of authoring web-page code with many div elements in place of meaningful semantic HTML elements.
Jest też zjawisko "divitis", czyli nadużywanie elementów <div>, kiedy można je zastąpić czymś bardziej semantycznym.
DOM - THE DOCUMENT OBJECT MODEL
Obiektowy model dokumentu (Document Object Model, DOM) – sposób reprezentacji złożonych dokumentów XML i HTML w postaci modelu obiektowego. Model ten jest niezależny od platformy i języka programowania.
Składa się z 3 poziomów i poziomu zerowego.
BOM - THE BROWSER OBJECT MODEL
There are no official standards for the Browser Object Model (BOM).
The window object is supported by all browsers. It represent the browser's window.
All global JavaScript objects, functions, and variables automatically become members of the window object.
Global variables are properties of the window object.
Global functions are methods of the window object.
Even the document object (of the HTML DOM) is a property of the window object:

			window.document.getElementById("header");
		    
is the same as:

			document.getElementById("header");
		    
CASCADING ATTRIBUTE SHEETS (CAS)
Cascading Attribute Sheets (CAS) is a language using the same basic syntax of CSS, meant for easily applying attributes to an HTML page.
To use it, include a CAS file using <script type="text/cas"></script>. (I chose <script> over <style>, even though it resembles CSS, because it acts more like a script - it's run once, no dynamic mutations to the file, etc.) CAS scripts are automatically async.
The basic grammar of CAS is identical to CSS. Your attribute sheet contains rules, composed of selectors, curly braces, and declarations, like so:

        video {
          preload: metadata;
        }
        #content video {
          preload: auto;
        }
        
SVG - Scalable Vector Graphics
uniwersalny format dwuwymiarowej grafiki wektorowej (statycznej i animowanej), nieobwarowany licencjami i patentami.
Format SVG powstał z myślą o zastosowaniu na stronach WWW. Używany jest również jako niezależny od platformy systemowej format grafiki wektorowej. SVG należy do rodziny XML, więc może być integrowany z innymi językami, jak na przykład XHTML.
MathML - Mathematical Markup Language, matematyczny język znaczników
język będący zastosowaniem XML-a, służący do opisywania wzorów i symboli matematycznych.
SMIL (wym. "smail", ang. Synchronized Multimedia Integration Language)
standard zalecany przez W3C do opisu prezentacji multimedialnych z wykorzystaniem XML.
SMIL określa m.in. znaczniki synchronizacji, układu, animacji, przejść obrazu oraz zagnieżdżania. Pozwala na wstawianie obrazu, animacji, muzyki oraz filmów i umożliwia synchronizację tych elementów.
XUL (wym. "zul", ang. XML-based User-interface Language)
jest językiem zgodnym z XML używanym do opisu interfejsu WEB oraz GUI, wykorzystywanym między innymi w programach Mozilla Suite, Mozilla Firefox, Mozilla Thunderbird, Nvu itp.
XUL nie jest jeszcze standardem publicznym. Pomimo to używa wielu istniejących standardów i technologii, włączając CSS, JavaScript, DTD oraz RDF, dzięki czemu jest prosty do nauki dla osób, które zajmują się programowaniem stron internetowych.
DTD (ang. Document Type Definition, definicja typu dokumentu)
rodzaj dokumentu definiujący formalną strukturę dokumentów XML, HTML, XHTML lub innych pochodzących z rodziny SGML lub XML. Definicje DTD mogą być zawarte w pliku dokumentu, którego strukturę definiują, przeważnie jednak zapisane są w osobnym pliku tekstowym, co pozwala na zastosowanie tego samego DTD dla wielu dokumentów.
RDF (ang. Resource Description Framework)
język/metoda pozwalająca na opisywanie zasobów sieci Web, ze składnią opartą na XML, opracowana przez W3C. Służy przedstawieniu (nie zaś wyświetlaniu) wiedzy zawartej w Internecie, w sposób zrozumiały dla komputerów (łatwo przetwarzany przez programy komputerowe). Może być wykorzystany w celu tworzenia semantycznego Internetu. Jego rozszerzeniem jest OWL.