lundi 14 juillet 2014

Top 10 aperçu des animes été 2014

La première semaine de la saison des animes été 2014 est maintenant derrière nous. Comme je l'ai fait pour la saison précédente, je vais faire un petit top 10 des titres qui ont retenu mon attention.

Comme d'habitude je tiens à préciser qu'il s'agit d'une liste construite selon mes propres goûts personnelles du moment. 

 

1. Psycho-Pass New Edit Version

#pp_anime
11 épisodes
Sans contredit mon choix #1 de la saison.
Il s'agit d'une nouvelle édition de la série originale avec des épisodes d'environ une heure et de toutes nouvelles scènes.
Nous retrouvons l'univers sombre et futuriste de Psycho-Pass avec grand bonheur.
Fan de seinen, c'est un anime à ne pas manquer !

2. Sword Art Online II

#sao_anime
24 épisodes
Nous avons ici la deuxième saison d'un anime extrêmement attendu. Qui n'a pas entendu parler de la première saison de SAO !
Nous retrouvons les personnages qui nous ont fait rêver et de tout nouveaux prometteurs dans un nouveau jeu où les armes à feu sont mis à l'avant.
Un premier épisode très calme mettant en place l'histoire. Mais un deuxième épisode qui nous fait sauter directement dans un combat endiablé, nous faisant saliver pour la suite.

3. Bishoujo Senshi Sailor Moon: Crystal

26 épisodes
Qui ne connais pas Sailor Moon, cette jolie guerrière en uniforme d'écolière chassant les monstres.
Après une attente interminable, car cette nouvelle version de cet anime avait été reportée, nous avons enfin la chance de nous faire bercer par cette histoire ayant meublé la jeunesse de plusieurs d'entre-nous.
Diffusé au deux semaine, j'attend déjà avec impatience l'épisode 2.

4. Kuroshitsuji: Book of Circus

#kuroshitsuji
10 épisodes
Encore un autre gros nom très populaire. Tout le monde aime Sébastien, Ciel et les autres.
Bien que le style graphique des personnages de cette nouvelle saison ne fait pas le bonheur de tout le monde, je l'ai trouvé très réussi.
Et en prime, l'humour de Kuroshitsuji est toujours aussi bonne.

5. Aldnoah.Zero

#aldnoahzero
24 épisodes
Probablement le premier titre de ma liste qui n'est pas une série que je connaissait déjà. Donc la première surprise.
Un meccha avec un arrière-plan de guerre galactique entre les humains de la Terre et ceux ayant migrés sur Mars.
Un style d'histoire probablement sur-utilisé mais qui fait toujours le travail lorsqu'on désire un peu d'action. Par contre je dois avouer que ce qui m'a le plus accroché lors du premier épisode ce sont les personnages. Nous n'avons pas ici le genre de meccha avec un héro "tête-brulé".

6. Akame ga Kill!

#akame_anime
24 épisodes
Un premier épisode rebondissant et surprennant qui se termine trop rapidement. Un héro beaucoup trop bonace, mais aussi très sympatique se voit embarquer bien malgré lui dans une aventure rocambolesque. On termine le premier en ne sachant pas trop qui sont les méchants et qui sont les gentils ... va falloir écouter les autres épisodes pour en savoir plus :)

7. Ao Haru Ride

#aoha_anime
12 épisodes
Une histoire d'amour au style de Kimi ni todoke avec des personnages et des décors somptueusements colorés. Probablement aussi le premier shoujo de ce genre avec une déclaration d'amour dès le premier épisode ...
Cet anime risque d'être à coup sûr ma source d'émotion pour les prochaines semaine.

8. Gekkan Shoujo Nozaki-kun

#nozakikun
12 épisodes
Une autre histoire d'amour ! Mais cette fois-ci plus sur le style comédie-romantique. Que feriez-vous si la personne que vous aimiez était en réalité un lycéen taciturne mangaka de shoujo à l'eau de rose. Voilà le genre d'histoire que nous réserve cet anime. Un premier épisode me rappellant vaguement Tora-dora que j'espère apprécier tout autant.

9. RAIL WARS!

#rw_anime
? épisodes
Nous avons ici une histoire qui a le mérite d'être originale. L'histoire se déroule dans un japon où le réseau de transport ferroviaire n'est pas privatisé. Le héro, un étudiant désirant travailler pour ce réseau de transport, est assigné comme stagiaire pour le département de la sécurité avec quelques autres étudiant(e)s. Mais un groupe d'extrêmiste choisi ce moment pour monter un complot pour essayer de privatiser le réseau de transport ferroviaire.
En plus d'être originale, cette histoire est soutenu par un design graphique très réussi.

10. Sabagebu!

#sabagebu
? épisodes
Je crois que s'est rendu un classique d'avoir au moins un anime avec de jolies jeunes fille et des armes à feu. Après C3-Bu, Upotte et bien d'autre, voici le tour de Sabagebu!
Un club très spécial avec des membres très spécials qui pratiquent le "airsoft".

mercredi 9 juillet 2014

Nouveauté PHP 5.6 - Nouvel opérateur "..."

Cet article est né du fait que je voulais essayer le nouvel opérateur "..." de PHP 5.6.
C'est un opérateur qui permet à une fonction de recevoir un nombre de paramètre indéterminé. Nous avions déjà la possibilité de créer de telle fonction en utilisant la fonction func_get_args() pour récupérer les paramètres envoyés à celle-ci. Alors j'étais curieux de voir si ce nouvel opérateur ajouterais un avantage à mon code, soit par le fait d'utiliser moins de ligne ou par le fait de rendre le code plus clair et plus lisible.

Je commence avec un premier exemple pour comparer le avant et après PHP 5.6 en implémentant une fonction coalesce en PHP. La fonction coalesce a simplement pour but de recevoir un nombre de paramètre indéterminé et de retourner la valeur du premier paramètre qui n'est pas nulle. Si aucun paramètre n'est pas nulle alors on retourne tout simplement nulle.

Exemple 1 : Avant PHP 5.6
function coalesce()
{
    $values = func_get_args();
    
    foreach ($values as $value) {
        if ($value !== null) {
            return $value;
        }
    }
    
    return null;
}

echo coalesce(null, null, 'hello world'); // output 'hello world'

Exemple 1 : Avec PHP 5.6
function coalesce(...$values)
{
    foreach ($values as $value) {
        if ($value !== null) {
            return $value;
        }
    }
    
    return null;
}

echo coalesce(null, null, 'hello world'); // output 'hello world'

Après ce premier exemple, on se rend compte qu'effectivement, la fonction avec le nouvel opérateur est plus facilement reconnaissable comme une fonction acceptant un nombre de paramètre indéterminé. La lecture du code est aussi légèrement plus aisé étant donnée que les paramètres ne semble pas venir de nulle part.

Maintenant j'ai le goût de rendre l'exemple un peu plus complexe. Je vais dériver de l'implémentation normale de la fonction coalesce pour la transformer un peu. Je désire que le premier paramètre de la fonction détermine si on accepte les valeurs vide ou non.

Exemple 2 : Avant PHP 5.6
const NULL_MODE = 1;
const EMPTY_MODE = 2;

function coalesce($mode)
{
    $values = func_get_args();
    unset($values[0]);
    
    foreach ($values as $value) {
        if (
            ($mode === NULL_MODE && $value !== null)
            || ($mode === EMPTY_MODE && !empty($value))
        ) {
            return $value;
        }
    }
    
    return null;
}

echo coalesce(NULL_MODE, null, '', 'hello world'); // output ''
echo coalesce(EMPTY_MODE, null, '', 'hello world'); // output 'hello world'

Exemple 2 : Avec PHP 5.6
const NULL_MODE = 1;
const EMPTY_MODE = 2;

function coalesce($mode, ...$values)
{
    foreach ($values as $value) {
        if (
            ($mode === NULL_MODE && $value !== null)
            || ($mode === EMPTY_MODE && !empty($value))
        ) {
            return $value;
        }
    }
    
    return null;
}

echo coalesce(NULL_MODE, null, '', 'hello world'); // output ''
echo coalesce(EMPTY_MODE, null, '', 'hello world'); // output 'hello world'

On voit très facilement que le nouvel opérateur nous facilite la vie en nous évitant d'avoir à retirer le premier paramètre que la fonction func_get_args() nous retourne. Puis tout comme l'avait prouvé le premier exemple, la signature de la fonction est beaucoup plus claire avec le nouvel opérateur.

Les exemples suivants sont mis là juste à titre de démonstration des avantages que l'on peut utiliser avec le nouvel opérateur.

On peut obliger les paramètres indéfinis à être d'un type en particulier.
function coalesce(DateTime ...$values)
{
    // implémentation ici
}

On peut également utiliser l'opérateur avec un array lorsque l'on appelle la fonction. Ce qui permet de décomposer les valeurs de l'array en multiple paramètre.

function coalesce(...$values)
{
    // implémentation ici
}

$array = [null, 'hello world'];
echo coalesce(...$array); // output 'hello world'

Donc en conclusion, il est vrai que ce nouvel opérateur rend la lecture du code plus facile, mais est-ce que les fonctions qui accepte un nombre de paramètre indéterminé sont si fréquente que cela dans la vie d'un développeur de tout les jours ... Personellement, je me suis creusé la tête un bon moment avant de trouver une fonction (coalesce) pour laquelle accepter ce genre de paramètre avait du sens. J'ai aussi pensé au console.log() en JavaScript.

Je termine sur un petit défi :) Est-ce que vous connaissez des cas types où l'usage d'une fonction acceptant un nombre de paramètre indéterminé est plus utile et compréhensible qu'une fonction acceptant un simple array !

Référence :
http://www.php.net/manual/en/migration56.new-features.php#migration56.new-features.variadics
http://www.php.net/manual/en/functions.arguments.php#functions.variable-arg-list

mardi 1 juillet 2014

Top 3 Anime printemps 2014


Alors que ce termine la saison printemps 2014, j'ai décidé de faire un top 3 des animes qui ont réussi à me marquer. C'est aussi pour faire suite à l'article que j'avais écrit après la première semaine de la saison : Top 10 aperçu des animes printemps 2014.

Avant de continuer plus loin, je tiens à préciser que cette liste est basée entièrement sur mon propre jugement, mes goûts et mes intérêts du moment.



1. Mushi-shi (sequel)

Mushi-shi c'est Mushi-shi (pas besoin de plus d'explication) !
Fidèle au rythme et la poésie que j'avais adoré lors de la première saison de Mushi-shi, cette dernière gagne haut la main le sommet de ma liste.

2. Love Live! School Idol Project (2nd Season)

Une deuxième saison qui commence sur les chapeaux de roues et qui se termine dans un mélange de tristesse, nostalgie et de bonheur. Une saison en montagne russe émotionnelle avec nos idoles bien-aimées qui se mérite la deuxième place de mon classement.
La saison se termine également sur l'annonce d'un film, donc patience, Love Live n'est pas terminé.

3. No Game No Life

Un style graphique très surexposé qui choque un peu au premier abord mais que l'ont vient à adorer.
Plusieurs styles de fantasmes différents mélangés ensemble : loli, grosse poitrine, furry, bro-con, sis-con.
Une histoire et des personnages qui ne se prennent pas au sérieux.
Une fin de saison cliffhanger qui nous fait rêver à une deuxième saison.
Voilà ce qu'est No Game No Life !



Je tiens à mentionner d'autres titres qui m'ont agréablement accompagnés lors de cette saison : Blade and Soul, Black Bullet, Mekakucity Actors, One Week Friends, The Comic Artist and His Assistants, The Irregular at Magic High School, The World is Still Beautiful