Linux-si.org

RTFB!

Archive for the ‘Software’ Category

Prišel IE8 beta! Sranje!

0%
0%

In je za popizdit. Sem mislil, da se nam obetajo boljši časi, ampak očitno je daleč od tega. Ogormno strani spet ne zrenderira kot je treba. Upam, da to nebo tako ostalo, ker drugače grem za mizarja!

Kaj bomo zdej za IE6-7-8, FF2, FF3 pacal strani skupaj ?

Sicer IE7 je bil kar lep napredek in skoraj ni bilo razlik med IE7 in FF2, ampak zgleda, da ga bomo pošteno najebal!

Že FF2 in FF3B3 se razlikujeta, beda o_O!

Res, da mogoče niso take razlike, ampak, če je že malo odstopanja med brskljalniki, pomeni prilagajanje za vsakega posebaj…

http://www.microsoft.com/beta/downloads/Default.aspx, če hočte sprobat… Poiščite tam nekje med linki…

P.S.: Če kdo rabi kako mizo al pa omaro, call me! Za tišlarja grem pa pika!

iNobl: 100% [?]

  • 5 komentarjev
  • Kategorije: Krneki and Software
  • Popularnost programskih jezikov

    50%
    50%

    Podjetje TIOBE, podjetje, ki se ukvarja z standardi kodiranja, je objavila lestvico najpopularnejših progrmaskih jezikov.

    V tabeli je primerjava: januar 07 vs. januar 08. Na prvih treh mestih so Java, C in (Visual) Basic, ki je pridobil eno mesto. Na četrtem mestu je PHP, ki je tudi pridobil eno mesto. Največ je prodbil jezik Lua, ki je napredoval iz 46 na 16 mesto. Več si pa lahko pogledate v tabeli oz. na tem naslovu.

    Position

    Jan 2008

    Position
    Jan 2007
    Delta in Position Programming Language Ratings
    Jan 2008
    Delta

    Jan 2007
    Status
    1 1 Java 20.849% +1.69%   A
    2 2 C 13.916% -1.89%   A
    3 4

    (Visual) Basic 10.963% +1.84%   A
    4 5

    PHP 9.195% +1.25%   A
    5 3

    C++ 8.730% -1.70%   A
    6 8

    Python 5.538% +2.04%   A
    7 6

    Perl 5.247% -0.99%   A
    8 7

    C# 4.856% +1.34%   A
    9 12

    Delphi 3.335% +1.00%   A
    10 9

    JavaScript 3.203% +0.36%   A
    11 10

    Ruby 2.345% -0.17%   A
    12 13

    PL/SQL 1.230% -0.34%   A
    13 11

    SAS 1.204% -1.14%   A
    14 14 D 1.172% -0.16%   A
    15 18 COBOL 0.932% +0.30%   A
    16 46 Lua 0.579% +0.48%   A–
    17 22 FoxPro/xBase 0.506% +0.05%   B
    18 19 Pascal 0.456% -0.11%   B
    19 16 Lisp/Scheme 0.413% -0.26%   A–
    20 27 Logo 0.386% +0.07%   B

    iNobl: 89% [?]

  • 0 komentarjev
  • Kategorije: Novice and Software
  • Izšel LinuxMCE 0704

    80%
    20%

    Kaj je LinuxMCE ? LinuxMCE je medijski dodatek za Linux distribucijo Kubuntu! Zadeva je krasna in priporočam da si ogledate sledeči video! Pa še ena novička in opis o zadevi

    http://video.google.com/videoplay?docid=2176025602905109829

    iNobl: 27% [?]

    75%
    25%

    Na netu sem našel en zelo zanimiv zapis kjer opisuje kako sesuti IE6 z eno vrstico kode. V FF, Opera, ipd. (nevem za vse) dela ok. V IE7 sicer dela ok vendar v vnosno polje nemorate nič vpisati. Če imate IE7 minimiziran in zaženete to kodo in nato maksimizirate okno se bo IE7 tudi sesul :)

    In to je ta super duper vrstica:

    1. <style>*{position:relative}</style><table><input /></table>

    Sprobate lahko tukaj.

    iNobl: 30% [?]

    CakePHP: Uporaba pager-ja

    75%
    25%

    Tokrat bom opisal eno preprosto uporabo pagerja v CakePHP aplikaciji. Primer bom navedel za novice. Recimo da hočemo na eni strani po 5 novic razvrščenih po datumu.

    Na svežo si skopiramo nekam najnovejšo različico CakePHP frameworka. Jaz sem si dal zadevo v direktorij “cakephp”. Kam boste dali sami je vaša odločitev.

    V app/config/core.php spremenimo vrednost konstante CAKE_SESSION_STRING v nek drug poljuben random string. To nam sistem tudi napiše. Imeti morate tudi pisljiv app/tmp direktorij.

    Gremo k bistvu. Naredimo bazo. V bazi naredimo tabelo news z naslednjimi polji:

    1. CREATE TABLE `news` (
    2. `id` int(11) NOT NULL AUTO_INCREMENT,
    3. `title` varchar(35) NOT NULL,
    4. `flash` text NOT NULL,
    5. `content` text NOT NULL,
    6. `hidden` tinyint(1) NOT NULL,
    7. `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    8. PRIMARY KEY (`id`),
    9. FULLTEXT KEY `content` (`content`),
    10. FULLTEXT KEY `flash` (`flash`)
    11. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

    Lahko bi uporabil samo id, title, content, created polja vendar sem zaradi nadlanjih zapisov tabelo malce razširil da se nebo treba takrat matrati :)

    Sedaj preimenujemo app/config/database.php.default v database.php. V database.php nastavite vse potrebne podatke za povezavo do vaše baze.
    Primer:

    1. class DATABASE_CONFIG {
    2.  
    3. var $default = array(
    4. 'driver' => 'mysql',
    5. 'persistent' => false,
    6. 'host' => 'localhost',
    7. 'login' => 'username_za_dostop_do_vase_baze',
    8. 'password' => 'geslo',
    9. 'database' => 'ime_vase_baze',
    10. 'prefix' => ''
    11. );
    12. }

    F5 in sistem bi vam moral izpisati da se je uspešno povezal do vaše baze => “Your database configuration file is present.”. V primeru napake vam bo to sistem lepo povedal :)

    Naredimo file app/app_controller.php. In dodamo vanj naslednje:

    1. < ?php
    2.  
    3. class AppController extends Controller {
    4.  
    5. public $ext = '.tpl';
    6.  
    7. }
    8.  
    9. ?>

    Kaj nam app_controller.php omogoča ? Omogoča nam da v aplikaciji nastavimo neke nastavitve na neko vrednost ki jo hočemo da je veljavna povsod in ne samo v določenem kontrolerju. S spremenljivko $ext nastavimo končnico za template “.tpl”. Po defaultu uporablja sistem .ctp. Ta korak vam ni treba narediti vendar morate template ustvariti z .ctp končnico namesto .tpl.

    Naredimo kontroler. app/controllers/news_controller.php
    V news_controller.php file damo naslednje:

    1. < ?php
    2.  
    3. class NewsController extends AppController {
    4. public $name = 'News';
    5. public $uses = array('News');
    6.  
    7. public function index()
    8. {
    9.  
    10. }
    11. }
    12.  
    13. ?>

    Naredimo model models/news.php. Dodamo naslednje:

    1. < ?php
    2.  
    3. class News extends AppModel {
    4. public $name = 'News';
    5. }
    6.  
    7. ?>

    Naredimo tepmlate za prvo stran pri novicah app/views/news/index.tpl. Sedaj gremo na http://vas.host.name/direktorij_kjer_je_cakephp/news/. Če je kaj pravice na svetu potem nebi smeli dobiti nobenega error-ja.

    Dodajmo nekaj vnosov v tabelo news.

    1. INSERT INTO `news` VALUES (1, 'Novica 1', 'Uvod za novico 1', 'Glavno besedilo za novico 1', 0, '2007-08-04 19:31:53');
    2. INSERT INTO `news` VALUES (2, 'Novica 2', 'Uvod za novico 1', 'Glavno besedilo za novico 2', 0, '2007-08-04 19:31:53');
    3. INSERT INTO `news` VALUES (3, 'Novica 3', 'Uvod za novico 3', 'Glavni opis za novico 3', 0, '2007-08-04 19:32:52');
    4. INSERT INTO `news` VALUES (4, 'Novica 4', 'Uvod za novico 4', 'Glavni opis za novico 4', 0, '2007-08-01 19:32:52');
    5. INSERT INTO `news` VALUES (5, 'Novica 5', 'Uvod za novico 5', 'Glavni opis za novico 5', 0, '2007-08-01 19:33:53');
    6. INSERT INTO `news` VALUES (6, 'Novica 6', 'Uvod za novico 6', 'Glavni opis za novico 6', 0, '2007-08-04 19:33:53');
    7. INSERT INTO `news` VALUES (7, 'Novica 7', 'Uvod za novico 7', 'Glavno besedilo za novico 7', 0, '2007-07-04 19:31:53');
    8. INSERT INTO `news` VALUES (8, 'Novica 8', 'Uvod za novico 8', 'Glavno besedilo za novico 8', 0, '2007-08-04 19:31:53');
    9. INSERT INTO `news` VALUES (9, 'Novica 9', 'Uvod za novico 9', 'Glavni opis za novico 9', 0, '2007-08-04 19:32:52');
    10. INSERT INTO `news` VALUES (10, 'Novica 10', 'Uvod za novico 10', 'Glavni opis za novico 10', 0, '2007-06-04 19:32:52');
    11. INSERT INTO `news` VALUES (11, 'Novica 11', 'Uvod za novico 11', 'Glavni opis za novico 11', 0, '2007-08-02 19:33:53');
    12. INSERT INTO `news` VALUES (12, 'Novica 12', 'Uvod za novico 12', 'Glavni opis za novico 12', 0, '2007-08-03 19:33:53');

    V kontrolerju pridobimo podatke in vključimo pager in nato prikažimo zapise v index.tpl.

    V news_controller.php dodajmo:

    1. public $paginate = array('limit' => 5, 'page' => 1);

    V index() funkcijo dodajmo naslednje:

    1. $this->paginate['order'] = array('created' => 'desc');
    2. $this->set('News', $this->paginate('News'));

    V prvi vrstici povemo pager-ju da naj rezultate sortira po polju created v padajočem načinu. V drugi vrstici pridobimo podatke iz baze in jih podamo v template index.tpl. V index.tpl bodo novice v $News spremenljivki.

    Sedaj bi moral news_controller.php izgledati nekako takole:

    1. < ?php
    2.  
    3. class NewsController extends AppController {
    4. public $name = 'News';
    5. public $uses = array('News');
    6. public $paginate = array('limit' => 5, 'page' => 1);
    7.  
    8. public function index()
    9. {
    10. $this->paginate['order'] = array('created' => 'desc');
    11. $this->set('News', $this->paginate('News'));
    12. }
    13. }
    14.  
    15. ?>

    Prikažimo podatke in pager v index.tpl.

    V index.tpl:

    1. <table cellpadding="0" cellspacing="0" width="50%">
    2. <tr style="font-weight: bold;">
    3. <td>Naslov</td>
    4. <td>Uvod</td>
    5. <td>Dodano</td>
    6. </tr>
    7. < ?php
    8. if(!empty($News)) {
    9. foreach ($News as $Item) { ?>
    10. <tr>
    11. <td>< ?php echo $Item['News']['title']; ?></td>
    12. <td>< ?php echo $Item['News']['flash']; ?></td>
    13. <td>< ?php echo $Item['News']['created']; ?></td>
    14. </tr>
    15. < ?php }} ?>
    16. </table>
    17.  
    18.  
    19. <div style="text-align: center;">
    20. < ?php echo $paginator->prev('Nazaj'); ?>
    21. < ?php echo $paginator->numbers(); ?>
    22. < ?php echo $paginator->next('Naprej'); ?>
    23. </div>

    Evo, to je cela umetnost :) Mislim da vsi štekate kaj sem nareidl v index.tpl ? I hope so :)

    Naslednjič bomo o dodajanju in urejanju novic, zato zadevo le shranite da nebo treba še enkrat delat ;)

    Zadevo si lahko ogledate na http://www.linux-si.org/cakephp/news/

    Uporabil:
    PHP 5.2.3
    MySQL 5
    CakePHP cake_1.2.0.5427alpha
    http://www.linux-si.org/cakephp/news/

    P.S. Ne me jebat za kake morebitne slovnične napake :D

    iNobl: 31% [?]

  • 1 komentar
  • Kategorije: Linux/GNU, PHP and Software