از مجنتو اموختم


داستان رو بهتره اینجوری شروع کنم

من همیشه عاشق یادگرفتن چیزهای جدید هستم و خواهم بود و البته عاشق ساختن هم هستم . بیشترین تاثییر از برنامه نویسی رو شی گرایی به من داد و دید من رو نسبت به برنامه نویسی زمین تا اسمون تغییر داد (البته تاثییر لینوکس هم خیلی زیاد بوده ولی به پای شی گرایی نمی رسه ) ...شی گرایی بهم یک طرز فکر خوب داد تا بتونم پروژهای بزرگ رو به راحتی مدیریت کنم و با یه مدل سازی خوب همه چی رو بهم ربط بدم . ...

این داستان واسه قبل هجرت غمگینم به تهرانه ... و بعد مهاجرت کردم ... تخصصم روی yii  بود و منتنفر از لاراول و با این حس و حال دوست داشتم یه کاری مرتبط با تخصصم پیدا کنم ولی جور نشد ... استخدامی یه شرکتی بود و منم رفتم باهاشون مصاحبه کردم و انگار خوششون اومده بود منتها مشکل این بود که با مجنتو کد می زدن ... من تا قبل اون روز حتی اسم مجنتو رو هم نشنیده بودم . رک و راست بهشون گفتم که بار اوله دارم اسمشو می شنوم ولی خب میتونم اون رو یاد بگیرم و باهاش کد بزنم ... و اونها هم یه فرصت 1 ماهه بهم دادن تا ببینن می تونم یا نه و من تونستم ... قبل یک ماه اولین ماژول ها رو نوشتم و شروع کردم به کد زدن واسه مجنتو و این شروع یه اتفاق خوب بود . شرکت جای خوبی بود و محیظش دوست داشتنی بود و از بودن در اونجا لذت می بردم و این وسط تجربه کد زدن با مجنتو هم دستم اومده بوده و به سرعت داشتم پیش میرفتم. مجنتو یه سیستم فروشگاه ساز بر پایه فریم ورک زند هستش ...ولی خب نقطه قوتش در طراحی اونه ...گرچه گفتم که کسایی که مجنتو رو طراحی کردم علاقه خاصی به چرخوندن لقمه دور سر قبل از خوردن داشتن ولی این چیزی از ارزش های مجنتو کم نمیکنه ... طراحی خاصش استفاده از xml  برای فایل های کانفیگه که به نظرم از همه جالبتره ... طرح خاص قالبش که ترکیبی از فایل های xml و  phtm و بلاک هاست ... و بعد از اون پیاد کردن نیم سپیس ها که اون هم در نوبه خودش جالبه و با توجه به این که توی پی اچ پی قدیم(فک کنم 5.3) خبری از نیم سپس نبوده این نقص رو به خوبی جبران کردن ... بخش مدیریت بسته های نرم افزاری که فک کنم قدمتش از کامپوزر بیشتر باشه ... طراحی خیلی جالب دیتابیش

اینا همه چیزهای خوبی هستن ولی بهترین قسمت نحوه پیاده سازی فروشگاهست : شما توی مجنتو یه بخش کلی دارید (شاید اسم واقعیش چیز دیگه ای باشه) و می یاد به اون بخش خاصیت نسبت میدید . مثلا یک بخش کلی به اسم مشتری دارید و میاد به اون مشتری خاصیت هاس نام ...نام خانوادگی ...ایمیل ... پسورد ... تاریخ تولد ... نسبت میدید و به راحتی می تونید یک فروشگاه انعطاف پذیر درست کنید به طوری که میشه به راحتی هر خاصیتی رو ساخت و به مشتری نسبت داد ...

شاید مثال مشتری چیز جالبی نباشه بهتره محصولات رو  مثال بزنم . فرض کنید یه محصول دارید ... اگه یه فروشگاه ساز عادی داشته باشید محصول شما تعیین می کنه که دیتابیس چجوری باشه طراحی بشه ..فرض کنید که محصولتون یه ماشین باشه حالا شما باید فیلدهای رنگ ..سال تولید ... پلاک ... بیمه ... رو واسش توی دیتابیس بسازید و اگه محصولتون شامپو باشه این قضیه به کلی عوض میشه ... توی مجنتو میاد محصول رو تعریف می کنه و بعد بهش خاصیت رنگ ... سال تولید ...بیمه ... نسبت میده ...با این کار واسه همه محصولات میشه به راحتی خاصیت ها رو نسبت داد و لازم نیست هر بار دیتایس رو از اول طراحی کرد.

 

خب با این حساب اگه ما بیام و کلیت ها رو در نظر بگیرم و بعد به اونها خاصیت نصبت بدیم یه سیستم انعطاف پذیر درست میشه ... من میخوام یه سی ام اس بسازم ... چیزی به اسم مقاله رو به صورت بیس در نظر می گیرم و بعد بهش چیزهایی مثل عنوان ...تاریخ ایجاد ... متن ... عکس ... رو نسبت میدم ... البته کل موضوع وابسته به نحوه ی طراحی دیتابیسه که بشه این ها رو روش پیاده کرد .

به نظرم هر برنامه نویسی باید با مجنتو کد بزنه چون واقعا ارزش یادگرفتن رو داره

۱۳۴۸/۱۰/۱۱ || in category : متفرقه


۱۳۹۶/۰۱/۲۵
درویشانی

تست دیدگاه ها