نوشته هایی پیرامون برنامه نویسی و طراحی وب

۴ مطلب با موضوع «مهندسی نرم افزار» ثبت شده است

چگونه از هوکهای گیت برای اتوماتیک کردن فرایند توسعه و پیاده سازی وب سایت استفاده کنیم

مقدمه ای بر کنترل نسخه

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

در عین اینکه مجموعه ابزارهای git ویژگیهای کاملی را ارایه میدهند یکی از مفیدترین ویژگیهای git انعطاف پذیری آن است. 

با استفاده از سیستم hooks، گیت به برنامه نویسان و مدیران سیستم اجازه میدهند که عملکرد سیستم را با استفاده از اسکریپتهایی که گیت بر اساس رویدادها و اعمال مختلف سیستم اجرا میکند، گسترش دهند.

در این راهنما ما ایده hooks را بررسی میکنیم و  کدی را نشان خواهیم داد که به شما در اتوماتیک کردن کارها در سیستم منحصر به خودتان کمک خواهد کرد.

۴ نظر موافقین ۱ مخالفین ۰
بهنام ایزدی

چیزی به عنوان plain text وجود ندارد!

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

۲ نظر موافقین ۰ مخالفین ۰
بهنام ایزدی

طراحی رابط برنامه نویسی وب (Web API) مبتنی بر REST

مبتنی بر REST فکر کنید

اگر این مقاله را میخوانید، احتمالا در مورد طراحی رابطهای برنامه نویسی حساس هستید و دوست دارید از اصول طراحی اثبات شده در طراحی Web API خود استفاده کنید.

چون REST بیشتر استایل معماری نرم افزار می باشد تا استاندارد موکد، بنابراین انعطاف پذیری خوبی دارد. بدلیل همین آزادی ساختار و انعطاف پذیری، فرصت مناسبی برای طراحی بهترین راهبردها وجود دارد.

این مقاله مجموعه ای از راهکارهای طراحی است که هنگام همکاری با چندین تیم طراحی API در شرکت Apigee توسعه داده ایم.

ما نقطه نظر خود را در طراحی API - عملگرا - مینامیم زیرا این راهکار، موفقیت برنامه نویس را مهمتر از هر اصل دیگری قرار میدهد. برنامه نویس مشتری API می باشد. موفقیت  طراحی API با این سنجیده میشود که برنامه نویسان چقدر سریع میتوانند از ‌API شما استفاده موفقیت آمیز داشته باشند.

۶ نظر موافقین ۰ مخالفین ۰
بهنام ایزدی

یک مدل موفق از کنترل ورژن با Git

git branching model

چرا گیت؟

جنگ شدیدی بین توسعه دهندگان نرم افزار در مورد نرم افزارهای کنترل ورژن برقرار است. به عنوان یک برنامه نویس من Git را به همه آنها ترجیح میدهم. Git روش برنامه نویسان را در مورد ادغام و شاخه بندی تغییر داد. در دنیای کلاسیک نرم افزاری های کنترل ورژن (CVS/Subversion) که من از آن می آیم ادغام و شاخه بندی ( merging/branching) کار ترسناکی محسوب میشود و چیزی نیست که بخواهید هر روز انجام دهید.

اما با گیت این اعمال با گیت بسیار ساده و ارزان خواهند بود و واقعا به عنوان فرآیند روزانه کاری شما بدل خواهند شد. در کتابهای CVS , Subversion شاخه بندی و ادغام در فصل های آخر کتاب بحث میشود اما در هرکتاب گیت بحث در این مورد از فصل سوم شروع میشود.

ماحصل این سادگی و طبیعت تکراری گیت شاخه بندی و ادغام دیگر چیزی نیست که از آن ترسید. ابزارهای کنترل ورژن نیز در این کار ما را یاری میدهند.

۲ نظر موافقین ۱ مخالفین ۰
بهنام ایزدی