<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های حمیده براهویی</title><link>https://virgool.ir/feed/@hamidata.org</link><description>سلام. من مدیر گروه نرم افزاری حامیدیتا هستم (hamidata.org). فارغ التحصیل رشته مهندسی نرم افزارم. اینجا هستم تا مطالب مربوط به برنامه نویسی رو با شما به اشتراک بذارم.</description><language>fa</language><pubDate>2026-11-12 04:28:58</pubDate><image><url>https://files.virgool.ir/upload/users/1715616/avatar/DQJrtL.jpg</url><title>حمیده براهویی</title><link>https://virgool.ir/@hamidata.org</link></image><item><title>آموزش پروژه محور یا گام به گام! مسئله این است!!!</title><link>https://virgool.ir/@hamidata.org/آموزش-پروژه-محور-یا-گام-به-گام-مسئله-این-است-goiodistjf1c</link><description>پکیج برنامه نویسی و طراحی اپلیکیشن دیجی کالاپکیج برنامه نویسی و طراحی اپلیکیشن دیوار و …خیلی از کسانی که می خوان برنامه نویسی رو شروع کنن بین آموزش پروژه محور و گام به گام مردد هستن و سایت هایی هم که این پکیج ها رو می فروشن ، عاشقان برنامه نویسی رو حسابی وسوسه میکنه :)قاعدتا در آموزش پروژه محور شما مباحثی رو یاد میگیرید که اون پروژه بهش نیاز داره و مباحث خارج از اون پروژه رو یاد نمیگیرید.قبل از اینکه دکمه “اضافه کردن به سبد خرید” رو در این سایت ها فشار بدید.از خودتون سوال کنید:هدف من از یادگیری برنامه نویسی اندروید چیه؟آیا ایده هایی دارید که می خواهید اجرایی کنید؟آیا میخواهید توی یه شرکت برنامه نویسی کار کنید؟آیا می خواهید فریلنسر باشید؟ فریلنسر یه پروژه ی بزرگ یا پروژه های کوچک؟فقط در یک صورت می تونید اون دکمه رو فشار بدید!اگر میخواهید فریلنسر باشید و می خواهید پروژه های کوچک رو به انجام برسونید، بله! بخرید!عموما کسانی که با یه برنامه نویسی فریلنسر کار میکنن و پروژه های کوچکی هم دارن، چیزی شبیه به دیجی کالا می خوان. اکثرا اونها محصولی برای ارائه دارن و یک سایت که می خوان اپلیکیشنش رو هم داشته باشن!اما اگر ایده های بزرگی دارید. اگر توی یه شرکت می خواهید کار کنید اگر فریلنسر پروژه های بزرگ و طولانی مدت می خواهید بشید. اون پکیج رو خریداری نکنید و بیشتر سمت آموزش گام به گام برید و هر کدوم از مباحث رو یاد بگیرید.البته از اونجایی که مباحث برنامه نویسی اندروید بسیار زیاد هستند، اگر تعدادی از مباحث رو آموزش ندیدید. نگران نباشید. شما بعد از یادگیری گام به گام از پس هر مسئله ای برمیاید.</description><category>حمیده براهویی</category><author>حمیده براهویی</author><pubDate>Sat, 26 Nov 2022 17:10:34 +0330</pubDate></item><item><title>تاریخچه اندروید</title><link>https://virgool.ir/@hamidata.org/تاریخچه-اندروید-gupqbylma4nk</link><description>اول بهتره که معنی لغوی اندروید رو بدونیم و بعد به سراغ تاریخچه ش بریم. ریشه کلمه ی اندروید به زبان یونانی برمی گرده. Andros به معنی انسان و Oid به معنای مشابه.پس اندروید یعنی آدم آهنی، ربات، انسان مصنوعی.پدید آورنده ی اندروید آقای اندی رابین بود:Andy Rubinاندی رابین توی یه روستا به نام چاپاکوا Chappaqua در ایالت نیویورک زندگی می کرد و شرکت کامپیوتری کوچیک خودش رو داشت و کار اصلی این شرکت خلق تصاویری از جدیدترین ابزارهای الکترونیک برای استفاده در تبلیغات بود. همینطور در شرکت اپل هم مشغول به کار بود. تحصیلاتش رو توی دبیرستان هوراس گریلی و بعد هم کارشناسی نرم افزار رو از دانشگاه Utica College گرفت.در سال 1989 به خاطر آقای رابین به خاطر علایقش به روبات ها و روباتیک توسط همکاراش در اپل به اسم ” اندروید” لقب گرفته بود.آقای رابین در نهایت شرکت کامپیوتری خودش به نام اندروید رو تاسیس کرد که در ابتدا سیستم عاملی برای دوربین ها می خواست ارائه کنه که بعد تصمیم گرفت این سیستم عامل برای گوشی های هوشمند باشه. در ابتدای کار با مشکلات مالی فراوانی هم روبرو شد که یکی از دوستاش با این حالی که به ایده ی رابین اعتمادی نداشت هزینه ای رو بهش کمک کرد.جریان آشنایی آقای رابین و شرکت گوگل هم به یک سمینار در دانشگاه استنفورد برمی گرده که در نهایت منجر به این شد که گوگل، شرکت اندروید رو در سال 2005 به مبلغ 5 میلیون دلار  از آقای رابین خریداری کرد و این سرآغاز قصه بود.در حالی که با توجه به تبلیغ های شرکت گوگل دنیا منتظر معرفی گوشی هوشمند جدیدی توسط گوگل بود، گوگل کار بزرگتری کرد و سیستم عامل اندروید رو در سال 5 نوامبر 2007 به دنیا معرفی کرد و یک هفته بعد از اون SDK (کیت نرم افزاری) رو در اختیار توسعه دهندگان قرار داد.سیستم عامل اندروید اپن سورس هستش، یعنی هر توسعه دهنده ای هر تغییری که دلش بخواد می تونه روش انجام بده و سیستم عامل منحصر به فرد خودش رو معرفی کنه. که این تفاوت رو می تونید توی اینترفیس های برندهای مختلف موبایل که سیستم عامل اندروید دارند، مشاهده کنید.در سپتامبر 2008 هم اولین گوشی اندرویدی از شرکت HTC با نام T-Mobile G1 و یا HTC Dream معرفی شد.سیستم عامل اندروید در نهایت از سال 2011 به عنوان محبوب ترین سیستم عامل موبایل معرفی شد و بیش از 75 درصد بازار سیستم عامل های موبایل رو در دست گرفت در حالی که سهم IOS از این بازار 19 درصد هستش.اندی رابین در نهایت سال 2015 از گوگل جدا شد و شرکت استارت آپ خودش به نام playground رو تاسیس کرد باز هم در زمینه اندروید و هوش مصنوعی کار میکنه که در سال 2019 از این شرکت هم جدا شد.آخرین فعالیت آقای رابین در شرکت اسنشال بود که نهایتا در سال 2020 تعطیل شد.</description><category>حمیده براهویی</category><author>حمیده براهویی</author><pubDate>Wed, 09 Nov 2022 13:27:56 +0330</pubDate></item><item><title>برنامه نویسی اندروید</title><link>https://virgool.ir/@hamidata.org/برنامه-نویسی-اندروید-je4lag3mkhdt</link><description>اگر برنامه نویسی موبایل و در نهایت برنامه نویسی اندروید انتخاب شما برای شروع برنامه نویسی باشه، لطفا این مطلب رو از دست ندید.برای برنامه نویسی اندروید، IDE های مختلفی معرفی شده.که هر کدوم از این IDE ها، بستگی به الگوریتم اپلیکیشنی داره که شما میخواید طراحی کنید.که ما در اینجا تعدادی از معروف ترین هاشو برای شما معرفی می کنیم:اندروید استودیو Android Studioزامارین Xamarinبسیک فور اندروید B4Aیونیتی Unityپایتون Pythonاندروید استودیو Android Studioپیش نیاز کار با این IDE یادگیری زبان برنامه نویسی جاوا هستش.یکی از سختی های این محیط ، نصب اولیه ی اونه. با توجه به اینکه خیلی از آپشن های برنامه برای ایران تحریم شده. توصیه میشه که برای نصب ، از فیلترشکن قوی یا VPN و یا سایت شکن استفاده کنید.شاید نصب این محیط سخت تر از بقیه باشه ولی ، کار رو برای برنامه نویس ها راحتتر کرده. اندروید استودیو کلی کلاس آماده داره. تمپلیت های آماده برای طراحی صفحات اپلیکیشن داره.وقتی آپدیت جدیدی برای سیستم عامل اندروید میاد ، آپدیت جدید برای این IDE هم داده میشه چرا که مالک این نرم افزار شرکت گوگل هستش.اگر از غول مرحله ی نصب اندروید استودیو بگذرید، و همینطور یادگیری زبان جاوا، به خاطر همیشه به روز بودن، اندروید استودیو بسیار گزینه ی مناسبی برای برنامه نویسی اندرویده.حالا در مورد غول نصب اندروید استودیو در مقالات بعدی صحبت خواهیم کرد .زامارین Xamarinپیش نیاز این محیط برنامه نویسی سی شارپ هستش. اگر شما برنامه نویسی سی شارپ بلدید، لازم نیست وارد پیچیدگی های برنامه نویسی جاوا بشید.یکی از خوبی هایی که زامارین داره اینه که اپلیکیشنی که طراحی میکنید می تونید برای سیستم عامل های IOS و ویندوز فون خروجی بگیرید.اما یکی از معایب زامارین اینجاست که وقتی نسخه جدید اندروید میاد و آپدیت میشه نسخه زامارین بسیار دیرتر آپدیت میشه. چرا که مالک زامارین شرکت مایکروسافت هستش و حجم نهایی اپلیکیشن تولید شده در این IDE از دیگر IDE ها حجم بیشتری خواهد داشت.اگر با این مسئله مشکلی ندارید و اگر هم برنامه نویسی سی شارپ رو بلدید و اگر می خواید اپلیکیشن تون روی سیستم عامل های مختلف اجرا بشه. زامارین بهترین گزینه ست.بسیک فور اندروید B4Aاین محیط یکی از بهترین گزینه ها برای کسایی هستش که میخوان سریع به پایان پروژه برسن!!چرا که بیشتر ابزارها به صورت آماده در اختیار برنامه نویس قرار میگیره و همینطور به کلاس های اندروید استودیو هم دسترسی دارید و زیاد شما رو درگیر کدنویسی نمیکنههمینطور می تونید مثل زامارین، اپلیکیشن هاتون رو مناسب برای سیستم عامل های IOS و ویندوز فون کنید.البته مثل زامارین مشکل دیر آپدیت شدن و همگام شدن با نسخه جدید اندروید رو داره .و همینطور برای استفاده از Matrial Design باید از اندروید استودیو استفاده کنید و مسائل دیگر...یونیتی Unityبرای طراحی بازی به کار برده میشه. اگر پروژه ای که در سر دارید یه بازی با محیط سه بعدی و ویژگی های گرافیکی بالایی داره. بهتره که به سراغ یونیتی برید.و همینطور می تونید هر کجا از کدنویسی تون که لازم بود، از کدهای جاوا و سی شارپ استفاده کنید تا به هدف مورد نظرتون نزدیک تر بشهپایتون Pythonاگر اپلیکیشنی که میخواید بسازید خیلی ساده ست و ویژگی های ظاهری یعنی رابط کاربری براتون مهم نیست.می تونید از پایتون که مثل جاوا یک زبان شی گراست ، استفاده کنید.در آخر با توجه به خواسته ها و الگوریتم ابتدایی پروژه تون یا علایق تون، می تونید یکی رو انتخاب و وارد دنیای شگفت انگیز برنامه نویسی اندروید بشید.</description><category>حمیده براهویی</category><author>حمیده براهویی</author><pubDate>Sun, 30 Oct 2022 17:49:27 +0330</pubDate></item><item><title>نسخه های اندروید (قسمت اول)</title><link>https://virgool.ir/@hamidata.org/نسخه-های-اندروید-قسمت-اول-cweyvofbmehe</link><description>1- Android 1.1:این نسخه از سیستم عامل اندروید در سال 2009 به بازار عرضه شد و هیچ نامی بر خلاف نسخه های بعدی اندروید براش در نظر نگرفتن اما در شرکت گوگل به آن Petite four که نام دسری فرانسوی ست ، می گفتن. علت این که نام نسخه های اندروید بر اساس دسر تعیین میشد را گوگل هیچ وقت اعلام نکرد(اگر چیزی در موردش می دونید برام کامنت بذارین ) در حالی که هنوز Chrome وارد بازار نشده بود، مرورگری شبیه به Chrome داشت.جیمیل، مپ، تقویم ، یوتیوب همه ی اینها در این نسخه قرار داشتند.2- Android 1.5 – Cupcakeاین نسخه هم در سال 2009 معرفی شد که نسبت به نسخه ی قبلی کمی تغییر کرده بود: امکان آپلود ویدیو در یوتیوب داشتن کیبورد مجازی که کیبورد فیزیکی رو به طور کامل از گوشی هوشمند حذف کرد چرخیدن صفحه ی نمایشو پلت فرمی که ضبط ویدیو رو آسون تر کرده بود.از این نسخه شرکت سامسونگ و HTC هم گوشی هایی رو عرضه کردند و اولین گوشی گلکسی سامسونگ به بازار عرضه شد.3- Android 1.6 – Donutsبه سرعت گوگل در سال 2009 نسخه دیگری از اندروید رو معرفی کرد. ویژگی مهم این نسخه پشتیبانی از اپراتورهایی که از شبکه CDMA (آقای اکبری در مورد این تکنولوژی اینجا توضیح دادند.)استفاده می کردند. همین ویژگی باعث همه گیری جهانی اندروید شد.4- Android 2.0 to 2.1- Eclairشیرینی خامه ای که نسخه Android 2.1 از آن هم به بازار عرضه شد. این نسخه تنها شش هفته بعد از نسخه دونات به بازار عرضه شد و یه ویژگی مهم رو به سیستم عامل های اندروید اضافه کرد.* speech-to-text تبدیل صوت به متن *این نسخه از اندروید رو شرکت موتورولا گوشی ای ارائه کرد که اسم گوشی رو Droid گذاشت که شخصیت فیلم ستارگان بود و مجبور شد هزینه ای به شرکت سازنده ی این فیلم پرداخت کنه. همینطور تصاویر پس زمینه ی زنده هم در این نسخه به اندروید اضافه شد.5- Android 2.2- Froyoیا همان ماست یخ زده – frozen yogurtچهارماه بعد از نسخه قبلی ، این نسخه وارد بازار شد.که پشتیبانی کامل از فلش پلیر رو در مرورگر سیستم عامل انجام میداد که این قابلیت در مرورگرهای گوشی های اپل هم بود که باعث شد مورد توجه کاربران قرار نگیره. همینطور هات اسپات و اشتراک اینترنت هم در این نسخه وارد سیستم عامل اندروید شد.گوشی موبایلی که با این سیستم عامل عرضه شد نکسوس وان نام داشت که در سال 2010 وارد بازار شد.6- Android 2.3- Gingerbreadبه معنای شیرینی زنجبیلیقابلیت NFC در این نسخه به اندروید اضافه شد و همینطور رنگ سبز هم به UI اندروید اضافه شد. مثلا برای آنتن سیم کارت و … تا قبل از اون سفید و مشکی بود.7- Android 3.0 to Android 3.2- Honeycombبه معنای شانه عسل. این نسخه از اندروید طراحی جدیدی برای UI تبلت ها به وجود آورد. دکمه های پایین نوتیفیکیشن اندروید در این نسخه اضافه شدند. این نسخه را مدیر تازه وارد آقای Matías Duarte طراحی کرد. که دیگه اندروید به جای رنگ سبز از آبی استفاده کرد و برای استفاده بیشتر از صفحه نمایش انجام شد. دوره این نسخه زیاد نبود چون اون زمان بیشتر تبلت ها از نسخه 2.0 استفاده می کردند. اما سرآغاز استفاده از دکمه های شناور روی صفحه بود یا همون overflow-menu buttonادامه دارد…</description><category>حمیده براهویی</category><author>حمیده براهویی</author><pubDate>Tue, 25 Oct 2022 16:09:01 +0330</pubDate></item><item><title>آشنایی با اصطلاحات برنامه نویسی به زبان ساده</title><link>https://virgool.ir/@hamidata.org/آشنایی-با-اصطلاحات-برنامه-نویسی-به-زبان-ساده-pkaplcso5mkx</link><description>این مطلب برای کسانی هستش که چیزی در مورد لغات تخصصی حوزه برنامه نویسی نمی دونن. پس اگر شما جز برنامه نویس های حرفه ای هستید، از این مطلب بگذرید.لیست اصطلاحات:DatabaseSyntaxCompileDebugErrorRunReleaseMethodParameterImportExportCrashIDEUser InterfaceMaterial designORMFrameworkConstructorWidgetSDKJDKMVCDatabase پایگاه داده یا دیتابیس برای نظم دادن به اطلاعات مورد نیاز برای پروژه به کار میره. اگر شما مرحله ی طراحی الگوریتم رو به خوبی بگذرونید(در پستی جداگانه در مورد الگوریتم بیشتر صحبت میکنیم) می دونید که برای پایگاه داده چطور باید اطلاعات رو دسته بندی کنید. در واقع به زبان خیلی ساده، اطلاعات رو به جداول مختلفی دسته بندی میکنه طوری که در حین برنامه نویسی به راحتی به اطلاعات دسترسی پیدا کنیم.Syntaxبه قواعد و نحوه نوشتن کدهایی که مینویسیم گفته میشه.Compileتبدیل زبان سطح بالا به زبان ماشین ، میشه کامپایل کردن.زبان کامپیوتر سه سطح بالا و پایین و میانه داره.زبان سطح بالا ، برنامه هایی هستش که ما می نویسیم و کدهایی که استفاده می کنیم.زبان سطح پایین،زبان صفر و یک و زبان ماشین هستش.زبان سطح میانی هم ، زبانی هستش که به زبان ماشین نزدیک اما خوانا برای انسانه.نهایتا تبدیل زبان سطح بالا به زبان سطح پایین میشه کامپایل کردن.Debugبه معنای پیدا کردن خطاهای یک برنامه و برطرف کردن اونها.Errorخطاهایی که در برنامه به وجود میاد.Runاجرا کردن برنامه و مشاهده نتیجه ی کدهایی که نوشتیم.Releaseیکی از کاربردهایی که این اصلاح داره در برنامه نویسی اندروید هستش. به معنای نسخه بهینه و کم حجم شده ی اپلیکیشن هستش که در نهایت در مارکت های اندروید قرار میگیره که سرعت بالایی هم برای اجرا داره و رمزگذاری شده. یه طورایی امضای توسعه دهنده هم پایینش هست :)Methodمجموعه ای از دستورات برنامه نویسی که کاری رو انجام میدهمثلا متدی میشه نوشت که دو عدد رو از ورودی بگیره و جمع اونا در خروجی چاپ کنه. ورودی و خروجی برای متد، اختیاریه و اجباری نیست.Parameterبه ورودی هایی که متد میگیره پارامتر میگن.Importوارد کردن فایل به برنامهExportخروجی گرفتن از برنامه و کدنویسی ای که انجام دادیم با فرمت انتخابی.Crashاین اصطلاح در برنامه نویسی اندروید؛ به اپلیکیشنی میگن که قبل از بالا اومدن بسته میشه. اصطلاحا میگن کرش شده.IDEمخفف Integrated Development Environment هستش.Integrated به معنای یکپارچهDevelopment به معنای توسعهEnvironment به معنای محیطکه اگر این کلمات رو کنار هم قرار بدیم به کلمه ی محیط یکپارچه برای توسعه می رسیم.برای اینکه مراحل کامپایل و دیباگ و .. وقت برنامه نویس رو نگیره، شرکت های مختلفی برای برنامه نویسی محیط هایی رو ارائه کردن که به برنامه نویسی سرعت بخشیده.به این محیط ها، IDE میگن!User Interfaceبه معنای رابط کاربریبه زبان ساده، چیزی که کاربر مشاهده میکنه. محیطی که کاربر توسط اون با برنامه در حال تعامل هستش. میشه رابط کاربری!Material designاین اصطلاح که برای ساخت رابط کاربری بهتر به کمک برنامه نویسان اومده، به معنای چینش بهتر ابزارها و کنار هم قرار گرفتن بهتر رنگهای موجود در رابط کاربری هستش.ORMObject-Relational Mappingروشی که برای کوتاه شدن و ساده تر کردن دسترسی به پایگاه داده استفاده میشه.Frameworkمحیطی برای برنامه نویسی هستش که توابع و کلاس های از پیش تعیین شده داره برای امنیت بیشتر و کوتاه تر کردن حجم کدنویسی.تفاوت فریم ورک با IDE اینه که فریم ورک بر روی IDE نصب میشه و میشه ازش استفاده کرد. به تنهایی قابل استفاده نیست.Constructorبه معنای سازنده. این اصطلاح در برنامه نویسی شی گرا استفاده میشود. در پست های بعدی در مورد این مسئله بیشتر صحبت خواهیم کرد.Widgetاین اصطلاح در برنامه نویسی اندروید استفاده میشه و به تمامی ابزارهای رابط کاربری گفته میشه. مثل دکمه و …SDKSoftware Development Kitبه معنای بسته ای هست که دارای ابزارهایی برای توسعه سریعتر یک برنامه ست.JDKاس دی کی (SDK) ای هستش که شرکت اوراکل برای برنامه نویسی جاوا ارائه دادهMVCModel View ControllerModel برای ارتباط با پایگاه دادهView برای ایجاد رابط کاربریController برای پردازش درخواست کاربراستفاده از این معماری باعث مجزا شدن و مرتب شدن برنامه نویسی میشه.</description><category>حمیده براهویی</category><author>حمیده براهویی</author><pubDate>Sat, 22 Oct 2022 15:53:11 +0330</pubDate></item><item><title>برای برنامه نویس شدن از کجا شروع کنم؟ (قسمت دوم)</title><link>https://virgool.ir/@hamidata.org/برای-برنامه-نویس-شدن-از-کجا-شروع-کنم-قسمت-دوم-imnvegohvgjx</link><description>اگر قسمت اول رو نخوندید از اینجا بخونید.بعد از اینکه در مورد پیش نیازهای ابتدایی برنامه نویسی صحبت کردیم می رسیم به قسمت انتخاب زبان برنامه نویسی ای که قصد دارید اون رو یاد بگیرید.انتخاب زبان برنامه نویسیزبانهای برنامه نویسی دسته بندی های زیادی دارن ، اما به طور معمول و عمومی به صورت زیر دسته بندی میشن:برنامه نویسی تحت ویندوزبرنامه نویسی تحت وببرنامه نویسی تحت موبایلبرنامه نویسی تحت ویندوز:همونطور که از اسمش پیداست برای برنامه نویسی نرم افزارهایی استفاده میشه که در محیط ویندوز کار میکنن و نیازهای کاربر رو برطرف میکنن، این نوع برنامه نویسی در اکثر موارد نیازی به اینترنت نداره مگر اینکه اطلاعات مربوط به نرم افزار رو در سرور نگهداری کنیم و نیاز داشته باشیم که در بستر اینترنت به اون اطلاعات دسترسی پیدا کنیم.مثالش هم خیلی ساده ست! مثل خیلی از نرم افزارهایی که روی ویندوزتون نصب دارید.برنامه نویسی تحت وب:طراحی و برنامه نویسی وب سایتها اعم از فروشگاهی، آموزشی و … در این دسته بندی قرار می گیره. که به دو قسمت سمت سرور و سمت کاربر تقسیم میشه.سمت کاربر:برنامه نویسی اون قسمتی از وب سایت که کاربر مشاهده میکنه و بیشتر جنبه گرافیکی وب سایت رو شامل میشه و برای وب سایت هایی استفاده میشه که اطلاعات ثابتی دارند. اگر در برنامه نویسی وب، فقط سمت کاربر رو یاد بگیرید باعث میشه که بتونید سایت هایی رو طراحی کنید که فقط جنبه اطلاع رسانی دارند.سمت سرور:برنامه نویسی این قسمت باعث میشه که دسترسی کاربر به پایگاه داده و منابع اطلاعاتی یک وب سایت محدود بشه. و اون اطلاعاتی رو بهش نمایش بده که ما می خوایم ببینه و بیشتر برای وب سایت هایی استفاده میشه که در حال تعامل با کاربر هستن. مثل سایت های فروشگاهی ، آموزشی و …برنامه نویسی تحت موبایل:این نوع برنامه نویسی با توجه به سیستم عامل های موجود برای موبایل در بازار دسته بندی میشنسیستم عامل iosسیستم عامل اندرویدسیستم عامل ویندوز فون ( که البته تقریبا میشه گفت منسوخ شده)</description><category>حمیده براهویی</category><author>حمیده براهویی</author><pubDate>Thu, 20 Oct 2022 11:50:15 +0330</pubDate></item><item><title>برای برنامه نویس شدن از کجا شروع کنم؟ (قسمت اول)</title><link>https://virgool.ir/@hamidata.org/برای-برنامه-نویس-شدن-از-کجا-شروع-کنم-naokk9nhpppc</link><description>برای برنامه نویس شدن از کجا شروع کنیم؟ چه معیارهایی برای برنامه نویس شدن مهمه؟چه اطلاعات اولیه ای باید داشته باشیم؟و ...با ما همراه باشید تا به این سوالات پاسخ بدیم.الگوریتم!مهم ترین قسمت در برنامه نویسی، توانایی تقسیم مسئله به زیر مسئله های کوچکتر و سپس حل کردن اونه.این کار رو برای ما مفهومی به نام الگوریتم انجام میدهپس در ابتدا باید با نحوه ی نوشتن الگوریتم آشنا باشیم.الگوریتم برای حل یک مسئله مرحله به مرحله کارهایی که باید انجام بشه رو از هم متمایز میکنه! برای مثال الگوریتم، خیلی از کتابها و وب سایت ها مثال های زیادی دارند و اگر شما کتابهای مربوط به الگوریتم رو مطالعه کرده باشید ، هزاران مثال به ذهن تون میرسه اما هیچ کدوم در مورد کاربرد اون در پرژوه ی برنامه نویسی حرفی نزده.در واقع سوالی که پیش میاد اینه که مسئله چیست!!؟توی کتابهای مربوط به الگوریتم، مسئله ساده ای که برای شروع الگوریتم در نظر گرفتن اینه که دو عدد را با هم جمع کنید!1 – شروع2 – عدد A رو بگیر3 – عدد B رو بگیر4 – عدد A و B رو با هم جمع کن5 – جمع رو در خروجی نمایش بده6 – پایاناین خیلی هم خوبه ولی در برنامه نویسی کاربرد زیادی نداره!!مسئله رو کارفرما و یا کسی که اون پروژه رو سفارش داده، برای شما تعیین میکنه!یه وب سایتی میخوام که…یه اپلیکیشنی میخوام که…اون وقت شما باید با توجه به خواسته ها، الگوریتم پروژه رو طراحی کنید و مسئله رو به قسمت های کوچیکتر تقسیم کنید.در مورد این مسئله کتابهایی با موضوع تحلیل داده ها، توضیحات بیشتری ارائه کردن.اما شما در ابتدا برای برنامه نویسی باید توانایی شکستن یه مسئله ی بزرگ به زیر مسئله های کوچکتر رو داشته باشید و بتونید گام به گام مسئله رو حل کنید.این مورد در پروژه های اندروید بسیار حائز اهمیت هستش. چون با هر تغییر کوچیکی در پروژه باید برنامه اجرا بشه تا مشکلی اگر هست در همان گامی که هستیم، مشخص بشه.در ریاضیات قوی باشیم؟بعد از یادگیری و فهمیدن و درک کردن مفهوم الگوریتم و نحوه ی استفاده از اون در برنامه نویسی، خیلی ها تصور میکنن پیش نیاز برنامه نویسی ، قوی بودن در ریاضیات هستش!ا ما این یک تصور غلطه! برای برنامه نویسی لازم نیست حتما ریاضیت 20 باشه!!!همین مفهوم های ابتدایی، ریاضی، مربوط به منطق و احتمالات، کافی هستش. حتی اگر هیچی در مورد احتمالات هم نمیدونید، جای هیچ نگرانی ای نیست چون در حین برنامه نویسی، وقتی در چالش قرار بگیرید، مجبور میشید از احتمالات استفاده کنید!که مثلا اگر اینطور بشه چی میشه.. اگر این کد رو بنویسم چی میشه!!و اما زبان انگلیسی!برای برنامه نویسی بهتره که زبان انگلیسی تون در حد متوسط باشه. این هم برای کد نوشتن خوبه و همینطور مهم تر از اون، برای زمانی که به مشکل برخوردید. به علت اینکه متاسفانه سایت فارسی زبان مناسبی برای حل مشکلات برنامه نویسی نداریم و در سطح جهان بهترین سایت برای حل مشکلات برنامه نویسی در هر زبانیstackoverflowهستش. پس بهتره که بتونید مشکلتون رو به انگلیسی در گوگل سرچ کنید و یا اینکه متن Error رو سرچ کنید و متوجه ی توضیحات بشید.انگیزه!انگیزه ی شما برای برنامه نویس شدن چیه؟ به این سوال جواب بدید. جواب این سوال خیلی مهمه! چون ممکنه یک مشکل در برنامه نویسی، شما رو روزها درگیرخودش کنه و حسابی کلافه بشید. اون لحظه باید انگیزه ی قوی ای داشته باشید که به شما توان ادامه ی کار رو بتونه بده!سرعت تایپخیلی واضح و مشخصه که اگر سرعت تایپ انگلیسی تون بالا باشه. خب برنامه با سرعت بیشتری بالا میره! اگر هم توی تایپ خیلی کند هستید، نگران نباشید. خیلی از کدهای برنامه نویسی مدام تکرار میشن و کافیه که برای روی سرعت تایپ اون کلمات کلیدی تمرکز کنید.ادامه دارد…</description><category>حمیده براهویی</category><author>حمیده براهویی</author><pubDate>Thu, 13 Oct 2022 12:43:44 +0330</pubDate></item></channel></rss>