Subject:cs_Ex3
منظورازFront endچیست؟
فرانت اندیاfront endبه قسمت قابل مشاهده وب سایت (نرم افزار )توسط کاربران گویند.فرانت اندکدهای غیر قابل فهم برای کاربران رادرقالب ظاهری گرافیکی وبصری به آنها نمایش می دهدتابتواندبه راحتی ازبخش های مختلف سایت استفاده کنند .دراین بخش فرم های ورودی اطلاعات،صداها،تصویرها،ویدیوهاو به صورت کلی هرچیزدیگری که برای کاربرقابل درک باشدقرارمی گیرد.فرانت اندبه دوبخش اصلی فتوشاپ ظاهرسایت راطراحی می کنند.امابخش توسعه رابط کاربری مربوط به پیاده سازی ظاهرسایت درسمت کاربریاClient Sideمی باشند.بنابراین کدهای نوشته شده درفرانت درمرورگرکاربرپردازش واجرامی شوند.یعنی کاربربه راحتی به این کدهادسترسی مستقیم دارد می تواند آنها رامشاهدکند.
مهارت های لازم برای اینکه یک توسعه دهنده ی FRONT END باشید
یک سازنده ی front end از HTML،CSS و JavaScript برای کدنویسی سایت و طراحی های اپ وب که توسط سازنده ی وب ایجاد شده اند،استفاده میکند.کدی که آن ها مینویسند داخل مرورگر کاربر اعمال میشود.
کمی اینگونه فکر کنید:توسعه دهنده ی back end مانند طراحی است که ترتیب و مقدمات یک شهر را ایجاد میکند،مثل : الکتریسیته،آب و فاضلاب،منطقه بندی و غیره.در حالی که یک توسعه دهنده ی front end کسی است که خیابان کشی میکند و از اینکه همه چیز به درستی در کنار هم قرار گرفته و مردم میتوانند زندگی راحتی داشته باشند،اطمینان حاصل میکند.
آن ها همینطور مسئول این هستند که بفهمند مشکل یا باگی وجود ندارد،مانند زمانی که عکسی نشان داده میشود و آن ها باید بدانند که این عکس در همه ی پلتفرم ها و مرورگرها،یکسان نمایش داده می شود.
HTML و CSS
HTML و CSS بلوک های اصلی کدینگ وب هستند. بدون این دو، نمیتوانید یک طراحی وب سایت داشته باشید و متون به درستی در صفحه نمایش داده نمیشوند.شما حتی نمیتوانید بدون HTML یک گزینه ی کپی در صفحه تان داشته باشید!
قبل از اینکه در عرصه ی توسعه ی وب قدم بگذارید،شما باید مهارت های لازم مربوط به HTML و CSS را بیاموزید.خبر خوب این است که میتوانید موارد مهم را در چند ففته بیاموزید.
JavaScript
جاوااسکریپت به شما اجازه میدهد که ویژگی های زیادی به سایتتان اضافه کنید.شما حتی می توانید قابلیت های اساسی زیادی را تنها با استفاده از HTML,CSS و JavaScript به سایت اضافه کنید.در سطح ابتدایی،JS مسئول اضافه کردن عناصر دو جانبه است.میتوانید از آن برای ایجاد چیزهایی مثل نقشه،فیلم های واکنشی و بازی های آنلاین استفاده کنید.سایت هایی مثل pinterest از جاوااسکریپت سنگین برای راحتی تجربه ی کاربر استفاده میکنند(مثلاً زمانی که شما چیزها را پین میکنید،صفحه دوباره بارگذاری نمیشود و این قابلیت توسط جاوااسکریپت ایجاد شده است).
فریم ورک های JavaScript
JS frameworks ( شامل AngularJS,Backbone,Ember,ReacrJS) ساختارهای آماده ای برای کد جاوااسکریپت شما ایجاد میکنند.این فریم ورک ها سرعت رشد و تکامل را برای شما ارتقا میبخشند. در صورت ترکیب این فریم ورک ها با jQuery ،مقدار کدهایی که باید بنویسید کمتر خواهد بود.
تجربه ای با پیش پردازنده های CSS
پیش پردازنده ها عنصر دیگری هستند که باعث سرعت بخشی به کدینگ CSS شما میشوند. یک پیش پردازنده ی CSS قابلیت های اضافه ای به CSS اضافه می کند تا CSS ما را مقیاس پذیر و کار با آن را ساده تر کند.پیش پردازنده میتواند کدتان را قبل از اینکه در صفحه وبتان نشر دهید حرکت دهد و آن را به یک CSS با ترتیب درست و به همراه چند ورودی تبدیل می کند.SASS و LESS دو پیش پردازنده ای هستند که تقاضای بسیاربالایی دارند.
طراحی واکنشی موبایل
تنها در آمریکا،بیشتر مردم از طریق گوشی های موبایلشان به اینترنت متصل میشوند،بنابراین شکی نیست که مهارت های فعال و قابل حرکت برای یک تشکیلات حیاتی می باشد.لایه های واکنشی به این معناست که لایه های سایت (و گاهی عملکرد و محتوا) بر اساس اندازه ی صفحه و دستگاه مورد استفاده تغییر می کند.
برای مثال،زمانی که یک وب سایت به صورت مکرر از یک کامپیوتر دسکتاپ با یک مانیتو بزرگ نمایش داده می شود،یک کاربر ستون های متعدد،موارد گرافیکی زیادی را می بیند و موس و کیبورد نیز در تعامل با سایت هستند.در یک دستگاه موبایل،همان سایت با ستون های ساده که برای تعاملات لمسی بهینه سازی شده اند،به نمایش در می آید ولی محتوای اصلی مشابه است.
تست کردن و عیب یابی
این در توسعه ی وب یک حقیقت است،باگ ها وجود دارند.شناختن توسعه ی عیب یابی و تست کردن جزو موارد حیاتی محسوب میشوند.
تست واحد فرآیند تست بلوک های خاصی از کد سورس است ( دستور العمل هایی که به یک وب سایت میگویند چگونه کار کند) و فریم ورک های تست واحد یک روش و ساختار خاصی را بدین منظور فراهم میکنند (فریم ورک ها برای هر زبان برنامه نویسی متغیرند).
سیستم های ورژن کنترل و GIT
تشکیل ورژن کنترل به شما اجازه میدهد که تغییراتی را که در طول زمان روی کدها اعمال شده را دنبال کنید.آن ها همینطور باعث میشوند که در صورت خراب شدن چیزی،به نسخه ی قبلی بازگردید.بیایید بگوییم که شما یک افزونه ی شخصی سازی شده ی jQuery را اضافه کرده اید و سریعاً میتوانید مشکلات کدها را کاهش دهید.این کار بهتر از این است که به صورت دستیآن ها را undo کنید و تمامی خطاها را برطرف کنید،میتوانید به نسخه ی قبلی بازگردید و سپس با یک راه حل دیگر وارد شوید.
مهارت های حل مشکل
اگر یک چیز وجود داشته باشد که همه ی توسعه دهندگان front end در رابطه با آگاهی از توصیف شغل یا عنوان رسمی باید داشته باشند،مهارت های مربوط به مشکلات است.از کدنویسی برای برطرف کردن باگ ها تا نحوه ی کار کدهای front end با کدهای back end که اعمال شده اند.توسعه دادن به طور کلی درباره ی حل مشکلات است.
منظورازBack endچیست؟
برنامه نویسی بک اندیاback endمربوط به کدنویسی وبرنامه نویسی هران چیزی است که کاربران رامشاهده نمی کندو مربوط به کارهای پشت صفحه وب سایت است.برای مثال وقتی که یک وبسایت ،مقالات راازدیتابیس دریافت می کند،یک امرمربوط به بک انداست.وظیفه یک برنامه نویس بک اند برنامه نویسی چیزهایی است که هسته اصلی یک وبسایت هستندوکاربرکدهای ان رابه صورت مستقیم مشاهده نمی کند.
برنامه نویس Back endکیست؟
برنامه نویس back endراBack end Developmentگویند.
مهارتهای یک برنامه نویس Back End چیست
برای تبدیل شدن به یک برنامه نویس بک اند، شما باید مهارتهای زیادی داشته باشید. اگر بخواهیم بصورت خلاصه این مهارتها را لیست کنیم، میتوانیم به موارد زیر اشاره کنیم:
زبان برنامه نویسی سمت سرور
برای برنامه نویسی سمت سرور یا برنامه نویسی بک اند، اولین چیزی که نیاز دارید، یک زبان برنامه نویسیای است که سمت سرور اجرا شود. برای مثال زبانی مثل PHP یک زبان برنامه نویسی Back End است که باید روی سرور اجرا شود. پر در اولین قدم شما به یک زبان برنامه نویسی نیاز دارید.
پایگاه داده
دومین چیزی که حتما و قطعا به آن نیاز دارید، پیدا کردن تسلط به یک دیتابیس (Database) یا پایگاه داده است.
میتوان گفت که اصلی ترین کار زبان های برنامه نویسی سمت سرور، توانایی ارتباط برقرار کردن آنها با دیتابیس است.
وقتی شما به دیتابیس مسلط باشید و بتوانید با استفاده از زبان برنامه نویسیتان به دیتابیس وصل شوید، میتوانید به سرویسهای آنلاینتان قدرت فوق العادهای بدهید و از مزیتهای فوق العادهی دیتابیس استفاده کنید.
مباحث پیشرفته زبان برنامه نویسی
یکی از مباحثی که براش شما بسیار مفید خواهد بود، استفاده قابلیتهای حرفهای زبان برنامه نویسیتان است. به این معنا که بتوانید با آن زبان برنامه نویسی که کار میکنید، کدهای حرفهای و پیشرفتهای بنویسید. هرچقدر کدی که مینویسید بهتر و حرفهای و تمیزتر باشد، بازدهی کد شما بالاتر میرود و در نهایت سرویس آنلاین قوی تر و سریعتری خواهید داشت.
برای مثال در برنامه نویسی PHP، شما اگر بتوانید کدتان را به شیوهی شی گرایی (Object Oriented) بنویسید، کد شما میتواند خیلی تمیزتر، سریعتر و حرفهای تر باشد.
توانایی حل مسئله
وقتی در خصوص برنامه نویسی سمت سرور یا Back End صحبت میکنیم، یکی از چیزهایی که برای شما ضروری است،توانایی حل مسئله و داشتن یک ذهن تحلیلگر است.
داشتن ذهن تحلیلگر، یکی از مهمترین ویژگی هایی است که هر برنامه نویسی باید از آن بهره ببرد.
خبر خوب این است که این ذهن تحلیلگر، ارثی نیست و میتوان آنرا بدست آورد!
در آینده حتما در خصوص توانایی حل مسئله صحبت خواهیم کرد.
سوال پرسیدن
یکی دیگر از مهارتهایی که شما به عنوان یک برنامه نویس به آن نیاز دارید، توانایی سوال پرسیدن و راهنمایی گرفتن از دیگران است.
قطعا شما در مسیر برنامه نویسی به سوالات و مشکلاتی برخواهید خورد و باید آنها را حل کنید و برای اینکار نیاز دارید که از دیگران راهنمایی بگیرید. در واقع شما باید بتوانید خوب سوال بپرسید و سوال خوب بپرسید.
سلام وب زیبایی دارید.
لطفا به وب من هم سر بزنید.