Nové vývojové prostředí od společnosti Zend - Zend Studio 7 - je čerstvým přírůstkem do rodiny vývojových prostředí pro PHP. Specifikace vypadá velmi slibně, tak jsem se s nadějí rozhodl jej vyzkoušet, ochoten, v případně, že se mi bude líbit, obětovat za něj nějakých čtyři sta dolarů.
Byl jsem ochoten překousnout i fakt, že to je postavené na Eclipse, které nemám rád. Ostatně velikost ani konzumace paměti mě trápit nemusí a s většinou věcí v Eclipse bych se potýkat také nemusel, protože prostředí je výrazně přizpůsobené k obrazu Zendu.
Po zběžném vyzkoušení a několikadenním používání musím konstatovat, že se jedná o vcelku vyspělé vývojové prostředí, které nabízí hodně praktické funkčnosti. Na moje oblíbené NetBeans sice stále nemá, ale už se to lepší.
Narazil jsem však na dva problémy, které v mých očích brání praktickému použití. Oba jsou ve funkčnosti pro mě zcela klíčové - v doplňování kódu, které mi ohromně usnadňuje a urychluje práci.
První nevýhodou je rychlost - je to nechutně pomalé. Než se objeví nabídka s položkami k doplnění, stačím příslušný kus kódu (název proměnné, třídu, metodu, funkci) obvykle napsat rychleji celý ručně. Bylo by to použitelné jako nápověda pro začátečníka, ale jako nástroj šetřící psaní profesionálovi je to naprosto nepoužitelné. Ještě nutno podotknout, že mám Core2 Duo 2GHz a 3 GB RAM, takže počítačem to určitě nebude
Druhý problém je, že se v nápovědě k funkcím a metodám nezobrazují informace z PHPDoc (u vlastních funkcí a metod) či z manuálu (u vestavěných funkcí a metod). Člověk si samozřejmě nemůže pamatovat co přesně která funkce dělá a jaké má parametry, takže takováto nápověda je občas velmi praktická.
Takže prozatím stále zůstávám u Zend Studia 5.5, které sice nemá spoustu praktických funkcí (např. funkce pro refactoring by se mi občas velmi hodily), ale zato umí dobře a hlavně rychle doplňovat kód.
Publikováno 18.08.2009 13:31 v sekci Webdesign
Trvalý odkaz
Komentářů: 2 (Zobrazit komentáře)
Po čase teď mám trošku volna a nápady co dělat. Jedním z nich je zpřehlednění staré funkce pro parsování GPS souřadnic.
Nová verze neopravuje žádné nedostatky, ani nepřidává žádnou funkčnost - jednoduše z toho důvodu, že jsem (a ani nikdo jiný) nenalezl v původní funkci žádné chyby, které by bylo třeba opravovat, a rozšiřovat funkčnost dost dobře nejde.
Nová verze je tedy funkčně i algoritmicky zcela totožná s tou původní. Jedinou změnou je výrazné zpřehlednění zdrojového kódu.
Do budoucna ale vylepšení chystám - z funkce udělám třídu, rozdělím jí do více metod (což povede k dalšímu zpřehlednění kódu) a doplním jí o možnost nějaké rozumné a praktické práce s GPS souřadnicemi. Např. převod formátů, získávání jednotlivých složek či nějaké základní výpočty.
A tady je konečně slibovaný zdrojový kód:
/**
* prevod GPS souradnic od uzivatele na souradnice ve stupnich
*
* @param string $gps souradnice zadane uzivatelem
* @param boolean $toString vratit vysledek jako string misto pole floatu
* @param boolean $strict prevest jen presny format (jen zakladni korekce chyb - bile znaky navic, jiny format uvozovek; retezec nesmi obsahovat znaky nepatrici do GPS formatu)
* @param string $encoding kodovani vstupniho retezce
*
* @return array|string [sirka;delka] souradnice ve stupnich, nebo false pokud se souradnice nepodarilo prevest
*/
function gpsToFloat($gps,$toString=false,$strict=false,$encoding='utf-8'){
$ret = false;
//prevod na upper zjednodusi manipulaci se specifikaci polokoule
$gps = mb_strtoupper($gps,$encoding);
//generovani regularu - vyrazy pro sirku a delku jsou ekvivalentni
if( ! function_exists('gpsToFloatRegExp')){ function gpsToFloatRegExp($first=true){
return '(['.($first?'NS':'EW').'-])?
\s*
(?P<'.($first ? 'latSt' : 'longSt').'>\d{1,3}(\s*[\.,]\s*\d+)?)
\s*
(?('.($first? '3' : '9').')
°?
|
(?:
°\s*
(?:
(?(?<!\d)
(?P<'.($first ? 'latMin' : 'longMin').'>\d{1,3} (\s*[\.,]\s*\d+)?)
\s*
)
(?('.($first ? '5' : '11').')
[\'`´]?
|
(?:
[\'`´]\s*
(?:
(?(?<!\d)
(?P<'.($first ? 'latSec' : 'longSec').'>\d{1,3} (?:\s*[\.,]\s*\d+)?)
\s*(?:["“”]|(?:[\'`´]\s*[\'`´]))?
)
)?
)?
)
)?
)?
)
(?('.($first ? '1' : '7').') | \s*['.($first ? 'NS' : 'EW').']?)';
}}
$matches = false;
//pokus o precteni souradnic podle regularniho vyrazu - povede se, jestlize vstup je v nejakem "rozumnem" tvaru pripominajicim platny format
if(preg_match('#^\s*'.gpsToFloatRegExp().'\s+'.gpsToFloatRegExp(false).'\s*$#xu', $gps, $matches)){
//pretypovani na float
foreach (array('latSt','latMin','latSec','longSt','longMin','longSec') as $item){
$matches[$item] = $matches[$item] ? floatval(preg_replace('#[^\d\.]+#', '', str_replace(',', '.', $matches[$item]))) : 0;
}
//prepocitani na stupne
$ret = array(
$matches['latSt'] + $matches['latMin']/60 + $matches['latSec']/3600,
$matches['longSt'] + $matches['longMin']/60 + $matches['longSec']/3600
);
//upraveni znamenek souradnic podle znaku "-" nebo znaku oznacujiciho polokouli
$mFirstPos = mb_strpos($gps,'-',null,$encoding);
if($mFirstPos === 0 ||
$mFirstPos > 0 && $mFirstPos < mb_strpos($gps, $matches['latSt'], null, $encoding)
|| mb_strpos($gps, 'S', null, $encoding) !== false
){
$ret[0] = -$ret[0];
}
if($mFirstPos > 0 && $mFirstPos > mb_strpos($gps, $matches['latSt'], null ,$encoding)
|| mb_strpos($gps, '-', $mFirstPos+1, $encoding) > 0
|| mb_strpos($gps, 'W', null, $encoding) !== false
){
$ret[1] = -$ret[1];
}
// Jinak je-li povoleno dalsi prevadeni se pokusime vstup prevest na rozumnejsi tvar a preparsovat ho jeste jednou
} elseif( ! $strict) {
//vyhazeni znaku ktere v GPS souradnicich nemaji co delat
$gps = trim(preg_replace(array('#[^\d\.\,SW-]#u','# +#u','# *\. *#u'), array(' ',' ','.'), $gps));
preg_match_all('#[\d]+(?:[\.,][\d]+)?#u', $gps, $matches);
$count = count($matches[0]);
//vstup lze jednoznacne prevest jen pokud obsahuje lichy pocet cisel nebo desetinnou tecku v jine skupine nez posledni
if($count==2 || $count==4 || $count==6 ||
( mb_strpos($gps, '.', null, $encoding) < mb_strrpos($gps,$matches[0][count($matches[0])-1], null, $encoding)
&& mb_substr_count($gps, '.', $encoding) <= 2 )
){
//escapovani tecek pro pouziti v regularu a nahrazeni carek pouzitych jako oddelovac desetinnych mist teckami
$matches2 = array();
for($i=0; $i<count($matches[0]); ++$i){
$matches2[0][$i] = str_replace('.', '\.', $matches[0][$i]);
$matches[0][$i] = str_replace(',', '.', $matches[0][$i]);
}
//sestaveni regularu pro transformaci vstupu - z vstupu ponechame nalezena cisla, bile znaky a specifikaci polokoule v miste kde se muze nachazet a doplnime znaky jednotek, vse ostatni bude vyhazeno (po predchozi uprave zbyly znaky ktere mohou oznacovat polokouly nebo byt oddelovacem desetinnych mist)
$dels = array('°',"'",'"');
$pattern = '';
$replace = '';
if(mb_strpos($gps, '.', null, $encoding) || mb_strpos($gps, ',', null, $encoding)){
$j = 0;
for($i=0; $i < $count; ++ $i){
$replace .= $matches[0][$i].$dels[$j%3].' \\'.($i+2).' ';
$pattern .= '([ '.( $i==0 ? 'S-' : ($j==0 ? 'SW-' : '') ).']*).*?'.$matches2[0][$i];
if(mb_strpos($matches[0][$i], '.', null, $encoding)){
$j = 0;
} else {
++ $j;
}
}
} else {
for($i=0; $i<$count; ++$i){
$replace .= $matches[0][$i].$dels[$i%($count/2)].' \\'.($i+2).' ';
$pattern .= '([ '.( $i==0 ? 'S-' : ($i==$count/2 ? 'SW-' : '') ).']*).*?'.$matches2[0][$i];
}
}
//pokusime se preparsovat upraveny retezec ve strikt modu (byl-li platny, prevedl se na standardni format a pujde prevest)
$ret = gpsToFloat(
$count==2 ? $gps : preg_replace('#^.*?'.$pattern.'.*?([ W]*).*?$#u','\\1 '.$replace,$gps),
$toString,
true,
$encoding
);
}
}
// vratime vysledne pole, nebo false pokud se retezec nepodarilo prevest nebo jsou souradnice mimo povoleny rozsah
return ( ! $ret || $ret[0]>180 || $ret[0]<-180 || $ret[1]>180 || $ret[1]<-180)
?
false
:
($toString ? $ret[0].' '.$ret[1] : $ret);
}
Publikováno 10.08.2009 22:02 v sekci Webdesign
Trvalý odkaz
Komentářů: 3 (Zobrazit komentáře)
Po cca roce a půl jsem se konečně dostal k tomu zveřejnit svůj ročníkový projekt – hru 16 vojáků implementovanou v jazyce Java.
Stránka s popisem a odkazy pro stažení. Dávám k dispozici kompletní materiály k aplikaci – spustitelný program, zdrojové kódy, zadání i dokumentaci.
Bohužel ne vše je napsáno tak dobře, jak bych si to představoval a jak bych to napsal dnes, ale to už tak bývá u školních projektů dodělávaných na poslední chvíli :) Upřímně za tu implementaci gui bych si měl dát pár facek, protože to je obzvláště zpracené, ale snad to alespoň poslouží jako odstrašující příklad.
Snad se to někdy někomu bude k něčemu hodit (třeba jako inspirace pro další studenty trápící se s podobným ročníkovým projektem). A když ne, tak se také nic nestane – ono to nic až tak světoborného není;)
Publikováno 10.08.2009 18:49 v sekci IT
Trvalý odkaz
Komentářů: 0 (Zobrazit komentáře)
V sobotu 9. 5. 09 proběhl v Havlíčkově Brodě historicky první seminář pro mladé webdesignéry. Konal se v počítačové učebně Centra Vysočiny a organizoval jsem ho já ve spolupráci s Centrem Vysočiny, jako součást aktivit navazujících na soutěž Mladý web Vysočiny.
Seminář byl celodenní s harmonogramem plánovaným od 10:00 do 17:00 a skládal se ze čtyř přednášek na různá témata. Nezanedbatelné množství svého času se nám rozhodlo věnovat celkem 13 lidí, tzn. kapacita byla téměř naplněna (strop byl, kvůli dispozicím učebny, stanoven na 15 lidí).
Co si tedy účastníci mohli poslechnout?
Odkazy na další informace z akce:
Moje první přednáška se povedla tak na půl. Vzhledem k rozsahu látky by bylo mnohem rozumnější udělat z tématu jednodenní monotematický seminář, k čemuž se do budoucna chystám. Na hodinu a půl toho bylo prostě moc, takže jsem vše projel tak letem světem a člověk neznalý JS toho asi mnoho nepobral. A samozřejmě jsem nestihl většinu praktických příkladů. V rámci možností to snad nebylo nejhorší, ale možnosti měly být lépe zhodnoceny. Určitě by bylo lepší přednášku zaměřit jen na představení schopností JS ve spojení s jQuery, kde bych vynechal praktickou část (příklady pro účastníky, které měli dělat sami, ale nebyl na to čas) a některou teorii.
Krajova přednáška o webhostingu byla výborná, řekl bych že z celého semináře byla asi nejlepší. Alespoň z mého pohledu - na druhou stranu jsem neviděl sebe a také zajímavost záleží na zaměření a znalostech posluchačů, ale minimálně po formální stránce (kvalita výkladu a prezentace, vystupování, řeč atp.) to zvládl na jedničku. Taktéž náplň byla zvolena velmi dobře - spousta dobře podaných zajímavých informací.
Tomášovi se nepodařilo moc vychytat délku a skončil po nějakých čtyřiceti minutách, ale na druhou stranu mluvil zajímavě a hlavně byl zábavný, což považuji za velké plus. A líbili se praktické ukázky moderních stylů designu. Celkově byla přednáška dobrá (obzvláště vzhledem k faktu, že předtím Tomáš nikde nepřednášel, alespoň myslím), ale chtělo to jít více do hloubky a tím i natáhnout délku.
S mojí druhou přednáškou jsem mnohem spokojenější než s první. Časově to vyšlo dobře a spíše jsem byl moc rychlý, neboť jsem skončil skoro o půl hodiny dříve. Původně jsem chtěl i tuto přednášku napůl praktickou, ale na rozdíl od JS jsem si včas uvědomil, že by se to nedalo stihnout. Nepříjemné bylo, že mi začal selhávat hlas (přeci jen nejsem zvyklý mluvit nahlas tak dlouho). A také jsem neukázal tolik příkladů, kolik jsem chtěl. Příště si to budu psát velkým písmem na velký papír umístěný na hodně viditelném místě, protože byla docela škoda je neukázat.
Celkově hodnotím akci jako velmi vydařenou a jsem s ní spokojen. I hodnocení účastníků jsou velmi pozitivní, stejně tak jako hodnocení ostatních přednášejících. Po organizační stránce proběhlo vše hladce, jednotlivé přednášky se také vydařily a nikde se nic nepokazilo. Nejhorší pro mě byla příprava na přednášky - je s tím spousta práce a trvá to několikrát déle než samotná přednáška
Příště se budu snažit jít spíše cestou úžeji tematicky zaměřených akcí. Zde byly programátoři i grafici a to není dobré - obzvláště pro grafika není přednáška o programování zrovna moc zajímavá.
Další akce je v plánu cca za měsíc až měsíc a půl. Už se na ní těším:)
Publikováno 12.05.2009 20:11 v sekci Webdesign
Trvalý odkaz
Komentářů: 0 (Zobrazit komentáře)
Je tomu přesně sedm dní co proběhlo v budově Krajského úřadu v Jihlavě slavnostní vyhlášení výsledků soutěže Mladý web Vysočiny, konkrétně ročníku 2009, což je v pořadí již třetí ročník.
Výsledky jsou na webu soutěže, zde je opakovat nebudu, spíše bych chtěl vyjádřit svůj subjektivní názor na průběh soutěže a zveřejnit pár postřehů.
Oproti minulému ročníku byl počet přihlášek vcelku žalostný - přihlášeno bylo jen 26 webů od 19 tvůrců, což není zrovna mnoho. To mne samozřejmě moc nepotěšilo, ale, bráno z té lepší stránky, alespoň neměla porota tolik práce:)
Naopak mne velmi potěšila kvalita přihlášených prací - v prvním ročníku byla cca třetina webů kvalitních, loni zhruba polovina a letos byly na slušné úrovni téměř všechny přihlášené weby. Takže v absolutních číslech obdobný počet jako loni - tzn. ubylo vlastně jen těch špatných webů.
Největším překvapením soutěže byl bezesporu Matouš Skála v kategorii mladších. Již loni předvedl co umí a obsadil první místo, s jeho letošním triumfem se to však srovnávat nedá - přihlásil tři weby a obsadil první tři místa. A to zcela zaslouženě, protože jeho práce je nesrovnatelná s jeho vrstevníky - klidně by se mohl měřit s vítězi kategorie starších.
Něco takového jsem vůbec nepředpokládal, takže pro příští rok budu muset drobně změnit pravidla, jinak hrozí, že opět všechny ceny získá Matouš:) Buď snížím maximální počet webů přihlášených jedním člověkem na dva, nebo se budou ceny udělovat nikoli webům, ale lidem (tzn. do pořadí by se autorovi počítal pouze nejlépe umístěný web) - o tom ještě budu muset popřemýšlet.
Letošní ročník byl první, ve kterém se neudělovali jen ceny za umístění v řebříčku sestaveném podle hodnocení poroty. Přibyly dvě další ceny a do budoucna jich možná bude více.
První byla cena Vysočina-news.cz, kterou obdržel čtvrtý v kategorii mladších, jehož dílo bylo v porovnání s dalšími místy v kategorii výrazně lepší, ale na normální umístění nedosáhl díky třem webům Matouše. Hlavním smyslem ceny je umožnit vstup do soutěže jiným subjektům, které budou moci mít „vlastní cenu" kterou udělí na základě svého vlastního uvážení.
Druhým rozšířením byla Cena sympatií, která byla udělena vítězům hlasování účastníků v každé z kategorií. Účastníci soutěže mohli dát svůj hlas třem cizím webům v každé kategorii které považovali za nejlepší. V prvních místech byly výsledky stejné jako výsledky odborné poroty, takže v tom byli sami soutěžící zajedno s porotou, ostatní pořadí je již odlišné.
Opět jsem k vyhlášení přiřadil osvědčený doprovodný program v podobě přednášek.Letos došlo k drobnému vylepšení - dal jsem soutěžícím možnost hlasovat pro několik témat, která mě na padla a přišla mi zajímavá (a které bych byl schopen odpřednášet sám, nebo včas zajistit přednášejícího). Jednoznačně vítězila témata obecná nad odbornými, nejvíce hlasů pak nasbíralo téma podnikání ve webdesignu a design a grafika.
První přednášku na téma podnikání ve webdesignu jako freelancer jsem přednášel já a snažil se při tom předat účastníkům informace, které by mohli využít při svém podnikání v oboru a své postřehy získané několikaletou praxí na různých pozicích od programátora na volné noze přes externího programátora až po interního zaměstnance. Ohlasy byly vcelku pozitivní, takže jsem snad byl alespoň trošku poslouchatelný:)
Krátkou přednášku měl letos i jeden z účastníků soutěže - Ondřej Nádvorník - který mluvil o projektech firmy Microsoft pro studenty.
Příběh třetí přednášky je hektičtější - naplánoval jsem přednášku o designu a grafice. Měl ji přednášet Tomáš Balog, jenže ten ve čtvrtek onemocněl a tak jsem musel na poslední chvíli shánět nějakou náhradu. Nakonec byl ochoten přijet Jiří Tvrdek a jeho přednáška byla výborná - ohlasy byly velmi pozitivní a já sám taktéž mohu potvrdit, že jeho přednáška byla dobrá a zaujala mne i když nejsem grafik. Jirka mluvil o tom, co musí kvalitní design splňovat, jak probíhá proces návrhu designu, o správném rozložení prvků na stránce, typografii, současných trendech v designu a o dalších zajímavých věcech.
Doufám, že příští rok soutěž opět proběhne dobře a hlavně, že se přihlásí více účastníků než letos...
Publikováno 31.03.2009 16:52 v sekci Webdesign
Trvalý odkaz
Komentářů: 0 (Zobrazit komentáře)
Používání termínu metodologie ve významu metodiky mne poslední dobou nadzvedává ze židle čím dál tím více. Ne, že by tento nešvar sám o sobě byl nějak obzvláště hrozný, to ne. Různých chyb terminologických, pravopisných či stylistických je kolem nás spousta, téměř každý je dělá (někdo více, jiný méně) a leckteré jsou daleko horší.
Pobuřuje mne však jeho rozšířenost. Je jej možno vidět, či slyšet, všude - v odborných článcích, v jinak kvalitních odborných knihách a zaznívá i z úst vysokoškolských vyučujících.
A přitom to je tak jednoduché:
Metodika (metoda) je souhrn postupů, pravidel, doporučení, nástrojů atp. k řešení nějakého problému.
Metodologie je vědní disciplína zabývající se metodami.
Ostatně již z přípony „logie", kterážto se v českém jazyce používá pro slova označující vědy (biologie, psychologie atp.), by mělo být vše jasné. Jenže není:)
Původ této záměny odhaduji na přejmutí z angličtiny, neboť tento nešvar se běžně vyskytuje i v anglických textech (použití methodology místo method). Překladatel to přeloží správně , ale že je to špatně již v originále ho nenapadne. No a ti ostatní to používají proto, že to někde četli či slyšeli a nepřemýšlí o skutečném významu tohoto termínu.
Takže až někdy budete chtít použít slovo metodologie, raději si to pořádně rozmyslete - s největší pravděpodobností chcete říci metodika...
Publikováno 06.03.2009 21:53 v sekci Úvahy
Trvalý odkaz
Komentářů: 0 (Zobrazit komentáře)
Jistě jste již mnohokrát měli formulář s políčkem, do kterého je povoleno zadat jen určité znaky (např. jen číslice, alfanumerické znaky bez diakritiky atp.). Nejlepší řešení je do takového pole uživateli vůbec nedovolit nevhodné znaky napsat.
Já většinu JavaScriptu píši s použitím knihovny jQuery, takže jsem tuto úlohu řešil ve spolupráci s ní.
Nejdříve jsem hledal vhodný hotový plugin, abych znovu nevynalézal kolo. Nalezl jsem jen plugin aphanumeric, který se bohužel ukázal být nepoužitelným. On totiž funguje tak, že filtruje nevhodné znaky na základě seznamů, ve kterých má napsané znaky, které jsou či nejsou číslem. Takže stačí napsat něco, co v seznamu není, třeba písmeno s diakritikou, a ejhle – filtr nefunguje. Z takového řešení se jistě každému lepšímu programátorovi udělá nevolno:)
Nefunkční řešení jsem nepotřeboval, na rozdíl od toho funkčního, takže nezbylo nic jiného, než si takový plug-in napsat sám. Zde je výsledek mého snažení:
/*
* jQuery onlyChars
*
* Plug-in ktery kontroluje, zda jsou ve formularovem policku jen povolene znaky a nepovolene odstrani.
*
*
* Priklady pouziti:
* $('form input').onlyChars('\\d'); - parametrem je seznam povolenych znaku ve formatu vhodnem pro tridu v regularnim vyrazu (v tomto pripade se pro filtraci pouzije regularni vyraz "[^\\d]")
*
* $('form input').onlyFloat(); - pouziti preddefinovanych filtru
*
*
* Copyright (c) 2008 Michal Kandr www.kandr.name
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* $Date: 2008-10-06 14:31:17 $
* $Rev: 1 $
*/
(function($){
$.fn.onlyChars = function(p) {
return this.each(function(){
$(this).keyup(function(e){
if(e.keyCode != 37 && e.keyCode != 39 && e.keyCode != 16){
//puvodni hodnota
var oldVal = $(this).val();
//zjisteni pozice kurzoru
var oldCurPos;
var field = this.jquery ? this[0] : this;
if('selectionStart' in field){
//Gecko
oldCurPos = field.selectionStart;
} else {
//IE
field.focus();
var r = document.selection.createRange();
if (r == null) {
oldCurPos = 0
} else {
var re = field.createTextRange();
var rc = re.duplicate();
re.moveToBookmark(r.getBookmark());
rc.setEndPoint('EndToStart', re);
oldCurPos = rc.text.length;
}
}
//vyhozeni nevyhovujicich znaku
$(this).val($(this).val().replace(new RegExp('[^'+p+']','g'),''));
var newVal = $(this).val();
//nastaveni pozice kurzoru na puvodni
if(oldCurPos > newVal.length){
oldCurPos = newVal.length+1;
}
if(newVal != oldVal){
--oldCurPos;
}
if(!$.browser.msie){
//Gecko
field.focus();
field.setSelectionRange(oldCurPos, oldCurPos);
} else {
//IE
var range = field.createTextRange();
range.move("character", oldCurPos);
range.select();
}
}
});
});
};
$.fn.onlyInt = function() {
return this.each(function(){
$(this).onlyChars('\\d');
});
};
$.fn.onlyIntS = function() {
return this.each(function(){
$(this).onlyChars('\\d+-');
});
};
$.fn.onlyFloat = function() {
return this.each(function(){
$(this).onlyChars('\\d,\.');
});
};
$.fn.onlyFloatS = function() {
return this.each(function(){
$(this).onlyChars('\\d,\.+-');
});
};
})(jQuery);
Filtrace funguje na základě regulárních výrazů, přesněji tříd znaků (udělat filtr na obecný regulární výraz by bylo řádově obtížnější), je to tedy naprosto spolehlivé. Dalším rozdílem oproti nalezenému řešení je filtrace až po vložení znaku. Což má sice nevýhodu v podobě objevení se znaku v políčku na krátký okamžik mezi vložením a vyfiltrováním (filtrování se neprovede okamžitě po vložení, prohlížeči chvíli trvá než zavolá filtrační funkci a provede ji), ale má to i velkou výhodu, a to funkčnost vkládání pomocí zkratky Ctrl+V (ta v plug-inu aphanumeric nefunguje).
Nejtěžší na celém skriptu ovšem nebyla samotná filtrace – to je jeden řádek kódu - ale zachování pozice kurzoru. Tuto úlohu řeší všechen ten kód kolem;)
Publikováno 17.01.2009 18:16 v sekci Webdesign
Trvalý odkaz
Komentářů: 0 (Zobrazit komentáře)
Jako již tradičně, i letos proběhne soutěž o nejlepší internetové stránky Mladý web Vysočiny, určená žákům základních a středních škol z kraje Vysočina. Snad mi prominete, že si dovoluji teprve třetí ročník nazvat tradicí, ale uznejte že to zní dobře:)
Pravidla soutěže jsou stejná jako byla loni, jediné co se mírně změnilo jsou data – posílat přihlášky je možno do 31. ledna 2009 pomocí k tomu určeného formuláře na webu soutěže.
Vyhlášení výsledků proběhne opět začátkem března v budově krajského úřadu v Jihlavě, ceny budou i tentokrát docela zajímavé a samozřejmě jsou v plánu osvědčené (tedy alespoň z mého pohledu, doufám však že nejen z mého;)) přednášky. Tentokrát by nás měl navštívit samotný Plaváček (alespoň mi to loni slíbil) a pokusím se přesvědčit ještě nějakou další zajímavou osobnost.
Oproti loňskému ročníku plánuji zvýšení interaktivity, konkrétně v podobě něčeho, co jsem pracovně nazval cenou publika. Tato cena bude udělena na základě hlasování samotných soutěžících, kteří si tak budou moci vyzkoušet, jaké to je být porotcem, i když jen ve velmi zjednodušené podobě.
Doufám, že oproti minulému ročníku opět vzroste jak kvantita tak kvalita přihlášených prací a budu se snažit aby to bylo lepší i ze strany nás, pořadatelů (loni už sice vše bylo zvládnuto myslím velmi dobře, ale prostor pro zlepšování je stále velký a je třeba ho využívat).
Publikováno 02.12.2008 20:15 v sekci Webdesign
Trvalý odkaz
Komentářů: 1 (Zobrazit komentáře)
…naprosto neužitečné, v praktickém životě zcela nepoužitelné, nepřicházející s ničím objevným a komerčně absolutně nezajímavé. Tedy něco čistě akademického - akademického v tom horším významu, nesoucím uvedené přívlastky).
Všechna vlastnická práva totiž zcela přecházejí na školu, a to ke všemu co během tvorby práce vznikne (ať je to zdrojový kód, text, studie, nápad, objev či cokoli jiného). Škola může s prací nakládat jak uzná za vhodné – může ji zveřejnit, použít při výuce nebo s ní dělat jakékoli jiné nechutnosti.
A chce-li autor svoji vlastní práci sám dále používat, musí se školy doprošovat. Přičemž dojde-li ke komerčnímu využití z jeho strany, musí to být podloženo smlouvou se školou. A ta má právo zcela legálně dotyčného vydírat a žádat po něm výpalné (pokud vím tak výše není zákonem přesně stanovena). Ano, předchozí slova jsou silná, ovšem podle mého názoru naprosto vhodná a výstižná.
A i kdyby se podařilo dojít k rozumné dohodě, případně se nepřišlo na porušení zákona (v tomto případě bych jakožto člověk velmi čestný a morální s porušením takového nesmyslu neměl sebemenší etický problém;)), stále tu zůstává právo školy nakládat s prací jak bude chtít. Myslím že netřeba zdůrazňovat co by zveřejnění zdrojových kódů znamenalo pro kvalitní komerční aplikaci.
Původně jsem chtěl spojit příjemné a užitečné s nutným a jako bakalářku udělat kvalitní a propracovaný CMS systém, který budu vyvíjet tak jako tak. Bohužel za těchto podmínek, při jejichž zjištění mi rozum nejen stál, ale téměř i couval, by to bylo čiré bláznovství.
Naštěstí mám v záloze další témata - on-line interpret Prologu v PHP/JS a interpret Loga kreslící ne na plochu ale na kouli. Případně by mohlo být zajímavé udělat nějaký jednodušší CMS (či jinou netriviální internetovou aplikaci) v Lispu. A nebo si vyberu z vypsaných témat – ale nic užitečného rozhodně dělat nebudu:)
Tímto mne akademický svět definitivně znechutil. Proč bych měl něco vyvíjet, vymýšlet, objevovat a řešit ve škole, která mi výsledky mé práce ukradne a jediné co mi za ně dá bude titul (který mohu snadněji získat vytvořením něčeho mnohem méně hodnotného – proto ten opovržlivý tón), když budu-li to samé dělat v nějaké firmě, dostanu za to spoustu peněz, dobré postavení a úctu (v případě vypracování nějaké opravdu zajímavé práce)?
Publikováno 30.09.2008 20:21 v sekci Výkřiky do tmy
Trvalý odkaz
Komentářů: 2 (Zobrazit komentáře)
Výprava do Beskyd ve složení dva programátoři a jeden právník úspěšně absolvovala významnou část plánované trasy, kterážto naštěstí nebyla plánem nýbrž pouhým odhadem, tudíž její nesplnění nelze rozhodně brát jako neúspěch, a bez větších ztrát dorazila do cíle a následně i domů.
Po klasickém úvodu v režii českých drah (půl hodiny zpoždění) jsme dojeli okolo půl páté odpoledne do Vsetína, kde nastal první závažný problém – dostat se z něj – způsobený z velké části absencí kvalitní mapy (ve stánku na nádraží jsem sehnal jen špatnou a málo podrobnou mapu) a utkvělou touhou jít po červené značce místo modré, kterou jsme potkali. Při této příležitosti jsme zmokli, vylezli na kopec, prodírali se lesy, loukami a ohradami s kravami abychom následně z kopce opět slezli a zbaběle se vydali po silnici.
První, asi čtvrthodinový, silný déšť jsme šťastně přečkali v autobusové zastávce – začalo pršet zhruba minutu poté, co jsme vlezli dovnitř a rozhodli se odpočinout si zde. I další deště se podařilo úspěšně zvládnout, i když mnohem dobrodružněji. Při hledání vhodného místa na přespání jsme narazili na další autobusovou zastávku a po chvíli sezení v ní opět začalo pršet. Po provedení analýzy situace jsme se rozhodli na zastávce zůstat a přespat zde. Bohužel její dveře nebyly moc funkční – okna byla vytlučená. A v prosklených stěnách také pár tabulek chybělo.
Jedinou možností bylo pověsit přes dveře celtu, jenže tu nebylo kam pověsit, tak kamarád musel vyrazit do lesa pro nějaký klacek – za cenu zmoknutí (pláštěnka moc nepomohla) jej přinesl a dveře i s rozbitou tabulkou vedle nich se podařilo opravit. Výsledkem našeho snažení byla celta přikolíčkovaná klacíky ke stropu a dole zapřená lavičkou – řešení zajímavé, leč funkční. Rozbitá okénka po stranách zastávky naštěstí moc nevadila, neboť jimi dovnitř nepršelo. Celkem jsme se za ten den doplácali pouze nějakých osm kilometrů od Vsetína.
Druhý den jsme se probudili o půl šesté – spaní to nebylo nijak zvlášť pohodlné (beton není zrovna měkký a karimatka to moc nezachránila), jezdila okolo auta a kokrhali kohouti. Byli jsme však vcelku svěží a svižným tempem vyrazili dál. Někdy před polednem jsme již seděli v restauraci v Rožnově pod Radhoštěm a obědvali.
Na odpoledne bylo v plánu zdolat Radhošť. Nebylo to nic jednoduchého – přeci jen jsme již něco ušli, táhli jsme batohy a cesta byla různá, jen ne po rovině. Ovšem podařilo se a v podvečer jsme stáli na vrcholu, kde jsme nakonec také zůstali. Těsně před začátkem deště jsme zapadli do Hotelu Radegast a po večeři a následné obhlídce počasí (obloha byla zatažená, až k obzoru hustě pršelo a všechno to šlo přímo na nás) v něm zůstali přes noc. Zcela v souladu se zákonem schválnosti hlavní vlna pršení šla jinudy, ale za pohodlné vyspání a hlavně sprchu to rozhodně stálo.
Ráno po osmé jsme pokračovali v cestě – navštívili sochu Radegasta, prošli přes Pustevny a Vyškrábali se na Tanečnici. Tento vrchol ještě šel snadno, daleko horší však byl Čertův mlýn, který nám dal dost zabrat a proti původnímu plánu zpomalil náš postup o dobré dvě hodiny (údaj v podobě vzdálenosti v kilometrech občas není vůbec vypovídající pro určení potřebného času). Přes Kněhyni jsme došli do Čeladné, kde jsme vydatně poobědvali v hotelu Čeladenka (především měli výbornou česnečku:)).
Vzhledem k pokročilé hodině (čtyři hodiny odpoledne) a ještě pokročilejší únavě (sestup byl náročný především na kolena) byl původní plán jít do Ostravice po červené přes Smrk vyhodnocen jako nerealizovatelný a změněn na rychlejší variantu jít po silnici po modré, kudy to bylo pouhých šest kilometrů po rovině místo sedmnácti přes kopce.
Odměnou za to nám bylo včasné dojití do Ostravice, nalezení vhodného místa pro přespání v lese kousíček od obce a výborná večeře v mé oblíbené restauraci v hotelu Freud.
V noci naštěstí nepršelo a lesní půda byla na rozdíl od betonu zastávky měkká a pohodlná, takže jsme se dobře vyspali a ráno vyrazili domů.
Další výlety jsou již předběžně naplánované, snad tedy letos konečně nebudu celé léto sedět doma u počítače jako vždy.
Publikováno 11.07.2008 11:51 v sekci Výkřiky do tmy
Trvalý odkaz
Komentářů: 0 (Zobrazit komentáře)