عنوان مقاله: چگونه برنامه نو یسی را شروع کنیم؟


طراحی وب چیست؟

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

است.

طراحی وب فرآیندی است که طی آن یک صفحه وب از نظر ظاهری تهیه می شود. هر فعالیتی که در قسمت طراحی وب

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

عنصری باید در صفحه وب دیده شود، در چه مکانی و به چه شکلی و در چه زمانی؟ به شخصی که کار طراحی وب را انجام

می دهد، طراح وب می گویند . نام دیگر طراح وب، توسعه دهنده فرانت اند )End-Front )است.

برای درک بهتر End-Front ،من یک مثال خیلی ساده می زنم. فرض کنید تصمیم دارید کار شرکت خود را شروع کنید .برای

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

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

برنامه نویسی وب چیست؟

برنامه نویسی وب، در حقیقت همان برنامه نویسی وب سمت سرور و ایچاد اتفاقاتی است که کاربر پردازش آن را نمی بیند

اما نتیجه را می بیند . برای مثال: اگر شما در یک وب سایت وارد می شوید و رمز عبور خود را فراموش کرده اید با پیغام خطا

مواجه می شوید که وقوع این پیغام و پردازش این که رمز عبور شما اشتباه است در سمت سرور یا همان End-Back برنامه

نویسی شده است اما پیغام و ظاهر آن متعلق به فرانت اند است.

در واقع، هر بار که فرم ارتباطی را در سایت وارد می کنید یا به سایتی وارد می شوید یا با سایت ارتباط برقرار می کنید، مرورگر

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

اند توسط مرورگر نمایش داده شوند .

دیتابیس چیست؟

وب سایت شما برای مدیریت کلیه اطالعات مشتری و محصول به یک پایگاه داده نیاز دارد. پایگاه داده محتوای وب سایت

را در ساختاری ذخیره می کند که بازیابی، سازماندهی، ویرایش و ذخیره سازی داده ها را تسهیل می کند .یک End-Back کار

واقعی تا حدودی کار با دیتابیس را بلد است.

به چه کسی فول استک میگویند ؟

افرادی هستند که هم در طراحی وب و هم در برنامه نویسی وب فعالیت می کنند این افراد اصطالحًا، Stack Full هستند و

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

چگونه طراح وب شویم؟

برای اولین قدم برای تبدیل شدن به یک طراح End-Front ،باید HTML را بیاموزید، در کنار آن با یادگیری زبان نشانه گذاری

CSS شما می توانید ، به یک برنامه نویس وب سمت کالینت تبدیل شوید . اما اگر میخواهید توانایی برنامه نویسی وب

سمت کالینت خود را حرفه ای تر کنید، بهتر است که فریمورک های فرانت اند را هم یاد بگیرید .

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

Bootstrap است که باید از آن استفاده کنید .همچنین یک نرم افزار قدرتمند گرافیکی را هم برای طراحی رابط کاربری یاد

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

چگونگی یادگیری برنامه نویسی وب؟

● یادگیری زبان های نشانه گذاری CSS ,HTML

● یادگیری یکی از زبان های برنامه نویسی سمت سرور

● یادگیری یک پایگاه داده

● تمرین و تکرار فراوان.

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

mysql را حتما بیاموزید .

نکات مهم قبل از ورود به این حوزه

اگر عالقه ای به این رشته ندارید، هرگز وارد این حوزه نشوید .

بسیاری از دوستان فقط به این دلیل وارد این رشته می شوند که با تحصیل در این تخصص می توانند درآمد باالیی کسبئ کنند اما باید بدانید که تخصص در این زمینه به تالش زیادی نیاز دارد و اگر به این رشته عالقه نداشته باشید نمی توانیدموفق شوید .

اول مطمئن شوید به فرانت اند عالقه مند هستید یا بک اند

دوستان زیادی هستند که وارد چندین حوزه شدهاند، اما متاسفانه در هیچ یک از این حوزهها تخصص ندارند،

بنابراین پرش از این شاخه به اون شاخه ممنوع !

دستیابی به موفقیت در این زمینه مستلزم تالش و پشتکار مداوم است.

بسیاری از دوستان، اگرچه وقت زیادی را خرج یادگیری تخصص در این زمینه میکنند، اما متاسفانه نمیتوانند به

نتیجه برسند و دلیل آن این است که در میانه راه ناامید شده و منصرف می شوند، بنابراین شما میخواهید برنامه ریزی کنید.

سواالت متداول

آیا برای برنامه نویسی وب به ریاضی نیاز داریم؟

برنامه نویسی وب یک کار منطقی است و به مهارت حل مسئله نیاز دارد. جدا از منطق، به تفکر هنری نیز نیاز دارد، اما در

همه اشکال آن الزم نیست که هر روز با ریاضیات سروکار داشته باشید . اگر در حوزه ای مانند نرم افزار شبیه سازی، نرم افزار

مهندسی یا بازی های رایانه ای کار می کنید .بسته به کاری که انجام می دهید، مقداری به ریاضیات احتیاج خواهید داشت، اما

اگر در حال نوشتن برنامه های اداری یا برنامه هایی هستید که افراد معمو ًال بصورت آنالین از آنها استفاده می کنند، کار شما

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

مطمئنًا، شما به تجزیه و تحلیل نیاز دارید، به همین دلیل افرادی که در ریاضیات مهارت دارند معمو ًال برنامه نویسان خوبی

می شوند .

نکته مهم این است که شما برای نوشتن بیشتر برنامه هایی که نوشته شده اند، نیازی به محاسبات ریاضی ندارید، اما باید

سطح باالیی از حل مسئله داشته باشید .

آیا برای برنامه نویسی وب به دانشگاه نیاز داریم؟

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

زیادی دارد و به هیچ وجه کار آسانی نیست، بنابراین اگر آن را دوست ندارید، نباید دنبال آن بروید . معمو ًال باید اطالعات

خود را به روز کنید تا یکی از بهترینهای این حوزه باشید .

شما باید روزانه وقت زیادی را در این کار بگذرانید . دانشگاه به شما کمک خواهد کرد و اساتید می توانند سرنخ های خوبی به

شما بدهند، اما واقعیت این است که بیش از 30 ٪از برنامه نویسان در جهان اص ًال مدرک مهندسی نرم افزار یا علوم کامپیوتر

ندارند . این افراد مواردی مانند فلسفه، ریاضیات یا فیزیک را خوانده اند .بنابر این مهم نیست رشته تحصیلی شما چیست مهم

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

درآمد برنامه نویسی وب چقدر است؟

این سوال درستی نیست، برنامه نویسی وب کامال به میزان مهارت شما و حوزه کاری شما بستگی دارد.

نکته مهم دیگر تعداد رقبا است، در حوزه هایی که رقبا کمتر هستند درآمد بیشتر است. مثال : فول استک درآمدش بیشتر از

فرانت کار است.

همچنین اگر قصد دارید که به عنوان کارمند استخدام شوید شهر شما هم مهم است و شهرهای بزرگ مثل تهران و مشهد و

اصفهان حقوق بیشتری می دهند .

برخی از افراد هم به صورت فریلنسری و به صورت شخصی بر روی پروژه های دیگر شرکت ها به صورت دورکاری کار می کنند

از مزایای این نوع این است که ساعت کاری شما بسیار منعطف و دست خودتان خواهد بود.

در ادامه شما رو با برنامه نویسی زبان پایتون بیشتر آشنا میکنم.

البته من خودم برای شروع کار و استارتم از آموزش برنامه نویسی پایتون مقدماتی سایت فرادرس استفاده کردم که لینکشو در زیر براتون قرار میدم.

آموزش برنامه نویسی پایتون Python - مقدماتی:

https://faradars.org/courses/fvpht9808-basic-of-python-programming

چرا پایتون؟

سیستم‌عامل گنو در سال ۱۹۸۳ با هدف ایجاد یک سیستم‌عامل کامل و آزاد شبه-یونیکس به‌وسیله ریچارد استالمن پایه‌گذاری شد. GNU مخفف بازگشتی «GNU's Not Unix» است.

پروژه گنو در سال ۱۹۸۴ با هدف پشتیبانی و تولید نرم‌افزار آزاد برای سیستم‌عامل گنو تأسیس شد.

بنیاد نرم‌افزار آزاد در سال ۱۹۸۵ با هدف حمایت از جنبش نرم‌افزار آزاد و به ویژه پروژهٔ گنو شروع به کار کرد.

امروزه مهم‌ترین و رایج‌ترین سیستم‌عاملی که از نرم‌افزارهای پروژه گنو و پروانه GNU GPL استفاده می‌کند، لینوکس است که از کرنل لینوکس استفاده می‌کند و به شکل توزیع لینوکس عرضه می‌شود که بعضی اشخاص به آن «گنو/لینوکس» می‌گویند.

گنو یک مخفف بازگشتی است و از نخستین حرف کلمات GNU's Not Unix به معنای گنو یونیکس نیست گرفته شده است. ریچارد استالمن این نام را روشی خلّاقانه برای ادای دین به سیستم‌عامل یونیکس می‌داند، زیرا استفاده از نام یونیکس به دلیل علامت تجاری بودن در یک محصول دیگر بدون اجازه ممکن نیست. همچنین گنو نام نوعی گاو وحشی است که در آفریقا زندگی می‌کند.

نرم افزار های آزاد

طبق تعریف نرم‌افزار آزاد توسط بنیاد نرم‌افزارهای آزاد، هر نرم‌افزاری که آزادی‌های زیر را برای کاربرانش فراهم کند به عنوان یک نرم‌افزار آزاد شناخته می‌شود:

üکاربران باید اجازه داشته باشند که نرم‌افزار مورد نظر را برای هر قصد و منظوری اجرا کنند.

üکاربران باید اجازه داشته باشند نرم‌افزار را مطابق با نیازهای خود تغییر دهند. برای رسیدن به این هدف، کدهای منبع نرم‌افزار باید در اختیار کاربر قرار گیرد.

ü

üکاربران باید اجازه داشته باشند نرم‌افزار را مجدداً منتشر کرده و در اختیار دیگران قرار دهند. این کار می‌تواند به صورت رایگان و یا در ازای دریافت مبلغی پول صورت گیرد.

ü

üاگر کاربری نرم‌افزار را تغییر داد، باید اجازه داشته باشد آن را مجدداً منتشر کرده و در اختیار دیگران قرار دهد. (در مورد نرم‌افزارهای کپی‌لفت، لازم است تا کدهای منبع نرم‌افزار تغییریافته نیز در اختیار کاربران دیگر قرار گیرد)

کپی لفت

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

üجی‌پی‌ال(GPL)، اجازه‌نامه جامع و عمومی گنو: این اجازه‌نامه به منظور اعمال کپی‌لفت به نرم‌افزارها و متن آنها پدیدآمده است و تضمین می‌کند کاربران تمام آزادی‌هایی که در تعریف نرم‌افزار آزاد آمده است را داشته باشند و هیچ شخصی نتواند این آزادی‌ها را از آنان بگیرد.

üال‌جی‌پی‌ال(LGPL)، اجازه‌نامه کوچکتر جامع و عمومی گنو: این اجازه‌نامه برای اعمال به کتابخانه‌های نرم‌افزاری پدید آمده است و به کاربران اجازه می‌دهد کتابخانه‌هایی که تحت قوانین این اجازه‌نامه انتشار یافته‌اند را با نرم‌افزارهای مالکیتی ترکیب کنند.

üپروانه مستندات آزاد گنو(GFDL): نرم‌افزار آزاد باید دارای مستندات آزاد نیز باشد. این اجازه‌نامه به کاربران اجازه می‌دهد تا مستندات را ویرایش کرده و مجدداً توزیع کنند؛ و در عین حال تضمین می‌کند آزادیِ ویرایش و توزیع مجدد آن برای دیگران نیز محفوظ بماند.

زبان پایتون

خالق زبان برنامه نویسی پایتون

زبان Python توسط آقایGuido van Rossum ابداع شده است (لقبش Benevolent Dictator for Life ، دیکتاتور خیرخواه جاویدان است.) وی پیش از طراحی زبان پایتون، اقدام به طراحی زبانی تحت عنوان ABC کرده بود اما این زبان خیلی با اقبال عمومی مواجه نشد. پس از بازخوردهایی که در ارتباط با این زبان از سایر برنامه نویسان گرفت، آقای خودو فان روسوم در زمستان سال ۱۹۸۹ زبان پایتون را پایه ریزی کرد که برخلاف زبان قبلی، خیلی مورد استقبال سایر برنامه نویسان سرتاسر دنیا قرار گرفت.

داستان نامگذاری

ون روسوم پیش از هر چیز، تلاش کرد نامی مناسب برای زبان جدیدی که در صدد طراحی آن بود پیدا کند و با توجه به این که این زبان جدید از دل پروژه ی ABC بیرون می آمد، در ابتدا قصد داشت آن را B بنامد، اما متوجه شد زبانی به همین نام وجود دارد. پس از آن که روسوم بسیاری از پیشنهادات اعضای گروه را در مورد نام زبان جدید رد کرد تصمیم گرفت اولین نامی را که به ذهنش رسید انتخاب کند، که به طور اتفاقی به یاد کمدی محبوبش که آن روزها از شبکه ی BBC با نام Monty Python’s Flying Circus پخش می شد افتاد و به این ترتیب نام پایتون را برای پروژه ی جدید خود انتخاب کرد.

ویژگیهای زبان پایتون

Òسادگی و صراحت (Simplicity)

Éمی توان بیشتر روی حل مسئله متمرکز شد.

Éبه زبان طبیعی دقیق بسیار نزدیک است

Òمنحنی یادگیری کم شیب (Low Learning Curve)

Éحذف پیچیدگی ها

Éساده بودن syntax

Òرایگان و متن باز بودن (Free & Open Source)

Òسطح بالا بودن (High-level)

Òزبانی تفسیرشده (Interpreted)

کاربرد پایتون

Òبرای پروتوتایپ سازی

Éپیاده سازی اولیه ایده ها

Òساخت وب اپلیکیشن

Éجاوا در این زمینه پر طرفدار

Òطراحی اپلیکیشن های محاسباتی،‌ علمی و مهندسی

Òکار با XML

Òارتباط با دیتابیس

Òطراحی رابط کاربری



Ada Lovelace

Òاوگوستا آدا بایرون (لاولیس)، دختر لرد بایرون، شاعر معروف انگلیسی، پدر برنامه نویسی است!

Òشهرت آدا بیشتر به واسطه نوشتن توضیحاتی در مورد ماشین محاسباتی مکانیکی «چارلز بابیج» است. چارلز بابیج، یک فیلسوف تحلیلگر و ریاضیدان انگلیسی و نخستین کسی بود که ایده یک ماشین محاسبه گر برنامه‌پذیر را ارائه داد. وی در سال 1820 طراحی ماشین محاسبه گر خود را آغاز نمود ؛ ماشینی که بعدها به نام ماشین تفاضلی معروف شد. بابیج در زمان حیاتش هیچگاه نتوانست نتیجه کار ماشین محاسبه گر خود را ببیند، اما توانست امکانپذیر بودن برخی گزینه های بنظر نا ممکن را اثبات کند.

Data Type

Òدر نسخه جدید(3.5) پایتون داده عددی intو long یکی شده و محدودیت آن حذف شده است. عدد می تواند به اندازه حافظه کامپیوتر بزرگ باشد!

Òبا تابع type می توانیم نوع داده را مشخص کنیم.

Òبا تابع isinstance هم می توان نوع یک داده را بررسی کرد.

Òداده float با یک نقطه«.» یا به صورت توانی بااستفاده از e یا E نوشته می شود.

ÒTrueمعادل یک و False معادل صفر می باشد.

Òبا تابع del می توان یک متغیر را آزاد نمود.

String

Òبرای نمایش یک رشته به صورت های زیر عمل می کنیم:

É“Sample” امکان استفاده از نویسه «’»

É‘Sample’ امکان استفاده از نویسه «”»

É“””Sample””” به صورت چند سطری

É‘’’Sample’’’ به صورت چند سطری

Òمانند زبان C می توان از Escape Code استفاده کرد

É\n,\t, \\, \’, \”, \r, …

Òبرای از نادیده گرفتن کد های گریز می توان قبل رشته حرف rگذاشت مانند:

Éprint(r”a\nb”)

Òبرای تبدیل شدن به یونیکد از پیشوند u استفاده می کنیم.


list

Òاز علامت [] برای نمایش آن استفاده می کنیم و بین عناصر لیست کاما می گذاریم.

Òمانند رشته ها از عملگرهای زیر می توانیم استفاده کنیم:

ÉSlicing Operator

É+ Operator

É* Operator

Éin

Énot in

Òامکان تغییر یک عنصر لیست وجود دارد.


tuple

Òاز علامت () برای نمایش آن استفاده می کنیم و بین عناصر تاپل کاما می گذاریم.

Òمانند رشته ها از عملگرهای زیر می توانیم استفاده کنیم:

ÉSlicing Operator

É+ Operator

É* Operator

Éin

Énot in

Òامکان تغییر یک عنصر تاپل وجود ندارد!


Dictionary

Òاز علامت {} برای نمایش آن استفاده می کنیم و بین گزینه های لغت نامه کاما می گذاریم.

Òهر گزینه از یک کلید و یک مقدارتشکیل شده که با : تفکیک می شود.

Òاز علامت [] برای دسترسی به گزینه ها استفاده می شودو اندیس آن کلید است.

Òامکان تغییر یک عنصر لغت نامه وجود دارد.

Òاز عملگر های قبلی پشتیبانی نمی شود.


set

Òاز علامت {} برای نمایش آن استفاده می کنیم و بین گزینه های مجموعه کاما می گذاریم.

Òدر مجموعه گزینه تکراری نداریم

Òاز عملگر in و not inبرای عضو بودن استفاده می کنیم

Òامکان تغییر در گزینه ها وجود ندارد.

Òاز عملگر های اجتماع (|)، اشتراک(&)، تفاضل(-) و دلتا(^) پشیبانی می کند.

ادامه اموزش در پست های بعدی .

موفق باشید.



#فرادرس

#تجربه_یادگیری