Jack Dorsey nous parle des 3 clées qui ont fait la réussite de Twitter

Jack Dorsey, le créateur, co-fondateur et chairman de Twitter a fait une intervention à la 99percent conférence pour parler des trois clés qui ont fait la réussite de son projet.

Au menu, dessinez votre idée, évaluez le temps adéquat et itérez comme des fou !

Une imagevidéo parlant plus qu'un long texte, je vous laisse écouter les conseils de Jack.

Filed under  //  Jack Dorsey   adéquat   clé   dessin   projet   réussite   temps   timing   twitter   video   évaluer  
Posted by Cyril Nicodème 

10 raisons qui expliquent pourquoi vous n'avez pas encore terminés

Le site Michaelhyatt propose un article très intéressant sur les possibles raisons qui font que vous n'avancez pas sur un projet.

L'article est découpé en liste de 10 points dont je suis sûr que certains d'entre vous s'y retrouveront.

Comme à mon habitude, voici la traduction des 10 points présentés. Pour leur détails, je vous invite à vous rendre à l'article en question.

  1. Trop de réunions.
  2. Surfer sur le web inutilement.
  3. Être dérangé par les notifications en ligne (Messagerie instantanée, email).
  4. Autoriser les personnes à vous déranger sans l'avoir prévu dans l'agenda.
  5. Être utilisé pour les choses urgentes.
  6. Être un perfectionniste.
  7. Refuser de déléguer.
  8. Ne pas démarrer la journée avec une Todo liste.
  9. S'imposer un temps limite de travail
  10. Ne pas se réserver des temps de travail dans le planning.

Filed under  //  agenda   done   meeting   planning   procrastinate   reason   temps   todo   travail   work  
Posted by Cyril Nicodème 

Utiliser un framework ? Pourquoi faire !

En ce moment, la grande mode, c'est les frameworks. Tellement une grande mode, que la liste est immense !

Au niveau PHP, on connais les principaux :

  • Zend Framework
  • Code Igniter
  • Symfony
  • CakePHP
  • EZPublish
  • ...

Mais de l'autre côté, on entends aussi beaucoup parler du fait que les frameworks sont lourds, qu'ils embarquent plein (trop) de choses inutiles, qu'ils ralentissent la distribution des pages web. Même Rasmus Lerdorf le pense !

Mais alors qui croire ?

Paul Jones, au travers du site phpadvent.org (sorte de calendrier de l'avent pour PHP) à publié un article sur lequel il exprime sa pensée sur les frameworks. Une idée générale sort de sont article. Une idée que de plus en plus de développeur commencent à suivre.

Développer son propre framework depuis le début, c'est bien ! Si vous êtes tout seul, vous aurez une base réutilisable pour créer des applications en ligne. Mais à partir du moment ou vous serez plusieurs, les conflits vont commencer à menacer votre réalisation. Que ce soit une architecture complexe, une vision différente du style de développement (camelCase, etc), il y aura toujours quelque chose qui ne vas pas.

De plus, avec le temps, vos clients vont vous demander de plus en plus de fonctionnalitées. Très souvent, ce sera demandé dans l'urgence. Tellement urgent que vous ne prendrez pas le temps de faire la documentation. Dans un an, vous aurez un framework relativement complet, mais inexploitable que par vous. Quiconque tentra de comprendre quelque chose y sera perdu, la manque de documentation ne faisant qu'empirer les choses.

Mais alors ? quelle est la solution ?

D'après moi, et malgré les deux écoles qui s'affrontent sur le oui/non de l'utilisation d'un framework, je dirai que cela dépends. En effet, utiliser un framework comme ZF pour réaliser le site d'un village de 500 personnes, c'est un peu comme apporter un missile nucléaire pour faire sortir un cambrioleur !

Par contre, si la mairie est plus importante, et demande des moyens plus conséquents (gestion du personnel, des évènements, etc). L'usage d'un framework semble plus approprié. De plus, il est fort probable qu'ensuite, la mairie vous demande, à vous ou à une autre agence d'implémenter de nouvelles fonctionnalitées. Si vous avez utilisé votre propre framework pour ce type de site, vous risquez de rencontrer des problèmes lorsque la mairie souhaitera passer commande auprès d'une autre companie. Et si vous vous dites que c'est pas grave, comme ça elle sera obligée de traiter avec vous, vous vous mettez le doigt dans l'oeil ! Elle tentera de contacter une autre agence qui refusera le travail car ce qui est déjà en place est un véritable chantier, inintelligible pour eux, ou qui mettrait trop de temps à comprendre. Elle sera obligé de traiter avec vous (alors qu'elle aura traité avec une autre agence pour une bonne raison) et votre relation sera plus que tendue.

C'est vraiment cela que vous voulez ?

Donc avant de réaliser un site web/une application en ligne. Réfléchissez à l'usage de votre réalisation, maintenant et demain, afin de prendre la bonne décision.

Si votre soucis face aux framework est un problème de temps de réponses, sachez que vous pourrez gérer la plupart de vos visiteurs sans aucun soucis ! En moyenne, les frameworks sont capable de retoruner en moyenne 100 pages par secondes ! Ce qui corresponds à 100 visiteurs par secondes !

C'est énorme !

Si vous êtes toujours sceptique, vous pouvez toujours mettre en place des systèmes de cache, tel qu'APC, qui réduira fortement le temps de traitement !

Enfin, si vous êtes toujours sceptique, sachez que Yahoo et Dailymotion utilisent Symfony (qui est l'un des pires en terme de temps de traitement d'apès le benchmark de Rasmus Lerdorf !). Alors vous allez me faire croire qu'avec vos 500 visiteurs par jours, un framework n'est pas adapté ?

Laissez moi rire (:

Filed under  //  Development   General   Projects   Rasmus Lerdorf   Symphony   Zend Framework   apc   benchmark   cakephp   codeigniter   ezpublish   question   temps   utile  
Posted by Cyril Nicodème 

Quelques optimisations pour MySQL

Cette liste, donnée par Dublish.com, regroupe quelques bonnes astuces à prendre pour améliorer le traitement de vos donnée stockées sur votre SGBD.

La partie PHP n'est pas traitée ici puisqu'elle à fait le sujet d'un autre article publié précédement.

  • MySQL interprète de la droite vers la gauche, de ce fait, mettez les signifiants limiteurs le plus loin possible de la droite.
  • Sélectionnez les colonnes, plutôt que * (tout).
  • Évitez de mettre des informations qui changent rarement dans la base de donnée, préférez les dans un tableau contenu dans un fichier que vous inclurez.
  • Utilisez des indexes dans les colonnes contenues dans les clauses WHERE et ORDER BY.
  • Les indexes sont très intéressants quand vous faites des recherches mais ralentissent considérablement l'insertion.
  • Utilisez la requête "EXPLAIN" pour analyser vos indexes.
  • Si vous ne voulez qu'une ligne de résultat, limitez votre requête avec la clause LIMIT 1; Cela aura pour effet de stopper MySQL à la première ligne trouvée plutôt que de continuer à parcourir TOUTE la table pour une donnée qui est déjà trouvée.
  • Préferez un FETCH_ASSOC ou FETCH_NUM plutôt qu'un FETCH_BOTH qui déclarera deux variables par colonne au lieu d'une seule.
  • Parfois, mysql_free_result (ou similaire en fonction de ce que vous utilisez) finis par consommer plus de mémoire qu'en gagner. Regardez la différence avec memory_get_usage ();.
  • Évitez de demander à la base de donnée la même chose encore et encore. Stocker la requête et réutilisez la !
  • Utilisez autant que possible NOT NULL en tant que valeur par défaut. Cela améliore l'éxécution et save 1 bit.
  • Utilisez des types de colonnes qui correspondent à votre utilisation. Un INT non signé peux contenir jusqu'à 4294967295 valeurs. En avez-vous vraiment besoin ? Préférez l'utilisation de SMALLINT ou TINYINT en fonction de l'usage.
  • Profitez des valeurs par défaut. Lors de l'insertion, insérer que ce qui n'est pas valeur par défaut afin d'améliorer l'insertion.

Beaucoup de choses sont logiques, d'autres le son après la lecture.
En suivant ces quelques règles, ainsi que celles sur le php, vous pourrez améliorer l'éxécution de votre code considérablement.
Ce qui est un avantage quand le nombre de visiteur augmente !

Filed under  //  Development   améliorer   astuces   fast   gain   mysql   optimisation   performance   rapidité   règle   speed   temps   tricks  
Posted by Cyril Nicodème