A Ruby egy erőteljes és népszerű programozási nyelv. A népszerűsége mellett egy jól ismert keretrendszer épül rá, amivel menő és dinamikus weboldalak készíthetők különböző témájú témákban. Ha megnézi a TIOBE rangsorát, akkor a nyelv a világ húsz legnépszerűbb nyelve közé tartozik.

A nyelv 1995-ben jelent meg, és fiatal nyelvnek számít az 1972-ben, illetve 1983-ban megjelent C-hez vagy C++-hoz képest. A nyelvnek számos előnye és sajátossága van, amelyeket kizárólag benne valósítanak meg, ha összehasonlítunk más népszerű programozási nyelvekkel.

Tanfolyamterv

A videó tanfolyam során további keretrendszerek használata nélkül tanulod meg a Ruby nyelvet. További tanfolyamok rubin oldalon találhatod meg.

A tanfolyam során megtanuljuk a nyelv telepítését és kezelését, megtanuljuk a szintaxist Rubin(változók, hurkok, feltételes állítások), valamint összetettebb dolgok: OOP, fájlokkal való munka, kivételek, módszerek és sok más téma.


Ruby telepítése Windows rendszeren

A Ruby Windows rendszerre történő telepítéséhez használja a RubyInstaller, amely letölthető a hivatalos webhelyről ezen a linken. Letöltés legújabb verzióés telepítse úgy rendszeres program. A telepítés befejezése után egy hasonló ablakot fog látni:

Ebben az ablakban győződjön meg arról, hogy a jelölőnégyzet be van jelölve, ekkor egy másik alkalmazás nyílik meg a telepítéshez rubin a rendszerbe.

A megnyíló ablakban írjuk be egymás után az 1-et, majd nyomjuk meg az Entert, miután megvárjuk a telepítés végét, nyomjuk meg a 2-t és az Entert és a végén hajtsuk végre a harmadik parancsot a 3 és az Enter megnyomásával.

A Ruby telepítése Mac-re

Macen a Ruby alapértelmezés szerint telepítve van, így nem kell semmi extra dolgot tennie. A nyelvi verziót a terminálban a következő paranccsal ellenőrizheti:

Ha a verzió elavult, letölthet egy újat. Először le kell töltenie a Ruby verziókezelőt. Ez a terminálon keresztül történik a következő paranccsal:

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

A menedzser telepítése után indítsa újra a terminált. Futtassa a következő parancsot:

Rvm lista ismert

Újraindítás után tetszőleges verziót telepíthet. Esetünkben a 2.4.2-es verzió került telepítésre:

rvm install ruby-2.4.2

A végén újra ellenőrizheti a verziót, és ha még mindig régi, csak állítsa be az alapértelmezettet az új verzióra.

A mai napig számos programozási nyelv létezik, amelyek saját jellemzőkkel és mintákkal rendelkeznek. Ez a cikk ezek egyikét tárgyalja.


Ruby története

A Ruby már régóta létezik programozási nyelvként. A jelenleg ismert nyelv kiadásának munkálatai először 1993-ban kezdődtek. először először hivatalos verzió 1995-ben jelent meg. A nyelv megalkotója Yukihiro Matsumoto. A programozás iránti lelkesedését már diákként felfigyelték, de a saját eszköz létrehozásának ötlete jóval később merült fel. Tehát melyek ennek a programozási nyelvnek a figyelemre méltó tulajdonságai? Mitől lettél olyan népszerű a világ színpadán?

A Ruby programozási nyelv meglehetősen értelmezhető. Ez egy magas szintű nyelv, amely dinamikus gépelést és futási időtől független többszálú implementációt kínál. Saját szemétgyűjtővel rendelkezik. A szintaktikai jellemzők terén ez áll a legközelebb a Perl nyelvekhez. Az ökoszisztéma széles körű fejlődésének eredményeként ez a platform sokat átvett a Smalltalk, Python, Lisp és más programozási nyelvekből. Az is nagyon fontos, hogy a Ruby nyelv és annak megvalósítása teljesen ingyenes. Ebből az következik, hogy mindenkinek lehetősége van saját változtatásokat javasolni. Ha a közösség elfogadja őket, akkor bekerülnek a következő verzió nyelv.

Rubin filozófia

Saját ötletének megalkotása során Matsumoto, aki az objektum-orientált programozás elkötelezett rajongója és rajongója, egy bizonyos filozófia szerzőjévé vált azon programozók számára, akik úgy döntenek, hogy megtanulják a nyelvét. Így a Ruby programozási nyelvet egyszerű és érthető alkalmazások létrehozására tervezték. A fő hangsúlyt a kód egyszerűségére és olvashatóságára helyezték, nem pedig a program sebességére. Pontosan ez az oka annak ezt a platformot gyakran választják a programozók képzéséhez szükséges inputként. Ennek a nyelvnek a fő lényege a „legkisebb meglepetés” elve. Mit is jelent ez?

És az, hogy a programnak úgy kell viselkednie, ahogy a programozó elvárja tőle. Az alkotó által bevezetett nyelv ideológiájának fontos része a nagy változatosság. Így lehetséges ugyanazt az eredményt elérni különböző módokon és funkciókban. Ez lehetővé teszi, hogy minden programozó úgy oldja meg a problémát, ahogy a helyesség és a kényelem szempontjából jónak látja. A legtöbb esetben ez befolyásolta a nyelv népszerűségét az informatika területén dolgozó szakemberek körében.

Főbb jellemzők

Mit jelent a Ruby, ha programozási nyelvnek tekintjük? Először is, ez egy objektum-orientált nyelv. Hiányoznak a primitív típusok, mivel minden struktúra és adategység objektumnak számít. Ez különbözteti meg ugyanattól a Java nyelvtől, ahol primitív adatstruktúrák vannak. A Ruby összes függvénye metódus. A legtöbb szolgáltatást és képességet a szerzők más programozási nyelvekről hozzák be. Így nyugodtan kijelenthetjük, hogy a Ruby tartalmaz legjobb tulajdonságait sok más nyelv és technológia. Például a Ruby ökoszisztéma saját szemétgyűjtővel rendelkezik.

Ötletét a Smalltalkból és a Java-ból vették át. Képes a rendszer összes objektumával dolgozni. Ez a mechanizmus lehetővé teszi a memória megtisztítását azoktól az objektumoktól, amelyekre már nincs szükség, ami az alkalmazás felhasználója és fejlesztője számára észrevétlenül történik. A szemétgyűjtő segít a fejlesztőnek, hogy ne vonja el figyelmét az alkalmazás memóriakezelése. Így teljes mértékben a funkcionalitásra és a használhatóságra tud koncentrálni.

Nyelvi paradigmák

Néhány programozó, aki válaszolt arra a kérdésre, hogy mi is az a Ruby, mint egy többparadigma nyelv, akaratlanul is a vita hevében találta magát. Ez a nyelv lehetővé teszi bármely programozási paradigma egyforma sikerrel történő alkalmazását. Ezek közül érdemes kiemelni a következőket:

A programozás eljárási stílusa;
objektum-orientált megközelítés;
funkcionális megközelítés.

A fejlesztőnek lehetősége van kiválasztani a hozzá közelebb álló paradigmát. Ugyanakkor szem előtt kell tartani, hogy eszközkészlete ettől korlátozottabb vagy gyengébb lesz. A Ruby programozási nyelv csak ehhez a választáshoz ragaszkodik.

A hírnév okai

A legtöbb esetben adott nyelv hírnevet szerzett mindenféle kiegészítés könnyű fejlesztésének köszönhetően. Így a keretrendszerek és a könyvtárak száma folyamatosan növekszik, az általuk önállóan megoldott feladatok pedig lehetővé teszik a fejlesztők számára, hogy a lehető legrövidebb időn belül kész állapotba hozzák a terméket. A Ruby programozás gyakran webalkalmazások létrehozásához, valamint különféle webhelyek és internetes platformok működésének támogatásához kapcsolódik. Ezt a rést a nyelv saját egyszerűsége és fejlődési sebessége miatt tudta elfoglalni. Meg kell jegyezni, hogy az alternatív platformok (például a Java) sokkal több tudást és tapasztalatot igényelnek hasonló problémák megoldásához.

Figyelemre méltó keretek

Ha már a piacon létező jól ismert keretrendszerekről beszélünk, ezek közül érdemes kiemelni a Rails-t. A legtöbb felhasználó, aki válaszol a kérdésre, hogy mi is az a Ruby, az intuíció szintjén a RubyOnRails-re gondol. Ez a szoftverelem-készlet az iparági szabvány a fejlesztők számára. Rendszeresen karbantartott, folyamatos fejlesztés alatt áll, frissíti a programozói közösség. Érdemes megjegyezni, hogy mindezzel ingyenes marad.

A bemutatott keretrendszer képes leírni egy webalkalmazás összetevőit az MVC (Model-View-Controller) minta határain belül. Ezen kívül készen áll az alkalmazásszerverrel való azonnali integráció biztosítására, valamint egy olyan felületre, amely lehetővé teszi az adatbázishoz való hozzáférés megnyitását. Ez a három összetevő szó szerint néhány óra alatt lehetővé teszi az írást és az interneten való megjelenést egyszerű blog vagy privát weboldalt. A Ruby programozási nyelven akár natív nyelven is létrehozható mobil alkalmazások. Ez a RubyMotion könyvtár használatával érhető el. Ruby kódot futtathat iOS, OS X és Android platformokon. Ezt a könyvtárat a gyártók egy magáncsoportja fejlesztette ki. Ez azt jelenti, hogy fizetni kell a használatért, de ez egy újabb megerősítés a nyelv széles lehetőségeiről.

A tesztek írásának jelentősége

A Ruby nyelvi ökoszisztéma másik fontos összetevője, valamint web-orientált része a tesztek írására tervezett keretrendszerek és könyvtárak. A RubyOnRails a BDD (behavior-driven development) filozófiát használja. Ez azt jelenti, hogy a programozó először egy tesztsorozatot dolgoz ki, amely leírja a program várható viselkedését. Ezután létrehozza a tesztek sikeres teljesítéséhez szükséges kódot. A kimondatlan szabvány ezen a területen az RSpec. Ez egy olyan keretrendszer, amely lehetővé teszi tesztesetek megírását a tapasztalatlan felhasználók számára is érthető nyelven.

Rubin drágakövek

A jól leírt szabványnak köszönhetően, amelyhez a Ruby csomagoknak és könyvtáraknak meg kell felelniük, a kiegészítők létrehozása egyszerű. Így a drágakövek között lehetőség nyílik szinte bármilyen feladat megoldására tervezett modulok megtalálására, az integrációtól kezdve a közösségi hálózatokés harmadik féltől származó erőforrásokat kész e-kereskedelmi platformokra. Harmadik féltől származó könyvtár használatához elegendő, ha leírja saját projektjének függőségét egy adott könyvtártól, amely távoli vagy helyi tárolóban található. A későbbi összeszereléskor adott könyvtár betöltve az alkalmazásba automatikus üzemmód. Ez a megoldás nagyban leegyszerűsíti a projektek létrehozói közötti migrációját, mivel nincs szükség a függőségek megosztására a projekt manuális felépítéséhez.

Ebből arra következtethetünk, hogy a Ruby egy erőteljes és sokoldalú programozási nyelv, amely nem csak a tapasztalt fejlesztők, hanem a kezdők számára is alkalmas.

Ruby programozási nyelv egy tisztán objektum-orientált programozási nyelv, amelyet eredetileg szkriptelésre terveztek. Egyesíti az Ada és a Perl és a Smalltalk objektumorientált szolgáltatásokat magába foglaló szintaxist, valamint a Python, a Lisp és a segédprogram közös jellemzőit is. parancs sor- ez plusz a programozás alapjainak elsajátításánál.
A Ruby programozási nyelvnek jelenleg csak egy implementációja van a Ruby interpreternek, bár erőfeszítéseket tesznek egy Ruby interfész ("Cardinal") megvalósítására. Virtuális gép Papagáj.
A Ruby programozási nyelvnek sok van hasznos funkciókat. A Ruby támogatja a kezelő túlterhelését és a kivételkezelést is. Jelenleg a Ruby programozási nyelv nem támogatja a Unicode-ot. A Ruby iterátorokkal rendelkezik (amelyek hasonlóak a CLU-hoz és a Satherhez). A Ruby támogatja a függvények absztrakt megjelenítését (ahogyan a Smalltalk és sok kezdő funkcionális programozási nyelv is). A Ruby beépített szintaktikai támogatással rendelkezik reguláris kifejezések Perl nyelvi szinten (nem csak a könyvtárakban, mint a Pythonban és sok más nyelven). A Ruby támogatja az automatikus szemétgyűjtést és a dinamikus könyvtárbetöltést/beleértve a modulokat (architektúrától függően). Microsoft Windows. A Rubyt számos platformra portolták, beleértve a Unixot, a Microsoft Windowst, a DOS-t, a Mac OS X-et, az OS/2-t, az Amigát és még sok mást.
A Ruby tisztán objektum-orientált: az adott objektumok minden bitje, beleértve azokat a típusokat is, amelyeket más nyelveken "primitív"-ként definiálnak. Minden függvény egy módszer. Hasonló a Smalltalk-hoz, de alapvetően különbözik a Java-tól és a Python-tól. A Ruby programban minden értéknév (változónév) egy objektumra való hivatkozást határoz meg, nem magára az objektumra. A Ruby támogatja az öröklődést a dinamikus diszpécser, a Mixins és a Singleton metódusokkal. A Ruby nem támogatja a többszörös öröklődést, de az osztályok importálhatnak modulokat. Bár a Rubyban használhatunk eljárási szintaxist, a Rubyban minden egy objektum a Smalltalk értelemben, nem pedig Perl vagy Python programozás a dumák számára.
A nyelvet Yukihiro Matsumoto (más néven "Matz") Yukihiro Matsumoto (más néven "Matz") hozta létre 1993. február 24-én. A jelenlegi stabil verzió az 1.8.0. Vegye figyelembe, hogy a név nem mozaikszó, hanem egy Perl szójáték. A szerző szerint a Ruby-t a legkisebb meglepetés (POLS) elvére tervezték, ami azt jelenti, hogy a nyelvnek mentesnek kell lennie a más nyelveket sújtó buktatóktól és következetlenségektől.
A Ruby GYIK-ból: Ha szereted a Perlt, akkor a Ruby használata nagyszerű érzés lesz a szintaxisa miatt. Ha szereted a Smalltalkot, tetszeni fog a Ruby, és tetszeni fog a szemantikája is. Ha szereted a Pythont, akkor érezhetsz óriási különbséget a tervezési filozófiában a Python és a Ruby/Perl között.
A Ruby ingyenes és nyílt forráskódú GPL vagy művészi licenc alatt, akárcsak a Perl.

Példák
Íme néhány példa a Ruby kódra:

>> -199.abs # szám -199 egy objektum; az ABS módszert hívják erre. => 199 >> "Ruby is cool".length # A karakterlánc objektum metódusát hívják - karakterlánc hossza => 13 >> "Rick".index("c") => 2 >> "John".swapcase => "jOHN " >> #Arrays ?> .sort => >> .sort.reverse => # a következő kódblokk 10-szer kerül végrehajtásra 10.times ( # Cserélje ki a " "-t ", "-re és tárolja a string1-ben string1 = "Hello world ".gsub( " ", ",") # hozzáfűzi "!" a "karakterlánc1" változóhoz string1 += "!" # "karakterlánc1" változó nyomtatása, majd egy újsor elhelyezi a string1-et)

Hogyan válhat weboldalfejlesztő szakemberré és kezdhet el keresni? Olcsó videó tanfolyamok bevezető bevezetővel.

A Ebben a pillanatban létezik nagy mennyiség programozási nyelvek, amelyek mindegyikének megvannak a saját jellemzői és mintái. Ez a cikk ezek egyikét tárgyalja.

Ruby története

A Ruby mint programozási nyelv már nagyon régóta létezik. Ennek a hihetetlenül népszerű nyelvnek az első kiadásán a munka még 1993-ban kezdődött, az első hivatalos verzió pedig 1995-re nyúlik vissza. A nyelv megalkotója, Yukihiro Matsumoto diákkora óta rajong a programozásért, de a saját eszköz létrehozásának ötlete jóval később támadt benne. Tehát mi olyan figyelemre méltó ebben a programozási nyelvben, amely ma az egyik vezető pozíciót foglalja el a globális szoftverfejlesztési arénában?

A Ruby programozási nyelv a multithreading magas szintű, futási időtől független megvalósítása. Saját szemétgyűjtővel rendelkezik, szintaxisát tekintve pedig az olyan nyelvekhez áll a legközelebb, mint a Perl. Az ökoszisztéma fejlődésével ez a platform sokat kölcsönzött a Smalltalk, Python, Lisp és más programozási nyelvekből is. A létezés és a folyamatos fejlődés szempontjából is nagyon fontos, hogy a Ruby nyelv és annak megvalósítása teljesen ingyenes. Ez azt jelenti, hogy bárki javasolhat változtatásokat, és ha a közösség elfogadja azokat, akkor azok bekerülnek a nyelv következő verziójába.

Rubin filozófia

Amikor megalkotta ötletét, Matsumoto, mint az objektum-orientált programozás elkötelezett rajongója és rajongója, egy bizonyos filozófiát alakított ki a nyelvét elsajátítani akaró programozók számára. Tehát a Ruby programozási nyelvet egyszerű, mégis érthető alkalmazások létrehozására tervezték. A Ruby fő hangsúlya nem a program sebességén van, hanem a kód egyszerűségén és olvashatóságán.

Ezért nagyon gyakran ezt a platformot választják a programozás elsajátításának bemeneteként. Ennek a nyelvnek a fő alapelve az úgynevezett "legkisebb meglepetés" elve - ez azt jelenti, hogy a programnak úgy kell viselkednie, ahogy a szerző (programozó) elvárja tőle. A nyelv ideológiájának másik fontos része, amelyet az alkotó bevezetett, a nagy változatosság. Ugyanaz az eredmény különböző módokon és funkciókkal érhető el. Ennek köszönhetően minden programozó úgy tudja megoldani a problémát, ahogyan a leghelyesebbnek és legkényelmesebbnek tartja. Ez nagyban befolyásolta a nyelv népszerűségét az informatikai szakemberek körében.

A nyelv főbb jellemzői

Mi az a "Ruby" programozási nyelv? Ez elsősorban egy objektum-orientált nyelv. Nincsenek benne primitív típusok - minden struktúra és adategység objektum (ellentétben ugyanazzal a Java nyelvvel, primitív adatstruktúrákkal rendelkezik). A Rubyban minden függvény egy metódus. Számos funkciót és képességet más programozási nyelvekből hoztak létre az alkotók, így nyugodtan kijelenthetjük, hogy a Ruby (a nyelv) sok más nyelv és technológia legjavát szívta magába.

Így például a Ruby ökoszisztéma saját szemétgyűjtővel rendelkezik, amelynek ötletét a Smalltalk és a Java átvették, és amely a rendszer összes objektumával működik. Ez a mechanizmus észrevétlenül lehetővé teszi az alkalmazás felhasználója és a fejlesztő számára, hogy megtisztítsa a memóriát azoktól az objektumoktól, amelyekre már nincs szükség. A szemétgyűjtő lehetővé teszi, hogy a fejlesztőt a legtöbb esetben ne terelje el az alkalmazás memóriakezelése, hanem a funkcionalitásra és a használhatóságra összpontosítson.

Nyelvi paradigmák

Arra a kérdésre válaszolva, hogy mi az a "Ruby" mint többparadigmás nyelv, váratlanul egy vita hevébe kerülhet. Hiszen ez a nyelv lehetővé teszi bármelyik programozási paradigma egyformán sikeres használatát: a programozás procedurális stílusa, objektum-orientált vagy a Fejlesztő szabadon választhatja ki a hozzá közelebb álló paradigmát, és eszközkészlete nem lesz ettől korlátozottabb vagy gyengébb. A Ruby programozási nyelv csak bátorítja ezt a választást.

A népszerűség okai

Ez a nyelv sok tekintetben a különféle kiegészítők fejlesztésének egyszerűsége miatt vált népszerűvé. Ezért a keretrendszerek és a könyvtárak száma folyamatosan növekszik, és az általuk önállóan megoldott feladatok lehetővé teszik a fejlesztők számára, hogy amint lehetséges hozza a terméket készenléti állapotba. Nagyon gyakran a "Ruby" programozás webes alkalmazások fejlesztésével és különféle webhelyek és internetes platformok működésének támogatásával jár. A nyelv egyszerűsége és fejlődési sebessége miatt foglalta el ezt a rést. Hiszen az alternatív platformok (például a Java) sokkal több tudást és tapasztalatot igényelnek ugyanazon problémák megoldásához.

Népszerű keretek

Ha ma a piacon létező népszerű keretrendszerekről beszélünk, akkor ezek közül érdemes kiemelni a Rails-t. Sokan, amikor megkérdezik, mi az a "Ruby", intuitív módon a RubyOnRails-re gondolnak. Ez a készlet szoftver komponensek iparági szabvánnyá vált a fejlesztők körében. A programozó közösség folyamatosan támogatja, fejleszti és kiegészíti, miközben ingyenes marad. Ez a keretrendszer egy webalkalmazás komponenseit írja le az MVC (Model-View-Controller) minta keretein belül, valamint azonnali integrációt és interfészt biztosít az adatbázis eléréséhez. Ez a 3 összetevő valójában lehetővé teszi, hogy néhány óra alatt írjon és indítson el egy egyszerű blogot vagy egy privát weboldalt az interneten.

A Ruby programozási nyelven akár natív mobilalkalmazásokat is létrehozhat a RubyMotion könyvtárnak köszönhetően. Lehetővé teszi Ruby kód futtatását iOS, OS X és Android platformokon. A fejlesztők egy privát csoportja készítette, ezért fizetni kell a használatáért, de ismét megerősíti a nyelv gazdag tulajdonságait.

A tesztek írásának jelentősége

A Ruby nyelvi ökoszisztéma másik fontos összetevője és web-orientált része a tesztek írására szolgáló keretrendszerek és könyvtárak. A RubyOnRails a BDD (behavior-driven development) filozófiáját hirdeti, ami azt jelenti, hogy először a programozó tesztsorozatot készít, amely leírja a program várható viselkedését, majd kódot készít, amelynek sikeresen át kell mennie ezeken a teszteken. Ezen a területen a kimondatlan szabvány az RSpec - ez a keretrendszer lehetővé teszi tesztesetek megírását olyan nyelven, amely még a fejlesztésben járatlan felhasználók számára is érthető.

Rubin drágakövek

A részletes szabványnak köszönhetően, amelynek minden Ruby csomagnak és könyvtárnak meg kell felelnie, a kiegészítők fejlesztése nem nehéz. Ezért az úgynevezett drágakövek között (angolul - drágakő) szinte bármilyen probléma megoldására találhat modulokat - a közösségi hálózatokkal és harmadik féltől származó szolgáltatásokkal való integrációtól az e-kereskedelem kész platformjaiig. A harmadik féltől származó könyvtár használatához mindössze le kell írnia projektje függőségét egy távoli vagy helyi tárolóban található könyvtártól, és a következő összeállításkor ez a könyvtár automatikusan betöltődik az alkalmazásba. Ezenkívül megkönnyíti a projekt fejlesztők közötti áttelepítését, mivel nincs szükség a függőségek manuális megosztására a projekt felépítéséhez.

Ezért, ha ismét megkérdezik, mi az a Ruby, akkor magabiztosan kijelentheti, hogy ez egy erőteljes és sokoldalú programozási nyelv, amely minden bizonnyal megfelel a tapasztalt fejlesztőknek és a kezdőknek, akik szeretnék elsajátítani a programozás nehéz mesterségét. Eszközökkel rendelkezik bármilyen alkalmazás létrehozásához – az asztali programoktól a mobil szolgáltatásokés webes platformok.

Bevezetés

Napjainkban a kereső az egyik legszélesebb körben használt módszer a kibertérben való navigálásra, amely létezésének minden napján növekszik és bővül. Nyilvánvaló, hogy az információkereső algoritmusoknak folyamatosan növelniük kell komplexitásukat és hatékonyságukat. Ennek a munkának nem az a célja, hogy leírja az információ-visszakereső algoritmusokat, hanem egyszerűen bevezető leírást adjon ezekről. A munka célja továbbá egy kereső webes alkalmazás megírása Ruby programozási nyelven.

A fentiek alapján a következő célok fogalmazhatók meg:

Bevezetés az információkereső algoritmusokba

Kereső webes alkalmazás írása

A kitűzött célokat feladatok segítségével valósítjuk meg:

A keresési elmélet feltárása

A Ruby programozási nyelv elsajátítása

Bevezetés a Haml jelölőnyelvbe

Bevezetés a Sass metanyelvbe

Kódolja a webalkalmazást Ruby, Haml és Sass használatával

Hibakeresés az eredményül kapott alkalmazásban

Elméleti rész

Információvisszakeresés elmélete

Először meg kell határoznia egy keresőmotort.

Keresőrendszer - szoftver- és hardverkomplexum webes felülettel, amely lehetővé teszi az interneten történő információkeresést.

Az elvégzett funkciók és a megoldandó feladatok szerint a keresőmotorokat a következőkre osztják:

A hivatkozások a leggyakoribb típusú függvények információs rendszerek, és abból áll, hogy a rendszer-előfizetők számára lehetőséget biztosítanak bizonyos objektumosztályokhoz tartozó telepítési adatok fogadására;

a keresőmotorok az információs rendszerek leggyakoribb osztálya. Általánosságban elmondható, hogy a forma valamilyen információs térnek tekinthető, a tárgykör információs-logikai leírásaként megadva);

település. A rendszer feladata, hogy a rendszerben lévő információkat meghatározott számítási algoritmusok szerint, különféle célokra feldolgozza.

A tárolt információk logikai rendszerezésének jellege szerint a keresőmotorokat ténygrafikus, dokumentum- és geoinformációra osztják.

Tehát a faktográfiai keresőmotorok egy vagy több típusú szerkezeti elem számos példánya formájában gyűjtenek és tárolnak adatokat. A szerkezeti elemek ezen példányai vagy egyes kombinációik minden tényre, eseményre vonatkozó információkat tükröznek. Az egyes információs objektumok struktúrája véges részletkészletből áll, amelyek tükrözik az e tárgykör objektumaira vonatkozó információ fő szempontjait és jellemzőit.

A dokumentumkereső rendszerekben az információ egyetlen eleme egy olyan dokumentum, amely nincs felosztva kisebb elemekre, és az információ beíráskor általában nem, vagy korlátozott formában strukturált. A bemeneti dokumentumhoz beállítható néhány formalizált pozíció - gyártás dátuma, előadó, tárgy. A dokumentuminformációs rendszerek bizonyos típusai biztosítják a bevitt dokumentumok közötti logikai kapcsolat kialakítását - szemantikai tartalmi alárendeltség.

A térinformatikai adatok különállóak információs objektumok közös elektronikus topográfiai alaphoz kötve. Geoinformációs rendszerek alkalmazva információs támogatás azokon a tantárgyi területeken az információs objektumok és folyamatok szerkezete, amelyekben van földrajzi összetevő.

A keresőmotoroknak a következő osztályozása is létezik (1. ábra)

1. ábra. Keresőmotorok besorolása

Apropó kereső motorok, érdemes megemlíteni a keresési lekérdezések elméletét és osztályozását. Így 1949-ben egy harvardi filológiaprofesszor leírta az információkeresés néhány jellemzőjét.

Zipf professzor észrevette, hogy a hosszú szavak kevésbé gyakoriak bármely nyelvű szövegben, mint a rövidek. E megfigyelés alapján Zipf két törvényt vont le:

Az első törvény egy adott szó előfordulásának (előfordulásának) gyakoriságát ennek a gyakoriságnak a rangjához köti. A leggyakrabban előforduló szavak eggyel egyenlő rangot kapnak. Azok a szavak, amelyek kevésbé gyakoriak - kettővel egyenlő rang stb. Zipf megállapította, hogy egy szó előfordulási gyakoriságának és rangjának szorzata állandó érték.

Az ilyen függőséget általában hiperbolaként jelenítik meg. A(z) Zipf-állandó értéke különböző nyelvek eltérő, de ugyanazon a nyelvcsoporton belül változatlan marad. Az orosz nyelv esetében a konstans körülbelül 0,06-0,07.

Zipf megállapította, hogy a szavak előfordulási gyakorisága és a szövegben adott gyakorisággal szereplő szavak száma is összefügg egymással.

Egyrészt az eredményül kapott görbe megőrzi paramétereit ugyanazon a nyelven belüli összes szövegre. Másrészt, függetlenül attól, hogy milyen nyelven írják a szöveget, a Zipf-görbe alakja változatlan marad. Csak az együtthatók különböznek.

A Zipf törvényei egyetemesek. Nem csak a szövegekre vonatkoznak. Hasonló formában például a városok száma és a bennük élők száma közötti összefüggést öntik ki. Az internetes források népszerűségének jellemzői megfelelnek a Zipf törvényeinek. A Zipf törvényei a tárgyak „emberi” eredetét tükrözik.

Mindenesetre mindegyik keresési lekérdezés három jellemző szerint osztályozható: lekérdezés hossza, lekérdezés egyértelműsége, keresési szakasz.

Tehát a hossz szerint minden kérés fel van osztva

Egyszavas ("promóció")

kétszavas (" keresés promóciója»

Három szavas ("professzionális keresés promóciója")

Bőbeszédű ("professzionális keresés promóciója olcsón")

Az egyértelműség kedvéért minden kérés a következőkre oszlik:

Kifejezett kérés ("ipad 2 ára")

Fuzzy kérés ("Ózon", amely lehet gáz és az üzlet neve és az igazgató neve is)

A keresési szakasz szerint az összes kérés a következőkre oszlik:

A probléma tudata ("a webhely nem működik")

Megoldás keresése ("webhelytárhely")

Döntésválasztás ("melyik tárhelyet válasszam")

Keresse meg a tranzakció helyét ("masterhost hosting tarifák")

RUBY programozási nyelv

A Ruby egy dinamikus, reflektív, értelmezett magas szintű programozási nyelv a gyors és kényelmes objektum-orientált programozáshoz. A nyelv független attól operációs rendszer multithreading, erős dinamikus gépelés, szemétgyűjtő és sok más funkció megvalósítása. A Ruby szintaxisában közel áll a Perlhez és az Eiffelhez, objektum-orientált megközelítésben pedig a Smalltalk-hoz. Ezenkívül a nyelv néhány jellemzője a Python, Lisp, Dylan és Clu nyelvekből származik. A Ruby értelmezőt a mai napig szinte minden platformra implementálták (Unix, Win32, OS X). A nyelv megalkotója Yukihiro Matsumoto.

A Ruby egy teljesen objektum-orientált programozási nyelv. Minden egy objektum, és a függvények ezeknek az objektumoknak a metódusai.

A Ruby főbb tulajdonságai:

Tolmácsolt nyelv:

Közvetlen rendszerhívások lehetősége.

Hatékony támogatás a karakterláncokkal és szabályokkal (reguláris kifejezésekkel) végzett műveletekhez.

A fejlődés során bekövetkezett változások azonnali megnyilvánulása.

Nincs összeállítási szakasz.

Egyszerű és gyors programozás:

Nem kell változókat deklarálni.

A változók dinamikusan vannak beírva.

Egyszerű és következetes szintaxis.

Automatikus vezérlés munkamemória.

Objektumorientált programozás:

Minden egy tárgy. Még az osztály neve is a Class osztály példánya.

Osztályok, módszerek, öröklődés, polimorfizmus, tokozás és így tovább.

Egyedi módszerek.

Modulokat használó mixek (az osztály öröklődés nélküli kiterjesztésének képessége);

Iterátorok és lezárások.

Széleskörű metaprogramozási lehetőségek.

Felszerelés:

Az egész értékek korlátlan tartománya.

Kivételkezelési modell.

Minden operátor értéket ad vissza, még a vezérlőstruktúrák is.

Kivétel elkapó mechanizmus.

Menettámogatás; a UNIX család natív és rendszerei egyaránt.

Hibák:

Egyes folyamatok irányíthatatlansága (például memóriafoglalás), alacsony szintű adatstruktúrák vagy szubrutinok beállításának képtelensége;

Az összeállítás lehetetlensége és a program ezzel járó optimalizálása;

nyitottság forráskód még a kész programban is

Az első két hiányosság következménye nagyon alacsony sebesség programok indítása és végrehajtása.

Azt is érdemes megjegyezni, hogy a Rubyhoz sok modul (kiegészítő) létezik szinte bármilyen típusú feladathoz (interfész programozás, összetett matematikai számítások, hanggal, videóval, 3D-vel stb.). Ezért ezt a programozási nyelvet választották fő nyelvnek a gyakorlati rész megírásához.

1.3. Egyszerűsített jelölőnyelv HAML

A Haml egy jelölőnyelv az egyszerűsített XHTML generáláshoz. A HAML HTML-re fordít. A Haml sokkal egyszerűbb, mint a HTML", mivel lehetővé teszi a webes alkalmazások írásának egyszerűsítését és felgyorsítását.

Például ez a Haml-kódrészlet

%html( html_attrs("en") )

%title A blogom

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

stylesheet_link_tag "fő"

%h1 A blogom

%h2 Feljegyzések

- @entries.each |bejegyzés|

%h3.title= bejegyzés.cím

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

%p.body= entry.body

Minden jog fenntartva © Ivan

A HTML kód átalakul

A blogom