Ruby to potężny i popularny język programowania. Oprócz swojej popularności opiera się na nim dobrze znany framework, który pozwala tworzyć fajne i dynamiczne strony internetowe o różnej tematyce. Jeśli spojrzysz na ranking TIOBE, to język ten należy do dwudziestu najpopularniejszych języków na świecie.

Język pojawił się w 1995 roku i jest uważany za młody język w porównaniu do C lub C++, które pojawiły się odpowiednio w 1972 i 1983 roku. Język ma szereg zalet i specyficznych cech, które są zaimplementowane wyłącznie w nim, jeśli porównamy inne popularne języki programowania.

Plan kursu

Podczas kursu wideo nauczysz się języka Ruby bez korzystania z dodatkowych frameworków. Dodatkowe kursy na rubin można znaleźć na .

Podczas kursu nauczymy się instalować i pracować z językiem, poznamy składnię Rubin(zmienne, pętle, Instrukcje warunkowe), a także bardziej złożone rzeczy: OOP, praca z plikami, wyjątki, metody i wiele innych tematów.


Instalowanie Rubiego w systemie Windows

Aby zainstalować Rubiego w systemie Windows, użyj Instalator Ruby, który można pobrać z oficjalnej strony internetowej pod tym linkiem. Ściągnij Ostatnia wersja i zainstaluj go jak regularny program. Po zakończeniu instalacji zobaczysz podobne okno:

W tym oknie upewnij się, że pole wyboru jest zaznaczone, a następnie otworzy się inna aplikacja do instalacji rubin do systemu.

W oknie, które się otworzy, wpisz kolejno 1 i naciśnij Enter, po odczekaniu na zakończenie instalacji naciśnij 2 i Enter, a na koniec wykonaj trzecie polecenie, naciskając 3 i Enter.

Instalowanie Rubiego na Macu

Na Macu Ruby jest instalowany domyślnie, więc nie musisz nic więcej robić. Wersję językową w terminalu możesz sprawdzić za pomocą polecenia:

Jeśli wersja jest nieaktualna, możesz pobrać nową. Najpierw musisz pobrać menedżera wersji Ruby. Odbywa się to za pośrednictwem terminala za pomocą polecenia:

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

Po zainstalowaniu menedżera uruchom ponownie terminal. Uruchom następujące polecenie:

Znana lista RVM

Po ponownym uruchomieniu możesz zainstalować dowolną wersję. W naszym przypadku zainstalowano wersję 2.4.2:

rvm zainstaluj ruby-2.4.2

Na koniec możesz ponownie sprawdzić wersję, a jeśli nadal jest stara, po prostu ustaw domyślną nową wersję.

Do chwili obecnej istnieje wiele języków programowania, które mają swoje własne cechy i wzorce. W tym artykule omówimy jeden z nich.


Historia Ruby

Ruby jest językiem programowania od dawna. Po raz pierwszy prace nad edycją tego obecnie znanego języka rozpoczęły się w 1993 roku. pierwszy pierwszy oficjalna wersja ukazał się w 1995 roku. Twórcą języka jest Yukihiro Matsumoto. Jego zapał do programowania został zauważony już jako student, ale pomysł stworzenia własnego narzędzia pojawił się znacznie później. Jakie są więc niezwykłe cechy tego języka programowania? Co sprawiło, że jesteś tak popularny na światowej scenie?

Język programowania Ruby jest dość zrozumiały. To język wysoki poziom, który posiada dynamiczną typizację i implementację wielowątkowości niezależnej od środowiska wykonawczego. Posiada własny śmieciarz. W obszarze funkcji składniowych najbliżej jest do języków Perla. W wyniku szerokiego rozwoju ekosystemu platforma ta zaczerpnęła wiele z Smalltalk, Python, Lisp i innych języków programowania. Bardzo ważne jest również to, że język Ruby i jego implementacja są całkowicie bezpłatne. Z tego wynika, że ​​każdy ma możliwość zaproponowania własnych zmian. Jeśli zostaną zaakceptowane przez społeczność, zostaną włączone do następna wersja język.

Filozofia rubinowa

W procesie tworzenia własnego pomysłu Matsumoto, będąc oddanym fanem i entuzjastą programowania obiektowego, stał się autorem pewnej filozofii dla programistów, którzy decydują się na naukę jego języka. Dlatego język programowania Ruby jest przeznaczony do tworzenia prostych i zrozumiałych aplikacji. Główny nacisk położono na prostotę i czytelność kodu, a nie na szybkość działania programu. Właśnie dlatego ta platforma często wybierany jako wkład niezbędny do szkolenia programistów. Główną esencją, na której opiera się ten język, jest zasada „najmniejszego zaskoczenia”. Co to znaczy?

I fakt, że program powinien zachowywać się tak, jak oczekuje od niego programista. Ważną częścią ideologii języka, wprowadzonej przez twórcę, jest jego wielka zmienność. W ten sposób można osiągnąć ten sam wynik na różne sposoby i w różny sposób. Pozwala to każdemu programiście rozwiązać problem według własnego uznania pod względem poprawności i wygody. To właśnie w większości przypadków wpłynęło na popularność tego języka wśród profesjonalistów z dziedziny informatyki.

Główna charakterystyka

Co ma na myśli Ruby, traktując go jako język programowania? Przede wszystkim jest to język obiektowy. Brakuje w nim typów pierwotnych, ponieważ wszystkie struktury i jednostki danych są uważane za obiekty. To właśnie odróżnia go od tego samego języka Java, w którym występują prymitywne struktury danych. Wszystkie funkcje w Rubym są metodami. Większość funkcji i możliwości wprowadzają autorzy z innych języków programowania. Możemy więc śmiało powiedzieć, że Ruby zawiera najlepsze cechy wiele innych języków i technologii. Na przykład ekosystem Ruby ma swój własny garbage collector.

Jego pomysł został zapożyczony z Smalltalka i Javy. Jest w stanie pracować ze wszystkimi obiektami w systemie. Mechanizm ten umożliwia oczyszczenie pamięci z obiektów, w których utracono zapotrzebowanie, co dzieje się niezauważalnie przez użytkownika aplikacji i dewelopera. Moduł odśmiecania pamięci pomaga programiście nie rozpraszać się zarządzaniem pamięcią aplikacji. Dzięki temu może w pełni skupić się na funkcjonalności i użyteczności.

Paradygmaty językowe

Niektórzy programiści, którzy odpowiedzieli na pytanie, czym jest Ruby jako język wieloparadygmatyczny, nieświadomie znaleźli się w ogniu sporu. Język ten umożliwia z równym powodzeniem zastosowanie dowolnego paradygmatu programowania. Spośród nich warto podkreślić następujące:

proceduralny styl programowania;
podejście obiektowe;
funkcjonalne podejście.

Deweloper może wybrać paradygmat, który jest mu bliższy. Jednocześnie należy pamiętać, że jego zestaw narzędzi stanie się z tego powodu bardziej ograniczony lub słabszy. Język programowania Ruby stosuje się tylko do tego wyboru.

Powody sławy

W większości przypadków podany język zyskał sławę dzięki łatwości tworzenia wszelkiego rodzaju dodatków do niej. Tym samym liczba frameworków i bibliotek stale rośnie, a zadania, które sami rozwiązują, umożliwiają programistom doprowadzenie produktu do stanu gotowego w jak najkrótszym czasie. Często programowanie Ruby kojarzy się z tworzeniem aplikacji webowych, a także wspieraniem funkcjonowania różnych serwisów i platform internetowych. Język był w stanie zająć tę niszę dzięki własnej prostocie i szybkości rozwoju. Warto zauważyć, że alternatywne platformy (np. Java) wymagają znacznie większej wiedzy i doświadczenia do rozwiązywania podobnych problemów.

Wybitne ramy

Mówiąc o dobrze znanych frameworkach, które istnieją obecnie na rynku, wśród nich warto zwrócić uwagę na Railsy. Większość użytkowników, którzy odpowiadają na pytanie, czym jest Ruby, na poziomie intuicji, ma na myśli RubyOnRails. Ten zestaw elementów oprogramowania jest standardem branżowym dla programistów. Jest regularnie utrzymywany, jest stale rozwijany, aktualizowany przez społeczność programistów. Warto zauważyć, że przy tym wszystkim pozostaje bezpłatny.

Prezentowany framework jest w stanie opisać komponenty aplikacji webowej w granicach wzorca MVC (Model-View-Controller). Ponadto jest gotowy do natychmiastowej integracji z serwerem aplikacji, a także interfejsu umożliwiającego otwarcie dostępu do bazy danych. Te trzy komponenty umożliwiają dosłownie w ciągu kilku godzin napisanie i uruchomienie w Internecie prosty blog lub prywatna strona internetowa. Możliwe jest tworzenie w języku Ruby nawet natywnym aplikacje mobilne. Osiąga się to za pomocą biblioteki RubyMotion. Może uruchamiać kod Ruby na platformach iOS, OS X i Android. Ta biblioteka została opracowana przez prywatną grupę producentów. Oznacza to, że za korzystanie trzeba będzie zapłacić, ale jest to kolejne potwierdzenie szerokich możliwości języka.

Znaczenie testów pisemnych

Innym ważnym składnikiem ekosystemu języka Ruby, jak również jego częścią webową, są frameworki i biblioteki przeznaczone do pisania testów. RubyOnRails wykorzystuje filozofię BDD (behavior-driven development). Oznacza to, że programista najpierw opracowuje sekwencję testów, które opisują oczekiwane zachowanie programu. Następnie generuje kod potrzebny do pomyślnego przejścia tych testów. Niepisanym standardem w tej dziedzinie jest RSpec. Jest to framework, który umożliwia pisanie przypadków testowych w języku zrozumiałym nawet dla niedoświadczonych użytkowników.

Rubinowe Klejnoty

Ze względu na dobrze opisany standard, z którym muszą być zgodne pakiety i biblioteki Rubiego, tworzenie dodatków jest łatwe. Wśród perełek istnieje więc możliwość znalezienia modułów przeznaczonych do rozwiązania niemalże każdego zadania, począwszy od integracji z portale społecznościowe oraz zasoby stron trzecich do gotowych platform e-commerce. Aby skorzystać z biblioteki innej firmy, wystarczy opisać zależność własnego projektu od konkretnej biblioteki, która znajduje się w zdalnym lub lokalnym repozytorium. Przy kolejnym montażu podana biblioteka załadowany do aplikacji tryb automatyczny. To rozwiązanie znacznie upraszcza migrację projektu między twórcami, ponieważ nie ma potrzeby udostępniania zależności w celu ręcznego skompilowania projektu.

Możemy zatem stwierdzić, że Ruby jest potężnym i wszechstronnym językiem programowania, który jest odpowiedni nie tylko dla doświadczonych programistów, ale także dla początkujących.

Język programowania Ruby jest czysto obiektowym językiem programowania, pierwotnie zaprojektowanym do tworzenia skryptów. Łączy w sobie składnię, która pochłonęła funkcje obiektowe Ada, Perl i Smalltalk, a także dzieli wspólne funkcje z Pythonem, Lispem i narzędziem wiersz poleceń- to plus przy nauce podstaw programowania.
Język programowania Ruby ma obecnie tylko jedną implementację interpretera Ruby, chociaż podejmowane są wysiłki w celu zaimplementowania interfejsu Ruby (zwanego „kardynalnym”) dla maszyna wirtualna Papuga.
Język programowania Ruby ma wiele przydatne funkcje. Ruby obsługuje również przeciążanie operatorów i obsługę wyjątków. Obecnie język programowania Ruby nie obsługuje Unicode. Ruby ma iteratory (podobne do CLU i Sather). Ruby obsługuje abstrakcyjne reprezentacje funkcji (podobnie jak Smalltalk i wiele początkujących funkcjonalnych języków programowania). Ruby ma wbudowaną obsługę składni wyrażenia regularne Perl na poziomie języka (nie tylko w bibliotekach jak w Pythonie i wielu innych językach). Ruby obsługuje automatyczne odśmiecanie pamięci i dynamiczne ładowanie bibliotek/włączanie modułów (w zależności od architektury) na Microsoft Windows. Ruby został przeniesiony na wiele platform, w tym Unix, Microsoft Windows, DOS, Mac OS X, OS/2, Amiga i inne.
Ruby jest czysto obiektowy: każdy fragment danych obiektów, w tym typy, które w innych językach są zdefiniowane jako „prymitywne”. Każda funkcja jest metodą. Jest podobny do Smalltalka, ale zasadniczo różni się od Javy i Pythona. Każda nazwa wartości (nazwa zmiennej) w programie Rubiego definiuje odniesienie do obiektu, a nie do samego obiektu. Ruby obsługuje dziedziczenie za pomocą metod dynamicznego wysyłania, Mixins i Singleton. Ruby nie obsługuje wielokrotnego dziedziczenia, ale klasy mogą importować moduły. Chociaż możesz używać składni proceduralnej w Rubim, wszystko w Rubim jest obiektem w sensie Smalltalk, a nie programowaniem w Perlu lub Pythonie dla manekinów.
Język został stworzony przez Yukihiro Matsumoto (aka „Matz”) Yukihiro Matsumoto (aka „Matz”) 24 lutego 1993 roku. Obecna stabilna wersja to 1.8.0. Zwróć uwagę, że nazwa nie jest akronimem - to właściwie kalambur Perla. Według autora Ruby jest zaprojektowany zgodnie z zasadą najmniejszego zaskoczenia (POLS), co oznacza, że ​​język powinien być wolny od pułapek i niespójności, które nękają inne języki.
Z Często zadawane pytania dotyczące Rubiego: Jeśli podoba Ci się Perl, korzystanie z Rubiego będzie wspaniałe ze względu na jego składnię. Jeśli lubisz Smalltalk, polubisz Rubiego i jego semantykę. Jeśli lubisz Pythona, możesz, ale nie musisz, odczuć ogromną różnicę w filozofii projektowania między Pythonem a Ruby/Perlem.
Ruby jest darmowy i open source na licencji GPL lub Licencji Artystycznej, tak jak Perl.

Przykłady
Oto kilka przykładów kodu Rubiego:

>> -199.abs # liczba -199 to obiekt; do tego potrzebna jest metoda ABS. => 199 >> "Rubin jest fajny".length # Wywoływana jest metoda obiektu napisowego - długość napisu => 13 >> "Rick".index("c") => 2 >> "John".swapcase => "jOHN " >> #Arrays ?> .sort => >> .sort.reverse => # następujący blok kodu zostanie wykonany 10 razy 10.x ( # Zamień " " na ", " i zapisz w string1 string1 = "Witaj świecie ".gsub( " ", ",") # dodaj "!" do zmiennej "string1" string1 += "!" # wypisz zmienną "string1", po której następuje znak nowej linii umieszcza string1 )

Jak zostać specjalistą od tworzenia stron internetowych i zacząć zarabiać? Niedrogie kursy wideo ze wstępnym wprowadzeniem.

Na ten moment istnieje duża ilość języki programowania, z których każdy ma swoje własne cechy i wzorce. W tym artykule omówimy jeden z nich.

Historia Ruby

Ruby jako język programowania istnieje od bardzo dawna. Prace nad pierwszą edycją tego niezwykle popularnego dziś języka rozpoczęły się w 1993 roku, a pierwsza oficjalna wersja powstała w 1995 roku. Twórca języka, Yukihiro Matsumoto, od czasów studenckich jest entuzjastą programowania, jednak pomysł stworzenia własnego narzędzia przyszedł mu do głowy znacznie później. Więc co jest tak niezwykłego w tym języku programowania, że ​​dziś zajmuje jedną z wiodących pozycji na światowej arenie tworzenia oprogramowania?

Język programowania Ruby jest wysokopoziomową, niezależną od środowiska wykonawczego implementacją wielowątkowości. Posiada własny garbage collector, a pod względem składni jest najbliżej takich języków jak Perl. Wraz z rozwojem ekosystemu platforma ta zapożyczyła również wiele z Smalltalk, Python, Lisp i innych języków programowania. Bardzo ważne dla istnienia i ciągłego rozwoju jest również to, że język Ruby i jego implementacja są całkowicie darmowe. Oznacza to, że każdy może zaproponować zmiany, a jeśli zostaną zaakceptowane przez społeczność, zostaną uwzględnione w następnej wersji języka.

Filozofia rubinowa

Tworząc swój pomysł, Matsumoto, jako oddany fan i entuzjasta programowania obiektowego, stworzył pewną filozofię dla programistów chcących opanować jego język. Tak więc język programowania Ruby został zaprojektowany do tworzenia prostych, ale zrozumiałych aplikacji. Główny nacisk Ruby nie kładzie się na szybkość programu, ale na prostotę i czytelność kodu.

Dlatego platforma ta jest bardzo często wybierana jako wkład do nauki programowania. Główną zasadą, na której opiera się ten język, jest tzw. zasada „najmniejszego zaskoczenia” – oznacza to, że program powinien zachowywać się tak, jak oczekuje od niego autor (programista). Inną ważną częścią ideologii języka, którą wprowadził twórca, jest jego duża zmienność. Ten sam wynik można osiągnąć na różne sposoby i funkcje. Dzięki temu każdy programista może rozwiązać problem w sposób, który uzna za najbardziej poprawny i wygodny. To w dużej mierze wpłynęło na popularność języka wśród specjalistów IT.

Główne cechy języka

Czym jest „Ruby” jako język programowania? Jest to przede wszystkim język obiektowy. Nie ma w nim typów prymitywnych - wszystkie struktury i jednostki danych są obiektami (w przeciwieństwie do tego samego języka Java ma prymitywne struktury danych). Każda funkcja w Rubim jest metodą. Wiele funkcji i możliwości zostało wniesionych przez twórców z innych języków programowania, więc możemy śmiało powiedzieć, że Ruby (język) wchłonął to, co najlepsze z wielu innych języków i technologii.

Na przykład ekosystem Ruby ma swój własny garbage collector, którego idea została przejęta z Smalltalka i Javy i który może współpracować ze wszystkimi obiektami w systemie. Mechanizm ten umożliwia niepostrzeżenie dla użytkownika aplikacji i dewelopera wyczyszczenie pamięci z obiektów, które nie będą już potrzebne. Garbage collector pozwala programistom w większości przypadków nie rozpraszać się zarządzaniem pamięcią aplikacji, ale skupić się na funkcjonalności i użyteczności.

Paradygmaty językowe

Odpowiadając na pytanie, czym jest „Ruby” jako język wieloparadygmatyczny, możesz nieoczekiwanie znaleźć się w ogniu kłótni. W końcu język ten pozwala z równym powodzeniem korzystać z dowolnego paradygmatu programowania: proceduralnego stylu programowania, obiektowego, czy też Deweloper może wybrać dla siebie paradygmat, który jest mu bliższy, a jego zestaw narzędzi nie stają się bardziej ograniczone lub słabsze. Język programowania Ruby tylko zachęca do tego wyboru.

Powody popularności

Pod wieloma względami język ten stał się popularny ze względu na łatwość tworzenia różnych dodatków do niego. Dlatego liczba frameworków i bibliotek stale rośnie, a zadania, które samodzielnie rozwiązują, pozwalają programistom na tak szybko, jak to możliwe doprowadzić produkt do stanu gotowości. Bardzo często programowanie „Ruby” wiąże się z tworzeniem aplikacji webowych oraz wsparciem działania różnych serwisów i platform internetowych. Język zajął tę niszę ze względu na swoją prostotę i szybkość rozwoju. W końcu alternatywne platformy (np. Java) wymagają znacznie większej wiedzy i doświadczenia, aby rozwiązać te same problemy.

Popularne frameworki

Jeśli mówimy o popularnych frameworkach, które istnieją obecnie na rynku, to wśród nich warto wyróżnić Railsy. Wiele osób pytanych, czym jest „Ruby”, intuicyjnie ma na myśli RubyOnRails. Ten zestaw komponenty oprogramowania stał się standardem branżowym wśród programistów. Jest stale wspierany, rozwijany i uzupełniany przez społeczność programistów, pozostając jednocześnie darmowym. Ta struktura opisuje składniki aplikacji sieci Web w ramach wzorca MVC (Model-View-Controller), a także zapewnia gotową integrację z bazą danych i interfejs dostępu. Te 3 komponenty w rzeczywistości pozwalają na napisanie i uruchomienie prostego bloga lub prywatnej strony internetowej w ciągu kilku godzin.

W języku programowania Ruby możesz nawet tworzyć natywne aplikacje mobilne, dzięki bibliotece RubyMotion. Pozwala na wykonanie kodu Ruby na platformach iOS, OS X i Android. Został stworzony przez prywatną grupę programistów, więc korzystanie z niego jest płatne, ale po raz kolejny potwierdza bogate funkcje języka.

Znaczenie testów pisemnych

Kolejnym ważnym elementem ekosystemu języka Ruby i jego częścią zorientowaną na sieć są frameworki i biblioteki do pisania testów. RubyOnRails głosi filozofię BDD (behavior-driven development), co oznacza, że ​​najpierw programista tworzy sekwencję testów opisujących oczekiwane zachowanie programu, a następnie tworzy kod, który musi pomyślnie przejść te testy. Niewypowiedzianym standardem w tym obszarze jest RSpec - ten framework pozwala na pisanie przypadków testowych w języku zrozumiałym nawet dla niedoświadczonych użytkowników w rozwoju.

Rubinowe Klejnoty

Dzięki szczegółowemu standardowi, który muszą spełniać wszystkie pakiety i biblioteki Rubiego, tworzenie dodatków nie jest trudne. Dlatego wśród tzw. gemów (z angielskiego – gem) można znaleźć moduły do ​​rozwiązania niemal każdego problemu – od integracji z sieciami społecznościowymi i usługami firm trzecich po gotowe platformy do e-commerce. Wszystko, co jest potrzebne do korzystania z biblioteki innej firmy, to opisanie zależności projektu od jakiejś biblioteki znajdującej się w zdalnym lub lokalnym repozytorium, a przy następnej kompilacji ta biblioteka zostanie automatycznie załadowana do aplikacji. Ułatwia również migrację projektu między programistami, ponieważ nie ma potrzeby ręcznego udostępniania zależności w celu skompilowania projektu.

Dlatego, jeśli ponownie zostaniesz zapytany, czym jest Ruby, możesz śmiało stwierdzić, że jest to potężny i wszechstronny język programowania, który z pewnością będzie odpowiadał zarówno doświadczonym programistom, jak i początkującym, którzy chcą opanować trudne rzemiosło programowania. Posiada narzędzia do tworzenia dowolnej aplikacji - od programów desktopowych po usługi mobilne i platformy internetowe.

Wstęp

Dziś wyszukiwarka jest jedną z najpowszechniej stosowanych metod poruszania się w cyberprzestrzeni, która z każdym dniem swojego istnienia rośnie i rozszerza. Oczywiste jest, że algorytmy wyszukiwania informacji muszą stale zwiększać swoją złożoność i wydajność. Celem tej pracy nie jest opisanie algorytmów wyszukiwania informacji, ale po prostu przedstawienie ich wstępnego opisu. Celem tej pracy jest również napisanie aplikacji internetowej do wyszukiwania w języku programowania Ruby.

Na podstawie powyższego można sformułować następujące cele:

Wprowadzenie do algorytmów wyszukiwania informacji

Pisanie aplikacji internetowej do wyszukiwania

Wyznaczone cele realizujemy za pomocą zadań:

Odkrywanie teorii wyszukiwania

Nauka języka programowania Ruby

Wprowadzenie do języka znaczników Haml

Wprowadzenie do metajęzyka Sassa

Zakoduj aplikację internetową za pomocą Ruby, Haml i Sass

Debuguj powstałą aplikację

Część teoretyczna

Teoria wyszukiwania informacji

Najpierw musisz zdefiniować wyszukiwarkę.

Szukaj systemu - kompleks oprogramowania i sprzętu z interfejsem sieciowym, który zapewnia możliwość wyszukiwania informacji w Internecie.

W zależności od pełnionych funkcji i zadań do rozwiązania, wyszukiwarki są podzielone na:

referencje są najczęstszym rodzajem funkcji systemy informacyjne i polega na zapewnieniu abonentom systemu możliwości otrzymywania danych instalacyjnych dla określonych klas obiektów;

wyszukiwarki są najczęstszą klasą systemów informatycznych. Ogólnie rzecz biorąc, formę można uznać za pewną przestrzeń informacyjną, podaną w kategoriach informacyjno-logicznego opisu obszaru tematycznego);

osada. Funkcją systemu jest przetwarzanie informacji w systemie według określonych algorytmów obliczeniowych do różnych celów.

Ze względu na charakter zapewniania logicznej organizacji przechowywanych informacji, wyszukiwarki dzielą się na faktograficzne, dokumentacyjne i geoinformacyjne.

Tak więc wyszukiwarki faktograficzne gromadzą i przechowują dane w postaci wielu wystąpień jednego lub więcej typów elementów strukturalnych. Każdy z tych przypadków elementów konstrukcyjnych lub niektóre ich kombinacje odzwierciedlają informację o każdym fakcie, zdarzeniu. Struktura każdego typu obiektu informacyjnego składa się ze skończonego zbioru szczegółów, które odzwierciedlają główne aspekty i cechy informacji dla obiektów z tego obszaru tematycznego.

W systemach wyszukiwania dokumentów pojedynczy element informacji to dokument, który nie jest podzielony na mniejsze elementy, a wprowadzane informacje z reguły nie są ustrukturyzowane lub są ustrukturyzowane w ograniczonej formie. Dla dokumentu wejściowego można ustawić niektóre sformalizowane pozycje - data produkcji, wykonawca, temat. Niektóre typy systemów informacji dokumentacyjnej zapewniają ustalenie logicznego związku między wprowadzanymi dokumentami – podporządkowanie pod względem treści semantycznej.

Dane geoprzestrzenne są zorganizowane jako oddzielne obiekty informacyjne powiązane ze wspólną elektroniczną podstawą topograficzną. Systemy geoinformacyjne stosowane do wsparcie informacyjne w tych obszarach tematycznych struktura obiektów i procesów informacyjnych, w których występuje komponent geograficzny.

Istnieje również następująca klasyfikacja wyszukiwarek (ryc. 1.)

Rys.1. Klasyfikacja wyszukiwarek

Mówiąc o Wyszukiwarki warto wspomnieć o teorii zapytań wyszukiwania i ich klasyfikacji. Tak więc w 1949 roku profesor filologii z Harvardu opisał niektóre cechy wyszukiwania informacji.

Profesor Zipf zauważył, że długie słowa są mniej powszechne w tekstach dowolnego języka niż krótkie. Na podstawie tej obserwacji Zipf wydedukował dwa prawa:

Pierwsze prawo wiąże częstotliwość występowania (występowania) określonego słowa z rangą tej częstotliwości. Najczęściej występującym słowom przypisuje się rangę równą jeden. Te słowa, które są mniej powszechne - ranga równa dwóm itd. Zipf odkrył, że iloczyn częstotliwości występowania słowa i jego rangi jest wartością stałą.

Taka zależność jest zwykle przedstawiana jako hiperbola. Wartość stałej Zipf dla inne języki inny, ale w ramach tej samej grupy językowej pozostaje niezmieniony. Dla języka rosyjskiego stała wynosi około 0,06-0,07.

Zipf ustalił, że częstość występowania słów i liczba słów zawartych w tekście o danej częstotliwości również są ze sobą powiązane.

Z jednej strony uzyskana krzywa zachowa swoje parametry dla wszystkich tekstów w tym samym języku. Z drugiej strony, bez względu na język, w jakim jest napisany tekst, kształt krzywej Zipf pozostanie niezmieniony. Tylko współczynniki będą się różnić.

Prawa Zipfa są uniwersalne. Dotyczą one nie tylko tekstów. W podobnej formie wylewa się np. relacja między liczbą miast a liczbą mieszkających w nich mieszkańców. Charakterystyka popularności zasobów internetowych odpowiada prawom Zipfa. Prawa Zipfa odzwierciedlają „ludzkie” pochodzenie obiektów.

W każdym razie każdy wyszukiwana fraza można podzielić na trzy cechy: długość zapytania, przejrzystość zapytania, etap wyszukiwania.

Tak więc, w zależności od długości, wszystkie żądania są podzielone na

Jedno słowo („promocja”)

Dwa wyrazy(" promocja w wyszukiwarce»

Trzy słowa („profesjonalna promocja w wyszukiwarce”)

Szczegółowe („profesjonalna promocja wyszukiwania niedrogo”)

Dla jasności wszystkie wnioski są podzielone na:

Wyraźne żądanie („cena iPada 2”)

Żądanie rozmyte („Ozon”, którym może być zarówno gaz, jak i nazwa sklepu oraz nazwisko dyrektora)

Zgodnie z etapem wyszukiwania wszystkie wnioski są podzielone na:

Świadomość problemu („strona nie działa”)

Wyszukaj rozwiązanie („hosting witryn”)

Wybór decyzji („który hosting wybrać”)

Wyszukaj miejsce transakcji („taryfy hostingu masterhost”)

Język programowania RUBY

Ruby to dynamiczny, refleksyjny, interpretowany język programowania wysokiego poziomu do szybkiego i wygodnego programowania obiektowego. Język jest niezależny od system operacyjny implementacja wielowątkowości, silnego dynamicznego typowania, garbage collectora i wielu innych funkcji. Ruby jest zbliżony składnią do Perla i Eiffla, w podejściu obiektowym - do Smalltalka. Ponadto niektóre cechy języka zaczerpnięto z Pythona, Lispa, Dylana i Clu. Do tej pory interpreter Ruby został zaimplementowany na prawie wszystkich platformach (Unix, Win32, OS X). Twórcą języka jest Yukihiro Matsumoto.

Ruby to całkowicie obiektowy język programowania. Wszystko jest obiektem, a funkcje są metodami tych obiektów.

Główne właściwości Ruby:

Język tłumaczony:

Możliwość bezpośrednich wywołań systemowych.

Potężne wsparcie dla operacji z ciągami i regułami (wyrażenia regularne).

Natychmiastowa manifestacja zmian podczas rozwoju.

Brak etapu kompilacji.

Proste i szybkie programowanie:

Nie ma potrzeby deklarowania zmiennych.

Zmienne są wpisywane dynamicznie.

Prosta i spójna składnia.

Automatyczna kontrola Pamięć robocza.

Programowanie obiektowe:

Wszystko jest przedmiotem. Nawet nazwa klasy jest instancją klasy Class.

Klasy, metody, dziedziczenie, polimorfizm, enkapsulacja i tak dalej.

Metody pojedyncze.

Domieszki za pomocą modułów (możliwość rozszerzenia klasy bez dziedziczenia);

Iteratory i domknięcia.

Rozbudowane możliwości metaprogramowania.

Budynków:

Nieograniczony zakres wartości całkowitych.

Model obsługi wyjątków.

Wszystkie operatory zwracają wartości, nawet struktury kontrolne.

Mechanizm łapania wyjątków.

Obsługa wątków; zarówno natywne, jak i systemy z rodziny UNIX.

Wady:

Niezarządzanie niektórymi procesami (np. alokacja pamięci), niemożność ustawienia niskopoziomowych struktur danych lub podprogramów;

Niemożność kompilacji i towarzysząca jej optymalizacja programu;

otwartość kod źródłowy nawet w gotowym programie

Konsekwencja dwóch pierwszych niedociągnięć jest bardzo niska prędkość uruchamianie i wykonywanie programów.

Warto również zauważyć, że istnieje wiele modułów (dodatków) dla Rubiego do niemal każdego rodzaju zadań (programowanie interfejsów, skomplikowane obliczenia matematyczne, praca z audio, wideo, 3D itp.). Dlatego ten język programowania został wybrany jako główny do pisania części praktycznej.

1.3. Uproszczony język znaczników HAML

Haml to język znaczników do uproszczonego generowania XHTML. HAML kompiluje się do HTML. Haml jest znacznie prostszy niż Html”, ponieważ pozwala uprościć i przyspieszyć pisanie aplikacji internetowych.

Na przykład ten fragment kodu Hamla

%html( html_attrs("en") )

%title Mój blog

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

stylesheet_link_tag "główny"

%h1 Mój blog

%h2 Rekordy

- @entries.each robi |wejście|

%h3.title= wpis.tytuł

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

%p.body= wpis.body

Wszelkie prawa zastrzeżone © Ivan

Kod HTML jest przekształcany

Mój blog