Věda o formátu dat

Original page: http://xfront.com/Data-Format-Science/index.html

Roger L. Costello

Věděli jste, že existují odhadem desítky tisíc datových formátů?

Některé populární datové formáty zahrnují JPEG, TIFF, GIF, BMP, soubory Shape, WAV, CSV, MP1, MP2, MP3, MPEG, WMV, VCard, Netflow, IPFix, Zip, RAR, PDF, Word, Powerpoint, Excel, XML, JSON a tak dále.

Tato stránka Wikipedie obsahuje seznam několika stovek nejoblíbenějších datových formátů: https://en.wikipedia.org/wiki/List_of_file_formats.

Věřím, že datové formáty by měly být vědeckou oblastí výzkumu. Měli by existovat vědci pro formát dat. Člověk by měl být schopen získat titul na univerzitě ve vědě o formátu dat. Měli by tam být univerzitní profesoři vymýšlející pokročilé koncepty formátování textu a binárních dat. Měli by existovat vědci, kteří provádějí metaanalýzu datových formátů. Měly by existovat odborné časopisy o vědě o formátu dat, kde by byly publikovány recenzované články.

Nic z toho dnes bohužel neexistuje.

Pojďme to napravit.

Poslední aktualizace: 10. srpna 2021

Vylepšení zabezpečení e-mailu pomocí Procmail

Original page: http://www.impsec.org/email-tools/sanitizer-threats.html

Hrozby, exploity a útoky


E-mailové útoky

Existují čtyři typy útoků na zabezpečení systému, které lze provést prostřednictvím elektronické pošty:

  • Active Content útoky, které využívají různé aktivní HTML a skriptovací funkce a chyby.
  • Útoky s přetečením vyrovnávací paměti, kdy útočník odešle něco, co je příliš velké na to, aby se vešlo do vyrovnávací paměti s pevnou velikostí v e-mailovém klientovi, v naději, že část, která se nevejde, přepíše kritické informace a nebude bezpečně zahozena.
  • Útoky trojského koně, kdy spustitelný program nebo makrojazykový skript, který uděluje přístup, způsobuje poškození, šíří se nebo dělá jiné nevítané věci, je oběti zaslán poštou jako souborová příloha označená jako něco neškodného, ​​jako je blahopřání nebo spořič obrazovky nebo skryté v něčem, co oběť očekává, jako je tabulka nebo dokument. Toto se také nazývá  útok sociálního inženýrství, kde cílem útoku je přesvědčit oběť, aby otevřela přílohu zprávy.
  • Shell Script útoky, kde je fragment unixového shell skriptu zahrnut do hlaviček zpráv v naději, že nesprávně nakonfigurovaný poštovní klient Unixu provede příkazy.

Dalším útokem na soukromí uživatele, nikoli však na bezpečnost systému, je použití takzvaných Web Bugs, které dokážou upozornit sledovací web, kdy a kde je daná e-mailová zpráva přečtena.


Aktivní útoky obsahu, známé jako útoky na prohlížeč, aktivní útoky HTML nebo útoky skriptování

Tyto útoky jsou zaměřeny na lidi, kteří ke čtení svých e-mailů používají webový prohlížeč nebo e-mailový klient s podporou HTML, což je v dnešní době velmi velká část počítačové komunity. Tyto útoky se obvykle pokoušejí využít skriptovací funkce HTML nebo e-mailového klienta (obvykle Javascript nebo VBScript) k získání soukromých informací z počítače oběti nebo ke spuštění kódu na počítači oběti bez souhlasu oběti (a možná i bez vědomí oběti).

Méně nebezpečné formy těchto útoků mohou automaticky způsobit, že počítač příjemce zobrazí obsah, který si útočník přeje, například automatické otevření webové stránky s reklamou nebo pornografií při otevření zprávy nebo provedení útoku Denial-of-Service na počítači příjemce prostřednictvím kód, který zamrzne nebo zhroutí prohlížeč nebo celý počítač.

Nejjednodušší způsob, jak se takovým útokům úplně vyhnout, je nepoužívat ke čtení e-mailů webový prohlížeč nebo e-mailový klient s podporou HTML. Protože mnoho z těchto útoků nezávisí na chybách v softwaru e-mailového klienta, nelze jim zabránit prostřednictvím záplat e-mailového klienta. Máte-li používat webový prohlížeč nebo HTML vědomi e-mailového klienta, můžete se být vystaven těmto druhům útoků.

Vzhledem k tomu, že některé z těchto útoků závisejí na schopnosti e-mailového klienta spouštět skriptované HTML spíše než na slabinách konkrétního operačního systému, mohou být tyto útoky multiplatformní. E-mailový klient s povoleným HTML na Macintoshi je stejně zranitelný vůči aktivním e-mailovým útokům HTML jako e-mailový klient s povoleným HTML na Windows nebo Unix. Chyba zabezpečení se bude lišit systém od systému na základě e-mailového klienta, nikoli operačního systému.

Přechod na e-mailového klienta, který nepodporuje HTML, není pro mnoho lidí reálnou možností. Alternativou je odfiltrovat nebo upravit problematický kód HTML nebo skriptu dříve, než dostane e-mailový klient možnost jej zpracovat. Může být také možné nakonfigurovat e-mailového klienta tak, aby vypínal interpretaci kódu skriptu. Podrobnosti naleznete v dokumentaci k programu. Důrazně doporučujeme vypnout skriptování ve vašem e-mailovém klientovi – neexistuje žádný dobrý důvod pro podporu skriptovaných e-mailových zpráv.

Uživatelé aplikace Microsoft Outlook by měli navštívit tuto stránku, která popisuje zpřísnění nastavení zabezpečení aplikace Outlook.

Příkladem tohoto útoku jsou nedávno oznámení e-mailoví červi Outlook. Další podrobnosti najdete v databázi Chyba zabezpečení Bugtraq.

Dalším způsobem, jak se bránit proti útokům s aktivním obsahem, je pozměnit skriptování dříve, než jej poštovní program uvidí. To se provádí na poštovním serveru v době, kdy je zpráva přijata a uložena v poštovní schránce uživatele, a ve své nejjednodušší podobě spočívá v pouhé změně všech značek <SCRIPT> na (například) značky <DEFANGED-SCRIPT>, což způsobí poštovní program, aby je ignoroval. Vzhledem k tomu, že existuje mnoho míst, kde lze skriptovací příkazy použít v rámci jiných značek, je proces defenzování v praxi složitější.


Útoky při přetečení vyrovnávací paměti

Vyrovnávací paměť je oblast paměti, kde byl zaveden program dočasně ukládá data, která zpracovává. Pokud má tato oblast předdefinovanou pevnou velikost a pokud program nepodnikne kroky k zajištění, aby se data do této velikosti vešla, došlo k chybě: pokud je načteno více dat, než se vejde do vyrovnávací paměti, přebytečná data budou stále zapsána., ale prodlouží se za konec vyrovnávací paměti, pravděpodobně nahradí jiná data nebo instrukce programu.

Přetečení zásobníku útok je pokusem využít této slabosti zasláním nečekaně dlouhý řetězec dat pro program do procesu. Například v případě e-mailového programu může útočník odeslat podvrženou hlavičku Date: o délce několika tisíc znaků za předpokladu, že e-mailový program očekává pouze hlavičku Date :, která je maximálně sto znaků dlouhá a t zkontrolovat délku dat, která ukládá.

Tyto útoky lze použít jako útoky typu Odmítnutí služby, protože když dojde k náhodnému přepsání paměti programu, program obecně spadne. Pečlivým vytvořením přesného obsahu toho, co přeteče vyrovnávací paměť, je však v některých případech možné dodat programové instrukce pro počítač oběti, který se má provést bez souhlasu oběti. Útočník posílá oběti e-mailem program, který bude spuštěn na počítači oběti, aniž by žádal o svolení oběti.

Všimněte si, že toto je výsledek chyby v napadeném programu. Správně napsaný e-mailový klient se nebude dovolit náhodné cizinci spouštět programy v počítači bez vašeho souhlasu. Programy podléhající přetečení vyrovnávací paměti jsou nesprávně zapsány a musí být opraveny, aby se problém trvale odstranil.

K přetečení vyrovnávací paměti v poštovních programech dochází při zpracování záhlaví zpráv a záhlaví příloh, což jsou informace, které e-mailový klient potřebuje zpracovat, aby se dozvěděl podrobnosti o zprávě a co s ní dělat. Text v těle zprávy, který se jednoduše zobrazí na obrazovce a u kterého se očekává velké množství textu, se nepoužívá jako prostředek pro útoky s přetečením vyrovnávací paměti.

Nedávno oznámené chyby přetečení v aplikacích Outlook, Outlook Express a Netscape Mail jsou toho příkladem. Opravy pro aplikaci Outlook jsou k dispozici na webu zabezpečení společnosti Microsoft.

Záhlaví zpráv a záhlaví příloh může poštovní server předběžně zpracovat, aby omezil jejich délku na bezpečné hodnoty. Tím zabráníte jejich použití k útoku na e-mailového klienta.

Variantou útoku přetečením vyrovnávací paměti je vynechání informací tam, kde program očekává, že nějaké najdou. Microsoft Exchange například reaguje špatně, když je požádán o zpracování záhlaví MIME příloh, které jsou explicitně prázdné – například filename="" . Tento útok lze použít pouze k odmítnutí služby.


Útoky trojského koně

Trojský kůň je škodlivý program, který se maskuje jako něco benigní ve snaze získat neopatrného uživatele, aby jej spustit.

Tyto útoky se obvykle používají k prolomení zabezpečení tím, že přinutí důvěryhodného uživatele spustit program, který uděluje přístup nedůvěryhodnému uživateli (například instalací  softwaru zadních vrátek pro vzdálený přístup), nebo způsobí poškození, jako je pokus o vymazání všech soubory na pevném disku oběti. Trojské koně mohou ukrást informace nebo zdroje nebo implementovat distribuovaný útok, například distribucí programu, který se pokouší ukrást hesla nebo jiné bezpečnostní informace, nebo může jít o „samomnožící“ program, který se rozesílá poštou („červ“) a také bombarduje cíl nebo maže soubory (červ s postojem :).

Červ „Miluji tě“ je vynikajícím příkladem útoku trojského koně: zdánlivě neškodný milostný dopis byl ve skutečnosti samopropagační program.

Aby tento útok uspěl, oběť musí podniknout kroky ke spuštění programu, který obdržela. Útočník může pomocí různých metod „sociálního inženýrství“ přesvědčit oběť, aby program spustila; například, program může být maskovaný jako milostný dopis nebo seznam vtipů, s názvem souboru speciálně vytvořeným tak, aby využil sklonu Windows skrývat důležité informace před uživatelem.

Většina lidí ví, že   přípona .txt se používá k označení toho, že obsah souboru je pouze prostý text, na rozdíl od programu, ale výchozí konfigurace systému Windows je skrýt přípony souborů před uživatelem, takže v adresáři se seznamem souboru s názvem  textfile .txt  se zobrazí pouze jako „ textový soubor “ (aby nedošlo ke zmatení uživatele?).

Útočník může využít této kombinace věcí odesláním přílohy s názvem „ útok.txt.exe “ – systém Windows  příponu .exe užitečně skryje  , takže příloha bude vypadat jako neškodný textový soubor s názvem „ útok.txt “ namísto program. Pokud však uživatel zapomene, že systém Windows skrývá skutečnou příponu souboru, a poklepá na přílohu, systém Windows použije celý název souboru k rozhodnutí, co má dělat, a protože  .exe  označuje spustitelný program, systém Windows přílohu spustí. Blam! Jste ve vlastnictví.

Typické kombinace zdánlivě neškodných a nebezpečně spustitelných rozšíření jsou:

  • xxx.TXT.VBS  – spustitelný skript (skript jazyka Visual Basic) maskující se jako textový soubor
  • xxx.JPG.SCR  – spustitelný program (spořič obrazovky) maskující se jako obrázkový soubor
  • xxx.MPG.DLL  – spustitelný program (dynamická knihovna) vydávající se za film

Tomuto útoku se lze vyhnout jednoduše tím, že nebudete spouštět programy přijaté e-mailem, dokud nebudou zkontrolovány, i když se program zdá být neškodný a zejména pokud pochází od někoho, koho dobře neznáte a nedůvěřujete mu.

Dvojité kliknutí na přílohy e-mailu je nebezpečný zvyk.

Až donedávna stačilo pro jistotu říci „neklikejte dvakrát na přílohy“. Bohužel už tomu tak není.

Chyby v e-mailovém klientovi nebo špatný návrh programu mohou umožnit, aby útočná zpráva automaticky provedla přílohu trojského koně bez jakéhokoli zásahu uživatele, a to buď pomocí aktivního HTML, skriptování nebo přetečení vyrovnávací paměti, které jsou součástí stejné zprávy jako příloha trojského koně nebo kombinace těchto. Toto je extrémně nebezpečný scénář a v současné době je „ve volné přírodě“ jako samostatně se šířící e-mailový červ, který nevyžaduje žádný zásah uživatele, aby došlo k infekci. Můžete si být jisti, že to nebude jediné.

Ve snaze tomu zabránit lze názvy příloh spustitelných souborů změnit tak, aby je operační systém již nepovažoval za spustitelné (například změnou „EXPLOIT.EXE“ na „EXPLOIT.DEFANGED-EXE“) . To donutí uživatele uložit a přejmenovat soubor před jeho spuštěním (dá mu možnost přemýšlet o tom, zda by se měl spustit, a jeho antivirovému softwaru možnost prozkoumat přílohu, než se spustí) a sníží možnost, že jiné exploity ve stejné zprávě budou schopny automaticky najít a spustit program trojského koně (protože název byl změněn).

Navíc u známých programů trojských koní může být formát přílohy samotný pozměněn tak, že e-mailový klient již přílohu nevidí jako přílohu. To donutí uživatele, aby kontaktoval technickou podporu, aby načetl přílohu, a poskytnete správci systému možnost ji prozkoumat.

Demanglování poškozené přílohy je pro správce poměrně jednoduché. Při mandlování přílohy se původní   záhlaví přílohy MIME posune dolů a vloží se záhlaví přílohy s varováním před útokem. Nejsou smazány žádné informace.

Zde je seznam nedávných spustitelných souborů a dokumentů trojského koně, shromážděných z varování diskusních skupin bugtraq a Usenet a doporučení dodavatelů antivirových programů:

Anti_TeRRoRisM.exe
Ants[0-9]+set.exe
Binladen_bra[sz]il.exe
Common.exe
Disk.exe
IBMls.exe
MWld.exe
MWrld.exe
MissWorld.exe
Rede.exe
Si.exe
UserConf.exe
WTC.exe
amateurs.exe
anal.exe
anna.exe
anniv.doc
anti_cih.exe
antivirus.exe
aol4free.com
asian.exe
atchim.exe
avp_updates.exe
babylonia.exe
badass.exe
black.exe
blancheneige.exe
blonde.exe
boys.exe
buhh.exe
celebrity?rape.exe
cheerleader.exe
chocolate.exe
compu_ma.exe
creative.exe
cum.exe
cumshot.exe
doggy.exe
dwarf4you.exe
emanuel.exe
enanito?fisgon.exe
enano.exe
enano?porno.exe
famous.exe
fist-f?cking.exe
gay.exe
girls.exe
happy99.exe
happy[0-9]+.exe
hardcore.exe
horny.exe
hot.exe
hottest.exe
i-watch-u.exe
ie0199.exe
images_zipped.exe
jesus.exe
joke.exe
kinky.exe
leather.exe
lesbians.exe
list.doc
lovers.exe
matcher.exe
messy.exe
misworld.exe
mkcompat.exe
nakedwife.exe
navidad.exe
oains.exe
oral.exe
orgy.exe
path.xls
photos17.exe
picture.exe
pleasure.exe
pretty park.exe
pretty?park.exe
prettypark.exe
qi_test.exe
raquel?darian.exe
readme.exe
romeo.exe
sado.exe
sample.exe
seicho_no_ie.exe
serialz.hlp
setup.exe
sex.exe
sexy.exe
slut.exe
sm.exe
sodomized.exe
sslpatch.exe
story.doc
suck.exe
suppl.doc
surprise!.exe
suzete.exe
teens.exe
virgins.exe
x-mas.exe
xena.exe
xuxa.exe
y2kcount.exe
yahoo.exe
zipped_files.exe

Samozřejmě, že autoři červů jsou nyní moudří a pojmenovávají přílohy náhodně, což vede k závěru, že všechny soubory .EXE by měly být blokovány.

Dalším kanálem pro útoky trojského koně je datový soubor pro program, který poskytuje makro (programovací) jazyk, například moderní vysoce výkonné textové procesory, tabulky a uživatelské databázové nástroje.

Pokud nemůžete jednoduše zahodit přílohy, které by vás mohly ohrozit, doporučuje se nainstalovat antivirový software (který detekuje a deaktivuje trojské koně v makrojazyku) a vždy otevírat přílohy datových souborů v programu „nespouštět se automaticky makra“ (například podržením klávesy  [SHIFT]  při poklepání na přílohu).

Také: pokud vám váš systémový administrátor (nebo někdo, kdo tvrdí, že je vaším správcem systému) pošle e-mail s programem a požádá vás, abyste jej spustili, okamžitě začněte být velmi podezřívaví a ověřte původ e-mailu tak, že budete kontaktovat přímo svého správce jiným způsobem než e-mailem. Pokud obdržíte přílohu, která tvrdí, že jde o aktualizaci operačního systému nebo antivirový nástroj, nespouštějte ji. Prodejci operačního systému nikdy nedoručují aktualizace prostřednictvím e-mailu a antivirové nástroje jsou snadno dostupné na webových stránkách výrobců antivirových programů.


Shell Script útoky

Mnoho programů běžících pod Unixem a podobnými operačními systémy podporuje možnost vkládat krátké skripty shellu (sekvence příkazů podobné dávkovým souborům pod DOSem) do svých konfiguračních souborů. Toto je běžný způsob, jak umožnit flexibilní rozšíření jejich schopností.

Některé programy pro zpracování pošty nesprávně rozšiřují tuto podporu pro vložené příkazy prostředí na zprávy, které zpracovávají. Obecně je tato schopnost zahrnuta omylem voláním skriptu shellu převzatého z konfiguračního souboru pro zpracování textu některých záhlaví. Pokud je hlavička speciálně naformátována a obsahuje příkazy shellu, je možné, že budou provedeny i tyto příkazy shellu. Tomu lze zabránit tím, že program prohledá text záhlaví pro speciální formátování a změní toto formátování předtím, než bude předán shellu k dalšímu zpracování.

Vzhledem k tomu, že formátování potřebné k vložení skriptu shellu do hlavičky e-mailu je poměrně speciální, je poměrně snadné jej zjistit a změnit.


Web Bug útoky na soukromí

E-mailová zpráva HTML může odkazovat na obsah, který ve skutečnosti není ve zprávě, stejně jako webová stránka může odkazovat na obsah, který se ve skutečnosti nenachází na webu, který stránku hostí. To lze běžně vidět v bannerových reklamách – web na http://www.geocities.com/ může obsahovat bannerovou reklamu, která je načtena ze serveru na http://ads.example.com/ – když je stránka vykreslena , webový prohlížeč automaticky kontaktuje webový server na  adrese http://ads.example.com/  a načte obrázek bannerové reklamy. Toto načtení souboru je zaznamenáno v protokolech serveru na  http://ads.example.com/, kde je uveden čas, kdy byl načten, a síťová adresa počítače, který obrázek načítá.

Použití tohoto na HTML e-mail zahrnuje umístění odkazu na obrázek do těla e-mailové zprávy. Když poštovní program načte soubor obrázku jako součást zobrazení poštovní zprávy uživateli, webový server zaznamená čas a síťovou adresu požadavku. Pokud má obrázek jedinečný název souboru, je možné přesně určit, která e-mailová zpráva požadavek vygenerovala. Obvykle je obrázek něco, co nebude viditelný pro příjemce zprávy, například obrázek, který se skládá pouze z jednoho průhledného pixelu, odtud termín Web Bug – koneckonců je to zamýšleno jako „skryté sledování“.

K dosažení stejného výsledku je také možné použít značku zvuku na pozadí.

Většinu poštovních klientů nelze nakonfigurovat tak, aby tyto značky ignorovaly, takže jediný způsob, jak zabránit tomuto slídění, je pozměnit referenční značky obrazu a zvuku na poštovním serveru.

$Id: sanitizer-threats.html,v 1.42 2020-10-29 10:21:36-07 jhardin Exp jhardin $
Contents Copyright (C) 1998-2017 by John D. Hardin – All Rights Reserved. 

Jak se stát hackerem

Original page: http://www.catb.org/esr/faqs/hacker-howto.html

Eric Steven Raymond

Thyrsus Enterprises

    
    

Historie revizí
Revize 1.52 3. ledna 2020 esr
Go dělá místo jako věrohodný výukový jazyk a nahrazuje Javu.
Revize 1.51 6. října 2017 esr
Odkaz na „Věci, které kdysi znal každý hacker“. Zmínit distribuce USB flash disku. Mnoho aktualizovaných odkazů na překlad.
Revize 1.50 19. července 2015 esr
Přidán odkaz na „Let’s Go Larval“.
Revize 1.49 21. listopadu 2014 esr
Přidán odkaz na „Jak se naučit hacking“.
Revize 1.48 19. června 2014 esr
freshmeat/freecode je mrtvý, bohužel.
Revize 1.47 20. května 2014 esr
Opravte různé zastaralé odkazy. Připojte se k hackerspace!
Revize 1.46 25. září 2013 esr
Přidejte vysvětlení mikropatronátu a odkaz gittip. Proč byste mě neměli požádat o radu, jak začít.
Revize 1.45 12. května 2013 esr
Otevřený Solaris není a Unity to podělala.
Revize 1.44 20. května 2012 esr
Aktualizována kritika Javy.
Revize 1.43 7. února 2011 esr
Python překonal Perl v popularitě v roce 2010.
Revize 1.42 22. října 2010 esr
Přidána „Historická poznámka“.
Revize 1.40 3. listopadu 2008 esr
Opravy odkazů.
Revize 1.39 14. srpna 2008 esr
Opravy odkazů.
Revize 1.38 8. ledna 2008 esr
Zavrhujte Javu jako jazyk, který se budete učit brzy.
Revize 1.37 4. října 2007 esr
Doporučte Ubuntu jako unixové distro pro nováčky.

Proč tento dokument?

Jako redaktor souboru žargonu a autor několika dalších dobře známých dokumentů podobného charakteru často dostávám e-mailové požadavky od nadšených síťových nováčků, kteří se (ve skutečnosti) ptají: „Jak se mohu naučit být kouzelným hackerem?“. V roce 1996 jsem si všiml, že se nezdálo, že by existovaly žádné další často kladené otázky nebo webové dokumenty, které by řešily tuto zásadní otázku, a tak jsem začal s tímto. Mnoho hackerů to nyní považuje za definitivní a předpokládám, že to znamená, že je. Přesto netvrdím, že jsem výhradní autoritou na toto téma; pokud se vám nelíbí, co zde čtete, napište vlastní.

Pokud čtete snímek tohoto dokumentu offline, aktuální verze je k dispozici na adrese http://catb.org/~esr/faqs/hacker-howto.html.

Poznámka: Na konci tohoto dokumentu je seznam často kladených otázekNež mi pošlete jakékoli dotazy k tomuto dokumentu, přečtěte si je prosím dvakrát.

Diagram pěti teček v devíti čtvercích, který zdobí tento dokument, se nazývá kluzák. Je to jednoduchý vzorec s některými překvapivými vlastnostmi v matematické simulaci nazvané Life, která fascinuje hackery již mnoho let. Myslím, že je to dobrý vizuální emblém pro to, jací jsou hackeři – abstraktní, zpočátku trochu tajemně působící, ale brána do celého světa se spletitou vlastní logikou. Více o znaku kluzáku čtěte zde.

Pokud považujete tento dokument za hodnotný, podpořte mě na Patreonu  nebo SubscribeStar. A zvažte také podporu dalších hackerů, kteří vytvořili kód, který používáte a oceňujete prostřednictvím Loadsharers. Spousta malých, ale nepřetržitých darů se rychle sčítá a může osvobodit lidi, kteří vám dali dary, ze své práce, aby vytvořili větší hodnotu.

Co je to hacker?

Soubor žargonu obsahuje spoustu definic pojmu „hacker“, z nichž většina souvisí s technickou zdatností a potěšením z řešení problémů a překonávání limitů. Pokud však chcete vědět, jak se stát hackerem, skutečně relevantní jsou pouze dva.

Existuje komunita, sdílená kultura, zkušených programátorů a síťových mágů, která sleduje její historii po desetiletí zpět k prvním minipočítačům se sdílením času a nejstarším experimentům ARPAnet. Příslušníci této kultury vytvořili termín „hacker“. Hackeři vybudovali internet. Hackeři udělali z operačního systému Unix to, čím je dnes. Hackeři umožňují fungování World Wide Web. Pokud jste součástí této kultury, pokud jste k ní přispěli a ostatní lidé v ní vědí, kdo jste a nazývají vás hackerem, jste hacker.

Hackerské myšlení není omezeno na tuto kulturu softwarových hackerů. Existují lidé, kteří aplikují hackerský přístup i na jiné věci, jako je elektronika nebo hudba – ve skutečnosti jej najdete na nejvyšších úrovních jakékoli vědy nebo umění. Softwaroví hackeři rozpoznávají tyto spřízněné duše jinde a mohou je také nazývat „hackery“ – a někteří tvrdí, že povaha hackerů je skutečně nezávislá na konkrétním médiu, na kterém hacker pracuje. Ve zbytku tohoto dokumentu se však zaměříme na dovednosti a postoje. softwarových hackerů a tradice sdílené kultury, která dala vzniknout termínu „hacker“.

Existuje další skupina lidí, kteří se hlasitě nazývají hackery, ale nejsou. Jsou to lidé (zejména dospívající muži), kteří se nechají vykopnout z toho, že se nabourávají do počítačů a narušují telefonní systém. Skuteční hackeři nazývají tyto lidi ‚crackery‘ a nechtějí s nimi mít nic společného. Skuteční hackeři si většinou myslí, že crackeři jsou líní, nezodpovědní a málo chytří, a namítají, že schopnost prolomit zabezpečení z vás nedělá hackera o nic víc, než když umíte napájet auta, děláte z vás automobilového inženýra. Mnoho novinářů a spisovatelů se bohužel nechalo oklamat tím, že k popisu crackerů používali slovo „hacker“; toto dráždí skutečné hackery bez konce.

Základní rozdíl je tento: hackeři věci staví, crackeři je rozbíjejí.

Pokud chcete být hackerem, pokračujte ve čtení. Pokud chcete být cracker, jděte si přečíst diskusní skupinu alt.2600 a připravte se na pět až deset ve slammeru poté, co zjistíte, že nejste tak chytrý, jak si myslíte. A to je vše, co o sušenkách řeknu.

Hackerský postoj

1. Svět je plný fascinujících problémů, které čekají na vyřešení.
2. Žádný problém by se nikdy neměl řešit dvakrát.
3. Nuda a dřina jsou zlo.
4. Svoboda je dobrá.
5. Postoj nenahrazuje kompetence.

Hackeři řeší problémy a budují věci a věří ve svobodu a dobrovolnou vzájemnou pomoc. Chcete-li být přijati jako hacker, musíte se chovat, jako byste sami měli tento druh postoje. A abyste se chovali, jako byste měli tento postoj, musíte tomu postoji skutečně věřit.

Ale pokud si myslíte, že kultivace hackerských postojů je jen způsob, jak získat přijetí v kultuře, unikne vám podstata. Stát se typem člověka, který těmto věcem věří, je pro vás důležité – protože vám to pomůže učit se a udržet si motivaci. Stejně jako u všech výtvarných umění je nejúčinnějším způsobem, jak se stát mistrem, napodobit myšlení mistrů – nejen intelektuálně, ale také emocionálně.

Nebo, jak říká následující moderní zenová báseň:

Chcete-li jít po cestě:
podívejte se na mistra,
následujte mistra,
jděte s mistrem,
prohlédněte si mistra,
staňte se mistrem.

Pokud tedy chcete být hackerem, opakujte následující věci, dokud jim neuvěříte:

1. Svět je plný fascinujících problémů, které čekají na vyřešení.

Být hackerem je spousta legrace, ale je to druh zábavy, který vyžaduje spoustu úsilí. Úsilí vyžaduje motivaci. Úspěšní sportovci získávají motivaci z určitého druhu fyzického potěšení z toho, aby jejich těla podávala výkon, z překonávání vlastních fyzických limitů. Podobně, chcete-li být hackerem, musíte získat základní vzrušení z řešení problémů, zdokonalování svých dovedností a uplatňování své inteligence.

Pokud nejste ten typ člověka, který se takto přirozeně cítí, budete se jím muset stát, abyste se stali hackerem. Jinak zjistíte, že vaše hackerská energie je vyčerpána rušivými vlivy, jako je sex, peníze a sociální uznání.

(Musíte si také vypěstovat určitý druh víry ve svou vlastní schopnost učit se – přesvědčení, že i když možná nevíte vše, co potřebujete k vyřešení problému, pokud se vypořádáte jen s jeho částí a poučíte se z toho, Naučím se dost na vyřešení dalšího dílu – a tak dále, dokud nebudete hotoví.)

2. Žádný problém by se nikdy neměl řešit dvakrát.

Kreativní mozky jsou cenným, omezeným zdrojem. Nemělo by se s nimi plýtvat na nové vynalézání kola, když tam venku čeká tolik fascinujících nových problémů.

Chcete-li se chovat jako hacker, musíte věřit, že čas na přemýšlení ostatních hackerů je tak drahý – natolik, že je pro vás téměř morální povinností sdílet informace, řešit problémy a poté rozdávat řešení, aby ostatní hackeři mohli řešit  nové.  problémy, místo toho, abychom museli neustále znovu řešit ty staré.

Pamatujte však, že „žádný problém by se nikdy neměl řešit dvakrát“. neznamená, že musíte všechna existující řešení považovat za posvátná nebo že existuje pouze jedno správné řešení pro daný problém. Často se o problému dozvíme mnoho, co jsme dříve nevěděli, když jsme si prostudovali první řez řešení. Je v pořádku a často nutné se rozhodnout, že to můžeme udělat lépe. Co není v pořádku, jsou umělé technické, právní nebo institucionální bariéry (jako uzavřený zdrojový kód), které brání opětovnému použití dobrého řešení a nutí lidi znovu vymýšlet kola.

(Nemusíte věřit, že jste povinni odevzdat  veškerý  svůj kreativní produkt, ačkoli hackeři, kteří to dělají, jsou ti, kteří mají největší respekt od ostatních hackerů. Je v souladu s hackerskými hodnotami prodat toho dost, aby vás udrželi v jídle, nájmu a počítačích. Je v pořádku používat své hackerské dovednosti k podpoře rodiny nebo dokonce k zbohatnutí, pokud při tom nezapomenete na svou loajalitu ke svému umění a svým kolegům hackerům.)

3. Nuda a dřina jsou zlo.

Hackeři (a kreativní lidé obecně) by se nikdy neměli nudit nebo se muset vrtět hloupou opakující se prací, protože když se to stane, znamená to, že nedělají to, co mohou dělat jen oni – řeší nové problémy. Toto plýtvání bolí každého. Nuda a dřina proto nejsou jen nepříjemné, ale ve skutečnosti jsou zlé.

Chcete-li se chovat jako hacker, musíte tomu věřit natolik, abyste chtěli co nejvíce zautomatizovat nudné kousky nejen pro sebe, ale i pro všechny ostatní (zejména ostatní hackery).

(Existuje jedna zřejmá výjimka. Hackeři někdy dělají věci, které se pozorovateli mohou zdát opakující se nebo nudné, jako cvičení na čištění mysli nebo za účelem získání dovednosti nebo nějakého zvláštního druhu zkušeností, které byste jinak nemohli mít. Ale je to dobrovolné – nikdo, kdo umí myslet, by nikdy neměl být nucen do situace, která ho nudí.)

4. Svoboda je dobrá.

Hackeři jsou přirozeně anti-autoritářští. Každý, kdo vám může dávat rozkazy, vám může zabránit v řešení jakéhokoli problému, který vás fascinuje – a vzhledem k tomu, jak fungují autoritářské mysli, si k tomu obecně najde nějaký děsivě hloupý důvod. Takže s autoritářským postojem je třeba bojovat, ať už ho najdete kdekoli, jinak to zadusí vás a další hackery.

(To není totéž jako bojovat s veškerou autoritou. Děti je třeba vést a zločince omezovat. Hacker může souhlasit s tím, že přijme některé druhy autority, aby získal něco, co chce víc než čas, který stráví plněním rozkazů. Ale to je omezená, vědomá smlouva; druh osobní kapitulace, kterou autoritáři chtějí, není nabízen.)

Autoritářům se daří cenzurou a utajováním. A nedůvěřují dobrovolné spolupráci a sdílení informací – líbí se jim pouze „spolupráce“, kterou ovládají. Chcete-li se tedy chovat jako hacker, musíte si vypěstovat instinktivní nepřátelství k cenzuře, utajování a použití síly nebo klamu k přinucení odpovědných dospělých. A musíte být ochotni na základě tohoto přesvědčení jednat.

5. Postoj nenahrazuje kompetence.

Chcete-li být hackerem, musíte si některé z těchto postojů osvojit. Ale zvládnutí postoje samo o sobě z vás neudělá hackera, stejně jako z vás neudělá šampiona atleta nebo rockovou hvězdu. Stát se hackerem bude vyžadovat inteligenci, praxi, odhodlání a tvrdou práci.

Proto se musíte naučit nedůvěřovat postoji a respektovat kompetence všeho druhu. Hackeři nenechají pozéry ztrácet čas, ale uctívají kompetence – zejména kompetence v hackování, ale kompetence v čemkoli se cení. Kompetence v náročných dovednostech, které zvládne jen málokdo, je obzvláště dobrá a kompetence v náročných dovednostech, které zahrnují duševní bystrost, řemeslo a koncentraci, jsou nejlepší.

Pokud ctíte kompetence, bude se vám líbit, když je budete v sobě rozvíjet – dřina a odhodlání se stanou jakousi intenzivní hrou spíše než dřinou. Tento postoj je zásadní pro to, abyste se stali hackerem.

Základní hackerské dovednosti

Postoj hackerů je životně důležitý, ale ještě důležitější jsou dovednosti. Postoj nenahrazuje kompetence a existuje určitá základní sada dovedností, které musíte mít, než vás jakýkoli hacker bude snít o tom, že vám to bude říkat.

Tato sada nástrojů se v průběhu času pomalu mění, protože technologie vytváří nové dovednosti a ty staré jsou zastaralé. Například dříve zahrnoval programování ve strojovém jazyce a donedávna nezahrnoval HTML. Ale právě teď docela jasně zahrnuje následující:

1. Naučte se programovat.

To je samozřejmě základní hackerská dovednost. Pokud neovládáte žádné počítačové jazyky, doporučuji začít s Pythonem. Je čistě navržený, dobře zdokumentovaný a relativně laskavý k začátečníkům. Přestože je to dobrý první jazyk, není to jen hračka; je velmi výkonný a flexibilní a dobře se hodí pro velké projekty. Napsal jsem podrobnější hodnocení Pythonu. Dobré  výukové programy jsou dostupné na webových stránkách Pythonu; na Computer Science Circles existuje vynikající třetí strana.

Kdysi jsem doporučoval Javu jako dobrý jazyk, který se dá naučit brzy, ale tato kritika změnila můj názor (hledejte v ní „Pitfalls of Java as a First Programming Language“). Hacker nemůže, jak se zničujícím způsobem říká  „přistupovat k řešení problémů jako instalatér v železářství“; musíte vědět, co komponenty skutečně dělají. Nyní si myslím, že je pravděpodobně nejlepší naučit se nejprve C a Lisp, potom Java.

Možná je zde obecnější bod. Pokud pro vás jazyk dělá příliš mnoho, může být zároveň dobrým nástrojem pro produkci a špatným nástrojem pro učení. Tento problém nemají pouze jazyky; rámce webových aplikací jako RubyOnRails, CakePHP, Django mohou příliš usnadnit dosažení povrchního porozumění, které vás ponechá bez prostředků, když se musíte vypořádat s těžkým problémem, nebo dokonce jen ladit řešení snadného.

Lepší alternativou k Javě je naučit se Go. Na tento relativně nový jazyk je docela snadné přejít z Pythonu a jeho učení vám dá seriózní krok v dalším možném kroku, kterým je učení C. Navíc jednou z neznámých v příštích několika letech je, do jaké míry by Go mohl ve skutečnosti nahradit C jako systémový programovací jazyk. Existuje možná budoucnost, ve které se to stane ve většině tradičního rozsahu C.

Pokud se dostanete do seriózního programování, budete se nakonec muset naučit C, základní jazyk Unixu. C++ velmi úzce souvisí s C; pokud znáte jedno, naučit se druhé nebude těžké. Ani jeden z jazyků však není dobré zkusit se učit jako první. A ve skutečnosti, čím více se můžete vyhnout programování v C, tím produktivnější budete.

C je velmi efektivní a velmi šetří prostředky vašeho stroje. Bohužel, C dosahuje této efektivity tím, že vyžaduje, abyste spoustu nízkoúrovňové správy zdrojů (jako je paměť) dělali ručně. Veškerý tento nízkoúrovňový kód je složitý a náchylný k chybám a zabere vám obrovské množství času při ladění. Při dnešních strojů tak silný, jak jsou, je to obvykle špatný kompromis – to je chytřejší používat jazyk, který používá méně efektivně čas stroje, ale svůj čas mnohem  více  efektivněji. Tedy Python.

Mezi další jazyky zvláště důležité pro hackery patří Perl a LISP. Perl stojí za to se naučit z praktických důvodů; je velmi široce používán pro aktivní webové stránky a správu systému, takže i když Perl nikdy nenapíšete, měli byste se ho naučit číst. Mnoho lidí používá Perl způsobem, který navrhuji, abyste používali Python, abyste se vyhnuli programování v C na úlohách, které nevyžadují efektivitu stroje C. Budete muset být schopni porozumět jejich kódu.

LISP stojí za to se naučit z jiného důvodu – hluboký zážitek osvícení, který zažijete, až ho konečně získáte. Tato zkušenost z vás udělá lepšího programátora po zbytek vašich dní, i když samotný LISP nikdy příliš nepoužíváte. (Začátečnické zkušenosti s LISP můžete získat poměrně snadno psaním a úpravou režimů úprav pro textový editor Emacs nebo zásuvné moduly Script-Fu pro GIMP.)

Ve skutečnosti je nejlepší naučit se všech pět jazyků Python, C/C++, Perl a LISP. Kromě toho, že jsou nejdůležitějšími hackerskými jazyky, představují velmi odlišné přístupy k programování a každý vás bude hodnotným způsobem vzdělávat. Go není úplně do bodu, kdy by mohl být zařazen mezi nejdůležitější hackerské jazyky, ale zdá se, že k tomuto stavu směřuje.

Uvědomte si však, že úrovně dovedností hackera nebo dokonce pouhého programátora nedosáhnete pouhým hromaděním jazyků – musíte se naučit, jak o problémech programování přemýšlet obecně, nezávisle na jakémkoli jazyce. Chcete-li být skutečným hackerem, musíte se dostat do bodu, kdy se můžete naučit nový jazyk během několika dní tím, že spojíte to, co je v příručce, s tím, co již znáte. To znamená, že byste se měli naučit několik velmi odlišných jazyků.

Nemohu zde dát úplný návod, jak se naučit programovat — je to komplexní dovednost. Ale mohu vám říci, že knihy a kurzy to nedokážou – mnoho, možná většina nejlepších hackerů jsou samouci. Jazykové rysy – kousky znalostí – se můžete naučit z knih, ale nastavení mysli, které z těchto znalostí dělá živoucí dovednost, se můžete naučit pouze praxí a učňovským vzděláním. Co to udělá, je (a) čtení kódu a (b) zápis kódu.

Peter Norvig, který je jedním z nejlepších hackerů Google a spoluautorem nejrozšířenější učebnice AI, napsal vynikající esej s názvem Naučte se programovat za deset let. Jeho „recept na úspěch v programování“ stojí za pečlivou pozornost.

Učit se programovat je jako učit se psát dobrý přirozený jazyk. Nejlepší způsob, jak to udělat, je přečíst si něco napsaného mistry formy, něco napsat sám, hodně víc číst, trochu víc psát, hodně víc číst, ještě něco psát… a opakovat, dokud se vaše psaní nezačne rozvíjet druh síly a hospodárnosti, který vidíte ve svých modelech.

Více jsem o tomto procesu učení řekl v How To Learn Hacking. Je to jednoduchý soubor pokynů, ale ne snadný.

Najít dobrý kód ke čtení bývalo těžké, protože ve zdrojovém kódu bylo k dispozici jen málo velkých programů, které by začínající hackeři mohli číst a hrát si s nimi. To se dramaticky změnilo; open-source software, programovací nástroje a operační systémy (vše vytvořené hackery) jsou nyní široce dostupné. Což mě úhledně přivádí k našemu dalšímu tématu…

2. Získejte jeden z unixů s otevřeným zdrojovým kódem a naučte se jej používat a provozovat.

Předpokládám, že máte osobní počítač nebo k němu máte přístup. (Věnujte chvíli tomu, abyste si uvědomili, co to znamená. Hackerská kultura se původně vyvinula zpět, když byly počítače tak drahé, že je jednotlivci nemohli vlastnit.) Jediným nejdůležitějším krokem, který může každý nováček udělat k získání hackerských dovedností, je získat kopii Linuxu. nebo jeden z BSD-Unixů, nainstalujte jej na osobní počítač a spusťte jej.

Ano, na světě jsou kromě Unixu i jiné operační systémy. Ale jsou distribuovány v binárním formátu – nemůžete číst kód a nemůžete ho upravovat. Pokoušet se naučit se hackovat na počítači s Microsoft Windows nebo pod jakýmkoliv jiným uzavřeným systémem je jako snažit se naučit se tančit v odlitku.

Pod Mac OS X je to možné, ale pouze část systému je open source — pravděpodobně narazíte na spoustu zdí a musíte si dávat pozor, abyste si nevypěstovali zlozvyk závislosti na proprietárním kódu Applu. Pokud se soustředíte na Unix pod kapotou, můžete se naučit některé užitečné věci.

Unix je operační systém internetu. I když se můžete naučit používat internet, aniž byste znali Unix, nemůžete být internetovým hackerem, aniž byste Unixu rozuměli. Z tohoto důvodu je dnes hackerská kultura dosti silně zaměřena na Unix. (Nebyla to vždy pravda a někteří staří hackeři z toho stále nejsou nadšení, ale symbióza mezi Unixem a Internetem je natolik silná, že se zdá, že ani svaly Microsoftu nejsou schopny ji vážně narušit.)

Takže vychovejte Unix – sám mám Linux rád, ale existují i ​​jiné způsoby (a ano,   na stejném počítači můžete provozovat Linux i Microsoft Windows). Nauč se to. Spusť to. Hrajte s tím. Mluvte s ním na internetu. Přečtěte si kód. Upravte kód. Získáte lepší programovací nástroje (včetně jazyků C, LISP, Python a Perl), než o kterých může jakýkoli operační systém Microsoft snít o hostování, budete se bavit a nasáknete více znalostí, než si uvědomujete, že se učíte, dokud díváte se na to zpětně jako na mistra hackera.

Více o učení se Unixu najdete v The Loginataka. Můžete se také podívat na The Art Of Unix Programming.

Blog Let’s Go Larval! je okno o procesu učení nového uživatele Linuxu, které je podle mě neobvykle přehledné a užitečné. Příspěvek Jak jsem se naučil Linux je dobrým výchozím bodem.

Chcete-li získat Linux, podívejte se na Linux Online! místo; můžete si stáhnout odtud nebo (lepší nápad) najít místní uživatelskou skupinu Linuxu, která vám pomůže s instalací.

Během prvních deseti let života tohoto HOWTO jsem uvedl, že z pohledu nového uživatele jsou všechny distribuce Linuxu téměř rovnocenné. Ale v letech 2006-2007 se objevila skutečně nejlepší volba: Ubuntu. Zatímco ostatní distribuce mají své vlastní silné stránky, Ubuntu je pro nováčky Linuxu zdaleka nejpřístupnější. Dejte si však pozor na příšerné a téměř nepoužitelné desktopové rozhraní „Unity“, které Ubuntu představilo jako výchozí o několik let později; lepší jsou varianty Xubuntu nebo Kubuntu.

Nápovědu a zdroje BSD Unix můžete najít na www.bsd.org.

Dobrým způsobem, jak si ponořit prsty do vody, je spustit to, co fanoušci Linuxu nazývají živé CD, distribuci, která běží výhradně z CD nebo USB flash disku, aniž by museli upravovat váš pevný disk. To může být pomalé, protože CD jsou pomalé, ale je to způsob, jak se podívat na možnosti, aniž byste museli dělat něco drastického.

Napsal jsem základy Unixu a internetu.

Kdysi jsem doporučoval neinstalovat Linux nebo BSD jako sólo projekt, pokud jste nováček. V dnešní době jsou instalátoři natolik dobří, že je možné to udělat zcela sami, dokonce i pro nováčka. Přesto doporučuji kontaktovat místní skupinu uživatelů Linuxu a požádat o pomoc. Nemůže to bolet a může to celý proces usnadnit.

3. Naučte se používat World Wide Web a psát HTML.

Většina věcí, které kultura hackerů vybudovala, dělá svou práci z dohledu a pomáhá řídit továrny, kanceláře a univerzity bez zjevného dopadu na to, jak žijí nehackeři. Web je jedinou velkou výjimkou, obrovská nablýskaná hackerská hračka, o které i politici přiznávají, že změnila svět. Už jen z tohoto důvodu (a také z mnoha dalších dobrých) se musíte naučit pracovat s webem.

To neznamená jen naučit se ovládat prohlížeč (to dokáže každý), ale naučit se psát HTML, značkovací jazyk webu. Pokud neumíte programovat, psaní HTML vás naučí některým mentálním návykům, které vám pomohou se učit. Vytvořte si tedy domovskou stránku.

Ale jen mít domovskou stránku není zdaleka dost dobré na to, aby z vás udělalo hackera. Web je plný domovských stránek. Většina z nich jsou nesmyslné kaly s nulovým obsahem – velmi elegantně vypadající kaly, ale stejně jsou kaly (více o tom viz The HTML Hell Page).

Aby to stálo za to, musí mít vaše stránka obsah – musí být zajímavá a/nebo užitečná pro ostatní hackery. A tím se dostáváme k dalšímu tématu…

4. Pokud nemáte funkční angličtinu, naučte se ji.

Jako Američan a rodilý mluvčí angličtiny jsem se dříve zdráhal toto navrhnout, aby to nebylo bráno jako určitý druh kulturního imperialismu. Ale několik rodilých mluvčích jiných jazyků mě naléhalo, abych poukázal na to, že angličtina je pracovním jazykem hackerské kultury a internetu a že ji budete potřebovat, abyste mohli fungovat v hackerské komunitě.

Kolem roku 1991 jsem se dozvěděl, že mnoho hackerů, kteří mají angličtinu jako druhý jazyk, ji používá v technických diskuzích, i když sdílejí rodný jazyk; v té době mi bylo oznámeno, že angličtina má bohatší odbornou slovní zásobu než jakýkoli jiný jazyk, a je proto jednoduše lepším nástrojem pro tuto práci. Z podobných důvodů jsou překlady odborných knih napsaných v angličtině často neuspokojivé (pokud jsou vůbec hotové).

Linus Torvalds, Fin, komentuje svůj kód v angličtině (zřejmě ho nikdy nenapadlo udělat jinak). Jeho plynulost angličtiny byla důležitým faktorem v jeho schopnosti získat celosvětovou komunitu vývojářů pro Linux. Je to příklad hodný následování.

Být rodilým mluvčím angličtiny nezaručuje, že máte dostatečně dobré jazykové znalosti na to, abyste fungovali jako hacker. Pokud je váš text pologramotný, negramatický a plný překlepů, mnoho hackerů (včetně mě) vás bude mít tendenci ignorovat. Zatímco nedbalé psaní vždy neznamená nedbalé myšlení, obecně jsme zjistili, že korelace je silná – a pro nedbalé myslitele nemáme žádné využití. Pokud ještě neumíte psát kompetentně, naučte se to.

Stav v kultuře hackerů

Jako většina kultur bez peněžní ekonomiky je hackerství založeno na pověsti. Snažíte se řešit zajímavé problémy, ale to, jak jsou zajímavé a zda jsou vaše řešení opravdu dobrá, je něco, co jsou běžně schopni posoudit pouze vaši techničtí kolegové nebo nadřízení.

Když tedy hrajete hackerskou hru, učíte se udržovat skóre především podle toho, co si o vašich dovednostech myslí ostatní hackeři (to je důvod, proč ve skutečnosti nejste hackerem, dokud vám ostatní hackeři důsledně neříkají). Tento fakt je zastírán představou hackování jako osamělé práce; také hackersko-kulturním tabu (od konce 90. let postupně upadajícím, ale stále mocným) proti přiznání, že ego nebo vnější validace jsou vůbec zahrnuty do motivace člověka.

Konkrétně hackerství je to, co antropologové nazývají kulturou dárků. Postavení a reputaci v něm nezískáte tím, že budete ovládat ostatní, ani tím, že budete krásní, ani tím, že budete mít věci, které jiní lidé chtějí, ale spíše tím, že věci rozdáte. Konkrétně tím, že rozdáváte svůj čas, kreativitu a výsledky svých dovedností.

V zásadě existuje pět druhů věcí, které můžete udělat, abyste byli respektováni hackery:

1. Napište open-source software

První (nejcentrálnější a nejtradičnější) je psát programy, které ostatní hackeři považují za zábavné nebo užitečné, a předat zdroje programu celé hackerské kultuře k použití.

(Dříve jsme těmto dílům říkali „svobodný software“, ale to zmátlo příliš mnoho lidí, kteří si nebyli jisti, co přesně „svobodný“ má znamenat. Většina z nás nyní dává přednost termínu „open-source“ software).

Nejuctívanějšími polobohy Hackerdomu jsou lidé, kteří napsali velké, schopné programy, které uspokojily širokou potřebu, a rozdali je, takže je nyní používá každý.

Ale je tu jeden pěkný historický bod. Zatímco hackeři vždy vzhlíželi k vývojářům open source mezi nimi jako k nejtvrdšímu jádru naší komunity, před polovinou 90. let většina hackerů většinu času pracovala na uzavřeném zdroji. To platilo stále, když jsem v roce 1996 napsal první verzi tohoto HOWTO; věci se změnily po roce 1997, kdy došlo k mainstreamingu open-source softwaru. Dnes jsou „hackerská komunita“ a „open-source vývojáři“ dva popisy pro v podstatě stejnou kulturu a populaci – ale je třeba si uvědomit, že tomu tak nebylo vždy. (Více o tom naleznete v části nazvané „Historická poznámka: Hackování, otevřený zdroj a svobodný software“.)

2. Pomozte testovat a ladit software s otevřeným zdrojovým kódem

Slouží také tomu, kdo stojí a ladí open-source software. V tomto nedokonalém světě nevyhnutelně strávíme většinu času vývoje softwaru ve fázi ladění. To je důvod, proč každý autor open source, který přemýšlí, vám řekne, že dobří betateteři (kteří vědí, jak jasně popsat příznaky, dobře lokalizovat problémy, dokážou tolerovat chyby v rychlém vydání a jsou ochotni použít několik jednoduchých diagnostických postupů) jsou stojí za jejich váhu v rubínech. I jedna z nich může znamenat rozdíl mezi fází ladění, která je zdlouhavou a vyčerpávající noční můrou, a fází, která je pouze blahodárnou obtíží.

Pokud jste nováček, zkuste najít program ve vývoji, který vás zajímá, a buďte dobrým beta-testerem. Existuje přirozený vývoj od pomoci s testováním programů přes pomoc při jejich ladění až po pomoc při jejich úpravě. Tímto způsobem se hodně naučíte a vytvoříte si dobrou karmu s lidmi, kteří vám později pomohou.

3. Publikujte užitečné informace

Další dobrá věc je shromažďovat a filtrovat užitečné a zajímavé informace do webových stránek nebo dokumentů, jako jsou seznamy často kladených otázek (FAQ), a zpřístupňovat je obecně.

Správci hlavních technických často kladených otázek získávají téměř stejný respekt jako autoři open source.

4. Pomozte udržet infrastrukturu funkční

Hackerská kultura (a technický rozvoj internetu, když na to přijde) je řízena dobrovolníky. Aby to fungovalo, je potřeba udělat mnoho nezbytné, ale neokázalé práce – správa e-mailových konferencí, moderování diskusních skupin, údržba velkých serverů pro archivy softwaru, vývoj RFC a dalších technických standardů.

Lidé, kteří takové věci dělají dobře, si získají velký respekt, protože každý ví, že tyto práce zaberou spoustu času a nejsou tak zábavné jako hraní s kódem. Jejich provádění ukazuje oddanost.

5. Obsluhujte samotnou hackerskou kulturu

Nakonec můžete kultivovat a propagovat samotnou kulturu (např. napsáním přesného primeru, jak se stát hackerem :-)). To není něco, co budete mít v pozici, dokud tu nebudete nějakou dobu a nestanete se známými pro jednu z prvních čtyř věcí.

Hackerská kultura přesně nemá vůdce, ale má kulturní hrdiny a kmenové stařešiny a historiky a mluvčí. Až budete v zákopech dostatečně dlouho, možná z vás vyroste jeden z nich. Pozor: hackeři nedůvěřují do očí bijícímu egu svých kmenových stařešinů, takže viditelně sahat po tomto druhu slávy je nebezpečné. Spíše než o to usilovat, musíte se nějak postavit tak, aby vám to spadlo do klína, a pak být skromný a laskavý ohledně svého postavení.

Připojení Hacker/Nerd

Na rozdíl od populárního mýtu nemusíte být nerdem, abyste byli hackerem. Pomáhá to však a mnozí hackeři jsou ve skutečnosti pitomci. Být něco jako sociální vyvrhel vám pomůže soustředit se na opravdu důležité věci, jako je myšlení a hackování.

Z tohoto důvodu mnoho hackerů přijalo označení „geek“ jako odznak hrdosti – je to způsob, jak deklarovat svou nezávislost na běžných společenských očekáváních (stejně jako zálibu v jiných věcech, jako jsou sci-fi a strategické hry, které často jdou s tím, že jsou hacker). Termín ‘nerd’ se tímto způsobem používal již v 90. letech, v době, kdy ‘nerd’ bylo mírné pejorativum a ‘geek’ poněkud drsnější; někdy po roce 2000 si vyměnili místa, alespoň v americké populární kultuře, a mezi lidmi, kteří nejsou technici, je nyní dokonce významná geek-pride kultura.

Pokud se dokážete dostatečně soustředit na hackování, abyste v něm byli dobří a ještě měli život, je to v pořádku. Dnes je to mnohem snazší, než když jsem byl v 70. letech nováčkem; mainstreamová kultura je nyní k techno-nerdům mnohem přátelštější. Dokonce roste počet lidí, kteří si uvědomují, že hackeři jsou často vysoce kvalitní materiál pro milence a manželky.

Pokud vás hackování přitahuje, protože nemáte život, je to také v pořádku – alespoň nebudete mít problémy se soustředěním. Možná později získáte život.

Body za styl

Opět, chcete-li být hackerem, musíte vstoupit do hackerského myšlení. Zdá se, že některé věci, které můžete dělat, když nejste u počítače, vám pomohou. Nejsou to náhražky hackování (nic není), ale mnoho hackerů je dělá a cítí, že se nějakým základním způsobem spojují s podstatou hackování.

  • Naučte se dobře psát svůj rodný jazyk. Ačkoli je to běžný stereotyp, že programátoři neumějí psát, překvapivé množství hackerů (včetně všech nejdokonalejších, které znám) jsou velmi schopní spisovatelé.
  • Přečtěte si sci-fi. Přejděte na konvence sci-fi (dobrý způsob, jak se setkat s hackery a protohackery).
  • Připojte se k hackerspace a vytvářejte věci (další dobrý způsob, jak se setkat s hackery a proto-hackery).
  • Trénujte ve formě bojových umění. Druh mentální disciplíny vyžadovaný pro bojová umění se zdá být v důležitých ohledech podobný tomu, co dělají hackeři. Nejoblíbenějšími formami mezi hackery jsou jednoznačně asijské umění s prázdnou rukou jako Tae Kwon Do, různé formy karate, Kung Fu, Aikido nebo Ju Jitsu. Západní šerm a umění s asijským mečem mají také viditelné následovníky. V místech, kde je to legální, od konce 90. let roste popularita střelby z pistole. Nejvíce hackerská bojová umění jsou ta, která kladou důraz na mentální disciplínu, uvolněné uvědomění a přesné ovládání, spíše než na syrovou sílu, atletiku nebo fyzickou odolnost.
  • Studujte skutečnou meditační disciplínu. Věčným favoritem mezi hackery je Zen (důležité je, že zenu je možné těžit, aniž byste si osvojili náboženství nebo zahodili to, které již máte). Jiné styly mohou fungovat také, ale buďte opatrní, abyste si vybrali takový, který nevyžaduje, abyste věřili bláznivým věcem.
  • Rozvíjejte analytický sluch pro hudbu. Naučte se oceňovat zvláštní druhy hudby. Naučte se dobře hrát na nějaký hudební nástroj nebo jak zpívat.
  • Rozvíjejte své porozumění pro slovní hříčky a slovní hříčky.

Čím více těchto věcí již děláte, tím je pravděpodobnější, že jste přirozeným hackerským materiálem. Proč právě tyto věci není zcela jasné, ale souvisí s mixem dovedností levého a pravého mozku, které se zdá být důležité; hackeři musí být schopni jak logicky uvažovat, tak v mžiku vystoupit ze zdánlivé logiky problému.

Pracujte stejně intenzivně jako hrajete a hrajte tak intenzivně, jak pracujete. Pro opravdové hackery mají hranice mezi „hrami“, „prácí“, „vědou“ a „uměním“ tendenci mizet nebo splývat v kreativní hravost na vysoké úrovni. Nespokojte se také s úzkým rozsahem dovedností. Ačkoli se většina hackerů označuje za programátory, je velmi pravděpodobné, že budou více než kompetentní v několika souvisejících dovednostech – správa systému, webdesign a řešení problémů s hardwarem PC jsou běžné. Hacker, který je správcem systému, je na druhou stranu pravděpodobně docela zručný v programování skriptů a webdesignu. Hackeři nedělají věci napůl; pokud do nějaké dovednosti vůbec investují, mají tendenci být v ní velmi dobří.

Na závěr pár věcí,  které byste neměli dělat.

  • Nepoužívejte hloupé, grandiózní ID uživatele nebo přezdívku.
  • Nepouštějte se do plamenných válek na Usenetu (nebo kdekoli jinde).
  • Neříkejte si ‘cyberpunk’ a neztrácejte čas s nikým, kdo to dělá.
  • Neposílejte příspěvky nebo e-maily, které jsou plné pravopisných chyb a špatné gramatiky.

Jediná reputace, kterou si uděláte, když děláte některou z těchto věcí, je jako blázen. Hackeři mají dlouhou paměť – může vám trvat roky, než prožijete své rané chyby natolik, abyste je přijali.

Problém s názvy obrazovek nebo úchyty si zaslouží určité zesílení. Skrývání své identity za klikou je mladistvé a hloupé chování charakteristické pro crackery, warez d00dz a další nižší formy života. Hackeři to nedělají; jsou hrdí na to, co dělají, a chtějí, aby to bylo spojeno s jejich skutečnými jmény. Takže pokud máte kliku, zahoďte ji. V hackerské kultuře vás to označí pouze jako poražené.

Historická poznámka: Hacking, Open Source a svobodný software

Když jsem na konci roku 1996 původně napsal tento návod, některé podmínky kolem něj byly velmi odlišné od toho, jak vypadají dnes. Pár slov o těchto změnách může pomoci objasnit záležitosti lidem, kteří jsou zmateni vztahem open source, svobodného softwaru a Linuxu ke komunitě hackerů. Pokud na to nejste zvědaví, můžete odtud přeskočit přímo na FAQ a bibliografii.

Hackerský étos a komunita, jak jsem je zde popsal, dávno předcházely vzniku Linuxu po roce 1990; Poprvé jsem se s tím začal zabývat kolem roku 1976 a jeho kořeny lze snadno vysledovat až do počátku 60. let. Ale před Linuxem se většina hackování prováděla buď na proprietárních operačních systémech, nebo na hrstce kvaziexperimentálních domácích systémů, jako je ITS MIT, které nebyly nikdy nasazeny mimo jejich původní akademické výklenky. I když existovaly některé dřívější (před Linuxem) pokusy tuto situaci změnit, jejich dopad byl přinejlepším velmi okrajový a omezoval se na komunity oddaných opravdových věřících, což byly nepatrné menšiny dokonce i v rámci hackerské komunity, natož s ohledem na větší svět. softwaru obecně.

To, co se nyní nazývá „open source“, sahá až k hackerské komunitě, ale až do roku 1985 to byla spíše nejmenovaná lidová praxe než vědomé hnutí s připojenými teoriemi a manifesty. Tato prehistorie skončila, když se v roce 1985 archacker Richard Stallman (“RMS”) pokusil pojmenovat ji – “svobodný software”. Ale jeho akt pojmenování byl také aktem tvrzení; k označení „svobodný software“ připojil ideologickou zátěž, kterou velká část existující hackerské komunity nikdy nepřijala. Výsledkem bylo, že označení „svobodný software“ bylo hlasitě odmítnuto podstatnou menšinou hackerské komunity (zejména mezi těmi, kteří jsou spojeni s BSD Unix) a s vážnými, ale tichými výhradami jej používala většina zbytku (včetně mě).

Navzdory těmto výhradám tvrzení RMS definovat a vést hackerskou komunitu pod praporem „svobodného softwaru“ široce platilo až do poloviny 90. let. Vážně ji zpochybnil až vzestup Linuxu. Linux dal open-source vývoji přirozený domov. Mnoho projektů vydaných za podmínek, které bychom nyní nazvali open-source migrovalo z proprietárních Unixů na Linux. Komunita kolem Linuxu se explozivně rozrostla a stala se mnohem větší a heterogennější než kultura hackerů před Linuxem. RMS se odhodlaně pokusilo kooptovat všechny tyto aktivity do svého hnutí „svobodného softwaru“, ale bylo zmařeno jak explodující rozmanitostí linuxové komunity, tak veřejným skepticismem jejího zakladatele Linuse Torvaldse. Torvalds nadále používal termín „svobodný software“ pro nedostatek jakékoli alternativy, ale veřejně odmítl ideologickou zátěž RMS. Mnoho mladších hackerů následovalo příklad.

V roce 1996, kdy jsem poprvé zveřejnil toto Hacker HOWTO, se hackerská komunita rychle reorganizovala kolem Linuxu a hrstky dalších open source operačních systémů (zejména těch, které pocházejí z BSD Unix). Paměť komunity na skutečnost, že většina z nás strávila desetiletí vývojem softwaru s uzavřeným zdrojovým kódem na operačních systémech s uzavřeným zdrojovým kódem, ještě nezačala mizet, ale tato skutečnost se již začala jevit jako součást mrtvé minulosti; hackeři se stále více definovali jako hackeři podle jejich připojení k open-source projektům, jako je Linux nebo Apache.

Termín „otevřený zdroj“ se však ještě neobjevil; neučiní tak dříve než na začátku roku 1998. Když se tak stalo, většina hackerské komunity jej během následujících šesti měsíců přijala; výjimkou byla menšina ideologicky spojená s termínem „svobodný software“. Od roku 1998, a zejména po roce 2003, se identifikace „hackingu“ s „vývojem open-source (a svobodného softwaru)“ extrémně sblížila. Dnes nemá smysl pokoušet se tyto kategorie rozlišovat a zdá se nepravděpodobné, že se to v budoucnu změní.

Je však třeba připomenout, že tomu tak nebylo vždy.

Další zdroje

Paul Graham napsal esej nazvanou Great Hackeři a další o bakalářském studiu, ve kterých mluví mnoho moudrosti.

Mladší hackeři mohou považovat věci, které každý hacker znal, za zajímavé a užitečné.

Napsal jsem také Stručnou historii Hackerdomu.

Napsal jsem článek Katedrála a bazar, který vysvětluje hodně o tom, jak funguje Linux a kultura open-source. Ještě příměji jsem se tomuto tématu věnoval v jeho pokračování Homesteading the Noosphere.

Rick Moen napsal vynikající dokument o tom, jak spustit skupinu uživatelů Linuxu.

Rick Moen a já jsme spolupracovali na dalším dokumentu o Jak klást chytré otázky. To vám pomůže vyhledat pomoc způsobem, který zvýší pravděpodobnost, že ji skutečně dostanete.

Pokud se potřebujete naučit základy toho, jak fungují osobní počítače, Unix a Internet, podívejte se na Základy Unixu a Internetu HOWTO.

Při vydávání softwaru nebo psaní oprav pro software se snažte řídit pokyny v dokumentu Postup při vydávání softwaru HOWTO.

Pokud se vám líbila zenová báseň, mohla by se vám líbit i Rootless Root: The Unix Koans of Master Foo .

Často kladené otázky

Otázka:  Jak poznám, že už jsem hacker?
Q:  Naučíš mě hackovat?
Otázka:  Jak tedy mohu začít?
Q:  Kdy musíte začít? Je příliš pozdě na to, abych se učil?
Otázka:  Jak dlouho mi bude trvat, než se naučím hackovat?
Otázka:  Je Visual Basic dobrý jazyk pro začátek?
Otázka:  Pomohl byste mi prolomit systém nebo mě naučil, jak crackovat?
Otázka:  Jak mohu získat heslo k účtu někoho jiného?
Otázka:  Jak mohu proniknout do/číst/monitorovat e-mail někoho jiného?
Otázka:  Jak mohu ukrást oprávnění kanálu na IRC?
Otázka:  Byl jsem prasklý. Pomůžete mi odrazit další útoky?
Otázka:  Mám problémy se softwarem Windows. Pomůžeš mi?
Otázka:  Kde najdu skutečné hackery, se kterými si mohu promluvit?
Otázka:  Můžete doporučit užitečné knihy o tématech souvisejících s hackováním?
Otázka:  Musím být dobrý v matematice, abych se stal hackerem?
Otázka:  Jaký jazyk bych se měl naučit jako první?
Otázka:  Jaký druh hardwaru potřebuji?
Otázka:  Chci přispět. Můžete mi pomoci vybrat problém, na kterém budu pracovat?
Otázka:  Musím Microsoft nenávidět a hanit?
Otázka:  Ale nezpůsobí open source software programátorům, kteří se nebudou moci uživit?
Otázka:  Kde mohu získat bezplatný Unix?
O: Jak poznám, že už jsem hacker?
Od: Položte si následující tři otázky:

  • Mluvíte kódem, plynule?
  • Ztotožňujete se s cíli a hodnotami hackerské komunity?
  • Nazval vás někdy etablovaný člen hackerské komunity hackerem?

Pokud dokážete odpovědět ano na všechny tři tyto otázky, jste již hacker. Žádné dva samy nestačí.

První test je o dovednostech. Pravděpodobně to zvládnete, pokud máte minimální technické dovednosti popsané dříve v tomto dokumentu. Profouknete to přímo, pokud jste přijali značné množství kódu v open-source vývojovém projektu.

Druhý test je o postoji. Pokud se vám pět principů hackerského myšlení zdálo samozřejmých, spíše jako popis toho, jak už žijete, než cokoli nového, už jste na půli cesty k jeho překonání. To je vnitřní polovina; druhá, vnější polovina je míra, do jaké se ztotožňujete s dlouhodobými projekty hackerské komunity.

Zde je neúplný, ale orientační seznam některých z těchto projektů: Záleží vám na tom, že se Linux zlepšuje a rozšiřuje? Jste nadšení pro svobodu softwaru? Nepřátelský vůči monopolům? Jednáte na základě přesvědčení, že počítače mohou být nástrojem zmocnění, díky kterému bude svět bohatší a humánnější?

Ale upozornění je zde na místě. Hackerská komunita má určité specifické, primárně obranné politické zájmy – dva z nich hájí právo na svobodu slova a odrážejí mocenskou moc „duševního vlastnictví“, která by open source učinila nezákonným. Některé z těchto dlouhodobých projektů jsou organizace pro občanské svobody, jako je Electronic Frontier Foundation, a vnější postoj náležitě zahrnuje jejich podporu. Ale kromě toho většina hackerů pohlíží na pokusy systematizovat hackerský postoj do explicitního politického programu s podezřením; tvrdě jsme se naučili, že tyto pokusy rozdělují a odvádějí pozornost. Pokud se vás někdo ve jménu hackerského přístupu pokouší naverbovat, abyste pochodovali na vašem hlavním městě, unikla mu pointa. Správná odpověď je pravděpodobně:  „Drž hubu a ukaž jim kód.“

Třetí test má v sobě záludný prvek rekurzivity. Všiml jsem si v sekci nazvané „Co je hacker?“ že být hackerem je částečně věcí příslušnosti k určité subkultuře nebo sociální síti se sdílenou historií, uvnitř i vně. V dávné minulosti byli hackeři mnohem méně soudržnou a sebevědomou skupinou než dnes. Ale důležitost aspektu sociálních sítí za posledních třicet let vzrostla, protože internet usnadnil rozvoj a údržbu spojení s jádrem hackerské subkultury. Jedním z jednoduchých ukazatelů chování změny je, že v tomto století máme vlastní trička.

Sociologové, kteří studují sítě podobné hackerské kultuře pod obecnou rubrikou „neviditelné vysoké školy“, poznamenali, že jednou z charakteristik takových sítí je, že mají vrátné – klíčové členy se sociální autoritou, kteří podporují nové členy do sítě. Protože „neviditelná vysoká škola“, kterou je hackerská kultura, je volná a neformální, role vrátného je také neformální. Ale jednu věc, kterou všichni hackeři chápou v kostech, je, že ne každý hacker je strážcem brány. Strážci brány musí mít určitý stupeň seniority a úspěchu, než mohou udělit titul. Kolik je těžké vyčíslit, ale každý hacker to ví, když to vidí.

O: Naučíš mě hackovat?
Od: Od prvního zveřejnění této stránky jsem dostal několik žádostí týdně (často několik denně) od lidí, aby mě „naučili vše o hackování“. Bohužel na to nemám čas ani energii; moje vlastní hackerské projekty a práce jako obhájce open-source mi zabírají 110 % času.

I kdybych to udělal, hackování je přístup a dovednost, kterou se v podstatě musíte naučit sami. Zjistíte, že i když vám skuteční hackeři chtějí pomoci, nebudou vás respektovat, když budete prosit, abyste je krmili lžící vším, co znají.

Naučte se nejprve pár věcí. Ukažte, že se snažíte, že jste schopni se učit sami. Poté přejděte k hackerům, které potkáte, s konkrétními otázkami.

Pokud pošlete e-mail hackerovi s žádostí o radu, zde jsou dvě věci, které byste měli vědět předem. Za prvé, zjistili jsme, že lidé, kteří jsou líní nebo nedbalí v psaní, jsou obvykle příliš líní a nedbalí ve svém myšlení na to, aby byli dobrými hackery – takže dbejte na správné pravopis a používejte dobrou gramatiku a interpunkci, jinak pravděpodobně budete ignorován. Za druhé,  neopovažujte se  žádat o odpověď na účet ISP, který se liší od účtu, ze kterého posíláte; najdeme lidi, kteří to dělají, obvykle zloději používající ukradené účty a nemáme zájem odměňovat nebo pomáhat při krádeži.

O: Jak tedy mohu začít?
Od: Nejlepší způsob, jak začít, by pravděpodobně bylo jít na schůzku LUG (skupiny uživatelů Linuxu). Takové skupiny můžete najít na Informační stránka LDP General Linux; ve vašem okolí je pravděpodobně jeden, pravděpodobně spojený s vysokou školou nebo univerzitou. Členové LUG vám pravděpodobně dají Linux, pokud o to požádáte, a jistě vám pomohou jeden nainstalovat a začít.

Vaším dalším krokem (a vaším prvním krokem, pokud nemůžete najít LUG poblíž) by mělo být nalezení open-source projektu, který vás zajímá. Začněte číst kód a kontrolovat chyby. Naučte se přispívat a zapracujte.

Jedinou cestou je pracovat na zlepšení svých dovedností. Pokud mě osobně požádáte o radu, jak začít, řeknu vám přesně ty samé věci, protože pro vás žádnou kouzelnou zkratku nemám. V duchu vás také odepíšu jako pravděpodobného poraženého – protože pokud vám chyběla výdrž na přečtení tohoto FAQ a inteligence, abyste z něj pochopili, že jedinou cestou je pracovat na zlepšení svých dovedností, jste beznadějní.

Další zajímavou možností je navštívit hackerspace. Existuje rostoucí hnutí lidí, kteří vytvářejí fyzická místa – kluby výrobců – kde mohou společně pracovat na hardwarových a softwarových projektech nebo pracovat sólo v příjemné atmosféře. Hackerspaces často shromažďují nástroje a specializované vybavení, které by bylo pro jednotlivce příliš drahé nebo logisticky nepohodlné. Hackerspaces lze snadno najít na internetu; jeden se může nacházet ve vaší blízkosti.

O: Kdy musíte začít? Je příliš pozdě na to, abych se učil?
A: Jakýkoli věk, ve kterém jste motivováni začít, je dobrý věk. Zdá se, že většina lidí se zajímá ve věku 15 až 20 let, ale znám výjimky v obou směrech.
O: Jak dlouho mi bude trvat, než se naučím hackovat?
Od: To záleží na tom, jak jste talentovaný a jak tvrdě na tom pracujete. Většina lidí, kteří se snaží, může získat úctyhodný soubor dovedností za osmnáct měsíců až dva roky, pokud se soustředí. Nemyslete si však, že tím to končí; v hackingu (stejně jako v mnoha jiných oborech) trvá dosažení mistrovství asi deset let. A pokud jste skutečný hacker, strávíte zbytek života učením a zdokonalováním svého řemesla.
O: Je Visual Basic dobrý jazyk pro začátek?
Od: Pokud se ptáte na tuto otázku, téměř jistě to znamená, že uvažujete o pokusu o hackování pod Microsoft Windows. To je samo o sobě špatný nápad. Když jsem srovnával pokusy naučit se hackovat pod Windows se snahou naučit se tančit v sádře těla, nedělal jsem si legraci. Nechoď tam. Je to ošklivé a nikdy to nepřestane být ošklivé.

Existuje specifický problém s Visual Basic; hlavně že to není přenosné. Ačkoli existuje prototyp open-source implementací jazyka Visual Basic, použitelné standardy ECMA nepokrývají více než malou sadu jeho programovacích rozhraní. V systému Windows je většina podpory knihoven ve vlastnictví jediného dodavatele (Microsoft); pokud si nejste extrémně opatrní v tom, jaké funkce používáte – opatrnější, než je skutečně schopen kterýkoli nováček – skončíte uzavřeni pouze na těch platformách, které se Microsoft rozhodne podporovat. Pokud začínáte na Unixu, jsou k dispozici mnohem lepší jazyky s lepšími knihovnami. Například Python.

Stejně jako ostatní základy je také Visual Basic špatně navržený jazyk, který vás naučí špatné programovací návyky. Ne, ne po mně, abych jim podrobně popisovat; to vysvětlení by zaplnilo knihu. Naučte se místo toho dobře navržený jazyk.

Jedním z těchto zlozvyků se stává závislost na knihovnách, widgetech a vývojových nástrojích jednoho dodavatele. Obecně platí, že jakýkoli jazyk, který není plně podporován alespoň v Linuxu nebo na jednom z BSD a/nebo v operačních systémech alespoň tří různých výrobců, je špatný na to, abyste se do něj naučili nabourávat.

O: Pomohli byste mi prolomit systém nebo mě naučili, jak crackovat?
Od: Ne. Každý, kdo může položit takovou otázku i po přečtení tohoto FAQ, je příliš hloupý na to, aby se dal vzdělávat, i kdybych měl čas na doučování. Jakékoli e-mailové žádosti tohoto druhu, které dostanu, budou ignorovány nebo zodpovězeny s extrémní hrubostí.
O: Jak mohu získat heslo k účtu někoho jiného?
Od: Tohle je praskání. Jdi pryč, idiote.
O: Jak mohu proniknout do/číst/monitorovat e-mail někoho jiného?
Od: Tohle je praskání. Ztrať se, hlupáku.
O: Jak mohu ukrást oprávnění kanálu na IRC?
Od: Tohle je praskání. Začni, kretene.
O: Byl jsem prasklý. Pomůžete mi odrazit další útoky?
Od: Ne. Pokaždé, když jsem dostal tuto otázku, byla to od nějaké špatné mízy se systémem Microsoft Windows. Systémy Windows není možné účinně zabezpečit proti útokům cracku; kód a architektura mají prostě příliš mnoho nedostatků, díky čemuž je zabezpečení Windows jako pokusit se zachránit loď sítem. Jediná spolehlivá prevence začíná přechodem na Linux nebo jiný operační systém, který je navržen tak, aby byl alespoň schopen zabezpečení.
O: Mám problémy se softwarem Windows. Pomůžeš mi?
Od: Ano. Přejděte do příkazového řádku systému DOS a zadejte „formát c:“. Jakékoli problémy, se kterými se setkáte, zmizí během několika minut.
O: Kde najdu skutečné hackery, se kterými si mohu promluvit?
Od: Nejlepší způsob je najít místní skupinu uživatelů Unixu nebo Linuxu a jít na jejich schůzky (odkazy na několik seznamů skupin uživatelů najdete na stránce LDP na ibiblio).

(Říkal jsem zde, že na IRC nenajdete žádné skutečné hackery, ale chápu, že se to mění. Některé skutečné hackerské komunity, spojené s věcmi jako GIMP a Perl, nyní mají IRC kanály.)

O: Můžete doporučit užitečné knihy o tématech souvisejících s hackováním?
Od: Vedu Linux Reading List HOWTO, který vám může pomoci. Loginataka může být také zajímavé.

Úvod do Pythonu najdete ve výukovém programu na webu Python.

O: Musím být dobrý v matematice, abych se stal hackerem?
Od: Ne. Hacking používá velmi málo formální matematiky nebo aritmetiky. Zejména obvykle nebudete potřebovat trigonometrii, kalkulaci nebo analýzu (v několika specifických aplikačních oblastech, jako je 3D počítačová grafika, existují výjimky). Znát nějakou formální logiku a booleovskou algebru je dobré. Určité základy v konečné matematice (včetně teorie konečných množin, kombinatoriky a teorie grafů) mohou být užitečné.

Mnohem důležitější je, že musíte být schopni myslet logicky a sledovat řetězce přesného uvažování, jak to dělají matematici. Zatímco obsah většiny matematiky vám nepomůže, budete potřebovat disciplínu a inteligenci, abyste matematiku zvládli. Pokud vám chybí inteligence, máte jako hacker malou naději; pokud vám chybí disciplína, raději ji pěstujte.

Myslím, že dobrý způsob, jak zjistit, zda na to máte, je vyzvednout si výtisk knihy Raymonda Smullyana Jak se jmenuje tato kniha? Smullyanovy hravé logické hádanky jsou hodně v hackerském duchu. Být schopen je vyřešit je dobré znamení; radost z jejich řešení je ještě lepší.

O: Jaký jazyk bych se měl naučit jako první?
Od: HTML, pokud jej ještě neznáte. Existuje spousta nablýskaných, hype-intenzivních špatných HTML knih a zoufale málo dobrých. Nejraději mám HTML: Definitivní průvodce.

HTML však není úplný programovací jazyk. Až budete připraveni začít programovat, doporučil bych začít s Python. Uslyšíte spoustu lidí doporučovat Perl, ale je těžší se ho naučit a (podle mého názoru) méně dobře navržený.

C je opravdu důležité, ale je také mnohem obtížnější než Python nebo Perl. Nesnažte se to nejprve naučit.

Uživatelé Windows, to není spokojit s jazyka. Naučí vás špatné návyky a není přenosný mimo Windows. Vyhýbat se.

O: Jaký druh hardwaru potřebuji?
Od: Bývalo to tak, že osobní počítače byly dost poddimenzované a chudé na paměť, takže to uměle omezovalo proces učení hackerů. To přestalo platit v polovině 90. let; jakýkoli stroj od Intel 486DX50 výše je více než dostatečně výkonný pro vývojovou práci, X a internetovou komunikaci a nejmenší disky, které si dnes můžete koupit, jsou dostatečně velké.

Důležitou věcí při výběru počítače, na kterém se budete učit, je, zda je jeho hardware kompatibilní s Linuxem (nebo kompatibilní s BSD, pokud se rozhodnete jít touto cestou). Opět to bude platit pro téměř všechny moderní stroje. Jedinými skutečně lepivými oblastmi jsou modemy a bezdrátové karty; některé počítače mají hardware specifický pro Windows, který nebude fungovat s Linuxem.

Existuje FAQ o kompatibilitě hardwaru; nejnovější verze je zde.

O: chci přispět. Můžete mi pomoci vybrat problém, na kterém budu pracovat?
Od: Ne, protože neznám tvůj talent nebo zájmy. Musíte být motivováni sami sebou, jinak se neudržíte, a proto téměř nikdy nefunguje, aby si váš směr vybrali ostatní.
O: Musím Microsoft nenávidět a hanit?
Od: Ne, nechceš. Ne, že by Microsoft nebyl ošklivý, ale kultura hackerů existovala dávno před Microsoftem a bude ještě dlouho poté, co bude Microsoft historií. Veškerou energii, kterou vynaložíte na nenávist k Microsoftu, byste raději věnovali lásce ke svému řemeslu. Napište dobrý kód – to Microsoft docela dost rozdrtí, aniž by to znečišťovalo vaši karmu.
O: Nenechá ale open-source software programátory, kteří se nebudou moci uživit?
Od: Zdá se to nepravděpodobné – zatím se zdá, že průmysl s otevřeným zdrojovým kódem pracovní místa spíše vytváří, než aby je bral. Pokud je napsání programu čistým ekonomickým ziskem oproti jeho nenapsání, programátor dostane zaplaceno bez ohledu na to, zda program po dokončení bude nebo nebude open-source. A bez ohledu na to, kolik „svobodného“ softwaru se napíše, vždy se zdá, že existuje větší poptávka po nových a přizpůsobených aplikacích. Více jsem o tom psal na stránkách Open Source.
O: Kde mohu získat bezplatný Unix?
Od: Pokud na svém počítači ještě nemáte nainstalovaný Unix, jinde na této stránce uvádím odkazy na to, kde získat nejběžněji používaný bezplatný Unix. Abyste byli hackerem, potřebujete motivaci a iniciativu a schopnost se vzdělávat. Začněte hned…

Budování webových služeb způsobem REST

Original page: http://xfront.com/REST-Web-Services.html

Roger L. Costello

Nejprve poskytnu stručný úvod do REST a poté popíšu, jak budovat webové služby ve stylu REST.

Co je REST?

REST je termín, který vytvořil Roy Fielding ve svém Ph.D. disertační práce [1] k popisu stylu architektury síťových systémů. REST je zkratka pro reprezentativní státní převod.

Proč se tomu říká Representation State Transfer?

Web se skládá ze zdrojů. Zdroj je jakákoliv položka zájmu. Například Boeing Aircraft Corp může definovat zdroj 747. Klienti mohou k tomuto zdroji přistupovat pomocí této adresy URL:

http://www.boeing.com/aircraft/747

Reprezentace ze zdroje je vrácena (např Boeing747.html). Reprezentace umístí klientskou aplikaci do stavu. Výsledkem toho, že klient projde hypertextovým odkazem v Boeing747.html, je přístup k dalšímu zdroji. Nová reprezentace umístí klientskou aplikaci do ještě jiného stavu. Klientská aplikace tedy mění (přenosy) stav s každou reprezentací prostředků –> Přenos reprezentativního stavu!

Zde je vysvětlení Roye Fieldinga o významu reprezentativního převodu státu:

„Representational State Transfer má vyvolat představu, jak se dobře navržená webová aplikace chová: síť webových stránek (virtuální stavový stroj), kde uživatel postupuje aplikací výběrem odkazů (přechodů stavů), což má za následek další stránka (představující další stav aplikace) je přenesena k uživateli a vykreslena pro jeho použití.”

Motivace pro REST

Motivací pro REST bylo zachytit vlastnosti webu, díky kterým byl web úspěšný. Následně se tyto vlastnosti používají k vedení vývoje webu.

REST – architektonický styl, nikoli standard

REST není standard. Neuvidíte, že W3C vydává specifikaci REST. Neuvidíte IBM, Microsoft nebo Sun prodávat vývojářskou sadu nástrojů REST. Proč? Protože REST je jen architektonický styl. Tenhle styl nemůžeš zkrotit. Můžete to pouze pochopit a navrhnout své webové služby v tomto stylu. (Analogický s architektonickým stylem klient-server. Neexistuje žádný standard klient-server.)

Přestože REST není standard, používá standardy:

  • HTTP
  • URL
  • XML/HTML/GIF/JPEG/atd (Reprezentace zdrojů)
  • text/xml, text/html, image/gif, image/jpeg, atd (MIME Typy)

Klasický REST systém

Web je REST systém! Mnoho z těchto webových služeb, které používáte již mnoho let – služby objednávání knih, vyhledávací služby, online slovníkové služby atd. – jsou webové služby založené na REST. Bohužel jste používali REST, budovali REST služby a ani jste o tom nevěděli.

REST se zabývá “velkým obrazem” webu. Nezabývá se detaily implementace (např. používání Java servletů nebo CGI k implementaci webové služby). Podívejme se tedy na příklad vytvoření webové služby z „velkého obrázku“ REST.

Webové služby skladu dílů

Parts Depot, Inc (fiktivní společnost) nasadila některé webové služby, aby svým zákazníkům umožnila:

  • získat seznam dílů
  • získat podrobné informace o konkrétní části
  • odeslat nákupní objednávku (PO)

Podívejme se, jak je každá z těchto služeb implementována klidným způsobem.

Získejte seznam dílů

Webová služba zpřístupní adresu URL zdroje kusovníku. Klient by například použil tuto adresu URL k získání seznamu dílů:

http://www.parts-depot.com/parts

Všimněte si, že „jak“ webová služba generuje kusovník, je pro klienta zcela transparentní. Klient ví pouze to, že pokud odešle výše uvedenou adresu URL, vrátí se dokument obsahující seznam dílů. Vzhledem k tomu, že implementace je pro klienty transparentní, může Parts Depot upravit základní implementaci tohoto zdroje, aniž by to mělo dopad na klienty. Toto je volné spojení.

Zde je dokument, který klient obdrží:

<?xml version="1.0"?>
<p:Parts xmlns:p="http://www.parts-depot.com" 
         xmlns:xlink="http://www.w3.org/1999/xlink">
      <Part id="00345" xlink:href="http://www.parts-depot.com/parts/00345"/>
      <Part id="00346" xlink:href="http://www.parts-depot.com/parts/00346"/>
      <Part id="00347" xlink:href="http://www.parts-depot.com/parts/00347"/>
      <Part id="00348" xlink:href="http://www.parts-depot.com/parts/00348"/>
</p:Parts>

[Předpokládejme, že prostřednictvím vyjednávání obsahu služba určila, že klient chce reprezentaci ve formátu XML (pro zpracování mezi stroji).] Všimněte si, že seznam součástí obsahuje odkazy na získání podrobných informací o každé součásti. Toto je klíčová vlastnost REST. Klient přechází z jednoho stavu do druhého tak, že prozkoumá a vybere z alternativních adres URL v dokumentu odpovědi.

Získejte podrobná data dílů

Webová služba zpřístupňuje URL pro každý zdroj součásti. Zde je příklad, jak klient požaduje část 00345:

http://www.parts-depot.com/parts/00345

Zde je dokument, který klient obdrží:

<?xml version="1.0"?>
<p:Part xmlns:p="http://www.parts-depot.com"   
        xmlns:xlink="http://www.w3.org/1999/xlink">
      <Part-ID>00345</Part-ID>
      <Name>Widget-A</Name>
      <Description>This part is used within the frap assembly</Description>
      <Specification xlink:href="http://www.parts-depot.com/parts/00345/specification"/>
      <UnitCost currency="USD">0.10</UnitCost>
      <Quantity>10</Quantity>
</p:Part>

Znovu pozorujte, jak jsou tato data propojena s dalšími daty – specifikaci této části lze nalézt procházením hypertextového odkazu. Každý dokument s odpovědí umožňuje klientovi procházet a získat podrobnější informace.

Odeslat PO

Webová služba zpřístupňuje adresu URL pro odeslání objednávky. Klient vytvoří dokument instance PO, který odpovídá schématu PO, které Parts Depot navrhl (a zveřejnil v dokumentu WSDL). Klient odešle PO.xml jako datovou část HTTP POST.

Služba PO odpoví na HTTP POST s URL na odeslanou PO. Klient tak může objednávku kdykoli poté načíst (pro aktualizaci/editaci). PO se stala informací, která je sdílena mezi klientem a serverem. Sdíleným informacím (PO) je přidělena adresa (URL) serverem a jsou vystaveny jako webová služba.

Logické adresy URL versus fyzické adresy URL

Zdroj je koncepční entita. Reprezentace je konkrétním projevem zdroje. Tato adresa URL:

http://www.parts-depot.com/parts/00345

je logická adresa URL, nikoli fyzická adresa URL. Není tedy třeba, aby pro každou část byla například statická HTML stránka. Ve skutečnosti, pokud by existoval milion částí, pak by milion statických HTML stránek nebyl příliš atraktivní design.

[Podrobnosti implementace: Parts Depot by mohl implementovat službu, která získává podrobná data o konkrétním dílu pomocí Java Servlet, který analyzuje řetězec za názvem hostitele, používá číslo dílu k dotazu na databázi dílů, formuluje výsledky dotazu jako XML a pak vraťte XML jako datovou část odpovědi HTTP.]

Pokud jde o styl, adresy URL by neměly odhalovat použitou techniku implementace. Musíte mít možnost svou implementaci změnit, aniž byste ovlivnili klienty nebo měli zavádějící adresy URL.

Charakteristika webových služeb REST

Zde jsou vlastnosti REST:

  • Klient-Server: styl interakce založený na stahování: náročné reprezentace vytažení komponent.
  • Bezstavový: každý požadavek od klienta k serveru musí obsahovat všechny informace nezbytné k pochopení požadavku a nemůže využívat žádný uložený kontext na serveru.
  • Cache: pro zlepšení efektivity sítě musí být možné odezvy označit jako cacheable nebo non-cacheable.
  • Jednotné rozhraní: ke všem zdrojům se přistupuje pomocí obecného rozhraní (např. HTTP GET, POST, PUT, DELETE).
  • Pojmenované zdroje – systém se skládá ze zdrojů, které jsou pojmenovány pomocí URL.
  • Vzájemně propojené reprezentace zdrojů – reprezentace zdrojů jsou vzájemně propojeny pomocí URL, což umožňuje klientovi postupovat z jednoho stavu do druhého.
  • Mezi klienty a zdroje lze vložit vrstvené komponenty – prostředníky, jako jsou proxy servery, cache servery, brány atd., aby podpořili výkon, bezpečnost atd.

Principy návrhu webových služeb REST

1. Klíčem k vytvoření webových služeb v síti REST (tj. webu) je identifikovat všechny koncepční entity, které chcete vystavit jako služby. Výše jsme viděli několik příkladů zdrojů: seznam dílů, podrobná data dílů, nákupní objednávka.

2. Vytvořte URL pro každý zdroj. Zdrojem by měla být podstatná jména, nikoli slovesa. Nepoužívejte například toto:

http://www.parts-depot.com/parts/getPart?id=00345

Všimněte si slovesa, getPart. Místo toho použijte podstatné jméno:

http://www.parts-depot.com/parts/00345

3. Rozdělte své zdroje do kategorií podle toho, zda klienti mohou pouze obdržet reprezentaci zdroje, nebo zda klienti mohou zdroj upravit (přidat k němu). V prvním případě zpřístupněte tyto prostředky pomocí HTTP GET. Pro pozdější zpřístupnění těchto zdrojů pomocí HTTP POST, PUT a/nebo DELETE. 4. Všechny zdroje dostupné přes HTTP GET by měly být bez vedlejších efektů. To znamená, že zdroj by měl pouze vracet reprezentaci zdroje. Vyvolání prostředku by nemělo vést k úpravě prostředku. 5. Žádný muž/žena není ostrov. Stejně tak by žádná reprezentace neměla být ostrovem. Jinými slovy, umístěte hypertextové odkazy do reprezentací zdrojů, abyste klientům umožnili získat další informace a/nebo získat související informace.6. Navrhněte postupné odhalování dat. Neodhalujte vše v jediném dokumentu s odpovědí. Chcete-li získat další podrobnosti, zadejte hypertextové odkazy. 7. Zadejte formát dat odezvy pomocí schématu (DTD, W3C Schema, RelaxNG nebo Schematron). U služeb, které vyžadují POST nebo PUT, poskytněte také schéma pro určení formátu odpovědi. 8. Popište, jak mají být vaše služby vyvolány pomocí dokumentu WSDL nebo jednoduše dokumentu HTML.

Souhrn

Tento článek popsal REST jako architektonický styl. Ve skutečnosti je to architektonický styl webu. REST popisuje, proč web dobře funguje. Dodržování zásad REST zajistí, že vaše služby budou dobře fungovat v kontextu webu. V příštím článku budu psát o vývoji webu pomocí principů REST.

Potvrzení

Děkuji Robertu Leftwichovi a Philipu Eskelinovi za velmi užitečné komentáře při vytváření tohoto dokumentu.

Reference

[1] http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

CSS obrázkové mapy

Original page: https://frankmanno.com/ideas/css-imagemap/

Frank Manno

Image MapsNíže je ukázková obrázková mapa, která je

Byla zveřejněna alternativa k pouze obrázkovým mapám CSS. Pokud hledáte snazší způsob vytváření obrázkových map zahrnujících jeden obrázek, možná vás bude zajímat četba CSS Image Maps, Redux

vytvořena výhradně pomocí CSS a XHTML. I když jsem přidal podporu pro Javascript (názvy položek jsou jednoduše zobrazeny pod obrázkem), v tomto příkladu jsem ji deaktivoval — narazil jsem na trochu problém, když je povoleno JS a zakázáno CSS (další podrobnosti níže).

Prvotní nápad přišel z příspěvku na blogu, který jsem si přečetl na blogu Giny Trappini, Scribbling.net. Její příklad byl dobře udělaný, ale chtěl jsem se pokusit o totéž (nebo podobné) pouze pomocí CSS.

Pak jsem našel odkaz na stránku The Daily Kryogenix (prostřednictvím příspěvku Giny), který vedl k obrázkové mapě, která používala lehčí DHTML a používala <title> značku k zobrazení poznámek o aktivním  bodu. Stále poněkud závislý na Javascriptu/DHTML.

Nakonec jsem se rozhodl využít  techniku posuvných dveří Douga Bowmana v  kombinaci s definičním seznamem (<dl></dl>).

Technika posuvných dveří vám umožňuje zahrnout všechny efekty převrácení obrázku do jednoho souboru obrázku a využít background-position vlastnost CSS k „posunutí“ obrázku v libovolném směru. Přidáním :hover efektu do vašeho CSS (v tomto případě do <a> tagu obsaženého v <dd> tagu) můžete posunout obrázek na požadovanou pozici.

Co jsem udělal, bylo vytvoření obrázkové mapy ve Photoshopu. Jak můžete vidět na tomto obrázku, mapa se skládá ze 3 kopií stejného obrázku, z nichž každá má jiné značení. Horní (1 ze 3) jednoduše označuje aktivní body čísly a prostřední a spodní obrázky (2 a 3 ze 3) obsahují efekty převrácení (bílá průhlednost). Možná se divíte, proč je efekt převrácení rozdělen do dvou samostatných obrázků. Důvodem oddělení je překrývání sousedních položek (tj.: monitor, notebook a disketa na stole). Namísto kolize mezi dvěma položkami byly efekty převrácení pro sousední položky rozděleny do více kopií stejného obrazu.

V zásadě to funguje tak, že název aktivního bodu položky umístíte do tagu definition-term (<dt></dt>) vašeho seznamu a za ním následuje popis do tagu definice-popis (<dd></dd>). CSS pak skryje definiční výraz (který se skutečně používá, když je CSS zakázáno), stejně jako popis definice (zobrazí se po najetí myší na kotvu) a zobrazí popis definice (v tomto případě popis aktivního bodu). (s), které jste vybrali pro svou obrázkovou mapu), a absolutně umístí a zobrazí popis při přejetí přes aktivní bod (také definovaný v CSS).

Kód také elegantně degraduje. <img> Tag, který zobrazuje verze, která není mapována mapy obrazu je skryta za použití CSS. Pro ty, kteří mají vypnuté CSS, se namapovaná verze obrázku (3dílný obrázek) nezobrazí, protože je součástí  background vlastnosti CSS. Spíše se zobrazí nenamapovaná verze spolu s nestylovaným seznamem definic. Pokud máte rozšíření Web Developer pro Firefox, pokračujte a deaktivujte styly. Získáte lepší představu o degradaci.

Ukázka kódu je zobrazena níže (zobrazit zdroj pro úplné CSS a XHTML):

CSS:

dd#monitorDef{ top: 65px; left: 114px; }
dd#monitorDef a{ position: absolute; width: 73px; height: 69px; text-decoration: none; }
dd#monitorDef a span{ display: none; }
dd#monitorDef a:hover{ position: absolute; background: transparent url(office.jpg) -109px -317px no-repeat; top: -10px; left: -5px; }

dd#monitorDef a:hover span{
 display: block;
 text-indent: 0;
 vertical-align: top;
 color: #000;
 background-color: #F4F4F4;
 font-weight: bold;
 position: absolute;
 border: 1px solid #BCBCBC;
 bottom: 100%;
 margin: 0;
 padding: 5px;
 width: 250%;
}

HTML:


<dl id="officeMap">
 <dt id="monitor">1. Monitor</dt>
 <dd id="monitorDef"><a href="#"><span>Here's my 17" Monitor.  I wish I had an LCD!</span></a></dd>
 <dt id="phone">2. Phone</dt>
 <dd id="phoneDef"><a href="#"><span>Does this thing ever stop ringing?</span></a></dd>
 <dt id="case">3. PC Case</dt>
 <dd id="caseDef"><a href="#"><span>This is my crazy Linux box! Gotta love that Linux...</span></a></dd>
 <dt id="notebook">4. IBM ThinkPad</dt>
 <dd id="notebookDef"><a href="#"><span>Here's my Linux notebook.  Some crazy coding going on.</span></a></dd>
 <dt id="floppy">5. External Floppy Drive</dt>
 <dd id="floppyDef"><a href="#"><span>Floppy Drive.  Ancient... I know!</span></a></dd>
</dl>

Funkční příklad si můžete prohlédnout níže (obrázek níže byl převzat z  The Daily Kryogenix):

I když to nemusí být „nejideálnější“ řešení, určitě rozšiřuje výše uvedené příklady. Naprosto se mi líbil Ginin nápad, a proto jsem se jej pokusil rozšířit. Bohužel se současnými omezeními CSS (stejně jako některých prohlížečů) jsem nebyl schopen plně replikovat přesnou funkčnost příkladu Giny.

Zde je příklad, který využívá CSS i Javascript. Jeden problém, na který jsem narazil, je, když je zakázáno CSS, ale je povolen Javascript. Se seznamem definic se stane něco divného. Pokud víte, jak to opravit, dejte mi vědět. Rád bych, aby to fungovalo.

Podařilo se mi narazit na další pokus o obrázkovou mapu založenou na CSS, která vypadá opravdu skvěle. Bohužel kvůli omezením IE (konkrétně pouze s podporou :hover vlivu na <a> tag) není kompatibilní s různými prohlížeči (zatím!).

Pokud máte nějaké dotazy, obavy a/nebo návrhy na zlepšení, neváhejte mi poslat poznámku: frankmanno [-at-] gmail [-tečka-] com nebo zanechte komentář na mém blogu.

Příklady byly úspěšně testovány v Safari, Firefox (Mac/Win), IE6/Win a Opera 7.5/Mac. Z nějakého zvláštního důvodu verze Javascript funguje v IE5/Mac, zatímco verze bez Javascriptu ne.

Copyright © 2004-2021 Frank Manno

Bezplatná multiplatformní databáze LibreOffice/ Open Office, “Base”

Original page: http://sheepdogguides.com/fdb/fdb1main.htm

© TK BoydSheepdog Software, 2/06-2/21.

Bezplatná multiplatformní databáze LibreOffice/Open Office, “Base”

(Má také články o dalších komponentách LibreOffice/ OpenOffice)

Za chvíli se dostaneme k nápovědě k databázi. 2016-2020 mě probudil k důležitější záležitosti. Pokud je vám to jedno a neúčastníte se jakékoli demokracie dostupné tam, kde žijete, jste spoluviníkem…

Bu gün dünyada ciddi bir səhv var

GOP-un Trampın diqqəti yayındırması ilə ABŞ-ı idarə etdiyi dörd il mənim üçün “oyanma” çağırışı oldu.

Mən “peşəkar siyasətçilərin” dünya xalqlarını döyüşən qruplara bölməkdə nə qədər irəli getdiyini gördüm. Siyasətçilərin və onların dostlarının xeyrinə demokratiyaları ələ keçirməkdə nə qədər irəli gediblər.

“Biz insanlar…” İngilis nəsrinin məşhur bir parçası açıldığı üçün işə qayıtmaq lazımdır. Geri Yaramazlar və oğru məğlub çalışan və alaraq bizim geri hökumətləri, onlara iş edilməsi bizim üçün.

Onları hazırda planetin qalan hissəsinin səfaləti ilə yaşayan kiçik qrupdan daha geniş bir cəmiyyət üçün xoşbəxt, sağlam, firavan həyatəəc.burk etəək.burmaq

Bu, faktlar barədə məlumatlı olmaqdan başlayır. Onlara sahib olanda isə səs verməlisən. Necə ola bilər ki, 2020-ci ilin noyabrında ABŞ-da səs verə biləcək hər üç nəfərdən biri səs vermədi? Etiraf edim ki, üzr istəyirəm, amma noyabr ayında keçirilən səsvermənin yalnız iki şübhəli namizəd arasında seçim olduğunu gördüm. Ümid edirəm ki, Bayden məni səhv etdiyini sübut edir, lakin o, təhlükəli dərəcədə güclü, etibarsız bir uşaqda – ABŞ-da böləülicha böləülələlələl O deyil ki, ABŞ siyasətçilərin təşviq etdiyi bölünmələrin olduğu yeganə yerdir. Əgər Praymerizdə bir neçə nəfərdən çox insan iştirak etsəydi və ya ekvivalenti harada olursa olsun, bəlkə milyonlarla insanın həyatını formalaşdarıran qbaq. Hansı ABŞ prezidentini iki böyük liderdən ibarət qısa siyahıya qoşulmağa layiq görürsünüz? Mən istehza ilə soruşmuram. Tarixi az bildiyim üçün soruşuram.

Zəfər tərəfdarı Demokratlar… ki, şükürlər olsun ki, hamısı deyil… 2016-cı ildə “O, mənim prezidentim deyil” deyən zaman nə hiss etdiklrlamalini. Demək olar ki, 2020-ci ildə səs verən insanların  yarısı bunu  whis edir. Onların yaralarına duz tökmək ağlı başındadırmı?

————–
İndi isə daha az mürəkkəb və əlbəttə ki, daha zövqlü məsələlərə…

LibreOffice? Open Office?


Kdybych dnes začínal od nuly, „šel bych do“ LibreOffice. Tento odkaz vás zavede na postranní panel o podobnostech a rozdílech, problémech.

Ať už používáte OpenOffice nebo LibreOffice, myslím si, že jste moudří a doufám, že moje výukové programy pro vás budou stejně užitečné jako pro ty, kteří používají jiný produkt.


Přehled…

…Příručky pro ovčáka Výukové programy o používání databází ke zlepšení života.

        První tři části ukazují, jak začít. Ušetří vám čas tím, že vám ukážou základy, které budete potřebovat, pokud chcete snadno pokročit v téměř jakémkoli aspektu práce s databází. (Je velmi neefektivní učit se používat databáze tak, jako jste se například naučili používat textový procesor. Jeden náhodný bit po druhém.)

Sekce označené hvězdičkou jsou součástí samostatné stránky, na kterou vás odkaz přenese. Níže uvedené shrnutí se tam opakuje, takže bude snadné se sem vrátit, pokud budete chtít později navštívit některou ze zde uvedených sekcí.

MainPrjtMgmtWinMain Libre Office Base project manager window

   Dəstəkləyici materiallar
   Bu giriş dərslərindəki materialları keçdikdən sonra aşağıdakılara maraq göstərən hər şeyə keçməyə hazır olmalısınız.
A pak jsou tu tyto šance a konce…Main Open Office Base project manager window

Můžete si všimnout, že odkazy v tomto odkazu vás zavedou na httpS://wywtk.com/… (A odkazy odtud vás zavedou zpět sem (http(no S)://SheepdogGuides.com/…)

Ovládám obě stránky. Ani jeden vás nepožaduje žádné informace, takže bych tvrdil, že prvek „S“ není problém. Víte, co by mě stálo získat certifikát “S” SheepdogGuides.com? Pokud za to chcete platit roční poplatek, rád přijmu vaši podporu.


Snažím se, aby mé stránky byly přátelské k prohlížeči. Změna velikosti okno prohlížeče, takže je stejně široká jako byste si to přejí. Text bude pěkně plynout. V úzkém okně se to čte snadněji… a zbytek obrazovky bude volný pro vaše základní cvičení! Chcete-li změnit velikost textu ve Firefoxu a dalších dobrých prohlížečích, podržte stisknutou klávesu Ctrl (“ctrl”) a stiskněte znaménko plus, znaménko mínus nebo nulu. Tento a další dobrý tip vysvětlený na mé stránce Power Browsing!

Chcete-li tyto stránky pochválit, použijte prosím Facebook Likes atd.?

V horní části téměř každé stránky jsou tlačítka, pokud nepoužíváte kontejner Facebooku Firefoxu. Nebo zmínit tyto stránky v diskuzích na fóru?

Pokud tyto věci nikdo nečte, nemám moc důvodů je aktualizovat, nebo psát další. (To je vaše zpráva pro mě?) A nikdo je nečte, pokud o nich neslyší. Vyhledávání Google vychází vstříc masám. A masy používají chytrý telefon a mají 15sekundovou pozornost. Tyto stránky nejsou pro toto publikum.


První sekce:

Jste na Base nový? Pokud ano, doporučujeme vám začít s tutoriály v této části. Poskytnou vám prohlídku s omezeným opakováním a překrýváním. Skočte si, chcete-li, ale dělat je postupně může být produktivnější.

Pokud jste svůj software ještě nenainstalovali, některé poznámky k instalaci Libre Office by mohly stát za váš čas. Něco podobného se plánuje pro LibreOffice, ale postup je v podstatě stejný. Buďte opatrní, abyste nainstalovali správnou Java RTE. Pokud máte 64bitový LibreOffice, potřebujete 64bitový Java RTE. Pokud máte nedávno nainstalované nastavení, které vypadá, že funguje, ale někdy se chová zvláštně, podívejte se na právě zmíněný průvodce „instalací“.
= = = = = =

Whirlwind Tour. Tento tutoriál není typický pro to, co píšu. Ale trvá vám to poměrně rychle, i když „dělat věci“. Pokud to půjde příliš rychle, nezoufejte… Podrobněji jsem věci vysvětlil jinde. V této svižné prohlídce vytvoříte malou tabulku a spustíte jednoduchou zprávu. Z výukového programu si můžete stáhnout kopii databáze, kterou výukový program vytvoří, což vám ušetří čas při zadávání dat a zajistí, že žádné překlepy nebudou bránit fungování vaší kopie.

Práce s databázemi: úvod. Pracovali jste s Access, dBase, Paradox atd.? Možná byste to mohli přeskočit… ale je to krátké. Asi bude nejlepší si to pro jistotu prolistovat. Pokud ji nepotřebujete, měli byste ji rychle přečíst. Pokud to nedokážete přečíst rychle… potřebujete to!

Nainstalovali jste Libre Office… čímž získáte jeho databázi. Funguje to… většinou… ale… Data ve formuláři nelze upravovat, nebo je něco jiného „jen divné“. Tato stránka vám poskytuje stručné poznámky o tom, že Base potřebuje Java engine, a odkazy na další nápovědu k nastavení po instalaci. (V databázi Libre Office není mnoho „problémů“, ale nebyli byste první, kdo se s touto nepříjemností setkal. Snadno se s tím vypořádáte.)

„Formulář je „pouze pro čtení“, nemohu jej upravovat“. Toto je běžná starost nových uživatelů. Vy můžete upravovat svá data! (Vyzkoušejte to a uvidíte!) Ale „nemůžete“ upravovat formulář. Přečtěte si tuto krátkou poznámku, abyste se dozvěděli, že můžete změnit vzhled formuláře.

Aktualizace Libre Office. Krátké poznámky o tom, jak mi před dlouhou dobou mechanismus zabudovaný do Open Office 2.x hladce fungoval, když jsem upgradoval počítač s Windows na verzi Open Office 3.0.0. (Nyní jsem v Libre Office, aktualizace pro obě sady mi léta fungovaly dobře.)

Instalace Ubuntu Linux OpenOffice (a jeho databáze). (Psal jsem to dávno před rokem 2020. Pravděpodobně je to „mrtvý“ problém! Nevím, jestli to má nějaký význam pro Libre Office.) Pokud vám Base běží hladce, můžete tuto stránku přeskočit… ale zkusili jste použít Průvodce formulářem? Tato stránka se také zabývá problémy Java Engine.

Jednoduchá tabulka adresáře (jména, adresy a telefonní čísla): Jen abychom mohli začít.

Typy polí/Datové typy: Stručné slovo o typech dat, známých také jako typy polí, které vám pomohou při nastavování tabulek. (Ve  sbírce „Rozpravy“ je také delší diskuse.)

Alternativní způsob vytváření tabulek: Tento, který se týká vytváření tabulek pomocí přístupu Design View, nemusíte číst. Ale když jste mimo fázi nováčků, vyzkoušejte návrh stolu přes Design View? (Doporučujeme i dobrodružným nováčkům.)

Jednoduchý formulář: Správa dat adresáře pomocí formuláře, což je ten  správný  způsob. ( Výukový program „Používání formulářů (s ozdůbkami) “ pokrývá také používání formulářů… do větší hloubky. Pokrývá také některé další materiály.)

Jednoduchý dotaz: První pohled na dotazy pomocí dat adresáře.

Primární klíče: Krátké poznámky k něčemu, co musíte udělat pro každou tabulku: zahrňte primární klíč. Další komentáře se objevují v mém výukovém programu druhé úrovně o primárních klíčích.

Dvě alternativy…

Tisk adresních štítků: Rychlý průvodce, přeskakující některé detaily.
Tisk (vybraných) adresních štítků: Rozšíření kurzu adresáře. Také pojednává o třídění a filtrování.

Používání formulářů (s ozdůbkami) Základní techniky, které byste měli ovládat. Tento návod vám doporučuji, ani ne tak kvůli informacím o vytváření formulářů, ale kvůli obecným informacím o tom, jak Base funguje. Pokud dokončíte tento tutoriál, měli byste se mimo jiné naučit, jak prezentovat tabulku s poli v požadovaném pořadí. Také vám ukáže, jak filtrovat, jaké záznamy se zobrazí. Všechno DOBRÉ! ( Výukový program „Jednoduchý formulář“ výše pokrývá také některé hlavní body tohoto návodu, ale méně obsáhle a bez ohledu na tolik vedlejších témat.)

Referenční integrita, vícetabulkové formuláře a dotazy, používání vztahů Toto jsou důležité pojmy… a organizace mých tutoriálů o nich je nedokonalá, proto jsem vytvořil „průvodce průvodci“, na který vás odkaz zavede!

Přejít na obsah stránky


Pobav mě prosím? (Nesouvisí s Open Office… o tom je více níže!)

Udělejte si chvilku a navštivte můj http://Flat-Earth-Academy.com? Jeho cílem je pomoci dětem (nebo dospělým, kteří ve škole chyběli!) se zájmem o vědu, vědět, jaké jsou otázky, získat „základní rámec“ znalostí, na kterém mohou stavět dobré porozumění. Žádný „cukr“, žádný log honosné grafiky nebo rozvržení stránky… jen nějaké koncentrované věci Good For You. Musí tu zůstat NĚJAKÉ lidé, kteří se nebojí „propracovat“ cestu k rozšíření svých znalostí? Také zmínil, že v každém příslušném fóru, které navštívíte, prosím? (Otevírá se na nové kartě nebo okně, takže se sem můžete vrátit pouhým zavřením.)

Navštivte http://Flat-Earth-Academy.com… prosím!

(Otevře se na nové kartě nebo okně)


Druhá sekce:

Zvažte je, až budete spokojeni s jednoduchými základními operacemi, které jsou popsány ve výukových programech v první části.

Vytvoření formuláře s vypočítaným polem: Důležitá dovednost, která procvičuje další základní dovednosti.

Více o vypočítaných polích: Tento tutoriál je nominálně o výpočtu vašich výnosů z prodeje na eBay a Amazonu. Přidáte záznam pro každý prodej a získáte dvě zprávy… jednu pro výnosy z prodeje na eBay, jednu pro výnosy z prodejů na Amazonu. Nemyslete si prosím: „Neprodávám online, tohle mi k ničemu není“.

Nemyslete si to, protože „odpověď“ pro prodejce ilustruje několik šikovných způsobů, jak přimět databáze kašlat na věci.

(Jsou zde dva přehledy, protože vzorce pro to, co získáte po prodeji na jednom z trhů, se liší od vzorců pro vaše výnosy z prodeje na druhém trhu.)

To není jedna věc „jak to udělat“. Ale znalost základních „tahů“ nestačí. To se zabývá několika věcmi „jak dělat“… ale také ukazuje, jak funkce spolupracovat.

Napsáno v červenci 2015, není tak dlouhé jako některé z mých tutoriálů a je také napsáno zručněji, což je přínosem pro práci, kterou jsem si dal před provedením tohoto!

Více tabulek, vztahy, referenční integrita: Napsáno 6/07… lepší než průměrný tutoriál… ale moje tutoriály týkající se vztahů „vyrostly jako topsy“, omlouvám se, takže jsem připravil průvodce různými tutoriály o vztazích.

Import tabulek z jiných míst, např. neZákladních databází: Zdá se, že jde o oblíbenou volbu. Pomůže vám s několika věcmi, včetně použití souborů CSV, abyste se vyhnuli přepisování dat. Pomůže vám migrovat z jiného správce databází, např. drahého Accessu. Alternativní cíle: Přesouvání věcí mezi aplikacemi Open Office a  Jak exportovat z Base do CSV. Mám pro vás také obecný úvod k souborům CSV (Comma Separated Values). Mimochodem, oddělovač není vždy čárka. Pokud chcete používat databázi Microsoft Access, mám pro vás také krátkou poznámku. A v neposlední řadě esej, která začala 19. 7. poměrně „rychlou palbou“ (pro mě) vysvětlení, jak připojit hromadu záznamů z externího zdroje do existující databáze. (V červenci 2019 jsem napsal novější esej pokrývající hodně ze stejného základu v poměrně „rychlém“ (pro mě) vysvětlení toho, jak připojit spoustu záznamů z externího zdroje do existující databáze)

Pro OPEN Office (od kterého odcházím): Alespoň v jednu chvíli jste potřebovali skvělé rozšíření Report Builder od společnosti Oracle, dříve Sun Microsystems: Rychlý úvod do základního použití. stránka také poskytuje informace „Jak nainstalovat“… ale myslím,  že  to už nepotřebujete? (Myslím, že je to nyní „standardní“, „vestavěný“ generátor zpráv.)

Pro LIBRE Office je derivát Oracle Report Builder dodáván se sadou „vestavěnou“.

„Registrace“ databází a vytváření záloh: Přečtěte si informace o zálohování vaší práce, pokud nic jiného. „Registrace“ pro mě zůstává mírnou záhadou, ale doufám, že tento návod vrhne trochu světla!

Omezení na tabulky: Udržování databáze bez špatných dat; předcházení neplatným datům.

ListBoxy a ComboBoxy: Další pomůcky, jak udržet tabulky bez špatných dat.

Referenční integrita, vícetabulkové formuláře a dotazy, používání vztahů Toto jsou důležité pojmy… a organizace mých tutoriálů o nich je nedokonalá, proto jsem vytvořil „průvodce průvodci“, na který vás odkaz zavede! Jeden z nich vytvoří databázi se dvěma tabulkami a vytvoří dotazy a formuláře pro extrahování informací z tabulek. Tento tutoriál nezahrnuje žádnou zprávu… „výsledkem“ je formulář, který shromažďuje vaše data do jednoho snadno použitelného okna.

Zobrazení polí z více tabulek v jednom dotazu: Použití spojení. Toto je neobvyklý návod. Pro začátek obsahuje úvod do nákupu a prodeje burzovních hovorů a puts. Dívá se na „větší“ projekt, než je typické v těchto tutoriálech. Je to dlouhé, ale doufám, že to stojí za to! Je také neobvyklé, že je zde odkaz umožňující stažení hotové databáze.

Databáze s obrázky, část 1… a některé obecné dovednosti: Údajným cílem tohoto tutoriálu je ukázat vám, jak vytvořit databázi s obrázky nebo diagramy v jednom z polí. I když vás to nezajímá, možná by stálo za to projít si výukový program pro některé obecné body o návrhu formuláře, které obsahuje. (Aktualizováno pro ooBase 3.2.1 a ORB 1.2.1)

Databáze s obrázky, část 2: Toto rozšiřuje část 1 a ukazuje vám, jak vytvořit databázi, která neuchovává své obrázky interně, ale pouze ukládá cestu k obrázku, který zůstává souborem mimo databázi. (Aktualizováno pro ooBase 3.2.1 a ORB 1.2.1)

Primární klíče: Další komentáře. Složené klíče. Kontrolní součty. Rozšiřuje komentáře uvedené v mém kurzu první úrovně o primárních klíčích.

Přejít na obsah stránky


Zeměkoule napravo mi pomáhá zjistit, zda tvorba těchto stránek stojí za ten

čas. Je interaktivní; hrajte si s tím, chcete-li. (Potom musíte použít tlačítko “zpět” vašeho prohlížeče, abyste se sem dostali.) Jediné informace, které systém zaznamená, je, kdy návštěvníci vstoupí na stránku a kde je jejich ISP připojil k internetu. (V mém případě je to v tuto chvíli 60 mil od místa, kde bydlím.)

To mi přijde jako bezplatná služba od RevolverMaps.com. Pokud víte, jak vložit HTML do svých vlastních webových stránek, lze jej snadno přidat.


Třetí oddíl:

Zvažte je poté, co budete spokojeni s mnoha věcmi v předchozích částech. Jsou to buď okrajová témata, nebo obtížná, vyžadující určitou základní zkušenost.

Použití SQL ke změně mnoha záznamů jedním jednoduchým příkazem: Jak změnit hodnotu v poli pro mnoho záznamů najednou. Můžete filtrovat, které záznamy se změní. Obecně užitečné, doufám, ale napsané a testované pod Libre Office 7.0.3.1 (x64) + vestavěným databázovým strojem Firebird. Psáno 21. 3.

„Jednoduchá“ sestava: Vybrané záznamy a zajištění jejich třídění: Přímý požadavek. Není to těžké… když víte jak. Což budete po přečtení tohoto poněkud neobvyklého (pro tutoriály na tomto webu) tutoriálu. (V tomto případě méně držím čtečku za ruku než obvykle.) Dáme dohromady malinkou databázi (Dvě pole, šest záznamů.) Vyberte z ní pár záznamů pomocí dotazu. A prezentujte je seřazené (podle zprávy) ve formátu přátelském k lidem. Na konci výukového programu je několik šancí na to, aby vaše zpráva byla „profesionální“. Psáno 14.9.

Funkce (sčítání, počet, minimum atd.) a seskupování: Není to můj nejdokonalejší návod! A namaluji se do rohu nebo dvou. Ale pokud vás zajímá, jak používat funkce v dotazech, může vám to pomoci. A pokud to oba zvládneme, stanou se možné některé velmi užitečné věci: Extrahování z databáze, například průměrné skóre 12letých dětí, které jsou v 7. třídě, když se pokoušejí o test z matematiky na čas. (Databáze by obsahovala skóre od mnoha dětí. Dotaz by poskytl tabulku „rozdělující a krájející“ data podle našich potřeb.) Použité techniky otevírají cestu k nalezení, ze skupiny záznamů, celkového (součtu), průměr, počet, nejvyšší individuální záznam, nejnižší, standardní odchylka. A to jsou jen funkce! Výukový program se také dotýká seskupování záznamů. Výukový program je dodáván s databází ke stažení s ukázkovými daty a předem zadanými dotazy, formuláři,

Dva stoly; jeden formulář: Použijte formulář… jeden formulář… pro prohlížení záznamů ve dvou tabulkách a úpravy, přidávání a odstraňování záznamů v tabulkách. Základní dovednost. Neměli byste pracovat přímo s tabulkami. (I když to mnozí z nás často dělají, abych byl upřímný. Povzdech.)

Přesouvání dat mezi aplikacemi Libre Office: Snadnější, než byste se mohli bát! Toto je jedno z okrajových témat.

Připojování záznamů z externího zdroje do existující databáze: Poměrně „rychlý“ (pro mě) esej. Vytvořeno v červenci 2019, je novější než mnoho zde uvedených tutoriálů a doufám, že odráží mé větší zkušenosti jako uživatele databáze a jako autora webu. Pokud na této mé stránce „obsah“ vyhledáte odkazy na „import“, najdete další stránky, které pro vás mohou být užitečné.

Kaskádové selektory… s datovými listy: Formulář s datovým listem se seznamem křestních jmen. Vyberete jednu. Když to uděláte, druhý datový list ve formuláři zobrazí všechny s tímto křestním jménem ve vaší tabulce „People“.

Kaskádové selektory: Druhá úroveň. Pomocí ListBoxu a obecně být chytřejší. Nejprve provede úlohu bez makra. Pak za cenu MALÉHO makra toto řešení vylepšíme.

Přejít na obsah stránky

Návod „Jak na to“:

Stránky v této sekci obsahují malé úryvky informací „jak na to“. Jsou méně „výukové“ než ty v předchozích částech.
= = = = =

Něco, co NEMŮŽETE: … alespoň ne s Libre Office: Přístup k serveru MySQL na serverech webhostingové společnosti „1and1.com“… ale já vám řeknu, jak můžete data z takových databází využít na svých webových stránkách prostřednictvím PHP.

Ale můžete použít databáze MySQL. Odkaz přenese ypu na začátek řady výukových programů, kde se vše poměrně snadno dostane na místo (jak takové věci chodí), pokud je váš databázový server MySQL (kde bude databáze) na stejném počítači jako vy používají Base on. Je to velké téma, ale proveditelné. Moje stránky začínají obecně průvodcem práce klient/server.

Používání serveru MySQL s LibreOffice / OpenOffice… jakmile budete mít server MySQL na svém místě. (Abyste toho dosáhli, viz výše.)

Použití dat v záznamech k výběru záznamů: Pokud vaše databáze obsahuje data uložená v datovém typu „datum“, vzniká několik „zajímavých“ důsledků. Tento „jak na to“ vám ukazuje, jak vytvořit dotazy pro extrakci záznamů na základě dat v nich.

Použití jednoduchých textových souborů k připojení více záznamů: Krátké a sladké… a tento proces také funguje docela dobře. Zadejte více záznamů do jednoduchého textového souboru (CSV) a „odešlete“ tyto záznamy do tabulky ve vaší databázi, tj „připojte“.

Přesouvání dat z tabulky do databáze: „Špatný“ návod – nevysvětluje, nerozumíte tomu, co děláte… ale může vám dát odpověď „klikněte na toto“, pokud je to vše, co chcete. Připravuje cestu pro…

Jednoduchý seznam adresátů – vytváření adresních štítků: Další „špatný“ tutoriál – nevysvětluje, nerozumíte tomu, co děláte… ale může vám dát odpověď „klikněte na toto“, pokud je to vše, co chcete.

Jak klonovat databázi Libre Office: Klonování datových tabulek, formulářů, dotazů, sestav a registrace klonu.

Sdílení dat: Jak předávat kopie databáze ostatním; jak používat na jiném počítači.

Vyhledání věcí v příručce: Existuje příručka? Kde to vzít!

Zřetězit pole: Změňte řetězce ze dvou nebo více polí do jednoho řetězce. Udělejte například „Jane“ a „Smith“ – > „Jane Smith“. Nebo dokonce „Smith, Jane“!

Přepínače pro formuláře : Přepínače jsou dobrým způsobem, jak uživatelům pomoci zadávat pouze platná data. Také uvádí příklad postupného vývoje… nástroj, který vás dostane tam, kde chcete být, spíše dříve než později. Méně spěchu, více rychlosti.

Použití DDE k synchronizaci dokumentů. DDE je vyspělá technologie pro sdílení dat mezi dokumenty a Libre Office ji má „jako standard“.

Nakreslete mapy se zeměmi vybarvenými podle údajů o nich. Existuje opravdu snadný způsob, jak dosáhnout skutečně působivých výsledků!

Export dat do souborů CSV: Způsob, jak to udělat pro jakoukoli aplikaci Libre Office. (Soubory CSV vysvětleny jinde.)

Opravit problémy s průvodcem formulářem pro Linux: Zdá se, že v jednu chvíli došlo k problému s Průvodcem formulářem se základnou nainstalovanou Ubuntu. Problém může stále existovat. Snadno opraveno, ale „oprava“ může přinést další problémy… Nejsem dost odborníkem na Ubuntu, abych o tom věděl… ale v omezených testech jsem jiné problémy neviděl.

Vytvořte pole s automatickým přírůstkem: Pomocí funkce AutoValue vytvořte pole, která za vás vyplní počítač. Užitečné pro primární klíče, sériová čísla atd.

Change Auto-increment Start: Máte pole s AutoValue nastavenou na true? Chcete změnit číslo, které bude použito pro další záznam? Tento „Jak na to“ vám řekne, jak na to… a je to snadné!

Přejít na obsah stránky


Pojmenování dílů:

Některé „ilustrace“ na podporu mnoha dalších stránek na tomto webu. Jsou čitelné samy o sobě a často se na ně odkazuje, zejména v úvodních tutoriálech.

(Takže, Hagope Merjiane, něco si pamatuji z hodin angličtiny před 40 lety. No… kousky, které jsem si zapamatoval!) Pro ty z vás, kteří neznají „Pojmenování částí“ od Henryho Reeda, to stojí za návštěvu. Psáno o zkušenostech vojáka ve druhé světové válce, i když musím přiznat, že jsem si to pamatoval jako od Wilfreda Owena a první světové války. Pravděpodobně by se s několika změnami dalo použít téměř pro život každého vojáka.)

Ale ty, něžný čtenáři, asi nejsi voják, takže tady nebudu odbočovat k otočným čepům, které ve tvém případě nemáš, ani k ničemu jinému, co nemáš.

v v v v v v  – – –   . . . Témata     dílů . . .  - – -  v v v v v v

Základní hlavní okno projektového manažera: Popisuje hlavní okno, ze kterého normálně spravujete jakýkoli Base projekt. Někteří uživatelé databází Base, které vytvořili jiní, mohou být více obeznámeni s rozhraním Switchboard, ale většina uživatelů bude normálně pracovat prostřednictvím zde popsaného okna, které obvykle nazývám „okno hlavního správce projektu Base“.

„Hraní s panely nástrojů: Obecná poznámka k panelům nástrojů. Prosím, prolistujte, jen abyste se ujistili, že víte všechno, co si myslím, že většina lidí ví o panelech nástrojů obecně. Včetně zobrazení/skrytí. Dokování/odpojování. Přizpůsobení..

Panely nástrojů „Ovládací prvky formuláře“ a „Další ovládací prvky“: Jak k nim získat přístup.

Tlačítko „Zapnutí/vypnutí režimu návrhu“ a okno Form Navigator: Dva důležité nástroje pro návrháře. Nepleťte si navigátor formuláře s obecnějším navigátorem, který můžete spustit klávesou F5.

Přejít na obsah stránky


OBECNÉ Kurz „systému“ Libre Office:

Existuje několik věcí, které se ovládají v celé řadě modulů Libre Office. Nastavení zabezpečení spouštění maker je důležité. Tento odkaz vede k několika poznámkám o tom, co jsou makra a jak nastavit úroveň zabezpečení instalace Libre Office. (Toto téma je důležité, i když si nejste vědomi používání maker.)


Kurz Libre Office Writer:

Chtěli jste někdy mít v dokumentu aplikace Writer „více vládců“? Máte tedy kousek uprostřed stránky svisle, tedy s jiným počtem sloupců? Snadné, když víte jak, což  vysvětlí tento tutoriál o rozložení stránky v Libre Office Writer.

Přejít na obsah stránky


Jiné zdroje… První sada mých „doporučených“ „jiných zdrojů“ začíná zde. To jsou ti, kterých si vážím nejvíce. (Další sady jsou na jiných stránkách)

(K   dispozici je také druhá sada odkazů, pokud níže uvedené odkazy nesplňují vaše přání. Otevřou se, jak je na mých stránkách obvyklé, na nové kartě. Stačí ji zavřít a vrátit se sem.)

———–
Pokud jste v databázích nováčkem, uvědomte si prosím, že jakkoli jsou výkonné, nebudete je moci ovládat tak snadno, jako jste při prvním řízení textových procesorů nebo tabulkových procesorů. Ale databáze STOJÍ za potíže, které budete muset podstoupit.

Pokud jste byli tesařským učedníkem, možná se přistihnete, že se budete muset naučit, že z kladiva není moc dobrý šroubovák. Kladiva fungují, ale existují lepší způsoby. Jaké prohlášení je zde, aby připravilo cestu: Vím, že tabulky mohou „dělat databáze“. Nemohou se ale dotknout toho, co můžete dělat se správným databázovým softwarem.

Mohlo by se vám vyplatit prostudovat si některé obecné stránky o softwaru pro správu relačních databází. (To je to, co většina z toho, čemu říkáme „databáze“… i když ne vždy  používáme „relační“ část… zpočátku!).

Existuje mnoho, mnoho dobrých stránek. To jsou některé, které se mi líbí.


Obecný průvodce pro práci s jakýmkoli správcem databází… Stojí za to navštívit… a znovu navštívit, jakmile budete chápat problémy.

Toto je jen jeden z mnoha. Doporučil bych všem novým začínajícím návrhářům databází, aby si přečetli obecné informace o tom, jak   obecně fungují relační databáze. Nenechte se utopit v podrobnostech žádného konkrétního softwaru. Přeskočte věci, které jsou příliš esoterické… najdete jich spoustu. Pokud najdete dobrý úvodní materiál, rád bych slyšel, kde to je, takže sem můžete dát odkaz.

Dobře nastavený průvodce některými konstrukčními problémy s odkazy na další informace a nápovědu: 24 chyb při návrhu databáze a jak se jim vyhnout


Když jsem s tím začátkem roku 2006 začínal, byl jsem nováčkem v OpenOffice, ale ne v počítačích nebo v psaní návodů na webu. Nyní (10/20) nějakou dobu používám Libre Office, „sestřenici“ Open Office, a nelituji přechodu. Používám vestavěný engine Firebird… a důrazně doporučuji, abyste na něj co nejdříve přešli, pokud stále používáte engine HSQL.

Zjistil jsem, že online fóra jsou pro mě nejužitečnějším zdrojem pomoci… téměř pro cokoli, nejen pro LibreOffice / Open Office. Mám pro vás stránku s mým aktuálním fórem a doporučeními dokumentace.

Pokud jde o LibreOffice, jsem tak nový, že pro vás nemám návrhy na jinou dokumentaci, tedy kromě „samozřejmého“ materiálu, na který jsem dal odkazy na svém aktuálním fóru a stránce s doporučeními dokumentace, zmiňovaný před chvílí.

Pro Open Office je moje stránka o manuálech pro ooBase.

—————–
Existují další výukové programy Open Office, které bych vám doporučil.

Pro Base vyzkoušejte následující…

Samozřejmě byste si měli přečíst vlastní Getting Started With ooBase (dokument PDF) OpenOffice … i když, bohužel, může být dost staré… stránka byla  stále  nadepsána „Začínáme s OpenOffice.org 2.x“, když jsem ji kontroloval v květnu 2020, a Base jsou ve verzi  4  již dlouhou dobu, dlouho před rokem 2015, a mezi Base 2.xa Base 4.x jsou velké rozdíly. Ale! Lidé z Open Office buď spí za volantem, nebo si myslí, že stále poskytuje dobré vodítko k obecným principům. Velká část mého nelehkého rozhodnutí, /20, přejít do Libre Office, je založena na zdánlivě klesající účasti lidí, kteří jej postavili, na úsilí Open Office.

Andrew Pitonyak má stránky s nápovědou na ooBase a další témata Libre Office a další témata!

Pro obecné výukové programy OpenOffice vyzkoušejte následující. (Omlouvám se… měl bych napsat něco podobného o příručkách specifických pro Libre Office. Pokud vám Google nemůže pomoci, i když používáte Libre Office, někdy mohou být užitečné materiály v příručkách Open Office.

Skvělý web se SPOUSTOU informací: „Výukové programy pro OpenOffice“

Pro další dobré věci OpenOffice, je k dispozici Souhrn příkazů hSQLdb, který je k dispozici na /www.hsqldb.org To je jen jedna kapitola z mnoha s informacemi relevantními pro Open-Office-Base. Špatnou zprávou je, že pochází z roku 2007… a HSQLB je obecně zastaralý koncept v komunitě LibreOffice Base. Přesouvali se na Firebird pro svou vestavěnou databázi již nějakou dobu k 20. 10.… Doporučil bych, abyste tento přesun provedli také co nejdříve. (OpenOffice nemá další známku jejich úpadku?)

Prosím…

Prosím, nežádejte odtud odkaz na váš web, pokud a) váš web již nemá odkaz na tento web a b) Wayback Machine mi neukáže, že váš web funguje déle než dva roky.

K dispozici je také druhá sada odkazů na další zdroje, pokud výše uvedené nesplnilo vaše přání.


Redakční filozofie

Nemám rád „efektní“ webové stránky, které se zabývají spíše okázalým vzhledem než dobrým obsahem. Pro hezký obrázek můžu jít do umělecké galerie. Ne každý má rychlé širokopásmové připojení.

Předkládám tento materiál ve formátu, jehož cílem je pomoci vám jej POUŽÍVAT. Má to dva aspekty: Způsob rozdělení a způsob zveřejnění. Podrobnosti na mé stránce o tom, jak je materiál rozdělen a jak je zaúčtován.

Pamatujte, že materiál je chráněn autorským právem. (TK Boyd, 2006 a později) Postupy na právě citované stránce jsou navrženy pouze pro pohodlné osobní použití materiálu, ale také…

Tyto informace klidně použijte v počítačových kurzech atd., ale ocenili bychom uvedení zdroje s uvedením URL. Pokud stránky jednoduše zkopírujete na jiné webové stránky, uděláte svým čtenářům medvědí službu: Vaše kopie nezůstanou aktuální. Daleko lepší je odkazovat na původní stránky a vaši čtenáři pak uvidí aktuální verze. Pro ty, které to zajímá – děkuji. Zveřejnil jsem stránku s více informacemi o tom, jaké výjimky z autorských práv rozšiřuji, a návrhy pro ty, kteří chtějí umístit tento materiál na CD atd. (Nejméně jedna věznice používá materiál pro vzdělávání vězňů. Existují situace, kdy je dobrý internet připojení není možné!)