{"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 dei fallimenti. Come una soluzione personalizzata si \u00e8 rivelata migliore di una a pagamento","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"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.<\/p>\n<p><\/p>\n<p>Lavoro in Sportmaster dal 2012 e, nel corso degli anni, il team di sviluppo ha realizzato molte soluzioni interessanti dal punto di vista tecnico. Oggi, per\u00f2, vorrei raccontare del nostro lavoro con pi\u00f9 attenzione su come abbiamo ragionato in situazioni ambigue.<\/p>\n<p><\/p>\n<p>In questo articolo non troverai soluzioni tecniche specifiche (e nemmeno qualcosa di tecnico) da prendere e applicare nel tuo progetto. Piuttosto, sar\u00e0 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 lavorativa nel team, dei nostri errori e di alcune trappole psicologiche in cui a volte ci cadiamo, cercher\u00f2 di parlare oggi.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrospettiva dei fallimenti. 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 lavorare sul nostro sito di punta. All'epoca era un \"mostro di Frankenstein\": una parte del team lavorava con il nostro vecchio sistema, che faceva fatica a gestire i carichi (Bitrix), mentre un'altra parte del team (incluso me) cercava di implementare un nuovo sistema, scelto con il criterio \"Se \u00e8 il pi\u00f9 costoso e-commerce al mondo, lo prendiamo\". Ebbene, \"cercavamo di implementare\" \u2014 perch\u00e9 il sistema resisteva strenuamente, e ogni volta che riuscivamo a risolvere un problema, ne emergeva inevitabilmente un altro \"sorpresa\". Lavoravamo molto, ma avanzavamo alla velocit\u00e0 di una tartaruga.<\/p>\n<p><\/p>\n<p>Per me, l'ultima goccia \u00e8 stata scoprire il codice di un metodo in questo \"e-commerce pi\u00f9 costoso al mondo\", quando diverse ore di lavoro concentrato su un bug complesso hanno rivelato che la causa si trovava in un custom-tag, che viene eseguito durante la generazione dell'html in jsp. Lo scopo di questo custom-tag \u00e8 visualizzare la somma di alcune grandezze. Questo \u00e8 positivo, perch\u00e9 a questo serve il custom-tag. Ma la sorpresa \u00e8 emersa dal fatto che, nel farlo, alcuni dati nel database venivano modificati, il che influenzava il comportamento delle pagine successive; e se si premeva F5, la chiamata si ripeteva, compromettendo la coerenza dei dati. Inoltre, il problema si manifestava solo dopo alcuni passaggi, alla terza pagina della sequenza. No, non sono contrario a che un simile \"master-ninja\" faccia parte del team e mantenga alta l'attenzione dei colleghi. Ma non in questo modo, in una libreria del sistema pi\u00f9 costoso!<\/p>\n<p><\/p>\n<p>Era venerd\u00ec. Sabato e domenica io e un collega li abbiamo trascorsi in ufficio per capire quali compiti il business ci pone davanti oggi e quali potrebbero presentarsi fra un anno. Di conseguenza, come potremmo affrontarli, se non fossimo costretti a usare questo sistema costoso e frustrante.<\/p>\n<p><\/p>\n<p>Detto-fatto. Abbiamo realizzato un pilota, nel quale abbiamo posto le basi per lo sviluppo del nuovo sito di Sportmaster. Molte di queste idee sono state accolte e ora il loro proseguimento \u00e8 attivo sul sito.<\/p>\n<p><\/p>\n<h2 id=\"etapy-pilota-i-vremennye-ramki\">Fasi del pilota e tempistiche<\/h2>\n<p><\/p>\n<p><strong>2 giorni.<\/strong> Abbiamo creato un micro-prototipo: nel fine settimana trasferiamo il nostro database in ElasticSearch e realizziamo una ricerca per faccette. Voil\u00e0! Nella stessa costosa piattaforma, questa configurazione richiedeva 2 settimane. Qui, per\u00f2, \u00e8 stata completata in poche ore! E funziona anche pi\u00f9 velocemente. Anzi, \u00e8 pi\u00f9 veloce di un ordine di grandezza.<\/p>\n<p><\/p>\n<p><strong>2 settimane.<\/strong> Stiamo sviluppando il prototipo, aggiungendo funzionalit\u00e0 per una presentazione personalizzata adeguata. <\/p>\n<p><\/p>\n<p>Ad esempio, un utente ha diverse sconti e promozioni a lui dedicate \u2014 in questo caso, nei risultati di ricerca per i prodotti deve essere visualizzato esattamente il prezzo che si pu\u00f2 ottenere 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 acquistato degli sci, ora c'\u00e8 uno sconto del 40% sul berretto, ma cos\u00ec facendo si annulla lo sconto di benvenuto del 10% su tutto l'ordine. S\u00ec, \u00e8 un caso reale \ud83d\ude42 E per impostare una tale promozione nel sistema d'acquisto, sono state pagate 3 consulenze con il fornitore, grazie alle quali abbiamo ricevuto molti esempi su come realizzare diverse altre promozioni. Molto diplomatico e, considerando il costo delle consulenze, economicamente molto vantaggioso.<\/p>\n<p><\/p>\n<p>Abbiamo mostrato un demo dettagliata all'azienda. Abbiamo promesso di allestire rapidamente un pilota e siamo subito passati all'azione.<\/p>\n<p><\/p>\n<p><strong>2 mesi.<\/strong> Il progetto pilota \u2014 lo realizziamo sotto forma di un sito web live con ricerca nel catalogo. Ricerca con faccette, risultati di ricerca \u2014 con sconti personalizzati, il pilota sembra quasi un sito di Sportmaster, e abbiamo caricato gli stessi prodotti. Fantastico! <\/p>\n<p><\/p>\n<p>Aggiungiamo \u00abKrasnorechie:100\u00bb del nostro capo reparto, e la presentazione all'azienda va a gonfie vele! Ci danno carta bianca per sviluppare noi stessi la piattaforma eCommerce.<\/p>\n<p><\/p>\n<p>E questo significa, tenete duro, ragazzi, tenete duro, ragazzi, il budget. \u00c8 fantastico, giusto!<\/p>\n<p><\/p>\n<p><strong>2 anni.<\/strong> Rilascio del sito in produzione. S\u00ec, \u00e8 stato lungo. Tutto ci\u00f2 che sapevamo fare all'epoca l'abbiamo provato solo in scala prototipale. Due persone formano facilmente una squadra affiatata. E anche le attivit\u00e0 che 'spuntavamo' erano, per lo pi\u00f9, piccole rifiniture di 'Hello World' con nuove tecnologie. Generavamo facilmente nuove ipotesi, le testavamo rapidamente, non riuscivamo ad affezionarci e quindi le 'uccidevamo' senza rimpianti. Quando siamo diventati 10, per inerzia abbiamo estrapolato la nostra velocit\u00e0 di lavoro su tutti gli altri. E abbiamo promesso scadenze eque, pari alla nostra idea di bellezza moltiplicata per il nostro entusiasmo.<\/p>\n<p><\/p>\n<p>Situazione familiare? \ud83d\ude42<\/p>\n<p><\/p>\n<p>Allora, sai gi\u00e0 cosa succeder\u00e0 dopo?<\/p>\n<p><\/p>\n<h2 id=\"lovushka-1-ekstrapolyator-krutysh\">Trappola n. 1. \u00abL'extrapolatore straordinario\u00bb<\/h2>\n<p><\/p>\n<p>\u00c8 chiaro che le nuove tecnologie sembrano fantastiche nelle presentazioni e si comportano alla grande nelle applicazioni di tipo \u00abHello World\u00bb. Ma la realt\u00e0 di solito \u00e8 un po' diversa da questo.<\/p>\n<p><\/p>\n<p>Ecco come funziona. Prendiamo la libreria, scriviamo una marea di codice applicativo. I test unitari li consideriamo un peso (siamo fighi e lavoriamo a supervelocit\u00e0, il codice \u00e8 moderno e cos\u00ec via). Cambiamo e perfezioniamo costantemente l'API al volo \u2014 seriamente, chi ha bisogno di test? E tutto questo sotto la bandiera \"abbiamo ottimizzato il processo di sviluppo\" (s\u00ec, adesso \u00e8 persino spaventoso descriverlo).<\/p>\n<p><\/p>\n<p>E poi tutto \u00e8 piuttosto ovvio.<\/p>\n<p><\/p>\n<p>Distribuiamo una nuova build su UAT. I ragazzi del business si affrettano a testare e premere i pulsanti. A volte premono in modo piuttosto creativo \u2014 qualcosa si rompe. Qui sarebbe il caso di andare a scoprire cosa \u00e8 stato fatto. Ma dall'altra parte dello schermo non c'\u00e8 un tester scrupoloso, pronto a darti tutte le caratteristiche dell'ambiente tenendo conto delle condizioni climatiche della regione, bens\u00ec il committente del business. Per lui, semplicemente \"non funziona\". E questo significa che \u00e8 insoddisfatto. Se lo chiedi, lui dir\u00e0 <em>che \u00e8 molto<\/em> insoddisfatto!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrospettiva dei fallimenti. 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>Allora, per riprodurre il bug, bisogna andare e provare a toccare tutto a caso. Certo, non abbiamo trascurato nessuna lamentela e abbiamo sistemato tutto. Abbiamo abbandonato le attivit\u00e0 programmate, ma \"abbiamo spento il fuoco\".<\/p>\n<p><\/p>\n<p>Cos\u00ec abbiamo scavato un'altra buca.<\/p>\n<p><\/p>\n<h2 id=\"lovushka-2-stahanovec\">Trappola n. 2. \"Stakhanovista\"<\/h2>\n<p><\/p>\n<p>Un bug poco piacevole \u00e8 arrivato. Cominci a indagare. Non funziona \u2014 rabbia \u2014 provi di nuovo a risolverlo \u2014 ennesima delusione \u2014 chiedi tutto ci\u00f2 che puoi \u2014 di nuovo non \u00e8 giusto \u2014 pensi che ormai sei vecchio e tutti hanno figli e mutui \u2014 riprovi \u2014 di nuovo non \u00e8 giusto. Dopo alcune tazze di caff\u00e8, tutto si ripete. 12-14 ore di lavoro di fila \u2014 quasi normale. E quando ormai tutti sono al limite \u2014 ecco, un'illuminazione!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrospettiva dei fallimenti. 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 del genere \u00e8 chiara e corretta. Ma da dentro \u2014 pu\u00f2 essere diverso.<\/p>\n<p><\/p>\n<p>Nel mio caso, la sensazione di questo lavoro includeva \"Sono fantastico, sono forte, ce l'ho fatta\". Non sempre consapevolmente, ma inconsapevolmente \u2014 sempre!<\/p>\n<p><\/p>\n<p>E ci si abitua, senza scherzi. Di conseguenza, le metriche interne di successo si spostano dal risultato al numero di sforzi compiuti e al livello di prodezze che hai realizzato, quanto hai sofferto nel tentativo di risolvere il problema.<\/p>\n<p><\/p>\n<p>Probabilmente, questa \u00e8 la trappola pi\u00f9 terribile.<\/p>\n<p><\/p>\n<p>Dopo sar\u00e0 pi\u00f9 facile e divertente \ud83d\ude42<\/p>\n<p><\/p>\n<h2 id=\"lovushka-3-sila-hello-world\">Trappola n. 3. \u00abIl potere di Hello world\u00bb<\/h2>\n<p><\/p>\n<p>Il nostro stack tecnologico di quel periodo: ElasticSearch, Hazelcast, Pentaho, freemarker (e provate Java, Spring, Tomcat, nginx). Freemarker forniva messaggi di errore non molto informativi. Tuttavia, abbiamo dovuto applicare patch a ElasticSearch, Hazelcast e Pentaho diverse volte \u2014 trovavamo abilmente casi in cui non funzionavano come specificato nella documentazione.<\/p>\n<p><\/p>\n<p>Un avvio facile e rapidi vantaggi dall'uso di una nuova tecnologia vanno bene, ma introducono euforia e abbassano la guardia. Perch\u00e9 una nuova tecnologia contiene bug, li contiene sempre. E se non sono stati ancora scritti \u2014 godi, tocca a te diventare il pioniere che sicuramente trover\u00e0 qualcosa di storto e andr\u00e0 a cercare su Google o su SO. Certo, 'storto' pu\u00f2 essere trovato anche in prodotti collaudati, ma nei nuovi \u00e8 molto pi\u00f9 semplice.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrospettiva dei fallimenti. 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 dei lag. S\u00ec, non molto stabile. Ma in generale \u2014 senza catastrofi.<\/p>\n<p><\/p>\n<p>Quindi ribadisco ancora una volta le trappole in cui viene distorta una sana percezione del processo di lavoro.<\/p>\n<p><\/p>\n<ol>\n<li><strong>\u00abEstraibilit\u00e1 sorprendente\u00bb<\/strong>. Impressionati dai successi attuali, andiamo avanti ed estendiamo con gioia la velocit\u00e0 di sviluppo ai progetti futuri.<\/li>\n<li><strong>\u00abSostituto\u00bb<\/strong>. Lavoriamo fino all'esaurimento, soddisfatti di noi stessi, ma non ci accorgiamo che i problemi che risolviamo sono conseguenze dei nostri errori personali \/ delle nostre mancanze \/ delle nostre negligenze. Lavori da non fare.<\/li>\n<li><strong>\u00abIl potere di Hello World\u00bb<\/strong>. Ci affrettiamo a implementare in produzione tutto ci\u00f2 che \u00e8 nuovo e interessante.<\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"pochemu-vsyo-poluchilos\">Perch\u00e9 \u00e8 andato tutto bene<\/h2>\n<p><\/p>\n<p>Certo, non ho elencato tutti gli errori che abbiamo commesso nel tempo, ma solo i pi\u00f9 comuni, probabili per progetti di qualsiasi specificit\u00e0. Tale registrazione degli errori aiuta a evitarli in futuro.<\/p>\n<p><\/p>\n<p>Un po' su come siamo riusciti a creare una mini-startup all'interno dell'azienda e convincere il business a passare da un sistema gi\u00e0 acquistato a qualcosa di personalizzato.<\/p>\n<p><\/p>\n<p><strong>Condizione n. 0<\/strong>. Un clima sano in azienda. Non si tratta solo di avere \u00abocchi brillanti\u00bb nei dipendenti e di comunicabilit\u00e0 in condizioni di stress nella raccolta di biscotti, no. Riguarda tutte le interazioni.<\/p>\n<p><\/p>\n<p><strong>Condizione n. 1<\/strong>. Credere in ci\u00f2 che si fa. Seriamente, non penso che avremmo avuto alcuna possibilit\u00e0 se avessimo fatto un pilota senza smontare il sistema acquistato \u00abfino all'ultima vite\u00bb \u2014 cio\u00e8, ritirandoci e sapendo in modo subconscio che quel sistema \u00e8 migliore e ci batter\u00e0.<\/p>\n<p><\/p>\n<p>Cosa abbiamo fatto: 1) abbiamo esaminato il sistema di acquisto, utilizzandolo per risolvere le principali richieste del business 2) abbiamo redatto un elenco di compiti che non solo esistono ora, ma ci saranno anche nel prossimo futuro 3) abbiamo trovato la soluzione pi\u00f9 adatta. E quindi, la nostra valutazione della soluzione \u00e8 stata una valutazione degli esperti.<\/p>\n<p><\/p>\n<p>Ci darebbero qualcosa se ci presentassimo e dicessimo, 'ragazzi, tutto fa schifo, non vogliamo occuparci di questo e abbiamo deciso di fare tutto da zero'? Probabilmente no. E la risposta sarebbe stata formulata in modo tale da rimanere ben impressa \ud83d\ude42<\/p>\n<p><\/p>\n<p><strong>Condizione n. 2<\/strong>. Iniziamo con un piccolo passo. Generiamo la prima idea e verifichiamola. \u00c8 possibile dedicare a questo anche il proprio tempo personale. Se non si vuole spendere tempo personale, allora non vale nemmeno la pena di impegnarsi in una questione del genere. E se non si vuole verificare una piccola ipotesi, ma si preferisce fare qualcosa di fantastico fin da subito \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 abbiamo promosso l'interfaccia di amministrazione all'interno di un pilota simile, solo il diciottesimo tentativo ha dato risultati. I primi diciassette approcci sono stati vani. A proposito, nella storia della creazione dell'interfaccia di amministrazione, le svolte della trama erano da telenovela brasiliana, perch\u00e9 la squadra era formata da ragazzi gi\u00e0 esperti, dei veri \"veterani\".<\/p>\n<p><\/p>\n<p><strong>Condizione n. 3<\/strong>. Creiamo un MVP e cerchiamo le difficolt\u00e0 dell'interlocutore decisionale. Certo, il suo volto potrebbe gi\u00e0 riflettere orrore al solo pensiero che stai per proporgli un'idea per la trentesima volta. Ma lo facciamo comunque. E mostriamo sempre come risolviamo i suoi problemi con il nostro prodotto.<\/p>\n<p><\/p>\n<p><strong>Condizione n. 4<\/strong>. Creiamo rapidamente un pilota che sembra <em>circa<\/em> il risultato finale. \u00c8 allettante fare tutto in modo perfetto, ma si pu\u00f2 cadere nel perfezionismo, il che significa che invece di un pilota si desidera mostrare una versione pilota di un prodotto gi\u00e0 ideale. Ma non esistono prodotti cos\u00ec. Quindi, fai almeno qualcosa di semplice.<\/p>\n<p><\/p>\n<p><strong>Condizione n. 5<\/strong>. Prodotto. Il progetto cresce, ottiene finanziamenti e arrivano specialisti con esperienza solida.<br \/>\nE se sei un classico imprenditore, questo \u00e8 il momento in cui devi andare via con decisione. Perch\u00e9 il volo leggero tra le nuvole e la sensazione generale di benessere si dissipano rapidamente.<\/p>\n<p><\/p>\n<p>Il passaggio alla produzione \u00e8 un confronto con carichi reali, integrazione con decine di sistemi, e quando crei nuove funzionalit\u00e0, allo stesso tempo, nel contesto del supporto, sviluppi anche le versioni precedenti. Tutto ci\u00f2 rappresenta sfide molto pi\u00f9 serie rispetto all'ideare un'idea e risolvere magari bene, ma solo un problema del cliente.<\/p>\n<p><\/p>\n<p>Queste 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 4.9.10 - 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. \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\" \/>\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) 4.9.10\" \/>\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. \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\" \/>\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\udd47Rassegna delle esperienze. Come una soluzione in-house si \u00e8 dimostrata migliore di una soluzione a pagamento | ProHoster","description":"Ciao! Mi chiamo Aleksey Pyankov, sono il programmatore capo dell'azienda Sportmaster. Dico subito che \"capo\" non significa \"il pi\u00f9 importante di tutti i programmatori\", no, \u00e8 solo un titolo, una traduzione affascinante per \"Senior+\". In Sportmaster lavoro dal 2012 e durante questo tempo il team di sviluppo ha realizzato molte soluzioni interessanti dal punto di vista tecnico. Ma oggi","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. \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","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"},"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}]}}