مرحله کدگذاری آغاز می شود – انجمن DEV

با کمال تعجب، یک “هفته 4” از دوره پیوند جامعه وجود داشت. این ممکن است کمی تعجب آور باشد زیرا این فرض وجود دارد که پیوند جامعه به مدت 3 هفته ادامه دارد، اما در واقع حدود 25 روز ادامه داشت. مطمئن نیستم که همیشه اینطور بوده یا نه، اما اینطوری با آن آشنا شدم. هفته 4 فقط حدود 2 روز کاری داشت، و در آن بازه زمانی آنقدر کار انجام نشده بود که نتوانم به پست وبلاگ هفته 3 بپردازم.
ورود هفتگی
ساپتاک نتوانست به جلسه برسد، بنابراین من و استورم با یک نت سبک تر شروع کردیم. ما قبلاً کارهای زیربنایی خوبی انجام داده بودیم و تجربیات خود را در مورد اینکه تا به حال برای ما چگونه بوده است به اشتراک گذاشته بودیم. استورم دمویی را به من نشان داد که در حال کار بر روی یک سخنرانی آینده بود که قرار بود در فضای Wagtail هلند داشته باشد. ما با هیئت ردیابی پروژه خود بررسی کردیم تا بررسی کنیم که چه وظایفی می تواند به عنوان تکمیل شده علامت گذاری شود و مستقیماً وارد بحث فنی تر شدیم.
Wagtail در مورد اهمیت تست کردن به من چیزهای زیادی آموخت و برای هر منطق جدیدی که قصد معرفی آن را دارم همیشه به موارد آزمایش فکر کنم. ما ذهنها را به هم زدیم و فهرستی از مواردی که باید بررسی شوند تهیه کردیم، و من فهرست را در کانال Slack خود منعکس کردم تا بتوانیم با گذشت زمان به لیست اضافه یا حذف کنیم. ما همچنین چگونگی آزمایش برخی از عملکردهای پیچیده تری را که هنگام ایجاد Proof of Concept اصلاح کرده بودیم، بررسی کردیم. ما موافقت کردیم که در زمان فرا رسیدن زمان، اعضای با تجربهتر تیم Wagtail را درگیر کنیم.
قبل از جلسه، من به مربیانم قطعهای از دومین منطق اصلی را که برای پروژه بهعنوان یک کل استفاده میکردیم نشان داده بودم، و Storm نگرانیهایی در مورد اینکه چگونه ممکن است جریان کاربر موجود را تغییر دهد، داشت. این یک تغییر جزئی بود، اما ویراستارانی که به چیز متفاوتی عادت داشتند، احتمالاً به یک سلب مسئولیت در مورد فرآیند جدید درگیر نیاز دارند. ما توافق کردیم که به طور گسترده برای سناریوهای مختلف آزمایش کنیم و یافته ها را هفته بعد گزارش کنیم. این همچنین بدان معنی است که با توجه به عدم قطعیت، RFC باید حتی بیشتر بهینه شود. در مورد جزئیات فنی در بخش “چالش ها” این پست وبلاگ بیشتر توضیح خواهم داد.
جلسه در حالی به پایان رسید که Storm متوجه شد من در لیست دعوتهای جلسه مکرر تیم فرعی Accessibility نیستم، و او آن را بهروزرسانی کرد تا شامل من شود. من همچنین به یک جلسه دیگر با تیم اصلی دعوت شدم
جلسه تیم اصلی
تیم اصلی Wagtail از افراد در مناطق زمانی بسیار متفاوت تشکیل شده است، بنابراین برای ایجاد تعادل در همه چیز، آنها یک برنامه تغییر برای جلسات خود دارند. اساساً، جلسات بین صبح و عصر هر هفته برای همه اعضای تیم به طور متناوب انجام می شود، بنابراین همه می توانند در مورد زمان بندی جای افراد دیگر باشند. این من را شگفت زده کرد زیرا من اعلان جلسه را چند دقیقه قبل از زمان دریافت کردم (در حالی که کاملاً انتظار داشتم که در عصر باشد). من به اندازه کافی زود پیوستم و جلسه چند دقیقه بعد شروع شد. این مختصر بود و من دوباره خودم را معرفی کردم و به پیشرفتی که با RFC داشتم و اینکه چه زمانی باید انتظار دریافت درخواست کشش برای آن را داشته باشند اشاره کردم. من همچنین آنها را تماشا کردم که سعی می کردند اعداد جدیدی را که در مشارکت های پایگاه کد دریافت کرده بودند تفسیر کنند. تماشای آن بسیار جذاب بود، و من متوجه شدم که چرا ردیابی تمام معیارها در یک سازمان GitHub برای بقای هر پروژه نرم افزار منبع باز ضروری است.
جلسه کوتاهی بود، بنابراین وقتی مسائل کلیدی مورد بررسی قرار گرفت، جلسه منتفی شد و من به روز خود ادامه دادم.
نشست تیم فرعی دسترسی
این جلسه داستانی برای کتاب ها بود. مربی اصلی من (طوفان) جلسه را اداره می کرد و با هماهنگی او، اعتماد به نفس من حتی بیشتر شد. ما در مورد پیشرفت تاکنون صحبت کردیم و تصمیم گرفتیم پیش نویس سند RFC را به آنها نشان دهیم. این هنوز یک Google Doc بود، بنابراین ارسال یک پیوند آسان بود، اما او صفحه نمایش خود را به اشتراک گذاشت و تیم را از طریق آن راهنمایی کرد، در حالی که به من گفت که یک ویژگی نمایشی برای تیم تنظیم کنم. من انتظار نداشتم یک نسخه نمایشی انجام دهم، بنابراین ترفندهای من از شب قبل هنوز بسیار اصلاح نشده بودند. من یک برگشت سریع انجام دادم و شروع به تنظیم چیزها کردم. در عرض چند دقیقه، همه چیز را آماده کردم و منتظر بودم تا صفحه نمایش خود را به اشتراک بگذارم و ویژگی های جدید را به تیم ارائه دهم.
او بررسی خود را از سند به پایان رساند و من به تیم نشان دادم و توضیح دادم که کارها چگونه کار می کنند. خیلی راحت پیش می رفت تا اینکه از او پرسید که آیا می توانم به آنها نشان دهم که یک سایت “Live” با آن چگونه خواهد بود. او در تنظیم سریع به من کمک کرد، اما به محض اینکه روی “View Live” کلیک کردم، سایت مدیریت از کار افتاد. قلبم در شکمم فرو رفت، اما او به راحت ترین حالت گفت: “اوه، حتما یادت رفته فایل قالب را اضافه کنی”. بله، انجام دادم. در میان عجله برای تنظیم چیزها، فایل قالب را فراموش کردم زیرا تا زمان مشاهده یک سایت زنده مهم نبود.
تیم موافق بود که سقوط یک تصادف ساده بود و اثبات مفهوم قبلا نشان داده شده بود. جلسه با یک یادداشت خوب به پایان رسید، و با وجود اینکه من کمی از سقوط نسخه نمایشی ناراحت بودم، هر دو مربی من به من اطمینان دادند که ارائه خوبی بود بدون در نظر گرفتن و اینکه واقعاً جای نگرانی نیست. قطعا داستانی برای کتاب هاست.
چیزی که یاد گرفتم
در هفته چهارم، تصمیم گرفتم استفاده از راهاندازی Docker را متوقف کنم، زیرا بهطور بیمورد روی منابع کامپیوتری فشرده بود، و میتوانستم سرعتهای بسیار بالاتری را در یک راهاندازی کاملاً بومی دریافت کنم. دلیل اینکه من برای مدت طولانی از آن استفاده کرده بودم این بود که Wagtail در مستندات خود ذکر کرد که پشتیبانی از نصب ویندوز در حال انجام است. با این حال، من جرات و در عین حال به اندازه کافی صبور بودم و به این نتیجه رسیدم که بالاخره زمان آن رسیده است که به آن ضربه بزنم. تقریباً نیم روز طول کشید، اما کارها را شروع کردم و تجربه توسعهدهندهام به میزان قابل توجهی بهتر شد. دیگر مجبور نبودم برای بارگذاری مجدد تغییرات 6-8 ثانیه صبر کنم. میتوانستم بدون استفاده از ترمینال مزاحم Docker، همه چیز را در ترمینال خودم اجرا کنم. همچنین میتوانستم از باتری کمتری استفاده کنم (در صورت عدم وجود برق)، و صدای فن کامپیوتر کمتر بود. این به من فرصت داد تا با ایده های بیشتری بازی کنم زیرا اینرسی را از بین برد.
به یاد دارید که من قبلاً یک راه اندازی قبلی با docker با تغییرات و شاخه های خود داشتم؟ من دوباره مخزن Git را از GitHub کلون کردم و تمام ریموت های لازم را تعمیر کردم. من محیط مجازی خود را راهاندازی کردم تا بتوانم چندین پروژه را با استفاده از نسخه آزمایشی Wagtail بر روی ماشین محلی خود اجرا کنم و در مورد سیستمهای مدیریت بسته Python بهتر مطالعه کنم. اساساً، این هفته نه تنها تجربه توسعه دهنده من را با Wagtail بهتر کرد، بلکه درک من را از اصول پایتون تقویت کرد.
در نهایت، برای پایان دادن به هفته، پس از جلسه دسترسپذیری، استورم یک جلسه مجازی ترتیب داد تا به من در درک بهتر برخی چیزها کمک کند. او وقت خود را صرف توضیح کامل Wagtail کرد Block
سیستم مدیریت با مرورگر SQL. او کار کاملی انجام داد و به من کمک کرد تا همه چیز را واضح تر ببینم. من واقعاً در قرعه کشی مربی GSoC برنده شدم.
چالش ها
تمام یادگیری ها با چالش هایی همراه بود. از روند بررسی RFC من که شروع به شنیدن آن می کرد، تا تنظیمات محلی من که به نظر کار نمی کرد، تا خرابی نسخه ی نمایشی من، حتی گرفتن اثبات کارکرد مفهومی، یک هفته بود که من را بیشتر درگیر نگه داشت.
همچنین یک چالش با image_description
ویژگی پیشنهادی ما طرح اولیه این بود که آن را اجباری کند، اما جریان موجود در آپلود تصویر، جایی بود که کاربر میتوانست تصویری را آپلود کند و با اطمینان از آپلود شدن آن از صفحه خارج شود. با این حال، در حالی که فیلد اجباری است، پیکربندی باید به گونه ای باشد که تا زمانی که ویژگی پر نشده باشد، تصاویر آپلود نشوند. کاربرانی که به جریان قبلی عادت کردهاند ممکن است بدون توجه به عادت از صفحه دور شوند (بدون پر کردن فیلد مشخصه) و این منجر به رفتار UI متناقض با آنچه قبلاً به آن بودهاند میشود. تصمیم گرفتیم برای هفته 5 گزینه های بیشتری را بررسی کنیم.
این هفته چهارم من بود و یک هیجان شخصی بود.
به سلامتی. 🥂