czwartek, października 22, 2009

Ciekawe w czwartek

  1. Coś dla ogólnego rozwoju:
    1. 60 lat kryptografii - http://www.techworld.com.au/article/319119/slideshow_cio_blast_from_past_-_60_years_cryptography?ssid=0&fp=2&fpid=2&img=20144
    2. 110 lat firmy IBM - http://www.cio.com.au/article/318956/slideshow_cio_blast_from_past_--_110_years_ibm_technology?ssid=0&fp=2&fpid=2&img=20036
  2. Mono ma sie dobrze, na platformie Linux doczekało się własnego RAD-a – coś w rodzaju Visual Studio - http://www.eweek.com/c/a/Application-Development/Mono-Develop-20-Rivals-Microsoft-Visual-Studio-314772/
  3. Jak poprawić sobie jakość testowania stron HTML – oczywiście FireBug ale do tego dorzucić trzeba CodeBurner
  4. Jak dobrze kodować na stronach web:
    1. wysyłać nagłówek z podaniem kodu strony - Content-Type: text/html; charset=utf-8
    2. lub to samo ale jako meta-znacznik - <meta http-equiv="Content-Type"  content="text/html; charset=utf-8">
    3. zaznaczenie na serwerze - AddDefaultCharset UTF-8
    4. podobnie w pliku XML - <?xml version="1.0" encoding="utf-8"?>
  5. Nauka PHP w serwisie SitePoint. Przykładowy index.htm w PHP (uwaga na trzeci parametr w htmlspecialchars):

    <?php    
    if (!isset($_REQUEST['firstname']))    
    {    
    include 'form.html.php';    
    }    
    else3    
    {    
    $firstname = $_REQUEST['firstname'];    
    $lastname = $_REQUEST['lastname'];    
    if ($firstname == 'Kevin' and $lastname == 'Yank')    
    {    
       $output = 'Welcome, oh glorious leader!';    
    }    
    else    
    {    
       $output = 'Welcome to our web site, ' .    
           htmlspecialchars($firstname, ENT_QUOTES, 'UTF-8') . ' ' .    
           htmlspecialchars($lastname, ENT_QUOTES, 'UTF-8') . '!';    
    }    
    include 'welcome.html.php';5    
    }    
    ?>

    Jak uniknąć “wstrzyknięcia” kodu:

    if (get_magic_quotes_gpc())  
    {  
    function stripslashes_deep($value)  
    {  
       $value = is_array($value) ?  
           array_map('stripslashes_deep', $value) :  
           stripslashes($value);  
       return $value;  
    }  
    $_POST = array_map('stripslashes_deep', $_POST);  
    $_GET = array_map('stripslashes_deep', $_GET);  
    $_COOKIE = array_map('stripslashes_deep', $_COOKIE);  
    $_REQUEST = array_map('stripslashes_deep', $_REQUEST);  
    }