{"id":2940,"date":"2012-02-08T23:53:48","date_gmt":"2012-02-08T22:53:48","guid":{"rendered":"https:\/\/www.fullo.net\/blog\/?p=2940"},"modified":"2012-02-09T00:33:03","modified_gmt":"2012-02-08T23:33:03","slug":"sulla-riusabilita-del-codice","status":"publish","type":"post","link":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/","title":{"rendered":"Sulla riusabilit\u00e0 del codice"},"content":{"rendered":"<p>Passando molto pi\u00f9 tempo a gestire la (follia della) gente che sul codice ho iniziato a rivedere alcuni concetti a me cari durante la mia precedente, e forse futura, vita da sviluppatore. Uno di questi \u00e8 la riusabilit\u00e0 del codice.<\/p>\n<p>Il primo tarlo sull&#8217;argomento si \u00e8 presentato quando, durante l&#8217;<a href=\"http:\/\/www.agileday.it\">Agile Day<\/a> di Roma, mi \u00e8 stato chiesto se in ideato <em>reinventavamo la ruota<\/em> ogni volta e per ogni progetto. In quell&#8217;occasione la mia risposta, data di getto e senza pensarci troppo, fu: &#8220;<em>utilizzeresti del codice (anche tuo) scritto 4 anni fa?<\/em>&#8220;. Il principio di base \u00e8 che in 4 anni la tecnologia (sul web) evolve tantissimo, ed allo stesso modo evolvono le competenze dei team, riutilizzare quindi codice obsoleto e potenzialmente legacy non fa altro che limitare le potenzialit\u00e0 di uno sviluppatore (riducendo in alcuni casi la qualit\u00e0 globale del progetto).<\/p>\n<p><!--more--><\/p>\n<p>Da li in avanti \u00e8 stato un susseguirsi di discussioni sull&#8217;argomento in azienda su come interpretarlo al fine da ridurre gli sprechi e, contemporaneamente, non indurre una eccessiva complessit\u00e0 nei basecode che vengono gestiti.<\/p>\n<p><strong>La mia opinione \u00e8 che, <em>macroscopicamente<\/em>, la riusabilit\u00e0 del codice, in un breve lasso di tempo (diciamo 1-2 anni), sia da incentivare.<\/strong><\/p>\n<p>Macroscopicamente significa per\u00f2 che vada incentivata per quella classe di strumenti che aiutano a scrivere codice (framework, CMF o set di librerie) facilitando, di conseguenza, la condivisione del knowhow e delle metodologie di lavoro all&#8217;interno del gruppo di lavoro. La scelta per\u00f2 di voler riutilizzare a tutti i costi un metodo, una classe, un particolare modello o un tool ben preciso \u00e8 da sconsigliare perch\u00e8 implica il voler forzare uno strumento a fare qualcosa per cui non \u00e8 stato, inizialmente, concepito. <\/p>\n<p>L&#8217;esempio pi\u00f9 banale \u00e8 quello di voler usare per ogni cliente un unico CMS (quindi uno strumento gi\u00e0 specializzato in qualcosa). In questo caso il lavoro di personalizzazione di un modulo di pubblicazione di una pagina pu\u00f2 risultare molto pi\u00f9 costoso che limitarsi a fare uno scaffolding dei modelli da gestire che con semplici pagine hanno ben poco da spartire. <strong>Il codice riutilizzato forzatamente crea spreco e complessit\u00e0 invece che dare un vantaggio effettivo.<\/strong><\/p>\n<p>Quindi, penso che, il vero concetto che debba passare sia della <strong>riusabilit\u00e0 della conoscenza<\/strong>. <\/p>\n<p>Cos\u00ec come i <a href=\"http:\/\/it.wikipedia.org\/wiki\/Design_pattern\">design pattern della GoF<\/a> aiutano ad affrontare schematicamente problemi ben noti, allo stesso modo, acquisita una certa compentenza su una particolare classe di problemi \u00e8 importante utilizzare quest&#8217;ultima per definire nuovi <em>application pattern<\/em> che possano essere utilizzati a loro volta per risolvere problemi attigui.<\/p>\n<p>Un esperimento del genere fu fatto nel 2009 da Yahoo! che nel proprio Developer Network cerc\u00f2 di raccogliere <a href=\"http:\/\/developer.yahoo.com\/ypatterns\/\">pattern per il design di applicazioni<\/a> utili alla definizione di funzionalit\u00e0 per rappresentare\/definire concetti di <a href=\"http:\/\/developer.yahoo.com\/ypatterns\/social\/people\/reputation\/\">reputazione<\/a>, <a href=\"http:\/\/developer.yahoo.com\/ypatterns\/social\/people\/engagement\/index.html\">engagement<\/a> o anche semplicemente <a href=\"http:\/\/developer.yahoo.com\/ypatterns\/navigation\/pagination\/index.html\">paginazione dei dati<\/a> (altro esempio molto interessante di <a href=\"http:\/\/www.welie.com\/patterns\/index.php\">archivio di design pattern<\/a> \u00e8 quello di Welie). <\/p>\n<p>Il semplice design pattern per\u00f2 \u00e8 troppo limitato per uno sviluppatore e dovrebbe racchiudere anche un po&#8217; di informazioni utili all&#8217;implementazione di codice, una buona soluzione potrebbe quindi essere quella di sfruttare i pattern esistenti definendone per\u00f2 anche esempi di codice. Prendendo il design pattern dello &#8220;<a href=\"http:\/\/www.welie.com\/patterns\/showPattern.php?patternID=store-locator\">store locator<\/a>&#8221; l&#8217;informazione essenziale per lo sviluppatore, pi\u00f9 che la forma che il widget dovr\u00e0 assumere, \u00e8 sapere che le funzionalit\u00e0 di calcolo della vicinanza tra due punti sfruttano le librerie geospaziali presenti in molti database (MySQL, Postgres o MongoDB) o che l&#8217;intorno di un dato punto \u00e8 calcolato usando funzioni trigonometriche. Con queste poche dritte (magari affiancate da link a risorse pi\u00f9 esaustive o a codice pre-esistente fatto in casa) si riescono a ridurre ore di ricerce su internet e stress per esempi non utili o inapplicabili.<\/p>\n<p>Definire un application pattern come quello per lo &#8220;<em>store locator<\/em>&#8221; comune a tutto il team di sviluppo, faciliter\u00e0 l&#8217;identificazione del problema, della risoluzione e delle possibili implementazioni. Riducendo, non tanto il tempo di scrittura del codice, quanto quello di ricerca di una soluzione ottimale ed il numero di implementazioni radicalmente diverse.<\/p>\n<p>Che ne dite?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Passando molto pi\u00f9 tempo a gestire la (follia della) gente che sul codice ho iniziato a rivedere alcuni concetti a me cari durante la mia precedente, e forse futura, vita da sviluppatore. Uno di questi \u00e8 la riusabilit\u00e0 del codice. Il primo tarlo sull&#8217;argomento si \u00e8 presentato quando, durante l&#8217;Agile Day di Roma, mi \u00e8 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[16,4,12],"tags":[2110,137,2166],"class_list":["post-2940","post","type-post","status-publish","format-standard","hentry","category-lifehack","category-pensieri","category-webdev","tag-lean","tag-pattern","tag-reuse"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Sulla riusabilit\u00e0 del codice - Fullo<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sulla riusabilit\u00e0 del codice - Fullo\" \/>\n<meta property=\"og:description\" content=\"Passando molto pi\u00f9 tempo a gestire la (follia della) gente che sul codice ho iniziato a rivedere alcuni concetti a me cari durante la mia precedente, e forse futura, vita da sviluppatore. Uno di questi \u00e8 la riusabilit\u00e0 del codice. Il primo tarlo sull&#8217;argomento si \u00e8 presentato quando, durante l&#8217;Agile Day di Roma, mi \u00e8 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/\" \/>\n<meta property=\"og:site_name\" content=\"Fullo\" \/>\n<meta property=\"article:published_time\" content=\"2012-02-08T22:53:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-02-08T23:33:03+00:00\" \/>\n<meta name=\"author\" content=\"Francesco Fullone\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fullo\" \/>\n<meta name=\"twitter:site\" content=\"@fullo\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Francesco Fullone\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/\"},\"author\":{\"name\":\"Francesco Fullone\",\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/#\\\/schema\\\/person\\\/24e91bc6caea6c411a8668df5639428c\"},\"headline\":\"Sulla riusabilit\u00e0 del codice\",\"datePublished\":\"2012-02-08T22:53:48+00:00\",\"dateModified\":\"2012-02-08T23:33:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/\"},\"wordCount\":654,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/#\\\/schema\\\/person\\\/24e91bc6caea6c411a8668df5639428c\"},\"keywords\":[\"lean\",\"pattern\",\"reuse\"],\"articleSection\":[\"lifehack\",\"pensieri\",\"webdev\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/\",\"url\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/\",\"name\":\"Sulla riusabilit\u00e0 del codice - Fullo\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/#website\"},\"datePublished\":\"2012-02-08T22:53:48+00:00\",\"dateModified\":\"2012-02-08T23:33:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sulla riusabilit\u00e0 del codice\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/\",\"name\":\"Fullo\",\"description\":\"nulla e&#039; impossibile per chi non lo deve fare!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/#\\\/schema\\\/person\\\/24e91bc6caea6c411a8668df5639428c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/#\\\/schema\\\/person\\\/24e91bc6caea6c411a8668df5639428c\",\"name\":\"Francesco Fullone\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/www.fullo.net\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.fullo.net\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.fullo.net\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1\",\"width\":622,\"height\":622,\"caption\":\"Francesco Fullone\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/www.fullo.net\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1\"},\"sameAs\":[\"http:\\\/\\\/www.fullo.net\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/fullo\",\"https:\\\/\\\/x.com\\\/fullo\"],\"url\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/author\\\/fullo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sulla riusabilit\u00e0 del codice - Fullo","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/","og_locale":"en_US","og_type":"article","og_title":"Sulla riusabilit\u00e0 del codice - Fullo","og_description":"Passando molto pi\u00f9 tempo a gestire la (follia della) gente che sul codice ho iniziato a rivedere alcuni concetti a me cari durante la mia precedente, e forse futura, vita da sviluppatore. Uno di questi \u00e8 la riusabilit\u00e0 del codice. Il primo tarlo sull&#8217;argomento si \u00e8 presentato quando, durante l&#8217;Agile Day di Roma, mi \u00e8 [&hellip;]","og_url":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/","og_site_name":"Fullo","article_published_time":"2012-02-08T22:53:48+00:00","article_modified_time":"2012-02-08T23:33:03+00:00","author":"Francesco Fullone","twitter_card":"summary_large_image","twitter_creator":"@fullo","twitter_site":"@fullo","twitter_misc":{"Written by":"Francesco Fullone","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/#article","isPartOf":{"@id":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/"},"author":{"name":"Francesco Fullone","@id":"https:\/\/www.fullo.net\/blog\/#\/schema\/person\/24e91bc6caea6c411a8668df5639428c"},"headline":"Sulla riusabilit\u00e0 del codice","datePublished":"2012-02-08T22:53:48+00:00","dateModified":"2012-02-08T23:33:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/"},"wordCount":654,"commentCount":4,"publisher":{"@id":"https:\/\/www.fullo.net\/blog\/#\/schema\/person\/24e91bc6caea6c411a8668df5639428c"},"keywords":["lean","pattern","reuse"],"articleSection":["lifehack","pensieri","webdev"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/","url":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/","name":"Sulla riusabilit\u00e0 del codice - Fullo","isPartOf":{"@id":"https:\/\/www.fullo.net\/blog\/#website"},"datePublished":"2012-02-08T22:53:48+00:00","dateModified":"2012-02-08T23:33:03+00:00","breadcrumb":{"@id":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fullo.net\/blog\/"},{"@type":"ListItem","position":2,"name":"Sulla riusabilit\u00e0 del codice"}]},{"@type":"WebSite","@id":"https:\/\/www.fullo.net\/blog\/#website","url":"https:\/\/www.fullo.net\/blog\/","name":"Fullo","description":"nulla e&#039; impossibile per chi non lo deve fare!","publisher":{"@id":"https:\/\/www.fullo.net\/blog\/#\/schema\/person\/24e91bc6caea6c411a8668df5639428c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fullo.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.fullo.net\/blog\/#\/schema\/person\/24e91bc6caea6c411a8668df5639428c","name":"Francesco Fullone","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/i0.wp.com\/www.fullo.net\/blog\/wp-content\/uploads\/2024\/10\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1","url":"https:\/\/i0.wp.com\/www.fullo.net\/blog\/wp-content\/uploads\/2024\/10\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.fullo.net\/blog\/wp-content\/uploads\/2024\/10\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1","width":622,"height":622,"caption":"Francesco Fullone"},"logo":{"@id":"https:\/\/i0.wp.com\/www.fullo.net\/blog\/wp-content\/uploads\/2024\/10\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1"},"sameAs":["http:\/\/www.fullo.net","https:\/\/www.linkedin.com\/in\/fullo","https:\/\/x.com\/fullo"],"url":"https:\/\/www.fullo.net\/blog\/author\/fullo\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3OSc1-Lq","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":2226,"url":"https:\/\/www.fullo.net\/blog\/2007\/03\/01\/symfony-10-ed-ajax\/","url_meta":{"origin":2940,"position":0},"title":"Symfony 1.0 ed Ajax","author":"Francesco Fullone","date":"01\/03\/2007","format":false,"excerpt":"E' finalmente stata rilasciata la prima versione stabile di Symfony 1.0. Noto application framework per PHP 5 di cui ho gi\u00e0 discusso pi\u00f9 volte e che ho iniziato ad usare attivamente nell'ultimo mese e mezzo grazie ad un lavoro con Ciccio (mio guru sull'argomento). Tra le magie di questa versione,\u2026","rel":"","context":"In &quot;ajax&quot;","block_context":{"text":"ajax","link":"https:\/\/www.fullo.net\/blog\/category\/tecnologia\/ajax\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2493,"url":"https:\/\/www.fullo.net\/blog\/2008\/10\/24\/learning-facebook-application-development-lasciatelo-perdere\/","url_meta":{"origin":2940,"position":1},"title":"Learning Facebook Application Development, lasciatelo perdere","author":"Francesco Fullone","date":"24\/10\/2008","format":false,"excerpt":"Sar\u00e0 che sto diventando vecchio e rompiscatole (a breve comprer\u00f2 un bastone da passeggio per poter indicare meglio agli operai in strada dove scavare..) ma sto sempre pi\u00f9 facendo fatica a parlare bene di cose che mi capitano sottomano. Per cause lavorative ho recuperato Learning Facebook Application Development della Packt,\u2026","rel":"","context":"In &quot;php&quot;","block_context":{"text":"php","link":"https:\/\/www.fullo.net\/blog\/category\/tecnologia\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2278,"url":"https:\/\/www.fullo.net\/blog\/2007\/06\/01\/modrewrite-e-wordpress-un-piccolo-plugin\/","url_meta":{"origin":2940,"position":2},"title":"ModRewrite e WordPress, un piccolo plugin","author":"Francesco Fullone","date":"01\/06\/2007","format":false,"excerpt":"Ultimamente, facendo un paio di migrazioni di blog fatti con WordPress (e non) per clienti mi sono ritrovato con lo spigoloso problema dell'integrit\u00e0 delle url con la nuova struttura del blog. Il problema \u00e8 stato per la maggior parte delle volte risolto con un alias sul server, dove non \u00e8\u2026","rel":"","context":"In &quot;php&quot;","block_context":{"text":"php","link":"https:\/\/www.fullo.net\/blog\/category\/tecnologia\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2116,"url":"https:\/\/www.fullo.net\/blog\/2006\/11\/14\/e-piu-forte-di-me\/","url_meta":{"origin":2940,"position":3},"title":"\u00c9 pi\u00f9 forte di me&#8230;","author":"Francesco Fullone","date":"14\/11\/2006","format":false,"excerpt":"Ma quando qualcuno mi dice: Php \u00e8 un linguaggio \"giocattolo\", va bene per delle cose rapide, ma quando bisogna fare delle cose ad un certo livello \u00e8 pi\u00f9 saggio utilizzare Java. Questo perch\u00e9 Php non \u00e8 un linguaggio completo, ad esempio il supporto per la programmazione ad oggetti \u00e8 ridicolo...\u2026","rel":"","context":"In &quot;pensieri&quot;","block_context":{"text":"pensieri","link":"https:\/\/www.fullo.net\/blog\/category\/pensieri\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1831,"url":"https:\/\/www.fullo.net\/blog\/2005\/12\/30\/php-e-programmazione-fluente\/","url_meta":{"origin":2940,"position":4},"title":"PHP e programmazione fluente","author":"Francesco Fullone","date":"30\/12\/2005","format":false,"excerpt":"Leggo con un certo interesse del nuovo meme di planet-php, cio\u00e8 dell'uso di interfacce fluent. A seguire un piccolo tutorial su come utilizzarle. In cosa consistono le interfaccie fluent? Detto in maniera semplice si tratta del principio di method chaining di linguaggi come SmallTalk che comporta l'esecuzione metodi in cascata\u2026","rel":"","context":"In &quot;php&quot;","block_context":{"text":"php","link":"https:\/\/www.fullo.net\/blog\/category\/tecnologia\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3347,"url":"https:\/\/www.fullo.net\/blog\/2017\/03\/25\/con-te-non-ci-lavoro\/","url_meta":{"origin":2940,"position":5},"title":"Con te non ci lavoro!","author":"Francesco Fullone","date":"25\/03\/2017","format":false,"excerpt":"Ovvero il piccolo vademecum su come scelgo i collaboratori Partiamo dal principio [chiudete gli occhi ed immaginatevi un flashback con effetto ondulatorio\u2026], ho iniziato a lavorare a cavallo tra i 16 e 17 anni d\u2019estate come commesso di un negozio di informatica, per la precisione di videogiochi. Era il periodo\u2026","rel":"","context":"In &quot;di tutto un po'&quot;","block_context":{"text":"di tutto un po'","link":"https:\/\/www.fullo.net\/blog\/category\/di-tutto-un-po\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.fullo.net\/blog\/wp-content\/uploads\/2020\/02\/1-tcQIaj75T_tCcLLWTB96Jg.png?fit=800%2C600&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.fullo.net\/blog\/wp-content\/uploads\/2020\/02\/1-tcQIaj75T_tCcLLWTB96Jg.png?fit=800%2C600&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.fullo.net\/blog\/wp-content\/uploads\/2020\/02\/1-tcQIaj75T_tCcLLWTB96Jg.png?fit=800%2C600&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.fullo.net\/blog\/wp-content\/uploads\/2020\/02\/1-tcQIaj75T_tCcLLWTB96Jg.png?fit=800%2C600&ssl=1&resize=700%2C400 2x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/posts\/2940","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/comments?post=2940"}],"version-history":[{"count":16,"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/posts\/2940\/revisions"}],"predecessor-version":[{"id":2956,"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/posts\/2940\/revisions\/2956"}],"wp:attachment":[{"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/media?parent=2940"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/categories?post=2940"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/tags?post=2940"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}