Jump to content

Spidetra

Hubmaster
  • Content Count

    326
  • Joined

  • Last visited

Everything posted by Spidetra

  1. Rubrique : Perle du Net. On est en 2001, ou 2002, la bulle abracadanbresque d'Internet vient de faire pschiiiiiiiiiiiit. Repas bourgeois dans le sud de la France, la maîtresse de maison, mère de mon associé : "ça existe encore Internet ?". Le pire c'est qu'elle était sérieuse dans sa question. La pôvre, elle était terrorisée à l'idée que son fils puisse travailler sur Internet. Oups ! On se moquait de nos profs qui avaient connu la carte perforée Et, aujourd'hui les petits jeunes se moquent de ces vieux qui ont connu l'informatique avant Internet.
  2. Il me reste encore {quelques} belles années avant de passer la barre fatidique... plus bc mais quand même Pas la machine à écrire, mais le Bull Micral R2E ( c'était quoi déjà l'OS ? quelqu'un se souvient ? ), et qui a débuté avec le LSE,avant le Pascal ( pas encore Turbo à l'époque => 10 mn pour linker et compiler 100 lignes de code ). C'était le CP/M
  3. Question d'un jeune (post-)adolescent.... 15 ans, 20 ans, pas plus? Internet n'est qu'un médium et rien d'autre. Une de mes premières entreprise a été crée en une nuit. Idée "géniale" sous la douche le matin... suivi d'une nuit de dév. A 5 ou 6 H du mat', tu as un sentiment de liberté et d'euphorie incomparable. Quelques années plus tard, plus de ride, moins de cheveux... tu relativise un peu plus Moins d'insomnie, plus de contrainte, moins de liberté... mais bc plus d'euphorie ( et d'angoisse ). Ce n'est pas le métier de Webmaster qui te fait vivre la nuit... c'est ta jeunesse :lol:
  4. SELECT user, count(*) AS NbArticle FROM articles GROUP BY user ORDER BY count(*) desc J'espère que tu as quand même conscience que les structures de tes tables ne sont pas idéales pour obtenir de bonnes performance.
  5. on en parle même sur le Hub : http://www.webmaster-hub.com/index.php?showtopic=27373 On a pas des "statistiques inédites" sur les clics, mais les données de la publi d'AOL ne sont pas si mal que ça. Non ?
  6. Tout le monde crie à la bourde... mais il faut quand même relativiser. Ces données ont éte mises à disposition de labo de recherche, c'est écrit dans le readme qui accompagne les données. Ces données ont été générées pour analyser les comportements utilisateurs. Ensuite, vrai bourde ou fuite intelligement organisée, la barrière est fine Le jeu de données est certainement le même. D'ailleurs la J'ai pas suivi tout le buzz sur le web, donc bourde ou pas, aucune idée. Il y a une relation quand même. C'est la publi de référence dans le readme du jeu de données AOL qui a été rendu public.
  7. Voici une étude publié par AOL, sur le comportement des internautes face au moteur de recherche. http://www.ir.iit.edu/~abdur/publications/pos-infoscale.pdf Les diagrammes 2.x ( page 2 ) décrivent la compléxité de "l'espace de recherche" des internautes. Le diagramme 2.9 montre la répartition du nombre de mots clés / requêtes ( 3.5 mot en moyenne). Vu la répartition, les requêtes de 3-4 mots sont majoritaires - 45 % des requêtes se font sur 3 ou 4 mots - 20 % sur 2 mots Les diagrammes 3.x ( page 3 ) décrivent le processus de reformulation d'une recherche lors d'une session utilisateur Les diagrammes 4.x ( page 4 ) décrivent les comportements des internautes. Ils distinguent trois types d'internautes : - heavy ( le petit pourcentage des internautes qui effectuent le plus de requêtes, le sacro-saint 20/80 ) - medium - light Ces internautes se distinguent par la quantité des recherches effectuées, mais aussi par la qualité. Les trois catégories d'utilisateurs interagissent différement avec différentes régions d'une page de résultat. J'avoue avoir un peu de mal à interpréter la signification des diagrammes : 4.3, 4.4, 4.5 Dans ce paragraphe, les auteurs s'interrogent sur la difference ( discontinuity ) entre la perception des utilisateurs et les mesures traditionnelles de pertinences. Et je me suis arrêté là.... Un des objectifs des auteurs est d'utiliser les données utilisateurs pour améliorer la pertinence des résultats dans les moteurs de recherche.
  8. 1. La concurrence 2. La concurrence 3. La concurrence Tu as vu les mastodontes qui sont sur le net maintenant ( Auchan => GrosBill, Carrefour => booshop, Dixon =>pixmania, M6 => MisterGoodeal, et tout ceux que j'oublie ) Tu as intérêt à avoir les reins solides, ou un créneau hyper-ciblé. Six ans trop tard ....... Fonce si tu arrive à te démarquer... n'attaque pas les gros de face, tu ne résistera pas.
  9. Le meilleur c'est celui qui répond à tes besoins Pour moi, ça dépend des projets.
  10. http://dev.mysql.com/doc/refman/5.0/fr/join.html
  11. SELECT DISTINCT t.topic_poster FROM place_topics t INNER JOIN place_posts p ON t.topic_id = p.topic_id WHERE p.post_id = 133
  12. Analyse et Conception sont deux phases différentes d'un processus. Un des rôle de l'analyste est de modéliser le modèle métier du client. Ce modèle doit s'abstraire le plus possible des contraintes logicielles et matérielles. Il doit aussi décrire les exigences non fonctionnelles. Le rôle du concepteur, en se basant sur le travail de l'analyste, est, au contraire, de coller aux contraintes logicielles et matérielles qu'on lui impose. Il va rajouter des couches techniques, appliquer ici ou là un pattern GRASP pour se simplifier la vie, casser une association faîtes par l'analyste ( sans pour autant modifier les cardinalités ), rajoutre des façades, etc., etc... Et de temps en temps la frontière entre Analyse et Conception est très, très légère.... surtout si l'Analyste et le Concepteur est une seule personne Finalement nos deux points de vues ne sont pas aussi éloignés que ça l'unde l'autre. Je suis même sûr qu'on arriverait à travailler ensemble, avec de grosses enguelades de temps en temps
  13. Les membres de ton jury avaient raison. Normaliser, cela ne veut pas dire éclater en plein de petites tables. Une adresse c'est une entité autonome.
  14. Sil doit y avoir une dénormalisation, c'est au concepteur, et certainement pas à l'analyste, de faire ces choix. On pas la même conception de la production logicielle.
  15. Si tu as une telle table ta base de donnée a été mal conçue. ( Cette table n'est pas normalisée ) Je suppose que tes champs métiers, etc... ne sont pas des clés étrangères mais des champs dénormalisées. Oui, la dénormalisation se fait, en derniers recours, si on a pas d'autres possibilités pour améliorer les performances. Mais bon, avant de dénormaliser, cela sous-entend que la base a été normalisée ( 1NF, 2NF, 3NF ). J'avoue ne jamais être aller au-delà Et ensuite tout dépend quel est ton processus de développement logiciel. Si tu as un bon gros vieux processus en V, effectivement tu vas t'arracher les cheveux chaque fois qu'il faudrat toucher à la structure de la DB. c'est comme ça que je suis devenu chauve Si tu as un processus de développement incrémental et itératif ( RUP, XP ), tu ne dois pas avoir peur de casser plusieurs fois to DB. Encore uns fois, j'ai rarement eu besoin de faire appel à la dénormalisation pour améliorer les performances d'une DB. Cela doit rester ponctuel et exceptionnel. La dernière fois c'était lié à une problématique très particulière ( Ajax ), et j'ai du passer par des opérateurs sur les bits.
  16. Si je comprend l'idée de Bourinho c'est d'introduire un second facteur d'atténuation. L'atténuation n'est pas seulement dépendante du nombre de votes. Les possibilités sont infinies. 1. Tu peux imaginer de faire intervenir un facteur temps. Imagine un site qui a reçu n votes de 10/10. Il a reçu ces n votes aujourd'hui ( il parle d'un thème d'actualité ) et que la moyenne s'approche de 10. Dans un an, ce site est totalement obsolète, mais il est toujours très bien classé. En un an il n'a reçu aucun vote supplémentaire. Est-il vraiment normal de garder un bon classement à ce site ? Tu peux imaginer un système qui va enlever 5% ( ou un autre facteur ) à un vote par tranche de 24 heures. Au bout de 20 jours le poids de ce vote est passé à zéro. Un site sera obligé de recevoir des votes régulièrement pour rester classé et pour continuer à limiter les effets du facteur d'atténuation. 2. Au contraire tu peux imaginer un système qui serait basé sur le nombre de visites. Dans ce cas, au contraire, les visites iraient en sens inverse du facteur d'atténuation. J'aime moins ce type de système. Il a tendance à renforcer leclassement des sites qui sont déjà bien ranker.
  17. La fonction de Bourinho est bc plus élégante que la mienne, en tout cas elle est bc moins linéaire Un x entre [0,1..0,5] donne des bonnes atténuations.
  18. Petite piste rapide, sans vraiment faire une analyse approfondie ( système à améliorer ). Plus tu as de votes pour un site donné, et plus la moyenne est fiable, en tout cas plus la moyenne est représentative de ce que pense ta communauté. 1. Tu va choisir un facteur de lissage arbitraire : 10, 100, 1000, 10000 a toi de voir. Un facteur dégressif qui va réduire ta moyenne. Plus ton facteur sera grand, plus ton système sera contraignant => plus il faudrat de vote pour arriver à classer un site. 2. Tu va diviser ce facteur par le nombre de votes obtenus, afin de pondérer ce facteur par le nombre de votants 4 Tu vas soustraire le résultat obtenus, à la moyenne du site. Ce qui donne en terme math : ( somme des notes obtenus / nombres de votes ) - ( facteur arbitraire / nombres de votes ) que l'on peut simplifier : ( somme des notes obtenus - facteur arbitraire ) / ( nombre de votes ) Imaginons que tu prenne 10 comme facteur arbitraire : 1 site avec un seul vote de 10 obtient une moyenne de 0 : ( 10 - 10 ) / 1 1 site avec 2 votes de 9 obtient une moyenne de 4 : ( 9 + 9 - 10 ) / 2 1 site avec 3 votes de 8 obtient une moyenne de 4,66 : ( 8 + 8 + 8 - 10 ) / 3 etc..... Plus ton facteur arbitraire sera grand, plus il faudrat des votes pour atténuer l'impact du facteur dégréssif. Si ton facteur est > 10, tu auras des moyennes négatives. C'est pas très grave et ça se gère très bien. A toi de faire des test pour choisir un facteur qui te convient : 10, 20, 50, 100, 1000...... A l'affichage, il me semble mieux d'afficher les moyennes réelles et le nombres de votes ( pas les moyennes lissées ). Par contre à l'affichage ça va faire bizarre, et il faudrat que tu l'explique à tes visiteurs. Le site avec une moyenne réelle de 8 sera classée devant le site avec une moyenne réelle de 10 Tu ne peux rien faire contre le fait qu'un concurrent viennent attribuer une mauvaise note. Une mauvaise note aura 2 effets : - baisser la moyenne réelle - mais aussi atténuer l'effet du facteur dégréssif. Ce facteur atténue les effets d'un vote dans un sens comme dans l'autre. Si un matheux passe par là, il te trouveras une meilleure fonction à base de Log, de ln ou autre fonction magique dont ils ont le secret
  19. Tu avance dans ta sélection d'outils de tests ?
  20. Petite illustration de la différence entre count(*) et count(expr). SELECT superficie, count(superficie), count(*) FROM villa v group by superficie; superficie count(superficie) count(*) null 0 1 10 7 7 20 3 3 30 5 5 40 6 6 La différence porte sur les NULL. Ensuite pour les perfs TheRec a raison, ça dépend des implémentations dans les différents SGBD. J'suis un peu trop catégorique sur ce point
  21. La réponse est relativement simple : - dans un premier temps tu essaye de normaliser au maximum ta base - les dénormalisation éventuelles n'arrivent qu'à la fin, si tu as des pb de performances. Il te faut une table des cnx/dcnx. J'irai même plus loin, ville n'est pas un attribut de la table membre. Il te faut une clé étrangère IDVille qui référence une table des villes. Ne pas oublier que les SGBD sont R : Relationnel ! Ne pas hésiter à faire des jointures entres les tables.
  22. Qui t'as déconseillé ça ? C'est exactement le contraire un count(*) est très optimisé, surtout si ton select n'a pas de clause WHERE. Le pb n'est pas tellement un pb de performance, c'est un pb de sémantique. count(*) et count(nom) ne compte pas la même chose ! count(*) => retourne une cardinalité count(nom ) => compte une expression en ignorant les NULL Dans ce cas, je ne pense pas qu'il y ait bc de différence entre les 2 syntaxes.
  23. Spidetra

    S'agit-il d'un CMS !

    -http://www.jeunesdumaroc.com/ -> spip les autres j'ai pas trouvé
  24. Quel est l'intérêt d'un FOUND_ROWS() ( fonction propriétaire ) par rapport à count(*) ( standard SQL ) ? Quelqu'un a fait des tests de performance comparée entre ces 2 fonctions ?
×
×
  • Create New...