Ruby je mocný a oblíbený programovací jazyk. Kromě jeho oblíbenosti je na něm založen i známý framework, který umožňuje vytvářet cool a dynamické webové stránky různých témat. Pokud se podíváte na žebříček TIOBE, pak tento jazyk patří mezi dvacet nejoblíbenějších jazyků na světě.

Jazyk se objevil v roce 1995 a je považován za mladý jazyk ve srovnání s C nebo C ++, které se objevily v roce 1972 a 1983. Jazyk má řadu výhod a specifických vlastností, které jsou implementovány výhradně v něm, pokud srovnáme jiné oblíbené programovací jazyky.

Plán kurzu

Během videokurzu se naučíte jazyk Ruby bez použití dalších frameworků. Další kurzy na rubín můžete najít na.

Během kurzu se naučíme jazyk instalovat a pracovat s ním, naučíme se syntaxi Rubín(proměnné, smyčky, podmíněné příkazy), stejně jako složitější věci: OOP, práce se soubory, výjimky, metody a mnoho dalších témat.


Instalace Ruby na Windows

Chcete-li nainstalovat Ruby na Windows, použijte Ruby Installer, který si můžete stáhnout z oficiálních stránek na tomto odkazu. Stažení Nejnovější verze a nainstalujte to jako pravidelný program. Po dokončení instalace se zobrazí podobné okno:

V tomto okně se ujistěte, že je zaškrtnuto políčko, poté se otevře další aplikace pro instalaci rubín do systému.

V okně, které se otevře, zadejte postupně 1 a stiskněte Enter, po čekání na konec instalace stiskněte 2 a Enter a na konci proveďte třetí příkaz stisknutím 3 a Enter.

Instalace Ruby na Mac

Na Macu je Ruby nainstalováno ve výchozím nastavení, takže nemusíte dělat nic navíc. Jazykovou verzi můžete zkontrolovat v terminálu pomocí následujícího příkazu:

Pokud je verze zastaralá, můžete si stáhnout novou. Nejprve si musíte stáhnout správce verzí Ruby. To se provádí přes terminál pomocí příkazu:

Curl -L https://get.rvm.io | bash -s stabilní

Po instalaci správce restartujte terminál. Spusťte následující příkaz:

Seznam Rvm je znám

Po restartu můžete nainstalovat jakoukoli verzi, kterou chcete. V našem případě byla nainstalována verze 2.4.2:

rvm nainstalovat ruby-2.4.2

Na konci můžete verzi znovu zkontrolovat a pokud je stále stará, nastavte výchozí verzi na novou verzi.

K dnešnímu dni existuje mnoho programovacích jazyků, které mají své vlastní vlastnosti a vzory. Tento článek se bude zabývat jedním z nich.


Historie Ruby

Ruby existuje jako programovací jazyk již dlouhou dobu. Poprvé byly práce na vydání tohoto v současnosti známého jazyka zahájeny v roce 1993. první první oficiální verze vyšel v roce 1995. Tvůrcem jazyka je Yukihiro Matsumoto. Jeho nadšení pro programování bylo zaznamenáno již jako student, ale myšlenka na vytvoření vlastního nástroje se objevila mnohem později. Jaké jsou tedy pozoruhodné vlastnosti tohoto programovacího jazyka? Co vás udělalo tak populární na světové scéně?

Programovací jazyk Ruby je poměrně dobře interpretovatelný. Je to jazyk vysoká úroveň, který má dynamickou typizaci a implementaci multithreadingu nezávisle na prováděcím prostředí. Má vlastní sběrač odpadků. V oblasti funkcí syntaxe je nejblíže jazykům Perl. V důsledku rozsáhlého rozvoje ekosystému tato platforma hodně převzala ze Smalltalku, Pythonu, Lisp a dalších programovacích jazyků. Je také velmi důležité, že jazyk Ruby a jeho implementace jsou zcela zdarma. Z toho vyplývá, že každý má možnost navrhnout vlastní změny. Pokud je komunita přijme, budou zařazeni do další verze Jazyk.

Rubínová filozofie

V procesu vytváření vlastního duchovního dítěte se Matsumoto, oddaný fanoušek a nadšenec do objektově orientovaného programování, stal autorem určité filozofie pro programátory, kteří se rozhodli naučit se jeho jazyk. Programovací jazyk Ruby je tedy navržen tak, aby vytvářel jednoduché a srozumitelné aplikace. Hlavní důraz byl kladen na jednoduchost a čitelnost kódu, nikoli na rychlost programu. To je přesně ten důvod tuto platformučasto volena jako vstup nezbytný pro školení programátorů. Hlavní podstatou, na které je tento jazyk založen, je princip „nejmenšího překvapení“. Co to znamená?

A to, že se program má chovat tak, jak od něj programátor očekává. Důležitou součástí ideologie jazyka, zavedené tvůrcem, je jeho velká variabilita. Je tedy možné dosáhnout stejného výsledku různými způsoby a funkcemi. To umožňuje každému programátorovi vyřešit problém, jak uzná za vhodné z hlediska správnosti a pohodlí. Právě to ve většině případů ovlivnilo oblibu jazyka mezi profesionály v oblasti informačních technologií.

Hlavní charakteristiky

Co znamená Ruby, když ji považujeme za programovací jazyk? Především je to objektově orientovaný jazyk. Postrádá primitivní typy, protože všechny struktury a datové jednotky jsou považovány za objekty. To jej odlišuje od stejného jazyka Java, kde existují primitivní datové struktury. Všechny funkce v Ruby jsou metody. Většinu funkcí a schopností přinesli autoři z jiných programovacích jazyků. Můžeme tedy s jistotou říci, že Ruby obsahuje nejlepší vlastnosti mnoho dalších jazyků a technologií. Například ekosystém Ruby má vlastní sběrač odpadků.

Jeho nápad byl převzat ze Smalltalku a Javy. Je schopen pracovat se všemi objekty v systému. Tento mechanismus umožňuje vyčistit paměť od objektů, u kterých došlo ke ztrátě požadavku, což se děje bez povšimnutí uživatelem aplikace a vývojářem. Kolektor odpadu pomáhá vývojáři, aby nebyl rozptylován správou paměti aplikace. Může se tak plně soustředit na funkčnost a použitelnost.

Jazyková paradigmata

Někteří programátoři, kteří odpověděli na otázku, co je Ruby jako multiparadigmatický jazyk, se nevědomky ocitli v zápalu hádky. Tento jazyk umožňuje se stejným úspěchem aplikovat jakékoli z programovacích paradigmat. Z nich stojí za to zdůraznit následující:

Procedurální styl programování;
objektově orientovaný přístup;
funkční přístup.

Vývojář si může vybrat paradigma, které je mu bližší. Zároveň je třeba mít na paměti, že jeho sada nástrojů bude z toho omezenější nebo slabší. Programovací jazyk Ruby pouze dodržuje tuto volbu.

Důvody pro slávu

Většinou daný jazyk získal slávu díky snadnému vývoji všech druhů doplňků. Počet frameworků a knihoven tak neustále roste a úkoly, které řeší samostatně, umožňují vývojářům dovést produkt do hotového stavu v co nejkratším čase. Často je programování Ruby spojeno s tvorbou webových aplikací a také s podporou fungování různých stránek a internetových platforem. Jazyk byl schopen obsadit toto místo díky své vlastní jednoduchosti a rychlosti vývoje. Stojí za zmínku, že alternativní platformy (například Java) vyžadují mnohem více znalostí a zkušeností k řešení podobných problémů.

Pozoruhodné rámce

Když mluvíme o dobře známých frameworkech, které dnes na trhu existují, mezi nimi stojí za zmínku Rails. Většina uživatelů, kteří odpovídají na otázku, co je Ruby, na úrovni intuice, myslí RubyOnRails. Tato sada softwarových prvků je průmyslovým standardem pro vývojáře. Je pravidelně udržován, je v neustálém vývoji, aktualizován komunitou programátorů. Stojí za zmínku, že s tím vším zůstává zdarma.

Prezentovaný framework je schopen popsat komponenty webové aplikace v mezích vzoru MVC (Model-View-Controller). Kromě toho je připraven poskytnout okamžitou integraci s aplikačním serverem a také rozhraní, které umožňuje otevřít přístup k databázi. Tyto tři komponenty umožňují psát a spustit na internetu doslova během několika hodin jednoduchý blog nebo soukromou webovou stránku. V programovacím jazyce Ruby je možné tvořit i nativní mobilní aplikace. Toho je dosaženo pomocí knihovny RubyMotion. Může spouštět kód Ruby na platformách iOS, OS X a Android. Tato knihovna je vyvinuta soukromou skupinou výrobců. To znamená, že za používání budete muset zaplatit, ale je to další potvrzení širokých možností jazyka.

Význam psaní testů

Další důležitou součástí ekosystému jazyka Ruby, stejně jako jeho webově orientované části, jsou frameworky a knihovny určené pro psaní testů. RubyOnRails používá filozofii BDD (behavior-driven development). To znamená, že programátor nejprve vypracuje sekvenci testů, které popisují očekávané chování programu. Poté vygeneruje kód potřebný k úspěšnému absolvování těchto testů. Nevysloveným standardem v této oblasti je RSpec. Je to rámec, který umožňuje psát testovací případy v jazyce srozumitelném i nezkušeným uživatelům.

Rubínové drahokamy

Vzhledem k dobře popsanému standardu, kterému musí balíčky a knihovny Ruby odpovídat, je vytváření doplňků snadné. Mezi skvosty je tedy příležitost najít moduly určené k řešení téměř jakéhokoli úkolu, od integrace s sociální sítě a zdroje třetích stran na hotové platformy elektronického obchodování. Pro použití knihovny třetí strany stačí popsat závislost vlastního projektu na konkrétní knihovně, která se nachází ve vzdáleném nebo lokálním úložišti. Při následné montáži daná knihovna načteno do aplikace automatický režim. Toto řešení výrazně zjednodušuje migraci projektu mezi tvůrci, protože není potřeba sdílet závislosti pro ruční sestavení projektu.

Můžeme tedy konstatovat, že Ruby je výkonný a všestranný programovací jazyk, který je vhodný nejen pro zkušené vývojáře, ale i pro začátečníky.

Programovací jazyk Ruby je čistě objektově orientovaný programovací jazyk původně určený pro skriptování. Kombinuje syntaxi, která absorbovala Ada a Perl a objektově orientované funkce Smalltalk, a také sdílí společné rysy s Pythonem, Lispem a nástrojem příkazový řádek- to je plus při učení základů programování.
Programovací jazyk Ruby má v současné době pouze jednu implementaci tlumočníka Ruby, i když se vyvíjejí snahy o implementaci rozhraní Ruby (nazývaného „Kardinální“) pro virtuální stroj Papoušek.
Programovací jazyk Ruby má mnoho užitečné funkce. Ruby také podporuje přetěžování operátorů a zpracování výjimek. V současné době programovací jazyk Ruby postrádá podporu Unicode. Ruby má iterátory (které jsou podobné CLU a Sather). Ruby podporuje abstraktní reprezentace funkcí (stejně jako Smalltalk a mnoho začínajících funkcionálních programovacích jazyků). Ruby má vestavěnou, syntaktickou podporu regulární výrazy Perl na jazykové úrovni (nejen v knihovnách jako v Pythonu a mnoha dalších jazycích). Ruby podporuje automatický sběr odpadu a dynamické načítání/včetně modulů knihovny (v závislosti na architektuře). Microsoft Windows. Ruby byl portován na mnoho platforem včetně Unix, Microsoft Windows, DOS, Mac OS X, OS/2, Amiga a další.
Ruby je čistě objektově orientovaný: každý kousek daných objektů, včetně typů, které jsou v jiných jazycích definovány jako „primitivní“. Každá funkce je metoda. Je podobný Smalltalku, ale zásadně se liší od Javy a Pythonu. Každý název hodnoty (název proměnné) v programu Ruby definuje odkaz na objekt, nikoli na objekt samotný. Ruby podporuje dědičnost pomocí metod dynamického odesílání, Mixins a Singleton. Ruby nepodporuje vícenásobnou dědičnost, ale třídy mohou importovat moduly. Ačkoli v Ruby můžete použít procedurální syntaxi, vše v Ruby je objekt ve smyslu Smalltalku, nikoli programování v Perlu nebo Pythonu pro figuríny.
Jazyk vytvořil Yukihiro Matsumoto (aka „Matz“) Yukihiro Matsumoto (také znám jako „Matz“) 24. února 1993. Aktuální stabilní verze je 1.8.0. Všimněte si, že název není zkratka - je to ve skutečnosti perlská hříčka. Ruby je podle autora navržena pro princip nejmenšího překvapení (POLS), což znamená, že jazyk by měl být prostý nástrah a nesrovnalostí, které trápí jiné jazyky.
Z Ruby FAQ: Pokud máte rádi Perl, pak používání Ruby bude skvělé díky jeho syntaxi. Pokud máte rádi Smalltalk, bude se vám líbit Ruby a bude se vám líbit i jeho sémantika. Pokud máte rádi Python, pak můžete nebo nemusíte cítit obrovský rozdíl ve filozofii designu mezi Pythonem a Ruby/Perlem.
Ruby je zdarma a open source pod licencí GPL nebo Artistic License, stejně jako Perl.

Příklady
Zde je několik příkladů kódu Ruby:

>> -199.abs # číslo -199 je objekt; používá se k tomu metoda ABS. => 199 >> "Ruby is cool".length # Je volána metoda objektu String - délka řetězce => 13 >> "Rick".index("c") => 2 >> "John".swapcase => "jOHN " >> #Arrays ?> .sort => >> .sort.reverse => # následující blok kódu bude proveden 10krát 10.krát ( # Nahradit " " za "," a uložit do řetězce1 string1 = "Ahoj světe ".gsub( " ", ",") # připojit "!" k proměnné "řetězec1" řetězec1 += "!" # vytisknout proměnnou "řetězec1", za kterým následuje nový řádek vloží řetězec1 )

Jak se stát profesionálem ve vývoji webových stránek a začít vydělávat? Levné video kurzy s úvodním úvodem.

Na tento moment existuje velké množství programovací jazyky, z nichž každý má své vlastní vlastnosti a vzory. Tento článek se bude zabývat jedním z nich.

Historie Ruby

Ruby jako programovací jazyk existuje již velmi dlouho. Práce na prvním vydání tohoto dnes neuvěřitelně populárního jazyka začaly již v roce 1993 a první oficiální verze se datuje do roku 1995. Tvůrce jazyka, Yukihiro Matsumoto, byl programovacím nadšencem již od studentských let, ale nápad vytvořit si vlastní nástroj ho napadl mnohem později. Co je tedy na tomto programovacím jazyku tak pozoruhodného, ​​že dnes zaujímá jednu z předních pozic v globální aréně vývoje softwaru?

Programovací jazyk Ruby je implementace multithreadingu na vysoké úrovni, nezávislá na běhu. Má vlastní garbage collector a co se týče syntaxe, je nejblíže jazykům jako je Perl. S rozvojem ekosystému si tato platforma hodně vypůjčila také od Smalltalku, Pythonu, Lispu a dalších programovacích jazyků. Pro existenci a neustálý vývoj je také velmi důležité, že jazyk Ruby a jeho implementace jsou zcela zdarma. To znamená, že kdokoli může navrhovat změny, a pokud je komunita přijme, budou zahrnuty do další verze jazyka.

Rubínová filozofie

Matsumoto jako oddaný fanoušek a nadšenec do objektově orientovaného programování vytvořil při vytváření svého duchovního dítěte určitou filozofii pro programátory, kteří chtějí ovládat jeho jazyk. Programovací jazyk Ruby je tedy navržen tak, aby vytvářel jednoduché, ale srozumitelné aplikace. Hlavní důraz Ruby není kladen na rychlost programu, ale na jednoduchost a čitelnost kódu.

Proto je tato platforma velmi často volena jako vstup pro výuku programování. Hlavním principem, na kterém je tento jazyk založen, je tzv. princip „nejmenšího překvapení“ – to znamená, že program by se měl chovat tak, jak od něj autor (programátor) očekává. Další důležitou součástí ideologie jazyka, kterou tvůrce zavedl, je jeho velká variabilita. Stejného výsledku lze dosáhnout různými způsoby a funkcemi. Díky tomu může každý programátor vyřešit problém způsobem, který považuje za nejvhodnější a nejpohodlnější. To do značné míry ovlivnilo popularitu jazyka mezi profesionály v oblasti informačních technologií.

Hlavní charakteristiky jazyka

Co je to "Ruby" jako programovací jazyk? Je to primárně objektově orientovaný jazyk. Nejsou v něm žádné primitivní typy – všechny struktury a datové jednotky jsou objekty (na rozdíl od stejného jazyka Java má primitivní datové struktury). Každá funkce v Ruby je metoda. Mnoho funkcí a schopností bylo přeneseno tvůrci z jiných programovacích jazyků, takže můžeme s jistotou říci, že Ruby (jazyk) absorboval to nejlepší z mnoha jiných jazyků a technologií.

Například ekosystém Ruby má svůj vlastní garbage collector, jehož myšlenka byla převzata ze Smalltalku a Javy a který dokáže pracovat se všemi objekty v systému. Tento mechanismus umožňuje, pro uživatele aplikace a vývojáře, nepostřehnutelně, vyčistit paměť od objektů, které již nebudou vyžadovány. Garbage collector umožňuje vývojáři ve většině případů nenechat se rozptylovat správou paměti aplikace, ale soustředit se na funkčnost a použitelnost.

Jazyková paradigmata

Při zodpovězení otázky, co je „Ruby“ jako multiparadigmatický jazyk, se můžete nečekaně ocitnout v zápalu hádky. Koneckonců, tento jazyk vám umožňuje stejně úspěšně používat kterékoli z programovacích paradigmat: procedurální styl programování, objektově orientovaný nebo Vývojář si může svobodně vybrat paradigma, které je mu bližší, a jeho sada nástrojů nebude být omezenější nebo slabší. Programovací jazyk Ruby tuto volbu pouze vybízí.

Důvody popularity

V mnoha ohledech se tento jazyk stal populárním díky snadnému vývoji různých doplňků k němu. Počet frameworků a knihoven proto neustále roste a úkoly, které řeší samy, umožňují vývojářům co nejdříve uvést produkt do stavu připravenosti. Velmi často je programování "Ruby" spojeno s vývojem webových aplikací a podporou provozu různých stránek a internetových platforem. Jazyk obsadil toto místo díky své jednoduchosti a rychlosti vývoje. Ostatně alternativní platformy (například Java) vyžadují mnohem více znalostí a zkušeností k řešení stejných problémů.

Populární rámce

Pokud mluvíme o populárních rámcích, které dnes na trhu existují, pak mezi nimi stojí za zmínku Rails. Mnoho lidí na otázku, co je to „Ruby“, intuitivně myslí RubyOnRails. Tato sada softwarové komponenty se stal mezi vývojáři průmyslovým standardem. Programátorská komunita jej neustále podporuje, vyvíjí a doplňuje, přičemž zůstává zdarma. Tento framework popisuje komponenty webové aplikace v rámci vzoru MVC (Model-View-Controller) a také poskytuje přednastavenou integraci a rozhraní pro přístup k databázi. Tyto 3 komponenty vám ve skutečnosti umožňují napsat a spustit jednoduchý blog nebo soukromou webovou stránku na internetu během několika hodin.

V programovacím jazyce Ruby můžete dokonce vytvářet nativní mobilní aplikace, a to díky knihovně RubyMotion. Umožňuje spouštět kód Ruby na platformách iOS, OS X a Android. Vytvořila ho soukromá skupina vývojářů, takže za jeho používání musíte platit, ale opět potvrzuje bohaté vlastnosti jazyka.

Význam psaní testů

Další důležitou součástí ekosystému jazyka Ruby a jeho webově orientované části jsou frameworky a knihovny pro psaní testů. RubyOnRails hlásá filozofii BDD (behavior-driven development), což znamená, že nejprve programátor vytvoří sekvenci testů, které popisují očekávané chování programu, a poté vytvoří kód, který musí úspěšně projít těmito testy. Nevysloveným standardem v této oblasti je RSpec – tento framework umožňuje psát testovací případy v jazyce, který je srozumitelný i nezkušeným uživatelům ve vývoji.

Rubínové drahokamy

Díky podrobnému standardu, kterému musí odpovídat všechny balíčky a knihovny Ruby, není vývoj doplňků obtížný. Mezi tzv. drahokamy (z angličtiny – klenot) proto můžete najít moduly pro řešení téměř jakéhokoli problému – od integrace se sociálními sítěmi a službami třetích stran až po hotové platformy pro e-commerce. Vše, co je potřeba k použití knihovny třetí strany, je popsat závislost vašeho projektu na nějaké knihovně umístěné ve vzdáleném nebo lokálním úložišti a při příštím sestavení se tato knihovna automaticky načte do aplikace. Usnadňuje také migraci projektu mezi vývojáři, protože není nutné ručně sdílet závislosti k sestavení projektu.

Pokud se vás tedy znovu zeptá, co je Ruby, pak můžete s jistotou prohlásit, že jde o výkonný a všestranný programovací jazyk, který jistě vyhoví jak zkušeným vývojářům, tak začátečníkům, kteří chtějí zvládnout obtížné programátorské řemeslo. Má nástroje pro vytvoření jakékoli aplikace – od desktopových programů až po mobilní služby a webové platformy.

Úvod

Vyhledávač je dnes jednou z nejpoužívanějších metod navigace v kyberprostoru, který každým dnem své existence roste a rozšiřuje se. Je jasné, že algoritmy pro vyhledávání informací musí neustále zvyšovat svou složitost a efektivitu. Účelem této práce není popsat algoritmy vyhledávání informací, ale pouze podat jejich úvodní popis. Účelem této práce je také napsat vyhledávací webovou aplikaci v programovacím jazyce Ruby.

Na základě výše uvedeného lze vytvořit následující cíle:

Úvod do algoritmů vyhledávání informací

Psaní vyhledávací webové aplikace

Stanovené cíle se uskutečňují pomocí úkolů:

Zkoumání teorie vyhledávání

Naučte se programovací jazyk Ruby

Úvod do značkovacího jazyka Haml

Úvod do metajazyka Sass

Kódujte webovou aplikaci pomocí Ruby, Haml a Sass

Odlaďte výslednou aplikaci

Teoretická část

Teorie získávání informací

Nejprve je potřeba definovat vyhledávač.

Vyhledávací systém - softwarový a hardwarový komplex s webovým rozhraním, které poskytuje možnost vyhledávat informace na internetu.

Podle vykonávaných funkcí a úkolů, které mají být řešeny, se vyhledávače dělí na:

odkazy jsou nejběžnějším typem funkcí informační systémy a spočívá v poskytování možnosti účastníkům systému přijímat instalační data pro určité třídy objektů;

vyhledávače jsou nejrozšířenější třídou informačních systémů. Obecně lze formu považovat za nějaký informační prostor, daný z hlediska informačně-logického popisu předmětné oblasti);

vyrovnání. Funkcí systému je zpracovávat informace v systému podle určitých výpočetních algoritmů pro různé účely.

Podle charakteru poskytování logické organizace uložených informací se vyhledávače dělí na faktografické, dokumentační a geoinformační.

Faktografické vyhledávače tedy shromažďují a ukládají data ve formě mnoha instancí jednoho nebo více typů strukturálních prvků. Každá z těchto instancí strukturálních prvků nebo některá z jejich kombinací odráží informaci o jakékoli skutečnosti, události. Struktura každého typu informačního objektu se skládá z konečného souboru detailů, které odrážejí hlavní aspekty a charakteristiky informací pro objekty této tematické oblasti.

V dokumentárních vyhledávacích systémech je jediným prvkem informace dokument, který není rozdělen na menší prvky a zadávaná informace zpravidla není strukturovaná nebo je strukturována v omezené formě. U vstupního dokumentu lze nastavit některé formalizované pozice - datum výroby, interpret, předmět. Některé typy dokumentačních informačních systémů zajišťují navázání logického vztahu mezi zadávanými dokumenty – podřízenost z hlediska sémantického obsahu.

Geoprostorová data jsou organizována jako samostatná informační objekty vázané na společný elektronický topografický základ. Geoinformační systémy aplikováno na informační podpora v těch předmětových oblastech struktura informačních objektů a procesů, ve kterých existuje geografická složka.

Existuje také následující klasifikace vyhledávačů (obr. 1.)

Obr. 1. Klasifikace vyhledávačů

Když už mluvíme o vyhledávače, za zmínku stojí teorie vyhledávacích dotazů a jejich klasifikace. V roce 1949 tedy profesor filologie z Harvardu popsal některé rysy vyhledávání informací.

Profesor Zipf si všiml, že dlouhá slova jsou v textech jakéhokoli jazyka méně běžná než krátká. Na základě tohoto pozorování Zipf odvodil dva zákony:

První zákon dává do souvislosti četnost výskytu (výskytu) určitého slova s ​​hodností této četnosti. Nejčastěji se vyskytujícím slovům je přiřazeno pořadí rovné jedné. Slova, která jsou méně obvyklá - hodnost rovna dvěma atd. Zipf zjistil, že součin četnosti výskytu slova a jeho pořadí je konstantní hodnota.

Taková závislost se obvykle zobrazuje jako hyperbola. Hodnota Zipfovy konstanty pro různé jazyky odlišný, ale v rámci stejné jazykové skupiny zůstává nezměněn. Pro ruský jazyk je konstanta přibližně 0,06-0,07.

Zipf určil, že frekvence výskytu slov a počet slov obsažených v textu s danou frekvencí jsou také vzájemně propojeny.

Na jedné straně si výsledná křivka zachová své parametry pro všechny texty ve stejném jazyce. Na druhou stranu, bez ohledu na to, v jakém jazyce je text napsán, tvar Zipfovy křivky zůstane nezměněn. Lišit se budou pouze koeficienty.

Zipfovy zákony jsou univerzální. Týkají se nejen textů. V podobné podobě se nalévá například vztah mezi počtem měst a počtem obyvatel v nich žijících. Charakteristika oblíbenosti internetových zdrojů odpovídá Zipfovým zákonům. Zipfovy zákony odrážejí „lidský“ původ předmětů.

V každém případě každý vyhledávací dotaz lze klasifikovat podle tří charakteristik: délka dotazu, srozumitelnost dotazu, fáze vyhledávání.

Takže podle délky jsou všechny požadavky rozděleny na

Jednoslovné ("propagace")

Dvě slova (" propagace vyhledávání»

Tři slova („propagace profesionálního vyhledávání“)

Podrobné ("profesionální propagace vyhledávání levně")

Z důvodu přehlednosti jsou všechny požadavky rozděleny do:

Explicitní požadavek ("cena za iPad 2")

Fuzzy požadavek ("Ozón", což může být jak plyn, tak název obchodu a jméno ředitele)

Podle fáze vyhledávání jsou všechny požadavky rozděleny do:

Povědomí o problému („stránka nefunguje“)

Hledat řešení ("hosting webových stránek")

Volba rozhodnutí („který hosting vybrat“)

Vyhledejte místo transakce ("hostingové tarify masterhost")

programovací jazyk RUBY

Ruby je dynamický, reflexivní, interpretovaný vysokoúrovňový programovací jazyk pro rychlé a pohodlné objektově orientované programování. Jazyk je nezávislý na operační systém implementace multithreadingu, silné dynamické psaní, garbage collector a mnoho dalších funkcí. Ruby je syntaxí blízká Perlu a Eiffelovi, v objektově orientovaném přístupu - Smalltalku. Některé funkce jazyka jsou také převzaty z Pythonu, Lisp, Dylan a Clu. K dnešnímu dni byl interpret Ruby implementován pro téměř všechny platformy (Unix, Win32, OS X). Tvůrcem jazyka je Yukihiro Matsumoto.

Ruby je plně objektově orientovaný programovací jazyk. Všechno je objekt a funkce jsou metody těchto objektů.

Hlavní vlastnosti Ruby:

Tlumený jazyk:

Možnost přímých systémových volání.

Výkonná podpora operací s řetězci a pravidly (regulární výrazy).

Okamžitý projev změn během vývoje.

Žádná fáze kompilace.

Jednoduché a rychlé programování:

Není třeba deklarovat proměnné.

Proměnné se zadávají dynamicky.

Jednoduchá a konzistentní syntaxe.

Automatické ovládání pracovní paměť.

Objektově orientované programování:

Všechno je objekt. I název třídy je instancí třídy Class.

Třídy, metody, dědičnost, polymorfismus, zapouzdření a tak dále.

Jednotlivé metody.

Mixiny pomocí modulů (schopnost rozšířit třídu bez dědičnosti);

Iterátory a uzávěry.

Rozsáhlé možnosti metaprogramování.

Vybavení:

Neomezený rozsah celočíselných hodnot.

Model zpracování výjimek.

Všechny operátory vracejí hodnoty, dokonce i řídicí struktury.

Mechanismus zachycení výjimek.

Podpora závitů; nativní i systémy rodiny UNIX.

nedostatky:

Neovladatelnost některých procesů (např. alokace paměti), nemožnost nastavit nízkoúrovňové datové struktury nebo podprogramy;

Nemožnost kompilace a s tím spojená optimalizace programu;

otevřenost zdrojový kód i v hotovém programu

Důsledek prvních dvou nedostatků je velmi nízká rychlost spouštění a spouštění programů.

Za zmínku také stojí, že pro Ruby existuje mnoho modulů (doplňků) pro téměř jakýkoli typ úloh (programování rozhraní, složité matematické výpočty, práce se zvukem, videem, 3D atd.). Proto byl tento programovací jazyk vybrán jako hlavní pro psaní praktické části.

1.3. Zjednodušený značkovací jazyk HAML

Haml je značkovací jazyk pro zjednodušené generování XHTML. HAML se zkompiluje do HTML. Haml je mnohem jednodušší než Html“, protože vám umožňuje zjednodušit a zrychlit psaní webových aplikací.

Například tento kousek Hamlova kódu

%html( html_attrs("cs"))

%title Můj blog

%meta(http-equiv="Content-Type" content="text/html; charset=utf-8")

stylesheet_link_tag "main"

%h1 Můj blog

Záznamy %h2

- @entries.each udělat |vstup|

%h3.title= entry.title

%p.date= entry.posted.strftime("%A, %B %d, %Y")

%p.body= entry.body

Všechna práva vyhrazena © Ivan

Html kód je transformován

Můj blog