<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Hossein Ashrafipoor</title>
        <link>https://virgool.io/feed/@ashrafipoor</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-16 13:55:50</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/699599/avatar/avatar.png?height=120&amp;width=120</url>
            <title>Hossein Ashrafipoor</title>
            <link>https://virgool.io/@ashrafipoor</link>
        </image>

                    <item>
                <title>با مهم ترین چالش های یک برنامه نویس آشنا شوید</title>
                <link>https://virgool.io/@ashrafipoor/%D8%A8%D8%A7-%D9%85%D9%87%D9%85-%D8%AA%D8%B1%DB%8C%D9%86-%DA%86%D8%A7%D9%84%D8%B4-%D9%87%D8%A7%DB%8C-%DB%8C%DA%A9-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3-%D8%A2%D8%B4%D9%86%D8%A7-%D8%B4%D9%88%DB%8C%D8%AF-qd3izuaq0kd9</link>
                <description>برنامه نویسی یکی از آن شغل‌های بسیار جذاب و پردرآمد اما گاهی پرمشکل است! بسیار پیش می‌آید که در مسیر تبدیل شدن به یک برنامه نویس، چالش‌ها و مشکلات مختلفی را مجبور باشید از سر بگذرانید. اما ادامه مسیر بستگی به علاقه و میزان جسارت شما دارد.ما در این مطلب قصد داریم تا شما را با چالش‌های برنامه نویسان روبرو کنیم و ببینیم که مهمترین مشکلات برنامه نویسان چیست و آیا راه‌حلی برای آن‌ها هست یا خیر.چالش های برنامه نویس هابسیاری از افرادی که پای در مسیر برنامه نویسی می‌گذراند، با چالش‌ها و مشکلات آن اشنایی ندارند. پس از ورود به این حوزه و مواجه شدن با این مشکلات، بعضا عنوان می‌کنند که این مسیر یک مسیر بسیار سخت و پر فراز و نشیب و نشدنی است! باید به این دوستان عنوان کرد که هر مسیری سختی‌های خودش را دارد. اما آشنا بودن با مشکلات هر مسیری می‌تواند شما را در طی کردن آن همراهی کند.برنامه نویسان مبتدی معمولا بسیار بیشتر از سایر برنامه نویسان درچار مشکل می‌شوند. از مهمترین مشکلات برنامه نویسان مبتدی می‌توان به موارد زیر اشاره کرد:نداشتن هدف و برنامه‌ای مشخص برای اینکه بدانند به کجا می‌خواهند برسند.ناآشنایی با زبان‌های مختلف برنامه نویسی و مزایا و معایب هر کدام از آن‌هانداشتن آشنایی با علاقه مندی‌های خودشاننداشتن آگاهی از نیاز بازارنداشتن تلاش و پشتکارنداشتن رابطه‌ای قوی و ناتوانی در برقراری ارتباط با سایر برنامه نویسانناتوانی در مدیریت صحیح زماننداشتن یک برنامه ریزی مشخص و حساب شدهاین‌ها تنها بخش از چالش های برنامه نویس های مبتدی است. اما این بدان معنی نیست که سایر برنامه نویسان با مشکلی روبرو نمی‌شوند و همه چیز برای آن‌ها گل و بلبل است. در ادامه به چالش های بر سر راه تمامی برنامه نویسان خواهیم پرداخت.مهم ترین چالش های یک برنامه نویسباید بدانید که هر شغلی برای خودش سختی‌های خاصی دارد. شغل شریف برنامه نویسی نیز از این امر مستنثی نیست. برخی از مشکلات برنامه نویسان با وضعیت امروزه بازار راه حلی ندارد. تنها راه، شناخت این مشکلات بوده تا سعی شود هر چه بیشتر از این موارد دوری کرد. در ادامه به معرفی مهم‌ترین مشکلات برنامه نویسان اشاره خواهیم کرد.آموزش در مقاطع تحصیلیمتاسفانه یکی از مهمترین مشکلات برنامه نویسان همین مسئله اموزش است. در کشورهای اروپایی، درس برنامه نویسی از دوران دبیرستان وجود داشته و دانش آموزان با این مبحث آشنایی پیدا خواهند کرد. این در حالی است که در مدارس ایران خبری از آموزش برنامه نویسی نبوده و هر کسی که به این رشته علاقه داشته باشد باید به صورت خودجوش دست به کار شود. این در حالی است که آموزش برنامه نویسی حتی در دانشگاه‌ها نیز وضعیت مناسبی ندارد.نبود منابع به زبان فارسیپس از اینکه به این حوزه وارد شدید متوجه خواهید شد که چقدر منابع فارسی کم و محدود است. این منابع به هیچ عنوان نمی‌توانند پاسخگوی نیازهای شما باشند. اگر هم منابعی به زبان فارسی در حوزه برنامه نویسی وجود داشته باشد، معمولا بسیار قدیمی هستند. این در حالی است که در حوزه برنامه نویسی باید به صورت روزانه اطلاعات خودتان را آپدیت کنید. به همین دلیل تنها راه ممکن رفتن به سراغ منابع انگلیسی است.برای اینکه بتوانید از منابع انگلیسی نیز استفاده کنید، سطح زبان شما باید حداقل متوسط رو به بالا باشد که یادگیری زبان خود نیز یکی دیگر از چالش‌های برنامه نویس‌هاست. از سوی دیگر بسیاری از آموزش‌های موجود به زبان فارسی نیز انحصاری بوده و برای یادگیری آن باید هزینه‌های سنگینی را متقبل شوید که در بسیاری از موارد متوجه می‌شوید که همین آموزش‌ها نیز بسیار قدیمی و به درد نخور هستند.رعایت نکردن حق و حقوق برنامه نویس هادر این خصوص ابتدا باید عنوان کرد که متاسفانه در کشور ما هیچ نظارتی بر روی بحث قیمت گذاری پروژه‌ها وجود ندارد. همچنین بسیاری از افراد نیز درک درستی از میزان زحماتی که یک برنامه نویس برای انجام پروژه می‌کشد، ندارند. به نحوی که گاهی رقم‌هایی برای پروژه‌ها عنوان می‌شود که بسیار کمتر از میزان رقمی است که یک برنامه نویس خارجی برای همین میزان وقت و انرژی، دریافت می‌کند.اما این تنها بحث موجود بر سر حق و حقوق برنامه نویسان نیست! متاسفانه در کشور ما به سادگی حق برنامه نوسان پایمال می‌شود. این اتفاق را به خصوص در زمان تسویه حساب می‌توان احساس کرد. شاید جالب باشد بدانید که یک برنامه نویس در کشورهای خارجی سالیانه تا 100.000 دلار درآمد دارد. این در حالی است که یک برنامه نویس در ایران ماهیانه چیزی در حدود 3 تا 5 میلیون تومان دستمزد می‌گیرد.رعایت نکردن کپی رایتیکی دیگر از مهمترین مشکلات برنامه نویسان در ایران، رعایت نکردن حقوق کپی رایت آنان است. این مسئله نه تنها در حوزه برنامه نویسی، بلکه در هیچ یک از حوزه‌ها رعایت نمی‌شود. برنامه نویسان بعد از اینکه بر روی یک پروژه بسیار زحمت می‌کشند، افراد بسیار زیادی پیدا می‌شوند که به سادگی از این اطلاعات کپی برداری کرده و سو استفاده می‌کنند.تحریمدر بین چالش‌های برنامه نویس‌ها نمی‌توان تاثیر تحریم را هم نادیده گرفت. متاسفانه به دلیل وجود تحریم‌های مختلف، دسترسی افراد به منابع گوناگون بسیار محدود و بعضا بسته شده است. بسیاری از سایت‌های خارجی راه ورود کاربران ایرانی را بسته‌اند و اجازه نمی‌دهند تا ایرانیان از علم و دانش موجود در فضای اینترنت بهره‌مند شوند.راه حل این مشکلات چیست؟بعد از معرفی چالش های برنامه نویس ها و دانستن اینکه چه مشکلاتی ممکن است بر سر راه این عزیزان باشد، سوال اساسی که پیش می‌آید این است که: راه حل این مشکلات چیست؟ متاسفانه باید عنوان کرد که برخی از این مشکلات راه حل قطعی ندارند.تا زمانی که حق کپی رایت در کشورمان اجرا نشود، شاهد کپی برداری و سو استفاده از اطلاعات هستیم. تا زمانی که سیاست‌های کشور تغییر نکند ما همچنان تحریم بوده و اجازه دسترسی به منابع انگلیسی را نداریم و … . اما با همه این وجود، آگاهی داشتن از مشکلات و مسائلی که بر سر راه یک برنامه نویس وجود دارد، می‌تواند باعث شود که فرد با چشمانی باز در این راه قدم بگذارد و آگاهانه شغل برنامه نویسی را انتخاب کند.نتیجه گیریشغل برنامه نویسی نیز مانند تمامی مشاغل موجود دارای مشکلات و ناهمواری‌های بسیار زیادی است. به عنوان فردی که قصد دارید تا برنامه نویسی را به عنوان شغل مورد نظر خودتان انتخاب کنید، باید با مهمترین مشکلات برنامه نویسان آشنایی داشته باشید. ما در این مطلب سعی کردیم تا چالش های برنامه نویس ها را به شما معرفی کنیم و ببینیم که در این راه چه موانع و سختی هایی وجود دارد.برای ثبت نام در دوره های برنامه نویسی به سایت من سربزنید و از مشاوره رایگان استفاده کنید.https://coursa.me</description>
                <category>Hossein Ashrafipoor</category>
                <author>Hossein Ashrafipoor</author>
                <pubDate>Wed, 16 Jun 2021 09:43:31 +0430</pubDate>
            </item>
                    <item>
                <title>۳ روش برای تبدیل شدن به یک برنامه نویس</title>
                <link>https://virgool.io/@ashrafipoor/%DB%B3-%D8%B1%D9%88%D8%B4-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%D8%B4%D8%AF%D9%86-%D8%A8%D9%87-%DB%8C%DA%A9-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3-ogse5avumt1x</link>
                <description>برنامه نویس شدن با چه روش‌هایی امکانپذیر است؟ این سوالی است که معمولا توسط افراد علاقمند به برنامه نویسی پرسیده می‌شود که دوست دارند برنامه نویسی را شروع کنند، اما دقیفا نمی‌دانند چکار کنند و از کجا شروع کنند و یا اصلا نمی‌دانند بهترین روش‌ها برای تبدیل شدن به یک برنامه نویس کدامند؟تبدیل شدن به یک برنامه نویسدر ادامه به نکاتی می‌پردازیم که براساس آن بتوانید برنامه نویسی را شروع کنید .سپس مسیر درست و مورد علاقه خود را در برنامه‌نویسی پیدا کنید و متوجه شوید که آیا اصلا این شغل برای شما مناسب است یا خیر.برای وارد شدن به دنیای برنامه نویسی و تبدیل شدن به یک برنامه نویس باید مواردی را در نظر بگیرید که در ادامه به برخی از آنها می‌پردازیم.علاقمندی مهم تر از میزان درآمداکثر برنامه نویسان حرفه‌ ای و متخصص در زمینه برنامه نویسی، کسانی هستند که عاشق این کار بوده‌اند و این علاقه در آنها موجب شده است که سختی‌ها و مشکلاتی که در مسیر برنامه نویسی وجود دارد را راحت‌تر پشت سر بگذارند. این افراد از همان سنین پایین این علاقه را در خود کشف کرده‌اند و به صورت حرفه‌ای آن را دنبال کرده‌اند. برای مثال بیل گیتس، اولین برنامه خود را در 13 سالگی نوشت.آیا علاقه برای برنامه نویس شدن کافی است؟نکته‌ای که باید به آن توجه کنیم این است که صرفا علاقه نمی‌تواند باعث برنامه نویس شدن فرد شود. برای مثال ممکن است کسانی از دور این رشته را ببیند و شیفته و مجذوب پرستیژ این شغل شوند، اما وقتی شروع به این کار کردند و با سختی‌های کار مواجه شدند، شانه خالی کنند و بخواهند تغییر مسیر دهند. بنابراین علاقه صرف کافی نیست، بلکه باید این علاقه در سنین پایین‌تر خود را نشان دهد و بتواند فرد را ساعت‌ها پشت کامپیوتر بنشاند، بدون اینکه درآمدی برای فرد داشته باشد.اگر از علاقه واقعی خود و نه علاقه عجولانه و یک دفعه‌ای به برنامه نویسی مطمئن شدید، وقت آن است که زمینه و بستر برنامه نویسی خود را مشخص کنید. امروزه برای برنامه نویسی سه بستر زیر موجود است:دسکتاپتحت وبموبایلبهتر است برای شروع هر یک از این‌ها و تبدیل شدن به یک برنامه نویس در آن‌ها، یک آشنایی اولیه با هر کدام داشته باشید تا بتوانید راحت‌تر زمینه کاری خود را انتخاب و شروع کنید.۱- برنامه نویسی دسکتاپمعمولا در مورد برنامه نویسی دسکتاپ زیاد صحبت می‌شود و برای شروع آن زبان‌های مختلفی مطرح می‌گردد اما توضیح دقیقی در مورد آن ارائه نمی‌شود. اگر بخواهیم تعریف دقیق و در عین حال ساده‌ای را برای این روش برنامه نویسی ارائه دهیم باید بگوییم برنامه‌هایی هستند که در کامپیوترهای خانگی یا لپ تاپ‌هایی که دارای سیستم عامل ویندوز، لینوکس یا مک اجرا می‌شوند ، مثل آفیس، فتوشاپ و …حال اگر این برنامه‌ها فقط برای ویندوز برنامه نویسی شوند، به آنها برنامه نویسی ویندوز می‌گویند.۲- برنامه نویسی تحت وبیک نوع از روش های برنامه نویسی، برنامه نویسی تحت وب است که به منظور تولید نرم افزارهای تحت وب مورد استفاده قرار می‌گیرد. این برنامه‌ها به منظور انجام امور مختلفی روی کار می‌آیند که به شکل آنلاین انجام می‌شوند. از دلایل محبوبیت برنامه‌های تحت وب، می‌توان به سادگی و دسترسی شبانه روزی به آنها اشاره کرد. پس برای تبدیل شدن به یک برنامه نویس می‌توانید برنامه نویسی تحت وب را انتخاب کنید.برای اینکه بخواهید به این برنامه‌ها دسترسی داشته باشید، فقط کافی است که از یک مرورگر استفاده کرده و به اینترنت وصل شد. زمانی که شما در حال استفاده از ایمیل هستید، یا خرید آنلاین انجام می‌دهید و یا به امور بانکی خود رسیدگی می‌کنید، در حال استفاده از برنامه‌های تحت وب هستید.مرورگرها سبب شده‌اند که دسترسی به وب برای همه کاربران آسان شود. کاری که این مرورگرها انجام می دهند این است که دستورات کاربران را به سرورها منتقل کرده و پاسخ را نیز از سرورها گرفته و در اختیار کاربران قرار می‌دهند.به دلیل تخصصی‌تر شدن ارسال‌ها و دریافت‌ها، برنامه نویسی وب به دو قسمت front-end و back-end تقسیم می‌شوند. فرانت‌اند به طراحی ظاهر سایت می‌پردازد و بک‌اند به طراحی سمت سرور.از زمانی که سایت‌ها و سایر برنامه‌های تحت وب در میان مردم فراگیر شدند، طراحی وب رونق بسیار زیادی پیدا کرد. خیلی از افراد به سمت یادگیری برنامه نویسی تحت وب رفتند و تعداد برنامه نویسان در این حوزه بیشتر شد. امروزه بسیاری از کسب و کارهای سنتی متوجه شده‌اند که اگر از وبسایت برای ارائه کار خود استفاده نکنند، از قافله عقب می‌مانند.۳- برنامه نویسی موبایلبهتر است بدانید که برنامه نویسی موبایل، فقط مربوط به ساخت اپلیکیشن‌های موبایل نیست، بلکه تمام برنامه‌هایی را شامل می‌شود که در دستگاه‌های قابل حمل می‌توان از آنها استفاده کرد. یعنی این مدل از روش های برنامه نویسی، به ساخت برنامه‌هایی برای گوشی، تبلت، ساعت هوشمند و … می‌پردازد.برنامه نویسی موبایل فقط مختص برنامه‌هایی که روی موبایل اجرا می‌شوند نیست، بلکه توسعه دهندگان وب، صفحه‌هایی را طراحی می‌کنند که قابلیت اجرا شدن روی موبایل را هم داشته باشند. سیستم عامل‌های گوشی‌های هوشمند در دو نوع اندروید و ios وجود دارند.در شروع برنامه نویسی موبایل، معمولا افراد به این فکر می‌کنند که کدام سیستم عامل را انتخاب کنند. اما با توجه به اینکه بیشتر از 50% از سهم بازار موبایل متعلق به اندروید است، بنابراین انتخاب برنامه نویسی برای تبدیل شدن به یک برنامه نویس در اندروید کار عاقلانه‌تری خواهد بود. مخصوصا در ایران که آیفون با برخی محدودیت‌ها و مشکلات روبروست، انتخاب اندروید طرفداران بیشتری دارد.روش های برنامه نویسیدر یک دهه اخیر، برنامه نویسی رواج بسیار زیادی پیدا کرده است و اهمیت بسیار زیادی در دنیا دارد. به این دلیل هم رقیبان بسیار زیادی در این بازار وجود دارند و برای تبدیل شدن به یک برنامه نویس باید هوشمندانه عمل کرد. شما با انتخاب هر یک از روش های برنامه نویسی مطرح شده می‌توانید وارد دنیای برنامه نویسی شده و با تلاش و پشتکار، مسیر برنامه نویس شدن را طی کنید. فقط کافیست عنصر علاقه و تلاش را در خود پرورش دهید.برای شروع برنامه نویسی به سایت من سر بزنید</description>
                <category>Hossein Ashrafipoor</category>
                <author>Hossein Ashrafipoor</author>
                <pubDate>Tue, 01 Jun 2021 09:12:47 +0430</pubDate>
            </item>
                    <item>
                <title>با الفبای برنامه نویسی آشنا شوید</title>
                <link>https://virgool.io/@ashrafipoor/%D8%A8%D8%A7-%D8%A7%D9%84%D9%81%D8%A8%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A2%D8%B4%D9%86%D8%A7-%D8%B4%D9%88%DB%8C%D8%AF-uxtplm2csbol</link>
                <description>ممکن است شما هم که در حال خواندن این متن هستید در مورد برنامه نویسی چیزهایی شنیده باشید، از جمله اینکه برنامه نویسی شغل پردرآمدی است و بازار کار خوبی دارد، برنامه نویسی شغل مطمئنی است و برنامه نویس هیچ وقت بیکار نمی‌ماند. تمام این‌ها باعث می‌شوند که برنامه نویسی طرفداران بسیاری پیدا کند و افراد زیادی در پی یادگیری آن باشند. اما سوالی که ایجاد می شود این است که از بین این علاقه مندان به برنامه نویسی، کدام یک از آنها به درد برنامه نویسی می‌خورند؟ و کدام یک می‌توانند تبدیل به یک برنامه نویس موفق شوند؟ کسی که باهوش تر است؟ کسی که ریاضیات خوبی دارد؟ یا کسی که پرتلاش بوده و اراده قوی تری دارد؟ اگر شما هم به دنبال پاسخ سوالات این چنینی هستید، پیشنهاد می‌کنیم در ادامه با ما همراه باشید و با الفبای برنامه نویسی و دنیای دنیایبرنامه نویس‌ها آشنا شوید و سپس نتیجه گیری کنید که آیا شما فردی مناسب برای این شغل هستید یا نه؟الفبای برنامه نویسیآیا برنامه نویسی برای من مناسب است؟خیلی از افرادی که علاقمند به یادگیری برنامه نویسی هستند اما جرات نمی‌کنند به سراغ آن بروند؛ چرا که فکر می‌کنند براییادگیری برنامه نویسی باید دانش بالایی در زمینه IT داشته باشند. معمولا وقتی اسم برنامه نویسی به میان می‌آید ممکن است عده‌ای یاد فیلم‌های سینمایی بیفتند که در آن فردی در یک اتاق تاریک نشسته و در مقابل او یک صفحه مشکی کامپیوتر قدرتمند قرار گرفته که پر است از کدهای سبز و آبی پیچیده که در حال حک کردن سیستم‌های بانکی و … است.اما خب این تصور همیشه به واقعیت شبیه نیست. برنامه نویس‌ها هم می‌توانند با یک کامپیوتر معمولی در روز روشن کار کنند. حتی برخی از آنها کارمند و حقوق بگیر هستند و دسترسی به سیستم‌های اطلاعاتی خاصی هم ندارند. برخی افراد هم فکر می‌کنند برای یادگیری آن خیلی دیر شده و یا اینکه بازار کار برنامه نویسی اشباع شده و به قدری افراد حرفه‌ای در این کار هستند که نوبت به آنها نمی‌رسد.برنامه نویسی چیست؟اگر بخواهیم به الفبای برنامه نویسی و مقدمات برنامه نویسی بپردازیم، باید بگوییم که برنامه نویسی به یک سری از دستورات گفته می‌شود که سیستمی مانند کامپیوتر، این دستورات را می‌فهمد و آنها را یکی پس از دیگری به ترتیب اجرا می‌کند. هر زبان برنامه نویسی یک سری لغات، دستورات و قوانینی در دسترس برنامه نویس می‌گذارد تا برنامه نویس بتواند از طریق این دستورات با کامپیوتر صحبت کند. درست مثل اینکه ما با استفاده از واژگان و دستوارات زبان فارسی با یکدیگر صحبت می‌کنیم و حرف‌های یکدیگر را متوجه می‌شویم. حال به مجموعه‌ای از این دستورات که در اختیار سیستم‌های کامپوتری قرار می‌گیرد و سیستم آنها را متوجه می‌شود، نرم افزار یا اپلیکیشن می‌گویند.در واقع برنامه نویسی نوعی روش حل مساله است که به کمک کامپیوتر انجام می‌شود. فرص کنید شما وارد سیستم دانشگاهی خود شده و شماره دانشجویی خود را وارد می‌کنید. در اینجا فقط به کمک یک کد می‌توانید به تمام اطلاعات دانشجویی خود دسترسی پیدا کنید. از جمله برنامه‌های کلاسی، نمرات، زمان امتحانات، تعداد واحد های گذرانده شده و …این امکان به کمک برنامه نویسی ایجاد شده است تا با دریافت شماره دانشجویی شما، اطلاعات شما را از بین هزاران دانشجوی دیگر پیدا کرده و در قالب جدول هایی به شما نشان دهد. طراحی این سیستم، کار یک تیم برنامه نویسی بوده است.بنابراین به این نتیجه می‌رسیم که برنامه نویسی علمی است که به ما امکان می‌دهد دستوراتی را به کامپیوتر داده و منتظر اجرای آن‌ها باشیم. این دستورات به صورت کدهایی به کامپیوتر داده می‌شود تا در سی پی یو CPU کامپیوتر پردازش شده و خروجی آن به ما نشان داده شود.بهتراست بدانید که کامپیوترها قادر به درک زبان انسان نیستند و تمامی اطلاعات باید به صورت صفر و یک به آن ها داده شود. در اینجا برنامه‌نویس به وسیله زبان برنامه نویسی، خواسته خود را به یک نرم افزار انتقال می‌دهد و سپس این خواسته و دستورات، به کدهای صفر و یک تبدیل می‌شود و کامپیوتر آنها را درک  کرده و شروع به پردازش آنها می‌کند.برنامه نویس کیست؟امیدواریم تا به اینجا الفبای برنامه نویسی و مقدمات برنامه نویسی را به خوبی به شما انتقال داده باشیم و ابهامات شما در این زمینه برطرف شده باشد. حال می‌رویم به سراغ این که برنامه نویس کیست؟ و به چه کسی برنامه نویس گفته می‌شود؟برنامه نویس به شخصی گفته می‌شود که به دنبال پیدا کردن بهترین جواب‌ها برای مسائل است و برای این کار مسائل را به کمک زبان برنامه نویسی به کامپیوتر منتقل می‌کند و کامپیوتر هم این اطلاعات دریافت شده را پردازش کرده و نتیجه را به صورت خروجی نشان می‌دهد. بنابراین برنامه نویس باید تسلط کافی به حل مساله، تحلیل داده، عیب یابی و … داشته باشد. به عبارت دیگر برنامه نویس فردی است که شروع به تولید یک نرم افزار در کامپیوتر می‌کند که این نرم افزار می‌تواند مربوط به اجرا در صفحات وب،  دسکتاپ و یا موبایل باشد.مقدمات برنام نویسی و شروع یادگیریبرای اینکه شروع به یادگیری زبان برنامه نویسی کنید، باید ابتدا یک زبان برنامه نویسی انتخاب کرده و کار با آن را آموزش ببینید. اما بهتر است قبل از آموزش، مقدمات برنامه نویسی اعم از منطق، ساختار زبان برنامه نویسی، فلوچارت و الگوریتم را یاد بگیرید. موارد گفته شده، مستقل از زبان‌های برنامه نویسی هستند و معمولا مشکلی که در شروع آموزش وجود دارد این است که افراد قبل از اینکه با الفبای برنامه نویسی و مقدمات برنامه نویسی آشنا شوند، برای یادگیری زبان برنامه نویسی اقدام می کنند. در این روش زبان مورد نظر را به خوبی یاد می‌گیرند اما زمانی که می‌خواهند به صورت مستقل یک پروژه را انجام دهند به مشکل می‌خورند. بنابراین یادگیری الفبا و مقدمات زبان برنامه نویسی، امری واجب و ضروری قبل از شروع یادگیری است.(منبع)برای شرکت در دوره های برنامه نویسی به سایت من سر بزنید.https://coursa.me</description>
                <category>Hossein Ashrafipoor</category>
                <author>Hossein Ashrafipoor</author>
                <pubDate>Sun, 30 May 2021 15:40:55 +0430</pubDate>
            </item>
                    <item>
                <title>انیمیشن ها و ترنزیشن های CSS</title>
                <link>https://virgool.io/@ashrafipoor/%D8%A7%D9%86%DB%8C%D9%85%DB%8C%D8%B4%D9%86-%D9%87%D8%A7-%D9%88-%D8%AA%D8%B1%D9%86%D8%B2%DB%8C%D8%B4%D9%86-%D9%87%D8%A7%DB%8C-css-q3r0xcevpmpl</link>
                <description>سال‌هاست که css از اجزای اصلی یک صفحه وب است. ساخت اشکال متحرک تنها از طریق javascript یا ابزارهایی شبیه Macromedia Flash امکان‌پذیر بود. در نهایت انیمیشن ها و ترنزیشن های CSS اضافه شدند و اکنون ما گزینه‌های فراوانی برای ساخت اشکال متحرک داریم. در این مقاله نحوه کار ترنزیشن و انیمیشن در css و روش ایجادشان را برایتان توضیح می­‌دهم .ترنزیشن در Cssترنزیشن­‌ها همانطور که از اسمشان مشخص است تغییر تدریجی یک یا چند خصوصیت را امکان­پذیر می­‌کنند. در حالت عادی هر تغییر خصوصیتی سریعا نتیجه‌­اش مشخص می‌شود. اما با ترنزیشن­‌ها، شما مشخص می‌کنید که کدام ویژگی به صورت تدریجی تغییر کند، چه مقدار زمان طول بکشد تا این تغییر رخ بدهد و از چه timing functionای برای این عملیات استفاده شود.بیایید مثال زیر را با هم بررسی کنیم:در مثال بالا ما استایل یک عنصر را با کلاسی به نام some-text مشخص می‌کنیم. زمانی که نشانگر موس روی یک عنصر قرار بگیرد، ما رنگ پیش زمینه و پس زمینه را تغییر می‌دهیم و border-radius را به صفر تغییر می‌دهیم. همانطور که پیش از این گفتم این تغییر سریعاً و بدون هیچ گونه ترنزیشن در Css اتفاق میوفتد.حالا می‌خواهیم یک ترنزیشن ساده به مثال بالا اضافه کنیم:.some-text {
font-family: sans-serif;
cursor: pointer;
padding: 20px;
margin: 20px;
width: 300px;
background-color: #4545CD;
color: white;
line-height: 1.4;
border-radius: 10px;
}
.some-text:hover {
background-color: #BCBCEF;
color: #222;
border-radius: 0;
}همانطور که احتمالا متوجه شده‌­اید، مثال بالا ویژگی border-radius را به صورت ناگهانی تغییر نمی­‌دهد. هنگامی که مقدار این ویژگی تغییر می‌کند؛ مرورگر یک ترنزیشن آرام انجام می­‌دهد. مدت زمان این ترنزیشن در Css یک دوم ثانیه یا 500 میلی­‌ثانیه است.برای اینکه این افکت را به دست بیاوریم می­‌توانیم از ویژگی خلاصه­‌نویسی transition استفاده کنیم. اولین مقداری که باید وارد کنیم نام ویژگی‌­ای است که می­‌خواهیم ترنزیشن را بر روی آن اعمال کنیم (در مثال بالا border-radius) مقدار بعدی مدت زمان ترنزیشن است که بر حسب ثانیه (به طور مثال دوثانیه یا نیم ثانیه) و یا میلی­‌ثانیه (به طور مثال 300 میلی ثانیه یا 2500 میلی ثانیه) وارد می‌­شود.با استفاده از کاما به عنوان جداکننده، می‌­توانید یک ترنزیشن در Css را به چندین ویژگی اعمال کنید..some-text {  transition: border-radius 500ms,color 1s,background-color 1s;  /*...*/}در اینجا نتیجه را می‌بینید:Transitions – Timing functionیکی دیگر از گزینه­‌هایی که می‌­توانید برای یک ترنزیشن در Css تنظیم کنید که Timing function است. Timing function روشی را که از طریق آن ترنزیشن در طول یک فریم پیش می‌­رود را کنترل می‌کند. به عبارت دیگر با تنظیم Timing function شما ترنزیشن­تان را به وجود می‌آورید:سرعت بالا در هنگام شروع و سرعت کم در پایان (ease-out)سرعت کم در شروع و سرعت بالا در پایان (easy-in)سرعت کم در ابتدا و انتها و سرعت بالا در میانه (ease-in-out)مقداری آرام­تر در ابتدا، سرعت بالا در میانه و سرعت کم در انتها (ease مقدار پیش فرض)بدون هیچ گونه تغییر سرعت (linear)Timing functionهای دیگری هم وجود دارد اما این مواردی که ذکر شد جزو معمول­‌ترین­‌ها هستند. به منظوراستفاده از این‌ها، شما باید نام timing function مورد نظرتان را به عنوان سومین گزینه خلاصه­‌نویسی transition استفاده کنید..some-text {  transition: border-radius 500ms ease-in;  /*...*/}ساده‌­ترین روش تعریف یک ترنزیشن در Css، استفاده از ویژگی خلاصه‌­نویسی transition است که به شما امکان می­‌دهد چندین گزینه را همزمان تنظیم کنید. همچنین این گزینه­‌ها را می‌­توانید به صورت جداگانه نیز تنظیم نمائید:transition-property:نام خصوصیتی که می­‌خواهید ترنزیشن در Css را بر روی آن اعمال کنید.transition-duration:مدت زمان ترنزیشن بر اساس ثانیه یا میلی ثانیهtransition-timing-function:Timing function ای که باید استفاده شود.Transitions – delayمی‌­توانید تاخیری را برای شروع یک ترنزیشن در Css در نظر بگیرید و شروع ترنزیشن را به تعویق بیاندازید. اینکار از طریق ویژگی transition-delay امکان­پذیر است. اگر بخواهید از تابع خلاصه­‌نویسی transition استفاده کنید هم می­‌توانید به عنوان انتخاب چهارم و پس از timing function آن را اضافه کنید. این مقدار بر حسب ثانیه یا میلی­‌ثانیه تعریف می‌شود..some-text {  transition: border-radius 500ms ease-in 2s;  /*...*/}انیمیشن ها در CSSانیمیشن­‌ها ویژگی­‌هایی شبیه ترنزیشن­‌ها دارند با یک تفاوت: انیمیشن ها در CSS برای راه ­اندازی نیازی به تغییر مقدار یک ویژگی ندارند. شما کنترل کاملی بر زمان و نحوه انجام آنها دارید. آنها حتی می‌­توانند چندین بار یا به طور نامحدود تکرار شوند.Animations – KeyframesKeyframeها روشی هستند که از طریق آنها مراحل یک انیمیشن تعیین می­‌شود. با keyframe ها شما می‌­توانید زمان و چگونگی تغییر یک یا چند value را در بازه زمانی مشخص کنید:@keyframes slide-anim {  from {    margin-left: 0;    margin-top: 0;  }   to {    margin-left: 200px;    margin-top: 200px;  }}در تکه کد بالا ما انیمیشنی به نام slide-anim ایجاد کرده‌­ایم. کد با دادن صفر به ویژگی­‌های margin-left و margin-top شروع می‌شود و با دادن 200px به هر دو، پایان می‌یابد. برای استفاده از این ویژگی ما باید ویژگی animation را به عنصری که می‌­خواهیم متحرک کنیم اضافه کنیم..ball::before {  animation: slide-anim 2s infinite;  /*...*/}گزینه اول نام انیمیشن است (slide-anim)گزینه دوم مدت زمان انیمیشن است (2s)گزینه سوم تعداد تکرارها است. در این مثال ما از infinite استفاده می­‌کنیم که باعث می‌­شود انیمیشن ما به صورت پشت سر هم تکرار شود. اما این مقدار می‌­تواند یک مقدار عددی داشته باشد برای زمانی که ما می­‌خواهیم انیمیشن مان به تعداد محدودی تکرار شود.Animations – More specific keyframesاجباری نیست که از انیمیشن‌های از پیش تعریف شده استفاده کنید. در حقیقت هر چقدر که دلتان می‌­خواهد، می­‌توانید انیمیشن­تان را به صورت خاص طراحی کنید.@keyframes slide-anim {  
0% {    margin-left: 0;    margin-top: 0;  }   
25% {    margin-left: 200px;    margin-top: 0;    background-color: red;    border-radius: 0;  }   
50% {    margin-left: 200px;    margin-top: 200px;    background-color: green;    border-radius: 50%;  }   
75% {    margin-left: 0;    margin-top: 200px;    background-color: orange;    border-radius: 0;  }   100% {    margin-top: 0;  }}نتیجه چیزی شبیه شکل زیر خواهد بود:همانند ترنزیشن­‌ها، تعریف انیمیشن ها در CSS با استفاده از ویژگی خلاصه­‌نویسی animation راحت‌­تر است. علاوه بر این، می­‌توانید از ویژگی­‌های جداگانه موجود نیز استفاده کنید:animation-name: نام انیمیشنanimation-duration: مدت زمان انیمیشن بر حسب ثانیه یا میلی ثانیهanimation-iteration-count: تعداد دفعاتی که میخواهید انیمیشن شما تکرار شودانیمیشن ها در CSS - سایر گزینه هااینها گزینه‌­های دیگری هستند که شما می­‌توانید از آنها برای کنترل انیمیشن­تان استفاده کنید.animation-timing-function:Timing functionروشی است که پیشرفت انیمیشن در طول یک فریم را کنترل می‌­کند.animation-delay:یک تاخیر در شروع انیمیشن تنظیم می‌کند و شروع آن را به تعویق می‌­اندازد.animation-direction:کنترل نحوه پخش شدن انیمیشن: به جلو (normal، مقدار پیش فرض)، عقب (reverse) یا متناوب (alternate-reverse و alternate).animation-fill-mode:این ویژگی مشخص می­‌کند که بعد از پایان انیمیشن عنصر چه styleای داشته باشد. این ویژگی می­‌تواند styleهای تنظیم­ شده توسط آخرین keyframe (forwards)، اولین keyframe (backwards)، اولین و آخرین keyframeها (both) را حفظ کند، یا حتی عنصر را به style اصلی خود تنظیم کند (none، مقدار پیش فرض).نتیجه گیریانیمیشن ها و ترنزیشن های CSS از رویکردهای CSS برای متحرک­‌سازی عناصر در یک صفحه وب هستند، بدون اینکه برای این کار به JavaScript نیاز داشته باشید. با استفاده از ترنزیشن در CSS، می‌توانید یک ویژگی را به تدریج (و نه به طور ناگهانی) تغییر دهید. با استفاده از انیمیشن­‌های CSS، شما می­‌توانید عنصری را متحرک کرده و ظاهر آن را به صورت فریم به فریم کنترل کنید.آیا می‌­خواهید یک برنامه نویس حرفه‌­ای بشوید؟ پس در دوره های برنامه نویسی آنلاین من شرکت کنید. اگر  مقاله انیمیشن ها و ترنزیشن های CSS را دوست داشتید آن را با دوستانتان به اشتراک بگذارید.</description>
                <category>Hossein Ashrafipoor</category>
                <author>Hossein Ashrafipoor</author>
                <pubDate>Tue, 25 May 2021 10:55:57 +0430</pubDate>
            </item>
                    <item>
                <title>8 موردی که در CSS باید از انجام آنها اجتناب کنید</title>
                <link>https://virgool.io/@ashrafipoor/8-%D9%85%D9%88%D8%B1%D8%AF%DB%8C-%DA%A9%D9%87-%D8%AF%D8%B1-css-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%A7%D8%B2-%D8%A7%D9%86%D8%AC%D8%A7%D9%85-%D8%A2%D9%86%D9%87%D8%A7-%D8%A7%D8%AC%D8%AA%D9%86%D8%A7%D8%A8-%DA%A9%D9%86%DB%8C%D8%AF-k3ag6rjhfd2x</link>
                <description>بعضی از افراد می‌گویند که یادگیری CSS آسان و تسلط بر آن دشوار است. البته حق با آنهاست. همان اندازه که یادگیری اصول CSS آسان است، اشتباه کردن در برنامه نویسی CSS هم آسان است. اما در این مقاله یاد می­‌گیرید این اشتباهات را تشخیص دهید و اجتناب از موارد بیهوده در CSS را باید سرلوحه کار خود قرار دهید.اجتناب از موارد بیهوده در CSSبرای اینکه راه‌ خود را بهتر ادامه دهیم باید این ۸ مورد را همیشه مدنظر قرار دهید.۱- بیش از حد وارد جزییات نشویدقانون css زیر را بررسی کنید:#external-wrapper &gt; .items-list + .actions a.link,
#content header nav.links &gt; ul a,
section#external-wrapper footer.page-footer &gt; ul a {
/*…*/
}انتخابگرهای بالا چندین مشکل بزرگ دارند:آنها از ID استفاده می­‌کنند و این امر به طور قابل توجهی باعث افزایش جزییات یک قانون می­‌شود.خیلی طولانی هستند و انتخابگرهای طولانی باعث افزایش جزییات می­‌شوند.این انتخابگرها بدون اینکه احتیاج باشد نام کلاس را به عنصر اضافه کرده‌­اند( به عنوان مثالpage-footer) این کار نه تنها باعث افزایش جزییات می‌شود بلکه استفاده مجدد را نیز مشکل می‌کند.در عوض بهتر است برای اجتناب از موارد بیهوده در CSS چه کاری انجام دهیم؟به عنوان یک قانون کلی، انتخابگرهای شما باید تا حد امکان کوتاه باشند. بهتر است یک، دو یا نهایتا سه سطح داشته باشند. در آخر، در انتخابگرهای خود ازID استفاده نکنید (در ادامه در مورد این موضوع بیشتر صحبت خواهیم کرد) و به کلاس‌های خود تگ نام اضافه نکنید.۲- استفاده نابجا از  !importantباز هم مشکل جزییات بیش از حد پیش می­‌آید. استفاده از !important به طور معمول به این معنی است که شما سعی دارید برخی از ویژگی­‌ها را با ویژگی خاص‌تری override کنید یا اینکه نمی­‌خواهید سایر توسعه دهندگان بتوانند ویژگی تعریف شده توسط شما را override کنند. به عنوان مثال در حالت اول ممکن است سعی کنید یک مولفه شخص ثالث را سفارشی کنید.اگر نمی­‌خواهید افراد دیگر یک یا چند ویژگی از قانونی که شما تعریف می­‌کنید را override کنند، باید از خود بپرسید: چرا؟ چرا در حالی که همه شما روی یک پروژه کار می‌کنید، سایر برنامه نویسان نباید برخی از styleهای برنامه را سفارشی کنند؟ اگر پاسخ خوبی برای این سوال ندارید شاید بهتر باشد در استفاده خود از !important تجدید نظر کنید.در عوض بهتر است چه کاری انجام دهیم؟اگر کدی که می­‌خواهید آن را override کنید، متعلق به شما یا تیم شما است، بهتر است !important را حذف کنید تا بتوانید انتخابگرهایی که جزییات کمتری دارند، استفاده کنید. (به مورد قبلی مراجعه کنید).به این ترتیب، شما تنها با استفاده از یک انتخابگر دیگر با همان ویژگی قادر خواهید بود که !important را حذف کنید.۳- CSS’s @import@import url(“font-face.css”);
@import url(“base.css”);
@import url(“utilities.css”);هنگامی که شما با استفاده از CSS’s @import stylesheet ها را وارد یک قانون می‌­کنید، اتفاقی که می‌افتد به صورت زیر است:پرونده HTML شما بارگیری می­شود.پرونده CSS شما بارگیری می­‌شود.@import at-rule پیدا شده و پرونده ارجاع شده بارگیری می­‌شود.اگر stylesheet وارد شده حاوی @import های بیشتری باشد، این stylesheetهای اضافی نیز بارگیری می‌شوند.تنها پس از بارگیری تمام stylesheetها، اجزای گرافیکی صفحه ایجاد خواهند شد.در عوض بهتر است برای جلوگیری از اشتباهات رایج در سی اس اس، چه کاری انجام دهیم؟همیشه تگ &lt;link&gt; HTML را به @import at-rule ترجیح دهید. CSS importsها دانلود­های همزمان را متوقف می‌کنند. بهترین کار این است که تعداد stylesheetهای مورد استفاده خود را کاهش دهید (بهترین حالت انتخاب تنها یک پرونده است). استفاده از یک پردازنده یا پس‌پردازنده انجام این کار را بسیار ساده‌­تر می­‌کند، زیرا شما می­‌توانید چندین stylesheet داشته باشید و به راحتی آنها را در یک پرونده واحد ترکیب کنید. این bundle را کوچک کنید و با استفاده از تگ &lt;link&gt; آن را وارد کنید.۴- نام­گذاری ناسازگارگاهی اوقات در یک پروژه واحد، شما قوانینی مثل قانون زیر پیدا می‌کنید:.user-panel {/*…*/}
.AlertBox {/*…*/}
.items_list {/*…*/}این امر به خصوص در پروژه­‌هایی که توسط برنامه نویس‌های متعدد انجام می­‌شوند معمول است، اما در پروژه‌های انفرادی نیز اتفاق می‌افتد.در عوض بهتر است چه کاری انجام دهیم؟پروژه شما باید از یک طرح نامگذاری واحد استفاده کند. طرحی که برای شما و تیم شما مناسب باشد را انتخاب کنید و به آن پایبند باشید. یک گزینه خوب BEM است، که یک طرح نامگذاری آزمایش شده توسط هزاران تیم برنامه‌نویسی است و سال‌هاست از آن استفاده می‌شود.5 . سی اس اس درون­ برنامه­ ای&lt;div style=”color: #D3D3D3; right: 0; padding: 0″&gt;&lt;/div&gt;استفاده مجدد یک قابلیت خوب در برنامه نویسی است. CSS هم از این قائده مستثنی نیست (حتی با وجود اینکه یک زبان برنامه نویسی نیست). کلاس­‌های CSS برای استفاده مجدد به وجود آمده‌­اند. هنگامی که شما توسط ویژگی style به بعضی از عنصر­ها style می­‌دهید، سه اشتباه بزرگ مرتکب می­‌شوید:کدهای markup و presentation را با هم ترکیب می­‌کنید.از آنجایی که این ویژگی­‌های CSS را برای یک عنصر خاص تعریف می­‌کنید، امکان استفاده مجدد از این کد را از بین می‌­برید.Style­های درون­ برنامه‌ای اختصاصی‌­تر از style­های برون­ برنامه­‌ای هستند. تنها با استفاده از !important می‌­توانید آنها را override کنید.در عوض بهتر است برای اجتناب از موارد بیهوده در CSS چه کاری انجام دهیم؟آسان است: همیشه از کلاس‌­ها استفاده کنید.۶- مقادیر غیر منطقی z-index.sign-up-form {
z-index: 99999;
}بسیاری از برنامه‌نویسان هنگامی که قصد دارند یک عنصر را جلوی عنصر دیگری قرار دهند، از مقادیر بالای z-index استفاده می‌کنند. وقتی‌ که شما این کار را می­‌کنید، اگر شخص دیگری نیاز به انتقال عنصر دیگری به بالای محور Z داشته باشد باید مقدار z-index را بیشتر کند و این باعث بدتر شدن اوضاع می­‌شود.در عوض بهتر است چه کاری انجام دهیم؟راه حل این مشکل استفاده عاقلانه و متعادل از z-index است، یعنی تنها تا حدی این مقدار را افزایش دهید که به نتیجه مورد نظر برسید، نه بیشتر. اگر از پیش پردازنده‌ای مانند Sass یا Stylus استفاده می­‌کنید، روش‌­های هوشمندان‌ه­ای برای مدیریت لایه­‌های z-index در برنامه کاربردی شما وجود دارد.۷- استفاده از انتخابگرهای ID به جای کلاس­ هامن با خودم تکرار می­‌کنم: استفاده مجدد چیز خوبی است. اما از IDها نمی­‌توان دوباره استفاده کرد. منظورم این است که ID فقط توسط یک عنصر در یک صفحه، قابل استفاده است. علاوه بر این، IDها باعث می­‌شوند که انتخابگر تا حدی اختصاصی شود که فقط در این موارد بتوان آن را override کرد:بوسیله انتخابگر دیگری که همان ID را انتخاب کرده ­است.استفاده از !importantاستفاده از styling درون­ برنامه‌­ایدر عوض بهتر است چه کاری انجام دهیم؟ID ها نباید برای styling استفاده شوند. تنها استثنایی که در این مورد به ذهن می‌رسد طراحی ظاهر صفحات و اجزایی است که کنترل markup آنها دست شما نیست. در این حالت، اگر تنها چیزی که از طریق آن می‌­توانید به یه عنصر ارجاع دهید ID آن است، پس می‌­توانید از آن ID استفاده کنید. در سایر موارد کلاس­‌های CSS ارجحیت دارند.۸- کلاس­ هایی با نام بیش از حد عمومینامگذاری کلاس با نام­‌های خیلی عمومی نیز می‌­تواند یکی از اشتباهات رایج در سی اس اس باشد. به عنوان مثال با نام­‌هایی مانند .card، .panel، .box یا .grid، احتمال این وجود دارد که در هر لحظه ناسازگاری در برنامه شما به وجود بیاید، خصوصاً اگر stylesheetهای یک شخص ثالث را در برنامه خودimport کنید.در عوض بهتر است چه کاری انجام دهیم؟یک راه حل برای کوتاه نگه ­داشتن نام کلاس‌­ها، افزودن پیشوند است.(مانند .be-card یا .zo-grid) یکی دیگر از گزینه­‌ها، تکه ­کردن نام کلاس است. با استفاده از ماژول­‌های CSS، به طور مثال، stylesheetهای شما محدود می‌شود و نام کلاس شما به طور خودکار تکه خواهد شد.نتیجه­ گیری اشتباهات رایج در سی اس اسبرای اجتناب از موارد بیهوده در CSS، از انتخابگرهای خیلی خاص استفاده نکنید. از کلاس­‌های پیشوند با name tagها خودداری کنید.تا حد ممکن از !important به صورت متعادل استفاده کنید. یک مورد کاربرد خوب، override کردن style طراحی شده توسط یک شخص ثالث است.از CSS import استفاده نکنید. همیشه تگ &lt;link&gt; را ترجیح بدهید.یک طرح نام‌گذاری را انتخاب کنید و به آن پایبند باشید.از یک style درون­ برنامه‌­ای استفاده نکنید. همیشه style خود را در stylesheet جداگانه قرار دهید.به صورت هوشمندانه از z-index استفاده کنید. مقادیر z-index را به صورت خیلی خارج از محدوده استفاده نکنید.از IDها در CSS استفاده نکنید، مگر اینکه بخواهید کد شخص ثالثی که markup آنها را کنترل نمی­‌کنید، override کنید.از نامگذاری کلاس با نام­‌های خیلی عمومی پرهیز کنید زیرا این امر باعث ناسازگاری در کد شما می‌­شود.آیا می‌­خواهید یک برنامه نویس حرفه‌ای بشوید؟ پس در دوره‌های برنامه نویسی آنلاین من شرکت کنید. اگر این مقاله را دوست داشتید آن را با دوستانتان به اشتراک بگذارید.</description>
                <category>Hossein Ashrafipoor</category>
                <author>Hossein Ashrafipoor</author>
                <pubDate>Sun, 23 May 2021 14:01:49 +0430</pubDate>
            </item>
                    <item>
                <title>5 مورد از بهترین ویژگی های React که در سال 2021 باید یاد بگیرید</title>
                <link>https://virgool.io/@ashrafipoor/5-%D9%85%D9%88%D8%B1%D8%AF-%D8%A7%D8%B2-%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%D9%88%DB%8C%DA%98%DA%AF%DB%8C-%D9%87%D8%A7%DB%8C-react-%DA%A9%D9%87-%D8%AF%D8%B1-%D8%B3%D8%A7%D9%84-2021-%D8%A8%D8%A7%DB%8C%D8%AF-%DB%8C%D8%A7%D8%AF-%D8%A8%DA%AF%DB%8C%D8%B1%DB%8C%D8%AF-rsqixi2l4wov</link>
                <description>ری اکت در سال گذشته با پیشرفت‌های زیادی مواجه بوده است و چندین ویژگی جدید ری اکت معرفی شده ­است. ما هم قصد داریم در این پست به  5 ویژگی که از بهترین ویژگی های React در سال 2021 بوده صحبت کنیم و آنرا بریتان معرفی کنیم. فقط قبل از آن این تکنولوژی را برا آن‌های که اطلاعی ندارند، توضیح خواهیم داد.بهترین ویژگی های Reactاول از همه ببینیم React چیست؟در واقع React یا React JS یکی از کتابخانه‌های جاوا اسکریپت است که از سرعت و کیفیت بالایی برخوردار بوده این کتابخانه را فیسبوک و اینستاگرام نگهداری می‌کنند. این کتابخانه اوپن سورس بوده و کاملا رایگان در دسترس است. این کتابخانه به شما اجازه می‌دهد کامپوننت‌هایی را با قابلیت استفاده مجدد طراحی و ایجاد کنید.  حال می‌رویم سراغ بهترین ویژگی های React…۱- اجزای عملکردی نسبت به اجزای کلاسReact همزمان با عرضه نسخه 16.8، مفهوم هوک را معرفی کرد. React Hook ها به ما امکان می­‌دهند تا از روش‌های state، Life cycle و سایر ویژگی­‌های React در یک مولفه کاربردی استفاده کنیم. پیش از این، استفاده از این ویژگی­‌ها فقط از طریق مولفه­‌های کلاس، امکان پذیر بود. Hookها به شما امکان می­‌دهند بدون نگرانی در مورد سلسله مراتب مولفه­‌ها، از منطق stateful استفاده مجدد بکنید. به نظر من این یک پیروزی بزرگ برای React است زیرا اکنون با ­hook های موجود، مدیریت داده‌­ها بسیار آسان می‌­شود.شما مجبور نیستید که همه اجزای کلاس خود را به اجزای عملکردی تبدیل کنید. React چنین چیزی را توصیه نمی‌کند. در عوض می‌­توانید از اجزای عملکردی و hookهای اهرمی برای مدیریت state استفاده کنید. در زیر مثالی از یک مولفه کلاس آورده­ شده که نشان می‌دهد وقتی مولفه کلاس با مولفه کاربردی جایگزین می‌­شود چه اتفاقی می‌افتد.مولفه کلاسimport React from &amp;quotreact&quot;class YesNoComponent extends React.Component {
state = {
buttonPressed: “”
};onYesPress() {
this.setState({ buttonPressed: “Yes” });
console.log(“Yes was pressed”);
}onNoPress() {
this.setState({ buttonPressed: “No” });
console.log(“No was pressed”);
}render() {
return (this.onYesPress()}&gt;Yes
this.onNoPress()}&gt;No);
}
}export default YesNoComponent;مولفه کاربردی با hookهاimport React, { useState } from “react”;const YesNoComponentFunctional = () =&gt; {
const [button, setButton] = useState(“”);const onYesPress = () =&gt; {
setButton(“Yes”);
console.log({ button });
};const onNoPress = () =&gt; {
setButton(“No”);
console.log({ button });
};return (onYesPress()}&gt;Yes
onNoPress()}&gt;No);
};می­‌بینید که با استفاده از مولفه کاربردی، کدهای کمتری نوشته شده و همچنین کد ما بهینه­ سازی شده ­است.۲- توابع Higher Order برای DRYاز دیگر ویژگی های React در سال 2021 تابع Higher Order برای DRY است. یکی از راه‌هایی که به شما قابلیت استفاده مجدد یا Don’t Repeat Yourself (DRY) را می‌­دهد، استفاده از مفهوم higher-order function (HOC) است. یعنی شما می‌­توانید بدون تکرار کد و با استفاده از HOC، عملکردهای مشترک را به اشتراک بگذارید.در اینجا می‌بینید که HOCها در React چگونه به نظر می­‌رسند. HOC اساساً تابعی است که یک مولفه را به عنوان آرگومان می­‌گیرد و یک مولفه جدید را بر می­‌گرداند. همچنین می‌­تواند مولفه اصلی را که به عنوان آرگومان به آن داده شده است ارائه دهد.function myHOC (myOtherComponent) {
return class extends React.Component {
render() {
return
}
}
}HOCها به شما اجازه می ­دهند که کد خود را انتزاعی کنید. هنگامی که شما از قابلیت HOC ها آگاه شدید پس از آن، ممکن است خیلی از اوقات از این الگو استفاده کنید. گرچه استفاده از این توابع اختیاری است، اما به شما امکان می‌­دهند که تا حد خیلی زیادی قابلیت استفاده مجدد در کد خود داشته باشید. البته شما همیشه می‌­توانید اصول DRY را حتی بدون اجرای HOCها به کار بگیرید.۳- PropTypes دوست شماستشما می‌­توانید مولفه­‌ها را بدون PropTypes تعریف کنید. اما بدون PropTypes یا نوع دیگری از اعتبارسنجی، ممکن است داده‌­های اشتباه به یک مولفه وارد شود. این امر می­‌تواند باعث خرابی یا رفتار غیر منتظره در برنامه شما شود. من به شدت توصیه می­‌کنم از PropTypes در اجزای React خود استفاده کنید تا از اشتباهات غیر منتظره کاربر جلوگیری شود.import PropTypes from &#039;prop-types&#039;const MyComponent = (props) =&gt; {
return (
// render something
)
}// You can declare that a prop is a specific JS type.
MyComponent.propTypes = {
text: PropTypes.string.isRequired,
content: PropTypes.array.isRequired,
onPress: PropTypes.func.isRequired,
size: PropTypes.number.isRequired,
styles: PropTypes.object.isRequired,
isReady: PropTypes.bool.isRequired,
}انواع مختلفی از اعتبارسنج­‌ها در مثال بالا وجود دارند (رشته، آرایه، تابع، عدد، boolو غیره ..). این اعتبارسنج­‌ها به شما امکان می­‌دهند اعلام کنید که یک prop از نوع Javascript خاص است. هر کسی که از این مولفه استفاده می­‌کند اکنون دیگر همه propها و typeهای نظیر مورد نیاز آن­ها را می­‌شناسد. وقتی type داده نادرستی به مولفه منتقل شود، React خطایی روی کنسول نشان می­‌دهد. این به ما امکان می‌دهد که در طول زمان کدنویسی، خطاها را پیدا کنیم و این خود یکی از بهترین ویژگی های React است.۴- مولفه­ ها را کوچک و ساده نگه داریدآیا تاکنون با مولفه­‌هایی با هزار خط کد مواجه شده‌­اید؟ پس حتما می‌­دانید که بهتر است تلاش کنید به جای یک مولفه با هزار خط کد، چندین مولفه ساده و کوچک داشته باشید. بهتر است مولفه شما کارهای زیادی انجام ندهد. یک مولفه در React، واحدی است که برای انجام یک کار در نظر گرفته شده و انتظار می­‌رود که ساده باشد. پس اگر به نظرتان یک مولفه طولانی و پیچیده است، باید آن را به چندین مولفه یا container تقسیم کنید. اجزای نمایشی و اجزای container را از هم جدا کنید.من معمولا ترجیم می‌­دهم که یک پوشه/container و یک پوشه/مولفه­‌ی دیگر داشته باشم. مولفه­‌ها آنهایی هستند که کاملاً UI (ارائه ای) هستند وcontainerها آنهایی هستند که در انها به سختی کدی مربوط به UI پیدا می‌­شود و بیشتر حاوی منطقی پیچیده هستند.با جدا نگه داشتن این دو از هم، مولفه‌­ها معمولاً کوچک و ساده می­‌شوند. این امر همچنین تست­ کردن مولفه­‌ها و containerهای منطقی را نیز آسان­‌تر می‌­کند.۵- تست، تست، تستکد خود را تست کنید. وقتی تمام موارد بالا را در React پیاده‌­سازی کنید، تست کردن کد آسان‌­تر می­‌شود. انواع مختلفی از روش‌­های آزمایش که می­‌توانید کدهای React را با آن‌ها تست کنید، وجود دارد و من همه آنها را توصیه می‌کنم:Unit TestingJest محبوب‌ترین چارچوب برای Unit Testing است. چارچوب­‌های دیگری مانند Mocha نیز وجود دارد که می‌­توانید از آنها استفاده کنید. Unit Testing ابتدایی‌­ترین شکل تست است که به شما امکان می‌دهد کوچکترین unitها را در کد خود تست کنید.Component Testingهمه چیز در React یک مولفه است و از رویکردهای مولفه پیروی می­‌کند. مولفه­‌های شما واحدهای قابل استفاده مجدد شخصی هستند که می‌­توانند به طور کارآمد تست شوند. این روش آزمایش در React بسیار مهم است.Kent C.Dodd’s که کتابخانه تست React است یک راه حل سبک برای تست مولفه­‌های React است. این نرم افزار ساده، تست React DOM که بهترین روش برای تمرین تست کردن کد است را ارائه می­‌دهد. بسیاری از تیم­‌ها موفقیت خوبی در تست مولفه‌­های خود با این کتابخانه داشته‌­اند. اگر تاکنون از این کتابخانه‌ها استفاده نکرده‌­اید، حتما آنها را بررسی کنید.End to End Testingاین نوع تست اساساً کلیت برنامه را تست می­‌کند. این روش، اتفاقی که پس از کلیک ­کردن کاربر در مرورگر رخ می­‌دهد را شبیه‌­سازی می­‌کند. محبوب‌ترین و آسانترین چارچوبی که برای تست End to End در جاوا اسکریپت (یا هر زبان برنامه نویسی تحت وب دیگر) استفاده می‌شود، Cypress است. من از Cypress برای آزمایش برنامه­‌های frontend استفاده می­‌کنم. این چارچوب به راه اندازی کلی برنامه کمک می­‌کند. این روش تست باید در یک محیط واقعی در مرورگر انجام شود و من به شدت توصیه می­‌کنم که حتما این تست­‌ها را در برنامه React خود انجام دهید.این مواردی که در بالا گفته شد همگی ویژگی های React در سال 2021 را شامل می‌شد. شما نیز با این ویژگی‌ها می‌توانید عملیات خود را بروز کرده و بهتر فعالیت کنید.آیا می‌­خواهید یک برنامه نویس حرفه ای بشوید؟ پس در دوره های برنامه نویسی آنلاین من شرکت کنید. اگر این مقاله را دوست داشتید آن را با دوستانتان به اشتراک بگذارید.</description>
                <category>Hossein Ashrafipoor</category>
                <author>Hossein Ashrafipoor</author>
                <pubDate>Sun, 23 May 2021 13:54:37 +0430</pubDate>
            </item>
                    <item>
                <title>بهترین زبان های برنامه نویسی وب</title>
                <link>https://virgool.io/@ashrafipoor/%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%D8%B2%D8%A8%D8%A7%D9%86-%D9%87%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%88%D8%A8-phnmagn9es9s</link>
                <description>اگر جزء کسانی هستید که می‌خواهید وارد دنیای برنامه نویسی تحت وب شوید، بهتر است قبل از هر چیز ابتدا با زبان‌های برنامه نویسی مختلف آشنا شده و سپس بدانید زبان های برنامه نویسی تحت وب کدامند و در نهایت تصمیم بگیرید که از کدام  یک از این زبان‌ها می‌خواهید برای وب استفاد کنید.زبان های برنامه نویسیمعمولا زبان‌های برنامه‌نویسی را به شکل‌های مختلفی دسته‌بندی می‌کنند که ما در ادامه به معرفی آنها با زبان ساده پرداخته و کاربردهای هر یک را بیان می‌کنیم تا شما با دید بازتری بتوانید زبان برنامه نویسی مناسب خود را انتخاب کنید.زبان‌ های برنامه ‌نویسی بر‌‌اساس پلتفرمپلتفرم بستری نرم‌افزاری یا سخت‌افزاری است که سرویسی روی آن پیاده می‌شود. اجزای پلتفرم حاوی یک سخت‌افزار، سیستم عامل و برنامه‌هایی است که یک بستر مناسب را جهت اجرای برنامه‌ها فراهم می‌کند. اگر بخواهیم زبان های برنامه نویسی را براساس پلتفرم دسته بندی کنیم، شامل موارد زیر خواهد بود:برنامه‌نویسی تحت وببرنامه‌نویسی تحت دسکتاپبرنامه‌نویسی تحت موبایلبرنامه‌نویسی تحت دسکتاپیکی از زبان های برنامه نویسی، تحت دسکتاپ است و به زبان‌هایی گفته می‌شود که جهت تولید نرم‌افزار‌های کاربردی روی سیستم عامل‌های مختلف به کار می‌روند. نرم افزارهای اتوماسیون اداری، نرم‌افزارهای چندرسانه‌ای Multi Media، مرورگرها و … . مثال هایی از برنامه نویسی تحت دستکتاپ هستند. از زبان‌ های برنامه نویسی که در این مورد استفاده می‌شوند، می‌توان به موارد زیر اشاره کرد:ویندوز :  C#, java, javascriptلینوکس: java, pythonمک: swiftبرنامه‌ نویسی تحت موبایلبه زبان‌هایی گفته می‌شوند که در تولید اپلیکیشن‌های موبایلی مورد استفاده قرار می‌گیرند. با استفاده از زبان‌های برنامه نویسی تحت موبایل، می‌توان انواع اپلیکیشن اندرویدی و ios را تولید کرد.برنامه نویسی تحت وبو اما سوالی که معمولا توسط علاقمندان به زبان های برنامه نویسی پرسیده می شود این است که بهترین زبان های برنامه نویسی تحت وب کدامند؟ اگر این سوالات برای شما هم ایجاد شده، پیشنهاد می‌کنیم ادامه مطلب را تا انتها مطالعه کنید.در پاسخ به این سوال، باید بگوییم به نوعی از برنامه نویسی می‌گویند که به منظور تولید نرم افزارهای تحت وب به کار می‌رود. برنامه‌های تحت وب معمولا با یکی از زبان های ASP.Net،PHP،JAVA، پایتون و … نوشته شده و سپس روی سرور نصب می‌شوند. به عبارت دیگر به زبان‌هایی گفته می شود که برای کار بر ‌روی وب و شبکه طراحی ایجاد شده‌اند. از این زبان‌ها برای ساخت انواع وب‌‌سایت‌ها، ایمیل، خرید آنلاین و … استفاده می‌شود. زبان های برنامه نویسی تحت وب شامل دو نوع زبان سمت کاربر (front-end) و زبان‌های تحت سرور (back-end) است.از زبان های پرکاربرد در حوزه برنامه نویسی تحت وب می توان به موارد زیر اشاره کرد:زبان‌های سمت کاربرjavascriptHtmlcssزبان‌های سمت سرورPhppythonrubyNETاز دلایلی که سبب محبوبیت برنامه‌های تحت وب می‌شود می‌توان به سادگی و در دسترس بودن آنها در تمام طول شبانه روز اشاره کرد. برای استفاده از این برنامه‌ها فقط کافی است که کاربر با استفاده از یک مرورگر به اینترنت متصل شده و از برنامه مورد نظر خود استفاده کند. زمان‌هایی که شما در یک وبسایت در حال انجام کارهایی مثل ارسال ایمیل، انجام امور بانکی و… هستید، در واقع در حال استفاده از یک برنامه تحت وب هستید.چرا از برنامه های تحت وب استفاده می کنید؟نیاز به نصب نرم افزار نیستزمانی که درحال استفاده از برنامه‌های تحت وب هستید، نیاز به هیچ dll یا زیر سیستمی ندارید. حتی اگر نیاز به dll یا فایل‌های دیگر باشد هم، می‌توان با بارگذاری آنها در سرور، این مشکل را حل کرد و نیازی نباشد که آن فایل‌ها را در سیستم نصب یا کپی کرد.می توان سیستم را در بستر اینترنت آنلاین کردبه این ترتیب دیگر بابت از دست دادن اطلاعات، دغدغه‌ای نخواهید داشت.فرض کنید اطلاعاتی در یک سیستم محلی در کامپیوتر دارید، در اینصورت مدام باید به فکر پشتیبان‌گیری باشد تا مبادا این اطلاعات روی کامپیوتر پاک نشود و … اما اگر در بستر اینترنت باشد، شما نیازی به پشتیبان‌گیری نخواهید داشت؛ چرا که این کار توسط سرور و مدیران سیستم صورت می‌گیرد.بروزرسانی سیستم آسان تر می شوددر این حالت نیازی نیست که دوباره نرم افزار روی سیستم کاربر نصب شود. به این ترتیب سرعت و سهولت دسترسی به اطلاعات بیشتر خواهد بود. یعنی حتی در یک اسمارت فون هم، نیاز به نصب هیچ نرم افزاری نخواهد بود.سازگاری با کلیه سیستم عامل هابرنامه نویسی تحت وب، روی سیستم عامل‌های مختلف مثل ویندوز، ios ، اندروید و… در هر ساعت و در هر مکانی قابل اجرا خواهند بود.برنامه نویسی تحت وب را از کجا شروع کنم؟حال که با مزیت‌های برنامه نویسی تحت وب آشنا شدید، ممکن این سوال برایتان ایجاد شود که برای وارد شدن به دنیای این نوع برنامه‌نویسی باید از کجا شروع کنیم؟برای رسیدن به پاسخ این سوال باید ابتدا با مفهوم Front-end و Back-end در برنامه نویسی تحت وب آشنا شوید.Frontend Developerوقتی می‌گوییم فردی طراح سایت است، منظور فردی است که هم می‌تواند با فتوشاپ و نرم افزارهای گرافیکی مشابه کار کند و هم آن طرح‌ها را به کدهای HTML، CSS، JAVA SCRIPT تبدیل کند. تمام چیزی که کاربر از ظاهر سایت می‌بیند، مربوط به این کدها می‌شود که همه آنها با مرورگر وب کاربر کنترل می‌شود. مثل صفحات سایت، منوها، فونت‌ها، فرم های تماس و …Backend Developerو اما Back-end از سه بخش سرور، برنامه و پایگاه داده تشکیل شده است.یعنی زمانی که شما سایتی را باز می‌کنید، با فرانت‌اند روبرو شده و با آن تعامل می‌کنید، اما زمانی که اطلاعاتی را وارد می‌کنید، روی پایگاه داده‌ای (دیتابیس) که بر روی سرور قرار گرفته است، ذخیر می‌شود. این ذخیره سازی توسط برنامه‌ها صورت می‌گیرد. تمام این اطلاعات که روی سرور قرار گرفته‌اند، با مراجعه مجدد شما به سایت، از روی سرور به نمایش در می‌آیند. به فردی که از این تکنولوژِی‌ها استفاده می‌کند و آنها را به هم مرتبط می‌کند، Backend Developer در زبان های برنامه نویسی نامیده می‌شود.شما باید با توجه به علایق و سلیقه خود یکی از این دو را انتخاب کنید.نتیجه گیریهمانطور که ما انسان‌ها زبان‌های مختلفی برای برقراری ارتباط با یکدیگر داریم، کامپیوتر هم زبان ماشین را برای خود انتخاب می‌کند. از این رو ما زبان های برنامه نویسی متعددی را قالب وب و موبایل دارد که هر کدام با زبان‌های مشخصی توسط یک برنامه نویس حرفه‌ ای قابل اجرا هستند. در این مقاله این مسئله را برایتان مشخص کردیم و درباره زبان‌های برنامه‌نویسی توضیحاتی را ارائه کردیم.برای آموزش برنامه نویسی وب اینجا کلیک کنید</description>
                <category>Hossein Ashrafipoor</category>
                <author>Hossein Ashrafipoor</author>
                <pubDate>Sun, 23 May 2021 13:49:33 +0430</pubDate>
            </item>
                    <item>
                <title>برنامه نویس حرفه ای کیست؟</title>
                <link>https://virgool.io/@ashrafipoor/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%DA%A9%DB%8C%D8%B3%D8%AA-lnu2bhdkgp7w</link>
                <description>شاید وقتی اسم برنامه نویس به میان می‌آید، شما افرادی را تصور می‌کنید که در زیرزمین‌های تاریک و نم زده روبروی مانتیورهای بزرگ نشسته‌اند و در حال هک کردن سیستم اطلاعات پلیس هستند! اما در اصل باید بدانید که اینگونه نیست. برنامه نویسان هم دقیقا مانند ما آدم‌های عادی هستند. آن‌ها زندگی عادی داشته و روبروی یک سیستم کامپیوتری برای گذران زندگی خود برنامه نویسی می‌کنند. اما به چه کسانی برنامه نویس گفته می‌شود؟ اصلا برنامه نویسی به چه معناست؟ و برنامه نویسان حرفه‌ای چه ویژگی‌هایی دارند؟برنامه نویس حرفه ایبرای اینکه به این سوال پاسخ دهیم، اجازه دهید با یک مثال شروع کنیم. همه ما انسان‌ها زمانی که بخواهیم با یکدیگر ارتباط برقرار کنیم، از “زبان” برای گفتگو بهره می‌بریم. حال اگر بخواهیم که با کامپیوتر یا هر وسیله الکترونیکی دیگری ارتباط برقرار کنیم، تکلیف چیست؟ ما هیچ‌گاه نمی‌توانیم با زبان انسانی با این دستگاه‌ها ارتباط برقرار کنیم و ناچاریم که با زبان خودشان با آن‌ها صحبت کرده و دستوراتی را اعمال کنیم. این زبان که باعث برقراری ارتباط بین انسان و ماشین می‌شود، زبان برنامه نویسی نام دارد.همچنین به کسی که این زبان برنامه نویسی را می‌داند و از آن استفاده می‌کند، برنامه نویس گفته می‌شود. پس اگر بخواهیم به زبان ساده‌تر این مبحث را جمع بندی کنیم، می‌توان گفت که برنامه نویسی به علم تحلیل نیازها و بدل کردن آن‌ها به یک سری دستورات قابل فهم توسط کامپیوتر گفته می‌شود. از سوی دیگر وظیفه نوشتن چنین دستوراتی به عهده فردی به نام برنامه نویس است. این افراد می‌توانند دستورات انسانی را به زبان ماشین تبدیل کنند.اکنون که به صورت اجمالی با برنامه نویسی و برنامه نویس آشنا شدید، شاید سوال کنید که آیا همه برنامه‌نویسان مانند یکدیگر هستند؟ هیچ تفاوتی بین آن‌ها وجود ندارد؟ در پاسخ باید عنوان کرد که ما زبان‌های برنامه نویسی مختلفی داریم که هر کدام از آن‌ها به متخصص برنامه نویس خودشان احتیاج دارند. اما اصولا فرق بزرگی است بین یک برنامه نویس مبتدی و یک برنامه نویس حرفه ای. حال می‌خواهیم بدانیم؛ به جز دانستن علم برنامه نویسی، چه عواملی باعث می‌شود که یک نفر به برنامه نویس حرفه ای بدل می‌گردد؟ویژگی های یک برنامه نویس حرفه ایشاید در نگاه اول به هر برنامه نویسی که بتواند از طریق برنامه نویسی پول بیشتری کسب کند، برنامه نویس حرفه ای گفته می شود. البته که کسب درآمد از طریق علم برنامه نویسی یکی از ویژگی‌های مهم یک برنامه نویس حرفه ای است، اما همه چیز تنها پول در آوردن نیست. در ادامه به مهم‌ترین ویژگی یک برنامه نویس حرفه ای اشاره خواهیم کرد:قابل اعتماد باشداینکه از کجا می‌شود به قابل اعتماد بودن برنامه نویس پی برد، راه‌های گوناگونی دارد. برای مثال آیا کارفرما می‌تواند به صورت کامل به شما اعتماد کند و کاری را به عهده شما بسپارد؟ آیا این امکان وجود دارد که بدون چک کردن، کار را به درستی انجام دهید؟ می‌شود زمانی که به شما نیاز است، شما را مورد اعتماد دانست و از شما کمک خواست؟پاسخ به تمامی این سوالات، می‌تواند منبع تفاوت یک برنامه نویس حرفه ای و مبتدی یا به طور کلی غیرحرفه‌ای باشد. شما باید به فردی قابل اعتماد بدل شوید که کارفرما خیالش از کار سپرده شده به شما راحت باشد. او باید بتواند شما را معتمد خود بداند و به با خیالی آسوده کار خود را به عهده شما بگذارد.توانایی کار گروهی در برنامه نویسی داشته باشیدیک برنامه نویس حرفه‌ای باید بتواند با افراد دیگر همکاری داشته باشد. توانایی کار کردن با جمع و کار گروهی یکی از مهم‌ترین اصول تبدیل شدن از یک برنامه نویس مبتدی به حرفه‌ای است. شما باید این توانایی را داشته باشید که خودتان را عضوی از یک خانواده بزرگتر بدانید و بتوانید ارتباط خوبی با سایر اعضای گروه برقرار کنید.شما باید توانایی رهبری کردن داشته باشیدرهبری کردن به معنای کسب احترام از سایر افراد و داشتن علم و عمل کردن به کارهایی است که می‌دانید باعث پیش‌برد اهداف خواهد شد. شما باید به یک رهبر بدل شوید. مهارت‌های هر یک از افراد تیم‌تان را پیدا کنید و از آن‌ها در بهترین جای ممکن استفاده کنید. همچنین شما باید بتوانید به راحتی، بدون اینکه زیاد از حد درگیر یک مشکل شوید، با آن مقابله کنید.با افراد به خوبی ارتباط بگیریدبرقراری یک ارتباط صحیح و احترام گذاشتن به سایر افراد و شنیدن با دقت حرف‌های دیگران، از مهمترین اصول داشتن یک ارتباط موثر است. برنامه نویسان حرفه ای می‌توانند به سادگی با افراد ارتباط برقرار کند. باید بدانید که انجام کار گروهی بدون یک ارتباط صحیح، امکان پذیر نیست.مهارت های خود را به روز کنیدبرنامه نویسان حرفه ای هر روز در تلاش هستند تا علم و مهارت خودشان را به روز نگه دارند. شما باید تلاش گسترده‌ای در خصوص افزایش دانش و اگاهی برنامه نویسی انجام دهید و این کار را از سر علاقه انجام دهید. هیچ وقت فراموش نکنید، بهترین برنامه نویسان هنوز در حال یادگیری هستند.حال که فهمیدیم چگونه یک برنامه نویس متخصص شویم…به علم برقراری ارتباط و دادن دستورات به کامپیوترها، برنامه نویسی و به فردی که این دستورات را به زبان کامپیوترها می‌نویسد،برنامه نویس گفته می‌شود. برنامه نویسان براساس ویژگی‌ها و توانایی‌های خودشان، دارای رتبه بندی‌های زیادی هستند. مسلما بین یک برنامه نویس حرفه‌ای و یک برنامه نویس مبتدی، تفاوت‌های زیادی وجود دارد. از جمله ویژگی‌های یک برنامه نویس حرفه‌ای، توانایی رهبری کردن، توانایی کار گروهی، توانایی برقراری ارتباط و … است.برای آموزش برنامه نویسی میتونید به لینک زیر مراجعه کنید</description>
                <category>Hossein Ashrafipoor</category>
                <author>Hossein Ashrafipoor</author>
                <pubDate>Sun, 23 May 2021 13:45:56 +0430</pubDate>
            </item>
                    <item>
                <title>بهترین زبان های برنامه نویسی موبایل</title>
                <link>https://virgool.io/@ashrafipoor/%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%D8%B2%D8%A8%D8%A7%D9%86-%D9%87%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%85%D9%88%D8%A8%D8%A7%DB%8C%D9%84-steacklqkrgd</link>
                <description>یکی از صنایعی که با پیشرفت گوشی‌های موبایل پیشرفت چشم گیری کرد، صنعت برنامه نویسی موبایل بود. امروزه توسعه دهندگان زیادی به دلیل در دسترس بودن موبایل‌ها علاقه مند شده‌اند تا نسخه های اپلیکیشنی وبسایت‌های خود را در اختیار عموم قرار دهند. این کار علاوه بر توسعه اپلیکیشن نویسی، سودآوری زیادی برای توسعه دهندگان این برنامه ها داشته است. به همین منظور ما در این مقاله قصد داریم تا با بهترین زبان های برنامه نویسی موبایل بیشتر آشنا شویم. پس با ما همراه باشید.برنامه نویسی موبایلاگر نگاه گذرایی به سیستم عامل‌های گوشی‌های موبایل که هم اکنون در دسترس افراد هستند بیاندازیم، متوجه خواهیم شد که دو سیستم عامل اندروید و ios، پرکاربردترین و محبوب‌ترین آن‌ها هستند. به همین دلیل افرادی که در حوزه برنامه نویسی موبایل فعالیت دارند، ترجیح می‌دهند برنامه‌هایی برای این دو سیستم عامل تهیه کنند.زبان‌های برنامه نویسی موبایلی که در ادامه معرفی می‌کنیم، ویژگی‌هایی دارند که باعث می‌شود در بازار اپلیکیشن نویسی محبوبیت بالایی کسب کنند. از این رو، در ادامه به معرفی مهم‌ترین و بهترین زبان های برنامه نویسی موبایل که پرکاربرد هستند می‌پردازیم.برنامه نویسی اندرویدبه کمک این زبان‌ها می‌توان برنامه‌هایی نوشت که صرفا بر روی سیستم عامل اندروید قابل استفاده هستند. مزیت زبان‌های برنامه نویسی اندوریدی این است که دست شما را برای اپلیکیشن نویسی خیلی باز می‌گذارند.زبان Javaیکی از بهترین و قدیمی‌ترین زبان‌های برنامه نویسی موبایل برای سیستم عامل‌های اندروید، جاوا است. این زبان برنامه نویسی که در سال 1995 تولید شد از پشتیبانی گوگل برخوردار بوده و سال‌هاست که توسط برنامه نویسان مورد استفاده قرار می‌گیرد و هم اکنون نیز برنامه‌های زیادی هستند که توسط این زبان نوشته شده‌اند. برای استفاده از این زبان، باید برنامه نویسی را در محیط اندروید استودیو انجام داد.زبان Kotlinاین زبان اپلیکیشن نویسی در مقایسه با جاوا عمر کوتاه‌تری دارد. اما برای افرادی که قصد شروع برنامه نویسی را دارند، مناسب‌تر است. البته باید اشاره کرد که زبان برنامه نویسی Kotlin با جاوا سازگاری مناسبی داشته و یادگیری آن نیز آسان‌تر است. البته جامعه آماری که از این زبان برای برنامه نویسی استفاده می‌کنند بسیار کوچک است. همین امر باعث شده است که در صورت برخورد با یک مشکل، سخت‌تر بتوانید به پاسخ برسید.برنامه نویسی موبایل برای سیستم عامل iosبه کمک این زبان‌ های برنامه نویسی موبایل نیز تنها می‌توانید اپلیکیشن‌هایی طراحی کنید که صرفا بر روی سیستم عامل ios قابل اجرا هستند. البته باید اشاره کرد که به دلیل محدود بودن زبان های برنامه نویسی ios، نیاز به تحقیق و تفحص زیادی برای اینکه چه نوع زبانی را انتخاب کنید ندارید!زبان Objective-Cنوعی زبان برنامه نویسی است که خود شرکت اپل برای توسعه اپلیکیشن‌های خود از آن استفاده می‌کند. زبان برنامه نویسی Objective-C نیز مانند زبان های C# و C++ مبتنی بر زبان C است. پس افرادی که با زبان C آشنایی دارند در استفاده از این زبان بسیار راحت خواهند بود. البته یک نکته اساسی که این میان وجود دارد، این است که شرکت اپل چند سالی است که زبان برنامه نویسی swift را به عنوان زبان برنامه نویسی موبایل برای اپلیکیشن‌های خودش معرفی کرده است.همین امر باعث شده که این زبان به عنوان بهترین زبان برنامه نویسی برای سیستم عامل ios انتخاب شود. با اینکه هنوز زبان Objective-C به صورت کامل از بین نرفته است اما دیگر یادگیری آن به درد اپلیکیشن نویسی نخواهد خورد.زبان swiftدر سال 2014 بود که شرکت اپل این زبان را به عنوان زبان اصلی برنامه نویسی اپلیکیشن‌های خودش معرفی نمود. در مقایسه با زبان برنامه نویسی Objective-C، این زبان دارای برتری بیشتری است. از مهمترین مزایای آن هم می‌توان به یادگیری آسان‌تر آن اشاره کرد. اگر قصد دارید که برای دیوایس‌هایی مانند iPhone و یا iPad برنامه نویسی کنید، باید از زبان swift شروع کنید. امروزه شرکت‌های بزرگی مانند فایرفاکس نیز از همین زبان برای توسعه برنامه‌های خود که تحت نرم افزار ios هستند، استفاده می‌کند.اپلیکیشن نویسیبا توجه به گسترش روزافزون استفاده از گوشی‌های هوشمند، بازار برنامه نویسی موبایل و اپلیکیشن نویسی داغ‌تر از همیشه شده است. البته توسعه دهندگان این نکته را می‌دانند که دو سیستم عامل اندروید و ios به عنوان پرکاربردترین سیستم عامل‌ها بوده و باید برنامه‌های خود را تحت این سیستم عامل‌ها تولید کنند. در این مقاله سعی کردیم شما را با بهترین زبان های برنامه نویسی موبایل، هم تحت سیستم عامل اندروید و هم ios، آشنا کرده و تا حدودی هم با مزایا و معایب هر کدام از آن ها آشنا کنیم.این که شما از کدام یک از این زبان های برنامه نویسی برای تولید اپلیکیشن و یا بازی استفاده کنید، کاملا به خودتان بستگی خواهد داشت. اینکه با کدام یک از زبان‌‌های برنامه نویسی موبایل آشنایی دارید؟ آیا به تازگی قصد ورود به اپلیکیشن نویسی را پیدا کرده اید یا در این حوزه دارای تجربه هستید؟ و …برای آموزش آنلاین برنامه نویسی اینجا کلیک کنید</description>
                <category>Hossein Ashrafipoor</category>
                <author>Hossein Ashrafipoor</author>
                <pubDate>Sun, 23 May 2021 13:42:22 +0430</pubDate>
            </item>
            </channel>
</rss>