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:
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
Bejegyzés
halloween
Ó, azok az amerikai ünnepek.
Új sablonozási nyelv a Rails számára
A Haml szuper menő és szuper kényelmes. Rails lelkem tele van boldogsággal. Mi ez?