Hledat
Přihlásit se
  • Věda a technika
  • Herní doupě
  • Tipy pro PC
  • IT Byznys
  • Mobily
  • Počítače
  • Počítače
  • Témata
  • Poradna
  • Diskuzní fórum
  • Video
  • Bazar
  • Blogy
  • MĚŘENÍ RYCHLOSTI
  • RSS
  • Facebook Twitter Google+ YouTube
  • Hardware
  • Software
  • Počítače
  • Notebooky
  • Služby na webu
  • Apple
  • Google
  • Microsoft
  • Seznam
  • Tiskové zprávy
Další témata
  • Týden Živě
  • Zprávy Živě
  • Testy
  • Pitvy
Všechna videa
Blogy Živě » O programování a všem okolo

O programování a všem okolo

Články vytvořil Jiří Hrebenar
 

Archiv pro Červenec 2009

Jak na Unix - 3

V minulém dílu jsme se dozvěděli úvodní informace o shellu, co to vlastně shell je a k čemu slouží. V dalších článcích se budeme shellem zabývat hlouběji. Veškeré povídání o shellech a unixových systémech vychází ze zkušeností ze systému Solaris a Opensolaris, shell který zde budeme studovat je Bourne Again Shell, neboli Bash.

Pokud budeme chtít začít s prací s unixovým strojem, tak se musíme napřed přihlásit. Přihlášení je možné provádět na terminálu, emulátoru terminálu, nebo podobném zařízení. Po přihlášení se objeví výzva shellu, která potvrdí zdárné přihlášení.

ZJIŠTĚNÍ DRUHU SHELLU:

Abyste mohli zkoušet naše příklady bylo by dobré, kdybyste znali druh shellu Vašeho unixového stroje. Je to celkem jednoduché. Postup je zhruba takovýto, prostě napíšete v shellu ps a stisknete ENTER. S výrazem ps se ještě setkáme, takže se nelekejte, že nevíte co znamená.

ZPRACOVÁNÍ PŘÍKAZU SHELLEM:

Pokud budete v shellu zadávat nějaké příkazy, tak shell má “předprogramovaný” postup zpracování.

Postup je přibližně takovýto:

  • detekce znaků rušících speciální význam znaků ( ‘, “, \)
  • odstranění komentářů (# )
  • oddělení příkazů
  • přesměrování V/V
  • náhrada - aliasů (zkratek příkazů),znaku tilda ( ~ ),příkazů(`příkaz `),aritmetických výrazů,parametrů a proměnných ($1, $HOME,…)
  • rozdělení na slova
  • náhrada jmen souborů ( *, ?, [ ] )
  • nastavení parametrů
  • hledání příkazu - absolutní/relativní cesta k příkazu, vnitřní příkaz interpretu,funkce, pokud je příkaz zadán pouze jménem a není to vnitřní příkaz ani funkce, pak se hledá první výskyt spustitelného programu v adresářích definovaných v proměnné PATH zleva doprava

PŘÍSTUP SUPERUŽIVATELE:

Na unixových systémech můžete být přihlášeni jako ROOT, neboli superuživatel. Možná bych s mírou větší nadsázky přirovnal přihlášení jako superuživatele k windosovskému účtu Administrátor. Jako ROOT máte veškerá práva k různým akcím na Unixu.

Jak již bylo v předchozím článku uvedeno, unix je víceuživatelským systémem, a proto ne každý může být vlastníkem rootovských práv. S těmito právy můžete například mazat a vytvářet soubory, měnit klíčové vlastnosti systému atd.


30. 7. 2009 | gisat_cz | 0

Ruby - cyklus while a until

CYKLUS WHILE:

Dalším hojně využívaným cyklem v jazyku Ruby je cyklus while.

Je velmi využívanou formou cyklu. Opět si vše ukážeme na příkladu: Představte si, že budete chtít opakovat nšjaký text až do doby než uživatel zmáčkne na klávesnici počítače písmeno k:

while($_!= “k”)

puts “Nezmáčkli jste písmeno k”

puts “Tento příklad ukončíte stiskem písmena k”

gets

chomp

end

Tady vidíte že konstrukce cyklu while je podobná například konstrukci if. Stejný význam jako má cyklus while má i cyklus for, o kterém si řekneme v dalším článku.

CYKLUS UNTIL:

Opět tu je jeden příkaz Ruby, který se mi zdá poněkud zbytečný, pokud jste se v některém mém předchozím článku setkali s cyklem unless tak cyklus until má podobnou funkci. Jednoduše se provede tehdy, když  daný jev není pravdou. Podívejte se na příklad:

until($_== “k”)

puts “Nezmáčkli jste písmeno k”

puts “Tento příklad ukončíte stiskem písmena k”

gets

chomp

end

Jak vidíte výsledek příkladu s until vykonává přesný opak, vykoná kód tehdy pokud jste nezmáčkli na klávesnici počítače písmeno k.  V dalším díle se budeme věnovat cyklu for.


30. 7. 2009 | gisat_cz | 1

Jemný úvod do základní syntaxe jazyka Awk - 1

V minulém článku o jazyku Awk jsme se seznámili se základními pojmy. Než však budeme plnohodnotně programovat musíme se seznámit se základními stavebními prvky jazyka Awk.

Program jAwk se skládá z jednotlivých bloků, obecně bych je označil zhruba takto:

vzorek {akce}

vzorek {akce}

Data v Awk jsou nejčastěji načítána buď ze standardního vstupu nebo vstupního souboru. Data čte Awk řádek po řádku a kontroluje, jestli daný řádek vyhovuje vzorku. Pokud je nalezena shoda, provede se příslušná akce, kterou jsme si nadefinovali. Poté jsou prověřovány další řádky a tak stále dokola až Awk dojde na konec souboru.

Řádky obsahující slova BEGIN a END se neporovnávají, protože se jedná o slova se speciálním významem. O těchto slovech si povíme později.

V části akce {akce} můžeme samozřejmě uvést jednotlivé příkazy, a to z obecného hlediska takto:

{prikaz1

prikaz2

}

Jednotlivé příkazy můžeme uvádět na jednu řádku, ale v tomto případě je musíme oddělit středníkem. Středník také můžeme dát na konec každého příkazu.  První závorka musí být uvedena na řádku kde je daný vzorek.

Komentáře se vytváří  znakem # například: # ja jsem komentar

Rozlišuje se celkem 6 druhů vzorků:

BEGIN{příkaz}

příkazy jsou vykonány před zpracováním prvního řádku vstupních dat, tyto příkazy jsou vykonány pouze jednou.

END{příkaz}

příkazy jsou vykonány po zpracování prvního řádku vstupních dat, tyto příkazy jsou vykonány pouze jednou.

výraz{příkaz}

příkazy jsou vykonány pro každý řádek, je-li výraz PRAVDA

/regulární výraz/{příkaz}

příkazy jsou vykonány pro každý řádek,odpovídá-li regulárnímu výrazu

složený vzorek{příkaz}

výraz můžeme spojovat pomocí operátorů, které určitě každý programátor dobře zná:
&& (logické AND)
|| (logické OR)
! negace

Příkazy jsou vykonány tehdy, odpovídají-li výše uvedeným operátorům.

vzorek1,vzorek2{příkaz}

Tímto definujeme oblast začínající prvním řádkem, pro který platí vzorek1 a končící posledním řádkem označující vzorek2.

BEGIN a END nemůžeme kombinovat s jinými vzorky. Vzorek BEGIN nemusí být nutně uveden na začátku programu.


29. 7. 2009 | gisat_cz | 0

Javascriptový objekt Date

Objekt Date můžete vytvořit pomocí konstruktoru Date(). Umožňuje nám například vytvoření datumu.

Uvedeme si několik příkladů na objekt date:
new Date(’2009 11 12′)
Tue May 26 2009 20:56:21 GMT+0200

METODY OBJEKTU DATE()

Jestliže vytvoříte objekt Date(), existuje spoustu metod a vlastností, které objekt Date() poskytuje.
Mnoho metod začíná bud set*() nebo get*() , například metoda setMonth(), getMonth(),getHours(), setHours() a řada dalších.

Například:
var d = new Date();
d.toString();

Výsledek: Tue May 26 2009 20:56:21 GMT+0200
Nastavíme měsíc na březen: d.setMonth(2);
d.getMonth();
Výsledek: 2

Kromě všech metod data instancí, jsou zde i dvě metody, které jsou vlastnosti

Kromě všech metod instance date, existují dvě metody, které jsou také vlastnostmi objektu Date(). Tyto metody nepotřebují instanci date. Fungují podobně jako metody objektu Math. V objektově orientovaných jazycích bychom je mohli označit jako statické.

Date.parse() - bere řetězec a vrací časové razítko.
Date.parse(’Jan 1, 2008′);
Výsledek: 1199174400000

Date.UTC() - parametry ve funkci jsou rok, měsíc, den, a výsledkem je časové razítko v univerzálním čase.
Výsledek: 1199145600000

Nyní si ukážeme jeden kuriózní příklad, zjistíme kolik let zbývá do narozenin v roce 2012:

var d = new Date(2012, 5, 20);
d.getDay();
Výsledek: 3

Dále si řekneme kolik pondělků , čtvrtků a pátků schází od 20.5.2012 do 20.5.3012:
Takže nastavíme si pole se dny: var stats = [0,0,0,0,0,0,0];

for (var i = 2012; i < 3012; i++) {
stats[new Date(i, 5, 20).getDay()]++;
}

[139, 145, 139, 146, 143, 143, 145]
Tedy 145 pondělků, 143 čtvrtků a 143 pátků


29. 7. 2009 | gisat_cz | 2

Ruby - příkaz case a ternární operátor

Ruby disponuje příkazem case, který se do jisté míry odpovídá příkazu switch. Prakticky se jedná o vícecestný příkaz if, a to velmi silný příkaz.

Dejme tomu, že byste měli proměnou, která vyžaduje větší množství instrukcí, a u nějaké se na základě rozhodnutí potřebujete zastavit a u jiné ne. Tak právě pro tyto případy je výhodnější než používat sadu if a elsif používat příkaz case.

Opět se radši podívejme na příklad:

prikaz=”pátek”

case prikaz

when “pondělí”

puts “Cože zase začátek pracovního týdne?”

when “úterý”

puts “sláva jeden den za sebou”

when “středa”

puts “půlka týdne pryč”

when “čtvrtek”

puts “blíží se pátek”

when “pátek”

puts “sláva bude víkend”

else “Tak to je opravdu nějaká chyba”

end

Pokud bychom to takto nenapsali, museli bychom vytvořit kód, který by byl směsicí příkazů if a elsif. Takto se celé konstrukci vyhneme nádherným příkazem case.

TERNÁRNÍ OPERÁTOR:

Jedná se opět o jednoduchou konstrukci, pomocí níž můžeme zpracovávat nějakou podmínku. Jeho syntaxe je následná:

podmínka ? pravdivá hodnota : nepravdivá hodnota

podívejte se na příklad:

den=”pátek”

vysledek=den!=”čtvrtek” ? “je jiný den” : “je pátek”

puts vysledek


29. 7. 2009 | gisat_cz | 2

Javascriptový objekt Number

Jedním ze základních objektů Javascriptu je objekt Number.

Objekt Number můžeme například použít na tyto účely:

  • - nakonvertuje jakoukoli hodnotu na číslo, jeho použití je podobné jako u funkcí parseInt a parseFloat.
  • - Vytvořením konstruktoru new vytvoříte nový objekt

var cislo=Number(”4.8“);
cislo;
Výsledek je: 4.8
typeof cislo;
Výsledek je: number
var cislo=new Number(”4.8“);
typeof cislo;

Výsledek je: object

Protože Number jsou objektem mají i své metody, které jednak zdědil po objektu Object(), má i své vlastní vlastnosti, tyto nejdou modifikovat:

Number.MAX_VALUE;
Výsledná hodnota je: 1.7976931348623157e+308

Number.MIN_VALUE;
Výsledná hodnota je: 5e-324

Number.POSITIVE_INFINITY
Výsledná hodnota je: Infinity

Number. NEGATIVE_INFINITY
Výsledná hodnota je: -Infinity

Number. NaN
Výsledná hodnota je: NaN

Objekt Number obsahuje také tři metody: toFixed(), toPrecision(),toExponential()

toFixed():
var n = new Number(123.456)
n.toFixed(1);

Výsledek: bude 123.5

Ale můžete také zadat i takto:
var n=123.456;
n.toFixed(1);

Výsledek: bude 123.5

Metoda toFidex() zaokrouhlí číslo na potřebný počet desetinných míst.
Všimněte si, že můžete používat tyto metody, aniž by se výslovně vytvářeli objekty Number. Dochází totiž k vytváření objektu Number na pozadí.

toExponential():
(12345).toExponential();
Výsledek: bude 1.2345e+4
Převádí číslo na vědecký, tedy exponenciální tvar.


28. 7. 2009 | gisat_cz | 0

Úvodem o programovacím jazyku Awk

Awk je univerzálním jyzykem, pomocí kterého můžeme zpracovávat textová data. Název AWK je odvozen z příjmení svých tvůrců, kterými jsou Alfred V. Aho, Peter J. Weinberger a Brian W. Kernighan.

AWK je příkladem jazyka, který značně využívá řetězcové datové typy, asociativní pole (tj. pole indexovaná řetězcovými klíči) a regulární výrazy. Síla, stručnost a omezení programů v AWK a skriptů v sedu inspirovaly Larryho Walla k vytvoření jazyka Perl.

Awk je velmi účinným prostředkem využívaným v operačních syst=mech na bázi UNIXu.  Implementace AWK jsou jako instalovaný software dostupné také pro většinu dalších operačních systémů.

HISTORIE JAZYKA AWK:

První verze jazyka Awk vznikla v roce 1977, dnes se však používá pozdější verze vydaná v roce 1985. Díky těmto rozdílnýmm verzím Awk dochází ke konfliktu v názvech interpreta tohoto jazyka. Ve starších Unixech se stystémem System V se o Awk stará interpret nazvaný awk v novějších verzích je to nawk, s přechodem Unixu na verzi  3.1 můžeme hovořit o oawk

CÍL AWK:

hlavním cílem tohoto jazyka je usnadnit práci pri analýze, manipulaci a práci s daty.

Základní vlastností awk je zpracovávání textových dat. Můžeme jím zkoumat jestli daný text splňuje nebo nesplňuje podmínky, které jsme v awk zadali. Syntaxe jazyka awk je podobná syntaxi jazyka C.

POUŽITÍ JAZYKA:

Obecně vzato jsou programu awk předány dva druhy dat: příkazový soubor a primární vstupní soubor. Příkazový soubor (kterým může být buď skutečný soubor, nebo jej lze zadat přímo na příkazovém řádku) obsahuje sérii příkazů, které awk říkají, jak má být vstupní soubor zpracován.

Použití je velmi jednoduché, tedy pokud budeme potřebovat zpracovávat velká a objemná data, roztřiďovat je. Použití awk v těchto případech je velmi vítaným prostředkem. i přes své stáří je awk jedinečným nástrojem každého unixového programátora.

V dalších povídáních o awk se položíme do detailů o tomto jazyku.


28. 7. 2009 | gisat_cz | 2

Javascriptová vlastnost prototype - 2

Přidání metod a vlastností k prototypu konstruktoru funkce

V minulém díle jsme se seznámili se základy vlastnosti prototype a nyní budeme pokračovat v prohloubení znalostí.

Jak jistě víte, pomocí konstruktoru můžeme z funkce vytvořit objekt. Pokud z funkce pomocí operátoru new vytvoříme objekt, můžeme říci, že daná funkce je konstruktorem:

function jmeno(){}
var jmeno=new jmeno();
//funkce jmeno() je tedy konstruktorem

Hlavní myšlenkou je, že uvnitř funkce, můžeme pro přístup k proměnným používat slůvko this:

function Data(jmeno, vek){
this.jmeno=jmeno;
this.vek=vek;
this.vypis=function(){document.write(”Tvoje jméno je:”+this.jmeno +”a věk je: “+this.vek);}
}

Nyní si ukážeme jak můžeme výše uvedenou funkci rozšířit o nové vlastnosti a metody. Celou záležitost provedeme tak, že přidáme metody a vlastností k prototypové vlastnosti konstruktoru funkce:

Data.prototype.bydliste=”Praha”;
Data.prototype.pohlavi=”muzské”;
Data.prototype.info=function(){return “Má bydliště: “+this.bydliste + “Je pohlaví: “+this.pohlavi;};

Další možností jak dosáhnete stejného výsledku je, že zcela přepíšete prototyp objektu:

Data.prototype={
bydliste:”Praha”,
pohlavi:
“muzské”,
info:function(){return “Má bydliště: “+this.bydliste + “Je pohlaví: “+this.pohlavi;}
};

Používání prototypových metod a vlastností:

Všechny vlastnosti a metody, které jste přidali do prototypu jsou ihned k dispozici jakmile vytvoříte pomocí konstruktoru z funkce objekt:

var kartoteka=new Data(”Jirka”,28);
document.write(kartoteka.bydliste);
//výsledek je Praha
document.write(kartoteka.pohlavi); //výsledek je mužské
document.write(”\n”);
document.write(kartoteka.info());
//Výsledek je: Má bydliště: Praha, je pohlaví mužské

Používání vlastních vlastností(s this) versus prototypové vlastnosti

Ve výše udeveném příkladu funkce Data() jsme používali this k internímu přístupu k objektu. Mohli bychom také použít volání Data.prototype:

Data.prototype.info=function(){return “Má bydliště: “+ Data.prototype.bydliste + “Je pohlaví: “+ Data.prototype.pohlavi;};

Jaký je v tom rozdíl? Abychom si mohli odpovědět, musíme pochopit hlouběji funkci vlastnosti prototype. Podívejme se na náš vytvořený objekt:

var kartoteka=new Data(”Jirka”,28);

Jestliže přistupujete k vlastnosti kartoteka a budete volat:
kartoteka.jmeno;

Engine Javascriptu bude hledat všechny vlastnosti objektu až najde vlastnost s názvem jmeno a navrátí její hodnotu.

Co se bude dít, když budeme přistupovat k vlastnosti bydliste? Engine Javascriptu prohlédne všechny vlastnosti objektu kartoteka, a jestliže v nich nenajde vlastnost bydliste, tak bude volat vlastnost bydliste v prototypu, engine skriptu určí prototyp konstruktoru funkce(je to stejné jako kdybyste volali kartotéka.prototype.constructor), a jestliže je vlastnost nalezena v prototypu, vlastnost bydliste je použita:

kartoteka.bydliste;

Stejného výsledku bychom dosáhli, kdybychom k prototypu přistupovali přímo. Každý objekt má vlastnost constructor, která je vytvářena v referenci vytvářené objektem:

kartoteka.constructor;
Výsledek je Data(jmeno,vek)

kartoteka.constructor.prototype.bydliste;

Nyní se pokusíme jít ještě o krok dále. Každý objekt má konstruktor. Prototypem je objekt a ten tudíž musí mít také svůj konstruktor.
kartoteka.constructor.prototype.constructor;
Výsledek je Data(jmeno,vek)
kartoteka.constructor.prototype.constructor.prototype;
Výsledek: Tímto se dostaneme až k volání prototypu object(), stejného výsledku bychom dosáhli voláním kartoteka.toString;


27. 7. 2009 | gisat_cz | 3

Ruby - příkaz unless


V předchozím díle jste poznali příkaz if. Jazyk Ruby však disponuje také příkazem, který znamená právě opak příkazu if. Smysl příkazu unless bychom mohli přirovnat českému pokud není. Prostě se vykoná podmínka jestliže se vyhodnotí jako nepravdivá.

Vše si jako obvykle vysvětlíme na příkladu:

cast_dne=”noc”

unless (cast_dne==”den” )

puts “Dobrou noc”

end

Prostě se příkaz vykoná tehdy, není-li  splněna podmínka, konkrétně tedy příkaz unless se vypíše tehdy pokud proměná cast_dne se nebude rovnat hodnotě den.

U příkazu unless nemůžeme používat příkaz elsif, také neexistuje opačný příkaz k příkazu elsif. Velmi často se příkaz unless používá s příkazem if:

jmeno==”Jirka”

if(jmeno==”Jirka”)

puts “To je Jirka”

end

unless(jmeno==”Petr”)

puts LTo je jiný člověk”

end


26. 7. 2009 | gisat_cz | 6

Javascriptová vlastnost prototype - 1

Již v dřívějších článcích, zvláště v povídáních o funkcích, jsem se letmo zmínil o vlastnosti prototype. V dalších následujících dílech se pokusím nastínit §vod do problematiky a její použití

Pochopení vlastnosti prototype je jednou ze základních znalostí programátora jazyka Javascript. Vlastnost prototype je novou záležitostí javascriptového jazyka. Jakmile prototype pochopíte jistě mi dáte za pravdu, že na něm není nic těžkého.

Nejlepším způsobem je zkoušet příklady a testy s prototypovou vlastností.
Zejména se budeme zabývat těmito tématy:

  • Dozvíte se, že každá funkce má vlastnost prototype a jde z ní udělat objekt
  • Naučíte se přidávat vlastnost prototype objektům
  • Naučíte se používat vlastnosti přidané do vlastnosti prototype
  • Dozvíte se rozdíl mezi vlastními vlastnostmi a vlastnostmi prototype
  • Povíme si o __proto__ a o vlastnostech isPrototypeOf(),hasOwnProperty() a propertyIsEnumerable()
  • a další……

Vlastnost prototype

Funkce jsou v Javascriptu objekty, které mají své metody a vlastnosti. Některé z těchto metod, se kterými jste se již mohli v předchozích článcích setkat jsou například apply(), call(),constructor(), a jiná se kterou se seznámíte nyní je vlastnost prototype.

Dejme tomu, že si vytvoříme funkci pokusna_funkce():

function pokusna_funkce(x,y){
return a + b; }

budeme chtít zjistit například počet parametrů ve funkci, tak prostě můžeme zavolat vlastnost length. K této vlastnosti přistoupíme prostě tak, že s funkcí budeme pracovat jako s objektem:

pokusna_funkce.length
Výsledek bude číslo 2, protože obsahuje dva parametry.

Pokud budeme chtít zjistit typ objektu funkce, prostě jednoduše zavoláme vlastnost constructor, která nám vrátí konstruktor daného objektu, a sice takto:

pokusna_funkce.constructor;
Výsledek bude Function()

prototype vlastnost je vytvořena poté, co je definována funkce. Počáteční hodnotou vlastnosti prototype je prázdný objekt Object():

typeof pokusna_funkce.prototype;
Výsledek bude object

Stejný výsledek byste obdrželi, pokud byste vytvořili toto:
pokusna_funkce.prototype={}

Tento výše uvedený prázdný objekt můžete rozšířit vlastnostmi a metodami. Nebudou mít žádný vliv na funkci pokusna_funkce(), budou použity pouze tehdy, pokud použijeme funkci pokusna_funkce() jako konstruktor.

V dalšém díle článků o vlastnosti prototype si povíme právě o přidání vlastností a metod použitím vlastnosti prototype.


26. 7. 2009 | gisat_cz | 0

Starší příspěvky »

Aktuální články a bleskovky

Lenovo uvádí nové ThinkPady s čipy Ivy Bridge
Lenovo uvádí nové ThinkPady s čipy Ivy Bridge
Brýle Google Glass jsou patentované
Brýle Google Glass jsou patentované
Ifttt.com: Propojte a automatizujte svůj internet
Ifttt.com: Propojte a automatizujte svůj internet
Nejlepší programy pro práci s Wi-Fi
Nejlepší programy pro práci s Wi-Fi



O programování a všem okolo využívá WordPress MU a běží na Blog.zive.cz. Vytvořte si svůj vlastní blog
Sledování přes RSS: články a komentáře


  • Archivy

    • Duben 2012
    • Květen 2011
    • Leden 2011
    • Prosinec 2010
    • Listopad 2010
    • Říjen 2010
    • Květen 2010
    • Březen 2010
    • Únor 2010
    • Leden 2010
    • Prosinec 2009
    • Září 2009
    • Srpen 2009
    • Červenec 2009
    • Srpen 2008
  • Rubriky

    • AJAX (7)
    • Awk a sed (2)
    • CSS, HTML (3)
    • Java (3)
    • Javascript (25)
    • Javascript frameworky (4)
    • Nezařazené (11)
    • Opensource (21)
    • Ostatní (10)
    • PHP (7)
    • PHP,MySQL a APACHE (1)
    • Ruby (16)
    • Sociální sítě (15)
    • UNIX (5)
    • XML (3)
    • Zprávy (61)
  • Spřátelené blogy

    lara.111: my clever blog
  • Twitter

    • Oh miluju krásné kytky, je normální když chlap má rád kytky? :-D~~~amp~~~lt;3 Jo já vím, jsem netradiční, to jsem prostě já... http://t.co/PoghKVpG
    • Haha :-)~~~amp~~~lt;3 http://t.co/R28S4u0Z
    • http://t.co/ZPcDPjdA
    • http://t.co/byQssIuP
    • Netřeba konspiračních teorií, pokud někdo krade, je zloděj. Pokud se někdo nechá uplácet, je to křivák. S... http://t.co/UeNF8J2Q
  • Administrace

    • Přihlásit se

1210_Computer.png

Časopis Computer

  • Nakupujte v zahraničí
  • Test 7 čteček elektronických knih
  • Technologie: nové standardy digitálního vysílání
  • Přehled cloudových uložišť
  • Poradíme s výběrem kamery na dovolenou

Partnerská sekce pro IT profesionály:
Microsoft TechNet/MSDN


Video Živě

Bluetooth stojánky pro Android: Philips AS111, AS141 a AS351
Ifttt.com -- založení úkolu
Zprávy Živě - 12. května 2012
iPad docky Logitech AV Stand a Logitech Speaker Stand

další videa »






Mladá Fronta a.s. Mladá Fronta a.s.
Tiráž | Autoři | Připomínky | Odběr novinek | RSS | Textová verze
Copyright 2000–2012 Mladá fronta a.s. | Inzerce: onlinesales@mf.cz | Kontakt na redakci | Návštěvnost měří NetMonitor