skip to main | skip to sidebar
Code 18
Manuel du savoir-faire à l'usage des geeks et des curieux
RSS
  • Accueil
  • Le web au Québec
  • Liens
  • Twitter
  • Facebook
  • À propos

vendredi 31 octobre 2008

Spécial d'Halloween : robots.txt de Google

Publié par Infinite Loop, à 17 h 36 0 commentaire

En cette journée d'Halloween, Google prend les mesures nécessaires pour repousser les zombies. En effet, son fichier robots.txt spécifie clairement que les zombies devront se priver de festin :

User-agent: zombies
Disallow: /brains


Placé à la racine d'un site, le fichier robots.txt contient "généralement" des instructions destinées aux moteurs de recherche et spécifie les répertoires dont on veut indexer les fichiers ainsi que ceux à exclure.


Tags: Le coin du geek

jeudi 30 octobre 2008

Définition d'un terme par Google

Publié par Infinite Loop, à 20 h 07 0 commentaire

Une des caractéristiques de la recherche sur Google est qu'il permet d'utiliser une syntaxe qui suggère les définitions possibles d'un terme lorsqu'on le préfixe par l'expression define:, comme si on cherchait dans un dictionnaire.

Excellent pour démystifier les nombreux acronymes reliés au domaine informatique tels que define:php ou define:sql, pour décrire une entreprise define:google, une émotion define:mélancolie, une province define:quebec ou sa gastronomie define:poutine.

Parfois, ça peut faire peur de voir que Google a réponse à tout : Answer to Life, the Universe, and Everything = 42.


Tags: Le coin du geek

Lancement de Ubuntu 8.10

Publié par Infinite Loop, à 10 h 34 0 commentaire

La distribution Ubuntu (Linux pour tous) annonce aujourd'hui la sortie de la version 8.10 de son système d'exploitation open-source basé sur le noyau Linux.

Les téléchargements des différentes saveurs graphiques sont ici :

  • Ubuntu, basé sur Gnome
  • Kubuntu, basé sur KDE 4
  • Xubuntu, basé sur Xfce


Tags: Linux

mercredi 29 octobre 2008

Utilitaires Linux sur Windows

Publié par Infinite Loop, à 18 h 56 0 commentaire

Pour ceux comme moi qui apprécient Linux mais qui doivent travailler sur un environnement Windows dans un cadre professionnel, voici une collection d'outils permettant d'obtenir des utilitaires GNU/Linux sur Windows. UnxUtils est un package qui regroupe une centaine d'outils sous forme d'exécutables.

En téléchargeant le fichier compressé (UnxUtilsSrc.zip contient les sources tandis que UnxUtils.zip contient les versions compilées), on trouvera à l'intérieur les utilitaires dans le répertoire usr\local\wbin. On pourrait simplement les placer dans C:\windows\system32 pour qu'ils soient accessibles par l'invite de commandes.

Mieux, on peut ajouter le chemin des utilitaires dans le environment path de Windows. Sous XP, on y accède par le Control Panel/System/Advanced/Environment Variables. Dans l'encadré System Variables, sélectionner la variable path et cliquer edit. À la fin des valeurs existantes, il faut ajouter le chemin menant au répertoire du fichier sh.exe (pour exécuter des scripts shell) et un autre chemin pour le répertoire des exe en prenant soin de séparer chaque chemin par un point-virgule. Dans mon cas, j'ai déposé le répertoire décompressé dans C:\UnxUtils, donc il faut ajouter les deux chemins suivants :

C:\UnxUtils\bin\;C:\UnxUtils\usr\local\wbin

Une fois ajoutés, cliquer OK pour chaque fenêtre de confirmation. Si une console est déjà ouverte, il faudra la redémarrer pour que les modifications soient effectives.

Quelques commandes à explorer : pwd, ls -l, grep, sed.


Tags: Programmation

mardi 28 octobre 2008

Décrire un objet sous SQL Server

Publié par Infinite Loop, à 17 h 43 0 commentaire

Lorsqu'on travaille dans l'éditeur de requêtes de SQL Server (Query Analyzer ou Management Studio), on peut décrire un objet de la base de données en utilisant la procédure système sp_help (l'équivalent du mot réservé DESCRIBE sous Oracle ou MySQL).

EXEC dbo.sp_help stored_proc_name

À l'intérieur d'une classe de connexion à la base de données, ce type de procédure peut s'avérer pratique pour récupérer la structure d'une table ou les paramètres d'une procédure stockée puisque les résultats sont retournées sous forme de recordset.

De nombreuses autres procédures systèmes utiles sont disponibles à partir de la base de données master.


Tags: SQL Server

lundi 27 octobre 2008

YUI Compressor

Publié par Infinite Loop, à 20 h 11 0 commentaire

Il fut un temps lorsqu'on programmait pour le web où l'on devait calculer le volume de transfert des données pour s'assurer que le téléchargement d'une page serait suffisamment rapide (lire ici "tolérable) sur un modem 56k.

De nos jours, avec les connexions à haut débit, ma préoccupation est à un tout autre niveau. Les sites web sont de plus en plus sollicités et sont constamment enrichis de contenu dynamique (DHTML, Ajax, Prototype, jQuery, script.aculo.us, YUI) et ce, dans le but de rendre l'expérience de l'utilisateur plus agréable. Le problème ici n'est plus du côté de l'utilisateur, mais du côté du serveur. Désormais, on tente d'optimiser la charge des serveurs web et des bases de données (workload, replication, optimisation des requêtes, etc.) ou d'utiliser des techniques de mise en cache. Dans le cas des sites hautement sollicités, à titre d'exemple Amazon, du contenu statique est même délégué à un autre domaine (images-amazon.com) qui contient plusieurs sous-domaines entièrement dédiés à cette tâche (http://ecx.images-amazon.com, http://g-ecx.images-amazon.com, http://z-ecx.images-amazon.com).

Nombreuses sont les techniques permettant de désengorger les serveurs et de limiter le transfert de données à grande échelle. Une des bonnes habitudes qu'un programmeur peut utiliser, même sur un site web modeste, est la compression JavaScript à l'aide du YUI Compressor.

À partir de la Yahoo! UI Library, les développeurs ont accès gratuitement à un outil permettant non seulement de compresser le code JavaScript, mais aussi de l'obfusquer, permettant ainsi de réduire la taille de la librairie et d'en compliquer la compréhension (le code n'étant pas compilé, il est toujours possible de faire du reverse engineering, mais la patience en prend un coup!).

Voici un exemple d'utilisation :

  1. Java doit préalablement être installé sur la machine
  2. Télécharger la version la plus récente de l'utilitaire (présentement la version 2.4)
  3. Extraire son contenu et repérer le fichier "yuicompressor-2.4.jar" dans le répertoire "build"
  4. Ouvrir un invite de commande
  5. La syntaxe d'exécution est la suivante :

    java -jar yuicompressor-2.4.jar source -o destination

    où -o spécifie le nom en sortie du fichier une fois compressé

  6. J'utiliserai la librairie prototype.js pour démontrer concrètement l'efficacité de la compression (la version 1.6.0.3 originale pèse 126 Ko)
  7. Dans ce cas-ci, la commande exacte sera :

    java -jar yuicompressor-2.4.jar prototype-1.6.0.3.js -o prototype-1.6.0.3-min.js

  8. Une fois compressé, prototype-1.6.0.3-min.js pèsera 73 Ko, soit un taux de compression d'environ 40%. Ceci est dû au fait que les espacements, les tabulations, les sauts de lignes et les commentaires sont retirés alors que les noms des fonctions, des classes et leurs propriétés restent les mêmes.
Un petit conseil pour terminer : Toujours conserver une version décompressée pour le développement. ;-)


Tags: JavaScript, Programmation

Il faut parfois mettre un peu d'eau dans son vin

Publié par Infinite Loop, à 18 h 01 0 commentaire

Pour rouler le système d'exploitation Windows et ses applications sur Mac, VMware Fusion est sans contredit le plus évolué en matière de virtualisation.

De son côté, Wine permet d'exécuter des applications Windows sur un environnement Linux/Unix grâce à son implémentation de l'API Windows.

À l'inverse, KDE on Windows est un projet émergent qui tente de porter les applications de l'environnement KDE (K Desktop pour Linux) de façon native sur Windows.

Peu importe notre allégeance en matière d'OS, il est toujours possible de bénéficier des avantages de l'un... avec les inconvénients de l'autre!


Tags: Coffre à outils

dimanche 26 octobre 2008

Citation no. 1 sur le bien-être

Publié par Infinite Loop, à 10 h 16 0 commentaire

Tout le monde veut notre bien. Ne permettez pas qu'on vous le prenne.


Tags: Citations

Meilleurs livres de programmation

Publié par Infinite Loop, à 08 h 08 0 commentaire

Dans le domaine de la littérature informatique, il y a tellement de livres disponibles qui traitent d'autant de versions, de langages et de méthodologies qu'on s'y perd rapidement. Avec le temps, j'ai moi-même acheté une multitude d'ouvrages à prix fort sans réellement savoir s'ils valaient leur pesant d'or et qui accumulent maintenant la poussière dans ma bibliothèque.

Il y a plusieurs années, j'achetais mes livres chez InfoLivres à Montréal car ils écoulaient souvent à 50% de rabais les anciennes éditions, que Camelot (aujourd'hui disparu), situé à un coin de rue plus loin vendait encore au plein prix. C'est ainsi que je me suis introduit dans l'univers du Perl en explorant les fonctionnalités de la version 5.0.0.3 plutôt que la version la plus récente qui était la 5.2. C'était au tournant des années 2000, la troisième édition de Programming Perl de Larry Wall était sur le point de sortir et allait couvrir la version 5.6 (il n'y a d'ailleurs pas eu d'autres éditions de ce livre depuis). Bref, c'était parfait pour explorer toutes les avenues possibles mais je dois avouer que ça m'a coûté cher ;-)

Comme j'en achetais pour le plaisir d'apprendre et pour des objectifs plus professionnels, je n'avais souvent pas la chance de passer au travers. Avec le temps, j'ai appris à être plus sélectif et je me suis mis à rechercher les meilleures sources pour ne lire que les plus pertinents (en règle générale!).

Je suis devenu un client fidèle d'Amazon.com (et de sa filiale canadienne) d'abord pour les prix imbattables, pour son système de critiques (reviews) qui apporte la force du nombre, la disponibilité des produits, mais aussi pour sa fonctionnalité de Search Inside qui permet d'avoir un aperçu du contenu d'un livre.

Cependant, son système de recommandations a pour but de stimuler la vente de façon subjective. Autrement dit, leur marketing me suggére des produits similaires (complémentaires ou du même sujet) à ce que je suis sur le point d'acheter. Aussi, la liste de leurs meilleurs vendeurs (bestsellers) quantifie les ventes, donc avant la lecture. Pourtant, est-ce possible d'obtenir une liste plus objective des lectures susceptibles d'intéresser un programmeur ? Avoir une liste des lectures indispensables ?

Il semble que oui. Un site web intitulé The Best Programming Books Ranked by Programmers permet d'y inscrire ses coups de coeur de la littérature informatique et d'en faire un "top list", sans aucune prétention commerciale (effectivement, les images pointent vers Amazon, mais c'est en raison des termes d'utilisation de leur API qui permet de récupérer l'information et l'image d'un livre à partir de l'ISBN, à condition de pointer vers la page du produit). Le site est divisé en sections permettant de couvrir de nombreuses facettes de la programmation (API, frameworks, langages, méthodologies, ingénierie, etc.).

Comme point de départ, mieux vaut jeter un oeil à la section The Best Books Every Programmer Should Read.


Tags: Livres, Programmation

samedi 25 octobre 2008

Noms de domaines à caractère unique

Publié par Infinite Loop, à 09 h 24 0 commentaire

À l'heure actuelle, il est impossible d'enregistrer un nom de domaine à un seul caractère sur un domaine de premier niveau (.com, .net et .org) puisque ce sont des noms de domaines réservés depuis 1993 par The Internet Assigned Numbers Authority.

Cependant, certains domaines étant déjà assignés, il existe certaines exceptions à la règle:

  • www.i.net : Firme de développement web du Koweït
  • www.q.com : Firme de télécommunications (redirection au site de QWest)
  • www.x.com : PayPal (laboratoire expérimental)
  • www.x.org : X.Org Foundation (X Window System, un interface graphique pour Linux/Unix)
  • www.z.com : Nissan (redirection à la page de son modèle Z Coupe)


Tags: Saviez-vous que

vendredi 24 octobre 2008

À titre de référence

Publié par Infinite Loop, à 16 h 16 0 commentaire

Code 18
n.m. Expression principalement utilisée par les techniciens en référence à une erreur commise par un utilisateur (qui se trouve physiquement à 18 pouces de distance de l'écran).

Manuel du savoir-faire à l'usage des geeks et des curieux
Titre parodié tiré d'un livre de l'humoriste français Pierre Desproges: Manuel du savoir-vivre à l'usage des rustres et des malpolis

À propos de moi
Le pseudonyme infinite loop est directement inspiré de l'adresse du siège social de Apple situé au 1, Infinite Loop, Cupertino en Californie. Très geek!

En regardant de plus près, vous verrez que derrière ce pseudonyme se cache un programmeur web du Québec comptant une dizaine d'années d'expérience en entreprise et un amateur de musique originale et déjantée.

À propos de ce blogue
Le but exact de ce blogue est encore incertain. Il traitera certainement de technologies, de programmation, de musique et un brin d'humour. Le reste est à vos risques.


Tags: Le coin du geek

Messages plus récents Accueil
S'abonner à : Messages (Atom)
    Suivre @code18 sur Twitter

    Catégories

    • Apache (21)
    • Citations (167)
    • Club Vidéo (24)
    • Coffre à outils (56)
    • CSS (8)
    • Curiosités (117)
    • Design Pattern (2)
    • Drupal (8)
    • Easter Eggs (22)
    • Extensions Firefox (20)
    • GIMP (7)
    • Histoire (21)
    • HTML (32)
    • Humour (57)
    • Intégration (34)
    • iPod (12)
    • JavaScript (110)
    • Jeu de combat (6)
    • Le coin du geek (128)
    • Liens (12)
    • Linux (56)
    • Livres (78)
    • Lois et principes (46)
    • Marché des saveurs (26)
    • Mathématique (18)
    • Mobile (5)
    • Montréal (32)
    • Musique (112)
    • Pancartes et écriteaux (16)
    • Perl (8)
    • Pérou (1)
    • PHP (130)
    • PostgreSQL (44)
    • Programmation (105)
    • Saviez-vous que (55)
    • Sécurité (22)
    • SEO (5)
    • SQL Server (22)
    • Vieilles publicités (6)
    • Virtualisation (8)
    • Voyages (1)
    • Zend Framework (26)

    Divers

    Archives

    • ►  2015 (6)
      • ►  août 2015 (1)
      • ►  juillet 2015 (1)
      • ►  février 2015 (3)
      • ►  janvier 2015 (1)
    • ►  2014 (8)
      • ►  décembre 2014 (1)
      • ►  novembre 2014 (1)
      • ►  octobre 2014 (1)
      • ►  août 2014 (2)
      • ►  juillet 2014 (2)
      • ►  janvier 2014 (1)
    • ►  2013 (53)
      • ►  décembre 2013 (2)
      • ►  novembre 2013 (1)
      • ►  octobre 2013 (3)
      • ►  septembre 2013 (2)
      • ►  août 2013 (5)
      • ►  juillet 2013 (3)
      • ►  juin 2013 (5)
      • ►  mai 2013 (3)
      • ►  avril 2013 (7)
      • ►  mars 2013 (7)
      • ►  février 2013 (11)
      • ►  janvier 2013 (4)
    • ►  2012 (105)
      • ►  décembre 2012 (8)
      • ►  novembre 2012 (5)
      • ►  octobre 2012 (4)
      • ►  septembre 2012 (1)
      • ►  août 2012 (8)
      • ►  juillet 2012 (7)
      • ►  juin 2012 (7)
      • ►  mai 2012 (10)
      • ►  avril 2012 (13)
      • ►  mars 2012 (15)
      • ►  février 2012 (15)
      • ►  janvier 2012 (12)
    • ►  2011 (146)
      • ►  décembre 2011 (14)
      • ►  novembre 2011 (11)
      • ►  octobre 2011 (12)
      • ►  septembre 2011 (13)
      • ►  août 2011 (15)
      • ►  juillet 2011 (17)
      • ►  juin 2011 (18)
      • ►  mai 2011 (15)
      • ►  avril 2011 (9)
      • ►  mars 2011 (7)
      • ►  février 2011 (3)
      • ►  janvier 2011 (12)
    • ►  2010 (398)
      • ►  décembre 2010 (29)
      • ►  novembre 2010 (28)
      • ►  octobre 2010 (32)
      • ►  septembre 2010 (34)
      • ►  août 2010 (22)
      • ►  juillet 2010 (35)
      • ►  juin 2010 (42)
      • ►  mai 2010 (36)
      • ►  avril 2010 (37)
      • ►  mars 2010 (34)
      • ►  février 2010 (32)
      • ►  janvier 2010 (37)
    • ►  2009 (430)
      • ►  décembre 2009 (32)
      • ►  novembre 2009 (34)
      • ►  octobre 2009 (33)
      • ►  septembre 2009 (37)
      • ►  août 2009 (37)
      • ►  juillet 2009 (39)
      • ►  juin 2009 (38)
      • ►  mai 2009 (37)
      • ►  avril 2009 (35)
      • ►  mars 2009 (37)
      • ►  février 2009 (32)
      • ►  janvier 2009 (39)
    • ▼  2008 (84)
      • ►  décembre 2008 (34)
      • ►  novembre 2008 (39)
      • ▼  octobre 2008 (11)
        • Spécial d'Halloween : robots.txt de Google
        • Définition d'un terme par Google
        • Lancement de Ubuntu 8.10
        • Utilitaires Linux sur Windows
        • Décrire un objet sous SQL Server
        • YUI Compressor
        • Il faut parfois mettre un peu d'eau dans son vin
        • Citation no. 1 sur le bien-être
        • Meilleurs livres de programmation
        • Noms de domaines à caractère unique
        • À titre de référence

    Abonnés

Copyright © All Rights Reserved. Code 18 | Converted into Blogger Templates by Theme Craft