Top Questions - Pinu.eemost recent 30 from http://pinu.ee2010-09-07T14:07:23Zhttp://pinu.ee/feedshttp://www.creativecommons.org/licenses/by-nc/2.5/rdfhttp://pinu.ee/questions/401/php-abstract-classPHP abstract classkeevitaja2010-05-28T07:31:18Z2010-09-02T11:45:26Z
<p>Tere,</p>
<p>kas keegi viitsiks mulle php algajale seletada, mis on nende abstract classide mõte. kus neid kasutama peaks?</p>
http://pinu.ee/questions/445/javascripti-koodi-dokumenteerimineJavaScripti koodi dokumenteerimineAndris2010-09-01T21:09:25Z2010-09-02T11:43:36Z
<p>Milline on parim formaat JavaScripti koodi dokumenteerimiseks ja miks? JSdoc, PDoc, mõni muu või hoopis enda mõeldud standard? Ma ise kasutan PDoc formaati, kuid huvitab, et mida teised kasutavad ja eriti, et miks just nii.</p>
http://pinu.ee/questions/442/kolmanda-osapoolega-paypali-makselahenduskolmanda osapoolega PayPali makselahendusunknown (google)2010-09-01T15:26:26Z2010-09-01T19:57:51Z
<p>Hommikust!</p>
<p>Kas oskab keegi teadjatest kommenteerida PayPali API võimalusi?</p>
<p>Olukord järgmine: teenust pakkuval ettevõttel on veebirakendus, mis viib omavahel kokku müüjad ja ostjad. Teenusepakkuja soovib ennast kursis hoida, millistes summades ja kogustes tehingud toimuvad. Sisuliselt oleks teenusepakkuja veebirakendus see koht, kus müügitehingu eest tasumine algatatakse (müüja PayPali kontolt ostja omale) ja kuhu pärast eduka transaktsiooni lõppu tagasi tullakse. Teenusepakkuja huvi on saada PayPali serveri käest mingit laadi tehingukinnitus müüja ja ostja vahel toimunu kohta.</p>
<p>Sellist Osta.ee stiilis lahendust, kus raha kantakse kõigepealt Osta.ee kontole, mis siis omakorda konverteeritakse Osta.ee sisekrediidiks, tahaks pigem vältida.</p>
<p>Ehk et kas Paypal toetab niisugust varianti, kus tehingu pooled alustavad ja lõpetavad oma tehingu kusagil kolmandas veebikeskkonnas?</p>
http://pinu.ee/questions/300/wordpress-2-9-1-ja-rss-probleemWordpress 2.9.1 ja RSS probleemKaido Daniel2010-02-15T09:31:03Z2010-08-30T19:23:08Z
<p>Tervist!
Kõigepealt märgin ära aadressi ja selleks on siis <a href="http://www.kaidoblogi.pri.ee" rel="nofollow">www.kaidoblogi.pri.ee</a>.
Probleem seisneb siis selles, et ma ei saa RSS uudisvoos näidata uudiste kohta pikemat teksti. See ei aitand kui ma lugemisseadetest määran ära terve postituse näitamise. Ju tuleb wordpressi on core faili muuta aga äkki oleks kuidagi võimalik functions.php faili muuta kuna kui muuta core faili siis uuendusega läheks see kaotsi.
Loodetavasti saan abi :)
Tänud juba ette ära.</p>
http://pinu.ee/questions/432/java-mangu-vaikene-lagJava mängu väikene lagerti2010-07-25T20:24:12Z2010-08-26T06:23:04Z
<p>kas olete kokku puutunud?
nimelt kui hästi lähedalt vaadata siis mängija liikumisel ta mõnikord takerdub, selline tunne, et arvuti jääb korraks seisma, pilti ei renderdata..see pole muidugi väga hästi näha kuna java on oma olemuselt suhteliselt tuim.. kuid mida kiiremini mängija nn korraga liigub seda ilmsem on probleem.. olen proovinud erineva arvutiga/erinevaid mänge ning neil kõigil paistab sarnane viga olevat..seega otsustasin otsida arvamusi sellise asja kohta ning tuleb välja, et see on java viga juba suht ammu olnud ning ma ei ole nn 'delusional'..</p>
<p><a href="http://www.javagaming.org/index.php/topic,22762.0.html" rel="nofollow">http://www.javagaming.org/index.php/topic,22762.0.html</a></p>
<p>kas keegi teab ka äkki lahendust sellele?
olen üpriski kindel, et fullscreenis peaks asi töötama ilusasti ning testin ta lähiajal ära kah. kuid ikkagi kripeldab see, et kuidas on mõndades mängudes tehtud(ilma fullscreeni kasutamata)..</p>
http://pinu.ee/questions/337/mangud-programmeerijateleMängud programmeerijatele?egon2010-03-15T09:06:04Z2010-08-16T08:16:28Z
<p>Nimetage mänge, mis on ennekõike mõeldud programmeerijatele või sarnaselt mõtlevatele inimestele. Sellised mängud, mis eeldavad väga tugevat ajude ragistamist ning pea vastu lauda tagumist.</p>
<p>Üks mäng (või seeria) = üks vastus. Kirjeldage mängu miks ta sinna kategooriasse kuulub ning miks ta hea on.</p>
http://pinu.ee/questions/440/abipalve-seoses-phpgaAbipalve seoses PHPgaHuligaan2010-08-13T12:20:13Z2010-08-15T18:10:07Z
<p>Õpin omal käel PHP-d, vaja oleks abi 1 scripti korralikumaks tegemisel abi. Script koosneb hunnikutest if'idest. Vaja oleks abi IF'ide asemel millegi parema kasutamisel, aga endal puuduvad selleks oskused. Iga sugune abi, soovitused, manitsused on vägagi tere tulnud.
Saaks teha ka nii, et IF'ide sees on ainult väärtused ja lõpuks on ainult 1 mysql_query, mis lisab IF'ide seest saadud väärtused SQLi. </p>
<pre><code>if($_POST['positsioon'] == 'PG') {
if($_POST['kaal'] < '70' && $_POST['pikkus'] < '160') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('47','53').'", 2punkt="'.rand('52','56').'", 3punkt="'.rand('50','53').'", vabavise="'.rand('55','60').'", pealtpanek="'.rand('15','30').'", palli_käsitlus="'.rand('55','59').'", söötmine="'.rand('50','60').'", ründelaud="'.rand('30','40').'", kaitselaud="'.rand('40','45').'", blokeerimine="'.rand('15','23').'", vaheltlõige="'.rand('50','56').'", kaitse="'.rand('55','60').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('50','62').'", vastupidavus="'.rand('45','50').'", hüppevõime="'.rand('40','45').'", jõud="'.rand('35','40').'"') or die(mysql_error());
}
elseif($_POST['kaal'] < '80' && $_POST['pikkus'] < '175') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('52','55').'", 2punkt="'.rand('54','56').'", 3punkt="'.rand('50','53').'", vabavise="'.rand('55','60').'", pealtpanek="'.rand('35','45').'", palli_käsitlus="'.rand('55','59').'", söötmine="'.rand('50','60').'", ründelaud="'.rand('40','45').'", kaitselaud="'.rand('45','48').'", blokeerimine="'.rand('30','40').'", vaheltlõige="'.rand('50','56').'", kaitse="'.rand('55','60').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('50','62').'", vastupidavus="'.rand('50','53').'", hüppevõime="'.rand('30','39').'", jõud="'.rand('40','45').'"') or die(mysql_error());
}
elseif($_POST['kaal'] < '90' && $_POST['pikkus'] < '185') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('55','58').'", 2punkt="'.rand('54','56').'", 3punkt="'.rand('45','50').'", vabavise="'.rand('55','58').'", pealtpanek="'.rand('50','52').'", palli_käsitlus="'.rand('55','57').'", söötmine="'.rand('50','60').'", ründelaud="'.rand('45','50').'", kaitselaud="'.rand('50','52').'", blokeerimine="'.rand('40','45').'", vaheltlõige="'.rand('45','50').'", kaitse="'.rand('55','60').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('50','56').'", vastupidavus="'.rand('50','53').'", hüppevõime="'.rand('30','39').'", jõud="'.rand('50','52').'"') or die(mysql_error());
}
elseif($_POST['kaal'] > '90' && $_POST['pikkus'] <= '200') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('58','60').'", 2punkt="'.rand('56','59').'", 3punkt="'.rand('40','45').'", vabavise="'.rand('55','58').'", pealtpanek="'.rand('55','58').'", palli_käsitlus="'.rand('50','54').'", söötmine="'.rand('50','55').'", ründelaud="'.rand('50','53').'", kaitselaud="'.rand('53','55').'", blokeerimine="'.rand('40','45').'", vaheltlõige="'.rand('45','50').'", kaitse="'.rand('55','60').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('45','50').'", vastupidavus="'.rand('50','53').'", hüppevõime="'.rand('30','39').'", jõud="'.rand('52','55').'"') or die(mysql_error());
} else { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('58','60').'", 2punkt="'.rand('56','59').'", 3punkt="'.rand('40','45').'", vabavise="'.rand('55','58').'", pealtpanek="'.rand('55','58').'", palli_käsitlus="'.rand('50','54').'", söötmine="'.rand('50','55').'", ründelaud="'.rand('50','53').'", kaitselaud="'.rand('53','55').'", blokeerimine="'.rand('40','45').'", vaheltlõige="'.rand('45','50').'", kaitse="'.rand('55','60').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('45','50').'", vastupidavus="'.rand('50','53').'", hüppevõime="'.rand('30','39').'", jõud="'.rand('52','55').'"') or die(mysql_error());
}
}//miinimum kaal 60kg, maksimum pikkus 205cm
elseif($_POST['positsioon'] == 'SG') {
if($_POST['kaal'] < '70' && $_POST['pikkus'] < '160') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('50','54').'", 2punkt="'.rand('53','56').'", 3punkt="'.rand('52','54').'", vabavise="'.rand('55','60').'", pealtpanek="'.rand('15','30').'", palli_käsitlus="'.rand('55','59').'", söötmine="'.rand('50','60').'", ründelaud="'.rand('25','35').'", kaitselaud="'.rand('36','43').'", blokeerimine="'.rand('10','25').'", vaheltlõige="'.rand('50','56').'", kaitse="'.rand('55','60').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('50','64').'", vastupidavus="'.rand('45','50').'", hüppevõime="'.rand('40','45').'", jõud="'.rand('30','35').'"') or die(mysql_error());
}
elseif($_POST['kaal'] < '80' && $_POST['pikkus'] < '175') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('52','55').'", 2punkt="'.rand('54','56').'", 3punkt="'.rand('55','60').'", vabavise="'.rand('55','60').'", pealtpanek="'.rand('40','45').'", palli_käsitlus="'.rand('53','55').'", söötmine="'.rand('50','55').'", ründelaud="'.rand('40','43').'", kaitselaud="'.rand('43','46').'", blokeerimine="'.rand('25','35').'", vaheltlõige="'.rand('47','53').'", kaitse="'.rand('53','56').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('50','62').'", vastupidavus="'.rand('50','53').'", hüppevõime="'.rand('30','39').'", jõud="'.rand('40','45').'"') or die(mysql_error());
}
elseif($_POST['kaal'] < '90' && $_POST['pikkus'] < '185') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('55','58').'", 2punkt="'.rand('54','56').'", 3punkt="'.rand('45','50').'", vabavise="'.rand('53','56').'", pealtpanek="'.rand('50','52').'", palli_käsitlus="'.rand('50','53').'", söötmine="'.rand('50','53').'", ründelaud="'.rand('45','50').'", kaitselaud="'.rand('50','54').'", blokeerimine="'.rand('40','45').'", vaheltlõige="'.rand('44','48').'", kaitse="'.rand('55','60').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('50','56').'", vastupidavus="'.rand('50','53').'", hüppevõime="'.rand('30','37').'", jõud="'.rand('50','52').'"') or die(mysql_error());
}
elseif($_POST['kaal'] > '90' && $_POST['pikkus'] <= '194') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('58','60').'", 2punkt="'.rand('56','59').'", 3punkt="'.rand('40','45').'", vabavise="'.rand('52','56').'", pealtpanek="'.rand('55','58').'", palli_käsitlus="'.rand('50','54').'", söötmine="'.rand('50','55').'", ründelaud="'.rand('50','53').'", kaitselaud="'.rand('53','55').'", blokeerimine="'.rand('40','45').'", vaheltlõige="'.rand('40','45').'", kaitse="'.rand('55','57').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('45','50').'", vastupidavus="'.rand('50','53').'", hüppevõime="'.rand('30','36').'", jõud="'.rand('52','55').'"') or die(mysql_error());
}
elseif($_POST['kaal'] > '90' && $_POST['pikkus'] <= '205') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('58','60').'", 2punkt="'.rand('56','59').'", 3punkt="'.rand('40','45').'", vabavise="'.rand('51','55').'", pealtpanek="'.rand('55','58').'", palli_käsitlus="'.rand('47','53').'", söötmine="'.rand('50','53').'", ründelaud="'.rand('50','55').'", kaitselaud="'.rand('53','56').'", blokeerimine="'.rand('40','45').'", vaheltlõige="'.rand('40','42').'", kaitse="'.rand('53','56').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('45','48').'", vastupidavus="'.rand('48','51').'", hüppevõime="'.rand('30','35').'", jõud="'.rand('54','58').'"') or die(mysql_error());
}
else { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('58','60').'", 2punkt="'.rand('56','59').'", 3punkt="'.rand('40','45').'", vabavise="'.rand('51','55').'", pealtpanek="'.rand('55','58').'", palli_käsitlus="'.rand('47','53').'", söötmine="'.rand('50','53').'", ründelaud="'.rand('50','55').'", kaitselaud="'.rand('53','56').'", blokeerimine="'.rand('40','45').'", vaheltlõige="'.rand('40','42').'", kaitse="'.rand('53','56').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('45','48').'", vastupidavus="'.rand('48','51').'", hüppevõime="'.rand('30','35').'", jõud="'.rand('54','58').'"') or die(mysql_error());
}
}
//miinimum kaal 85kg, maksimum pikkus 210cm
elseif($_POST['positsioon'] == 'SF') {
if($_POST['kaal'] < '90' && $_POST['pikkus'] < '170') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('50','54').'", 2punkt="'.rand('47','52').'", 3punkt="'.rand('42','47').'", vabavise="'.rand('50','54').'", pealtpanek="'.rand('45','50').'", palli_käsitlus="'.rand('47','52').'", söötmine="'.rand('46','52').'", ründelaud="'.rand('40','45').'", kaitselaud="'.rand('43','48').'", blokeerimine="'.rand('40','45').'", vaheltlõige="'.rand('28','35').'", kaitse="'.rand('43','47').'", tahtmine="'.rand('48','52').'", kiirus="'.rand('39','43').'", vastupidavus="'.rand('45','50').'", hüppevõime="'.rand('40','43').'", jõud="'.rand('43','46').'"') or die(mysql_error());
}
elseif($_POST['kaal'] < '100' && $_POST['pikkus'] < '180') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('52','56').'", 2punkt="'.rand('44','47').'", 3punkt="'.rand('37','40').'", vabavise="'.rand('48','52').'", pealtpanek="'.rand('47','52').'", palli_käsitlus="'.rand('45','49').'", söötmine="'.rand('43','47').'", ründelaud="'.rand('43','45').'", kaitselaud="'.rand('45','49').'", blokeerimine="'.rand('43','47').'", vaheltlõige="'.rand('28','35').'", kaitse="'.rand('42','45').'", tahtmine="'.rand('48','52').'", kiirus="'.rand('36','40').'", vastupidavus="'.rand('45','50').'", hüppevõime="'.rand('38','41').'", jõud="'.rand('45','49').'"') or die(mysql_error());
}
elseif($_POST['kaal'] < '105' && $_POST['pikkus'] < '195') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('53','57').'", 2punkt="'.rand('43','50').'", 3punkt="'.rand('35','39').'", vabavise="'.rand('47','50').'", pealtpanek="'.rand('49','54').'", palli_käsitlus="'.rand('44','47').'", söötmine="'.rand('42','45').'", ründelaud="'.rand('45','48').'", kaitselaud="'.rand('46','50').'", blokeerimine="'.rand('44','49').'", vaheltlõige="'.rand('28','35').'", kaitse="'.rand('41','43').'", tahtmine="'.rand('48','52').'", kiirus="'.rand('33','40').'", vastupidavus="'.rand('45','50').'", hüppevõime="'.rand('35','40').'", jõud="'.rand('46','50').'"') or die(mysql_error());
}
elseif($_POST['kaal'] > '110' && $_POST['pikkus'] <= '210') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('55','58').'", 2punkt="'.rand('40','45').'", 3punkt="'.rand('30','35').'", vabavise="'.rand('45','48').'", pealtpanek="'.rand('51','55').'", palli_käsitlus="'.rand('40','45').'", söötmine="'.rand('35','41').'", ründelaud="'.rand('46','49').'", kaitselaud="'.rand('50','52').'", blokeerimine="'.rand('44','50').'", vaheltlõige="'.rand('20','29').'", kaitse="'.rand('39','43').'", tahtmine="'.rand('48','52').'", kiirus="'.rand('30','36').'", vastupidavus="'.rand('45','50').'", hüppevõime="'.rand('33','38').'", jõud="'.rand('46','50').'"') or die(mysql_error());
}
else { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('55','58').'", 2punkt="'.rand('40','45').'", 3punkt="'.rand('30','35').'", vabavise="'.rand('45','48').'", pealtpanek="'.rand('51','55').'", palli_käsitlus="'.rand('40','45').'", söötmine="'.rand('35','41').'", ründelaud="'.rand('46','49').'", kaitselaud="'.rand('50','52').'", blokeerimine="'.rand('44','50').'", vaheltlõige="'.rand('20','29').'", kaitse="'.rand('39','43').'", tahtmine="'.rand('48','52').'", kiirus="'.rand('30','36').'", vastupidavus="'.rand('45','50').'", hüppevõime="'.rand('33','38').'", jõud="'.rand('46','50').'"') or die(mysql_error());
}
}
//miinimum kaal 90kg, maksimum pikkus 215cm
elseif($_POST['positsioon'] == 'PF') {
if($_POST['kaal'] < '100' && $_POST['pikkus'] < '190') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('50','53').'", 2punkt="'.rand('50','53').'", 3punkt="'.rand('45','50').'", vabavise="'.rand('45','48').'", pealtpanek="'.rand('50','52').'", palli_käsitlus="'.rand('45','48').'", söötmine="'.rand('40','45').'", ründelaud="'.rand('45','50').'", kaitselaud="'.rand('48','52').'", blokeerimine="'.rand('48','52').'", vaheltlõige="'.rand('25','28').'", kaitse="'.rand('40','43').'", tahtmine="'.rand('45','52').'", kiirus="'.rand('34','40').'", vastupidavus="'.rand('45','50').'", hüppevõime="'.rand('35','40').'", jõud="'.rand('46','52').'"') or die(mysql_error());
}
elseif($_POST['kaal'] < '105' && $_POST['pikkus'] < '200') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('53','57').'", 2punkt="'.rand('46','52').'", 3punkt="'.rand('40','42').'", vabavise="'.rand('45','47').'", pealtpanek="'.rand('52','54').'", palli_käsitlus="'.rand('44','47').'", söötmine="'.rand('37','43').'", ründelaud="'.rand('46','52').'", kaitselaud="'.rand('50','52').'", blokeerimine="'.rand('50','53').'", vaheltlõige="'.rand('20','30').'", kaitse="'.rand('38','42').'", tahtmine="'.rand('45','52').'", kiirus="'.rand('30','37').'", vastupidavus="'.rand('45','50').'", hüppevõime="'.rand('35','40').'", jõud="'.rand('47','51').'"') or die(mysql_error());
}
elseif($_POST['kaal'] < '110' && $_POST['pikkus'] < '207') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('57','59').'", 2punkt="'.rand('44','47').'", 3punkt="'.rand('40','45').'", vabavise="'.rand('44','48').'", pealtpanek="'.rand('53','55').'", palli_käsitlus="'.rand('42','45').'", söötmine="'.rand('35','40').'", ründelaud="'.rand('47','53').'", kaitselaud="'.rand('51','54').'", blokeerimine="'.rand('52','55').'", vaheltlõige="'.rand('20','35').'", kaitse="'.rand('35','40').'", tahtmine="'.rand('45','51').'", kiirus="'.rand('25','32').'", vastupidavus="'.rand('44','49').'", hüppevõime="'.rand('33','42').'", jõud="'.rand('48','54').'"') or die(mysql_error());
}
elseif($_POST['kaal'] > '110' && $_POST['pikkus'] <= '215') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('55','59').'", 2punkt="'.rand('40','45').'", 3punkt="'.rand('30','33').'", vabavise="'.rand('43','48').'", pealtpanek="'.rand('54','57').'", palli_käsitlus="'.rand('40','45').'", söötmine="'.rand('35','39').'", ründelaud="'.rand('48','54').'", kaitselaud="'.rand('52','56').'", blokeerimine="'.rand('54','57').'", vaheltlõige="'.rand('20','29').'", kaitse="'.rand('33','39').'", tahtmine="'.rand('43','48').'", kiirus="'.rand('23','30').'", vastupidavus="'.rand('43','48').'", hüppevõime="'.rand('32','38').'", jõud="'.rand('49','56').'"') or die(mysql_error());
}
else { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('55','59').'", 2punkt="'.rand('40','45').'", 3punkt="'.rand('30','33').'", vabavise="'.rand('43','48').'", pealtpanek="'.rand('54','57').'", palli_käsitlus="'.rand('40','45').'", söötmine="'.rand('35','39').'", ründelaud="'.rand('48','54').'", kaitselaud="'.rand('52','56').'", blokeerimine="'.rand('54','57').'", vaheltlõige="'.rand('20','29').'", kaitse="'.rand('33','39').'", tahtmine="'.rand('43','48').'", kiirus="'.rand('23','30').'", vastupidavus="'.rand('43','48').'", hüppevõime="'.rand('32','38').'", jõud="'.rand('49','56').'"') or die(mysql_error());
}
}
//miinimum kaal 100kg, maksimum pikkus 230cm
elseif($_POST['positsioon'] == 'C') {
if($_POST['kaal'] < '110' && $_POST['pikkus'] < '190') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('53','55').'", 2punkt="'.rand('40','45').'", 3punkt="'.rand('28','33').'", vabavise="'.rand('39','43').'", pealtpanek="'.rand('48','51').'", palli_käsitlus="'.rand('41','46').'", söötmine="'.rand('31','36').'", ründelaud="'.rand('43','48').'", kaitselaud="'.rand('45','50').'", blokeerimine="'.rand('50','53').'", vaheltlõige="'.rand('22','27').'", kaitse="'.rand('35','40').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('23','28').'", vastupidavus="'.rand('45','50').'", hüppevõime="'.rand('31','37').'", jõud="'.rand('39','42').'"') or die(mysql_error());
}
elseif($_POST['kaal'] < '130' && $_POST['pikkus'] < '200') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('52','55').'", 2punkt="'.rand('39','42').'", 3punkt="'.rand('25','30').'", vabavise="'.rand('38','41').'", pealtpanek="'.rand('50','52').'", palli_käsitlus="'.rand('40','45').'", söötmine="'.rand('30','35').'", ründelaud="'.rand('40','42').'", kaitselaud="'.rand('40','43').'", blokeerimine="'.rand('52','56').'", vaheltlõige="'.rand('20','25').'", kaitse="'.rand('33','36').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('20','26').'", vastupidavus="'.rand('50','53').'", hüppevõime="'.rand('30','39').'", jõud="'.rand('40','45').'"') or die(mysql_error());
}
elseif($_POST['kaal'] < '145' && $_POST['pikkus'] < '215') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('53','58').'", 2punkt="'.rand('35','40').'", 3punkt="'.rand('20','25').'", vabavise="'.rand('35','40').'", pealtpanek="'.rand('50','54').'", palli_käsitlus="'.rand('38','42').'", söötmine="'.rand('28','33').'", ründelaud="'.rand('42','46').'", kaitselaud="'.rand('44','50').'", blokeerimine="'.rand('53','58').'", vaheltlõige="'.rand('15','23').'", kaitse="'.rand('30','34').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('20','23').'", vastupidavus="'.rand('50','53').'", hüppevõime="'.rand('25','32').'", jõud="'.rand('41','46').'"') or die(mysql_error());
}
elseif($_POST['kaal'] > '145' && $_POST['pikkus'] <= '230') { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('58','60').'", 2punkt="'.rand('30','35').'", 3punkt="'.rand('18','22').'", vabavise="'.rand('30','35').'", pealtpanek="'.rand('55','58').'", palli_käsitlus="'.rand('35','40').'", söötmine="'.rand('29','35').'", ründelaud="'.rand('45','50').'", kaitselaud="'.rand('53','55').'", blokeerimine="'.rand('55','60').'", vaheltlõige="'.rand('15','20').'", kaitse="'.rand('28','33').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('19','22').'", vastupidavus="'.rand('50','53').'", hüppevõime="'.rand('20','26').'", jõud="'.rand('43','48').'"') or die(mysql_error());
}
else { $insertquery = mysql_query('INSERT INTO skills SET ID="", uID="'.$user['ID'].'", lähivise="'.rand('58','60').'", 2punkt="'.rand('30','35').'", 3punkt="'.rand('18','22').'", vabavise="'.rand('30','35').'", pealtpanek="'.rand('55','58').'", palli_käsitlus="'.rand('35','40').'", söötmine="'.rand('29','35').'", ründelaud="'.rand('45','50').'", kaitselaud="'.rand('53','55').'", blokeerimine="'.rand('55','60').'", vaheltlõige="'.rand('15','20').'", kaitse="'.rand('28','33').'", tahtmine="'.rand('50','55').'", kiirus="'.rand('19','22').'", vastupidavus="'.rand('50','53').'", hüppevõime="'.rand('20','26').'", jõud="'.rand('43','48').'"') or die(mysql_error());
}
}
</code></pre>
http://pinu.ee/questions/434/java-appleti-kasutamineJava applet'i kasutamineAndres-Johan Oja2010-08-02T13:51:57Z2010-08-04T13:29:12Z
<p>Kuidas saada Java applet html koodis tööle?
Hetkel on selline lihtne html:</p>
<p><code><HEAD>
</HEAD>
<BODY>
<APPLET
archive = "applet.jar"
code = "ee.minu.applet.front.GUI.class"
name = "GUI"
>
</APPLET>
</BODY></code></p>
<p>Seda Firefoxiga (java lubatud ja puha, teiste applet'e näen) vaadates on applet'i asemel must ruut.</p>
<p>Avan html-i kataloogist, kus on ka applet.jar. Jari sisse on pakitud siis pakettides class-failid, millest applet-it implementeeriv init()-meetodiga klass on "GUI".</p>
<p>Kas miski on kahe silma vahele jäänud?</p>
http://pinu.ee/questions/428/pri-ee-vabaks-mikspri.ee vabaks - miks?Muidumeez2010-07-17T14:57:29Z2010-07-19T06:24:50Z
<p>Olles tutvunud väidetega, miks peaks pri.ee olema maksuvaba, siis olen nõus toodud väidetega (<a href="http://sisalik.dragon.ee/pikett/" rel="nofollow">http://sisalik.dragon.ee/pikett/</a>), kuid tahaks siiski küsida:</p>
<ol>
<li>Mida mõista "kolivad Eestist ära" all? </li>
<li>Kas ntx planet.ee pakutav 9 eegune teenus ei ole altrernatiiv pri.ee domeenile? 6 giga kettaruumi jmt, sellega peaks suutma veebilehtede ehitust küll teha.</li>
<li>Kui mina ettevõtjana registreerin endale tasuta pri.ee, siis kes keelab mul selle peale kommertsrakenduse panemist?</li>
</ol>
<p>Isiklikult arvan, et pri.ee soodustamine on nagu igasugune maksusoodustus: alati leidub siis neid, kes selle mitteotstarbeliselt ära kasutavad.</p>
<p>Pigem tuleks küsida: miks on .ee domeen nii kuradi kallis, kallis just võrreldes teiste domeenidega? Mida annab mulle .ee domeen näiteks .com või .eu domeeniga võrreldes, mis nüüd ju odavamad tulevad.</p>
<p>Seega, kartmata olla ebapopulaarne, võis pri.ee vabalt olla maksuline, kuid .ee domeen (ja siis ka pri.ee domeen) võiks olla tunduvalt odavamad, igatahes odavamad kui ülalnimetet teised domeenid.</p>
http://pinu.ee/questions/423/jscript-ja-link-kuidas-peatada-linki-kaivitumast-confirmigaJScript ja link, kuidas peatada linki käivitumast confirmiga...Meelis2010-07-09T17:53:49Z2010-07-15T10:44:02Z
<p>Niisiis, kui ma kirjutan nii...</p>
<pre><code><a href='boss.php' onclick='kustutakyss()'>Admin</a>
</code></pre>
<p>siis kuidas peaks välja nägema funktsioon vms, et OK vajutades ta läheks sinna lehele ja Tühistades ta jääks samale lehele, midagi muutmata :)</p>
<p>kerge küsimus tõenäoliselt aga ainult neile, kes lahendust teavad, mina ei tea :)</p>
<pre><code>function kustutakyss()
{
var r=confirm("Oled kindel, et tahad kustutada?");
if (r==true)
{
alert("Kustutatud");
}
else
{
alert("Kustutamine tühistatud!");
}
}
</code></pre>
http://pinu.ee/questions/411/eesti-keele-stemmerEesti keele stemmerSvenson2010-06-05T10:13:26Z2010-06-30T13:54:15Z
<p>Kas eesti keele jaoks on olemas mõnda avatud lähtekoodiga stemmimise algoritmi? Nimelt tahaks natuke edasi arendada ühe e-poe otsingu algoritmi. Hetkel on nii ,et kui otsida näiteks sõna "klaviatuurid" siis ei leia sõna "klaviatuur". Samuti võiks töötada ka erinevad käänded ja pöörded - ehk kui kasutaja otsib "klaviatuurile", "klaviatuuriga", "klaviatuurilt" jne, siis oleks vaja kätte saada sõna algvorm "klaviatuur" ja otsida selle järgi.</p>
<p>Miski lihtsama stemmeriga saaksin vist ka ise hakkama, aga kardan et ei ole piisavalt pädev tundma kõiki eesti keele nüansse, et seda korralikult tööle saada. </p>
http://pinu.ee/questions/417/javascripti-opin-siin-omalkael-ja-ei-leia-miks-asi-ei-tootaJavascripti õpin siin omalkäel ja ei leia miks asi ei tööta :)Meelis2010-06-26T12:19:21Z2010-06-28T11:43:16Z
<p>Niisiis... eneseharimise mõttel tegin sellise asja aga funktsioon
eraldapunktist() või hajuvaks() ei taha töödata... loogiliselt nagu peaks
:) paks võtma sisendi "Tere minu nimi on Juku. Käin koolis ja õpin IT'd. Aga
n2ed m6ni asi ei saa ikka selgeks."</p>
<p>Nüüd peaks iga lause lõpp hajuma mustaks... aga ainult esimesel töötab
see... enda mõistus on otsas kust viga otsida... kas i muutub suureks ja ei
reseti või mai tea :) keegi ehk kiirelt abistab?</p>
<pre><code><script language="javascript">
function hajuvaks(muutuja)
{
var pikkus = muutuja.length - 6; // pikkus = 6 !
var str = muutuja.substring(0,pikkus); // str = viimased 6 tähte... !
var lopp = muutuja.substring(pikkus); // lopp = "uluugi" !
document.write(str);
var loppt2ht = "";
var varvid = new Array();
varvid[0] = '#FFFFFF';
varvid[1] = '#DDDDDD';
varvid[2] = '#BBBBBB';
varvid[3] = '#999999';
varvid[4] = '#666666';
varvid[5] = '#333333';
document.write(lopp);
for ( var i in lopp )
{
var varv=varvid[i];
var loppt2ht = lopp[i].fontcolor(varv);
document.write(loppt2ht);
}
}
function eraldapunktist(tekst)
{
var string = tekst.split(".");
for ( var i in string )
{
var otsitav = string[i];
hajuvaks(otsitav);
document.write(" || ");
}
}
</script>
<script>eraldapunktist("Esimene lause. Teine lause täiendus. Kolmas on üldse liitlause, mida kuvatakse");</script>
</code></pre>
http://pinu.ee/questions/19/millise-voorkeelse-raamatu-peaks-eesti-keelde-tolkimaMillise võõrkeelse raamatu peaks eesti keelde tõlkima?Ahto Truu2009-10-25T22:11:23Z2010-06-16T19:37:26Z
<p>Muidugi inspireerituna kahest varasemast küsimusest (üks <a href="http://pinu.ee/questions/13/millist-eesti-keelset-raamatut-peaks-iga-eesti-programmeerija-lugema" rel="nofollow">Pinus</a> ja teine <a href="http://stackoverflow.com/questions/1711/what-is-the-single-most-influential-book-every-programmer-should-read" rel="nofollow">StackOverflow's</a>): Mis on see võõrkeelne programmeerimisraamat, mille peaks kindlasti eesti keelde tõlkima?</p>
<p>Selle asemel, et lihtsalt StackOverflow populaarseimate asjade poolt hääletada, võiks arvesse võtta ka, et piisavalt kõrge tasemega materjali lugejad saavad ilmselt ka inglise keelega hakkama. Aga mis on see raamat, millest just noorele ja algajale kõige rohkem kasu oleks?</p>
http://pinu.ee/questions/408/kuidas-muuta-php-abil-xml-i-kindlat-vaartust-ning-salvestada-failKuidas muuta PHP abil XML-i kindlat väärtust ning salvestada failHannes2010-06-02T10:07:32Z2010-06-04T12:35:34Z
<pre><code><testimonials>
<testimonial id="4c050652f0c3e">
<nimi>John</nimi>
<email>test@test.com</email>
<text>Some text</text>
<active>1</active>
</testimonial>
<testimonial id="4c05085e1cd4f">
<name>ats</name>
<email>some@test.ee</email>
<text>Great site!</text>
<active>0</akctive>
</testimonial>
</testimonials>
</code></pre>
<p>On selline XML-i struktuur ning sooviks PHP DOM-i abil <strong>muuta</strong> kindla testimonial(id järgi) elemendi active <strong>vaartust</strong>. Mul on kood kustutamaks kindlat elementi, aga ei oska modida muutmiseks.</p>
<pre><code><?php
$xmlFile = file_get_contents('test.xml');
$xml = new SimpleXMLElement($xmlFile);
$kust_id = $_GET["id"];
foreach($xml->testimonial as $story) {
if($story['id'] == $kust_id) {
$dom=dom_import_simplexml($story);
$dom->parentNode->removeChild($dom);
$xml->asXML('test.xml');
header("Location: newfile.php");
}
}
?>
</code></pre>
http://pinu.ee/questions/405/ks-mitmele-andmebaasi-seos-1-1Üks-mitmele andmebaasi seos (1-1...*)Indrek2010-05-30T20:09:19Z2010-05-31T09:57:03Z
<p>Juhe jooksis veidi kokku. Kas andmebaasis saavad olla kaks välisvõtmega seotud tabelit, mis on seoses: 1 - 1..*</p>
<p>Ehk siis on õpilane ja õpetaja. Ütleme, et õpetajal peab olema üks või rohkem õpilast et ta saaks koolis õpetama hakata ja õpilasel peab olema õpetaja, et ta saaks koolis õppima hakata. Kas sellist asja tohib ja on võimalik andmebaasis peale sundida? Kuidas toimuks õpilase ja õpetaja korraga loomine, kas ühes transaktsioonis? Või on 1 - 1..* puhul tegu lihtsalt diagrammidel kasutatava seosega, mida reaalses andmebaasis realiseeritakse ikkagi 1 - 0..*?</p>
http://pinu.ee/questions/388/puu-vaate-koostamine-php-sPuu vaate koostamine PHP-scioa2010-05-06T06:56:55Z2010-05-25T13:07:52Z
<p>Tere!</p>
<p>Oleks vaja funktsiooni või klassi mis koostaks puu vaate (tree view), et olemasolevad andmed oleks id ja alluvus id.
Hetkel on endal muidu üks klass kasutuses, mis oskab küll puu vaadet joonistada ja saab ka teada kus iga kirje on aga kirjetele joonte külge pookimine (kas siis piltide vms. abil) ei õnnestu.</p>
<p>puu peaks välja nägema järgmine</p>
<pre>
root
+--kataloog1
| +--alamkataloog1
| +--alamkataloog2
| | +--alamkataloog2.1
| | +--alamkataloog2.2
| +--alamkataloog3
+--kataloog2
+--alamkataloog1
+--alamkataloog2
| +--alamkataloog2.1
| +--alamkataloog2.2
+--alamkataloog3
+--alamkataloog3.1
+--alamkataloog3.2
</pre>
<p>Hetkel on teada viimased punktid (+), kuid oleks vaja et need jooned oleksid alati õiges kohas ja ei jääks viimaste punktide juurde rippuma nagu allpool näites:</p>
<pre>
root
+--kataloog1
| +--alamkataloog1
| +--alamkataloog2
| | +--alamkataloog2.1
| | +--alamkataloog2.2
| +--alamkataloog3
+--kataloog2
| +--alamkataloog1
| +--alamkataloog2
| | +--alamkataloog2.1
</pre>
<p>Ette tänades,
Janek</p>
http://pinu.ee/questions/399/symfony-1-4-doctrine-1-2-sama-tuupi-objektile-viitav-mapingSymfony 1.4 + Doctrine 1.2 - sama tüüpi objektile viitav mapingSvenson2010-05-20T22:33:21Z2010-05-20T22:33:21Z
<p>Üritan mappida sellist klassi, mis viitaks iseendale. Ehk siis tootekategooria klass, millel on alamkategooriad. Miskil põhjusel maping ei õnnestu. Parent on ilusti olemas, kuid child objekt on tühi.</p>
<pre><code>ProductCategory: columns:
name: { type: string(255), notnull: true}
position: { type: integer, notnull: true }
is_activated: { type: boolean, notnull: true, default: 0 }
parent: { type: integer}
relations:
Parent: { onDelete: CASCADE, local: parent, foreign: id, foreignAlias: categories }
Child: {type: many, class: ProductCategory, local: id, foreign: parent}
</code></pre>
http://pinu.ee/questions/382/intrigeerivad-akadeemilised-vaitekirjadIntrigeerivad akadeemilised väitekirjadAndres R.2010-04-23T01:26:21Z2010-05-16T18:06:20Z
<p>Aega-ajalt olen sattunud mõne akadeemilise väitekirja (tavaliselt kas bakalauruse või magistritöö) peale, mis on üllatavalt põnev lugeda. Näiteks antud magistritöö e-valimise turvalisusest: <a href="http://triinu.net/e-voting/master%20thesis%20e-voting%20security.pdf" rel="nofollow">http://triinu.net/e-voting/master%20thesis%20e-voting%20security.pdf</a></p>
<p>Kas oskate veel nimetada asjalikke ja põnevaid lõputöid (lingiga) ?</p>
http://pinu.ee/questions/374/programmeerimisulesandeid-lahendamiseks-toointervjuulProgrammeerimisülesandeid lahendamiseks tööintervjuulRene Saarsoo2010-04-20T17:47:55Z2010-05-16T08:57:57Z
<p>Mõni aeg tagasi jõudsin veendumusele, et programmeerijakandidaadilt otse intervjuul koodi kirjutamise nõudmine on absoluutselt vajalik. Nüüd otsikski ülesandeid, mida kandidaatidele esitada.</p>
<p>Loomulikult on olemas vana-hea <a href="http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html" rel="nofollow">Fizz-Buzz</a>, aga otsiks veel sarnaseid, mis kogenud programmeerijale on käkitegu, aga oskamatu nurka suruvad.</p>
<p>Huvi pakuksid ka ülesanded, mis testiksid mingi teatud programmeerimiskeele oskust. Seda eeskätt sellel otstarbel, et kui keegi kirjutab oma CV-s et on ekspert keeles X, siis testida, kas see ka tegelikult nõnda on.</p>
<p>Ülesanne peaks mõistagi olema piisavalt väike, et vastuse saaks väheste ridadega paberile kirjutada.</p>
http://pinu.ee/questions/391/mysql-igast-kategooriast-koige-uuemmysql - igast kategooriast kõige uuemptr2010-05-10T11:34:40Z2010-05-11T12:15:02Z
<p>Mysql tabelis on datetime ja kaks kategooria välja. Nüüd oleks vaja saada kätte kõige uuem kirje igast kategooriate kombinatsioonist ja järjestada nii, et kõige uuemad on enne.</p>
<p>Php-s kogu värki läbi kammides ja tingimuse abil massiivi uuendades saaksin ise hakkama aga peab ju olema mingi otsesem viis?</p>
http://pinu.ee/questions/392/eesti-autorioiguse-seadus-ja-ekraanipildidEesti autoriõiguse seadus ja ekraanipildidRene Saarsoo2010-05-10T16:26:21Z2010-05-10T18:45:10Z
<p><a href="http://www.riigiteataja.ee/ert/act.jsp?id=13246706" rel="nofollow">Eesti autoriõiguse seaduse</a> §4 nimetab teosed, millele tekib autoriõigus, muuhulgas on seal:</p>
<blockquote>
<p>3) arvutiprogrammid, mida kaitstakse nagu kirjandusteoseid. Kaitse laieneb arvutiprogrammi mis tahes väljendusvormile;</p>
</blockquote>
<p>Kuidas tõlgendada seda "mis tahes väljendusvormile"? Kas see katab näiteks programmide ekraanipilte? Näiteks inimesed <a href="http://et.wikipedia.org" rel="nofollow">Eesti Vikipeedias</a> kardavad, et see võib nii olla, mistõttu pole seal ekraanipilte ühestki mitte-vabast tarkvarast. Kui see tõesti on nii, et ma ilma autori loata ei või isegi ekraanipilti levitada, siis tekib mul aga küsimus kui kaugele see piirang ulatub?</p>
<ul>
<li>Kui ma tahan võtta ekraanipilti Windowsis jooksvast vabast tarkvarast, kas ma pean siis Microsofti meestelt luba küsima?</li>
<li>Kui ma teen ekraanipildi wine-st kus jookseb Microsoft Word?</li>
<li>Kui ma pildistan oma tuba ja juhtumisi satub pildile Windowsit jooksutav arvuti?</li>
</ul>
http://pinu.ee/questions/384/mysql-kuidas-leida-kirjeid-millel-pole-seostatud-kirjeid-teises-tabelismysql - kuidas leida kirjeid millel pole seostatud kirjeid teises tabelisptr2010-04-30T10:30:51Z2010-04-30T12:47:03Z
<p>On 2 mysql tabelit:</p>
<p>clients (id,name,...)
client_stuff (id,client_id,name,...)</p>
<p>Nüüd oleks vaja kätte saada kirjed tabelist clients millel pole client_stuff tabelis ühtki kirjet.</p>
http://pinu.ee/questions/367/leminek-andmebaasilt-mudelileÜleminek andmebaasilt mudelileWK2010-04-06T23:52:49Z2010-04-20T08:24:49Z
<p>Plaanin skriptipõhisena perlis kirjutatut üle viia millelegi paremini hallatavale. Esialgu on plaanis kasutada raamistikuna Catalysti, aga see pole praegu tähtis. Nimelt on praegune andmebaasi struktuur piisavalt keeruline, et otsin võimalust, kuidas olemasolev baas kantida ORM-kujule (DBIx::Class). Et ei peaks hakkama mudelit otsast peale kirjeldama, vaid saaks suurema ja mustema töö automaagiliselt ette valmistatud. Millised võimalused selleks on? </p>
<p>Alaküsimus 1: suhteliselt pealiskaudsel tutvumisel ei ole ma veel pihta saanud, kas ja kuidas näiteks DBIx::Class üldse võimaldab mudelisse ühendada mitut eraldi andmebaasi?</p>
<p>Alaküsimus 2: ORM tundub ühest otsast ju tore vahekiht olevat, aga esialgu jääb mulle mulje, et ORM tekitab hulgaliselt liiasust ja nõuab masinalt enam ressurssi. Kas MVC mustrit järgivas raamistikus on mudeli rollis ORMile ka arvestatavat alternatiivi, sest mingi abstraktsioon on ilmselt vajalik? Või on ORMis lahendatud mudel parema optimeerituse arvelt võrreldava ressursinõudlusega?</p>
http://pinu.ee/questions/372/soovid-tasuta-toojouduSoovid tasuta tööjõudu?oivik2010-04-18T12:13:42Z2010-04-19T14:23:07Z
<p>Kui selline teema siin on keelatud, miis siis ikka. Kustutage ära.</p>
<p>Ma õpin tarkvara arendamist ja otsin praktikakohta. Füüsiliselt asun Tallinnas. Teen praktikat tasuta, kui vaid saaks midagi juurde õppida.
Väga palju mul oskusi veel ei ole, aga midagi ikka on.
Olen õppinud programmeerimist C, JavaScript keeles, Visual Basic. Õppinud töötama Access ja MySql andmebaasidega. Kodulehtede tegemisel oskan kasutada nii XHTML kui CSS-i või ka Joomlat. Igapäevaselt kasutan MS Office 2003-e.</p>
<p>Kontakt minuga
oiviktuupur@hot.ee</p>
http://pinu.ee/questions/322/swing-gui-jaoks-design-patternSwing GUI jaoks design patternIndrek2010-03-04T10:30:08Z2010-04-18T12:02:09Z
<p>Kuigi Java põhitõdesid ja mitmeid OO patterned olen õppinud, jääb siiani alati "müstikaks", kuidas Swing kasutades võimalikult hästi eraldada GUI pool ja äriloogika - iga kord kui seda teen, on tunne et olen järjekordse paraja häkiga hakkama saanud.</p>
<p>Kõige lihtsam on ilmselt GUId luues anda talle minig Model kaasa ja iga nupu kliki korral teeb GUI vastavalt model.buttonClicked(). Mis aga siis teha, kui Model tahab GUId muuta - annan modelit luues talle GUI viite kaasa ja lisan GUI klassi vastavad meetodid?</p>
<p>Asjaga on ilmselt mingil määral seotud Observer või Command pattern? Kuskilt ei ole ka leidnud asjalikku seletust, kuna enamik tutoriale seletab et Swing ei ole MVC ja et on ka, kuid head ja ühest näidet on raske leida.</p>
<p>Ilmselt lihtne koodinäide seletaks asja kõige paremini...?</p>
http://pinu.ee/questions/364/c-ja-mysql-fetch-arrayC# ja MySQL "fetch array"Alan Ibrus2010-04-02T20:18:12Z2010-04-06T16:03:18Z
<p>Tegelen siin üle pika aja C#-ga jälle ja tekkis dilemma, kuidas oleks kõige mõistlikum PHP mysql_fetch_assoc funktsiooni C#-i kirjutada.
Enda arust tuli väga kohmakas lahendus, seega ootaks kriitikat kuidas lühemalt soovitud tulemust saada.</p>
<p>PHP-s pean silmast sellist lihtsat lahendust:</p>
<pre><code>$q = MySQL_Query("SELECT * FROM `users`");
while($result = MySQL_Fetch_Assoc($q))
{
print_r($result);
}
</code></pre>
<p>Kirjutasin valmis midagi sellist:</p>
<pre><code>public ArrayList Fetch(string query)
{
ArrayList ret = new ArrayList();
try
{
sqlCommand.CommandText = query;
OdbcDataAdapter sqlDataAdapter = new OdbcDataAdapter();
sqlDataAdapter.SelectCommand = sqlCommand;
DataSet sqlDataSet = new DataSet();
sqlDataAdapter.Fill(sqlDataSet);
DataTable table = sqlDataSet.Tables[0];
for (int r = 0; r < table.Rows.Count; r++)
{
SortedList tmp = new SortedList();
DataRow row = table.Rows[r];
for (int c = 0; c < table.Columns.Count; c++)
{
tmp.Add(table.Columns[c].ToString(), row[table.Columns[c]].ToString());
}
ret.Add(tmp);
}
}
catch (Exception e)
{
log.Output("Cannot execute SQL Query: " + query);
log.Output(e.ToString());
}
return ret;
}
</code></pre>
<p>Ja nii kasutan praegu (just seda osa soovikski saada veel lühemalt (soovitavalt ühe tsükliga) kirja pandud):</p>
<pre><code>ArrayList results = db.Fetch("SELECT * FROM users");
for(int i = 0; i < results.Count; i++)
{
SortedList data = (SortedList)results[i];
foreach (string columnName in data.Keys)
{
log.Output(i + ") " + columnName + " = " + data[columnName]);
}
}
</code></pre>
http://pinu.ee/questions/296/google-analytics-ja-eesti-keelGoogle Analytics ja Eesti keelRasmus2010-02-11T02:36:02Z2010-03-29T13:23:06Z
<p>Tere, Google Analytics teatavasti emakeelse tõlget ei oma. Ega keegi juhuslikult midagi API abil eestikeelset teinud pole?</p>
http://pinu.ee/questions/359/posgresi-use-schema-voimalusPosgresi "use schema" võimalusWK2010-03-25T10:45:32Z2010-03-28T12:16:18Z
<p>Mysqlis olen harjunud kasutama mitut andmebaasi paralleelselt ja neid omavahel siduma. Postgresis tahaksin sama proovida schemadega. Mysqlis saab mugavalt vahetada andmebaasi käsuga "use". Nii palju, kui ma aru saan, pole Posgresis lihtsat vahendit schema valikuks, vaikimisi schema muutmiseks tuleks search_path-iga manipuleerida. On ehk kellelgi loodud mingi mugav protseduur, mille abil saaks vaikimisi schema määrata? On see võimalik?</p>
http://pinu.ee/questions/325/nuputamiseks-kaks-malupuhvritNuputamiseks: Kaks mälupuhvritAhto Truu2010-03-06T23:58:08Z2010-03-27T21:29:04Z
<p>Mälupuhvrite olekuid hoitakse täisarvus bitivektorina, kus <code>1</code> tähistab kasutusel olevat ja <code>0</code> vaba puhvrit. Leida võimalikult efektiivselt kaks kõrvutist vaba puhvrit.</p>
<p>Tulemus tagastada täisarvuna, milles on <code>1</code> leitud puhvrite kohal ja <code>0</code> kõigis muudes positsioonides, või kõik bitid <code>0</code>, kui kaht kõrvutist vaba puhvrit ei olegi.</p>
<p>Võib eeldada, et bitivektor mahub protsessori registrisse, see tähendab, et võib kasutada kõiki tavalisi aritmeetika- ja loogikatehteid.</p>
<p>Näide: <code>f(203)</code> = <code>48</code>, sest <code>203</code><sub>10</sub> = <code>11001011</code><sub>2</sub> <code>-></code> <code>00110000</code><sub>2</sub> = <code>48</code><sub>10</sub></p>
<p>Näide: <code>f(153)</code> = <code>6</code> või <code>96</code>, sest <code>153</code><sub>10</sub> = <code>10011001</code><sub>2</sub> <code>-></code> <code>01100000</code><sub>2</sub> = <code>96</code><sub>10</sub> või <code>00000110</code><sub>2</sub> = <code>6</code><sub>10</sub></p>
<p>Näide: <code>f(85)</code> = <code>0</code>, sest <code>85</code><sub>10</sub> = <code>01010101</code><sub>2</sub> <code>-></code> <code>0</code></p>
<p>PS. See on meelelahutus, mitte küsimus, mille vastust mulle millekski tegelikult vaja oleks.</p>
http://pinu.ee/questions/66/kuidas-versioonida-andmebaasiKuidas versioonida andmebaasi?Tambet Matiisen2009-11-03T09:15:48Z2010-03-24T21:50:33Z
<p>Üsna normaalne on, et andmebaasist on mitu eksemplari:</p>
<ul>
<li>Mitu installatsiooni mitme kliendi juures.</li>
<li>Eraldi arendusbaas, testbaas ja avalik baas.</li>
</ul>
<p>Kui nüüd andmebaasis on muudatusi, siis tuleb need paigaldada ka kõikidesse teistesse eksemplaridesse. Mismoodi te olete selle lahendanud? Logite ALTER TABLE käsklusi? Kasutate mingit andmebaasiskeemide võrdlemise tööriistu? Jagage kogemusi!</p>
<p>Küsimus on inspireeritud <a href="http://www.saiku.ee/kaizen/2009/11/modernne-tarkvara-loomine-iii-andmebaasi-versioonimine/" rel="nofollow">Saiku Kaizen blogist</a>.</p>