Bu iki dəfə bir inkişaf etdiricim olaraq nə etdiyimi aydın şəkildə izah edə bilmədim

Keçən həftə iş yoldaşlarımla karyeramızda necə qarışıqlıq etdiyimiz barədə qısa bir söhbət etdim. O səhvlərdən bu günə qədər uzaqlaşdıqca, gülmək asan idi. Gülməkdən əlavə, bu vintlər bizim üçün güclü dərs oldu.

Başqalarının onlardan öyrənməsi və bəlkə də özlərini daha rahat hiss etmələri üçün səhvlərimizi bölüşməyimiz vacibdir. Beləliklə, burada daha yeni olanların bir neçəsi.

Niyə bir çox istehsal məlumat bazası düşdü?

Mənbə: pexels.com

Bir neçə ay əvvəl Reddit-də ilk günündə istehsal məlumat bazasını sildiyi bir giriş səviyyəsinin inkişaf etdiricisinin yazıları var idi. Bu böyük, unudulmaz səhvlərə yol verənlərin hamısı kimi hekayələr oxuyuruq. Anlayırıq ki, bu bizim üçün çox şey almayacaq - əksəriyyəti yaxın zənglər olub.

İlk işimdə böyük bir verilənlər bazası inzibatçısı ilk günündə istehsal məlumat bazasını atdı. Bu hekayələr hər yerdə var. Komanda səhvini bir həftəlik köhnə ehtiyatdan bərpa etdi və onu ətrafında saxladı. On il sonra yenə də buna görə əyləndilər.

Bu ilin əvvəlində bir səhər məni müştəri üçün istehsal problemini araşdırmağa çağırdılar. Bir gecədə saytlarının ana səhifəsində heç bir şey olmadıqda saytlarını kiçik bir auditoriya ilə sınamağa başladılar. Buna səbəb olan bir səhv və ya zəiflik olub olmadığını düşündüm.

İstehsal maşınına daxil oldum və məlumat bazasını çəkdim. Məqalələr masası boş idi. OK, veb saytında gördüklərimizi təsdiqlədi.

İstifadəçilər cədvəlində hələ istifadəçilər var idi. Qəribədir. Beləliklə, bütün məqalələrimizi itirdik, lakin heç olmasa beta istifadəçilərinin hesabları var. Bunun bir beta olduğunu və bunların baş verdiyini izah edə bilərdik.

Sonrakı bir neçə dəqiqə bulanıq oldu. Nə etdiyimi dəqiq xatırlamıram. Konsolda açılan masa istifadəçilərini yazmaq üçün kifayət qədər lal olduğumu düşünmürəm. Ancaq indi məqalələrim və istifadəçilər masası olmayan yerdə idim. Bir az şok içində oturdum.

Sonra ağlım bunu necə düzəltmək barədə yarışdı. Həqiqətən istifadəçilər cədvəlini saldım? Bəli. Yedəkləmələri işlətdikmi? Xeyr. Müştəriyə bunu necə izah edirik? Bilmirəm.

Layihə menecerinin yanına getdiyini, yanında oturduğunu və baş verənləri izah etdiyimi xatırlayıram. Məqalələr cədvəlimizdə məlumat yox idi, buna görə sayt boş görünürdü. Bəli, istifadəçilər masasını da azaltdım. İndi bütün istifadəçiləri yenidən dəvət etməli idilər - əgər hamısının kim olduğunu anlaya bilsəydilər. Ziyarət.

Məğlub olduğumu hiss edərək masamın yanına qayıtdım.

Bir şey olsa da yanımda oturmadı. Bu məqalələrin hamısını ilk növbədə necə itirdik?

Qazmağa davam etdim. Hissəni rədd etmə, üzü xilas etmək istəyən hissə. Qısa müddətdən sonra vacib bir şey gördüm.

Serverdə başqa beş verilənlər bazası var idi. Onlardan birinin təzə baxdığım verilənlər bazasına bənzər bir adı var idi.

Mən bunu yoxlayanda bütün yazılar orada idi. İstifadəçilər masası yaxşıdı. Bir konfiqurasiya dəyişikliyinin təsadüfən istehsalına səbəb olduğu ortaya çıxdı, saytın yeni bir verilənlər bazasına işarə etməsinə səbəb oldu. Gördüyüm istifadəçilər? Toxum məlumatları.

Nə rahatlıq! Bir səhər əsəblər və mədə turşusu məni xəstə hiss etdi, amma bütün məlumatları "bərpa edə" bildik və pis xəbəri çatdırmadan əvvəl əsl problemi tapdım.

Epizoddan çox sayda dərs alındı. Ən sadələrindən biri: indi biz həmişə yedekləmə edirik ... bəlkə də bir inkişaf etdiricinin ən təsirli antasididir.

Tələsin və heç vaxt irəliləməyin

Mənbə: pexels.com

Son vaxtlar ortaya çıxan digər səhvlərimdən biri də o qədər də dramatik deyildi. Əslində, sonunda bir qarışıqlığa səbəb olan kiçik səhvdən sonra kiçik bir səhv oldu.

Çağırışımız sıx bir qrafikdəki bir layihə idi. (Hamısı da deyilmi?)

İlk görüşümüzdə bir komanda olaraq razılaşdıq ki, bu, vaxtımızdan iki dəfə çox olacaq. Başlanğıcdan etibarən üzərimizə düşən son tarixlə müştərinin həqiqətən də qayğısına qalmış funksionallığa keçə bilmək üçün identifikasiya parçası ilə səmimi gəzdim.

Əvvəllər yalnız bir səhifə tətbiqetməsində identifikasiyanı həyata keçirmişdim və hələ də necə bir yerə yığılacağını tam başa düşmədim.

Bunu bacardığım qədər tez çıxarmaq nə səhvdir. Bir neçə vacib şeyi əldən verdim:

  1. İstifadəçi daxil olduqdan sonra çerezdən yüklədi, lakin səhifə gözləmədən yükləməyə çalışdı. Bu hadisələrin sifarişindən asılı olaraq, icazəsiz olduğunuz barədə serverdən cavab alacaqsınız. Səhv nadir və çoxalma çətin idi, çünki çox vaxt işlər düzgün qaydada tamamlanırdı.
  2. Doğrulama da işarənin vaxtının bitib-bitmədiyini yoxlamamışdı. Saytı tez-tez ziyarət etməmisinizsə, geri qayıtdığınız zaman sayt işləməyəcək və çıxıb yenidən daxil olmalısınız.
  3. Nişan hər bir tələblə yenilənməli idi, amma ətrafımdakı qaydaları başa düşməyə vaxtım yox idi. Beləliklə, bu, vaxt məsələsini bir daha ortaya çıxartdı. Eyni vaxtda bir neçə sorğu göndərdiksə, qayıtdıqları sifarişdən asılı olaraq, gələcək sorğularda istifadə olunan səhv işarələri alacaqsınız.

Biz tələsdik və yenə də verilən vaxtdan iki dəfə vaxt ayırmağa davam etdik. Fərq daha çox səhv idi, sonra bu səhvləri izləməyə və düzəltməyə daha çox vaxt sərf etdi.

İşlərim məni utandırdı. Daha sonra xalq qarşısında utanmaq bütün təcrübəni daha da pisləşdirdi.

Bir şeyi deyim: o vaxtdan etibarən identifikasiyanı öyrənməyə vaxt ayırdım. İndi OAuth, JWT, yeniləmə əlamətləri və müddətləri başa düşürəm. Başqalarının bir sıra kitabxanalarda yazdıqları identifikasiya kodlarına göz yumdum. Bir neçə fərqli dildə və çərçivədə identifikasiya axını qurdum.

Uğursuzluqları gələcək uğurlara çevirmək

Pis olan hər şeyi götürdüyüm şey budur. Demək olar ki, həmişə yaxşı bir şey istəsən, ondan gəlir.

Kimsə səhvlərindən dərs alırsa, indi əvvəlkindən daha yaxşıdır. İlk dəfə səhv edən komanda yoldaşından düşməməyə çalışıram. Adətən artıq qarışıq olduqlarını bilirlər.

Eyni səhvini təkrarlayanlara o qədər də ağır olmamaq üzərində çalışıram. Hələ şəfqətə layiqdirlər.

Dörd şeyi səhvlərlə edə bilsəniz davamlı inkişaf edəcəksiniz:

  1. birini düzəldənə gülmək
  2. ondan öyrən
  3. onları düzəltmək
  4. başqalarının da faydalanması üçün səhvinizi bölüşün

Səhvlərin dəyəri barədə son lətifə ilə sizi tərk edəcəm. 1900-cü illərin əvvəllərində IBM-in baş direktoru Thomas J Watson, bir sıra səhv qərarları şirkətə baha başa gələn bir işçi ilə qarşılaşdı. Watsonun bu işçini atəşə tutub-işə salmayacağını soruşduqda, Watson cavab verdi:

“Xeyr, mən ona təlim vermək üçün sadəcə 600.000 dollar xərcləmişəm. Niyə kiməsə təcrübəsini işə götürməsini istəyərdim? "

Keçmişinizdə maraqlı bir səhviniz var? Bunu Paylaş!

Məqaləni oxuduğunuz üçün təşəkkür edirəm! Faydalı tapırsınızsa və dəstəyinizi göstərmək istəyirsinizsə, lütfən, paylaşın və bu düyməni vurmağınızdan əmin olun. Bu kimi daha çox məqalə üçün Twitterdə müəllifi və müəllifi izləyin.

Zach Kuhn, Durham, NC-yə əsaslanan rəqəmsal agentlik olan Smashing Boxes-in İnkişaf Direktorudur. On ildən çoxdur ki, veb və mobil tətbiqetmələr qurmuşdur və başlanğıclar və blockchain, IoT və maşın öyrənməsi kimi yeni texnologiyalarla əlaqəlidir.