مینویسم که فراموش نکنم!
اندر لذت مشارکت ( البته در پروژه های open source)
فکر می کنم یکی از علایق همه برنامه نویس ها ابن باشه که در پروژه های متن باز شرکت کنن و در توسعه این پروژه ها سهیم باشن. طبعا این علاقه با من هم بود اما خب تاکنون فرصتی فراهم نشده بود. مدتی پیش کار روی پروژه ای رو آغاز کردم. یک اپلیکیشن موبایل که با flutter اون رو توسعه میدادم. در ابتدا این اپلیکیشن فاقد backend بود برای همین مجبور شدم برای آزمایش اپلیکیشن خودم یک backend ساده و تعدادی api رو با استفاده از فریم ورک express براش بنویسم. همه چی بر وفق مراد بود تا اینکه کار توسعه یک backend بهتر توسط یک backend developer شروع شد اما این بار با پایتون و فریم ورک django . اگرچه اپلیکیشن با backend آزمایشی که خودم نوشته بود به خوبی کار می کرد اما با جایگزینی backend مورد عجیبی در اپلیکیشن رخ داد. فرم های با زبان فارسی که به سرور post می شدن و سپس به اپلیکیشن برگشت داده می شدن به صورت خرچنگ قورباغه نمایش داده می شدن. از این جهت برای من عجیب بود که همین اپلیکیشن با backend آزمایشی خودم به درستی کار می کرد و مشکلی نداشت. با مقداری کند و کاو در کدها متوجه شدم مشکلی در ماژول http کتابخونه getx وجود داره که من از اون داشتم استفاده می کردم. مشکل این بود که وقتی در response header به طور مشخص charset وجود نداشت ، کتابخونه به صورت پیش فرض از latin1 charset استفاده میکرد. اگر این مقدار به UTF8 charset که charset متداول تری است تغییر پیدا می کرد مشکل حل میشد. البته خب واضحه که میشد مشکل رو با اضافه کردن charset به content type در response ها هم حل کرد.
به هر حال ما پروژه رو fork کردیم و تغییر دادیم (همون یک کلمه رو فقط!) و با مقداری توضحات pull request اش رو هم ثبت کردیم. توسعه دهنده اصلی هم بعد از چند ساعت متوجه شد و تشکر کرد و گفت من یه تست بگیرم که آیا با زبان هایی مثل اسپانیایی و پرتغالی به مشکل نخوره. بعد از چند روز هم ایمیلش اومد که pull request شما merge شده. و من دیگر از شادی در پوست خود نمیگنجیدم! ما یه زمانی در رویای راه اندازی شرکتی به بزرگی مایکروسافت بودیم که اگه یه تراول ۵۰۰ تایی از دستمون افتاد زمین نیاز نباشه خم بشیم و برداریمش چون دو ثانیه بعد به همین اندازه پول به حسابمون اضافه شده بود (اون موقع ها می گفتن بیل گیتس هر ثانیه ۲۵۰ هزارتومن درآمد داره). الان با یه merge شدن pull request در آسمان ها سیر میکنیم. به راستی که بشر چیز عجیبیست.
مطلبی دیگر از این انتشارات
آموزش پایتون
مطلبی دیگر از این انتشارات
نود جی اس یا پایتون کدامیک را انتخاب کنیم؟
مطلبی دیگر از این انتشارات
آموزش کامل ماینینگ اتریوم با کارت گرافیک GPU (قسمت سوم - راه اندازی اولیه ریگ ماینینگ)