25 Jul

Kitabxana əhvalatı..

UntitledBu postu garanliqda və şərabla yazıram. Qaranliqda – çünki galdıgım yataqxananın otagında bütün lampalar yanıb. Şərabla, bu dəfə Ruby Cabernet, – çünki gündəlik işlərimi gurtarandan sonra, axşamlar arada bir özümə belə şeyləri icazə verməyə xoşlayıram. Amma bunlara baxmayaraq, düşünürəmki məgalə maraqlı olacaq. Çünki budəfə mənim Düsseıdorfda ən xoşladıgım yerlərdən biri(yəginki 4square də çekinlərdən bilinir) – Düsseldorf Mərkəzi Kitabxanasından söhbət gedəcək.
Kitabxana demək olarki şəhərin ən aktiv olan bir yerdə yerləşir. Bu mərkəzi dəmiryol vagzalın çıxışındadır. Çıxışlardan bir tərəfi şəhərin mərkəzi, Rayn çayı tərəfə, obirisi isə Universitet və Kitabxana tərəfə açılır. Bunu kim və niyə məhz belə fikirləşdiyini bilmirəm. Amma maraqlıdır.
Kitabxanada minlərlə köhnə və müasir kitab yox, həmdə CD-DVD disklər, pulsuz sürətli İnternetdə var. Bunları cəmi illik 20 euroya abunə olmagla 3-4 həftəlik kitabları, diskləri isə 1 həftəlik əldə etmək olar. Kitabların müddəti isə 2-3 dəfə , kitabxanaya getməyərək, onlayn artırmag olar. Bunula bəzi kitablar pdf formatda yükləyib 2-3 həftə oxumag imkan verilir. Abunə olmag istəmirsənsə, gəl, elə kitabxanada pulsuz otur, oturmaga yerlər doludur, və oxu. Yəni təhsil, belə olmalıdır. Tam pulsuz, və müasir. Əsaski maragın olsun. Amma kitabları vaxtında gaytarmagı unutma, çünki bir kitab bir gün uzatsan bir avro cərimə olunacagsan. Demək lazımdır ki, götürmək istədiyin kitabların sayına heç bir məhdudiyyət goyulmur. Nəgədər istəyirsən – o gədərdə götür.
Diqqət şəkillər: Read More

02 Jul

Parser ilə işləmək.

Crack – sadə Json və XML parseridir. Nümunədə Linux terminalda Hava haqqında məlumatı göstərməkdir. Məlumatı http://openweathermap.org/ saytından alırıg. Request – şəhərin adı, celsiy və ya kelvin, əlavə məlumatı hansı dildə təgdim olunmasını da seçmək olur.
Cavabda isə Hava haqqında məlumat: temperatur, küləkin sürəti, buludların olub olmaması və sairə məlumatı almag olur.
Düzdür bu sadə parserdi, və məsələn Nokogiri kimi güclü parserə çatmaz, lakin sadə proektlərdə işlətmək olur.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
require 'crack'    # Crack və net/http gemin əlavə olunması.
require 'net/http'

uri = URI('http://api.openweathermap.org/data/2.5/weather?q=Baki&mode=xml&units=metric&') # lazım olan məlumat
xml = Net::HTTP.get(uri) # openweather saytın apidən xml formatda məlumatın alınması
xml_pars = Crack::XML.parse(xml) # XML Parsingi

print "Location: " # Parsing olunan məlumatın göstərilməsi
puts xml_pars['current']['city']['name']
print  "Temperature Max in Celsius: "
puts xml_pars['current']['temperature']['max']
print "Temperature Min in Celsius: "
puts xml_pars['current']['temperature']['min']
print  "Weather: "
puts xml_pars['current']['weather']['value']

Və nəticə:

1
2
3
4
5
6
$> ruby hava.rb
 Location: Baki
 Temperature Max in Celsius: 25.6
 Temperature Min in Celsius: 23.0
 Weather: few clouds
$>