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

توسعه دهندگان وب معمولا به دو دسته Front-End (توسعه رابط کاربری و ظاهر سایت) و Back-End (هسته سایت یا بخش سمت سرور) تقسیم می‌شوند. شما چه به عنوان یک توسعه دهنده Front-End بخواهید شروع به کار کنید و یا توسعه دهنده Back-End، باید در موارد زیر تسلط کافی داشته باشید:

  • Git
  • SSH
  • HTTP/HTTPS
  • Terminal Usage
  • Data Structures and Algorithms
  • Character Encodings
  • GitHub

در ادامه مسیر راه برای تبدیل شدن به یک توسعه دهنده Front-End و Back-End با توضیحات آورده شده است.

مسیر راه برای یک توسعه دهنده Front-End

یادگیری اصول اولیه

  • درک اولیه از CSS، HTML و جاوا اسکریپت
  • طراحی Responsive
  • استفاده از ECMAScript 5

یادگیری عمیق‌تر

  • یادگیری Fonts، DOM و Maps در HTML و یادگیری CSS Icons
  • دسترسی به HTML DOM در جاوا اسکریپت و استفاده از AJAX و JSON برای درخواست داده از سرور

یادگیری فریم‌ورک

  • استفاده از فریم‌ورک‌های CSS مانند Bootstrap برای طراحی Responsive
  • استفاده از فریم‌وریک‌های جاوا اسکریپت مانند Vue ،Angular و کتابخانه React
  • کتابخانه jQuery شاید به محبوبیت فریم‌ورک‌های بالا نباشد ولی هنوز اکثر کاربران از آن بهره می‌برند.

جزییات بیشتر برای مسیر راه یک توسعه دهنده Front-End در شکل زیر آورده شده است.

مسیر راه برای یک توسعه دهنده Back-End

یادگیری زبان برنامه‌نویسی

  • اگر در برنامه‌نویسی Back-End اول راه هستید، بهتر است از زبان‌های Scripting شروع کنید بخاطر تقاضای بالای آنها.
  • اگر دانش کافی در بخش Front-End دارید، Node.js می‌تواند گزینه راحت‌تری برای یادگیری باشد.

یادگیری Package Manager

هر زبان برنامه‌نویسی Package Manager خاص خود را دارد:

  • استفاده از Composer برای PHP
  • استفاده از NPM و یا Yarn برای Node.js
  • استفاده از Pip برای Python
  • استفاده از RubyGems برای Ruby

یادگیری فریم‌ورک

  • اگر زبان انتخابی شما PHP بود از Laravel و یا Symfony استفاده کنید.
  • اگر زبان انتخابی شما Node.js باشد باز شما انتخابهای بسیاری دارید ولی بهترین آن Express.js می‌باشد.

جزییات بیشتر برای مسیر راه یک توسعه دهنده Back-End در شکل زیر آورده شده است.

افرادی که مهارت‌های برنامه‌نویسی را هم در بخش Front-End و هم Back-End دارند معمولا به عنوان توسعه دهندگان Full-Stack شناخته می‌شوند. معمولا یک توسعه دهنده Full-Stack باید قادر به برنامه‌نویسی در سه بخش را داشته باشد:

  • برنامه‌نویسی Browser با استفاده از جاوا اسکریپت، Vue ،Angular ،jQuery و …
  • برنامه‌نویسی Server با استفاده از Node ،Python ،ASP ،PHP و …
  • برنامه‌نویسی Database با استفاده از MongoDB، SQLite، SQL و …

چهار عادت بد در برنامه‌نویسی

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

استفاده از کدی بدون درک صحیح از آن

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

نامگذاری نادرست متغیرها و توابع

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

عدم رعایت استانداردهای برنامه‌نویسی

رعایت استانداردهای برنامه‌نویسی برای تجزیه و تحلیل کدهای نوشته شده بسیار حائز اهمیت است. پیروی از استانداردهای کد‌نویسی کار خیلی آسانی هم نیست و گاهی اوقات خیلی خسته کننده می‌شود اما واقعیت امر این است که در پروژه‌های نسبتا بزرگ اعضای تیم نیاز دارند تا از یکسری قوانین تبعیت کنند. توجه داشته باشیم زمانی که یکسری قوانین کدنویسی مثلا تعداد اسپیس‌هایی که می‌بایست در کدها استفاده کرد را وضع می‌کنیم، تمامی اعضای تیم می‌بایست قبول کنند که از آن قوانین تبعیت کنند که در غیر این صورت، یک برنامه‌نویس خاطی می‌تواند هر چه سایر برنامه‌نویسان رشته کرده‌اند را پنبه کند! برای اعمال استانداردهای کدنویسی می‌توان از یکسری ابزارها هم استفاده کرد که فرآیند استاندارد‌سازی را تا حد قابل توجهی برای برنامه‌نویس سهل و آسان می‌سازند که این ابزارها بسته به IDEایی که استفاده می‌کنیم می‌توانند از خصوصیات مختلفی برخوردار باشند. بطور مثال، کدی که در زیر مشاهده می‌کنید بر اساس استانداردی به نام (PSR (PHP Standard Recommendation نوشته شده است:
در واقع در کد بالا پس از namespace و دستورات use یک اینتر قرار گرفته است و یا این که علامت } مرتبط با کلاس Foo در خط بعد نوشته شده است. به عنوان مثالی دیگر، آرگومان‌های متد sampleFunction با یک کاما و اسپیس از یکدیگر مجزا شده‌اند و این در حالی است که کاما به آرگومان اول چسبیده، سپس یک فاصله قرار گرفته و در نهایت آرگومان دوم نوشته شده است.
منبع: سکان آکادمی – https://bit.ly/2EHeYqS

استفاده از کدهای تکراری

در حوزه‌ی توسعه‌ی نرم افزار، اصول و قواعد بسیاری وجود دارد که گاها یکی از دیگری مهم‌تر جلوه می‌کند اما یکی از اساسی‌ترین قواعد برنامه‌نویسی، قانون DRY است که مخفف واژگان Don`t Repeat Yourself به معنی”دوباره کاری نکن” است!
این قانون توسط دو توسعه‌دهنده به نام های Andy Hunt و Dave Thomas ابداع شد که بسیاری از دیزاین پترن‌های معروف برنامه‌نویسی، ریشه در این قانون دارند.
برنامه‌نویسی که بتواند تشخیص دهد کدام بخش‌های کد اصطلاحاً Duplicate یا «مشابه» هستند و تمام تلاش خود را به کار بندد تا با استفاده از کلاس‌ها و فانکشن‌های مختلف، میزان استفاده از کدهای تکراری در سراسر برنامه را به حداقل برساند، در نهایت Source Code تمیز‌تری تحویل خواهد داد که در آینده نگهداری چنین پروژه‌یی به مراتب راحت‌تر از Source Codeای است که پر است از کدهای مشابه!
هرچه میزان کدهای دوپلیکیت در Source Code شما بیشتر باشد، احتمال ایجاد باگ در آینده به مراتب بیشتر خواهد شد؛ علاوه بر این، اگر روزی بخواهید بخشی از کد خود را ریفکتور کنید یا تغییر دهید، به جای یک بخش، می‌بایست چندین بخش را ریفکتور کنید که این کاری بس زمان‌گیر است.
در فرایند توسعه‌ی نرم افزار، بخش‌های بسیاری از کد را می‌توان دید که تکراری هستند و قانون DRY دقیقاً برای چنین موقعیت‌هایی است. شما به عنوان یک توسعه‌دهنده‌ی حرفه‌یی ، همواره باید این ذهنیت را داشته باشید که در نرم افزاری که می‌نویسید، خواه یک اپ موبایل باشد و خواه یک سایت، صرفاً از یک راه باید بتوان کار خاصی را انجام داد و این راه‌کار باید تا حد ممکن ساده، ایمن و اثربخش باشد.
دوپلیکیت شدن در منطق نرم‌افزار می‌تواند به اشکال مختلفی جلوه کند که از جمله‌ی رایج‌ترین آن‌ها می‌توان به آبجکت‌هایی که از روی کلاس خاصی ساخته می‌شوند اشاره کرد و اینجا است که بسیاری از دیزاین‌پترن‌ها به داد توسعه دهندگان می‌آیند. در واقع، ابداع دیزاین‌پترن‌ها یا «الگوهای طراحی» جلوگیری از استفاده از کدهای مشابه است.
منبع: سکان آکادمی – https://bit.ly/2CtVnbR

نتیجه‌گیری

داشتن سبک و استایل خاص خود در برنامه‌نویسی بسیار خوب است ولی همیشه مد نظر داشته باشید که عادتهای بد برنامه‌نویسی را از ذهن خود دور کنید تا بتوانید کدی بنویسید که برای سایر توسعه دهندگان قابل درک و فهم باشد. رعایت اصول برنامه‌نویسی از الزامات کاری شما خواهد بود و این چیزی است که کارفرمایان به دنبال آن هستند.

کتابخانه jQuery چیست و آیا نیاز به یاد گرفتن آن دارید؟

کتابخانه jQuery و ویژگی‌هایی آن

جاوا اسکریپت یک زبان برنامه‌نویسی و پرکاربردی برای توسعه صفحات وب می‌باشد، ولی در عین حال ساختار پیچیده‌ای دارد که استفاده از آن را برای کاربران دشوار می‌سازد. jQuery یک کتابخانه متن باز کوچک، سریع و سبک وزن جاوا اسکریپت است که هدف اصلی آن ساده‌سازی نوشتن اسکریپت‌های سمت کلاینت در HTML می‌باشد. از قابلیت‌های بارز این کتابخانه محبوب می‌توان قابلیت اجرا برروی مرورگرهای مختلف، کنترل آسان و قدرتمند رویدادها (Events)، قابلیت تغییر در خصوصیات CSS، کار با Ajax، توسعه دادن پلاگین‌ها و غیره را نام برد.

بیش از یک دهه به طور گسترده‌ای مورد استفاده قرار گرفته است و شرکت‌های شناخته شده‌ای مانند Kickstarter، Twitter و Hootsuite آن را در برنامه‌های کاربردی خود استفاده کرده‌اند. چه چیز دیگری jQuery می‌تواند انجام دهد و آیا شما باید آن را یاد بگیرید؟

مزایای استفاده از jQuery

برای بسیاری از توسعه دهندگان وب، jQuery اولین کتابخانه‌ای است که آنها آموخته‌اند. jQuery:

  • قابلیت تغییر در ظاهر یک صفحه را امکان‌پذیر می‌سازد.
  • قابلیت افزودن انیمیشن (Fade) به یک صفحه را امکان‌پذیر می‌سازد.
  • دریافت اطلاعات از یک سرور را بدون نیاز به Refresh مجدد صورت می‌دهد.
  • عملکردهای مشترک جاوا اسکریپت را ساده می‌کند. به عنوان مثال مرتب‌سازی و فیلترینگ آرایه‌ها.

معایب استفاده از jQuery

از ایراداتی که در jQuery وجود دارد:

  • این کتابخانه زندگی را برای خیلی از توسعه دهندگان آسان ساخته است اما در ۲۷۲ کیلو‌بایت، یک کتابخانه بزرگی برای import کردن محسوب می‌شود.
  • این کتابخانه یادگیری جاوا اسکریپت را مشکل می‌سازد برای اینکه abstraction‌های jQuery بخش‌های پیچیده جاوا اسکریپت را مخفی می‌کند.
  • یکی دیگر از ایرادات آن عملکرد در نسخه‌های آن می‌باشد. برخی از نسخه‌ها به خوبی کار می‌کنند و برخی عملکرد درستی ندارند. به همین منظور همیشه سعی کنید از آخرین نسخه jQuery استفاده کنید.

نتیجه‌گیری

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

Create A product first!

Create a product first please!