La chronique du dimanche #2

Bonjour,

Finalement la chronique ce ferra au rythme de mes nouvelles connaissance, Si je n’ai pas de nouvelle connaissance durant la semaine, il n’y aura pas de chronique. les notions importantes seront reporté à la chronique suivante.

Une semaine sur deux devrais être un rythme plus stable.


 

Prog Objet / Java

Créé des classes, faire un peu mumuse avec c’est bien, mais s’arrêter la ce serais franchement dommage. La ou ça deviens franchement intéressant c’est avec la composition de classe par exemple une Droite à pour attribut deux Points. Mais encore mieux l’héritage !
Par exemple les points c’est cool, mais en informatique on aime bien les Pixels, mais fondamentalement un Pixel qu’est ce c’est quoi ?
Un Pixel EST UN Point, avec deux trois truc en plus par exemple, une couleur et une luminosité, ainsi que quelques méthodes lié à sa nouvelle nature.

Exemple Java :

Class Pixel extends Point {
    private Couleur couleur;
    private int luminosite;

    public Pixel() {}
    public void clignoter() {}
    // ... 
}

Base de donné

Maîtriser le langage SQL est le principe de fonctionnement d’une base de donné permet d’alléger considérablement le traitement des requêtes dans le code.
Il ne faut pas hésiter à utiliser les jointures, conditions, intersections, projections … Dans les requêtes.
Pour structurer une base de donné il faut établir les relations de manière la plus simple possible de type X -> Y, pour ensuite être capable de trouver les clé primaire et secondaire. et les agencer correctement.

ProgWeb PHP

On peut être amené à créer des codes complexes afin de générer une simple requête SQL, mais avec un peu de réflexions et d’habitude ça passe crème. Voici un exemple de code qui permet d’effectuer une recherche grâce à des paramètres rentré par l’utilisateur. Prévoyez un paquet de Doliprane !

<form id="myForm" action="recherche.php" method="post"> <!-- formulaire.php -->
    <input type="text" name="nom" id="nom" placeholder="recherche album/artiste">
    <select name='genre'>
    <?php
        foreach($db->query("SELECT id, nom FROM genres") as $row) {
            $id = $row['id'];
            $nom = $row['nom'];
            echo  "<option value='$id'>$nom</option>";
        }
    ?>
    </select>
    <select name="date">
    <?php
        foreach($db->query("SELECT distinct YEAR(`date`) FROM albums ORDER By `date` DESC") as $row) {
            $date = $row['YEAR(`date`)'];
            echo  "<option value='$date'>$date</option>";
        }
    ?>
    </select>
    <input type="submit" value="Submit">
</form>
<?php // recherche.php
    $req = array();
    $execute = array();
    $debutRequete = 
    "SELECT album.nom, album.date, album.genre, album.artiste, artiste.nom, genre.nom FROM album
     INNER JOIN artiste ON album.artiste = artiste.id, artiste ON album.genre = genre.id WHERE ";

    if (isset($_POST['nom'])) {
        $nom = explode(" ", $_POST['nom']);
        $name = array();
        $i = 0;
        foreach ($nom as $n) {
            $name[] = "( album.nom LIKE :nom$i OR artiste.nom LIKE :nom$i )";
            $execute[":nom$i"] = "%$n%"; // generation du tableau d'association
            $i++;
        }
        $req[] = "( " . implode(" OR ", $name) . " )";
    }

    if (isset($_POST['genre'])) {
        $req[] = "( album.genre = :genre )";
        $execute[":genre"] = $_POST['genre'];
    }

    if (isset($_POST['date'])) {
        $req[] = "( YEAR(album.date) = :dates )";
        $execute[":dates"] = $_POST['date']);
    }

    $req = $debutRequete . implode(" AND ", $req);

    // $req = db->prepare($req);    
?>

Voila je vous laisse réfléchir sur ce fabuleux code non commenté :p

Algo Avancé : les files et les piles, types abstrait

Une file en informatique est une structure de donné ou le principe est que le premier entré dans la liste est le premier sortis. C’est par exemple ce qui est utilisé pour les imprimantes. on les gère grâce à deux pointeurs au sens large du terme un qui pointe le début de la file, l’autre la sortie, ainsi qu’une structure de donné contenant les éléments.

Une pile en informatique est une structure de donné ou le principe est que le premier entré dans la pile est le dernier à sortir : voyez une pile de livre. vous posez un livre sur la pile, vous ne pourrez récupérer livres que un par uns, et toujours celui qui est au dessus.
Ici, un seul pointeur, qui pointe à la fois l’entré et la sortie.

Prog Sys / C

Les threads, sont des sous programmes que l’on lance via un programme :p. On a un programme père, et des programmes fils. Ils permettent de bénéficier du parallélisme du processeur. ça permet par exemple de faire des calculs complexes en les divisant en plusieurs parties.
Par exemple : la somme des nombres de 1 à 1000. (Sur un proco 4 cœur)
On lancera 4 threads :
Le premier calculant de 1 à 250
Le deuxième calculant de 251 à 500
Le troisième calculant de 501 à 750
Le quatrième calculant de 751 à 1000 Une fois les 4 threads ayant terminé leurs résultats on ferra la somme de leur résultat et on obtiendra la somme. en ayant fait marché les 4 cœurs du proco.

Un code à suivre quand j’aurais récupéré les diapos du prof.