{"id":73944,"date":"2020-03-13T02:42:03","date_gmt":"2020-03-12T23:42:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo"},"modified":"2020-03-13T02:42:03","modified_gmt":"2020-03-12T23:42:03","slug":"retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","title":{"rendered":"Retrospettiva sui problemi. Come una soluzione personalizzata si \u00e8 rivelata migliore di una a pagamento","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ciao! Mi chiamo Alexey P'ankov, sono il programmatore principale della societ\u00e0 Sportmaster. Dico subito che \"principale\" non significa \"il pi\u00f9 importante di tutti i programmatori\", no, \u00e8 solo un titolo, una traduzione affascinante per \"Senior+\".<\/p>\n<p><\/p>\n<p>Lavoro in Sportmaster dal 2012 e nel frattempo il nostro team di sviluppo ha realizzato molte soluzioni, interessanti dal punto di vista tecnico. Ma oggi vorrei parlare del nostro lavoro, ponendo l'accento su come abbiamo ragionato in situazioni ambigue.<\/p>\n<p><\/p>\n<p>In questo articolo non ci saranno soluzioni tecniche specifiche (e nemmeno qualcosa di tecnico) che dovresti adottare nel tuo progetto. Piuttosto, si tratta di una riflessione sul lavoro svolto. Ci sono stati momenti speciali che ci hanno influenzato come team: ci hanno uniti, temprati e messi alla prova. Di questi momenti, dell'atmosfera di lavoro in team, dei nostri scivoloni e di una serie di trappole psicologiche in cui ci cadiamo a volte, cercher\u00f2 di parlare oggi.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrospettiva sui problemi. Come una soluzione personalizzata si \u00e8 rivelata migliore di una a pagamento\" src=\"\/wp-content\/uploads\/2020\/03\/1651640dbf2cb45d48e1e046a78c931f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>E comincer\u00f2 proprio dal 2012.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Sono arrivato nel 2012 con l'obiettivo principale di quel tempo: lavorare sul nostro sito web di punta. All'epoca era un \"mostro di Frankenstein\": parte del team lavorava con il nostro vecchio sistema, che non gestiva molto bene i carichi (Bitrix), mentre un'altra parte del team (di cui facevo parte io) cercava di implementare un nuovo sistema che avevamo scelto perch\u00e9 \"Essendo il pi\u00f9 costoso e-commerce al mondo, lo prendiamo\". Proprio \"provare a implementare\" \u2014 perch\u00e9 il sistema resisteva strenuamente e per ogni problema che riuscivamo a risolvere, appariva inevitabilmente una \"sorpresa\" in risposta. Lavoravamo molto, ma avanzavamo alla velocit\u00e0 di una lumaca.<\/p>\n<p><\/p>\n<p>Personalmente, l'ultima goccia \u00e8 stata la scoperta del codice di un metodo in questo \"e-commerce pi\u00f9 costoso al mondo\", quando diverse ore di lavoro concentrato su un bug ingarbugliato hanno portato alla luce una causa da qualche parte in un custom-tag, che viene eseguito durante la generazione dell'html in jsp. Il compito di questo custom-tag \u00e8 visualizzare la somma di alcune quantit\u00e0. Non \u00e8 male, a questo servono i custom-tag. Ma l'imprevisto \u00e8 stato che durante questo processo alcuni dati nel database cambiano, questo influisce sul comportamento delle pagine successive, e se premi F5 - la chiamata si ripeteva, compromettendo la consistenza dei dati. Inoltre, questo si manifestava solo dopo alcuni passaggi, nella terza pagina della sequenza. No, non ho nulla in contrario a che un tale \"master-ninja\" sia in squadra e mantenga alta l'attenzione dei colleghi. Ma cos\u00ec, nella libreria del sistema pi\u00f9 costoso di tutti!<\/p>\n<p><\/p>\n<p>Era un venerd\u00ec. E sabato e domenica io e un collega siamo stati in ufficio per capire quali compiti il business assegni al sistema proprio oggi e quali compiti potrebbe immaginare tra un anno. Di conseguenza, come li risolveremmo, se non fossimo stati costretti a utilizzare questo sistema cos\u00ec costoso e frustrante.<\/p>\n<p><\/p>\n<p>Detto e fatto. Abbiamo realizzato un pilota, nel quale abbiamo gettato le basi per lo sviluppo del nuovo sito di Sportmaster. Molte di queste idee sono state adottate e attualmente il loro seguito \u00e8 attivamente presente sul sito.<\/p>\n<p><\/p>\n<h2 id=\"etapy-pilota-i-vremennye-ramki\">Fasi del pilota e scadenze<\/h2>\n<p><\/p>\n<p><strong>2 giorni.<\/strong> Abbiamo realizzato un micro-prototipo - nel fine settimana stiamo trasferendo il nostro database in ElasticSearch, stiamo implementando la ricerca facettata. Voil\u00e0! In quel sistema di acquisto tale configurazione ha richiesto 2 settimane. Qui - letteralmente in poche ore! E funziona anche pi\u00f9 velocemente. Anzi, pi\u00f9 veloce di un ordine di grandezza.<\/p>\n<p><\/p>\n<p><strong>2 settimane.<\/strong> Stiamo \"creando\" un prototipo, aggiungendo funzionalit\u00e0 per un'adeguata visualizzazione personalizzata. <\/p>\n<p><\/p>\n<p>Ad esempio, l'utente ha diversi sconti e promozioni che sono pertinenti solo per lui - quindi nei risultati di ricerca dei prodotti \u00e8 necessario visualizzare il prezzo che pu\u00f2 essere ottenuto applicando tutti i vantaggi disponibili nel modo pi\u00f9 vantaggioso.<\/p>\n<p><\/p>\n<p>Con le promozioni non \u00e8 cos\u00ec semplice. Ad esempio, ho comprato degli sci, ora c'\u00e8 uno sconto del 40% sul berretto, ma viene annullato lo sconto di benvenuto del 10% su tutto il carrello. S\u00ec, questo \u00e8 un caso reale \ud83d\ude42 E per impostare una tale promozione nel sistema di acquisto, sono state pagate 3 consulenze con il fornitore, da cui abbiamo ricevuto molti esempi su come realizzare altre promozioni. Molto diplomaticamente e, considerando il costo delle consulenze, \u00e8 stato un buon risparmio dal punto di vista economico.<\/p>\n<p><\/p>\n<p>Abbiamo mostrato al business una demo dettagliata. Hanno promesso di allestire rapidamente un pilota e si sono messi subito al lavoro.<\/p>\n<p><\/p>\n<p><strong>2 mesi.<\/strong> Il progetto pilota \u2014 lo stiamo facendo come un sito web dal vivo con ricerca nel catalogo. Ricerca con faccette, risultati di ricerca \u2014 con sconti personali, il pilota sembra quasi il sito di Sportmaster, e abbiamo caricato gli stessi prodotti. Una delizia! <\/p>\n<p><\/p>\n<p>Aggiungiamo \"Krasnorechie:100\" del nostro capo reparto, e la presentazione al business va a meraviglia! Ci danno carta bianca per sviluppare la piattaforma eCommerce noi stessi.<\/p>\n<p><\/p>\n<p>E questo significa, tenete duro, ragazzi, team, tenete duro, ragazzi, budget. \u00c8 fantastico!<\/p>\n<p><\/p>\n<p><strong>2 anni.<\/strong> Il rilascio del sito in produzione. S\u00ec, \u00e8 stato lungo. Tutto ci\u00f2 che sapevamo allora, l'abbiamo provato solo su scala prototipale. Due persone formano facilmente un team affiatato. E le attivit\u00e0 che 'fissavamo' erano per lo pi\u00f9 piccoli affinamenti di 'Hello World' nelle nuove tecnologie. Generavamo facilmente nuove ipotesi, le verificavamo rapidamente, non ci attaccavamo troppo e quindi le 'uccidevamo' senza rimpianti. Quando siamo diventati 10 persone, per inerzia abbiamo estrapolato la nostra velocit\u00e0 di lavoro a tutti gli altri. E promettemmo tempi di consegna che erano pari a un'idea perfetta moltiplicata per il nostro entusiasmo.<\/p>\n<p><\/p>\n<p>Situazione familiare? \ud83d\ude42<\/p>\n<p><\/p>\n<p>Allora, sapete gi\u00e0 cosa succeder\u00e0 dopo?<\/p>\n<p><\/p>\n<h2 id=\"lovushka-1-ekstrapolyator-krutysh\">Trappola n. 1. \"Estrapolatore figo\"<\/h2>\n<p><\/p>\n<p>\u00c8 chiaro che le nuove tecnologie sembrano fantastiche nelle presentazioni e si comportano bene nell'applicazione del tipo 'Hello World'. Ma la realt\u00e0 di solito \u00e8 un po' pi\u00f9 lontana da questo.<\/p>\n<p><\/p>\n<p>Ecco. Prendiamo una libreria, scriviamo un sacco di codice applicativo. Consideriamo i test unitari un onere (siamo fighi e lavoriamo a velocit\u00e0 supersonica qui, il codice \u00e8 moderno e altro). Cambiamo e rifiniamo continuamente l'API al volo \u2014 ma quali test ci sono qui, sul serio. E tutto questo sotto il vessillo 'abbiamo ottimizzato in modo fantastico il processo di sviluppo' (s\u00ec, ora \u00e8 persino spaventoso descriverlo).<\/p>\n<p><\/p>\n<p>E poi tutto \u00e8 piuttosto ovvio.<\/p>\n<p><\/p>\n<p>Stiamo lanciando una nuova versione su uat. I ragazzi del business sono entusiasti e si mettono subito a testare tutto, premendo pulsanti. A volte lo fanno in modo piuttosto creativo \u2014 qualcosa si disconnette. Qui sarebbe utile andare a scoprire cosa hanno fatto per risolvere. Ma dall'altra parte dello schermo non c'\u00e8 un tester impegnato, che ti elencherebbe tutte le caratteristiche dell'ambiente considerando le condizioni meteo nella regione, ma un cliente del business. Per lui \u00e8 semplicemente \"non funziona\". Questo significa che non \u00e8 soddisfatto. Chiedilo e lui sar\u00e0 <em>terribilmente<\/em> insoddisfatto!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrospettiva sui problemi. Come una soluzione personalizzata si \u00e8 rivelata migliore di una a pagamento\" src=\"\/wp-content\/uploads\/2020\/03\/9d980b25fabea5e0a34a428fb9dbb85e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Quindi, per riprodurre il bug, bisogna andare e provare tutto. Certo, non abbiamo ignorato nemmeno un reclamo e abbiamo risolto tutto. Abbiamo abbandonato le attivit\u00e0 pianificate, ma stavamo \"spegnendo incendi\".<\/p>\n<p><\/p>\n<p>Cos\u00ec ci siamo scavati una nuova buca.<\/p>\n<p><\/p>\n<h2 id=\"lovushka-2-stahanovec\">Trappola n. 2. \"Il lavoratore instancabile\"<\/h2>\n<p><\/p>\n<p>Ti \u00e8 giunto un bug piuttosto sgradevole. Cominci a indagare. Non riesci \u2014 rabbia \u2014 tentativo di risolvere ancora \u2014 un altro flop \u2014 chiarisci tutto il possibile \u2014 di nuovo non \u00e8 giusto \u2014 pensi che sei gi\u00e0 vecchio e che tutti hanno figli e mutui \u2014 provi di nuovo \u2014 ancora non \u00e8 giusto. Dopo alcune tazze di caff\u00e8, tutto si ripete. 12-14 ore di lavoro di fila \u2014 quasi nella norma. E quando ormai tutto \u00e8 al limite \u2014 ecco, illuminazione!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrospettiva sui problemi. Come una soluzione personalizzata si \u00e8 rivelata migliore di una a pagamento\" src=\"\/wp-content\/uploads\/2020\/03\/8f66e2ca834ffafd72bde53fd397bcb7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Forse, dall'esterno, la valutazione dell'efficacia di una giornata simile \u00e8 chiara e corretta. Ma da dentro \u2014 potrebbe essere diverso.<\/p>\n<p><\/p>\n<p>Nel mio caso, la sensazione di un lavoro del genere includeva \"Sono bravo, sono fantastico, ce l'ho fatta\". Non sempre in modo consapevole, ma inconsapevolmente \u2014 sempre!<\/p>\n<p><\/p>\n<p>E ci si abitua, senza scherzi. Risulta che le metriche interne di successo si spostano dal risultato al numero di sforzi applicati e al livello di gesta compiute, a quanto hai sofferto nel tentativo di risolvere il compito.<\/p>\n<p><\/p>\n<p>Probabilmente, questa \u00e8 la pi\u00f9 grande trappola.<\/p>\n<p><\/p>\n<p>D'ora in poi sar\u00e0 pi\u00f9 facile e divertente \ud83d\ude42<\/p>\n<p><\/p>\n<h2 id=\"lovushka-3-sila-hello-world\">Trappola n. 3. \"Il potere del Hello world\"<\/h2>\n<p><\/p>\n<p>Il nostro stack tecnologico di quel periodo: ElasticSearch, Hazelcast, Pentaho, freemarker (e le pi\u00f9 collaudate Java, Spring, Tomcat, nginx). Freemarker forniva messaggi di errore non molto informativi. Mentre ElasticSearch, Hazelcast e Pentaho hanno dovuto essere patchati pi\u00f9 volte \u2014 trovavamo abilmente casi in cui non funzionavano come specificato dalla documentazione.<\/p>\n<p><\/p>\n<p>Un avvio facile e biscotti veloci grazie all'uso di una nuova tecnologia \u00e8 bello, ma pu\u00f2 generare euforia e ridurre la vigilanza. Perch\u00e9 la nuova tecnologia contiene bug, sicuramente ne contiene. E se non ne hanno ancora scritto, rallegrati, toccher\u00e0 a te essere il pioniere che sicuramente scova qualcosa di storto e andr\u00e0 a cercare su Google o su SO. Certamente, \"storto\" si pu\u00f2 trovare in prodotti collaudati, ma nei nuovi \u00e8 molto pi\u00f9 facile.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrospettiva sui problemi. Come una soluzione personalizzata si \u00e8 rivelata migliore di una a pagamento\" src=\"\/wp-content\/uploads\/2020\/03\/86d505a5125b8106503497b72ff7761e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nonostante tutte le difficolt\u00e0, siamo arrivati in produzione. S\u00ec, con lag. S\u00ec, non molto stabile. Ma nel complesso \u2014 senza catastrofi.<\/p>\n<p><\/p>\n<p>Riassumendo, sottolineo ancora una volta le trappole in cui la percezione sana del processo lavorativo viene distorta.<\/p>\n<p><\/p>\n<ol>\n<li><strong>\u00abEstrattore di velocit\u00e0\u00bb<\/strong>. Sotto l'impressione dei successi attuali, proseguiamo e proiettiamo felicemente la velocit\u00e0 di sviluppo sui progetti futuri.<\/li>\n<li><strong>\u00abLavoratore instancabile\u00bb<\/strong>. Lavoriamo al massimo, siamo soddisfatti di noi stessi, ma non ci accorgiamo che i problemi che affrontiamo sono conseguenza dei nostri errori\/omissioni\/disattenzioni personali. Lavori da non fare.<\/li>\n<li><strong>\u00abLa forza del Hello world\u00bb<\/strong>. Ci affrettiamo a implementare in produzione tutto il nuovo e interessante.<\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"pochemu-vsyo-poluchilos\">Perch\u00e9 tutto ha funzionato<\/h2>\n<p><\/p>\n<p>Certo, non ho elencato tutti gli errori che abbiamo avuto in questo periodo, ma quelli pi\u00f9 comuni e probabili per un progetto di qualsiasi tipo. Tale registrazione degli errori aiuta a evitarli in futuro.<\/p>\n<p><\/p>\n<p>Qualche parola su come siamo riusciti a creare una mini-startup all'interno dell'azienda e convincere il business a lasciare un sistema gi\u00e0 acquistato per qualcosa di nostro, sviluppato internamente.<\/p>\n<p><\/p>\n<p><strong>Condizione n\u00b00<\/strong>. Un ambiente sano in azienda. Non si tratta solo degli \"occhi brillanti\" dei dipendenti e della comunicabilit\u00e0 in condizioni di stress nella raccolta dei biscotti, no. Si tratta di tutte le interazioni.<\/p>\n<p><\/p>\n<p><strong>Condizione n\u00b01<\/strong>. Credere in ci\u00f2 che si fa. Sul serio, non penso che avremmo avuto alcuna possibilit\u00e0 se avessimo iniziato il progetto senza analizzare il sistema acquistato \"fino all'ultima vite\" \u2014 cio\u00e8, allontanandoci e sapendo inconsciamente che quel sistema \u00e8 migliore e ci avrebbe superato.<\/p>\n<p><\/p>\n<p>Cosa abbiamo fatto: 1) abbiamo analizzato il sistema acquistato, usando esso per soddisfare le principali richieste del business; 2) abbiamo stilato un elenco di compiti che non solo esistono ora, ma anche che ci saranno in un futuro prevedibile; 3) abbiamo selezionato una soluzione che si adatta meglio. E allora, la nostra valutazione della soluzione \u00e8 stata una valutazione di esperti.<\/p>\n<p><\/p>\n<p>Ci darebbero qualcosa se venissimo semplicemente e dicessimo: \u201cragazzi, tutto fa schifo, non vogliamo occuparci di questo e abbiamo deciso di farne uno da zero\u201d? Molto improbabile. E riceveremmo una risposta in una forma che rimarrebbe ben impressa \ud83d\ude42<\/p>\n<p><\/p>\n<p><strong>Condizione n. 2<\/strong>. Facciamo il primo passo in piccolo. Generiamo la prima ipotesi e la verifichiamo. Possiamo dedicarci anche il nostro tempo personale. Se non si vuole perdere tempo \u2014 allora non vale la pena di intraprendere tale impresa. E se non si vuole verificare una piccola ipotesi, ma si vuole subito fare qualcosa di fantastico e brillante \u2014 state lontani da queste persone!<\/p>\n<p><\/p>\n<p>Siamo stati fortunati e la prima ipotesi ha funzionato. Ma non \u00e8 sempre cos\u00ec. Ad esempio, in uno dei progetti successivi, quando promuovevamo il pannello di amministrazione nell'ambito di un pilota simile, ci \u00e8 servita solo la diciottesima opzione. E i primi 17 approcci al problema sono stati inutili. A proposito, nella storia della creazione del pannello di amministrazione, gli sviluppi della trama erano a livello di soap opera brasiliane, perch\u00e9 il team era composto da ragazzi che, a quel tempo, erano gi\u00e0 veterani, veri e propri \u201cnavigati\u201d.<\/p>\n<p><\/p>\n<p><strong>Condizione n. 3<\/strong>. Creiamo un MVP e cerchiamo le lamentele della persona che prende le decisioni. Certamente, potrebbe gi\u00e0 mostrare terrore sul suo volto solo per il fatto che gli state presentando per la trentaesima volta un'idea. Ma comunque. E mostriamo sempre come esattamente il nostro prodotto risolve i suoi problemi.<\/p>\n<p><\/p>\n<p><strong>Condizione n. 4<\/strong>. Realizziamo velocemente un pilota che sembri <em>circa<\/em> il risultato finale. Fare tutto in modo perfetto \u00e8 allettante, ma si pu\u00f2 incappare nel perfezionismo, il che significherebbe voler mostrare gi\u00e0 la versione ideale di un prodotto pilota. E non esistono. Quindi, basta fare qualcosa anche solo con bastoni.<\/p>\n<p><\/p>\n<p><strong>Condizione n. 5<\/strong>. Prodotto. Il progetto cresce, ottiene finanziamenti, arrivano specialisti con una solida esperienza.<br \/>\nE se siete un classico startupper, questo \u00e8 proprio il momento in cui dovete andare via con un fischio. Perch\u00e9 i voli leggeri in alto e la sensazione di un generale benequismo di ci\u00f2 che sta accadendo si dissipano rapidamente.<\/p>\n<p><\/p>\n<p>Uscire in produzione significa affrontare carichi reali, integrazione con una decina di sistemi, e quando crei nuove funzionalit\u00e0, contemporaneamente, nell'ambito del supporto, perfezioni le versioni precedenti. Tutto ci\u00f2 rappresenta sfide ben pi\u00f9 serie che inventare un'idea e risolvere, sia pure bene, ma solo un problema per il cliente.<\/p>\n<p><\/p>\n<p>Questi sono sfide e la crescita delle competenze avviene proprio in questa fase.<\/p>\n<p><\/p>\n<p>Grazie per aver letto. Happy New Code!<\/p>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/485088\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440. \u0421\u043a\u0430\u0436\u0443 \u0441\u0440\u0430\u0437\u0443, \u0447\u0442\u043e \u00ab\u0433\u043b\u0430\u0432\u043d\u044b\u0439\u00bb \u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442 \u00ab\u0441\u0430\u043c\u044b\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0437 \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432\u00bb, \u043d\u0435\u0442, \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0442\u0430\u043a\u043e\u0439 \u043e\u0447\u0430\u0440\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0434\u043b\u044f \u00abSenior+&quot;\u00bb. \u0412 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440 \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0441 2012 \u0433\u043e\u0434\u0430, \u0438 \u0437\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0441 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b. \u041d\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":73945,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-73944","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0430 \u0433\u0440\u0430\u0431\u043b\u0435\u0439. \u041a\u0430\u043a \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043a\u0440\u0443\u0447\u0435 \u043f\u043b\u0430\u0442\u043d\u043e\u0433\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-12T23:42:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-12T23:42:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Retrospettiva di errori. Come una soluzione personalizzata si \u00e8 rivelata migliore di una a pagamento | ProHoster","description":"Ciao! Mi chiamo Aleksey Pyankov, sono il programmatore principale dell'azienda Sportmaster.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0430 \u0433\u0440\u0430\u0431\u043b\u0435\u0439. \u041a\u0430\u043a \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043a\u0440\u0443\u0447\u0435 \u043f\u043b\u0430\u0442\u043d\u043e\u0433\u043e | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-12T23:42:03+00:00","article:modified_time":"2020-03-12T23:42:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"73944","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:24:23","updated":"2022-10-06 05:35:50","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/73944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=73944"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/73944\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/73945"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=73944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=73944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=73944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}