تمرینهای سری پنجم برنامه نویسی با پایتون(توابع بازگشتی)

تمرین1:برنامه ای بنویسید که با استفاده از یک تابع بازگشتی تقسیم دو عدد صحیح را انجام دهد.

خروجی برنامه با جایگذاری چند عدد:

تمرین2:برنامه ای بنویسید که با استفاده از یک تابع بازگشتی ترکیبr ازnرا به دست آورد.

مثالی از خروجی برنامه:

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

تمرین4:برنامه ای بنویسید که با استفاده از یک تابع بازگشتی تمام زیرمجموعه های یک مجموعه را بدست آورد.

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

"بسم الله الرحمن الرحیم"

سوال1:تفاوت sortوsorted در چیست؟

به مثالهای زیر توجه کنید:

"مرتب سازی با استفاده از sort"
"دو لیست مرتب شده توسطsorted"

 

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

سوال2:برنامه ای بنویسید که باقیمانده تقسیم عدد بر11را بدون استفاده از%به دست آورد.

"باقیمانده تقسیم اعداد بر 11بدون استفاده از%"

سوال3:اگر بجای L2=L1دربرنامه [:]L2=L1را قرار دهیم آیا تفاوتی دارد و تاثیری در خروجی میگذارد؟

با استفاده از[:]
بدون استفاده از[:]

در این مثال[:] تاثیری روی خروجی نگذاشته اما همانطور که میبینید در تمرین چهارم کاربرد این علامت را توضیح داده ایم که اگر این علامت باشد زمانی که تغییری  روی L2 بدهیم روی L1 تاثیری نخواهد گذاشت اما اگر فاقد این علامت باشد هر تغییری روی L2 بدهیم روی L1هم اعمال خواهد شد.

سوال4:خروجی قطعه کد زیر چیست؟عملکرد ان را توضیح دهید.

در این کد ابتدا یک لیست با نام names1 حاوی چهار اسم داده شده است و در مرحله ی بعد لیست جدیدی با عنوان names2 با همان عناصر لیست اول تشکیل داده که هر تغییری روی names2 ایجاد شود بر روی names1 نیز ایجاد خواهد شد.و اما لیست names3 را طوری تنظیم کرده که اگر تغییری در آن ایجاد شد روی names1 تاثیر گذار نباشد(با استفاده از[:]names3=names1)
در مرحله ی بعد در موقعیت[0]لیست دوم اسامی'Alice'را جایگذاری کرده که باعث میشود عنصر اول لیست 1و2 به 'Alice'تغییر یابد و اما بعد از آن بجای عنصر موقعیت[1]در لیست سوم،'Bob'را جایگذاری کرده که هیچ تاثیری روی لیست1 نمی گذارد.سپس sum را صفر قرار داده و برای lsهایی که درون(names1,names2,names3)
هستند شرایط زیر را گذاشته است که:
اگر عنصر اول لیست names1 برابر Alice بود آنگاه به sum یک عدد اضافه کند که چون این شرط برقرار است تا اینجای کار 1=sum میشود.سپس چک میشود که آیا عنصر اول آن یعنی[0]ls برابر Bob هست و یانه و چون اینطور نیست از حلقه خارج شده و سراغ names2 می رود.چون عنصر[0]ls آن برابر Alice است،1 واحد به sum افزوده و چک میکند که آیا عنصر [1]ls آن Bob هست یا خیر و به دلیل برقرار نبودن این شرط وارد لیستnames3 میشود.در این لیست ابتدا بررسی میشود که آیا اولین عنصر Alice هست یا نه و چون اینگونه نبود وارد حلقه ی بعد میشود که چون شرط این حلقه،عنصر دوم لیست یعنی [1]ls،برابرBob است به sum 10عدد اضافه کرده و به این ترتیب خروجی این کد عدد 12 میشود.

تمارین برنامه نویسی با پایتون سری سوم

"بسم الله الرحمن الرحیم"

تمرین1:برنامه ای بنویسید که با استفاده از یک حلقه تکرار اعداد بین 1تا100و353تا738و940تا950را در خروجی نمایش دهد.

تمرین2:برنامه ای بنویسید که تعداد مضارب5وهمچنین تعداد مضارب7را در بازه 231تا846درخروجی چاپ کند.

تمرین3:برنامه ای بنویسید که 100عدد را از ورودی دریافت کرده و میانگین و حاصل جمع آنهارا محاسبه و چاپ کند.

برنامه ی اصلی که میانگین و مجموع 100عدد را چاپ میکند:

اما برای اینکه خروجی را سریعتر ببینیم من همین دستور را برای 10عدد نوشتم که خروجی آن به صورت زیر است:

تمرین4:برنامه ای بنویسید که یک ورودی از کاربر بگیرد و چک کند که آیا آن عدد اول است یاخیر؟(بااستفاده از دستورbreak)

تمرین5:گرفتن یک عدد از ورودی و چاپ اشکال:

 

تمارین برنامه نویسی با پایتون سری2

"بسم الله الرحمن الرحیم"

تمرین1:برنامه ای بنویسید که دو عدد صحیح a,bو یک کاراکتر مثلc شامل /,*, +,-را از ورودی دریافت کرده و سپس براساس کاراکتر دریافتی عملیات مربوط به آن را رویaوbانجام دهد.

تمرین2:برنامه ای بنویسید که ابتدا دو عدد را گرفته و سپس عدد سومی گرفته و تمامی اعداد بین دو عدد اول که بر عدد سوم بخش پذیر باشند را در خروجی نمایش دهد.

تمرین3:برنامه ای بنویسید که یک عدد از ورودی بگیرد و 2به توان ان عدد را بدون استفاده از**محاسبه و درخروجی چاپ کند.

تمرین4:برنامه ای بنویسید که یک عدد از ورودیگرفته و تعداد ارقام ان را در خروجی چاپ کند.

تمرین5:برنامه ای بنویسید کهn جمله اول سری فیبوناچی را در خروجی چاپ کند.

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

تمرین7:برنامه ای بنویسید که یک عدد از ورودی دریافت کرده و مشخص کند ان عدد کامل است یاخیر.

 

" پایان(: "

تمارین برنامه نویسی با پایتون

"بسم الله الرحمن الرحیم"

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

تمرین1:برنامه ای بنویسید که یک عدد از ورودی گرفته و مشخص کند که منفی مثبت و یا مساوی صفر است. 

تمرین2:برنامه ای بنویسید که سه عدد صحیح از ورودی گرفته و بزرگترین مقدار را در خروجی نمایش دهد. 

تمرین3:برنامه ای بنویسید که سه عدد صحیح را از ورودی گرفته و آنهارا به ترتیب صعودی از کوچک به بزرگ مرتب کند. 

تمرین4:برنامه ای بنویسید که یک عدد تک رقمی(از صفر تا نه)از ورودی دریافت کرده و آنرا به صورت حروفی چاپ کند. 

تمرین5:برنامه ای بنویسید که از کاربر بخواهد تا یک عددintegerوارد کند سپس اگر این عدد بر3بخش پذیر بود برنامه شما yesو در غیر اینصورتNoرا چاپ کند.

تمرین6:برنامه ای بنویسید که از کاربر بخواهد یک عددintegerوارد کند.اگرعدد ورودی2بود چاپ کند Two,اگر عدد3بود چاپ کندThree,اگر5بود باید چاپ کندFive و درغیر اینصورت other را چاپ کند.

تمرین7:برنامه ای بنویسید که مقدار ردو متغیر را بدون استفاده از متغیر کمکی(با استفاده از دو روش)جابجا کند.

تمرین8:برنامه ای بنویسید که یک عدد دورقمی از کاربر بگیرد و مغلوب ان را چاپ کند.

پایان(:

ادامه نوشته

خلاصه و برداشتی از بیوگرافی بزرگان علوم رایانه

"بسم الله الرحمن الرحیم"

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

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

جلوتر که می رویم به شخصیتی عجیب می رسیم؛جولین آسانژ موسس ویکی لیکس و افشاگر بزرگ که حاشیه های بسیاری دارد و ادوارد اسنودن که با عنوان خائن برای آمریکا و قهرمان برای بشریت شناخته شده است.به راستی اگر ما در شرایط اسنودن قرار میگرفتیم و از اسرار کثیف کشور خود باخبر میشدیم آیا برای نجات و بهتر شدن جهان آنها را فاش کرده یا از آنها چشم پوشی میکردیم؟!
در این دنیای پر رمز و راز گاهی نیز گلایه ها و مشکلاتی پیش می آید.برای مثال وقتی که استیو جابز، اندی روبین را متهم به تقلید از او برای طراحی اندروید و کپی کردن iOSکرد و اعتمادش را به لری پیج،سرگی برین و اریک اشمیت،مدیر عامل وقت گوگل(که لقب معنای مدیریت دره ی سیلیکون را دارد)از دست داد. 
بسیاری از بزرگان در این فضا کسب و کار اینترنتی به راه انداختند از جمله "جک ما"،موسس مرکز خرید اینترنتی علی بابا/"جف بزوس"،موسس آمازون،تجارت الکترونیکی،حوزه ی رسانه،گجت های دیجیتال و دنیای سرگرمی/"هیدئو کوجیما"،خالق و کارگردان بازی های متال گیر و..
دنیای فناوری بسیار شگفت انگیز است.همینکه به راحتی با هم ساعتها در ارتباط هستیم مدیون خالق تلگرام،پاول دورف هستیم.طراحی شکل و شمایل و ظاهر زیبای تلفن همراه یا وسایل دیگر اپل که امروزه برای کاربران نیز اهمیت ویژه ای دارد به عهده ی جاناتان آیو،که دوره ی طراحی صنعتی را گذراند است.از ایلان ماسک و ایده هایی که در سر دارد مانند تسخیر فضا و ایده هایی که عملی کرده است از جمله در صنعت خودرو و سرعت در جابجایی نیز نمی توان گذشت و باید دید در آینده چه می کند.
آنطور که به نظر میرسد علوم فنی_مهندسی به تنهایی و آسانی به موفقیت نمی رسند و علوم انسانی و مدیریتی نقش مهمی در این زمینه ایفا میکند.مانند استیو وزنیاک مغز فنی شرکت اپل و استیو جابز که مدیریت بسیار هوشمندانه ای داشت و باعث شد این دو مکمل هم باشند.
استیون هاوکینگ دانشمند بزرگی که درگیر یک بیماری شده و حتی قدرت تکلم خود را از دست داده است اما هنوز هم فعالیتهای بسیاری دارد از جمله نظریه هایی مثل:عدم وجود خدا،امکان حمله ی فضایی ها به زمین و خطر های هوش مصنوعی برای ما.ایشان هم چنین در سریالها و برنامه های تلویزیونی مانند بیگ بنگ تئوری و نظریه ی همه چیز حضور داشته اند و دور از حاشیه نبوده اند.
و در آخر همه ی ما مدیون این بزرگان هستیم و می دانیم که چیزی جز تلاش و پشتکار و امیدواری و صبر نمیتواند در مسیر موفقیت مارا یاری دهد.بزرگانی که در این مسیر به دلیل استرس زیاد کارشان حتی گاهی به بیماری های سختی دچار شدند.امیدواریم که افرادی مثل این بزرگان روز به روز بیشتر و بیشتر شده و جامعه ی بشریت را نجات دهند و با پیشرفتهای بسیارشان در این عرصه و عرصه های دیگر موجب بهتر شدن اوضاع جهان شوند.

ممنون از همراهی شما🌷💙

SATA

"بسم الله الرحمن الرحیم"

سوال4:SATAچیست و چه کاربردی دارد؟

SATAمخف کلمات Serial Advanced Technology Attachment میباشد.SATA یک استاندارد بر پایه ی IDE است که در سال 2001 به بازار عرضه شد.SATA مانند PATA برای اتصال دستگاه هایی مثل هارد درایو و درایو های نوری به مادربورد سیستم مورد استفاده قرار میگیرد.همانطور که گفته شد SATA جایگزین استاندارد PATA شد و برای اتصال دستگاه های ذخیره سازی درون کامپیوتر مورد استفاده قرار گرفت.سرعت انتقال داده در تکنولوژی SATA دو برابر بیشتر از نرخ انتقال داده تکنولوژی PATA است. SATA یا Serial ATA یک استاندارد (IDE (Integrated Drive Electronics است که اساسا توسط کابل ها و کانکتورها به دستگاه های ذخیره سازی و از سوی دیگر به مادربرد متصل می شوند و امکان انتقال اطلاعات و دیتاها را فراهم می کنند. منظور ما در اینجا از دستگاه های ذخیره سازی، هارد دیسک ها،SSD ها و CD drives و DVD Drives ها است. این دستگاه های ذخیره سازی توسط کابل ساتا به مادربرد متصل می شوند و انتقال اطلاعات و ذخیره سازی را انجام می دهند.
اگر به یاد داشته باشید در گذشته از کابلهای (PATA (Parallel ATA استفاده میشد که تقریبا از سال 2000 کابل های SATA جایگزین این کابل ها شده اند.
تصویری از کابل SATAو محل اتصال آن:

انواع SATAو سرعت آنها:

همانند تمام تکنولوژی ها، رابط کاربری SATA از چندین iterations برای تطابق با استانداردهای مدرن برخوردار است. SATA تا به امروز سه نسخه متفاوت را ارائه کرده است.
به غیر از برخی از تفاوت های جزئی، مانند NCQ که مخفف Native Command Queuing بوده و به همراه SATA 2.0 معرفی شد، تفاوت اصلی بین نسخه های SATA 2.0 و 3.0 سرعت انتقال داده ای است که می توانند ارائه دهند. SATA 1.0 که امروزه منسوخ شده و کامپیوترهای جدید از این نسخه و Interface را ندارند بنابراین هیچ موضوعی برای بحث در خصوص SATA 1.0 نیست و مختومه است. هز سهconnector و کابل های نسخه های مختلف SATA با هم سازگار هستند و تفاوت سرعت انتقال داده ها بین کابل ها، موضوعیست که می خواهیم در این مورد با شما صحبت کنیم.
SATA بطور پایه ای و کلی، درون کامپیوتر و روی مادربرد قرار دارد پس به این ترتیب شما فقط می توانید دستگاه های ذخیره سازی داخلی(مثل هارد دیسک، DVD Writer) را بدان متصل کنید. اگر مادربرد سیستم شما از( eSATA (external-SATAهم پشتیبانی کند شما می توانید از بیرون کیس هم دستگاه به سیستم متصل کنید. شکل ظاهری آن مانند یک رابط معمولی SATA است. همانند VGA (صفحه نمایش) و یا اتصالات USB
اما نکته اینجاست که این اتصال خیلی هم قدرتمند عمل نمی کند و دستگاه هایی که به این طریق به سیستم متصل می شوند نمی توانند از سرعت SATA3.0 بهره مند شوند. تکنولوژی SATA در طول سالیان گذشته تا به امروز دستخوش تغییرات زیادی شد که منجر به ارائه ورژنهای مختلف گردید و آن چیزی که امروزه ما شاهد آن هستیم بلوغ کامل SATA تا به امروز است که فقط تعداد محدودی دستگاه را با سیستم ارتباط می دهد که این به نوبه خود در سرعت انتقال اطلاعات این تکنولوژی خیلی موثر است بر عکس پورت USB که از میلیون ها دستگاه ها پشتیبانی می کند.

جدولی که انواع SATAو سرعت آن را نشان می دهد:

 

اطلاعات سخت افزاری کامپیوتر(RAM,Graphic,CPU,Mainboard)

"بسم الرحمن الرحیم"

هر سیستمی شامل ویژگی هایی اعم از RAM,CPU,GRAPHICS,MAINBOARDو...می باشد که با استفاده از برنامهCPU_Zقابل مشاهده است.اطلاعاتی که پایین تر به شکل تصویر نمایش داده شده است،مربوط به سیستم کامپیوتر بنده است.

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

بخشCPU:

بخشMain_board:

بخشMemory)RAM):

 

بخشGraphics:

BACKEND

"بسم الله الرحمن الرحیم"

سوال2:منظور از back_endچیست؟برنامه نویس backendکیست؟یک نفر که متخصص backend است به چه چیزهایی بایستی مسلط باشد؟

 

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

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

مهارت‌ها و زبان‌های لازم برای برنامه نویسان بک-اند:

برنامه نویسان این حوزه باید با زبان‌ها و تکنولوژی‌های مختلف سمت سرور مانند

Java
PHP
Python
SQL
C#

و NET. آشنا باشند
برنامه نویسی بک اند (Back End) مربوط به کدنویسی و برنامه نویسی هر آن چیزی است که کاربر آن را مشاهده نمیکند و مربوط به کارهای پشت صحنه وب سایت است. برای مثال وقتی که یک وبسایت، مقالات را از دیتابیس دریافت میکند، یک امر مربوط به بک اند است. وظیفه‌ی یک برنامه نویس بک اند، برنامه نویسی چیزهایی است که هسته اصلی یک وبسایت هستند و کاربر کدهای آن‌را بصورت مستقیم مشاهده نمیکند.

پایان🌸

منظور ازfrontendچیست؟یک نفر که متخصص frontendاست به چه چیزهایی باید مسلط باشد؟

"بسم الله الرحمن الرحیم"

سوال1:Front-end

اگر بخواهیم معنای لغوی واژه front را بررسی کنیم به کلمه"جلو"برمیخوریم.
با توجه به تعریفی که از این واژه دیدیم، میتوانیم در پاسخ به سوال Front End چیست بگوییم:

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

مقایسه با بک اند

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

در نقطه‌ی مقابل Front End، واژه و مفهوم Back End وجود دارد که اینگونه معنا میشود:

برنامه نویسی بک اند (Back End) مربوط به کدنویسی و برنامه نویسی هر آن چیزی است که کاربر آن را مشاهده نمیکند و مربوط به کارهای پشت صحنه وب سایت است. در واقع وقتی که یک وبسایت، مقالات را از دیتابیس دریافت میکند، یک امر مربوط به بک اند است. وظیفه‌ی یک برنامه نویس بک اند، برنامه نویسی چیزهایی است که هسته اصلی یک وبسایت هستند و کاربر کدهای آن‌را بصورت مستقیم مشاهده نمیکند.

یک تئاتر را در نظر بگیرید!

برای اینکه این دو مفهوم را بهتر متوجه شوید، یک اجرای تئاتر را در نظر بگیرید. اگر یک تئاتر بخواهد اجرا شود، به دو گروه از افراد نیاز دارد:

بازیگرهایی که اجرای صحنه‌ی تئاتر را بر عهده دارندنویسنده، کارگردان، تهیه‌کننده، نورپردازی و… که بصورت مستقیم روی صحنه نمی‌آیند، ولی تاثیر کار آن‌ها در اجرای تئاتر موثر است.

دو حیطه‌ی مختلف Front End و Back End نیز دقیقا به همین صورت است:

تمام آن چیزی که مربوط به ظاهر سایت می‌باشد (مثل بازیگران در صحنه تئاتر) مربوط به اجرای Front End.و تمام آن چیزی که مربوط به کارهای پشت صحنه سایت می‌باشد (مثل کارگردان و تهیه‌ کننده که در پشت صحنه هستند) با نام Back End شناخته میشود. 
برای تبدیل شدن به یک طراح وب فرانت اند، شما به مهارت های بسیاری نیاز دارید که همه‌ی آن‌ها برایتان کاربردی خواهد بود. در زیر بصورت خلاصه این مهارت‌ها را عنوان میکنیم و در آینده در یک مقاله و آموزش تخصصی، درباره‌ی تمام مهارت‌هایی که برای تبدیل شدن به یک طراح وب فرانت اند نیاز داریم صحبت میکینم.

لیست مهارت‌هایی که یک Front End Developer باشد داشته باشد:

HTML
CSS
Javascript
کتابخانه‌ها و فریمورک های جاوا اسکریپت (مثل جی کوئری)
کتابخانه‌های CSS مثل بوت استرپ (Bootstrap)
پردازنده‌های CSS مثل Sass یا Less
طراحی وب واکنش گرا (Responsive Web Design)
نرم افزارهای گرافیکی (فتوشاپ و شاید کمیIllustrator)
تست و آزمون خطاو...

پایان💜