<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های سینا احسانی</title>
        <link>https://virgool.io/feed/@masihbusiness1599</link>
        <description>sabzlearn.ir</description>
        <language>fa</language>
        <pubDate>2026-07-06 10:03:49</pubDate>
        <image>
            <url>https://static.virgool.io/images/default-avatar.jpg</url>
            <title>سینا احسانی</title>
            <link>https://virgool.io/@masihbusiness1599</link>
        </image>

                    <item>
                <title>معرفی انواع مودم های خانگی وای فای | کدام بهترین گزینه است؟</title>
                <link>https://virgool.io/@masihbusiness1599/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D8%A7%D9%86%D9%88%D8%A7%D8%B9-%D9%85%D9%88%D8%AF%D9%85-%D9%87%D8%A7%DB%8C-%D8%AE%D8%A7%D9%86%DA%AF%DB%8C-%D9%88%D8%A7%DB%8C-%D9%81%D8%A7%DB%8C-%DA%A9%D8%AF%D8%A7%D9%85-%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%DA%AF%D8%B2%DB%8C%D9%86%D9%87-%D8%A7%D8%B3%D8%AA-kiip181icjo0</link>
                <description>اگر به اطراف خود نگاه کنید، به راحتی می‌توانید وابستگی همه افراد به اینترنت را مشاهده کنید. در دنیای مدرن، همه چیز به شبکه جهانی اطلاعات، یعنی اینترنت، منسوخ می‌شود. به همین دلیل، لازم است که به‌طور دوره‌ای، هفتگی یا ماهانه، بسته‌های اینترنتی را از طریق سرویس‌دهندگان تلفن همراه تهیه کنید. با این وجود، هزینه‌های مرتبط با این خدمات بسیار بالا هستند و گاهی از حد تصور شما فراتر می‌روند. علاوه بر این، ممکن است به طور غیرمنتظره با قطعی اینترنت یا پایان بسته مواجه شوید. اما امروزه، برای حل این مشکلات، مودم‌های وای فای مختلفی وجود دارند که به شما امکان اتصال آسان به اینترنت را با کاهش هزینه‌ها می‌دهند.معرفی انواع مودم وای فای خانگیاگر تمایل دارید با انواع مودم‌های خانگی بیشتر آشنا شوید، این مقاله برای شما مناسب است. در این نوشته، قصد داریم به طور جامع درباره انواع مودم‌های خانگی صحبت کنیم و اطلاعات مفیدی را با شما به اشتراک بگذاریم.مودم های با سیم و بی سیم خانگیمودم‌های با سیم و بی‌سیم اغلب دارای پورت‌های LAN و USB هستند که اتصالات سیمی را امکان‌پذیر می‌سازند. با دقت به دستگاه مودم، می‌توانید این پورت‌ها را مشاهده کنید. برخی از مودم‌ها تنها دارای یک نوع پورت ممکن است. مودم‌هایی که تنها دارای پورت‌های LAN یا USB هستند عمدتاً برای اتصال به یک دستگاه طراحی شده‌اند و به احتمال زیاد برای اتصال به وای‌فای مناسب نیستند.اما موردی که در این مقاله مورد بحث قرار گرفته است، مربوط به انواع مودم‌های وای‌فای می‌باشد. این مودم‌ها امکان اتصال همزمان چندین دستگاه به اینترنت را فراهم می‌کنند. بزرگترین مزیت این دستگاه‌ها عدم محدودیت‌هایی است که دارند. با این حال، باید به یاد داشته باشید که همیشه افرادی وجود دارند که سعی می‌کنند به شبکه‌های وای‌فای نفوذ کنند، بنابراین حفظ رمز عبور وای‌فای خود را به دقت انجام دهید. در آینده، بیشتر در مورد امنیت مودم و جلوگیری از نفوذ به آن صحبت خواهیم کرد.مودم ADSL خانگیدر گذشته، اینترنت به همه دستگاه‌ها متصل نمی‌شد؛ اما امروزه با وجود مودم‌های VDSL و ADSL خانگی، این مشکل حل شده است. این مودم‌ها با سرعت بالا و بدون قطعی و نویز، تجربه اینترنت را به کاربران ارائه می‌دهند.مودم روتر سیم کارتیاین مدل از مودم‌ها سیم کارت را درون خود جای می‌دهد و اینترنت را از طریق گوشی مانند یک سیم کارت ارائه می‌دهد. این مودم‌ها از فناوری‌های نوینی مانند 4G یا LTE پشتیبانی کرده و برخی از آنها از طریق پورت USB به دستگاه‌های مختلف متصل می‌شوند.مودم TD-LTEمودم TD-LTE نوع دیگری از مودم‌های وای‌فای است که اخیراً به کاربران ارائه می‌شود. این مودم‌ها از فناوری TD-LTE استفاده می‌کنند و اینترنت را به صورت وایرلس ارائه می‌دهند. با سرعت انتقال داده بیشتر نسبت به وایمکس، این مودم‌ها انتخابی مناسب برای افرادی هستند که به دنبال سرعت بالا هستند.مودم 5Gمودم‌های 5G به شما این امکان را می‌دهند که سرعت بالاترین دانلود و آپلود را با استفاده از اینترنت 5G تجربه کنید. این مودم‌ها اساسی هستند تا به اینترنت پرسرعت 5G دسترسی یابید.مودم VDSLمودم‌های VDSL با سرعت دانلود تا 100 مگابیت بر ثانیه و سرعت آپلود تا 30 مگابیت بر ثانیه، انتخابی مطلوب برای افرادی هستند که به دنبال سرعت بیشتر در ارتباطات خود هستند.مودم وایمکسمودم‌های وایمکس با سرعت دانلود و آپلود 600 مگابیت بر ثانیه، به دلیل سرعت بالا، محبوبیت زیادی دارند و فضای گسترده‌تری را پوشش می‌دهند.مودم فیبر نوری (ONU)این نوع از مودم‌ها در شبکه‌های فیبرنوری FTTH به‌کار می‌رود و پهنای باند بیشتری را ارائه می‌دهد. از فیبر نوری برای ارتباط با شبکه مخابراتی استفاده می‌کند و از سرعت انتقال بالایی برخوردار است.هرکدام از این انواع مودم خانگی مزایا و محدودیت‌های خود را دارند، بنابراین برای انتخاب بهترین مودم برای نیازهای خود، توجه به ویژگی‌ها و نیازهای شما حائز اهمیت است.بهترین برندهای تولید کننده انواع مودم موجود در بازاردر بین انواع برندهای تولید کننده انواع مودم های وای فای، به عنوان برترین و معتبرترین گزینه ها میتوانیم به برندهای زیر اشاره کنیم:Soltek TP-LINK D-LINK Netgear Huawei  📷 منبع: https://sumico.ir/%D8%A7%D9%86%D9%88%D8%A7%D8%B9-%D9%85%D9%88%D8%AF%D9%85-%D9%88%D8%A7%DB%8C-%D9%81%D8%A7%DB%8C/ </description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Wed, 17 Jan 2024 00:01:16 +0330</pubDate>
            </item>
                    <item>
                <title>معرفی بهترین کارگاه‌ های تولید کننده بلور ایران</title>
                <link>https://virgool.io/@masihbusiness1599/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%DA%A9%D8%A7%D8%B1%DA%AF%D8%A7%D9%87-%D9%87%D8%A7%DB%8C-%D8%AA%D9%88%D9%84%DB%8C%D8%AF-%DA%A9%D9%86%D9%86%D8%AF%D9%87-%D8%A8%D9%84%D9%88%D8%B1-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86-wjimvqse8rfs</link>
                <description>بلور را می‌توان نوعی شیشه معرفی کرد که در ساخت آن از اکسید سرب استفاده نمی‌شود. حتی در صورت استفاده از اکسید سرب، مقدار آن کمتر از 24 درصد است. این نوع شیشه در دمای کمتری نسبت به کریستال ساخته می‌شود و کوره بسته به نوع ظرف مورد نظر، دمای بین 300 تا 400 درجه سانتی‌گراد دارد. از نظر درخشندگی و وزن، بلور شفافیت کمتری نسبت به کریستال دارد و از آن سبک‌تر است. در مقابل، به دلیل عدم برخورداری از سرب، بلور قابلیت استفاده و پذیرایی را دارد.برای خرید ظروف بلور باکیفیت میتوانید به این صفحه مراجعه کنید.تنوع بالای محصولاتیک کارگاه بلورسازی برای شناخته شدن به عنوان بهترین مارک ظروف شیشه‌ای، این مجموعه باید تنوع بالایی برای محصولات خود داشته باشد. تنوع بالای محصولات باعث می‌شود تا مشتری دست بازی برای خرید بلور دلخواه خود داشته باشد. همچنین به دلیل برخورداری از تنوع بالا، انواع سلیقه‌ها هم به خرید از محصولات این مجموعه جذب خواهند شد.کیفیت ساخت بالابرای شناخته شدن به عنوان بهترین مارک بلور ایران، یک مجموعه باید محصولات بلوری و شیشه‌ای خود را با کیفیت ساخت بالایی به دست مشتریان برساند. برای این منظور، نیاز است افراد حرفه‌ای در زمینه ساخت این شیشه‌ها فعالیت داشته باشند و از کوره‌ها و ابزارهای به‌روزی برای ساخت ظروف استفاده شود.ایجاد شفافیت مناسب در ظرفمحصولات یک شرکت بلور و شیشه‌ای، باید از شفافیت بالایی برخوردار باشند. درست است که مقدار شفافیت بلور به مراتب از کریستال کمتر است، اما همچنان ظروفی که با این متریال ساخته می‌شوند، باید از میزان شفافیت مناسبی برخوردار باشند و در آن‌ها هیچ‌گونه ماتی یا دفرمگی دیده نشود.استفاده از متریال باکیفیتبرای اینکه یک مجموعه به عنوان بهترین مارک بلور ایران شناخته شود، باید از متریال عالی برای ساخت محصولات خود استفاده کند. زمانی که از متریال بی‌کیفیت برای ساخت بلور استفاده شود، محصول نهایی از جلوه مناسبی برخوردار نخواهد بود.باسابقه ترین کارگاه های تولید بلور فعال در ایراندر حال حاضر، برندهای مختلفی در ایران وجود دارند که انواع بلور و ظروف شیشه‌ای را تولید و به بازار عرضه می‌کنند. در عین حال، برخی از این برندها در لیست صادرکننده‌های این ظروف هم قرار دارند و محصولات آن‌ها به کشورهای همسایه ارسال می‌شوند.از جمله بهترین مارک‌های تولیدکننده انواع بلور در ایران می‌توان به برندهای زیر اشاره کرد:· شرکت بلور و شیشه اصفهان· کارخانه بلور کاوه· شرکت شیشه یزد· مجموعه بلور و شیشه تابان· کارخانه بلورسازی نوری تازه· مجموعه بلور لرستان· شرکت گمین قزوین· مجموعه علی بابا بختیاریمنبع:https://bakhtiariglass.com/%d8%a8%d9%87%d8%aa%d8%b1%db%8c%d9%86-%d9%85%d8%a7%d8%b1%da%a9-%d8%a8%d9%84%d9%88%d8%b1-%d8%a7%db%8c%d8%b1%d8%a7%d9%86/</description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Thu, 02 Mar 2023 02:38:25 +0330</pubDate>
            </item>
                    <item>
                <title>معرفی بهترین ادیتورهای جاوا اسکریپت 2023</title>
                <link>https://virgool.io/@masihbusiness1599/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%D8%A7%D8%AF%DB%8C%D8%AA%D9%88%D8%B1%D9%87%D8%A7%DB%8C-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-2023-kqsc9vaaea9k</link>
                <description>با توجه به اینکه جاوا اسکریپت بسیار مهم است، باید به ابزارهایی که هنگام کار با آن انتخاب می کنید نیز توجه ویژه ای داشته باشید. در حالی که هیچ چیز مانع از کار کردن فقط بر روی Notepad نیست، مطمئناً می توانید تجربه خود را بهبود ببخشید و با انتخاب بهترین ادیتور های جاوا اسکریپت، بهره وری خود را به حداکثر برسانید.این پست را ایجاد کردیم تا بتوانیم برای انتخاب بهترین ادیتورهای جاوا اسکریپت به شما کمک کنیم. ما شما را در فهرست هفت ویرایشگر جاوا اسکریپت راهنمایی خواهیم کرد. برای هر مورد، توضیح مختصری می دهیم و در مورد مزایا و معایب آن صحبت می کنیم. ATOMقبل از اینکه مستقیماً به ویژگی‌های اتم بپردازیم، اجازه دهید ابتدا بفهمیم که الکترون چیست. Electron چارچوبی برای ساخت برنامه های چند پلتفرمی برای دسکتاپ با جاوا اسکریپت است. به طور خلاصه، الکترون پایه اتم است.Atom یکی از پیشروترین ویرایشگرهای مبتنی بر پایه کد منبع برای جاوا اسکریپت است. Atom رایگان است! این ویرایشگر برای چندین سیستم عامل مانند مک، ویندوز و لینوکس در دسترس می باشد. نصب این ویرایشگر منبع باز نیز بسیار آسان است. ویژگی های دیگر شامل تکمیل هوشمند کد و مرورگر سیستم فایل نیز در آن وجود دارد.Atom به راحتی با GitHub و Git ادغام می شود. این ویرایشگر از افزونه های نوشته شده در Node.js نیز پشتیبانی می کند. HTML، CSS و JS برخی از زبان‌هایی هستند که رابط از آنها نیز پشتیبانی می‌کند. علاوه بر این، Atom دارای یک ویژگی به نام fuzzy finder است. fuzzy finder با فعال کردن جابجایی فوری فایل‌ها باعث می‌شود کار خود را سریعتر انجام دهید. همچنین شما می توانید توانایی Atom را با افزودن بسته هایی مانند Minimap افزایش دهید.beautifierjs از این ادیتور برای سازمان دهی و زیباسازی کدهای جاوا اسکریپت استفاده میشود. این ابزار به شما کمک میکند تا بتوانید در سریع ترین زمان به راحتی کدهای مختلف خودتان را منظم کنید. استفاده از این ابزار رایگان است و همچنین رابط کاربری ساده ای دارد. در نتیجه هنگام استفاده از آن با سردرگمی و پیچیدگی مواجه نخواهید شد. شما میتوانید کدهای خود را داخل این ادیتور قرار دهید و از تمام امکانات آن در زمینه سازمان دهی و زیبا‌ کردن کدها بهره مند شوید.BracketsAdobe خالق ویرایشگر کد منبع باز Brackets است. این ویرایشگر جاوا اسکریپت سبک و سریع می باشد، در عین حال پشتیبانی داخلی از جاوا اسکریپت را ارائه می دهد. Brackets برای Mac، Windows و Linux در دسترس است. یافتن عملکرد و تعویض سریع پروژه از ویژگی های قابل توجهی است که ارائه می دهد. با کمک این ویژگی ها، کاربران می توانند فایل های مختلف پروژه را در حین تایپ بلادرنگ جستجو کنند. این یک ویرایشگر متن باز است که توسط Jon Skinner و Will Bond ساخته شده است. Sublime Text به عنوان ابزاری کراس پلتفرم منتشر شد که با زبان‌های سی پلاس پلاس و پایتون نوشته شده بود. آخرین نسخه آن، این ابزار را به عنوان یک شبه IDE با درجه بالایی از سفارشی سازی تبدیل می‌کند.سرعت قابل توجه، رابط کاربری منظم و بهبود مدیریت صفحه از ویژگی‌های قابل توجه آن است. علاوه بر این می‌توانید از افزونه Babel (برجسته سازی سینتکسی برای کد ReactJS و ES6)، DocBlockr ،JSFormat ،SideBar ، SublimeLinter و SideBar Enhanctions استفاده کنید.</description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Wed, 18 Jan 2023 04:33:39 +0330</pubDate>
            </item>
                    <item>
                <title>بهترین سایت های فریلنسری خارجی کدامند؟</title>
                <link>https://virgool.io/@masihbusiness1599/%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%D8%B3%D8%A7%DB%8C%D8%AA-%D9%87%D8%A7%DB%8C-%D9%81%D8%B1%DB%8C%D9%84%D9%86%D8%B3%D8%B1%DB%8C-%D8%AE%D8%A7%D8%B1%D8%AC%DB%8C-%DA%A9%D8%AF%D8%A7%D9%85%D9%86%D8%AF-cxir7mzjgptz</link>
                <description>در حال حاضر با وجود وب سایت های فریلنسری، به راحتی می توانید بسته به تخصص خود پروژه های مختلفی را از کارفرمایان دریافت کرده و از این طریق به کسب درآمد بپردازید. اگرچه وب سایت های فریلنسری داخلی نیز وجود دارند که با استفاده از آنها می توانید پروژه دریافت کنید؛ اما اگر از وبسایت های فریلنسری خارجی پروژه دریافت کنید، می توانید درآمد دلاری داشته باشید. در این مطلب قصد داریم بهترین سایت های فریلنسری خارجی را به شما معرفی کنیم تا به واسطه آنها بتوانید درآمد دلاری داشته باشید.سایت های فریلنسری خارجی چطور کار می‌ کنند؟قبل از اینکه درباره‌ی نحوه‌ی کار سایت‌های فریلنسری خارجی و ایرانی صحبت کنیم، بد نیست توضیحی درباره فریلنسینگ بدهیم. در واقع فریلنس به کسی گفته می‌شود که کار یا پروژه‌ای را به صورت کوتاه مدت برای یک شرکت یا ارگانی خاص تقبل کرده و انجام می‌دهد و در ازای انجام آن دستمزدی را دریافت می‌کند. در واقع فریلنس قراردادی برای کار بلندمدت با هیچ شرکتی ندارد و قرارداد کاری خود را برای هر پروژه کوتاه مدت تنظیم می‌کند. بنابراین فریلنسینگ یعنی آزادی عمل در فضای خانه و خارج از محیط کاری بدون پایبندی به چارچوب‌های سازمانی. یک فریلنسر انعطاف‌پذیری زیادی در کار دارد و می‌تواند در هر کجا و هر زمانی که بخواهد کار خود را انجام دهد. حال نقش سایت فریلنسری خارجی و ایرانی چیست؟این سایت‌ها به فریلنسر کمک می‌کنند تا پروژه‌های مطابق با مهارت‌های خود پیدا کرده و انجام دهد. یک سایت فریلنسری مجموعه‌ای از کارفرماها و فریلنسرهاست که در آن به دنبال همکار مناسب هستند. معمولا سایت‌ های فریلنسری فریلنسرها را به پروژه‌های مرتبط کارفرماها لینک می‌دهند و در ازای هر پروژه‌ای که در سایت انجام شود، پورسانتی چند درصدی از هر دو طرف قرارداد اخذ می‌کنند. پیدا کردن بهترین سایت های فریلنسری خارجی برای ایرانیان فرصت‌های شغلی پردرآمدی فراهم می‌کنند و می‌تواند دستمزدهای خوبی برای کار خود بگیرند. در ادامه‌ی این مقاله به بررسی بهترین سایت های فریلنسینگ خارجی می‌پردازیم.چه مشاغلی در سایت های فریلنسری بیشترین تقاضا را دارند؟همان‌طور که گفتیم در دنیای امروز نیاز نیست که شما حتما برای کار کردن در محیط کاری حضور داشته باشید. کافی است یک مهارت را یاد بگیرید تا بتوانید از طریق بهترین سایت های فریلنسری برای خودتان پروژه‌های مختلف گرفته و به کسب درآمد از فریلنسری بپردازید. اگر هنوز مسیر حرفه‌ای و شغلی خود را انتخاب نکرده‌اید و دنبال راهی برای رسیدن به درآمد‌های بالا از فریلنسینگ هستید، بد نیست به لیست زیر نگاهی بیندازید. در این لیست ما به شما پرتقاضاترین تخصص‌ها در سایت‌ های فریلنسینگ خارجی برای ایرانیان را عنوان کرده‌ایم.حسابداریمشاورهطراحی گرافیکعکاسیبرنامه نویسی وبطراحی سایتسئونویسندگی و تولید محتوابنابراین یک ایرانی که در حوزه‌های بالا نظیر طراحی گرافیک یا برنامه نویسی وب فعالیت دارد، می‌تواند با کار در سایت های خارجی به درآمد بالایی برسد. در مقاله درآمد برنامه نویسی وب شما می‌توانید درآمد یک طراح وب در ایران را با یک طراح وب در خارج از کشور مقایسه کنید.بهترین سایت های فریلنسری خارجی چیست؟سایت های فریلنسری خارجی سایت هایی هستند که هم جویندگان کار و هم کارفرمایان پیشنهادات خود را در آن منتشر می کنند. فریلنسر بودن راهی عالی برای استفاده از تخصص خود برای کسب درآمد آنلاین است. در واقع کسب درآمد از سایت فریلنسری خارجی یکی از بهترین راه‌های کسب درآمد از فریلنسری است. علاوه بر اینکه درآمد شما به صورت دلار خواهد بود، شما این اختیار را دارید که فقط برای پروژه هایی که دوست دارید یا در آنها مهارت دارید ، اقدام کنید. نیازی به گفتن نیست احتمالا می دانید، استفاده از سایت های فریلنسری خارجی به شما کمک می کند تا کار خود را سریعا شروع کنید و کسب درآمد کنید. سایت فریلنسری خارجی به شما کمک می کنند تا به راحتی اولین متقاضیان را پیدا کنید و سریعا به کسب درآمد از تخصص خود بپردازید. علاوه بر این، شما دائماً با قبول پروژه های مختلف از کارفرمایان مختلف، مهارت های خود را بهبود می بخشید. در نهایت، به لطف فریلنسری در سایت های خارجی نمونه کارهای شما رشد می کند و پیشنهادات شغلی بیشتری برای شما وجود دارد.17مورد از بهترین سایت های خارجی برای کاردر اینجا 17 تا از بهترین سایت های خارجی برای کار را به شما معرفی کرده‌ایم تا شما بتوانید به کسب درآمد از سایت فریلنسری خارجی بپردازید.fiverr?یکی از سایت های خارجی برای فریلنسر است که کاربران به عنوان یک فریلنسر می توانند پروژه های آماده را به مردم نمایش دهند. بنابراین مشتریان می توانند به راحتی شخصی را انتخاب کنند که به آن علاقه دارند. شما می‌توانید در این سایت در زمینه‌های طراحی وب، بازاریابی دیجیتال، تولید محتوا، ادیت فیلم و عکس و… فعالیت کنید. علاوه بر این ، Fiverr  دوره های آموزشی رایگان را به شما ارائه می دهد تا مهارت های خود را توسعه دهید و به شما یاد دهد چگونه مشتریان خود را افزایش دهید. همچنین در fiverr شما یاد می‌گیرید که چطور یک پورتفولیوی خوب برای خودتان بسازید.در fiverr امکان جستجوی پیشرفته برای کاربران و فریلنسرها فراهم شده تا بتوانند با کلمات کلیدی مختلفی جستجوی خود را انجام دهند و پروژ‌ه‌های مناسب را برای خودشان پیدا کنند. معمولا نقطه‌ی شروع قیمت پروژه‌های فریلنسرها در این سایت فریلنسری 5 دلار است. یک کارفرما می‌تواند در این سایت به بیش از هزاران فریلنسر حرفه‌ای دسترسی داشته باشد که ایده‌های خلاقانه و نو دارند. شاید ورود به fiverr برای افراد مبتدی و آغاز کار کمی سخت باشد؛ ولی به مرور می‌توانید برای خودتان شهرت کافی به دست آورده و مشتری جمع کنید. متاسفانه این سایت برای آی پی ایران بسته شده و شما برای ورود به سایت نیاز به vpn دارید. بهتر است از یک vpn با آی پی ثابت استفاده کنید.مزایای fiverr:دسته بندی متنوع کارها و پروژه‌هاثبت نام رایگان در سایتدوره‌های آنلاین برای فریلنسرهامعایب fiverr:هزینه‌های کمیسیون بالاروند پرداخت طولانیupworkUpwork  می تواند یکی از بزرگ‌ترین و بهترین سایت های فریلنسری خارجی برای یافتن شغل باشد ، فارغ از اینکه چه نوع فریلنسری باشید. کسانی که در زمینه توسعه وب ، طراحی گرافیک ، پشتیبانی از مشتری و حتی نوشتن مستقل فعالیت دارند، متوجه خواهند شد که Upwork چیزهای زیادی برای ارائه دارد. آگهی های استخدام دائماً به روز می شود و این یک نکته مثبت در مورد این سایت است. از مشاغل کوچک گرفته تا شرکت های بزرگ ، انواع مختلفی از شرکت ها به دنبال استخدام وبلاگ نویسان ، طراحان فریلنسر و نویسندگان فریلنسر از طریق Upwork هستند.این فریلنسری در سال 2003 تاسیس شد و در حال حاضر بیش از 12 میلیون فریلنسر در آن مشغول به کار هستند. جستجوی پیشرفته این سایت شما را در پیدا کردن سریع پروژه‌های مرتبط با کارتان کمک می‌کند و با استفاده از پرداخت امن سایت، شما دغدغه‌ای  بابت ارتباط با کارفرما و دریافت پولتان نخواهید داشت. متاسفانه این سایت نیز برای آی پی ایران بسته شده؛ اگرچه می‌توانید با یک vpn  و آی پی ثابت این مشکل را برطرف کنید.مزایای آپ ورک:حفاظت از پرداخت‌هامشتریان معتبرپروژه‌های مبتنی بر بودجهمعایب آپ ورک:فرآیند انتخاب طولانیهزینه‌ی بالای خدماتDesignhillDesignhill  یکی دیگر از سایت های خارجی برای فریلنسر است که چندین روش برای معرفی فریلنسر به کارفرمایانی که به دنبال طراحان فریلنسر هستند ارائه می دهد. آنها می توانند خدمات شما را از طریق یک باکس جستجو در بالای صفحه این سایت جستجو کنند. اگر کسی هستید که در مورد کار پیدا کردن در سایت های فریلنسر غر می زند و نگران حقوق خود هستید ، ما شما را درک می کنیم.اما همه آگهی های طراحی کلاهبرداری نیستند و Designhill نشان می دهد که آنها می توانند یک کار قانونی باشند و بدون مشکل حقوق شما را بدهند. Designhill می تواند چیزهای زیادی را ارائه دهد ، چه شما یک طراح گرافیک باشید ، چه یک طراح وب و یا انواع دیگر طراحان باشید. علاوه بر این ، Designhill با ایجاد فرصتی برای طراحی تی شرت های خود ، چاپ آنها و فروش در فروشگاه آنلاین خود ، از سازندگان خود حمایت می کند. Designhill چون از کلاد آمازون استفاده می‌کند برای ایرانیان بسته است و برای ورود به آن نیاز به وی پی ان دارید.مزایای Designhillساخته شده در فروشگاه آنلاینبدون هزینه‌ی خدماتپشتیبانی از چت زندهمعایب Designhillانتخابی خوبی برای افراد غیرطراح استToptalToptal خود را به عنوان مکانی برای یافتن 3٪ استعدادهای برتر فریلنسر معرفی می کند. روند غربالگری آنها بسیار دقیق است به طوری که از هزاران اگهی که هر ماه دریافت می کنند ، آنها فقط تعداد کمی را می پذیرند. این کار آنها را از بسیاری دیگر از وب سایت های مستقل متمایز می کند. اگر شما هم مهارت خوبی در زمینه‌ی توسعه‌ی نرم افزار و وب، طراحی یا امور مالی دارید، می‌توانید بخشی از این شبکه‌ی گسترده باشید.برای عضویت در Toptal  شما باید در آزمون‌های مهارت سنجی سایت شرکت کرده و کلیه‌ی الزامات عضو شدن را تامین کنید. اگر کسی بتواند به عضویت تاپتال به عنوان یکی از بهترین سایت های فریلنسری خارجی درآید، می‌تواند با شرکت‌ها و افراد مهمی همکاری کند. این سایت یک مکان عالی برای کسب و کارهایی است که به دنبال استعدادهای خوب برای برون سپاری پروژه‌های خود هستند. سایت Toptal  برای ایران باز است، ولی بهتر است با آی پی غیرایرانی در آن فعالیت کنید تا مشکلی در آینده برایتان ایجاد نشود.مزایای Toptal  :حضور شرکت‌ها بزرگ و برتر در این مجموعهصورتحساب و پرداخت آزادمعایب Toptal  :فرآیند غربالگری زمان‌بر و سنگینپروژه‌های سنگینLinkedIn and LinkedIn ProFinderرشته شما هرچه باشد ، به خصوص اگر یکم کمی خلاق باشید ، باید حساب LinkedIn داشته باشید. شما می توانید برای هر طرحی که ساخته اید نمونه هایی از کار خود را ارسال کنید ، و آن را به رزومه تبدیل کنید. و با توانایی جستجوی مهارت های خود در این سیستم عامل ، مجبور خواهید بود که مقداری ترافیک به حساب خود منتقل کرده و با افرادی که ممکن است به دنبال طراحی شما باشند ارتباط برقرار کنید. ویژگی هوشمند دیگری که LinkedIn منتشر کرده است LinkedIn ProFinder  است که به مشاغل کمک می کند افراد واجد شرایط را برای کار در آنها پیدا کنند. یک دلیل وجود دارد که لینکدین یکی از بهترین سایت های شغلی است: آنها همچنان آنچه را که متقاضیان کار به دنبال آن هستند ارائه می دهند. خوشبختانه ایرانیان به راحتی می‌توانند از لینکدین استفاده کنند و شرکت‌های ایرانی زیادی نیز در آن حضور دارند.مزایای لینکدین:فرصت‌های شغلی شبکه‌ایبه‌روزرسانی اخبارمقرون به صرفه بودنمعایب لینکدین:محتوای هرزنامه از کاربران مخربWe Work Remotelyسایت We Work Remotely گفته است که افتخار می کنیم که ماهانه حدود 2.5 میلیون کاربر وارد سایت می کنیم. این سایت فریلنسر برای ایرانی ها یک گزینه‌ی مناسب محسوب می‌شود؛ چرا که این حجم ورودی بسیار عظیم است. آنها آگهی های استخدام زیادی با پیشنهادات طراحی دارند. افراد یا شرکت هایی که به دنبال طراح هستند باید برای پیوستن به این سایت ، مبلغی معادل 299 دلار هزینه می کنند، که به عنوان یک پروسه غربالگری عمل می کند. و پیشنهادات کاری بسیار بی کیفیت را از بین می برد. اگر به دنبال شغل پاره وقت یا شغل تمام وقت باشید تا بتواند برای شما درآمد ایجاد کند ،مطمعن باشید We Work Remotely مشاغل فریلنسری و متناسب با مهارت های شما دارد. سایت We Work Remotely برای آی پی ایران باز است و می‌توانید در آن فعالیت کنید.مزایای We Work Remotelyبیش از 100 فرصت شغلی برنامه نویسی در هفتهبیش از 50 فرصت شغلی در زمینه‌های دیگررایگانمعایب We Work Remotelyرابط کاربری نامناسبویژگی‌های شغلی گیج‌کنندهپیدا کردن آخرین فرصت‌های شغلی گاهی سخت می‌شود.Behanceهنگام جستجوی طرح های خلاقانه ، بدون شک با سایت Behance روبرو شده اید. این شامل نمونه کارهای بسیار خوبی از جمله تصاویر ، انیمیشن ها ، طراحی وب و موارد دیگر. وقتی حساب کاربری Behance خود را با نمونه های حرفه ای خود پر می کنید ، کار شما به مخاطبان هم کار شما نمایش داده می شود. و اگر کار شما در پروژه ارائه شده جایگاه مطلوبی را کسب کند ، در معرض دید بیشتری قرار خواهید گرفت. Behanceهمچنین به عنوان یک شبکه اجتماعی برای ارتباط با طراحان دیگر فعالیت می کند. سایت بیهنس نیز برای ایرانیان باز است؛ با این حال بهتر است برای فعالیت در آن از آی پی ثابت غیرایرانی استفاده کنید.مزایای Behance:طیف گسترده‌ای از مخاطبانفرصت‌های شغلی شبکه‌ایمحتوای شخصیمعایب Behance:محیط رقابتیاندازه‌ی فایل محدود برای تصاویرSimply Hiredیکی از بهترین مشخصه‌های این سایت در مقایسه با سایر سایت های فریلنسری خارجی این است که می توانید در مشاغل محلی جستجو کنید و مشاغلی که به محل زندگی شما نزدیک هستند دسترسی پیدا کنید که به نوع خود روشی جالب است. همچنین لیستی از بهترین حقوق و ابزاری برای برآورد هزینه پروژه های شما وجود دارد. این ابزار برای بررسی یک کار خاص که می خواهید انجام دهید مفید است و می تواند در قیمت دهی پروژه شما کمک کوچکی بکند. همچنین شما می توانید رزومه ای از داخل این وب سایت برای خود بسازید و از بخش وبلاگ این سایت می توانید چیزهای زیادی یاد بگیرید و تخصص خود را ارتقا دهید. این سایت نیز برای ایرانیان بسته شده و باید از vpn برای ورود به آن استفاده کنید.مزایای Simply Hiredهشدارهای ایمیلراهنماهای کاربردیابزارهای شغلی رایگانمعایب Simply Hiredهرزنامه از سایت‌های سوم شخص غیرمطمئنPeoplePerHour?این وب سایت یکی از بهترین سایت های فریلنسری خارجی است که بیش از 1.5 میلیون فریلنسر دارد که از این خدمات استفاده کرده اند. هر کارمند دارای یک امتیاز است که به پیشرفت فریلنسر و تلاش برای بهتر شدن کمک می کند. شما همیشه باید کار خود را بهبود ببخشید و هزینه معقولی تعیین کنید تا احتمال انتخاب شما برای هر پروژه بیشتر شود. PeoplePerHour به پیدا کردن کار و پرداخت سریع معروف است و نام این سایت هم از همین ویژگی او گرفته شده است.نحوه‌ی فریلنسینگ در این سایت نیز کاملا شبیه به Fiverr است با این تفاوت که شما هیچ محدودیتی برای انتخاب مشتری و قرارداد ندارید. بنابراین با کمک این سایت می‌توانید مشتریان جدیدی به دست آورده و کار بیشتری انجام دهید. قابلیت پیگیری روند اجرای پروژه و گفتگوی راحت با فریلنسر یکی از دلایلی است که به شهرت و اعتبار این سایت افزوده است. این سایت برای ایرانیان بسته شده و باید از آی پی غیرایرانی برای ورود به آن استفاده کنید. بهتر است آی پی ثابت داشته باشید تا شناسایی نشوید.مزایای PeoplePerHourصورت‌حساب خودکارلیست‌های مبتنی بر مکانپرداخت امنمعایب PeoplePerHourپیشنهادات رایگان هر ماه به 15 عدد محدود استAquent?Aquent  به عنوان یک شرکت آگهی و استخدام جوایز و مقام های زیادی را از آن خود کرده است. Aquent  گفته بود که عمدتاً کسی را که بیش از 2 سال سابقه کار دارد ، می پذیرد و این مورد بسیار جالب است که فقط از متخصصان استفاده می کند. پس اگر واقعا فکر می کنید متخصص واقعی هستید می توانید از این سایت استفاده کنید و پروژه های خوبی را شروع و کسب درآمد کنید. اگر نمی دانید که دستمزد خود را برای پروژه ها چقدر و چگونه تعیین بکنید این وبسایت یک بخش راهنما دارد که می تواند به شما برای تعیین هزینه پروژه ها کمک بکند. آکونت برای ایرانیان باز است و می‌توانید در آن کار کنید.مزایای Aquentفضای کاری ایده‌آلزمان شناور برای تحویل پروژهارتباط مناسب با کمپانی‌ها و کارفرماهامعایب Aquentحقوق و دستمزد تعیین شده منطبق با بازار نیست.Crowdedکرودد یکی از بهترین سایت های فریلنسری خارجی است که کاربران را بر اساس قیمت ، تجربه و مهارت افراد درجه بندی می کند. سیستم این وبسایت بسیار جالب است و شما نیاز نیست برای هر پروژه درخواست دهید. فقط کافی است مراحل را یک بار طی کنید و منتظر تماس باقی کارفرما ها بمانید. یعنی خود کارفرما ها با شما تماس میگیرند و نیاز نیست شما به دنبال دریافت پروژه باشید. در این سایت فریلنسرها می‌توانند با کارکنان مستقل همکاری کنند. در این سایت تعداد بیشماری کارفرما و فریلنسر وجود دارند که می‌توانند بدون محدودیت برای فرصت‌های شغلی مختلف با هم همکاری کنند. فریلنسرها می‌توانند یکی از بزرگ‌ترین لیست‌های مشاغل مناسب برای خودشان را در یک جا ببینند و معمولا این جایگاه‌های شغلی سریعا پر می‌شوند.  سایت Crowded برای ایرانیان فعال است و شما می‌توانید در آن پروژه بگیرید؛ با این حال بهتر است از vpn آی پی ثابت استفاده کنید تا در آینده دچار مشکل نشوید.مزایای Crowdedخدمات مشتریان عالیمجموعه‌ای از شرکت‌های بزرگ و کوچکایجاد انجمن‌های گروهیمناسب برای افراد بدون توانایی کدنویسیمعایب Crowdedرابط کاربری هنوز هم می‌تواند بهتر و مجهزتر شود.The Creative GroupTCG ، یکی از سایت های فریلنسری خارجی است که به شما امکان می دهد موقعیت های شغلی را ببینید و جستجو کنید. هنگامی که فرصتی متناسب با علاقه شما ایجاد شد ، می توانید درخواست یک کار را بدهید و منتظر تماس کارفرما بمانید. این سایت بخشی از یک سازمان بزرگتر تحت عنوان The Creative Group است که هدفش ایجاد فرصت‌های شغلی برای افراد خلاق و باانگیزه در زمینه‌هایی نظیر طراحی و توسعه وب، هنر، بازاریابی، تولید محتوا، عکاسی و طراحی گرافیکی است. شما می‌توانید به راحتی با فیلترگذاری روی نتایج جستجوی سایت، موقعیت‌های شغلی با قرارداد دائم و استخدام را پیدا کرده و شغلی عالی و ثابت برای خودتان پیدا کنید. این سایت برای ایرانیان تحریم شده و برای استفاده از آن نیاز به آی پی غیرایرانی ثابت دارید.مزایای‌ The Creative Groupفرصت‌های شغلی بی‌شمارهمکاری با شرکت‌های معتبرمعایب The Creative Groupتعامل سخت با کارفرماپشتیبانی ضعیف99Designsاین وب سایت فریلنسری با هدف تمرکز بر مشاغل طراحی – همه چیز از لوگو گرفته تا جلد کتاب است. همچنین به مشتریان این امکان را می دهد تا مسابقه ای را شروع کنند که در آن همه از 99Designs  می توانند شرکت کنند. یکی از موارد ضروری برای کار در این سایت فریلنسری خارجی این است که شما باید قبل از هر چیز نمونه کارهای خود را داخل سایت بارگزاری کنید و یک پورتفولیوی قوی برای خود بسازید. به عنوان یک فروشنده، شما برای گرفتن پروژه‌ها پیشنهاد نخواهید داد؛ اما، در عوض باید کارهای خود را ارائه دهید تا کارفرماها با ایده‌های ذهنی شما آشنا شوند.کارفرمایان با مشاهده‌ی نمونه‌های موجود در سایت بهترین طرح‌ها را انتخاب می‌کنند و از فریلنسرها خریداری می‌کنند. اینکه زمان خود را صرف کاری می‌کنید که پرداخت آنی ندارد، شاید کمی برایتان دلسرد کننده باشد؛ ولی با یک پرزنت خوب می‌توانید مشتریان خوبی به دست آورید. سایت 99Designs نیز برای ایرانیان قابل دسترس است؛ ولی بهتر است از آی پی ایران برای آن استفاده نکنید.مزایای 99Designsمحیط اختصاصیپرداخت امنجامعه‌ی فعالمعایب 99Designsهزینه‌های بالای خدماتسطح طراحان می‌تواند محدود باشد.NexxtNexxt  از دیگر سایت های خارجی برای فریلنسر است که جستجوی شغل را براساس 4 معیار: تمرکز شغلی ، تمرکز محل زندگی ، تمرکز بر تنوع و تمرکز جهانی دسته بندی می کند. با استفاده از این دسته ها ، این وب سایت فریلنسری همچنین به شما امکان می دهد مشاغل مختلف و متناسب با مسیر شغلی خود را انتخاب و امتحان کنید. می‌توان گفت Nexxt یک پلتفرم عالی برای ایجاد ارتباط میان فریلنسرها و کسب و کارهای حرفه‌ای است. دو ویژگی این پلتفرم آن را از سایر وب سایت های فریلنسری خارجی متمایز می‌کند: جستجوی راحت مشاغل که به شما امکان می‌دهد به راحتی بر اساس مدارک تحصیلی و سوابق شغلی خود بهترین گزینه‌ها را پیدا کنید. و دیگری امکانات ارتباط سریع و آسان با کارفرما که روند ارزیابی و پیشرفت پروژه را تسهیل می‌کند. سایت Nexxt برای ایرانیان باز است و شما می‌توانید از فرصت‌های شغلی موجود در این سایت استفاده کنید.مزایای Nexxtامکان ارتباط راحت و سریع با کارفرما و کمپانی‌هاجستجوی راحت مشاغلمعایب Nexxtایمیل‌های اسپمهویت‌های جعلی زیادرابط کاربری ضعیفWriter Accessاگر می خواهید یک نویسنده فریلنسر شوید ، Writer Access  بهترین سایت فریلنسر برای ایرانی ها  در زمینه‌ی نویسندگی است. این شامل همه شغل های مربوط به نوشتن ، از جمله مقالات آنلاین، اسناد فنی و موارد دیگر است. این وب سایت به صورت فریلنسری ابزارهای بسیاری مانند تجزیه و تحلیل محتوا ، بهینه سازی کلمات کلیدی و برنامه ریزی محتوا را برای انجام کار موثرتر ارائه می دهد. می‌توان گفت Writer Access یکی از بهترین سایت های فریلنسری برای ایرانیان است که علاقمند به نوشتن هستند.در واقع این سایت یک انجمن بزرگ برای پیوند میان نویسندگان، سردبیران، استراتژیست‌های محتوا و کپی‌رایترهاست. برای کار در این سایت شما نیاز به تسلط بر نگارش انگلیسی دارید؛ چون اغلب محتواها به این زبان هستند. سایت Writer Access برای ایرانیان تحریم است و شما باید با یک آی پی ثابت غیرایرانی در آن فعالیت کنید.مزایای Writer Accessرایگان بودنراحتی استفادهکیفیت پشتیبانیمعایب Writer Accessزمانبندی نامناسب برای برخی پروژه‌هاتوافق بودجه سختTaskRabbitهمه مشاغل فریلنسری دیجیتال نیستند.TaskRabbit یکی از سایت های فریلنسری خارجی است که روی خانه تمرکز دارد. جابجایی و بسته بندی اثاثیه ، لوله کشی یا هر چیز دیگری – می توانید آن را در TaskRabbit بیابید. اما این مورد ممکن است در ایران به درد شما نخورد چون نمی توانید به صورت ریموت با کشورد های دیگر کار کنید. اما اگر ساکن خارج از ایران هستید این سایت یکی از بهترین ها است و می توانید شغل های زیادی را پیدا کنید.شما می‌توانید از این پلتفرم برای جستجوی انواع مشاغل از جمله مشاغل مربوط به خانه، خانه داری، تحویل مواد غذایی یا حتی دکوراسیون اقدام کنید و حتی مشتریانی را برای خدمات خود بیابید. از امتیازات این سایت می‌توان به ارتباطی امن و موثر میان کارگذار و کارکنان اشاره کرد. سایت TaskRabbit برای ایرانیان باز است؛ ولی در کشور ایران به خاطر محلی بودن خدماتشان کاربردی ندارد.مزایای TaskRabbitنرخ‌های سفارشی ساعتیبدون هزینه خدماتمعایب TaskRabbitفقط در مناطق خاصی موجود استSkywordیکی از راه‌های فریلنسری در سایت های خارجی عضویت در سایت اسکای ورد است. در اینجا می توانید بسیاری از افراد حرفه ای و متخصص را برای بازاریابی محتوا پیدا کنید. می توانید برای کار به عنوان یک استراتژیست محتوا، مدیر تحریریه و غیره ثبت نام کنید. بعلاوه ، این فقط به شرکتهای آمریکایی یا فقط انگلیسی خدمت نمی کند ، زیرا Skyword توسط مشتریان از 27 کشور با 13 زبان مختلف پشتیبانی می شود. اگر شما به زبانی به جز انگلیسی تسلط دارید و می‌توانید محتوای حرفه‌ای به آن زبان تولید کنید، این سایت مناسب شماست. مسلما فرصت‌های شغلی برای تولید محتوای غیرانگلیسی راحت‌تر به دست می‌آید، چرا که تقاضا برای گرفتن آن کمتر است. خوشبختانه اسکای ورد برای ایرانیان باز است و می‌توانید از آی پی ایرانی نیز از آن استفاده کنید.مزایای Skywordتیم پشتیبانی قویارتباطات راحت و سریعارزش مالی خوب پروژه‌هامعایب Skywordرابط کاربری گیج کنندهپاسخگویی زمان‌برفرصت‌های شغلی کمتر نسبت به سایر سایت‌هاFreelancerاین وب سایت مستقل با 32 میلیون کاربر ثبت شده بزرگترین بازار جذب سرمایه است. برای مطابقت با این تعداد ، هزاران شغل برای انتخاب به عنوان فریلنسر وجود دارد. شما می توانید به صورت رایگان و هر روز صدها درخواست برای پروژه های مختلف ارسال کنید. از طرف دیگر شما می‌توانید با شرکت در مسابقات مختلفی که در این سایت برگزار می‌شود، مهارت‌های خود را به نمایش بگذارید. در سایت فریلنسر بیش از یک میلیون پروژه قرار دارد و شما می‌توانید به راحتی فرصت‌های شغلی خوبی به دست آورید.می‌توان گفت سایت فریلنسر برای ایرانی ها یکی از بهترین سایت های فریلنسری خارجی برنامه نویسی وب است که توسعه دهندگان وب می‌توانند در آن پروژه‌های خوبی بگیرند و از این طریق به کسب درآمد از سایت های خارجی بپردازند. سایت فریلنسر برای ایرانیان باز است؛ ولی محدودیت‌هایی را برای فعالیت با آی پی ایرانی در نظر گرفته؛ بنابراین بهتر است با vpn ثابت در این سایت کار کنید تا مشکلی برایتان ایجاد نشود.مزایای فریلنسر:ردیابی پیشرفتهچت زندهپشتیبانی 24 ساعته مشتریان در هفت روز هفتهمعایب فریلنسر:رابط کاربری پیچیدهمتقاضیان اسپممشتریان جعلیکسب درآمد از سایت های فریلنسری خارجی برنامه نویسیکسب درآمد از سایت های فریلنسری خارجی برنامه نویسی یک انتخاب ایده‌آل برای توسعه دهندگان و برنامه نویسان است که می‌توانند از آن‌ استفاده کنند. با در نظر گرفتن این نکته که یک برنامه نویس در خارج از ایران درآمد بیشتری دارد، می‌توان گفت کسب درآمد از فریلنسری از طریق سایت های خارجی برای کار برنامه نویسی یک انتخاب خوب برای رسیدن به درآمد بالاست. اگر درآمد یک برنامه نویس فرانت اند در ایران را با درآمد برنامه نویس در آمریکا را مقایسه کنید، متوجه خواهید شد که یک برنامه نویس با کار در سایت‌های خارجی می‌تواند چندین برابر حقوق نسبت به ایران دریافت کند. همان‌طور که جلوتر اشاره کرد، برنامه نویسی وب یکی از شاخه‌های پرتقاضا در سایت‌ های خارجی برای کار است. شما می‌توانید با تقویت مهارت‌هایی مثل جاوااسکریپت،  html و css و با کمی توانایی صحبت به زبان انگلیسی به یک درآمد عالی از این راه برسید.نتیجه گیریفریلنسر بودن به این معنی است که شما در انتخاب شغل بعدی خود دارای انعطاف پذیری بیشتری هستید ، در عین حال آزادی و زمان و مکان انجام آن را دارید. برای کمک به شما در درک مسیر شغلی جدید خود ، بهترین وب سایت های فریلنسری را برای شما لیست کرده ایم. در اینجا یک مرور مختصر از بهترین ها وجود دارد:Upwork بهترین وب سایت فریلسنری است که ابزارهایی برای حمایت از پیشرفت شغلی شما دارد.اگر یک طراح هستید باید سایت Designhill را بررسی کنید.Skyword یک بستر جهانی بازیابی گروهی است که برای کارمندان فریلنسر و بازاریابی مناسب است.TaskRabbit فرصت های فراتر از مشاغل دیجیتال را با مشاغل آزاد در خانه فراهم می کند.WriterAccess امکان استفاده از آن را برای هرکسی که عاشق نوشتن است آسان می کند.فریلنسر بزرگترین شبکه مشاغل از راه دور را ارائه می دهد.اگر از قبل فریلسنر باتجربه ای هستید ، به Aquent بپیوندید زیرا این پلتفرم مخصوص افراد حرفه ای طراحی شده است.Nexxt بستر متنوع تر و فراگیرتری را برای هرکسی با تجربه متفاوت فراهم می کند تا شروع به جستجوی کار آزاد کند.با Fiverr می توانید به دنبال کار باشید ، در حالی که می توانید مهارت های خود را با دوره های آنلاین رایگان ارتقا دهید.شما می‌توانید با کسب مهارت در حوزه‌های پرتقاضایی نظیر عکاسی، گرافیک، مشاوره و برنامه نویسی به راحتی از فرصت‌های شغلی موجود در بهترین سایت های فریلنسری خارجی برای ایرانیان استفاده کرده و به درآمد عالی برسید. شرط این کار انتخاب درست مهارت‌هاست. مثلا برای برنامه نویسی شما باید به دنبال بهترین زبان برنامه نویسی برای کسب درآمد از طریق سایت های فریلنسری باشید. البته راه های زیادی برای دریافت پروژه های جدید وجود دارد و سایت های خارجی برای کار فقط یکی از این روش ها است. به نظر شما کدام سایت های خارجی برای فریلنسری عالی هستند؟سوالات متداولکدام از سایت های فریلنسری خارجی بهتر است؟به طور کلی فریلنسری در سایت های خارجی بر اساس یک ویژگی‌های متعددی بررسی می‌شود. معمولا برخی از مهم‌ترن سایت‌های خارجی بر اساس ویژگی‌های گفته از سایر سایت‌ها بهترند؛ مثلا:بهترین از هر نظر : Freelancer و UPWORKبهترین از نظر کار از راه دور: FlexJobsبهترین از نظر کار برای مشاغل محلی: Craigslistبهترین برای مبتدیان: Fiverrبهترین برای مشاغل غیر دیجیتال: taskrabbitبهترین برای خلاقیت: Working Not Workingو…نحوه‌ی ثبت نام در بهترین سایت های فریلنسری خارجی برای ایرانیان به چه صورت است؟شما می‌توانید به صورت مستقیم در سایت‌های فریلنسری خارجی اکانت بسازید و از طریق سایت‌های واسطه در ایران یک حساب پی پال یا… برای خودتان ساخته و دستمزد خود را دریافت کنید که البته مشمول هزینه خواهد شد. یک روش دیگر ساخت یک اکانت وریفای شده همراه با حساب بانکی از طریق سایت‌های واسطه‌ی ایرانی است که می‌توانید در اینترنت آن‌ها را پیدا کنید. نکته‌ی بسیار مهم این است که برای استفاده از سایت‌های واسطه باید از اعتبار سایت مطمئن شوید تا مبادا از شما سواستفاده شود. چنانچه بتوانید از حساب شخصی در خارج از کشور نیز استفاده کنید، می‌توانید بدون نیاز به واسطه پول خود را برداشت کنید که برای این کار دو مسئله وجود دارد: اول اینکه باید شخص مورد اعتمادی پیدا کنید و دوم اینکه مبلغی که به حساب شخص واریز می‌شود، مشمول مالیات خواهد بود و ممکن است هر کسی این کار را قبول نکند.آیا با آی پی ایران می‌توان از سایت های فریلنسر خارجی استفاده کرد؟متاسفانه به خاطر شرایط تحریم بهترین سایت های فریلنسر خارجی مثل فریلنسر و آپ ورک برای آی پی ایران بسته هستند و امکان ورود به این سایت‌ها تنها از طریق vpn امکان پذیر است. از سوی دیگر در برخی از سایت‌ های فریلنسری معتبر مثل فریلنسر شما برای وریفای شدن نیاز به پاسپورت و مدارک خارجی دارید و حتی برخی سایت‌ها با شما تماس تصویری نیز برقرار می‌شود. با تمام این تفاسیر راه‌حل‌های مختلفی برای دور زدن این محدودیت‌ها وجود دارد که با یک جستجوی ساده می‌توانید آن‌ها را پیدا کنید.چطور می‌توان درآمد دلاری را به تومان تبدیل کرد؟پس از اینکه موفق شدید یک حساب پی پال بسازید و درآمد خود از سایت فریلنسری خارجی دریافت کنید، کافی است از طریق یک صرافی پول خودتان را به تومان تبدیل کنید. برای این کار راحت‌ترین راه استفاده از سایت‌هایی مثل ایرانیکارت یا ارزپی است که البته درصدی از پول شما به عنوان پورسانت توسط سایت برداشت می‌شود. چنانچه از حساب‌های پی پال خود سایت‌های واسطه استفاده کنید، کار شما راحت‌تر نیز خواهد شد.آیا استفاده از سایت‌ های فریلنسری خارجی امنیت دارد؟چنانچه با قوانین سایت‌ها آشنایی داشته باشید و کاملا مطابق با چارچوب‌های گفته شده در سایت عمل کنید، امنیت حساب شما از سوی سایت تامین خواهد شد و مشکلی بابت دریافت پول نخواهید داشت. اما چیزی که باید در نظر داشته باشید این است که حتما از آی پی خارج از ایران و استاتیک استفاده کنید تا شناسایی نشوید. با وجود تمامی موارد امنیتی باز هم برای یک فریلنسر ممکن است مشکلات زیر رخ دهد:عدم رعایت حق کپی رایتخطرات امنیت سایبریدزدیسواستفادهمنبع:https://sabzlearn.ir/en-freelance-sites/</description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Sat, 28 May 2022 01:27:27 +0430</pubDate>
            </item>
                    <item>
                <title>برنامه نویسی چیست؟ | همه چیز درباره برنامه نویسی</title>
                <link>https://virgool.io/@masihbusiness1599/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%DA%86%DB%8C%D8%B3%D8%AA-%D9%87%D9%85%D9%87-%DA%86%DB%8C%D8%B2-%D8%AF%D8%B1%D8%A8%D8%A7%D8%B1%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-aufxwj3ho3hu</link>
                <description>برنامه نویسی امروزه یکی از حوزه های پرطرفدار و محبوبی است که در ایران نیز افراد زیادی به یادگیری و فعالیت در آن گرایش و تمایل بسیار زیادی دارند. برنامه نویسی چیست؟ چطور میتوانیم برنامه نویس شویم؟ درآمد یک برنامه نویس چقدر است.؟ اینها همه سوالاتی هستند که درباره برنامه نویسی در ذهن شما وجود دارد. به همین واسطه در این مطلب قصد داریم به طور کامل و مفصل حوزه برنامه نویسی و کلیت آن را مورد بررسی قرار دهیم.برنامه نویسی چیست و چگونه باید آن را یاد بگیریم؟ برنامه نویسی به معنای واقعی کلمه در اطراف ماست.از سفارش صادرات گرفته تا فیلم هایی که پخش می کنیم و در اینستاگرام یا شبکه های اجتماعی دیگر مشاهده می کنیم.در واقع این برنامه نویسی است که باعث ساخته برنامه هایی ماندد اینستاگرام و یا تلگرام شده است.به عبارت دیگر برنامه نویسی یعنی “به کامپیوتر خود دستور دهید“: ایین کلمه در واقع به این معنی است که شما اصولاً مجموعه ای از دستورالعمل ها را به زبان خود ارائه می دهید تا کامپیوتر بتواند آنها را درک کند.برای مثال یک برنامه ای بسازید که 2 عدد را از کاربر دریافت کند و آن ها را با هم جمع بکند و سپس به کاربر عدد جمع شده را نشان دهد.همانطور که ما انسانها می توانیم چندین زبان (انگلیسی ، اسپانیایی ، ماندارین ، فرانسوی و …) را بفهمیم ، در کامپیوتر نیز همینطور است.در واقع کامپیوتر ها نیز زبان های مخصوص خودشان را دارند و برای اینکه ما بتوانیم دستوراتی را به کامپیوتر خود بدهیم و از او بخواهیم برنامه مورد نظر ما را بسازد باید یک زبان برنامه نویسی را یاد بگیریم.در بالاتر به شما توضیح دادیم که برنامه نویسی می تواند خیلی ساده باشد که برای مثال 2 عدد را با هم جمع بکند.اما شما می توانید برنامه های پیچیده تری بنویسید که کار های بیشتری را انجام دهد و کاربرد بیشتری داشته باشد.برای مثال:شما وقتی از یک فروشگاه بزرگ و معتبر خرید می کنید، وقتی به صندوق می روید و می خواهید صورت حساب خود را مشاهده کنید می بینید که صندوق دار با استفاده از کامپیوتر خود قیمت تمامی اجناس را به شما نشان می دهد و فاکتور شما را چاپ می کند.خب این هم یک برنامه است که طراحی کرده اند تا قیمت اجناس را با یکدگیر جمع بزند و در آخر آن را چاپ کرده و به مشتری نشان دهد.پس با این مثالی که برای شما زدم باید متوحه شده باشید که برنامه نویسی چیست و چه کاربردی در زندگی عادی ما دارد.پس یک بار دیگر برای شما مثال میزنم ، به طور خلاصه ، برنامه نویسی راهی است که به کامپیوترها می گوید یک کار خاص را انجام دهند.اولین زبان های برنامه نویسی چگونه ساخته شدند؟به عنوان مثال به جای کد ۰۱۰۰۱۱۰۱ عبارت SUM را به ماشین تحویل می‌دادند و کامپیوتر زحمت تبدیل این عبارت به معادل باینری آن را بر عهده داشت، اگر تا قبل از به وجود آمدن این زبان رشته‌ی عددی 01001101 نشان‌دهنده‌ی عملیات جمع در کامپیوتر بود، از این پس عبارت SUM برای کامپیوتر معادل 01001101 و به معنای عملیات جمع تلقی می‌شد.البته که در نهایت تمام این دستورات برای فهم کامپیوتر باید به زبان باینری تبدیل می‌شد، که این فرایند (یعنی تبدیل دستورات اسمبلی به باینری) بر عهده‌ی اسمبلر بود، از آن‌جایی که تبدیل زبان اسمبلی خود احتیاج به پردازش جداگانه‌ای داشت، بنابراین از سرعت کمتری نسبت به زبان باینری برخوردار بود.به مرور زمان، زبان‌های پیشرفته‌ای خلق شد که امکانات و قابلیت‌های گسترده‌تری را در اختیار برنامه‌نویسان قرار می‌داد، زبان‌هایی مانند سی، جاوا، پایتون و… نمونه‌هایی از این زبان‌ها به شمار می‌آیند، هرچند زبان‌های سطح بالا سادگی و کارایی بیشتری را در اختیار برنامه‌نویس قرار می‌دادند، اما زبان‌های سطح پایین مانند باینری و اسمبلی همچنان از سرعت بیشتری برخوردار هستند، چراکه فرایند تبدیل و کامپایل در آن‌ها وجود نداشته و پردازش کمتری توسط رایانه انجام می‌شود.امروزه در سیستم‌هایی که احتیاج به سرعت پردازش بالایی دارند، به‌عنوان مثال فضاپیماها، سیستم‌های بیمارستانی یا ربات‌های خاص از زبان‌های سطح پایین‌تر مانند اسمبلی و حتی باینری استفاده می‌شود، اما در برنامه‌نویسی‌های معمولی، مانند اپلیکیشن‌های کامپیوتر، موبایل و وب از زبان‌های سطح بالا استفاده شده و وظیفه‌ی کامپایل یا ترجمه‌ی دستورات برعهده‌ی کامپیوتر گذاشته می‌شود.تاریخچه برنامه نویسیدر ادامه مطلب برنامه نویسی چیست به تاریخ برنامه نویسی می پردازیم.اولین نمونه عملی برنامه نویسی به شخصی به نام ژاكارد به سال 1801 در فرانسه برمی گردد.او یک ماشین بافندگی طراحی کرده بود که می توانست برخی از کارهای بافندگی را که روی کارتهای پانچ ثبت شده است ، انجام دهد.این فناوری به کارگران عادی این امکان را می دهد که بافتهای پیچیده و با کیفیت بالاتری تولید کنند.اکنون ، به جای کارگران ماهر متعدد ، فقط یک نفر کافی بود تا کل دستگاه را اداره کند.تقریباً یک روند مشابه در جریان انقلاب صنعتی انگلیس مشاهده شد.پس از استفاده از ماشین های خودکار و کاهش نیروی انسانی ، جنبشی به نام لودیت ها آغاز شد.این جنبش را افرادی تشکیل می دهند که مخالف توسعه فناوری هستند و برای دستیابی به کار ، نان و غذا بر علیه فناوری می جنگیدند.در این دوره ، برنامه نویسی به موازات ساخت ماشین های جدید توسط پاسکال ، بابیج ، شوالتز و غیره توسعه یافت.برای حل هر مشکل ، ماشین جدیدی ساخته میشد که دارای چرخ دنده ، سیم ، میله و کنترل جدیدتر از قبل بود.در سال 1847 ، یک ریاضیدان انگلیسی به نام جورج بول با معرفی جبر منطقی ارتباط بین ریاضیات و منطق را اثبات کرد.برای اولین بار او ثابت کرد که منطق بخشی از ریاضیات است تا فلسفه! این عمل که گام بزرگی در تفکر انسان است ، تقریباً صد سال (تا سال 1940) طول کشید تا در محاسبات رایانه ای مورد استفاده قرار گیرد.اولین کامپیوتر الکترونیکی در دهه 1940 ساخته شد.حافظه محدود و سرعت بسیار کم (در مقایسه با سرعت رایانه های مدرن) از ویژگی های اصلی رایانه های الکترونیکی اولیه بود.در آن سال ها ، که به عنوان عصر اطلاعات شناخته می شود ، اجرای برنامه های رایانه ای نیاز به تنظیم سوئیچ ها، و اتصال سیم های مختلف داشت که منطق برنامه را تعیین می کرد.در آن صورت ، برنامه نویسی چیزی بیشتر از تنظیم تعداد زیادی سیم نبود.چند دقیقه محاسبه برای اتصال سیم ، سوئیچ و پورت به چند روز زمان نیاز دارید.برای هر عملیات ، سخت افزار خاصی طراحی شده بود که باید از طریق سیم و درگاه ها متصل می شد تا برنامه اصلی تشکیل شود.در سال 1945 ، جان ون نویمان ، در حالی که در انستیتوی تحقیقات عالی کار می کرد ، دو اصل اساسی را ارائه داد که تأثیر مستقیمی بر توسعه برنامه نویسی داشت.اولین اصل “تکنیک برنامه مشترک” نام داشت.طبق این اصل ، سخت افزار کامپیوتر باید بسیار ساده باشد و نیازی به اتصال دستی و مجهز کردن هر برنامه نیست.در عوض ، دستورات نرم افزار باید ترکیبی از همان دستورات سخت افزاری ساده باشد تا یک دستور نرم افزار پیچیده تر تشکیل شود.این اصل دستورات سخت افزاری و نرم افزاری پیچیده را ساده می کند.جان ون نویمان اصل دوم خود را “انتقال کنترل مشروط” نامید.مطابق این اصل که تأثیر بسزایی در توسعه برنامه نویسی داشته است ، یک برنامه کامپیوتری می تواند حاوی بلوک های کوچکتری از دستورات باشد که زیرروال ها نامیده می شوند و می توانند در هر جای برنامه اصلی قرار بگیرند.از این بلوک ها می توان به تعداد مورد نیاز در هر کجای برنامه اصلی استفاده کرد.بخش مهم دیگر این اصل امکان کنترل روند برنامه یک کامپیوتر از طریق دستورات منطقی مانند IF … سپس چرخه هایی مانند FOR را فراهم می کند.1948 مصادف با مقدمه تئوری ریاضیات ارتباطات توسط کلود شانون است.(کلود شانون ، 1916-2001).پایان نامه وی در مورد نظریه ریاضیات ارتباطات اساس نظریه اطلاعات است.این نظریه نحوه استفاده از منطق باینری (اعداد مبتنی بر صفر و یک برابر) را در محاسبات نرم افزار کامپیوتر توضیح می دهد.پایان نامه شانون دنیای صفر و یک (باینری) را تشکیل داد که اساس رایانه های الکترونیکی امروزی است.بعداً ، اولین کامپیوتر باینری در طول جنگ جهانی دوم توسط یک شخص آلمانی به نام زئوس ساخته شد.در سال 1949 ، پس از معرفی دو اصل جان ون نویمان ، یک زبان برنامه نویسی به نام Short Code ایجاد شد.کد کوتاه ، که دستورات آن از یک سری صفر و یک تشکیل شده است ، اولین زبان برنامه نویسی برای رایانه های الکترونیکی است.ایجاد این زبان برنامه نویسی اولین قدم در ایجاد دنیای برنامه نویسی امروز محسوب می شود.در سال 1951 ، گریس هاپر اولین کامپایلر رایانه ای ، A-0 را نوشت.کامپایلر برنامه ای است که دستورات برنامه نویسی را به دستورات صفر و یک تبدیل می کند (سپس دستورات زبان کد کوتاه).از آن به بعد ، برنامه نویس نیازی به وارد کردن کدهای صفر و یک نداشت و توسعه جهان برنامه نویسی به سرعت چند برابر شد.سپس FORTRAN به عنوان اولین زبان برنامه نویسی به شکل فعلی در سال 1957 توسط IBM توسعه یافت.نام آن به معنی FORMula TRANSlating است.دستورات آن بسیار ساده بود و فقط شامل دستورات IF ، DO و GOTO بود.اگرچه امروزه دستورات به این زبان بسیار محدود و ناکارآمد در نظر گرفته می شوند ، اما این یک گام بسیار بزرگ به جلو در این زبان بود.انواع داده ها نیز برای اولین بار به زبان FORTRAN معرفی شدند.داده هایی مانند متغیرهای منطقی ، صحیح ، حقیقی و دو رقمی را می توان در FORTRAN تعریف و استفاده کرد.اگرچه زبان FORTRAN با اعداد و داده ها بسیار خوب کار می کند ، اما ورودی و خروجی آن بسیار محدود است.با ظهور رایانه در دنیای تجارت ، زبانهایی مانند COBOL ظهور کردند.COBOL که در اصل برای استفاده در برنامه های تجاری طراحی شده بود ، فقط شامل انواع داده های عددی و رشته های متنی بود.توانایی گروه بندی داده ها به آرایه ها و سوابق ، مدیریت داده ها را آسان تر می کرد.این امکانات فضا را برای گسترش نرم افزار ذخیره سازی و بازیابی اطلاعات فراهم می کرد.تا سال 1972 ، بیش از 200 زبان برنامه نویسی مختلف ظاهر شدند.نسل اول : زبان های برنامه نویسی دارای زبان ماشین (زبان صفر و یک) بودند.نسل دوم : زبان‌های قابل‌درک‌تری برای انسان بودند (مانند زبان اسمبلی).نسل سوم : به کامپایلر نیاز دارند و دستوراتشان برای انسان قابل‌فهم است، مثل زبان .COBOL (کامپایلر یا مفسر برنامه‌ای است که دستورات برنامه نویسی را به دستورات صفرویک تبدیل می‌کند.)نسل چهارم : زبان محاوره‌ای دارند، مثل Oracle و SQLها.نسل پنجم : به‌وسیله‌ی الگوریتم‌هایی که برنامه‌نویس می‌نویسد قابل‌درک‌اند. مثل prplog وVisual basicچگونه برنامه نویس شویم؟حالا که متوجه شدیدی برنامه نویسی چیست، احتمالا می خواهید بدانید که چطور باید برنامه نویس شوید.یادگیری و شروع برنامه نویسی به هیچ وجه آسان نیست.با این حال ، اگر آن را با سایر مهارت ها و مسیرهای شغلی مقایسه کنیم ،تبدیل به یک برنامه نویس شدن می تواند انتخاب بهتری باشد.ماهیت برنامه نویسی بسیار مهیج است و هر روز یک برنامه نویس با چالش های جدیدی روبرو می شود که برای حل آنها دانش بیشتری لازم است.همچنین ، برنامه نویسان در دنیای دیجیتال امروز این فرصت را دارند که برای خودشان کار کنند ، در هر زمانی که دوست دارند کار کنند یا حتی پروژه های خود را از راه دور از خانه انجام دهند.همانطور که می بینید دلایل منطقی زیادی وجود دارد که باعث می شود فرد بخواهد برنامه نویسی را یاد بگیرد.در ادامه سعی خواهیم کرد آنچه را که باید برای برنامه نویسی بدانید توضیح دهیم.چرا می‌خواهید برنامه نویس شوید؟چرا در نظر دارید برنامه نویسی یاد بگیرید؟آیای واقعا نسبت به یادگری جدی هستید و هدف شما جدی است؟چه نوع برنامه نویسی می خواهید انجام دهید؟برای مثال اگر می خواهید در زمینه برنامه نویسی وب فعالیت بکنید باید ابتدا از زبان های html , css شروع بکنید.برای شروع این زبان ها دوره های حضوری و آنلاین زیادی وجود دارد که برخی رایگان و برخی نیز پولی هستند.اما برای شروع رایگان دوره html , css می توانید از دوره آموزش css وبسایت سبز لرن استفاده بکنید.درآمد برنامه نویسی چقدر است؟درآمد یک برنامه نویس کاملا به خود شخص بستگی دارد و می تواند ماهانه 3 میلیون تومان درآمد داشته باشد یا ماهانه 10 میلیون تومان درآمد داشته باشد.اما این مورد کاملا به تخصص و تجربه شخص مورد نظر بستگی دارد.برای مثال حقوق یک شخصی که سابقه 2 سال برنامه نویسی دارد با یک شخصی که 5 سال سابقه دارد متفاوت است و اصلا یکی نیست.پس اگر هدفتون این هستش که برنامه نویسی رو شروع بکنید و به فکر درآمدش هستید باید کاملا صبر داشته باشید توی این راه. منبع: https://sabzlearn.ir/what-is-programming-how-do-i-learn/ </description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Fri, 27 May 2022 23:28:08 +0430</pubDate>
            </item>
                    <item>
                <title>ری اکت چیست؟ | بررسی ویژگی ها، ساختار و کاربردهای ری اکت</title>
                <link>https://virgool.io/@masihbusiness1599/%D8%B1%DB%8C-%D8%A7%DA%A9%D8%AA-%DA%86%DB%8C%D8%B3%D8%AA-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D9%88%DB%8C%DA%98%DA%AF%DB%8C-%D9%87%D8%A7-%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1-%D9%88-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%D9%87%D8%A7%DB%8C-%D8%B1%DB%8C-%D8%A7%DA%A9%D8%AA-zk6gkiecwaef</link>
                <description>زبان برنامه نویسی جاوا اسکریپت که در حوزه فرانت اند کاربردهای بسیار زیادی دارد، دارای فریم ورک ها و کتابخانه های زیادی است که هر یک از آنها در حوزه مشخصی کاربرد خاص خود را دارند. ری اکت نیز یکی از کتابخانه های جاوا اسکریپت است که به دلیل گستردگی و وسعت خود، در دسته فریم ورک ها قرار می گیرد و بستر مناسبی را برای برنامه نویسی در زمینه توسعه وب فراهم میکند. در این مطلب به طور کامل به شما میگوییم که ری اکت چیست و چه کاربردها و ویژگی هایی دارد. کتابخانه ری اکت چیست؟ری اکت یکی از کتابخانه های اوپن سورس (متن باز) جاوا اسکریپت هست که طبق گفته داکیومنت خود آن برای ساخت رابط های کاربری وب سایت ها مورد استفاده قرار می گیرد.کتابخانه ری اکت توسط جامعه ای از توسعه دهندگان فیس بوک ارائه شد. ریکت ابتدا در سال 2011 با هدف استفاده توسط خود فیسبوک ایجاد شد اما بعد ها با توسعه بیشتر و تکمیل شدنش در سال 2013 به یک کتابخانه عمومی برای استفاده همه برنامه نویس ها تبدیل شد.خصوصیات فریم ورک react چیست؟در پاسخ به سوال خصوصیات فریم ورک react چیست؟ باید بگوییم فریم ورک ری اکت نسبت به سایر فریم ورک‌های جاوا امتیازات زیادی دارد. از جمله مهم‌ترین خصوصیات فریم ورک ری اکت که آن را از سایر فریم ورک‌ها متمایز می‌کند، می‌توان به موارد زیر اشاره کرد:DOM مجازی: این مشخصه‌ی فریم ورک react به افزایش سرعت توسعه‌ی برنامه و انعطاف پذیری آن کمک می‌کند. DOM مجازی در این فریم ورک جایگزین اصلی شده و هر بار که برنامه تغییر داده شود، کل UI را در DOM مجازی نمایش می‌دهد.JSX: JSX را می‌توان یکی از بهترین ویژگی‌های فریم ورک ری اکت دانست. چون کار نوشتن بلوک‌ها را برای توسعه دهندگان خیلی راحت‌تر کرده است.React Native: این نسخه از react قابلیت استفاده از کدهای وب این فریم ورک برای نسخه‌های اندروید و ios را فراهم کرده؛ بنابراین کار توسعه‌ی برنامه‌های موبایل با فریم ورک ری اکت راحت‌تر شده است.اتصال داده یک طرفه: این قابلیت ریکت یعنی یک توسعه دهنده برای تغییر یک کامپوننت باید از کال بک استفاده کند و نمی‌تواند مستقیما آن را ادیت کند. این کنترل یک طرفه‌ در اپ‌های js، flux نامیده می‌شود و باعث موثرتر و انعطاف پذیرتر شدن آن‌ها می‌شود.رابط کاربری اعلانی: این ویژگی در کدهای react باعث خوانایی بیشتر و راحتی رفع باگ می‌شود. به طور کلی فریم ورک React JS بهترین پلتفرم برای توسعه‌ی رابط‌های کاربری است که هم برای دسکتاپ و هم موبایل کاربرد دارد.معماری Component Based: این قابلیت یعنی فریم ورک ری اکت از اجزای مختلف با منطق خاص خود استفاده می‌کند که نقش مهمی در تعاملات و بصری سازی اپ دارد. در ادامه مقاله بیشتر مفصل توضیح می دهیم که کامپوننت در فریم ورک react چیست و چطور ساخته می شود.امتیازات زبان ری اکتامتیازات زبان ری اکت این فریم ورک را به یک فریم ورک پرتقاضا و کاربردی در توسعه‌ی وب تبدیل کرده. اما ببینیم چه چیز باعث شهرت زبان react شد:یکی از امتیازات زبان react یادگیری آسان آن است. آموزش react منحنی یادگیری کوتاهی دارد و به خاطر همین جز فریم ورک‌های محبوب به شمار می‌رود.با کمک زبان react شما می‌توانید رابط‌های کاربری هیجان انگیزی طراحی کنید که شانس موفقیت شما را نسبت به یک رابط کاربری ضعیف بیشتر می‌کند. علت اصلی برتری زبان react js برای طراحی رابط کاربری استفاده از کامپوننت‌هاست.شاید برایتان سوال باشد بزرگ‌ترین امتیاز ری اکت چیست؟ می‌توان گفت بزرگترین مزیت استفاده از زبان react js قابلیت شخصی سازی کامپوننت‌ها است. شما می‌توانید کامپوننت‌هایی منحصر به فرد بر اساس نیازتان طراحی و پیاده کنید.قابلیت استفاده مجدد از کامپوننت‌ها در زبان ری اکت باعث افزایش سرعت و کارایی کدهای توسعه‌ دهندگان می‌شود. یک برنامه نویس وب می‌تواند با تغییر فیلدها متنی، دکمه‌ها یا هر المان دیگری، از یک کامپوننت در بخش‌های مختلف استفاده کند.ری اکت جی اس برای سئوی سایت هم یک امتیاز به شمار می‌رود. اما علت سئو دوستی react چیست؟ در واقع زبان برنامه نویسی react دو فاکتور مهم دارد که برای سئوی سایت اهمیت دارند. یکی سرعت لود بالا و دیگری سرعت بالای رندرینگ که باعث افزایش رتبه‌ی صفحات در گوگل می‌شوند.استفاده از سینتکس JSX در ری اکت یعنی چه؟در این قسمت به این سوال پاسخ می دهیم که استفاده از سینتکس JSX در ری اکت یعنی چه؟ همان طور که اطلاع دارید کتابخانه زبان برنامه نویسی react از سینتکسی به اسم JSX استفاده می کند. Jsx مخفف Java Script XML هست. برای این که نحوه نوشتن این سینتکس را یاد بگیرید باید با مفهوم XML آشنا باشید.اگر بخواهیم خیلی خیلی ساده و خلاصه توضیح بدهیم، XML را همان HTML در نظر بگیرید اما با این تفاوت که در Html تگ های از پیش تعیین شده وجود دارند که فقط مجاز به استفاده از این تگ ها هستیم و نمی توانیم از تگ هایی با اسم دلخواه استفاده کنیم. به عنوان مثال نمی توانیم از تگی به اسم &lt;Amin&gt; استفاده کنیم.اما شما در XML می توانید تگ هایی با اسامی دلخواه را ایجاد کرده و از آنها استفاده کنید. داخل ری اکت هم شما می توانید قسمت های مختلف وب سایتتان را با اسم های دلخواه ایجاد کرده و استفاده کنید.اکنون که دانستیم منظور از xml در تعریف ری اکت یعنی چه، به معنای jsx بپردازیم. به طور کلی Jsx یعنی این که ما داخل صفحات جاوا اسکریپت کد هایی در قالب Html و Xml بنویسیم. به همین دلیل در پروژه هایی که با فریمورک ری اکت توسعه داده می شوند هیچ خبری از فایل Html نیست و تمام کد های Html توسط فایل های جاوا اسکریپت Render میشوند.ری اکت Component Based هست، یعنی چی؟همان طور که در داکیومنت آموزش react گفته شده، ری اکت یک لایبرری کامپوننت بیس هست. ممکن هست برایتان سوال شود که معنی و مفهوم کامپوننت چی هست؟! کامپوننت یعنی یک تکه کوچک از یک چیز بزرگ.یعنی ری اکت وب سایت شما را تبدیل به تکه های کوچیک کرده و با قرار دادن این تکه های کوچک در کنار همدیگر، وب سایت شما ساخته میشود.حال ممکن هست برایتان سوال شود که این Component Based بودن زبان برنامه نویسی react چه فایده ای دارد و چه قابلیت مثبتی به ما می دهد.تا اینجا مفهوم کامپوننت را اینطور گفتیم که یک تکه کوچک از وب سایت ما؛ مثل هدر، فوتر، باکس محصول، نوبار و ….همان طور که می دانیند هدر و فوتر در همه صفحه های یک وب سایت یکسان هستند و تغییری نمی کنند.حال فرض کنید وب سایت ما 10 صفحه دارد و قطعا فوتر همه صفحات باید یکی باشد. به جای این که تمام کد های فوتر را در همه 10 صفحه بنویسیم، فوتر را تبدیل می کنیم به یک کامپوننت، با اسم مثلا Footer.js.از این به بعد در هر کدام از صفحه های وب سایتمان که به فوتر نیاز داشتیم، به جای تکرار چند خط کد های فوتر فقط اسم کامپوننت Footer را می نویسیم.این موضوع خوانایی کدهای مان را افزایش می دهد، تست نویسی را راحت تر کرده، دیباگینگ را راحت تر می کند و … بسیاری مزایای دیگر.مثلا اگر شما سایتتان را با ریکت به صورت Component Based توسعه داده باشید و در قسمتی از وب سایتتان مشکل و باگی وجود داشته باشد، خیلی راحت اطلاع دارید که مشکل در کدام کامپوننت رخ داده و آن را حل می کنید و  با قسمت های دیگر وب سایتتان درگیر نمی شوید و وقتتان را تلف نمی کنید.برای شروع ری اکت چه پیش نیاز هایی لازم هست؟همان طور که میدانید ری اکت یکی از لایبرری (کتابخونه) های زبان جاوا اسکریپت است. پس در وهله اول متوجه می شویم که یکی از پیش نیاز های آموزش react تسلط داشتن روی جاوا اسکریپت است.اما از آن جایی که بعد ها جاوا اسکریپت آپدیت شد و ورژن های 6 الی 11 را هم ارائه داد و در هر ورژن قابلیت ها و امکانات جدیدی به جاوا اسکریپت اضافه کرد، برای شروع ری اکت علاوه بر جاوا اسکریپت 5 باید حداقل با نسخه 6 (Es6) کار کرده باشید.حالا ممکن هست برایتان سوال پیش بیاید که چه اندازه باید جاوا اسکریپت بلد باشیم تا بتوانیم کار با فریمورک ری اکت را شروع کنیم.برای شروع ری اکت چقدر باید جاوا اسکریپت بلد باشیم؟این سوال را خیلی از دوستانی می پرسند که به تازگی وارد این حوزه شده و سردرگم هستن در مورد این که برای شروع ری اکت چقدر و چه مباحثی از جاوا اسکریپت را باید بلد باشیم.برای این سوال جواب های مختلفی می توان ارائه کرد و همین طور هیچ جواب منطقی ندارد(عجب! الان برایتان واضح تر میگم)یک جواب این است که بگوییم “شما برای شروع ری اکت باید به اندازه ای جاوا اسکریپت بلد باشید که تمام پروژه هایی را که می خواهید با ری اکت بنویسید، بتوانید با خود جاوا اسکریپت هم پیاده سازی کنید”.به عنوان مثال به یاد دارم که یک بار در یکی از گروه های پرسش و پاسخ برنامه نویسی در تلگرام یکی از دوستان سوالی در مورد جاوا اسکریپت پرسیده بود و یکی دیگر از دوستان قصد راهنمایی ایشان را داشت. این دوست عزیز یک راهنمایی کوچک کرده و سپس عینا همین جمله را گفت که “میدونم در ری اکت چطور نوشته میشه، ولی نمیدونم در جاوا اسکریپت چطوری باید نوشت”!!اگر بخواهیم منطقی نگاه کنیم مسیر رسیدن این عزیز به فریم ورک ری اکت کاملا اشتباه بود، چون به جاوا اسکریپت تسلط کافی نداشت و پروژه ای را که با ری اکت میتوانست بنویسد، با جاوا اسکریپت نمی توانست.ری اکت یکی از لایبرری های جاوا اسکریپت است و شما اگر چیزی را با ری اکت می نویسید، قطعا باید با جاوا اسکریپت هم بتوانید بنویسید.اما جواب بعدی به این سوال (سوال: برای شروع ری اکت چقدر باید جاوا اسکریپت بلد باشیم؟) را قصد دارم با یک مثال برایتان توضیح بدهم تا کاملا متوجه بشوید.فرض کنید دقیقا همین سوال را در حوزه های دیگر مثل رانندگی، قنادی، آشپزی بپرسیم. به عنوان مثال سوالمان این باشد که “برای تبدیل شدن به یک آشپز حرفه ای چه غذاهایی  را باید درست کرده باشیم و چه دوره های آشپزی را باید گذرونده باشیم؟!”خب واقعا همچین سوالی جواب ندارد. کاملا واضح هست که شما هر چقدر تجربه آشپزی داشته و با آشپز های حرفه ای سر و کار داشته باشید و ابزار های زیادی در اختیارتان قرار گرفته باشد، به همان اندازه می توانید آشپز حرفه ای باشین.برنامه نویسی هم دقیقا همینطور است. شما هر چقدر با جاوا اسکریپت بیشتر کار کرده باشید و پروژه های بیشتر با جاوا اسکریپت نوشته باشید و همچنین با لایبرری ها و پلاگین های جاوا اسکریپت آشنایی زیادی داشته باشید، به همان اندازه می توانید با آمادگی و قدرت بیشتر وارد زبان برنامه نویسی ری اکت بشوید.پس پیشنهاد می کنم همچین سوال هایی را جایی مطرح نکنید و از کسی نپرسید. اگر میخواهید زبان برنامه نویسی react را یاد بگیرید، ابتدا چندین پروژه خوب و قابل قبول بازار کار با خود جاوا اسکریپت پیاده سازی کنید و بعد که بنا به رفرنس ها و داکیومنت جاوا اسکریپت مطمئن شدید روی جاوا اسکریپت تسلط کافی دارید، با قدرت و آمادگی کامل وارد آموزش react شوید.در این صورت وقتی ریکت را شروع کردید، اذیت نمی شوید و مسیر یادگیریتان هموار تر می شود و در مدت زمانی معقولی میتوانید به سطح خیلی خوبی برسید.تایپ اسکریپت چی؟ باید بلد باشیم؟برای جواب دادن به این سوال بهتر است اول توضیحی کوتاهی در مورد تایپ اسکریپت داده شود. تایپ اسکریپت یک زبان برنامه نویسی است که توسط شرکت مایکروسافت ارائه شده و پشتیبانی می شود.تایپ اسکریپت یک زبان برنامه نویسی اوپن سورس و کامپایلری است که قابلیت های پیشرفته و جدیدی به جاوا اسکریپت اضافه کرده و همچنین برخی از کاستی ها و نقص های جاوا اسکریپت را برطرف کرده است.به عنوان مثال شما در جاوا اسکریپت نمیتوانید برای متغیر هایی که تعریف می کنید نوع (Type) تعریف کنید اما تایپ اسکریپت به شما این قابلیت را میدهد که بتوانید برای متغیر ها و همچنین ورودی توابع پروژه تان Type تعیین کنید.حال شاید بپرسید ارتباط تایپ اسکریپت و react چیست. در واقع تایپ اسکریپت بیشتر برای توسعه پروژه های بزرگ مورد استفاده قرار میگیرد. به خاطر همین موضوع شما برای شروع یادگیری ری اکت هیچ نیازی به یادگیری تایپ اسکریپت ندارید اما بعدها که وارد پروژه های بزرگ تری شدید، حتما تایپ اسکریپت را هم در مسیر یادگیری خودتان قرار بدهید.ری اکت چطور کار می کند؟جلوتر به دام مجازی اشاره کردیم، اما نگفتیم که دقیقا منظور از دام مجازی در react چیست؟ در این قسمت میخواهیم درباره دام مجازی (Virtual Dom) صحبت کنیم. همان طور که می دانید مرورگر با المنت های Html وب سایت شما به طور ساختار درختی برخورد می کند. ممکن است برایتان سوال باشد که منظور از ساختار درختی چیست؟!کد های زیر را در نظر بگیرید:&lt;div&gt;&lt;nav&gt;&lt;img /&gt;&lt;div&gt;&lt;/div&gt;&lt;/nav&gt;&lt;/div&gt;وقتی شما کد های بالا را می نویسید و میخواهید در مرورگر اجرای شان کنید، مرورگر کد های شما را طبق یک ساختار درختی که به آن Dom Tree (درخت دام) می گویند، در کنار هم می چیند و در نهایت برای کد های بالا ساختار زیر را در نظر می گیرد.حالا شما وقتی با جاوا اسکریپت یک پروژه را می نویسید و در پروژه تان یک قسمتی از سایت را با جاوا اسکریپت تغییر بدهید. یعنی شما می خواهید یک قسمت از Html و Dom وب سایت را با Js تغییر بدهید.در همین ساختار بالا که توضیح داده شد اگر شما بخواهید تگ img را تغییر بدهید، بقیه قسمت هایی از Dom که به img متصل هستند و با آن ارتباط دارند را هم تغییر داده و آپدیت می کند.اگر منطقی نگاه کنیم، وقتی تگ img میخواهد اپدیت شود دیگر نیاز نیست هیچ تگ دیگری آپدیت شود و اگر همچین اتفاقی بیفتد ممکن هست در سایت های کوچک تاثیر چشمگیری نداشته باشد ولی در سایت های بزرگ به سرعت به وب سایتتان آسیب جدی وارد می کند.زبان برنامه نویسی react این مشکل را حل کرده. ری اکت عزیز به جای این که با دام واقعی (Real Dom) کار کند، برای خودش یک دام مجازی (Virtual Dom) در نظر میگیرد و به این ترتیب به محض این که تغییری در یکی از قسمت های سایت اتفاق بیفتد، ری اکت قبل از این که تغییری روی Real Dom انجام دهد، اول خودش داخل Virtual Dom بررسی می کند تا متوجه بشود کدام المنت تغییر کرده و باید آپدیت شود.بعد از این بررسی، تغییر های لازم را روی Real Dom اعمال می کند. ری اکت به کمک دام مجازی فقط قسمتی که آپدیت شده را تغییر میدهد و به این ترتیب هیچ تاثیر منفی روی سرعت سایت نخواهیم داشت.چون که مبحث دام مجازی و نحوه عملکردش داخل فریم ورک ری اکت تقریبا بحث تخصصی است، ممکن است با این توضیحات تئوری مفهومش را آنطور که باید متوجه نشوید.اگر می خواهید بهتر متوجه شوید که مفهوم و عملکرد Virtual Dom در فریم ورک ری اکت چیست، ما آن را به طور کامل در ویدئوی همین مقاله برایتان توضیح دادیم. پیشنهاد می کنم برای این که این قسمت را به خوبی متوجه شوید، حتما ویدئو را مشاهده کنید.چطور یک برنامه ری اکت بسازیم؟در این قسمت از مقاله می‌خواهیم با یک مثال ببینیم که چطور یک برنامه ری اکت بسازیم. تا اینجا فهمیدیم فریمورک ری اکت چیست و چه ویژگی‌هایی دارد؛ اما، در بخش می‌خواهیم زیبایی و سادگی این زبان را به شما نشان دهیم. شما می‌توانید کدهای ری اکت را مستقیما داخل کدهای html استفاده کنید.یک فایل html بسازید: دستور زیر ساده‌ترین فرم یک فایل در html است.&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Let&#x27;s React with npm&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;2. کتابخانه‌ی ری اکت را ایمپورت کنید: این کتایخانه در دو فایل .js تعریف شده که یکی برای تولید کنندگان و دیگری برای توسعه‌ دهندگان است.&amp;lt;!-- Load React Libraries --&amp;gt;&amp;lt;!-- Note: when deploying, replace &quot;development.js&quot; with &quot;production.min.js&quot;. --&amp;gt;&amp;lt;script src=&quot;https://unpkg.com/react@17/umd/react.development.js&quot; crossorigin&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;script src=&quot;https://unpkg.com/react-dom@17/umd/react-dom.development.js&quot; crossorigin&amp;gt;&amp;lt;/script&amp;gt;این کد را در تگ هد html باید قرار دهید. کد نهایی به شکل زیر می‌شود:&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Let&#x27;s React with npm&amp;lt;/title&amp;gt;&amp;lt;!-- Load React Libraries --&amp;gt;&amp;lt;!-- Note: when deploying, replace &quot;development.js&quot; with &quot;production.min.js&quot;. --&amp;gt;&amp;lt;script src=&quot;https://unpkg.com/react@17/umd/react.development.js&quot; crossorigin&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;script src=&quot;https://unpkg.com/react-dom@17/umd/react-dom.development.js&quot; crossorigin&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;3. یک نگهدارنده برای مولفه‌ها بسازید: تا اینجای کار متوجه شدید که مولفه یا کامپوننت در ری اکت چیست. حالا برای اینکه بتوانیم از این کامپوننت‌ها در برنامه استفاده کنیم، باید برای آن‌ها یک نگهدارنده بسازیم. برای اینکار ما از یک تگ div در بدنه استفاده می‌کنیم.&amp;lt;body&amp;gt;&amp;lt;div id=&quot;root&quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/body&amp;gt;4. ساخت کامپوننت: اکنون زمان ساخت کامپوننت‌هاست. شما باید این مولفه‌ها را به صورت کلاس بسازید. به عنوان مثال:class HelloClass extends React.Component{render(){return React.createElement(&#x27;div&#x27;, null, &#x27;React without npm&#x27;);}}تابع React.createElement تابعی است که به شما امکان ساخت المان‌ها در ری اکت را می‌دهد.5. فراخوانی کامپوننت ری اکت: در مرحله‌ی آخر شما باید کامپوننت خود را از داخل جاوا اسکریپت فراخوانی کنید. تابع React.DOM.render() این کار را برای شما انجام می‌دهد. در داخل تابع دو آرگومان داریم که اولی کامپوننت را می‌سازد و دومین آرگومان، تابع را داخل نگهدارنده‌ای که ساختیم برای رندر کردن قرار می‌دهReactDOM.render(React.createElement(HelloClass, null, null),document.getElementById(&#x27;root&#x27;));دستور کامل ساخت فایل ری اکت را در ادامه مشاهده می‌کنید:&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;React&#x27;s React&amp;lt;/title&amp;gt;&amp;lt;!-- Load React. --&amp;gt;&amp;lt;!-- Note: when deploying, replace &quot;development.js&quot; with &quot;production.min.js&quot;. --&amp;gt;&amp;lt;script src=&quot;https://unpkg.com/react@17/umd/react.development.js&quot; crossorigin&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;script src=&quot;https://unpkg.com/react-dom@17/umd/react-dom.development.js&quot; crossorigin&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;div id=&quot;root&quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;!-- This is embedded JavaScript. You can even place this in separate .js file --&amp;gt;&amp;lt;script&amp;gt; = function(){class HelloClass extends React.Component{render(){return React.createElement(&#x27;div&#x27;, null, &#x27;React without npm..&#x27;);}}ReactDOM.render(React.createElement(HelloClass, null, null),document.getElementById(&#x27;root&#x27;));};&amp;lt;/script&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;کافیست این کد را در یک فایل متنی ذخیره کرده و روی مرورگر باز کنید.منظور از وضعیت (state) و ویژگی (props) در ری اکت چیست؟حال ببینیم منظور از وضعیت (state) و ویژگی (props) در ری اکت  چیست و چه کاربردی دارند. در واقع هر دو مولفه برای یک کامپوننت در ری اکت استفاده می‌شوند؛ ولی تفاوت‌هایی با هم دارند:وضعیت: به متغیرهایی از یک کامپوننت گفته می‌شود که مستقیما توسط خود کامپننت مقداردهی و مدیریت می‌شوند.ویژگی: به متغیرهایی از یک کامپوننت گفته می‌شود که توسط والد به آن انتقال پیدا کرده است.یک وضعیت می‌تواند توسط یک ویژگی مقداردهی اولیه شود. مثلا یک کامپوننت والد می‌تواند شامل یک کامپوننت فرزند باشد و یک ویژگی را با سینتکس زیر به او انتقال دهد:&amp;lt;ChildComponent color=green /&amp;gt;در ساختار کامپوننت فرزند می‌توان به این ویژگی دسترسی داشت:class ChildComponent extends React.Component {constructor(props) {super(props)console.log(props.color)}}هر متد دیگری در این کلاس می‌تواند با استفاده از this.props به آن ویژگی ارجاع دهد. حال props می‌تواند برای وضعیت‌های داخلی بر اساس مقدارش مورد استفاده قرار گیرد. برای درک بهتر به کد زیر نگاه کنید:class ChildComponent extends React.Component {constructor(props) {super(props)this.state.colorName = props.color}}البته کلاس می‌تواند وضعیت را بدون توجه به ویژگی نیز مقداردهی کند. شما نمی‌توانید props را در نود فرزند تغییر دهید؛ بنابراین هر چیزی که تغییر می‌دهید باید متعلق به وضعیت کامپوننت باشد. با این اوصاف بنظرتان کاربرد ویژگی در ری اکت چیست؟ در واقع ویژگی یا همان props در یک کامپوننت به آن اجازه می‌دهد که متدهای کامپوننت والد دسترسی پیدا کند و به نوعی یک کنترل مرکزی روی کامپوننت‌های والد ایجاد می‌کند. جالب است بدانید بعضی از کامپوننت‌ها stateless هستند یعنی فقط بر اساس ویژگی‌ها، چیزهایی را نمایش می‌دهند.ری اکت برای برنامه نویسی اپلیکیشن های موبایلممکن است دیده باشید که در گروه های مجازی مرتبط با برنامه نویسی وقتی یک نفر در مورد انتخاب بین ریکت، انگیولار و ویو سوال می پرسد، یک شخصی پیشنهاد میکند که آموزش react را دنبال کنید. دلیلش هم این است با آن هم می شود صفحات وب پیاده سازی کرد و هم اپلیکیشن های موبایلی اندروید و IOS.اینجا میخواهم بگوییم که این حرف و معیار کاملا اشتباه است . چون فقط ریکت نیست که این قابلیت را به شما می دهد. شما بعد از یادگیری انگیولار و ویو هم می توانید اپلیکیشن های موبایلی بنویسید. در این مقاله مقایسه کاملی میان ریکت و ویو انجام داده ایم که می توانید مطالعه نمایید.همان طور که اطلاع دارید یک فریمورک وجود  دارد به نام ریکت نیتیو. شاید ندانید که تفاوت React Native و react چیست. به طور کلی React Native  یکی از فریمورک های جاوا اسکریپت است. شما میتوانید به کمک ریکت نیتیو اپلیکیشن های موبایلی برای سیستم عامل های اندروید و IOS پیاده سازی کنید. ریکت نیتیو به قدری قدرتمند است که توانسته سهم زیادی از بازار کار اپلیکیشن های موبایلی را به خودش اختصاص بدهد و رقیب های خودش مثل جاوا، کاتلین، سوئیفت و … را کمرنگ کند. برای اثبات این ادعا کافیست سری به وب سایت های استخدامی مثل کوئرا، جابینجا، استک اور فلو و … برنامه نویسا بزنید.منبع:https://sabzlearn.ir/what-is-react/</description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Fri, 27 May 2022 23:15:12 +0430</pubDate>
            </item>
                    <item>
                <title>بررسی مفهوم async و await در جاوا اسکریپت</title>
                <link>https://virgool.io/@masihbusiness1599/%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D9%85%D9%81%D9%87%D9%88%D9%85-async-%D9%88-await-%D8%AF%D8%B1-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-sys6wefgj9ud</link>
                <description>شاید شما هم با مفهوم async و await در جاوا اسکریپت آشنا نباشید و ندانید که این ویژگی‌های برای چه به جاوا اسکریپت اضافه شدند. همان‌طور که می‌دانید جاوا اسکریپت یک زبان تک رشته‌ای است و امکان چندوظیفه‌ای در این زبان وجود ندارد؛ پس وظایف مختلف در این زبان نمی‌توانند به صورت همزمان اجرا شوند. در نتیجه باید از راهکارهای موجود در این زبان برای همگام سازی وظایف استفاده کرد. در این مطلب به طور کامل مفهوم async و await در جاوا اسکریپت را بررسی میکنیم.Async و  await در جاوا اسکریپتهمان‌طور که گفته شد در جاوا اسکریپت multitask وجود ندارد؛ بنابراین توابع باید پشت سر هم اجرا شوند. فرآیند‌های مختلفی وجود دارند که اجرای آن‌ها منوط به اجرای فرآیندهای قبلی است؛ مثلا برای محاسبه‌ی میانگین چند عدد ابتدا باید این اعداد با هم جمع شوند و خروجی آن بر تعداد اعداد تقسیم شود. برای میانگین گیری شما نمی‌توانید ابتدا عمل تقسیم را انجام دهید و سپس اعداد را با هم جمع کنید؛ چون به خروجی جمع برای تقسیم نیاز خواهید داشت.کاری که باید انجام شود این است که توابع با هم همگام شوند و ترتیب اجرای آن‌ها مشخص شود. این دقیقا همان کاری است که افزونه‌ی Async و  await در جاوا اسکریپت برای ما انجام می‌دهند. این افزونه بر اساس promise ها کار می‌کند. پس بهتر است قبل از پرداختن به مفهوم async و await در جاوا اسکریپت، promise ها را معرفی کنیم.Promise در جاوا اسکریپتPromise در جاوا اسکریپت به معنی عملیات غیرمتقارن است؛ یعنی عملیاتی که برای اجرا باید منتظر اجرای عملیات دیگری باشند. در واقع پرامیس یک شی نگهدارنده است که تابعی را به عنوان ورودی دریافت کرده و پس از اتمام اجرای آن، با یک تابع callback، فراخوانی می‌شود. یک پرامیس می‌توانید در یکی از سه وضعیت قرار بگیرد:Pending: وضعیت انتظار نیز گفته می‌شود و زمانی است که کدهای تابع هنوز به طور کامل اجرا نشده‌اند.Fulfilled: وضعیتی است که کدها به صورت کامل اجرا شده‌ و تابع تکمیل شده است.Rejected: در این وضعیت اجرای تابع بنا به دلایلی با شکست مواجه شده و تابع اجرا نشده است.کد زیر نمونه‌ای از ساخت یک پرامیس در جاوا اسکریپت را نشان می‌‌دهدconst p = new Promise(function(resolve , reject){// کدهای تابع که معمولاً به صورت آسنکرون اجرا می‌شوندif(success){resolve(value);}else{reject(error);}});در اینجا پرامیس از نوع شی تعریف شده که آرگومان ورودی آن یک تابع است. تابع function خود دو پارامتر ورودی با نام‌های resolve و reject دارد که هر کدام وضعیت‌های زیر را نشان می‌دهند:Resolve: اجرای موفقیت آمیز عملیات آسنکرون که به آن fulfilled نیز گفته می‌شود.Reject: شکست عملیات آسنکروناگر تابع در هر کدام از دو وضعیت بالا قرار گرفته باشد، اجرای متوقف شده و در نتیجه عمر پرامیس تعریف شده برای آن نیز به پایان می‌رسد.async در جاوا اسکریپتasync در جاوا اسکریپت برای توابع آسنکرون استفاده می‌شود. این ویژگی به صورت خودکار یک پرامیس برای تابع می‌سازد تا اجرای آن را مدیریت کند. نحوه‌ی ساخت یک async به شکل زیر است:async function f() {return 1;}این دستور باید قبل از دستور فانکشن نوشته شود و یک معنی ساده دارد؛ تابع همیشه یک پرامیس برمی‌گرداند. در صورتی که پرامیس به وضعیت تکمیل یا همان resolve برود، تابع مقدار یک را برمی‌گرداند. این کد را در نظر بگیرید:async function f() {return 1;}f().then(alert); // 1این کد را می‌توان به این صورت نیز نوشت:async function f() {return Promise.resolve(1);}f().then(alert); // 1بنابراین تابع async در جاوا اسکریپت تضمین می‌کند که یک پرامیس باید برگردانده شود؛ مگر اینکه اجرای آن با شکست مواجه شود. اما این تمام ماجرا نیست، دستور دیگری نیز وجود دارد که پس از آسینک اجرا می‌شود و Await نام دارد.await در جاوا اسکریپتبه بیان ساده Await در جاوا اسکریپت اجرای دستور Async را متوقف می‌کند. اگر Async نباشد، Await ای هم وجود نخواهد داشت. وقتی بعد از یک پرامیس از Await استفاده می‌شود، این دستور اجرای مابقی کدها را تا زمان تکمیل پرامیس متوقف می‌کند. می‌تواند گفت عملکرد دو مفهوم async و await در جاوا اسکریپت مکمل یکدیگرند. بد نیست بدانید تابع Await در جاوا اسکریپت فقط با پرومیس‌ها کار می‌کند و کاری به callbackها ندارد. سینتکس تابع await در جاوا اسکریپت به صورت زیر است:// works only inside async functionslet value = await promise;در نمونه‌ی زیر یک پرامیس داریم که در عرض یک ثانیه تکمیل می‌شود.async function f() {let promise = new Promise((resolve, reject) =&amp;gt; {setTimeout&#40;(&#41; =&amp;gt; resolve(&quot;done!&quot;), 1000)});let result = await promise; // wait until the promise resolves (*)alert&#40;result&#41;; // &quot;done!&quot;}f();اجرای تابع بالا در خط کد (*) به حالت توقف می‌رود و زمانی مجددا اجرای کدها را ادامه می‌دهد که پرامیس به وضعیت resolve یا تکمیل رفته باشد. در نتیجه خروجی کد در یک ثانیه عبارت done! را نمایش خواهد داد. همان‌طور که گفته شد، await در جاوا اسکریپت، اجرای توابع را تا زمان تکمیل پرامیس متوقف می‌کند و بعد از کامل شدن تابع داخل پرامیس، اجرای کد را مجددا از سر می‌گیرد. اما، به این نکته توجه داشته باشید که این کار هیچ‌گونه اتلاف cpu ندارد؛ چون موتور جاوا اسکریپت در این زمان می‌توان به اجرای کارهای دیگری نظیر اجرای اسکریپت‌های دیگر، رسیدگی به ایونت‌ها و… بپردازد.مثال async await در جاوا اسکریپتبرای درک بهتر مفهوم async و await در جاوا اسکریپت یک مثال از کاربرد این افزونه در جاوا اسکریپت می‌زنیم تا شما بتوانید سادگی کار با این دو ویژگی را با ویژگی‌های promise و callback مقایسه کنید. قطعه کد زیر نحوه‌ی دریافت یک منبع JSON و تفکیک آن را نشان می‌دهد:const getFirstUserData = () =&amp;gt; {return fetch(&#x27;/users.json&#x27;) // get users list.then(response =&amp;gt; response.json()) // parse JSON.then(users =&amp;gt; users[0]) // pick first user.then(user =&amp;gt; fetch(&#x60;/users/${user.name}&#x60;)) // get user data.then(userResponse =&amp;gt; userResponse.json()) // parse JSON}getFirstUserData()کد زیر همان تابع را با استفاده از async await در جاوا اسکریپت بازنویسی می‌کند:const getFirstUserData = async () =&amp;gt; {const response = await fetch(&#x27;/users.json&#x27;) // get users listconst users = await response.json() // parse JSONconst user = users[0] // pick first userconst userResponse = await fetch(&#x60;/users/${user.name}&#x60;) // get user dataconst userData = await userResponse.json() // parse JSONreturn userData}getFirstUserData()همانطور که ملاحظه می‌کنید، استفاده از async await می‌تواند کدهای ما را ساده‌تر کند. نکته‌ی آخر از این مبحث اینکه توابع آسنکرون را می‌توان به راحتی پشت سر هم زنجیر کرد و سینتکس‌شان نیز بسیار ساده‌تر از زنجیره‌های پرامیس خواهد بود. به مثال زیر توجه کنید:const promiseToDoSomething = () =&amp;gt; {return new Promise(resolve =&amp;gt; {setTimeout&#40;(&#41; =&amp;gt; resolve(&#x27;I did something&#x27;), 10000)})}const watchOverSomeoneDoingSomething = async () =&amp;gt; {const something = await promiseToDoSomething()return something + &#x27;\nand I watched&#x27;}const watchOverSomeoneWatchingSomeoneDoingSomething = async () =&amp;gt; {const something = await watchOverSomeoneDoingSomething()return something + &#x27;\nand I watched as well&#x27;}watchOverSomeoneWatchingSomeoneDoingSomething().then(res =&amp;gt; {console.log(res)})مدیریت ارورها در Async Awaitمدیریت ارورها یکی دیگر از قابلیت‌های افزونه‌ی Async Await است که به شما این امکان را می‌دهد هر گونه خطایی را به داخل ساختار try…catch ارسال کنید. به عنوان مثال:function thisThrows() {throw new Error(&quot;Thrown from thisThrows()&quot;);}try {thisThrows();} catch (e) {console.error(e);} finally {console.log(&#x27;We do cleanup here&#x27;);}// Output:// Error: Thrown from thisThrows()//   ...stacktrace// We do cleanup hereکد بالا یک دستور ساده‌ی try… catch را نشان می‌دهد که در آن تابع thisThrows() یک خطا را throw کرده و ما آن را catch می‌کنیم و در بلوک finally یک کد اختیاری برای آن اجرا می‌کنیم. این تابع را می‌توان با کمک مفهوم async و await در جاوا اسکریپت به شکل زیر پیاده سازی کرد:async function thisThrows() {throw new Error(&quot;Thrown from thisThrows()&quot;);}async function run() {try {await thisThrows();} catch (e) {console.error(e);} finally {console.log(&#x27;We do cleanup here&#x27;);}}run();// Output:// Error: Thrown from thisThrows()//   ...stacktrace// We do cleanup hereهمانطور که ملاحظه می‌کنید، استفاده از async و awaitبرای اینکار کار پیاده سازی را راحت‌تر کرده و باعث خوانایی بیشتر و درک بهتر کد می‌شود.سخن پایانیدو مفهوم async و await در جاوا اسکریپت در کنار یکدیگر چارچوبی عالی برای نوشتن و اجرای کدهای آسنکرون یا غیرهمزمان ارائه می‌دهند و خواندن و نوشتن‌شان نیز بسیار ساده است. به طور خلاصه کلمه کلیدی async دو ویژگی اصلی دارد:همیشه یک پرامیس برمی‌گرداندبه await اجازه می‌دهد تا از آن استفاده کنید.از سوی دیگر await قبل از اجرای کامل پرامیس به کدهای جاوا اسکریپت ایست می‌دهد تا مطمئن شود که:اگر خطایی رخ داد، یک exception ایجاد شود.و اگر پرامیس کامل شد مقدار خروجی را برگرداند.با کمک این دو افزونه ما به ندرت نیاز به نوشتن زنجیره‌ی پرامیس‌های پشت سر هم خواهیم داشت؛ ولی فراموش نکنید که این دو مفهوم نیز از پرامیس استفاده می‌کنند و گاهی ممکن است ناچار به استفاده از این زنجیره‌ها شویم.منبع:https://sabzlearn.ir/the-concept-of-async-and-await-in-javascript/</description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Fri, 27 May 2022 23:00:12 +0430</pubDate>
            </item>
                    <item>
                <title>کتابخانه ری اکت چیست و چه کاربردی دارد؟</title>
                <link>https://virgool.io/@masihbusiness1599/%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87-%D8%B1%DB%8C-%D8%A7%DA%A9%D8%AA-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%D9%87-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-%D8%AF%D8%A7%D8%B1%D8%AF-hnvlixcooiar</link>
                <description>ری اکت یکی از کتابخانه های اوپن سورس (متن باز) جاوا اسکریپت هست که طبق گفته داکیومنت خود آن برای ساخت رابط های کاربری وب سایت ها مورد استفاده قرار می گیرد. در این مطلب به طور کامل کاربرد، ویژگی ها و مزایای ری اکت را مورد بررسی قرار میدهیم و به شما میگوییم که ری اکت چیست.خصوصیات فریم ورک react چیست؟در پاسخ به سوال خصوصیات فریم ورک react چیست؟ باید بگوییم فریم ورک ری اکت نسبت به سایر فریم ورک‌های جاوا امتیازات زیادی دارد. از جمله مهم‌ترین خصوصیات فریم ورک ری اکت که آن را از سایر فریم ورک‌ها متمایز می‌کند، می‌توان به موارد زیر اشاره کرد:DOM مجازی: این مشخصه‌ی فریم ورک react به افزایش سرعت توسعه‌ی برنامه و انعطاف پذیری آن کمک می‌کند. DOM مجازی در این فریم ورک جایگزین اصلی شده و هر بار که برنامه تغییر داده شود، کل UI را در DOM مجازی نمایش می‌دهد.JSX: JSX را می‌توان یکی از بهترین ویژگی‌های فریم ورک ری اکت دانست. چون کار نوشتن بلوک‌ها را برای توسعه دهندگان خیلی راحت‌تر کرده است.React Native: این نسخه از react قابلیت استفاده از کدهای وب این فریم ورک برای نسخه‌های اندروید و ios را فراهم کرده؛ بنابراین کار توسعه‌ی برنامه‌های موبایل با فریم ورک ری اکت راحت‌تر شده است.اتصال داده یک طرفه: این قابلیت ریکت یعنی یک توسعه دهنده برای تغییر یک کامپوننت باید از کال بک استفاده کند و نمی‌تواند مستقیما آن را ادیت کند. این کنترل یک طرفه‌ در اپ‌های js، flux نامیده می‌شود و باعث موثرتر و انعطاف پذیرتر شدن آن‌ها می‌شود.رابط کاربری اعلانی: این ویژگی در کدهای react باعث خوانایی بیشتر و راحتی رفع باگ می‌شود. به طور کلی فریم ورک React JS بهترین پلتفرم برای توسعه‌ی رابط‌های کاربری است که هم برای دسکتاپ و هم موبایل کاربرد دارد.معماری Component Based: این قابلیت یعنی فریم ورک ری اکت از اجزای مختلف با منطق خاص خود استفاده می‌کند که نقش مهمی در تعاملات و بصری سازی اپ دارد. در ادامه مقاله بیشتر مفصل توضیح می دهیم که کامپوننت در فریم ورک react چیست و چطور ساخته می شود.امتیازات زبان ری اکتامتیازات زبان ری اکت این فریم ورک را به یک فریم ورک پرتقاضا و کاربردی در توسعه‌ی وب تبدیل کرده. اما ببینیم چه چیز باعث شهرت زبان react شد:یکی از امتیازات زبان react یادگیری آسان آن است. آموزش react منحنی یادگیری کوتاهی دارد و به خاطر همین جز فریم ورک‌های محبوب به شمار می‌رود.با کمک زبان react شما می‌توانید رابط‌های کاربری هیجان انگیزی طراحی کنید که شانس موفقیت شما را نسبت به یک رابط کاربری ضعیف بیشتر می‌کند. علت اصلی برتری زبان react js برای طراحی رابط کاربری استفاده از کامپوننت‌هاست.شاید برایتان سوال باشد بزرگ‌ترین امتیاز ری اکت چیست؟ می‌توان گفت بزرگترین مزیت استفاده از زبان react js قابلیت شخصی سازی کامپوننت‌ها است. شما می‌توانید کامپوننت‌هایی منحصر به فرد بر اساس نیازتان طراحی و پیاده کنید.قابلیت استفاده مجدد از کامپوننت‌ها در زبان ری اکت باعث افزایش سرعت و کارایی کدهای توسعه‌ دهندگان می‌شود. یک برنامه نویس وب می‌تواند با تغییر فیلدها متنی، دکمه‌ها یا هر المان دیگری، از یک کامپوننت در بخش‌های مختلف استفاده کند.ری اکت جی اس برای سئوی سایت هم یک امتیاز به شمار می‌رود. اما علت سئو دوستی react چیست؟ در واقع زبان برنامه نویسی react دو فاکتور مهم دارد که برای سئوی سایت اهمیت دارند. یکی سرعت لود بالا و دیگری سرعت بالای رندرینگ که باعث افزایش رتبه‌ی صفحات در گوگل می‌شوند.استفاده از سینتکس JSX در ری اکت یعنی چه؟در این قسمت به این سوال پاسخ می دهیم که استفاده از سینتکس JSX در ری اکت یعنی چه؟ همان طور که اطلاع دارید کتابخانه زبان برنامه نویسی react از سینتکسی به اسم JSX استفاده می کند. Jsx مخفف Java Script XML هست. برای این که نحوه نوشتن این سینتکس را یاد بگیرید باید با مفهوم XML آشنا باشید.اگر بخواهیم خیلی خیلی ساده و خلاصه توضیح بدهیم، XML را همان HTML در نظر بگیرید اما با این تفاوت که در Html تگ های از پیش تعیین شده وجود دارند که فقط مجاز به استفاده از این تگ ها هستیم و نمی توانیم از تگ هایی با اسم دلخواه استفاده کنیم. به عنوان مثال نمی توانیم از تگی به اسم &lt;Amin&gt; استفاده کنیم.اما شما در XML می توانید تگ هایی با اسامی دلخواه را ایجاد کرده و از آنها استفاده کنید. داخل ری اکت هم شما می توانید قسمت های مختلف وب سایتتان را با اسم های دلخواه ایجاد کرده و استفاده کنید.اکنون که دانستیم منظور از xml در تعریف ری اکت یعنی چه، به معنای jsx بپردازیم. به طور کلی Jsx یعنی این که ما داخل صفحات جاوا اسکریپت کد هایی در قالب Html و Xml بنویسیم. به همین دلیل در پروژه هایی که با فریمورک ری اکت توسعه داده میشوند هیچ خبری از فایل Html نیست و تمام کد های Html توسط فایل های جاوا اسکریپت Render میشوند.ری اکت Component Based هست، یعنی چی؟همان طور که در داکیومنت آموزش react گفته شده، ری اکت یک لایبرری کامپوننت بیس هست. ممکن هست برایتان سوال شود که معنی و مفهوم کامپوننت چی هست؟! کامپوننت یعنی یک تکه کوچک از یک چیز بزرگ.یعنی ری اکت وب سایت شما را تبدیل به تکه های کوچیک کرده و با قرار دادن این تکه های کوچک در کنار همدیگر، وب سایت شما ساخته میشود.حال ممکن است برایتان سوال شود که این Component Based بودن زبان برنامه نویسی react چه فایده ای دارد و چه قابلیت مثبتی به ما می دهد.تا اینجا مفهوم کامپوننت را اینطور گفتیم که یک تکه کوچک از وب سایت ما؛ مثل هدر، فوتر، باکس محصول، نوبار و ….همانطور که میدانید هدر و فوتر در همه صفحه های یک وب سایت یکسان هستند و تغییری نمی کنند.حال فرض کنید وب سایت ما 10 صفحه دارد و قطعا فوتر همه صفحات باید یکی باشد. به جای این که تمام کد های فوتر را در همه 10 صفحه بنویسیم، فوتر را تبدیل می کنیم به یک کامپوننت، با اسم مثلا Footer.js.از این به بعد در هر کدام از صفحه های وب سایتمان که به فوتر نیاز داشتیم، به جای تکرار چند خط کد های فوتر فقط اسم کامپوننت Footer را می نویسیم.این موضوع خوانایی کدهای مان را افزایش می دهد، تست نویسی را راحت تر کرده، دیباگینگ را راحت تر می کند و … بسیاری مزایای دیگر.برای شروع ری اکت چه پیش نیازهایی لازم است؟در ادامه موضوع ری اکت چیست به بررسی پیش نیازهای یادگیری آن می پردازیم. همان طور که میدانید ری اکت یکی از لایبرری (کتابخانه) های زبان جاوا اسکریپت است. پس در وهله اول متوجه می شویم که یکی از پیش نیاز های آموزش react تسلط داشتن روی جاوا اسکریپت است.اما از آن جایی که بعد ها جاوا اسکریپت آپدیت شد و ورژن های 6 الی 11 را هم ارائه داد و در هر ورژن قابلیت ها و امکانات جدیدی به جاوا اسکریپت اضافه کرد، برای شروع ری اکت علاوه بر جاوا اسکریپت 5 باید حداقل با نسخه 6 (Es6) کار کرده باشید.حالا ممکن هست برایتان سوال پیش بیاید که چه اندازه باید جاوا اسکریپت بلد باشیم تا بتوانیم کار با فریمورک ری اکت را شروع کنیم.برای شروع ری اکت چقدر باید جاوا اسکریپت بلد باشیم؟این سوال را خیلی از دوستانی می پرسند که به تازگی وارد این حوزه شده و سردرگم هستن در مورد این که برای شروع ری اکت چقدر و چه مباحثی از جاوا اسکریپت را باید بلد باشیم.برای این سوال جواب های مختلفی می توان ارائه کرد و همین طور هیچ جواب منطقی ندارد(عجب! الان برایتان واضح تر میگم)یک جواب این است که بگوییم “شما برای شروع ری اکت باید به اندازه ای جاوا اسکریپت بلد باشید که تمام پروژه هایی را که می خواهید با ری اکت بنویسید، بتوانید با خود جاوا اسکریپت هم پیاده سازی کنید”.به عنوان مثال به یاد دارم که یک بار در یکی از گروه های پرسش و پاسخ برنامه نویسی در تلگرام یکی از دوستان سوالی در مورد جاوا اسکریپت پرسیده بود و یکی دیگر از دوستان قصد راهنمایی ایشان را داشت. این دوست عزیز یک راهنمایی کوچک کرده و سپس عینا همین جمله را گفت که “میدونم در ری اکت چطور نوشته میشه، ولی نمیدونم در جاوا اسکریپت چطوری باید نوشت”!اگر بخواهیم منطقی نگاه کنیم مسیر رسیدن این عزیز به فریم ورک ری اکت کاملا اشتباه بود، چون به جاوا اسکریپت تسلط کافی نداشت و پروژه ای را که با ری اکت میتوانست بنویسد، با جاوا اسکریپت نمی توانست.ری اکت یکی از لایبرری های جاوا اسکریپت است و شما اگر چیزی را با ری اکت می نویسید، قطعا باید با جاوا اسکریپت هم بتوانید بنویسید.اما جواب بعدی به این سوال (سوال: برای شروع ری اکت چقدر باید جاوا اسکریپت بلد باشیم؟) را قصد دارم با یک مثال برایتان توضیح بدهم تا کاملا متوجه بشوید.فرض کنید دقیقا همین سوال را در حوزه های دیگر مثل رانندگی، قنادی، آشپزی بپرسیم. به عنوان مثال سوالمان این باشد که “برای تبدیل شدن به یک آشپز حرفه ای چه غذاهایی  را باید درست کرده باشیم و چه دوره های آشپزی را باید گذرونده باشیم؟!”خب واقعا همچین سوالی جواب ندارد. کاملا واضح است که شما هر چقدر تجربه آشپزی داشته و با آشپز های حرفه ای سر و کار داشته باشید و ابزار های زیادی در اختیارتان قرار گرفته باشد، به همان اندازه می توانید آشپز حرفه ای باشین.برنامه نویسی هم دقیقا همینطور است. شما هر چقدر با جاوا اسکریپت بیشتر کار کرده باشید و پروژه های بیشتر با جاوا اسکریپت نوشته باشید و همچنین با لایبرری ها و پلاگین های جاوا اسکریپت آشنایی زیادی داشته باشید، به همان اندازه می توانید با آمادگی و قدرت بیشتر وارد زبان برنامه نویسی ری اکت بشوید.پس پیشنهاد می کنم همچین سوال هایی را جایی مطرح نکنید و از کسی نپرسید. اگر میخواهید زبان برنامه نویسی react را یاد بگیرید، ابتدا چندین پروژه خوب و قابل قبول بازار کار با خود جاوا اسکریپت پیاده سازی کنید و بعد که بنا به رفرنس ها و داکیومنت جاوا اسکریپت مطمئن شدید روی جاوا اسکریپت تسلط کافی دارید، با قدرت و آمادگی کامل وارد آموزش react شوید.در این صورت وقتی ریکت را شروع کردید، اذیت نمی شوید و مسیر یادگیریتان هموار تر می شود و در مدت زمانی معقولی میتوانید به سطح خیلی خوبی برسید.تایپ اسکریپت چی؟ باید بلد باشیم؟برای جواب دادن به این سوال بهتر است اول توضیحی کوتاهی در مورد تایپ اسکریپت داده شود. تایپ اسکریپت یک زبان برنامه نویسی است که توسط شرکت مایکروسافت ارائه شده و پشتیبانی می شود.تایپ اسکریپت یک زبان برنامه نویسی اوپن سورس و کامپایلری است که قابلیت های پیشرفته و جدیدی به جاوا اسکریپت اضافه کرده و همچنین برخی از کاستی ها و نقص های جاوا اسکریپت را برطرف کرده است.به عنوان مثال شما در جاوا اسکریپت نمی توانید برای متغیر هایی که تعریف می کنید نوع (Type) تعریف کنید اما تایپ اسکریپت به شما این قابلیت را میدهد که بتوانید برای متغیر ها و همچنین ورودی توابع پروژه تان Type تعیین کنید.حال شاید بپرسید ارتباط تایپ اسکریپت و react چیست. در واقع تایپ اسکریپت بیشتر برای توسعه پروژه های بزرگ مورد استفاده قرار میگیرد. به خاطر همین موضوع شما برای شروع یادگیری ری اکت هیچ نیازی به یادگیری تایپ اسکریپت ندارید اما بعدها که وارد پروژه های بزرگ تری شدید، حتما تایپ اسکریپت را هم در مسیر یادگیری خودتان قرار بدهید.بازار کار ری اکت در چه وضعیتی قرار دارد؟همان طور که اطلاع دارید فریمورک های ویو و انگولار از رقبای فریم ورک ری اکت هستند که هر کدام سهمی از بازار کار را به خودشان اختصاص داده اند.اگر بخواهیم بازار کار زبان برنامه نویسی react را با رقبایش مقایسه کنیم، باید یک سر به سایت های مرتبط با آگهی های استخدام بزنیم.از سایت های فارسی که در این زمینه فعالیت می کنند می توان به جابینجا و کوئرا اشاره کرد.اگر بخواهیم بازار کار این 3 تکنولوژی (انگیولار، ویو و ری اکت) را مقایسه کنیم، یک سر به سایت جابینجا می زنیم تا ببینیم سهم بازار کار انگیولار، ویو و ری اکت چیست.همان طور که مشاهده می کنید، بنا به آمار و تعداد آگهی های استخدام موجود در سایت جابینجا 296 آگهی استخدام برای ری اکت، 23 تا برای ویو و 126 تا برای فریم ورک انگولار وجود دارد.پس خیلی راحت می توانیم نتیجه بگیریم که زبان برنامه نویسی ری اکت نسبت به رقیب هایش سهم بیشتری از بازار کار را به خودش اختصاص می دهد.یکی از دلایل تقاضای بالا برای آموزش react، بازار کار فوق العاده ای هست که نسبت به رقبایش دارد.ری اکت چطور کار می کند؟جلوتر به دام مجازی اشاره کردیم، اما نگفتیم که دقیقا منظور از دام مجازی در react چیست؟ در این قسمت می خواهیم درباره دام مجازی (Virtual Dom) صحبت کنیم. همانطور که میدانید مرورگر با المنت های Html وب سایت شما به طور ساختار درختی برخورد می کند. ممکن است برایتان سوال باشد که منظور از ساختار درختی چیست؟!کد های زیر را در نظر بگیرید: &lt;div&gt;&lt;nav&gt;&lt;img /&gt;&lt;div&gt;&lt;/div&gt;&lt;/nav&gt;&lt;/div&gt;وقتی شما کد های بالا را می نویسید و می خواهید در مرورگر اجرای شان کنید، مرورگر کد های شما را طبق یک ساختار درختی که به آن Dom Tree (درخت دام) می گویند، در کنار هم میچیند و در نهایت برای کد های بالا ساختار زیر را در نظر می گیرد.حالا شما وقتی با جاوا اسکریپت یک پروژه را می نویسید و در پروژه تان یک قسمتی از سایت را با جاوا اسکریپت تغییر بدهید. یعنی شما می خواهید یک قسمت از Html و Dom وب سایت را با Js تغییر بدهید.در همین ساختار بالا که توضیح داده شد اگر شما بخواهید تگ img را تغییر بدهید، بقیه قسمت هایی از Dom که به img متصل هستند و با آن ارتباط دارند را هم تغییر داده و آپدیت می کند.اگر منطقی نگاه کنیم، وقتی تگ img میخواهد اپدیت شود دیگر نیاز نیست هیچ تگ دیگری آپدیت شود و اگر همچین اتفاقی بیفتد ممکن است در سایت های کوچک تاثیر چشمگیری نداشته باشد ولی در سایت های بزرگ به سرعت به وب سایتتان آسیب جدی وارد می کند.زبان برنامه نویسی react این مشکل را حل کرده. ری اکت عزیز به جای این که با دام واقعی (Real Dom) کار کند، برای خودش یک دام مجازی (Virtual Dom) در نظر میگیرد و به این ترتیب به محض این که تغییری در یکی از قسمت های سایت اتفاق بیفتد، ری اکت قبل از این که تغییری روی Real Dom انجام دهد، اول خودش داخل Virtual Dom بررسی می کند تا متوجه بشود کدام المنت تغییر کرده و باید آپدیت شود.بعد از این بررسی، تغییر های لازم را روی Real Dom اعمال می کند. ری اکت به کمک دام مجازی فقط قسمتی که آپدیت شده را تغییر میدهد و به این ترتیب هیچ تاثیر منفی روی سرعت سایت نخواهیم داشت.چون که مبحث دام مجازی و نحوه عملکردش داخل فریم ورک ری اکت تقریبا بحث تخصصی است، ممکن است با این توضیحات تئوری مفهومش را آنطور که باید متوجه نشوید.منظور از وضعیت (state) و ویژگی (props) در ری اکت چیست؟حال ببینیم منظور از وضعیت (state) و ویژگی (props) در ری اکت  چیست و چه کاربردی دارند. در واقع هر دو مولفه برای یک کامپوننت در ری اکت استفاده می‌شوند؛ ولی تفاوت‌هایی با هم دارند:وضعیت: به متغیرهایی از یک کامپوننت گفته می‌شود که مستقیما توسط خود کامپوننت مقدار دهی و مدیریت می‌شوند.ویژگی: به متغیرهایی از یک کامپوننت گفته می‌شود که توسط والد به آن انتقال پیدا کرده است.یک وضعیت می‌تواند توسط یک ویژگی مقداردهی اولیه شود. مثلا یک کامپوننت والد می‌تواند شامل یک کامپوننت فرزند باشد و یک ویژگی را با سینتکس زیر به او انتقال دهد:1&amp;lt;ChildComponent color=green /&amp;gt;در ساختار کامپوننت فرزند می‌توان به این ویژگی دسترسی داشت: class ChildComponent extends React.Component {constructor(props) {super(props)console.log(props.color)}}هر متد دیگری در این کلاس می‌تواند با استفاده از this.props به آن ویژگی ارجاع دهد. حال props می‌تواند برای وضعیت‌های داخلی بر اساس مقدارش مورد استفاده قرار گیرد. برای درک بهتر به کد زیر نگاه کنید: class ChildComponent extends React.Component {constructor(props) {super(props)this.state.colorName = props.color}}البته کلاس می‌تواند وضعیت را بدون توجه به ویژگی نیز مقدار دهی کند. شما نمی‌توانید props را در نود فرزند تغییر دهید؛ بنابراین هر چیزی که تغییر می‌دهید باید متعلق به وضعیت کامپوننت باشد. با این اوصاف بنظرتان کاربرد ویژگی در ری اکت چیست؟ در واقع ویژگی یا همان props در یک کامپوننت به آن اجازه می‌دهد که متدهای کامپوننت والد دسترسی پیدا کند و به نوعی یک کنترل مرکزی روی کامپوننت‌های والد ایجاد می‌کند. جالب است بدانید بعضی از کامپوننت‌ها stateless هستند یعنی فقط بر اساس ویژگی‌ها، چیزهایی را نمایش می‌دهند.ری اکت برای برنامه نویسی اپلیکیشن های موبایلممکن است دیده باشید که در گروه های مجازی مرتبط با برنامه نویسی وقتی یک نفر در مورد انتخاب بین رکت، انگولار و ویو سوال می پرسد، یک شخصی پیشنهاد میکند که آموزش react را دنبال کنید. دلیلش هم این است با آن هم می شود صفحات وب پیاده سازی کرد و هم اپلیکیشن های موبایلی اندروید و IOS.همانطور که اطلاع دارید یک فریم ورک وجود  دارد به نام ریکت نیتیو. شاید ندانید که تفاوت React Native و react چیست. به طور کلی React Native  یکی از فریم ورک های جاوا اسکریپت است. شما میتوانید به کمک ریکت نیتیو اپلیکیشن های موبایلی برای سیستم عامل های اندروید و IOS پیاده سازی کنید. ریکت نیتیو به قدری قدرتمند است که توانسته سهم زیادی از بازار کار اپلیکیشن های موبایلی را به خودش اختصاص بدهد و رقیب های خودش مثل جاوا، کاتلین، سوئیفت و … را کمرنگ کند. برای اثبات این ادعا کافیست سری به وب سایت های استخدامی مثل کوئرا، جابینجا، استک اور فلو و … برنامه نویسا بزنید.همانطور مشاهده می کنید طبق آمار وب سایت جابینجا تعداد آگهی های استخدام برای ریکت نیتیو 296، برای سوئیفت 49، برای جاوا 286 و برای کاتلین 68 می باشد.خب  می توانیم نتیجه بگیریم که در بازار اندروید هم ریکت نیتیو توانسته رقبای خودش را کمرنگ کند و سهم زیادی از بازار کار را به خودش اختصاص دهد.در اسم فریمورک ریکت نیتیو از کلمه ری اکت استفاده شده و به خاطر همین موضوع خیلی از دوستانی که به تازگی وارد ری اکت میشوند دچار ابهام میشوند که ریکت نیتیو همان ری اکت است و اگر ری اکت یاد بگیریم میتوانیم به راحتی برنامه نویس موبایل هم بشویم، در حالی که اینطور نیست و تفاوت هایی بین آنها وجود دارد. این موضوع را اینجا مطرح کردم تا دوستانی که وارد آموزش react شدن، دچار چنین ابهامات و توهمات نشوند.می توانیم اینطور بگوییم اگر شما ری اکت کار کرده باشید، راحت تر از بقیه افراد میتوانید وارد ریکت نیتیو و حوزه برنامه نویسی موبایل بشوید. چون همان طور که گفته شد، بیس، اساس و سینتکس ریکت نیتیو کاملا شبیه ری اکت هست.پس می توانیم نتیجه بگیریم که یکی دیگر از دلایل یادگیری ری اکت وجود فریم ورکی به اسم ریکت نیتیو هست که می توانیم به راحتی با آن اپلیکیشن های اندروید و IOS پیاده سازی کنیم.بهترین منبع برای یادگیری ری اکت چیست؟قطعا بهترین و کامل ترین منبع برای یادگیری هر زبان برنامه نویسی، فریم ورک و لایبرری های موجود در این حوزه داکیومنت آن تکنولوژی است. اگر به دنبال این هستید که بهترین داکیومنت برای یادگیری react چیست؛ ما به شما داکیومنت ریکت در آدرس reactjs.org را پیشنهاد می کنیم.اما از آن جایی که داکیومنت ها به زبان انگلیسی هستند و ممکن است خیلی از دوستان زبان انگلیسی را خوب بلد نباشند، نمی توانند از طریق مطالعه داکیومنت بفهمند ری اکت چیست و چطور کار می کند. برای این دسته از دوستان ویدئو های یوتیوب را به همراه زیر نویس پیشنهاد می کنم.اما همان طور که در قسمت های قبلی گفته شد، شما برای شروع یادگیری ری اکت، ابتدا باید جاوا اسکریپت و اکما اسکریپت 6 را بلد بوده و با آن ها کار کرده باشید.سخن پایانیدر این مقاله قصد داشتیم در مورد این که ری اکت چیست ؟ و چه کاربرد هایی دارد صحبت کنیم و همچنین 5 دلیل برای استفاده از ری اکت مطرح شد.همان طور که در این مقاله متوجه شدید، ریکت یکی از کتابخانه های جاوا اسکریپت هست که نسبت به رقیب های خودش جامعه آماری و محبوبیت و همچنین بازار کار بهتری دارد.اگه در حوزه فرانت اند فعالیت می کنید یا قصد دارید به صورت فول استک در این حوزه حضور داشته باشید، یکی از پیشنهاد هایی که برایتان دارم ری اکت هست.پیشنهاد خیلی خیلی مهمی که برای شروع ری اکت برایتان دارم این است که بدون مسلط شدن بر جاوا اسکریپت به هیچ وجه وارد ری اکت نشوید. اول با خود جاوا اسکریپت چندین پروژه خوب و قابل قبول بازار کار پیاده سازی کنید و با لایبرری های کوچک آن آشنا شوید و وقتی که مطمئن شدید مسلط هستین، آن وقت وارد ری اکت شوید.در غیر این صورت وقتی ری اکت را شروع کنید به شدت اذیت می شوید و مسیر یادگیری خودتان را سخت و سخت تر می کنید (حتی ممکنه زده بشین).این موضوع را بالاتر برایتان مطرح کرده بودم ولی به علت این که خیلی مهم بود، نیاز دانستم اینجا هم برایتان یادآوری کنم تا برای ورود به ری اکت عجله نکنید.هرگونه سوال یا پیشنهادی در مورد ری اکت و مقاله داشتید و یا اگر مشکلی در مقاله وجود داشت، در قسمت کامنت های مقاله مطرح کنید.امیدوارم این مقاله برایتان مفید واقع شده باشد. برای دریافت اطلاعات بیشتر در مورد کتابخانه ری اکت، پیشنهاد می کنم ویدئوی مربوط به این مقاله را حتما تماشا کنید.سوالات متداولکامپوننت‌های ری اکت را چگونه باید استایل دهی کرد؟سه روش برای استایل دهی به کامپوننت‌های ری اکت وجود دارد. استفاده از CSS، استفاده از آبجکت‌های استایل دهی در جاوا اسکریپت  و استفاده از JSS که یک کتابخانه‌ی CSS ای در جاوا اسکریپت است.برای آموزش react چقدر زمان نیاز داریم؟به طور خلاصه می‌توان گفت برای حرفه‌ای شدن در این زبان شما نیاز به یک تا دوازده ماه زمان دارید. این عامل بستگی به میزان تجربه‌ی شما در زمینه‌ی زبان‌های برنامه‌نویسی وب مثل جاوا اسکریپت و همین‌طور زمانی که در طول روز برای آموزش react اختصاص می‌دهید دارد.تفاوت react با react native چیست؟ری اکت زبانی است که برای توسعه‌ی اپلیکیشن‌ها و صفحات وب دسکتاپ به کار می‌رود. React native از همان سینتکس ری اکت برای ساخت وب اپلیکیشن‌های نسخه‌ی اندروید و ios استفاده می‌کند.آیا react از جاوا اسکریپت راحت‌تر است؟می‌توان گفت درک و react به صورت خودکار انجام می‌شود. این زبان رویکردی مبتنی بر کامپوننت دارد و استفاده از جاوا اسکریپت ساده در آن، یادگیری، ساخت و پشتیبانی از برنامه‌های حرفه‌ای وب و موبایل را راحت کرده‌ است. به طور کلی react از سینتکس JSX استفاده می‌کند که خیلی راحت بوده و به شما امکان می‌دهد html و جاوا اسکریپت را با هم ترکیب کنید .آیا react جایگزین html است؟شاید ندانید که علت محبوبیت ری اکت چیست. می‌توان گفت زیبایی و جذابیت این زبان به این است که از قدرت و محبوبیت html، استفاده می‌کند ولی قرار نیست جایگزین آن باشد. شما در ری اکت می‌توانید از سینتکس ساده‌ی html برای ساخت رابط و از ویژگی‌های داینامیک جاوا اسکریپت در کنار هم استفاده کنید.منبع:https://sabzlearn.ir/what-is-react/</description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Fri, 27 May 2022 01:23:28 +0430</pubDate>
            </item>
                    <item>
                <title>چگونه در شرکت های برنامه نویسی استخدام شویم؟</title>
                <link>https://virgool.io/@masihbusiness1599/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%AF%D8%B1-%D8%B4%D8%B1%DA%A9%D8%AA-%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-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%B4%D9%88%DB%8C%D9%85-ejhrbanheajy</link>
                <description>یکی از روش های کسب درآمد از برنامه نویسی، استخدام شدن در شرکت های برنامه نویسی است. در حال حاضر شرکت های برنامه نویسی زیادی در حوزه های مختلف مشغول به فعالیت بوده و به دنبال جذب نیروهای مخالف هستند. در نتیجه اگر شما به تسلط کافی در مهارت رسیده باشید، میتوانید در این شرکت ها مشغول به فعالیت شوید. به همین واسطه در این مطلب قصد داریم به سوال چگونه در شرکت های برنامه نویسی استخدام شویم پاسخ کامل و دقیقی بدهیم.چگونه در شرکت های برنامه نویسی استخدام شویم و چه فرآیندی را باید طی کنیم؟سوال چگونه در شرکت های برنامه نویسی استخدام شویم، یکی از مهم‌ترین سوالاتی هست که هر برنامه نویسی در ابتدای کارش با اون مواجه میشه. در اون طرف ماجرا شرکت‌ها هم با این چالش رو به رو هستند که چگونه باید یک برنامه نویس خوب انتخاب کنیم. اغلب شرکت‌ها برای حل این مشکل فرآیند پذیرش نیرو را کمی پیچیده‌تر کردن و شما علاوه بر ارائه‌ی رزومه، باید مراحل دیگری را هم طی کنید.معمولا پروسه‌ای که شرکت‌ها برای استخدام برنامه نویس پیاده می‌کنند، به شکل زیر هست:دریافت رزومه از متقاضیان شغل برنامه نویسیبررسی رزومه‌ها، مهارت‌ها و سوابق کاری افراد و اولویت بندی بر اساس مهارت و تجربهانتخاب متقاضیان واجد شرایطانجام چندین مصاحبه با سمت‌های مختلف در تیم شرکت برای ارزیابی انتظارات شغلی، ارزیابی مهارت‌ها و شخصیت فرد متقاضیگرفتن آزمون عملی با تعریف پروژه‌های برنامه نویسی مختلف برای سنجش مهارت، مدیریت زمان، کیفیت، سبک کدنویسی، خلاقیت و دقت افراداگر فرد پروژه‌های قبلی خود را در طول فرآیند پذیرش ارائه دهد، امکان دارد که در طی مصاحبه از جزییات تکنیکی پروژه نیز سوال شود تا تسلط شخص روی برنامه نویسی را بسنجنددر برخی شرکت‌ها متقاضی بعد از گذراندن تمامی مراحل بالا، باید چند ماه به صورت کارآموزی با حقوقی کمتر از مبلغ توافق شده در شرکت کار کند تا هم مهارت‌هایش را اثبات کند و هم با شیوه‌ی کار شرکت آشنا شود.پیش نیازهای استخدام برای شغل برنامه نویسیاکنون فهمیدیم چگونه در شرکت های برنامه نویسی استخدام شویم و چه مراحلی را باید بگذرانیم. اما ببینیم چگونه وارد بازار کار برنامه نویسی شویم و چه پیش نیازهایی برای این کار لازم داریم؟ اول از همه شما نیاز به یک رزومه‌ی پر و پیمان دارید.شما باید حداقل یک یا چند پروژه‌ی برنامه نویسی تمام شده داشته باشید که به عنوان نمونه‌ی کار ارائه دهید. از سوی دیگر باید مسیر شغلی شما مشخص باشد. شما نمی‌توانید به مسئول مصاحبه‌ی شرکت بگویید که با تمامی زبان‌های برنامه نویسی آشنا هستید. بلکه باید یک مسیر مشخص را به صورت مسیر شغلی خود تعیین کرده باشید. مثلا برنامه نویسی وب، برنامه نویسی شبکه، برنامه نویسی موبایل، برنامه نویسی دسکتاپ و… .اگر دوره‌های خاصی برای یادگیری برنامه نویسی گذرانده‌اید هم حتما در کنار رزومه‌ی خود ارائه کنید تا مشخص شود که برای یادگیری این حرفه چقدر زمان و هزینه صرف کرده‌اید.این نکته را هم در نظر داشته باشید که رزومه‌ی شما یک شبه پر نمی‌شود و شما باید با کار در شرکت‌های کوچک شروع کنید و قدم قدم جلو رفته و رزومه‌ی خودتان را کامل کنید. پروژه‌های فریلنسری یکی از بهترین گزینه‌ها برای نمونه کار شما هستند. برای گرفتن این مدل پروژه کافیست سری به سایت‌هایی مثل پونیشا یا کارلنسر بزنید.مهارت های لازم برای استخدام در شرکت های برنامه نویسیخب ببینیم با چه مهارت‌هایی و چگونه از برنامه نویسی پول در بیاوریم. برای اینکه بتوانید خودتان را به کارفرما در شرکت‌های برنامه نویسی اثبات کند، علاوه بر مهارت‌های فنی نیاز به مهارت‌های فردی در برقراری ارتباط و اثبات جنبه‌های شخصیتی مثبت خود داشته باشید. از مهم‌ترین مهارت‌هایی که برای استخدام در شرکت های برنامه نویسی نیاز دارید، می‌توان به موارد زیر اشاره کرد:مهارت خوب در کدنویسیمهارت در درک مفاهیم برنامه نویسی و پیاده‌سازی آن‌ها در کدهامهارت‌های ریاضیمهارت حل مسئلهمهارت دیباگینگمهارت‌های کامپیوتریمهارت تایپ و ترجمهمهارت‌های ارتباطیمهارت‌های نوشتاریخلاقیت در کدنویسی و حل مسائلمهارت سازگار شدن با محیط جدیدمهارت یادگیری و آموزش دادنمهارت سخنوریصبر و حوصله برای حل مشکلات بزرگمهارت ارتباط کلامی با افراد مختلفاگر تمامی این مهارت‌ها را دارید، درک این مسئله که چگونه از برنامه نویسی پول در بیاوریم برای شما سخت نخواهد بود.استخدام در شرکت خصوصی یا دولتی؟!در اولین قدم باید بگوییم، استخدام برنامه نویس در یک شرکت خصوصی با سازمان دولتی زمین تا آسمان فرق می کند حتی اگر تخصص لازم را داشته باشید. برای استخدام برنامه نویس در سازمان ها روال اداری خاص خود را می طلبد و گاهی آزمون گرفته می شود و اکثر برنامه نویس ها سراغ شرکت های خصوصی می روند.خیال تان راحت باشد، آنقدر شرکت های فعال در زمینه برنامه نویسی و استخدام برنامه نویس در محیط کسب و کار هست که به راحتی میتوانید قید سازمان های دولتی را بزنید و در یک شرکت خصوصی استخدام شوید.شما باید از بین چندین و چند شرکت خصوصی برای استخدام برنامه نویس، معتبر ها را تشخیص دهید و همان که با تخصص شما بیشتر همخوانی دارد را انتخاب کنید. برای این موضوع هم می توانید به روزنامه نیازمندی ها و بازار کار موجود در هر استان مراجعه کنید و هم میتوانید از سایت‌های کاریابی یا اپلیکیشن‌هایی مثل دیوار، شیپور و امثالهم استفاده کنید.چگونه برای برنامه نویسی کار پیدا کنیمشاید شما هم در ابتدای راه باشید و از خودتون بپرسید که چگونه در شرکت‌ های برنامه نویسی استخدام شویم؟ خوشبختانه راه‌های زیادی وجود داره که بتوانید از طریق برنامه نویسی به کسب درآمد بپردازید. در مقاله‌ی کسب درآمد از برنامه نویسی ما توضیحات مفصلی درباره‌ی روش‌ها و میزان درآمد برنامه نویسی صحبت کردیم.جستجو در سایت های کاریابیبرخی از افراد که نمی‌توانند در زمینه‌ی برنامه نویسی کاری پیدا کنند؛ همیشه از این مسئله می‌نالند که چگونه برای برنامه نویسی کار پیدا کنیم و به کجا باید مراجعه کنیم. جواب این سوال خیلی واضح است؛ سایت‌های کاریابی. شاید راحت‌ترین راه برای پیدا کردن شغل برنامه نویسی استفاده از سایت‌های کاریابی مثل E-Estekhdam یا جابینجا باشد.شما با یک رزومه‌ی کاری خوب به راحتی می‌توانید در این سایت‌ها شغل مورد نظر خودتان را پیدا کنید و مشغول به کار شوید. شرایط شغلی متفاوتی در این سایت‌ها وجود دارد و یک برنامه نویس هم می‌تواند به صورت حضوری و هم دورکاری به استخدام شرکت‌ها درآید.جستجو در گوگلجستجو در Google نیز راه حل دیگری است که بسیار پر استفاده است. مثلا میتوانید این عناوین را برای استخدام برنامه نویس در Google جستجو کنید:استخدام در شرکت های برنامه نویسیاستخدام برنامه نویس در شرکت دانش بنیاناستخدام برنامه نویس دورکاریاستخدام برنامه نویس تازه کاراستخدام متخصص برنامه نویساستخدام برنامه نویس C#استخدام برنامه نویس PHPاستخدام برنامه نویس جاوااستخدام برنامه نویس IOSاستخدام برنامه نویس اندرویداستخدام کارآموز برنامه نویسیاستخدام برنامه نویس با حقوق بالاو…هرکدام از این ها را بخواهید دنبال بگردید، چند روز وقت تان را خواهد گرفت و بعد متوجه میشوید تعداد شرکت هایی که میتوانید به دنبال استخدام برنامه نویس بگردید بسیار زیاد است.آگهی‌های منتشر شده در روزنامه‌ها و مجلاتهنوز هم برخی شرکت‌ها در روزنامه‌های کاریابی و تراکت‌ها برای نیروی کار درخواست می‌دهند؛ پس هنوز هم می‌توانید در صفحه‌ی کاریابی روزنامه‌ها شغل برنامه نویسی پیدا کنید.کانال‌های ارتباطی در شبکه‌های اجتماعیدر شبکه‌های اجتماعی مثل تلگرام، واتس اپ و اینستاگرام نیز کانال‌های کاریابی مختلفی وجود دارند که می‌توانید با استفاده از آن‌ها به جستجوی کار موردنظر خودتان بپردازید.اپلیکیشن‌هابرنامه‌هایی مثل دیوار و شیپور نیز محل مناسبی برای پیدا کردن آگهی‌های استخدام شرکت‌هاست. البته نباید انتظار داشته باشید که شرکت‌های معتبری را در این برنامه‌ها پیدا کنید. ولی برای شروع کار این اپلیکیشن‌ها گزینه‌های مناسبی هستند.اگر شرکتی را در زمینه استخدام برنامه نویس معتبر تشخیص دادید ولی تخصص شما با آن همخوانی نداشت، یک راه حل مناسب این است که در کلاس های آموزشی شرکت کنید و تخصص خود را ارتقاء دهید. همکاری با یک شرکت خصوصی معتبر ارزش این را دارد که مدت زمانی را صرف کنید و دانش خود را افزایش دهید.دقت کنید هر چند شما دارای تخصص باشید، اما حوزه دانش برنامه نویسی بسیار گسترده است و هر چقدر یاد بگیرید، باز هم جا برای آموختن باقی است. قبول کردن این موضوع تواضع میخواهد!نکاتی که برای استخدام در شرکت های برنامه نویسی باید در نظر بگیرید.در ادامه موضوع چگونه میتوانیم در شرکت های برنامه نویسی استخدام شویم به نکات مهم برای استخدام شدن در شرکت ها می پردازیم.شما علاوه بر اینکه باید روی این مسئله تمرکز کنید که چگونه وارد بازار کار برنامه نویسی شویم ، باید روی تفکر و روحیه‌ی خودتان نیز تمرکز کنید. شما نباید انتظار بیش از حد از خودتان داشته باشید یا اگر در مصاحبه شرکت‌ها رد شدید، ناامید شوید. داشتن ذهنیت غلط درباره‌ی خودتان می‌تواند روی موفقیت شما نیز تاثیرگذار باشد. به طور کلی برای استخدام در شرکت های برنامه نویسی بهتر است به نکات زیر توجه داشته باشید:حوزه تخصصی شما دقیقا چیست؟!همانطور که گفتیم انتخاب یک حیطه‌ی شغلی مشخص شانس شما را برای موفقیت در مصاحبه و استخدام افزایش می‌دهد. شما باید پاسخ‌های دقیقی برای سوالات زیر داشته باشید:شما یک برنامه نویس Programmer هستید یا یک توسعه دهنده Developer ؟!حوزه تخصصی شما چه رشته ای از دریای گسترده برنامه نویسی را در بر می گیرد؟PHP، Studio Visual، C#، C++، Front-end یا Back-end یا .Net یا…؟!آیا برای اندروید android برنامه نویسی می کنید یا ویندوز windows؟آیا می خواهید تمام وقت کار کنید یا پاره وقت؟اینکه کدام حوزه‌ی برنامه نویسی برای شما بهتر است، نیاز به یک بررسی جامع دارد. در مقاله آینده دارترین زبان های برنامه نویسی در ایران ما به شما بهترین زبان‌های برنامه نویسی برای یادگیری و کسب درآمد را به شما معرفی می‌کنیم. یک توصیه میکنیم:اگر در خودتان استعداد کارآفرینی یا راه اندازی یک گروه دوستانه ویا فعالیت به صورت فریلنسری می بینید، به صورت پاره وقت کار کنید و بخشی از زمان را به خودتان اختصاص دهید. بسیاری هستند که از همان ابتدا روحیه کارآفرینی دارند و سایت راه اندازی می کنند و اقدام به کسب درآمد میکنند.بسیاری هم بعد از کار کردن در چند جا، خیلی زود یاد میگیرند و برای داشتن یک شرکت خصوصی اقدام میکنند. البته اگر شرکتی بزرگ و معتبر پیدا کرده اید، حتی در صورت راه اندازی یک شرکت خصوصی سعی کنید. ارتباط تان را حفظ کنید تا موارد بیشتری یاد بگیرید. فرصتی را که به دست آورده اید، به راحتی دور نیندازید. میخواهید دورکاری انجام دهید یا فعالیت به صورت حضوری در شرکت معتبر داشته باشید.کارآموزی را یک فرصت بدانیدبرای پاسخ مناسب به سوال چگونه میتوانیم در شرکت های برنامه نویسی استخدام شویم بهتر است به موضوع کارآموزی توجه داشته باشید.قرار نیست شما از همان اول به استخدام رسمی یک شرکت معتبر درآیید. شما باید دوره‌های مهارت آموزی را گذرانده باشید تا مسلط شوید. دوره‌های کارآموزی اگرچه شرایط ایده‌آلی برای درآمد ندارند، ولی فرصت خوبی برای رشد و پیشرفت شما هستند. پس از این دوره‌ها غافل نشوید و سعی کنید با کارآموزی در شرکت‌های مهم و معتبر، رزومه‌ی کاری خود را پربارتر کنید.نوع پوشش شما مهم استبه نوع لباس پوشیدن تان خیلی دقت کنید. مخصوصا در شرکت هایی که مطابق مد روز لباس می پوشند. وقتی برای مصاحبه استخدام برنامه نویس می روید، اولین چیزی که از شما در ذهن مخاطب می رود تا تصمیم درباره تان گرفته شود، نوع لباس پوشیدن شماست.انصافا خودتان هم همین طوری هستید، و در مرحله اول از روی لباس افراد درباره آن ها قضاوت میکنید.این نکته را بگوییم شرکت های جوان محور، معمولا تیپ اسپرت و راحت می پوشند. و شرکت های نسبتا رسمی، یونیفرم مخصوص دارند یا لباس رسمی مانند کت وشلوار برای آقایان ویا مانتو و چادر برای خانم ها را می پسندند. قبل از رفتن به محل مصاحبه، بهتر است درباره نوع شرکت خصوصی که آگهی استخدام برنامه نویس زده، جویا شوید چون این موضوع بسیار تعیین کننده است.اگر بتوانید عکس های کاری آن ها را پیدا کنید، میتوانید درباره نوع لباس پوشیدن آن ها تحلیل درستی داشته باشید. پوشیدن یک لباس سفید با پلیور زرشکی، به همراه کیف و کفش قهوه ای رنگ یکی از تیپ های جذاب برای مصاحبه استخدام برنامه نویس است.کارهای دورکاری شرایط بهتری برای شما دارنداگر به دنبال این هستید که چگونه وارد بازار کار برنامه نویسی شویم، بهتر است به مشاغل دورکاری نیز فکر کنید. استخدام در یک شرکت الزاما به معنی حضور در شرکت نیست و شما می‌توانید در خانه نیز همکاری خود را ادامه دهید. اگرچه حضور در محل کار می‌تواند به رشد فردی و مهارتی شما کمک شایانی کند، ولی الزاما بهترین گزینه نیست. کار دورکاری هم به خاطر ساعات کاری منعطف و کاهش هزینه‌های رفت و آمد می‌تواند شرایط بهتری برای شما ایجاد کند.اکثر ما همه چی تمام نیستیمهنگام مصاحبه و صحبت کردن با مدیر استخدام برنامه نویس هیچ گاه خود را همه چی تمام نشان ندهید. میتوانید به مدیر استخدام برنامه نویس بگویید: من فکر میکنم تخصصم برای حوزه کاری شما مناسب است ضمن اینکه دوست دارم در حین کار، موضوعات بیشتری یاد بگیرم و از تجربه شما استفاده کنم. موقع صحبت کردن، قطعی بگویید که این کار را یاد دارید انجام دهید.کمی مکث و تعلل در صحبت کردن، میتواند در ذهن مدیر استخدام برنامه نویس تردید بیندازد. اگر واقعا این کاره هستید، خب قطعی بگویید که میتوانید و از چیزی نترسید.اگر درباره کار خواسته شده فعلا تخصص لازم را ندارید، به مدیر استخدام برنامه نویس بگویید که بعدا درباره ارتقاء سطح دانش و آگاهی تان وقت خواهید گذاشت. و سعی کنید رضایتش را جلب کنید.البته با صداقت صحبت کنید چون فردا روز ادعای تان را باید در عمل نشان دهید. این تاکید را هم داریم که سر موقع برای مصاحبه حاضر شوید، زودتر اگر خواستید میتوانید بروید اما دیر رفتن یک نمره منفی خواهد بود.داشتن رزومه کاری موثر استاگر رزومه کاری در دیگر شرکت ها داشته باشید که عالیست. حتی رزومه کاری در شرکتی که فقط کارآموز بوده اید کمک کننده است. اما اگر رزومه نداشتید و به عنوان کارآموز میخواهید کار کنید، ویا این اولین باری است که میخواهید در جایی استخدام شوید و شروع به کار کنید، به عبارت ساده تر، تازه کار هستید،میتوانید از پروژه های دانشگاهی و یا پروژه هایی که در آموزشگاه انجام داده اید استفاده کنید و به عنوان نمونه کار نشان دهید.اگر پروژه های دانشگاهی دارید که نصفه کاره مانده است، حتما وقت بگذارید و تمام کنید. برنامه نویسی شغلی است که واقعا تخصص اولیه میخواهد و از صفر نمیتوان در یک شرکت معتبر استخدام شد مگر به صورت کارآموز.دانش بنیان باشیددر ادامه موضوع چگونه میتوانیم در شرکت های برنامه نویسی استخدام شویم به موضوع دانش بنیان بودن اشاره می کنیم.لیست شرکت های دانش بنیان را میتوانید از Google بگیرید. شرکت های دانش بنیان هم شرایط کاری خوبی دارند هم محیط کاری شان مناسب است.ضمن اینکه امکان ارتقاء و پیشرفت در آن دارید.سعی کنید با شرکتی  همکاری کنید که شما را کمک دهد تا در آینده بتوانید رو پای خود بایستید و یک استارت آپ تشکیل دهید. برای تشکیل یک شرکت برای خودتان ویا راه اندازی استارت آپ واقعا تخصص زیادی لازم نیستو فقط همت و اراده میخواهد و اینکه خود را باور داشته باشید که میتوانید و البته باید بسیار برای آن وقت بگذارید. بعضی دنبال شرکت زدن هستند برای اینکه راحت تر زندگی کنند که البته بعد از چندین سال چنین حالتی را خواهد داشت و از جهاتی هم زدن شرکت نیازمند کار و فعالیت شبانه روزی است.به خاطر دارم در شبکه افق و در برنامه کارآفرینان یکی از کارآفرین های موفق که کارخانه دار میلیاردر هم بود، بعد از این همه سال فعالیت در حوزه تخصصی خودش میگفت که امروزه درآمد در حوزه فناوری اطلاعات و اینترنت و کامپیوتر است. چون یک فرد زرنگ و عاقل در ثانیه ای میتواند چندین میلیون پول دربیاورد. همان طور که بزرگ ترین شرکت های برنامه نویسی هم همین طور شروع کرده اند.سایت فریلنسری دست شما را برای تعیین مکان و زمان کارتان باز می گذارندشما با فعالیت در یک سایت فریلنسری اگر در سفر هم باشید، میتوانید پروژه دریافت کنید و خرج خود را دربیاورید. یکی از این سایت ها، سایت انجام میدم هست که چندین لوح تقدیر و گواهی نامه از سازمان های معتبر هم دارد. بسیارند کسانی که ابتدا با یک سایت فریلنسری شروع کرده اند و بعد از مدتی خودشان سایت زده اند ویا درآمد بسیار خوبی از این راه دارند.همکاری با یک شرکت معتبر در ابتدا هم تجارب زیادی برای شما به ارمغان خواهد داشت هم جلوی بسیاری از خطا ها را خواهد گرفت. ضمن اینکه شرکتهای معتبر میتوانند در ایده پردازی کمک بسیاری به فکر و خلاقیت شما داشته باشند. شاید یک روز هم شما آگهی استخدام برنامه نویس زدید.اپلیکیشن های روز دنیا را امتحان کنیداپلیکیشن هایی مانند بازار و مایکت که اپلیکیشن اندروید عرضه می کنند، پر است از دنیای شرکت های برنامه نویس که بعضا هم برای استخدام برنامه نویس اقدام می کنند. میتوانید با جستجو و بررسی در این نوع اپلیکیشن ها با شرکت های معتبر استخدام برنامه نویس بسیاری آشنا شوید. همچنین میتوانید از این اپلیکیشن برای ایده گرفتن ویا نمونه کار استفاده کنید.ایده گرفتن برای تاسیس یک شرکت خصوصی ویا ایده گرفتن برای اینکه یک پروژه خودتان طراحی و برنامه نویسی کنید که در روز مصاحبه برای استخدام برنامه نویس بتوانید ارائه کنید، البته بدون کپی کردن و با استفاده از هوش و توانمندی خودتان.فعالیت در خارج از ایرانبرای کسانی که متخصص هستند و رزومه خوبی دارند، امکان فعالیت در خارج از ایران هم هست. گرچه کشور ما اینقدر غنی هست که نیازی به فعالیت در خارج از آن نیست. و اگر شما واقعا متخصص باشید راحت میتوانید کار مناسب شان خود پیدا کنید. اما در هر صورت راه باز است و جاده دراز. و البته فعالیت در کشور های خارجی هزینه ها و شرایط و سختی های خود را می طلبد. در Google این عناوین پر نکرار هستند:استخدام برنامه نویس در ترکیهاستخدام برنامه نویس در آلماناستخدام برنامه نویس در کانادااستخدام برنامه نویس در استرالیاو…استخدام در شهری دیگر در ایراندرباره استخدام در خارج از شهر خود هم ایده خوبی است. اگر مشکل جا و مکان برای زندگی نداشته باشید، خوب است بدانید بسیاری از افراد که در شهر های بزرگ فعالیت می کنند و به کسب درآمد مشغول هستند ویا حتی صاحب شرکت خصوصی هستند، از شهرستان آمده اند اما ذهن های خلاق و فعالی دارند.در Google این عناوین پر تکرار هستند:استخدام برنامه نویس در تهراناستخدام برنامه نویس در اصفهاناستخدام برنامه نویس در شیرازاستخدام برنامه نویس در کرجاستخدام برنامه نویس در تبریزو…در ادامه مطلب چگونه میتوانیم در شرکت های برنامه نویسی استخدام شویم به بررسی نکات مهم تر می پردازیم.ناامید نشوید و شانس‌تان را برای هر جایی امتحان کنیدفکر نکنید قرار است با چند بار ارسال رزومه شغل دلخواهتان را پیدا کنید. شاید مجبور شوید به صد شرکت رزومه بفرستید تا بتوانید یک فرصت شغلی خوب به دست بیاورید. چیزی که مهمه اراده و پشتکار. شما نباید ناامید باشید و دست از تلاش بردارید. همیشه بهترین‌ها با زمان به دست میان.بگذارید کارفرما اشتیاق شما را ببیندموقع ارائه‌ی رزومه و مصاحبه و حتی در حین کارآموزی نشان دهید که به کار چقدر علاقه دارید. معمولا برای ارزیابی میل و علاقه‌ی شما به کار چندین فاکتور را کارفرما در نظر می‌گیرد؛ مثلا کیفیت کار، وقت شناسی، پیگیری، پرس و سوال و… .?ویژگی‌ های یک رزومه‌ خوب برای استخدامتا اینجای مقاله شما متوجه شدید که چگونه در شرکت های برنامه نویسی استخدام شویم و چه فاکتورهایی روی موفقیت ما تاثیر دارند. حتما این مسئله را نیز متوجه شدید که رزومه در فرآیند استخدام حرف اول را می‌زند. شما با یک رزومه‌ی خوب می‌توانید شانس‌تان را برای استخدام چند برابر کنید. از مشخصات یک رزومه‌ی خوب می‌توان به موارد زیر اشاره کرد:استاندارد بودن: رزومه‌ها معمولا یک فرمت استاندارد دارند و باید طبق همان فرمت نوشته شوند.کامل بودن: یک رزومه‌ی مناسب اطلاعات کافی درباره‌ی شما ارائه می‌دهد. در محتوای رزومه باید تمامی مهارت‌ها و سوابق خودتان را ذکر کنید؛ ولی گزافه گویی نکنید.منظم بودن: سعی کنید محتوای رزومه را دسته بندی کنید و در هر بخش به یک مقوله بپردازید. رزومه‌ی بهم ریخته نشان از بهم ریختگی افکار شما دارد.زیبایی: توجه به جنبه‌های گرافیکی و زیبایی رزومه نیز اهمیت دارد. یک رزومه‌ی مرتب و زیبا می‌توان در نگاه اول مخاطب را جذب کند.خلاصه نویسی: اگر در محتوای رزومه بیش از حد روی مهارت‌های خود مانور دهید، حس بدی به مخاطب القا می‌شود و نمی‌تواند به شما اعتماد کند.توجه به نکات ضروری: قرار نیست هر چیزی که در مسیر حرفه‌ای شدن خود تجربه کرده‌اید را در رزومه قید کنید. بهتر است فقط مهارت‌های مهم و کاربردی را بنویسید و پروژه‌هایی که قابل ارائه هستند را در رزومه قرار دهید.سخن پایانیبسیاری از کسانی که وارد دنیای برنامه نویسی می‌شوند، با این چالش روبرو هستند که چگونه در شرکت های برنامه نویسی استخدام شویم و چگونه از برنامه نویسی پول در بیاوریم. اما برای استخدام در شرکت‌های برنامه نویسی شما باید یکسری پیش نیازهای کاری را تامین کرده و یکسری مهارت‌ها داشته باشید. در مقاله پیش نیاز های شروع برنامه نویسی مفصل درباره‌ی ملزومات شروع برنامه نویسی صحبت کردیم.در این مقاله به طور مفصل برای شما توضیح دادیم که چگونه در شرکت های برنامه نویسی استخدام شویم و چه مواردی را برای استخدام باید رعایت کنیم. اگر شما هم دلتان می‌خواهد در یک شرکت معتبر در سمت برنامه نویس مشغول به کار شوید، همین امروز دست به کار شوید و با تقویت مهارت‌های خود و ساخت یک رزومه‌ی حرفه‌ای این فرصت را از خودتان دریغ نکنید.امیدواریم از این مقاله لذت برده باشید. بریم پادکست مدرسه برنامه نویسا رو گوش کنیم.سوالات متداولبدون داشتن مدرک دانشگاهی چگونه در شرکت های برنامه نویسی استخدام شویم؟خوشبختانه در حوزه‌ی کامپیوتر، تحصیلات دانشگاهی تاثیر چندانی روی استخدام افراد ندارد. کارفرمایان خصوصا در شرکت‌های خصوصی و کوچک تاکید کمتری روی مدرک دانشگاهی دارند و بیشتر روی مهارت‌های برنامه نویسی فرد تمرکز می‌کنند. داشتن نمونه کارهای قوی می‌تواند نبود مدرک دانشگاهی شما را جبران کند.آیا می‌توان همزمان با تحصیل نیز به شغل برنامه نویسی مشغول شد؟بله خوشبختانه برنامه نویسی شغلی است که نیاز به تجهیزات و مکان خاصی ندارد و شما می‌توانید به صورت دورکاری یا حضوری همزمان با تحصیل نیز کارتان را ادامه دهید.دانستن چند زبان برنامه نویسی برای استخدام در شرکت‌های برنامه نویسی لازم است؟جواب این سوال بستگی به شرکتی دارد که می‌خواهید استخدام شوید. همچنین حوزه‌ی کاری شما نیز مهم است. یک برنامه نویس وب اگر زبان‌های برنامه نویسی فول استک را بلد باشد، شانس بیشتری برای پذیرش دارد؛ ولی برای یک برنامه نویس دسکتاپ تسلط کافی روی یک یا دو زبان برنامه نویسی کفایت می‌کند.بهترین سایت های کاریابی در ایران کدام سایت‌ها هستند؟بهترین سایت‌های کاریابی برای استخدام برنامه نویس در ایران طبق رتبه‌بندی الکسا، سایت‌های زیر هستند:کارلنسرجابینجاایران تلنتای استخدامایران استخدامکارلیبسه سوت جابزکاربومجاب ویژنکاریاب ایرانایران جابمنبع:https://sabzlearn.ir/stages-hiring-programming-companies/</description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Fri, 27 May 2022 00:48:01 +0430</pubDate>
            </item>
                    <item>
                <title>کاربرد جاوا اسکریپت در هوش مصنوعی</title>
                <link>https://virgool.io/@masihbusiness1599/%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%AF%D8%B1-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-qvnwgpfslpci</link>
                <description>جالب است بدانید که زبان جاوا اسکریپت در حوزه هوش مصنوعی نیز کاربرد دارد. هوش مصنوعی جاوا اسکریپت، به توسعه‌ دهندگان کمک می‌کند تا AI را به اپلیکیشن‌های مرورگر وب نیز اضافه کنند و برنامه‌های تحت وب هوشمندی بسازند. در این مطلب قصد داریم به صورت تخصصی کاربرد جاوا اسکریپت در هوش مصنوعی را مورد بررسی قرار میدهیم.هوش مصنوعی چیست و چه زیرشاخه هایی داردهوش مصنوعی یا اختصارا AI همان‌طور که از نامش پیداست، به قابلیت ادراک ماشین‌ها گفته می‌شود؛ به بیان دیگر به توانایی درک و شبیه‌سازی تفکر انسانی توسط یک ماشین یا همان کامپیوتر، هوش مصنوعی گفته می‌شود. در هوش مصنوعی ما چند زیرشاخه داریم:یادگیری ماشین یا به اختصار ML: به مجموعه‌ای از روش‌ها و تکنیک‌ها برای تحلیل داده‌های ورودی یک ماشین گفته می‌شود که به آن کمک می‌کند تا شرایط را ارزیابی کرده و اقدام درست را انتخاب کند. در یادگیری ماشین داده‌های ورودی به روش‌های مختلف جمع‌آوری شده و با تکنیک‌های تجزیه‌ و تحلیل تعریف شده توسط انسان ارزیابی می‌شوند. سپس بر اساس نتایج به دست آمده، ماشین عمل واکنش مناسب خود را انتخاب می‌کند. یادگیری ماشین امروزه در فناوری‌های گوناگون نفوذ پیدا کرده و ردپای آن را می‌توان در بخش‌های مختلفی نظیر شناسایی تصویر و صدا، تشخیص بیماری‌ها، تحلیل‌های آماری، خودروسازی و… مشاهده کرد. فریمورک‌های مختلفی برای آموزش هوش مصنوعی در جاوا اسکریپت وجود دارند که تکنیک‌های یادگیری ماشین را پیاده سازی می‌کنند.یادگیری عمیق یا Deep Learning: به روش‌های از یادگیری ماشین گفته می‌شود که بر اساس شبکه‌های عصبی مصنوعی کار می‌کنند و به کامپیوتر یاد می‌دهند که چطور مانند انسان فکر و عمل کند. یادگیری عمیق را می‌توان زیرشاخه‌ای از یادگیری ماشین نیز دانست که سعی دارد مغز یک انسان را شبیه سازی کند و از برای این کار از الگوریتم‌ شبکه‌های عصبی استفاده می‌کند. از این فناوری در خودروسازی، صنایع نظامی و هوایی، پردازش تصویر و پزشکی استفاده‌ی گسترده‌ای می‌شود.چرا هوش مصنوعی در جاوا اسکریپت؟شاید شما هم از شنیدن عنوان هوش مصنوعی در جاوا اسکریپت، کمی تعجب کرده باشید و به نظرتان این کار کمی غیر معمول بیاید. بسیاری از شرکت‌های فعال در حوزه‌ی هوش مصنوعی این روزها از پایتون یا اسکالا برای پیاده‌سازی اپلیکیشن‌های خود استفاده می‌کنند؛ اما، این دلیل نمی‌شود که زبان برنامه‌ نویسی جاوا اسکریپت را برای هوش مصنوعی نادیده بگیریم. بد نیست بدانید بر اساس آمار اعلام شده در گیت هاب، زبان جاوا اسکریپت سومین زبان مناسب برای هوش مصنوعی محسوب می‌شود؛ بنابراین ارزش آن را دارد که برای پروژه‌های بعدی خود در زمینه‌ی AI، به فکر آموزش هوش مصنوعی با جاوا اسکریپت باشید.مزایا و معایب هوش مصنوعی در جاوا اسکریپتدر ادامه مبحث کاربرد جاوا اسکریپت در هوش مصنوعی به بررسی مزایا و معایب این زبان در حوزه هوش مصنوعی میپردازیم.از جمله مزایای پیاده سازی ماشین لرنینگ با جاوا اسکریپت می‌توان به موارد زیر اشاره کرد:امنیت: برخلاف پایتون، زبان جاوا اسکریپت برای امنیت ساخته شده است. جاوا اسکریپت به کسانی که شما به آن‌ها اعتماد ندارید؛ مثل گوگل و آمازون، در زمان‌ اجرای اسکریپت‌هایشان روی کامپیوتر شما، اجازه دسترسی به فایل‌ها و اطلاعات محرمانه‌ی‌تان را نمی‌دهد. چرا که جاوا اسکریپت به فایل‌ها و حتی سیستم‌ عامل دسترسی ندارد. این امتیاز بزرگ، جاوا اسکریپت را به زبانی ایده‌آل برای پیاده‌سازی و استقرار فریمورک‌های AI تبدیل کرده است.عملکرد: سرمایه گذاری زیادی روی عملکرد سریع جاوا اسکریپت شده است و این زبان یکی از سریع‌ترین زبان‌ها برای اجرا در مرورگرهاست. می‌توان گفت سرعت امتیاز رقابتی این زبان برنامه نویسی محسوب می‌شود. اپل، مایکروسافت و گوگل تلاش زیادی برای ساخت برنامه‌های سریع و سبک با این زبان کرده‌اند و این زبان در حال حاضر به لحاظ عملکردی پتانسیل خیلی خوبی برای اجرای پروژه‌های AI دارد.شهرت: زبان جاوا اسکریپت یک زبان محبوب است و کاربردهای زیادی در زمینه‌های مختلف دارد. از این زبان برای ساخت پنل‌های مدیریت و همینطور ساخت انواع نمودار و داده‌ی بصری استفاده می‌شود. بسیاری از توسعه‌ دهندگان وب با این زبان آشنایی دارند و این کار را برای آموزش هوش مصنوعی با جاوا اسکریپت راحت‌تر می‌کند.زمان توسعه: جاوا اسکریپت نیز مشابه پایتون یا حتی بیشتر از آن سریع است و زمان توسعه‌ی کمی دارد. هر دو زبان دیباگینگ راحت و چارچوب‌های توسعه‌ی خوبی دارند و از پشتیبانی گسترده‌ای بهره می‌برند. وجود کتابخانه‌های هوش مصنوعی نظیر SYNAPTIC در این زبان کار پیاده‌سازی یادگیری ماشین و حتی یادگیری عمیق را راحت و لذت بخش کرده است.قدرت در توسعه‌ی وب اپلیکیشن‌ها: در حال حاضر جاوا اسکریپت یکی از قدرتمندترین زبان‌ها برای توسعه‌ی برنامه‌های تحت وب محسوب می‌شود و کاربرد این زبان برای برنامه‌های هوش مصنوعی تحت وب بسیار انتخاب مناسبی است.زبان چند پلتفرمی: زبان جاوا اسکریپت یک زبان چند پلتفرمی است و نه تنها برای برنامه‌های تحت وب بلکه برای برنامه‌های دسکتاپ هم کاربرد دارد و به شما امکان می‌دهد برنامه‌های موبایل خود را برای دسکتاپ نیز توسعه دهید. همچنین شما می‌توانید کدهای خود را در محیط سرور نیز اجرا نمایید.معایب پیاده سازی ماشین لرنینگ با جاوا اسکریپت در هوش مصنوعیمحدودیت داده: با وجود تمام مزیت‌هایی که استفاده از هوش مصنوعی در جاوا اسکریپت دارد، کتابخانه‌های این حوزه نظیر js محدودیت‌هایی دارند؛ مثلا این کتابخانه‌ها عموما به صورت پیشفرض به فایل‌های سیستمی در محیط هاست دسترسی ندارند. این مسئله باعث می‌شود که منابع داده‌ای در دسترس محدود باشند و در اندازه‌ی فایل‌ها نیز محدودیت‌هایی اعمال می‌شود.تک رشته‌ای: کتابخانه‌های جاوا اسکریپت غالبا تک رشته‌ای هستند و این مسئله در هنگام دانلود همزمان ممکن است عملکرد برنامه‌ را از بین ببرد. توسعه‌ دهندگان می‌توانند با ایجاد رشته‌های اصلی بیشتر، بر این موضوع غلبه کنند.پروژه‌های ماشین لرنینگ با جاوا اسکریپتتا اینجا فهمیدیم که هوش مصنوعی جاوا اسکریپت عملکرد خوبی دارد و توسعه دهندگان زیادی از آن استقبال کرده‌‌اند. این زبان برنامه نویسی فریمورک‌های مختلفی برای یادگیری ماشین یا همان ماشین لرنینگ دارد که در ادامه برخی از مهم‌ترین آن‌ها را با هم بررسی می‌کنیم تا برای آموزش هوش مصنوعی با جاوا اسکریپت آن‌ها را بشناسید:TensorFlow.jsاین فریمورک را کمپانی گوگل ارائه کرد و از کتابخانه‌ها و ابزارهای مختلفی برای توسعه‌ی برنامه‌ها بر اساس شبکه عصبی دارد. با کمک این فریم ورک برنامه‌هایی در زمینه‌ی شناسایی، دسته بندی و ردیابی تصاویر را می‌توان پیاده سازی کرد. هسته‌ی فریمورک TensorFlow.js در c++ نوشته شده و از شبکه‌های عصبی پیشرفته‌ای برای یادگیری ماشین استفاده می‌کند.STDLibدر موضوع کاربرد جاوا اسکریپت در هوش مصنوعی، STDLib یکی دیگر از فریم ورک های رایج و کاربردی است.از این فریم ورک برای پیاده سازی مدل‌های آماری و ریاضی استفاده می‌شود و بیشتر برای برنامه‌های تحلیل داده کاربرد دارد. STDLib مجموعه‌ی وسیعی از توابع ریاضی را پشتیبانی می‌کند و API های مختلفی برای آنالیز داده‌ها دارد. از دیگر کاربردهای این فریمورک می‌توان به تعیین اعتبار داده و تشخیص فیچرها اشاره کرد.ConvNetJSفریمورک ConvNetJS را دانشگاه استنفورد توسعه داد و به عنوان یکی از پیشرفته‌ترین فریمورک‌های جاوا اسکریپت برای یادگیری عمیق شناخته می‌شود که در مرورگر و NODE.JS به کار می‌رود. این فریمورک برای شبکه‌های عصبی مصنوعی استفاده می‌شود و کار پردازش تصویر را به شکل حرفه‌ای انجام می‌دهد. مدل یادگیری در این فریمورک Reinforcement است که یک مدل کاربردی در یادگیری عمیق محسوب می‌شود. از ConvNetJS می‌توان برای عملیات مختلف هوش مصنوعی نظیر رمزنگاری داده، تشخیص خطا و الگو استفاده کرد. امتیاز دیگر این فریمورک سادگی پیاده‌ سازی آن است؛ اگرچه ممکن است کندتر از سایر فریمورک‌های این حوزه عمل کند.Brain.jsفریمورک Brain.js در واقع یک کتابخانه برای ماشین لرنینگ در جاوا است. این کتابخانه در سمت کاربر یا سرور با node.js اجرا می‌شود و شبکه‌های عصبی را به شکلی پیشرفته پیاده سازی می‌کند. انواع شبکه‌های عصبی اعم از شبکه‌های عصبی feed forward، شبکه‌های عصبی بازگشتی و شبکه‌های حافظه را می‌توان با این کتابخانه‌ها طراحی و اجرا کرد.DeepForgeDeepForge را نمی‌توان یک کتابخانه دانست. این ابزار در واقع محیطی برای طراحی مدل‌های یادگیری عمیق محسوب می‌شود. رابط بصری DeepForge برای می‌تواند در مرورگر کروم مدل‌های شبکه‌ی عصبی را پیاده سازی کرده و نمایش دهد؛ اما، سایر مرورگرها توانایی اجرای آن را ندارند. در پروژه‌های DeepForge شما نیاز به node.js و mongoDB دارید.Keras.jsکراس یکی دیگر از کتابخانه‌های شبکه عصبی است که در آموزش هوش مصنوعی با جاوا اسکریپت به آن پرداخته می‌شود. این کتابخانه نیز برای مدل‌های یادگیری عمیق به کار می‌رود و در اکثر سیستم عامل‌ها پشتیبانی می‌شود. زبان مادر این فریمورک پایتون است و دومین کتابخانه‌ی محبوب برای deep learning محسوب می‌شود. سازمان‌های بزرگی مثل ناسا و سرن برای پروژه‌های ماشین لرنینگ خود از این کتابخانه استفاده می‌کنند و گزینه‌ی مناسبی برای استارتاپ‌ها در جهت ارتقای عملکردهای دیجیتالی به شمار می‌رود.WebDNNفریمورک WebDNN هنر دست ژاپنی‌هاست و با هدف اجرای الگوهای شبکه عصبی پیشرفته در مرورگرها طراحی شده است. امتیاز این فریمورک سرعت بالای آن است و این کار را با بهینه سازی مدل‌ها و فشرده کردن داده‌ها انجام می‌دهد.  این فریمورک از WebAssembly   برای افزایش سرعت پردازش داده استفاده می‌کند و با کمک یکسری ابزارها امکان طراحی گرافیک سه بعدی را برای کاربر فراهم می‌سازد.Synapticشاید شما هم نام سیناپتک را شنیده باشید. سیناپتک یک پروژه برای اجرای هوش مصنوعی در جاوا اسکریپت است و با کمک می‌توانید شبکه‌های عصبی مختلف را در انواع مرورگرها یا در سمت سرور اجرا کنید. در این فریمورک شما می‌توانید از نمونه‌های از پیش ساخته شده استفاده کنید و سرعت کارتان را بالا ببرید.Mindمایند نیز از آن دسته فریمورک‌های هوش مصنوعی جاوا اسکریپت است که هم در سمت سرور و هم در سمت کلاینت می‌توانید از آن استفاده کرده و انواع مدل‌های ماشین لرنینگ را با کمک آن پیاده کنید.Deep playgroundDeep playground یک برنامه‌ی تحت وب برای آموزش هوش مصنوعی با جاوا اسکریپت است که با کمک آن می‌توانید شبکه‌های عصبی مختلف را شناخته و با آن‌ها کار کنید. گرافیک این ابزار بسیار جذاب بوده و به راحتی قابل استفاده است. همچنین شما می‌توانید ورودی‌ها، نورون‌ها و الگوریتم‌های استفاده شده در شبکه‌ی عصبی خود را تنظیم کرده و هر آنچه برای اجرای ماشین لرنینگ نیاز دارید را یاد بگیرید.Land Linesلند لاینز یک پروژه قابل اجرا روی مرورگر کروم است که از طریق تصاویر ماهواره‌ای هر قسمت از زمین را نمایش می‌دهد و بدون نیاز به سرور به صورت کامل روی مرورگر اجرا می‌شود. این ابزار ریسپانسیو بوده و می‌توانید آن را روی دستگاه‌های موبایل نیز استفاده کنید.Thing Translatorاین پروژه‌ی آزمایشی یک کاربرد ساده و در عین حال جالب از هوش مصنوعی را در یک برنامه‌ی موبایل اجرا کرده است. با کمک این ابزار شما می‌توانید تصاویر دنیای واقعی را شناسایی کنید و نامشان را به زبان‌های مختلف ببینید. در این برنامه از دو ابزار گوگل یعنی Cloud Vision و Translate API برای شناسایی تصویر و ترجمه‌ی نام آن استفاده می‌شود.Machine_learningماشین لرنینگ یک کتابخانه هوش مصنوعی در جاوا اسکریپت است که به شما کمک می‌کند شبکه‌های عصبی را بسازید و بهتر آن‌ها را یاد بگیرید. این کتابخانه نصب ساده‌ای دارد و به راحتی می‌توانید از این کتابخانه‌ی جاوا اسکریپتی استفاده کنید.سخن پایانیدر این مطلب به بررسی کاربرد جاوا اسکریپت در هوش مصنوعی پرداختیم. هوش مصنوعی آینده‌ی زندگی انسان را می‌سازد و اغلب زبان‌های برنامه نویسی بزرگ دنیا به سمت پیاده‌سازی آن می‌روند. جاوا اسکریپت هم از این قاعده مستثنی نیست؛ ولی راه درازی تا رسیدن به نقطه‌ی کمال در این زمینه دارد. با این وجود می‌توان گفت زبان جاوا اسکریپت به واسطه سادگی، سرعت و سبکی آن می‌تواند یک گزینه‌ی مناسب برای پروژه‌های هوش مصنوعی تحت وب  و دسکتاپ باشد. در حال حاضر پروژه‌های هوش مصنوعی مختلفی در جاوا اسکریپت پیاده سازی شده است که در این مقاله به بررسی برخی از مهم‌ترین‌هایشان پرداختیم تا شما را با کاربرد هوش مصنوعی در این حوزه آشنا کنیم. آموزش هوش مصنوعی در جاوا اسکریپت می‌تواند شما را برای ساخت اپلیکیشن‌های و وب اپلیکیشن‌های هوشمندانه در این زمینه یاری کند و انتخاب خوبی برای سازگاری با نیازهای جدید این حوزه باشد.سوالات متداولآیا سرعت جاوا اسکریپت برای پیاده سازی هوش مصنوعی از زبان برنامه نویسی R بیشتر است؟بله تجربه نشان داده است که جاوا اسکریپت در مقایسه با پایتون و R سرعت بیشتری در اجرای برنامه‌های هوش مصنوعی دارد.آیا برای یادگیری هوش مصنوعی در جاوا اسکریپت نیاز به دانستن زبان‌های پایتون یا R هست یا خیر؟خیر شما می‌توانید بدون نیاز به هر زبان دیگری، هوش مصنوعی در جاوا اسکریپت را یاد بگیرید؛ البته قبل از آن شما باید کاملا با مفاهیم و مدل‌های AI آشنایی داشته باشید و کتابخانه‌های این حوزه در جاوا اسکریپت را بشناسید.آموزش هوش مصنوعی با جاوا اسکریپت چقدر زمان نیاز دارد؟اگر شما به زبان جاوا اسکریپت مسلط باشید، برای یادگیری و تمرین مفاهیم هوش مصنوعی به شش ماه زمان نیاز خواهید داشت؛ ولی اگر هنوز زبان جاوا اسکریپت را یاد نگرفته‌اید بهتر است روی یک سال برنامه ریزی کنید تا بتوانید هر دو مقوله را در کنار هم پیش ببرید.آیا برای یادگیری هوش مصنوعی به کدنویسی نیاز است؟در روش‌های سنتی آموزش‌های مرتبط با AI همراه با برنامه‌نویسی نرم افزار ارائه می‌شد؛ اما، امروزه دانشجویان و محققان این حوزه می‌توانند به صورت بصری و بدون نیاز به کدنویسی با مفاهیم هوش مصنوعی و ماشین لرنینگ آشنا شوند و درک بهتری از هوش مصنوعی کسب کنند. از طرف دیگر آموزش‌های زیادی در این زمینه در اینترنت و سایت‌های ایرانی و خارجی می‌توان یافت که شما را در یادگیری آن یاری می‌کند.منبع:https://sabzlearn.ir/artificial-intelligence-with-javascript/ </description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Thu, 26 May 2022 23:59:31 +0430</pubDate>
            </item>
                    <item>
                <title>پاگ (pug) چیست و چه کاربردی دارد؟</title>
                <link>https://virgool.io/@masihbusiness1599/%D9%BE%D8%A7%DA%AF-pug-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%D9%87-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-%D8%AF%D8%A7%D8%B1%D8%AF-dy66nsnzf7mh</link>
                <description>شاید یک طراح وب باشید ولی ندانید که pug چیست و چه کاربردی دارد. اگر شما هم از دستورات تکراری و استاتیک زبان نشانه گذاری html خسته شده‌اید؛ pug می‌تواند خیلی از مشکلات شما را حل کند. نوشتن برنامه‌ها به زبان html نیازمند تعداد خط کدهای زیادی است و نمی‌توانید در آن هیچ تگ جدیدی ایجاد کنید. یکی از معایب این زبان که باعث طولانی‌تر شدن کدها می‌شود، نبود امکان استفاده‌ی مجدد از یک تکه کد است. این مسئله به همراه بسیاری مسائل و مشکلات دیگر در html باعث شدند که ایده‌ی توسعه‌ی سیستم‌های قالب نویسی شکل بگیرد. آموزش html به صورت حرفه ای چیزی که نیاز هستش بدونین این سیستم‌ها علاوه‌بر توسعه‌ی ساده‌تر کدهای html، امکانات بیشتری نیز برای توسعه‌ی صفحات وب ارائه می‌دهند. پاگ یکی از همین سیستم‌هاست که کار طراحی صفحات وب را بسیار ساده کرده است. در این مقاله قصد داریم به این موضوع بپردازیم که پاگ چیست و چه امتیازاتی نسبت به html ساده دارد. پاگ (pug) چیست؟ اگر شما هم به حیوانات علاقه مند باشید، حتما می‌دانید نژاد سگ pug چیست. پاگ یک نژاد سگ چینی است که چهره‌ی بامزه‌ای دارند. در طراحی وب پاگ نام یک Template Engine یا موتور قالب است که می‌توان از آن برای node.js و مرورگرها استفاده کرد. این موتور قالب نوعی زبان برای طراحی صفحات وب محسوب می‌شود که بر اساس جاوا اسکریپت بوده و سینتکسی ساده‌ و روان دارد. دستورات پاگ به راحتی با کدهای html یکپارچه می‌شوند و می‌توان گفت ساده‌تر از این زبان هستند. یادگیری پاگ کار راحتی است؛ البته ممکن است کمی زمانبر باشد. اکنون شما دانستید Html pug چیست؛ ولی شاید برای شما هم این سوال پیش بیاید که منظور از موتور قالب چیست و چه تفاوتی با html دارد.منظور از Template Engine چیست؟ یک موتور قالب یا Template Engine برنامه‌ای است که می‌توانید بسیاری از زبان‌های برنامه‌نویسی را در آن به کار ببرید. این موتور را می‌توان ابزاری دانست که ورودی‌های شما به هر زبانی را به داخل کدهای html تزریق می‌کند و نمایش می‌دهد. به بیان دیگر یک موتور قالب مقادیر مربوط به نمایش عناصر در صفحه نظیر داده‌های نمایشی ارسال شده را در داخل تگ‌های html قرار می‌دهد. داده‌های ارسالی از سمت سرور هستند و کنترلر آن‌ها را در اختیار موتور قرار می‌دهد. به عنوان مثال اگر کاربر نامی را برای سرور ارسال کند، موتور قالب این داده را از سرور دریافت کرده و در تگ مناسب داخل html بارگزاری می‌کند.چرا از موتور قالب pug در html استفاده می‌کنند؟ همان‌طور که گفته شد، زبان html، زبان ساده و در عین حال سرسختی است. در این زبان امکانات زیادی وجود ندارد و شما ناچارید قطعات کد تکراری را بارها و بارها در داخل برنامه تکرار کنید. موتور قالب pug علاوه‌بر اینکه دستورات ساده‌ای دارد و خوانایی کدهای شما را بالا می‌برد، به شما در درک بهتر این کدها نیز کمک می‌کند. این موتور قالب قدرتمند بوده و ویژگی‌های خوبی نظیر دستورات شرطی، حلقه‌های تکرار، mixin‌ها و include ها را به کدهای html اضافه می‌کند. این موتور قوی، ویژگی‌های خوبی برای node.js ارائه می‌دهد و برای توسعه‌ی بک اند بسیار کاربردی است.مزایا و معایب Pug در ادامه موضوع pug چیست به مزایا و معایب pug می پردازیم.از جمله مهم‌ترین مزایای pug می‌توان به موارد زیر اشاره کرد:سازگاری عالی با js دارد.سینتکس آن بسیار کوتاه است.متن باز یا open source است.ساختار یافته است.این موتور قالب کاملا رایگان است.سینتکس تمیز و قابل فهمی دارد.Haml نیستبسیار شبیه slim استنصب راحتی دارد.کدهای آن خوانایی خوبی دارند.برای توسعه‌ی بک اند بسیار راحت است.از معایب این موتور قالب نیز می‌توان موارد زیر را نام برد:داشتن سربار عملکردیسختی استفاده برای فرانت اندسخت‌تر شدن دیباگ htmlآموزش pugدر این قسمت به آموزش pug و نحوه‌ی اجرای آن می‌پردازیم. برای اینکه بتوانیم از پاگ استفاده کنیم، باید قبل از هر چیز node.js، npm که همراه node است و پکیج pug را نصب کنیم. برای نصب Node / NPM باید به صفحه‌ی هوم پیج پروژه رفته و پکیج این دو نسخه را دانلود کرده و آن را نصب نمایید.نصب pugپس از نصب این Node / NPM شما نیاز به نصب pug دارید. برای این کار باید از دستور زیر استفاده کنید.1$ npm install pugممکن است ادیتور شما برای دستورات پاگ قابلیت هایلایت سینتکس نداشته باشد؛ بنابراین شما نیاز دارید که یک اکستنشن برای این کار نصب کنید. مثلا افزونه‌ی Sublime Text می‌تواند برای این کار مناسب باشد. قابلیت هایلایت سینتکس به شما کمک می‌کند که کار با فایل‌های پاگ را راحت‌تر انجام دهید.شما می‌توانید بدون نصب پاگ نیز از آن در html استفاده کنید. برای این کار باید از پلتفرم‌های آنلاین نظیر code pen استفاده کنید. کافی است یک pen جدید ایجاد کرده و در قسمت تنظیمات گزینه‌ی پاگ را به عنوان پیش پردازنده یا همان preprocessor انتخاب کنید. با انتخاب این گزینه codepen به شما اجازه می‌دهد که کدهای پاگ را در داخل pen های html وارد کنید و نتایج را به صورت لحظه‌ای مشاهده کنید.مبانی سینتکس پاگدر پاگ شما باید به فاصله‌گذاری‌ها و تنظیم کناره‌ها کاملا دقت کنید. مثلا در کد زیر فاصله‌های تنظیم شده در سمت چپ، به تگ‌های فرزند داخل یک تگ والد اشاره می‌کند. به نوعی می‌توان گفت فاصله‌ها سلسله مراتب تگ‌ها را نشان می‌دهد. به مثال زیر توجه کنید: doctype htmlhtml(lang=&#x27;en&#x27;)headtitle Hello, World!bodyh1 Hello, World!div.remarkp Pug rocks!معادل این دستور در html به شکل زیر برگردانده می‌شود: &amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&quot;en&quot;&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Hello, World!&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;Hello, World!&amp;lt;/h1&amp;gt;&amp;lt;div class=&quot;remark&quot;&amp;gt;&amp;lt;p&amp;gt;Pug rocks!!&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;همانطور که در مثال بالا مشاهده کردید، در پاگ شما هیچ تگی را باز یا بسته نمی‌کنید؛ به همین دلیل است که می‌گوییم کدهای pug تمیز و خوانا هستند. برای درک بهتر این موضوع مثال زیر را ببینید: navnavbar-default  divh1 My Website!ullia Homelia Page 1lia Page 2inputاین کد به صورت کد html زیر کامپایل می‌شود: &amp;lt;nav&amp;gt;&amp;lt;div&amp;gt;&amp;lt;h1&amp;gt;My Website!&amp;lt;/h1&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a&amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a&amp;gt;Page 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a&amp;gt;Page 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;input/&amp;gt;&amp;lt;/nav&amp;gt;با مقایسه دو کد بالا می‌توانید زیبایی و سادگی این زبان را درک کنید. تعریف کلاس‌ها، آیدی‌ها و صفات pug چیست و چه کاربردی دارد در این بخش از آموزش pug نحوه‌ی تعریف برخی از المان‌های مهم پاگ را بررسی می‌کنیم. طبق تعریف آیدی و کلاس در جاوا اسکریپت، حتما می‌دانید که آیدی و کلاس در پاگ چیست و چه کاربردی دارد. برای اینکه بتوانیم این کلاس‌ها را در پاگ تعریف کنیم باید نشانه گذاری .className را به کار ببریم. همچنین # برای نمایش آیدی استفاده می‌شود. مثال: nav#navbar-defaultdiv.container-fluidh1.navbar-header My Website!در این کد دو کلاس container-fluid و navbar-header  و یک آیدی تحت عنوان navbar-default داریم. شکل کامپایل شده‌ی این کد به صورت زیر است:&amp;lt;nav id=&quot;navbar-default&quot;&amp;gt;&amp;lt;div class=&quot;container-fluid&quot;&amp;gt;&amp;lt;h1 class=&quot;navbar-header&quot;&amp;gt;My Website!&amp;lt;/h1&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nav&amp;gt;برای تعریف صفات در پاگ نیز باید از پرانتز استفاده کنیم مثال: ullia(href=&#x27;/&#x27;) Homelia(href=&#x27;/page-1&#x27;) Page 1lia(href=&#x27;/page-2&#x27;) Page 2input.search(type=&#x27;text&#x27;name=&#x27;search&#x27;placeholder=&#x27;Enter a search term...&#x27;)فرم html کد بالا به شکل زیر خواهد بود: &amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a href=&quot;/&quot;&amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a href=&quot;/page-1&quot;&amp;gt;Page 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a href=&quot;/page-2&quot;&amp;gt;Page 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;input class=&quot;search&quot; type=&quot;text&quot; name=&quot;search&quot; placeholder=&quot;Enter a search term...&quot;/&amp;gt;درباره‌ی ویژگی‌ها یا همان صفات، موارد زیادی در پاگ وجود دارد؛ مثلا تعریف متغیرها یا مجموعه‌ای از مقادیر که در این بحث به آن‌ها نمی‌پردازیم.متن ساده و بلوک‌ های متن حال ببینیم روش افزودن متن به Html pug چیست. پاگ روش‌های مختلفی برای اضافه کردن مستقیم متن ساده به فرم رندر شده‌ی html را فراهم می‌کند. مثلا به روش درون خطی زیر:h1.navbar-header My Website! We can write anything we want here …یا استفاده از کاراکتر(|) برای تعیین خطوط:p| You are logged in as| &lt;a href=&quot;mailto:user@example.com&quot;&gt;user@example.com&lt;/a&gt;که به فرم زیر کامپایل می‌شود: &amp;lt;p&amp;gt;You are logged in asuser@example.com&amp;lt;/p&amp;gt;وقتی که شما از بلوک‌های متنی بلند استفاده می‌کنید، می‌توانید از یک نقطه یا همان دات بلافاصله بعد از نام تگ، یا قبل از پرانتز بسته، استفاده کنید؛ مثال: p.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmodtempor incididunt ut labore et dolore magna aliqua. Ut enim ad minimveniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex eacommodo consequat.نتیجه به صورت زیر است: &amp;lt;p&amp;gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmodtempor incididunt ut labore et dolore magna aliqua. Ut enim ad minimveniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex eacommodo consequat.&amp;lt;/p&amp;gt;کامنت‌ در پاگ اگر بخواهید توضیحاتی در کد پاگ خود وارد کنید، باید بدانید کامنت در pug چیست و چه کاربردی دارد. کامنت‌ها توضیحاتی را در بخش‌های مختلف کد شما اضافه کرده و به درک آن کمک می‌کنند. برای کامنت‌گذاری در پاگ شما باید از علامت (//) قبل از کامنت‌ها استفاده کنید. &lt;em&gt;// My wonderful navbar&lt;/em&gt;&lt;em&gt;nav#navbar-default&lt;/em&gt;کامنت‌هایی که به این روش اضافه می‌کنید، بعد از کامپایل در کد html نیز قابل مشاهده هستند. حال اگر بخواهیم این کامنت‌ها در html کامپایل نشوند، باید به فرم زیر آن‌ها را بنویسیم: //- My wonderful navbarnav#navbar-defaultبه این نکته توجه داشته باشید که کامنت‌ها باید حتما در یک خط جداگانه نوشته شود. مثلا اگر کامنت را در یک کد به شکل زیر نوشته شود، به عنوان یک متن ساده شناسایی می‌شود:1nav#navbar-default // My wonderful navbarحلقه در pug همان‌طور که گفتیم در پاگ شما می‌توانید از حلقه‌ در pug استفاده کنید. در این بخش از آموزش pug به شما می‌گوییم که چگونه می‌توانید دستورات تکرار را در پاگ به کار ببرید. یک حلقه‌ی for ساده در پاگ به این شکل نوشته می‌شود: - for (let x = 0; x &amp;lt; 3; x++)li= &#x27;Item &#x27; + (x + 1)این دستور در html به چنین فرمی کامپایل خواهد شد: &amp;lt;li&amp;gt;Item 1&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Item 2&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Item 3&amp;lt;/li&amp;gt;یک راه دیگر برای استفاده از حلقه در pug یا تکرار یک عمل در پاگ استفاده از ویژگی each است. در کد زیر نحوه‌ی نمایش عناصر یک آرایه را مشاهده می‌کنید: - var colors = [&quot;Red&quot;, &quot;Yellow&quot;, &quot;Green&quot;, &quot;Blue&quot;]each item in colorsli= itemاین کد اگر به زبان html کامپایل شود، به شکل زیر خواهد بود: &amp;lt;li&amp;gt;Red&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Yellow&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Green&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Blue&amp;lt;/li&amp;gt;شروط در pug یکی دیگر از ویژگی‌های کاربردی امکان استفاده از شروط در pug است. راه افزودن شرط به دستورات در پاگ مانند بسیاری از زبان‌های دیگر استفاده از دستوراتی نظیر if و else if است. به عنوان مثال: - var isTrue = trueif isTruep Boolean is TRUEelsep Boolean is FALSEهمچنین شما می‌توانید با دستور switch نیز شرط‌های چندگانه را پیاده‌سازی کنید: - var raceResult = 7case friendswhen Ap You won the race!when 1p You were the runner up!defaultp You finished the race after #{raceResult - 1} other runners!سخن پایانی موتور قالب pug یکی از بهترین موتورهای طراحی کدهای html با دستوراتی ساده و روان است که هر کسی می‌تواند به راحتی آن را یاد گرفته و برای تولید کدهایی قابل فهم از آن استفاده کنند. این موتور امکان تبدیل انواع مختلف داده به کدهای html را فراهم می‌کند. یک موتور قالب پاگ می‌تواند با حذف تگ‌ها و دستورات اضافه، حجم کدها را تا حد زیادی کاهش داده و خطوط کد خواناتری برای تولید کند. در این مقاله به بررسی برخی از مهم‌ترین مزایای پاگ پرداختیم و مبانی این زبان را با هم بررسی کردیم. شما می‌توانید این دستورات را به راحتی در هر کجایی که بخواهید کپی کرده و از آن در پروژه‌های مختلف استفاده کنید.سوالات متداولآیا از پاگ می‌توان برای هر نوع استفاده کرد؟بله پاگ برای هر سایتی قابل کاربرد است؛ اما، اگر سایت شما ایستا باشد و نیازی به ایجاد تغییرات پویا ندارید، لزومی ندارد از موتورهای قالب استفاده کنید. از این موتورها اغلب برای سایت‌های فروشگاهی، تعاملی، خدماتی یا امکانات جستجوی داخل سایت‌ها استفاده می‌شود.Pug با jade چه تفاوتی دارد؟در واقع پاگ همان jade است و تغییر نام داده است. این تغییر نام به علت مسائل مرتبط با نام تجاری و سواستفاده‌هایی بود که از این نام صورت گرفت.بین pug و handelbars کدامیک بهتر است؟در مقایسه این دو موتور قالب پاگ بهتر است و انجمن slant این موتور قالب را به مردم پیشنهاد می‌‌دهد؛ چرا که پاگ در میان موتورهای قالب مناسب برای جاوا اسکریپت رتبه‌ی اول را دارد. علت این مسئله نیز ویژگی‌های متمایز این موتور و سازگاری آن با سنتکس سلکتورهای css است. همچنین این موتور قالب با کتابخانه‌های سبک جاوا اسکریپت نیز سازگاری کامل دارد. pug چیست و چه کاربردی داردمنبع:https://sabzlearn.ir/what-is-a-pug-and-what-does-it-do/ </description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Thu, 26 May 2022 23:12:22 +0430</pubDate>
            </item>
                    <item>
                <title>بررسی کاربرد و ساختار پوزیشن ها در css</title>
                <link>https://virgool.io/@masihbusiness1599/%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF-%D9%88-%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1-%D9%BE%D9%88%D8%B2%DB%8C%D8%B4%D9%86-%D9%87%D8%A7-%D8%AF%D8%B1-css-haehap4dwy8t</link>
                <description>پوزیشن ها در css یکی از کاربردی‌ترین ویژگی‌ها هستند؛ چون طراحی صفحات وب یعنی چیدمان یک سری المان به شیوه‌ای موثر و جذاب برای نمایش به کاربر. منظور از پوزیشن یا همان position در css، جایگاه عناصر صفحه است که می‌تواند توسط این ویژگی مشخص شود. مکان یک عنصر می‌تواند به صورت مستقل یا وابسته به والدش در صفحه تعیین شود که این کار توسط همین ویژگی position ها در css انجام می‌گیرد. در این مقاله می‌خواهیم به شما آموزش دهیم که پوزیشن‌ها چه نوع‌هایی دارند و چطور می‌توانید از آن‌ها برای طراحی المان‌های صفحات وب خود به درستی استفاده کنید.کاربرد position در cssهمان‌طور که گفتیم از پوزیشن ها در css برای مشخص کردن مکان یک عنصر استفاده می‌شود. این ویژگی در استایل دهی یکی از اصلی‌ترین ویژگی‌هاست؛ چون تاثیر مستقیمی روی نظم و زیبایی صفحات وب شما دارد. برای کاربرد position در css، شما باید قبل از هر چیز با جریان عناصر در صفحه یا اصطلاحا flow آشنایی داشته باشید. منظور از flow نحوه‌ی قرارگیری عناصر در یک صفحه است. در صفحات وب عناصر زمانی که کنار یکدیگر قرار می‌گیرند، به هم وابسته خواهند بود و اضافه یا حذف یک عنصر روی نحوه‌ی قرارگیری سایر عناصر هم ردیف تاثیر خواهد گذاشت. این جریان به هم پیوسته‌ی عناصر در صفحه را flow می‌گویند. تمامی عناصر در صفحه‌ی وب به صورت استاتیک در flow قرار می‌‌گیرند؛ اما، می‌توان با کمک position ها در css جای این عناصر را تغییر داد. در حالت غیراستاتیک می‌توانیم جایگاه عناصر را با ویژگی‌های right ,left, bottomو top تغییر دهیم. طریقه‌ی نوشتن پوزیشن‌ها در css به صورت زیر است:1.box { position: static; }حال که با مفهوم و کاربرد position در css آشنا شدید، در ادامه به بررسی انواع این پوزیشن‌ها می‌پردازیم.انواع position در cssدر زبان css، ما پنج نوع پوزیشن مختلف داریم:staticrelativeabsolutefixedstickyدر ادامه هر کدام از این انواع position در css را بررسی می‌کنیم.پوزیشن static در cssهمانطور که گفته شد در حالت پیشفرض عناصر روی یک صفحه حالت پوزیشن استاتیک دارند. عناصر با این پوزیشن، قابل جابجایی نیستند. کاربرد پوزیشن پوزیشن static در css وقتی است که بخواهیم یک عنصر را از پوزیشنی دیگر، به وضعیت اولیه‌ی خود برگردانیم. از آنجا که پوزیشن استاتیک باعث می‌شود عناصر در flow به صورت پیشفرض باشند؛ حذف یا جابجایی آن‌ها باعث تغییر وضعیت عناصر کناری خواهد شد.پوزیشن relative در cssیکی دیگر از انواع position در css، پوزیشن relative است که به شما امکان می‌دهد یک عنصر را بدون اینکه روی عناصر کناریش تاثیر بگذارد تغییر مکان دهید و به سمت هر کدام از جهت‌های چهارگانه جابجا کنید. در این پوزیشن ما دو سیستم مختصاتی خواهیم داشت یکی برای خود عنصر که امکان جابجایی آن را فراهم می‌کند و دیگری برای فرزندانی از عنصر که دارای پوزیشن absolute باشند که این سیستم را در بحث پوزیشن absolute بررسی خواهیم کرد. مثال زیر نمونه‌ای از تغییر پوزیشن relative را نشان می‌دهد: box {position: relative;top: 30px;left: 30px;}پوزیشن absolute در cssهمانطور که در بخش قبلی اشاره شد پوزیشن absolute در css برای فرزندان والدهایی که پوزیشن fixed، relative یا absolute دارند کاربرد دارد. زمانی که یک عنصر فرزند، این پوزیشن را داشته باشد، مکانش نسبت به اولین پدر از اجدادش که پوزیشن relative دارد تعیین می‌شود؛ یعنی مختصاتی که عنصر فرزند می‌گیرد، نقاط صفر top و left عنصر پدرش خواهد بود و اگر صفحه rtl باشد، در گوشه‌ی بالای سمت راست والدش قرار می‌گیرد. نکته‌ی قابل توجه این است که عنصر فرزند با این پوزیشن دیگر وابسته به flow نیست و می‌تواند به راحتی در کل صفحه جابجا شود. چنانچه اجداد یک عنصر هیچ کدام پوزیشن‌های گفته شده را نداشته باشند، عنصر در بالای سمت چپ صفحه‌ی اصلی قرار می‌گیرد. نحوه‌ی نوشتن دستور پوزیشن absolute در css به صورت زیر است: .box-row { position: relative }.box {position: absolute;left: 10px;top: 10px;}در اینجا box نسبت به والد خود یعنی box-row جابجا می‌شود و از گوشه‌ی سمت چپ آن 10 پیکسل از بالا و 10 پیکسل از چپ جابجا می‌شود.پوزیشن fixed در cssپوزیشن fixed در css یکی از کاربردی‌ترین انواع position در css برای ساخت هدرها و منوهای فیکس محسوب می شود. منظور از هدرها فیکس، هدرهایی هستند که وقتی صفحه‌ی سایت را به سمت پایین اسکرول می‌کنید، در بالای صفحه‌ی نمایش به صورت ثابت نمایش داده می‌شوند و حرکت نمی‌کنند. به عبارت دیگر، پوزیشن fixed در css، جایگاه یک عنصر را نسبت به صفحه‌ی نمایش یا اصطلاحا viewport مشخص می‌کند و عنصر در قسمتی از صفحه‌ی نمایش ثابت باقی می‌ماند. نحوه‌ی نوشتن کد css این پوزیشن به شکل زیر است: .box {position: fixed;left: 0px;top: 0px;}در کد بالا عنصر باکس در نقطه‌ی صفر و صفر مختصات صفحه‌ی نمایش فیکس شده است؛ یعنی بالاترین قسمت در صفحه.پوزیشن sticky در cssآخرین مبحث از پوزیشن ها در css، پوزیشن sticky است. این پوزیشن از دو پوزیشن استاتیک و فیکس استفاده می‌کند. در ابتدا عنصر در حالت استاتیک در قسمتی از صفحه قرار گرفته است و با اسکرول کردن روی آن، این عنصر به پوزیشن fixed تغییر وضعیت داده و در جای خود ثابت می‌شود. مثلا فرض کنید در حال مطالعه‌ی یک مقاله در سایت هستید و یکی از تیترهای مقاله از این پوزیشن استفاده می‌کند، با اسکرول کردن و رسیدن به تیتر موردنظر، این تیتر در بالای نوشتار فیکس شده و از جای خود تکان نمی‌خورد. نحوه‌ی نگارش پوزیشن sticky در css به صورت زیر است: div.sticky {position: sticky;top: 5px;background-color: green;}در این کد سطری سبز رنگ از فاصله‌ی 5 پیکسلی بالای صفحه تعریف شده که حالت sticky داشته و با اسکرول به سمت پایین در بالای صفحه فیکس می‌شود.سوالات متداولبرای روی هم قرار دادن چند آیتم در یک صفحه‌ی وب چه باید کرد؟ترتیب روی هم قرار گرفتن چند عنصر در یک صفحه یعنی تعیین موقعیت مکانی آن‌ها روی محور z که با ویژگی تحت عنوان z-index قابل تنظیم است. این ویژگی می‌تواند مقدار عددی به خود بگیرد و هر عنصری که مقدار عددی بیشتری داشته باشد، بالاتر از سایر عناصر قرار می‌گیرد. z-index خواصی چون وراثت را نیز به خود ‌می‌گیرد و می‌توان با قرار دادن inherit برای آن ویژگی‌های والد عنصر را به آن تخصیص داد.آیا انواع پوزیشن ها در css توسط تمامی مرورگرها پشتیبانی و اجرا ‌می‌شوند؟بله در نسخه‌های جدید مرورگرها، اعم از مرورگرهای کامپیوتر یا موبایل تمامی پوزیشن‌ها قابلیت اجرا دارند؛ به جز مرورگر اینترنت اکسپلورر که توانایی پیاده‌سازی مدل‌های مختلف پوزیشن sticky برای عناصر در صفحه را ندارد.منابع:https://sabzlearn.ir/positions-in-css/</description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Thu, 26 May 2022 22:37:46 +0430</pubDate>
            </item>
                    <item>
                <title>پیشبینی و بررسی آینده شغلی برنامه نویسی در ایران</title>
                <link>https://virgool.io/@masihbusiness1599/%D9%BE%DB%8C%D8%B4%D8%A8%DB%8C%D9%86%DB%8C-%D9%88-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%A2%DB%8C%D9%86%D8%AF%D9%87-%D8%B4%D8%BA%D9%84%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%AF%D8%B1-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86-bssc1bcycmd6</link>
                <description>آینده شغلی برنامه نویسی در ایران چطور خواهد بود؟ اگر شما در حوزه وب فعالیت بکنید یا به آن علاقه داشته باشید، قطعا بحث درآمد و بازار کار یکی از دغدغه های اصلی شماست. در مقاله های قبلی به اندازه کافی در مورد بازار کار برنامه نویسی و تکنولوژی های مختلف مرتبط با آن صحبت کردیم.طبق مقاله های قبلی قطعا اطلاع دارید که فعل حال برنامه نویسی بازار کار خیلی خوبی در ایران و جهان دارد. یکی از مزیت های حوزه برنامه نویسی این است که شما می توانید به صورت فریلنسری (دورکاری و ریموت) نیز وارد بازار کار شده و کسب درآمد کنید. مخصوصا این که می توانید به طور ریموت با شرکت های کشور های خارجی همکاری کرده و به دلیل اقتصاد ضعیف ایران، درآمد های بالایی داشته باشید.اما بحث اینجاست که آیا این بازار همیشه به این اندازه داغ و پابرجا خواهد ماند؟ امروزه یکی از دغدغه هایی که برنامه نویسان دارند این است که آیا در آینده هوش مصنوعی و ربات های مختلف جای برنامه نویسان را خواهند گرفت یا نه؟!در این مقاله قصد داریم در مورد آینده شغلی برنامه نویسی در ایران صحبت کرده و مطالب مهم در این زمینه را مورد بررسی قرار دهیم.نتیجه گیری بر اساس استارتاپ های مختلفاجازه دهید آینده شغلی برنامه نویسی در ایران را با ابتدا با استفاده از استارتاپ ها پیش بینی کنیم.اگر بخواهم استارتاپ را در یک کلمه معنی کنم، استارتاپ را کسب و کار اینترنتی در نظر بگیرید.امروزه استارتاپ های زیادی در در ایران راه اندازی شده اند؛ مثل دیجی کالا، اسنپ، ماکسیم، اسنپ فود، هف هشتاد و… .استارتاپ با هدف برطرف کردن یک مشکل از مشکلات مردم پیاده سازی می شود و این از ویژگی بارز و اصلی هر استارتاپ است. استارتاپی که نتواند مشکلی را برطرف کند، دیر یا زود شکست می خورد.به عنوان مثال استارتاپ دیجی کالا امکان خرید را راحت تر کرده است. شما برای خرید یک کالا هیچ نیازی به بیرون رفتن از خانه خود ندارید و می توانید با یک موبایل یا لپتاپی که دارید به سایت دیجی کالا رفته و هر کالایی که نیاز دارید را سفارش داده و آن را درب منزل دریافت کنید. پس دیجی کالا مشکل سختی خرید را راحت تر کرده است.یا به عنوان مثال استارتاپ اسنپ را در نظر بگیرید. شما قبل از تولد اسنپ برای جابجا شدن در شهر باید با تاکسی تلفنی تماس می گرفتید و امکان داشت آن لحظه تاکسی نداشته باشند، امکان داشت راننده مبدا یا مسیر شما را نشناسد، امکان داشت شما شماره تلفن نزدیک ترین آژانس را نداشته باشید و … چندین مشکر دیگر.اما اسنپ نه تنها همه این مشکلات را حل کرده است بلکه قابلیت های بهتر و بیشتری نیز در اختیارتان قرار می دهد، برای سفر های شما کد تخفیف در نظر می گیرد و … .پس تا این قسمت متوجه شدید که رفته رفته تمام کار ها اتوماتیک، آنلاین و خودکار می شوند و این کار توسط برنامه نویسی انجام می شود.پس اگر امروز برنامه نویسی بازار کار فوق العاده ای دارد، بدون شک در آینده بازار کار فوق العاده تری خواهد داشت.بنا به صحبت هایی که در این قسمت شد، آینده شغلی برنامه نویسی در ایران رو به رشد و در آینده بازار کار بهتری نسبت به امروز خواهد داشت.آینده شغلی برنامه نویسی در ایران نیاز به برنامه نویسدر حوزه بازاریابی و مارکتینگ مهم ترین مبحث ایجاد نیاز است. به این شکل که اگر شما می خواهید محصولی را به مشتری مورد نظر خود بفروشید، ابتدا باید حس نیاز به آن محصول را در مشتری ایجاد کنید. این مورد از مارکتینگ را اینجا مطرح کردم تا در انتهای همین بخش به این نتیجه برسیم که جامعه به برنامه نویسی نیاز دارد.خب امروزه شرکت، کارخانه، تولیدی سازمان های زیادی در ایران وجود دارند. تقریبا تمام این سازمان های ذکر شده برای معرفی خود و ارائه خدمات نیاز به وب سایت یا اپلیکیشن موبایل دارند.به عنوان مثال شما شهرداری را در نظر بگیرید. روزانه ممکن است افراد زیادی به بخش های مختلف این اداره مراجعه کنند و مدیریت این همه افراد کار راحتی نیست و از معایبش می توان اتلاف وقت، احتمال رعایت نشدن بهداشت، معطل شدن و … اشاره کرد.دقیقا برای برطرف کردن این مشکلات باید تمام اداره ها باید یک وب سایت داشته باشند (البته الان هم خیلی از ادارات وب سایت دارند) که اگر شخصی با قسمتی از آن اداره کاری داشته باشد، نیازی به مراجعه حضوری نباشد و از طریق وب سایت به صورت آنلاین کار خود را انجام دهد.اصلا اگر به همچین مواردی هم توجه نکنید کافی است یک نگاه به اطراف خود بیندازید، متوجه خواهید شد که همه چیز در حال آنلاین شدن است و همه این کار ها توسط برنامه نویسی انجام می شوند. این یعنی برنامه نویسی نیاز جامعه است و اگر برنامه نویسی نباید خیلی از کسب و کار ها نابود شده و در نتیجه جامعه فلج می شود.هر روز که می گذرد شرکت ها و سازمان های مختلفی به وجود می آیند و همه آن ها برای شناخته شدن و ارائه خدمات نیاز به آنلاین شدن دارند.دقیقا همین “نیاز داشتن” باعث می شود برنامه نویسی رفته رفته پر رنگ تر شده و بازار کار بهتری داشته باشد.هوش مصنوعی، یک تهدید واقعی برای برنامه نویسیدر ادامه مبحث آینده شغلی برنامه نویسی در ایران به بررسی حوزه هوش مصنوعی می پردازیم.امروزه حوزه هوش مصنوعی نیز به خوبی در کشور های مختلف جای خود را گرفته است و برخی از برنامه نویسان از این موضوع نگران هستند که آیا ممکن است در آینده هوش مصنوعی بتواند جای برنامه نویسی را بگیرد یا نه.اما این موضوع هرگز اتفاق نخواهد افتاد. چون اولا هوش مصنوعی نیز توسط خود برنامه نویسان کنترل و مدیریت می شود. دوما این که هوش مصنوعی اتفاقا کار انسان ها را راحت تر خواهد کرد.ممکن است دقیقا مثل امروزه که خیلی از کسب و کار های سنتی از بین رفته اند هوش مصنوعی نیز باعث از بین رفتن بیشتر آن ها شود، اما هرگز لطمه ای به خود برنامه نویسان وارد نخواهد کرد.برنامه نویسی و ورود آن به حوزه آموزشدر این روز ها متاسفانه ویروسی به اسم کرونا به جان کشور ها افتاده است و باعث تعطیل شدن تمام مدارس، آموزشگاه ها و دانشگاه ها شده است. اما با وجود این همه تعطیلی مردم باز هم می توانند آموزش ببینند و درس های خود را پاس کنند.افراد هنوز هم می توانند به کمک شبکه های مجازی و تکنولوژی های مرتبط با آن ها تحصیلات خود را بگذرانند.اما این همه شبکه ها و کلاس های مجازی که برگزار می شود، توسط چه کسانی امکان پذیر شده است؟ آفرین، توسط برنامه نویسان.درست است که ویروس کرونا ضربه های زیادی به کشور زد، اما تنها خوبی که داشت این بود که کشور ایران بیشتر با حوزه آموزش آنلاین آشنا شده و از آن استفاده بکند.همان طور که الان در کشور های مختلف خارجی آموزش ها به صورت آنلاین است، در آینده ایران نیز آموزش ها به شکل مجازی خواهند بود و برنامه نویسی به حوزه آموزش نیز نفوذ خواهد کرد.تصمیم گیری بر اساس ویژگی های بازار کاربرنامه نویسی شغلی است (البته من بهش میگم هنر و خلاقیت) که ویژگی های بسیار فوق العاده ای دارد.از ویژگی های فوق العاده این بازار می توان به معیار های استخدام ها، فریلنسری، درآمد بالا و … اشاره کرد.برای اثبات صحت این ویژگی ها باید به سایت هایی که در زمینه بازار کار و استخدام فعالیت می کنند مثل جابینجا، کوئرا، جاب ویژن و … مراجعه کرده و ویژگی های فرصت های شغلی مختلف را مورد بررسی قرار داد.همانطور که مشاهده می کنید اصلا برای شرکت استخدامی مهم نیست که شما آقا هستید یا خانوم، خدمت سربازی رفتید یا نه، چه مدرک تحصیلی دارید و … .حتی برای خیلی از شرکت های برنامه نویسی مهم نیست که شما در شهر مورد نظر آن ها هستید یا نه و به صورت دورکاری با شما همکاری می کنند و شما از این طریق کسب درآمد می کنید.بنا به ویژگی های ذکر شده نتیجه می گیریم که سالانه افراد زیادی وارد این حوزه می شوند و رفته رفته جامعه برنامه نویسان ایران بزرگ و بزرگ تر شده و بازار کار نیز بهتر می شود.درنتیجه باید برای درک بهتر آینده شغلی برنامه نویسی در ایران به این مورد توجه داشته باشید.ممکن است در این قسمت برایتان سوال پیش بیاید که اگر سالانه افراد زیادی وارد این حوزه شوند، بازار کار در بلند مدت اشباع نخواهد شد؟در قسمت بعد به این سوال می پردازیم.اگر بازار کار برنامه نویسی اشباع شد چی؟این یکی از مهم ترین سوالاتی است که برای افرادی که به تازگی وارد حوزه برنامه نویسی شده اند پیش می آید.قطعا اطلاع دارید که در همین لحظه هم افراد بسیار زیادی در حوزه برنامه نویسی مشغول هستند و به روش های مختلف از این حوزه کسب درآمد می کنند اما همچنان هیچ خبری از اشباع شدن نیست.دلیل اشباع نشدن بازار کار برنامه نویسی این است که فقط و فقط افرادی می توانند وارد بازار کار شوند که دارای مهارت و تخصص بالایی باشند.از طرفی خیلی از افراد با کلی آب و تاب وارد این حوزه می شوند، بعد از مدت کوتاهی به دلیل وجود خطا هایی که در حین کار با آن ها برخورد می کنند، از برنامه نویسی زده می شوند و انگیزه خود را از دست می دهند و با نا امیدی تمام این حوزه را ترک می کنند.راز بی انگیزه نشدن در حوزه برنامه نویسی این است که دلیل ورود شما به این حوزه فقط و فقط علاقه باشد. چون اگر به آن علاقه داشته باشید قطعا با مشکلات و اذیت های آن دست و پنجه نرم می کنید و آن ها را تحمل می کنید تا در بلند مدت بتوانید مهارت و تخصص را به دست آورید.اما خیلی از دوستان با تبلیغات کلاهبرداران این حوزه یا به دلیل درامد بالای آن وارد این حوزه می شوند و چون که علاقه ای در کار نیست، دیر یا زود قطعا از برنامه نویسی زده شده و آن را کنار می گذارند.پس نگران اشباع شدن آن نباشید، چون هیچ وقت اشباع نخواهد شد.چون:درصد بالایی از افراد که وارد این حوزه می شوند، بعد ها این حوزه را ترک می کنند.درصد بالایی از افراد هم نمی توانند به سطح متخصص و حرفه ای برسند، در حالی که بازار کار فقط و فقط به افراد متخصص نیاز دارد و برنامه نویس های ضعیف یا سطح پایین نمی توانند وارد بازار کار برنامه نویسی شوند.می توانیم این طور نتیجه بگیریم که اگر شما یک برنامه نویس متخصص و حرفه ای باشید، همیشه بازار کار به شما نیاز دارد و شما می توانید کسب درآمد کنید.اگر فلان زبان برنامه نویسی منسوخ شد چی؟خیلی از برنامه نویسان نیز نگران این هستند که زبان مورد علاقه آن ها که با آن کار می کنند منقرض و منسوخ (از کار افتاده) شود.موضوع منسوخ شدن در حوزه برنامه نویسی بسیار رواج دارد و ممکن است هر لحظه یک زبان برنامه نویسی ایجاد شده و یا یک زبان موجود از بین رفته و منسوخ شود.در همچین موقعیت ها برنامه نویسانی شکست می خورند که خودشان را به یک زبان خاص محدود کردند و اگر روزی اتفاقی برای آن زبان بیفتد دیگر ‌نمی توانند با زبان یا فریمورک دیگری کد نویسی بکنند‌پس طبق نتیجه گیری که می توانیم از این صحبت ها بکنیم، این وسط برنامه نویسی موفق است که خودش را به زبان یا فریمورک خاصی محدود نکند و فقط مفهوم کلی و اساس موضوع را یاد بگیرد.اگز شما اساس و پایه را یاد بگیرید و بعدا زبان برنامه نویسی مورد علاقه شما منسوخ شده و زبان جدیدی جایگزین آن شد، شنا به راحتی می توانید سوئیچ کنید روی زبان جدید و به راحتی تمام با تکنولوژی جدید کار کنید.پس به هیچ وجه خودتان را به تکنولوژی خاصی محدود و وابسته نکنید تا بتوانید همیشه بدون هیچ نگرانی و دغدغه ای به کارتان برسید.آینده شغلی برنامه نویسی (وب) با وجود سایت ساز هاآیا وجود سایت سازها آینده شغلی برنامه نویسی در ایران را تحت الشعاع قرار میدهد؟همان طور که می دانید وب سایت های متعددی مثل webzi.ir یا portal.ir وجود دارند نه در مدت زمان خیلی کم یک وب سایت را در اختیار شما قرار می دهند و علاوه بر مدت زمان کم هزینه آن ها نیز پایین است.یکی از نگرانی ها و دغدغه های دوستانی که به تازگی وارد این حوزه می شوند همین سایت ساز ها است.اما سایت هایی که با سایت ساز ها ساخته می شوند نسبت به سایت هایی که کد نویسی می شوند چند نثطه ضعف دارند که یکی از آن ها سرعت پایین است.اما مهم ترین و بد ترین ضعفی که سایت ساز ها دارند این است که قابلیت کاستوم سازی (سفارسی کردن) بسیار پایینی دارند‌.همان طور که می دانید در دنیای برنامه نویسی همه چیز با کد انجام می شود اما زمانی که شما سایتی را با سایت ساز می سازید، هیچ کدی را نمی نویسید! فقط با قابلیت هایی مثل فتوشاپ قسمت های مختلف وب سایتتان را کنار همدیگر می چینید و انگار سایت را نقاشی می کنید!اگر چند مدت بعد بخواهید یک قابلیت خاصی به وب سایتتان اضافه کنید، لنگ مانده و به شدت اذیت خواهید شد.چون که شما کد نویسی بلد نیستید و با یک برنامه نویس طرف نیستید، نمی توانید قابلیت مورد نظرتان را به وب سایتتان اضافه کنید.حتی سایت ساز های قوی تر و با امکانات تری نسبت به وبزی وجود دارند که باز هم نمی توانند سایت کارآمد با همه امکانات مورد نیاز را به شما (کارفرما) تحویل دهند.پس تا این قسمت به ناقص و ناکارآمد بودن سایت ساز ها پس بردیم.به همین دلایلی که ذکر شد افراد سعی میکنند وب سایت خود را دست یک برنامه نویس بسپارند تا این که با سایت ساز طراحی کنند.از این بابت هم نگران نباشید و اگر شما یک متخصص باشید، سایت ساز نمی تواند هیچ ضربه ای به حوزه کاری شما وارد کند.وردپرس، دشمن بازار کار برنامه نویسیخیلی از برنامه نویسان، بیشتر از سایت ساز ها با وردپرس مخالف هستند. همان طور که می دانید وردپرس یکی از CMS (پنل مدیریت) هایی است که توسط زبان برنامه نویسی PHP نوشته شده است.وردپرس ابتدا یک پنل مدیریت ساده بود اما بعد ها با توسعه افزونه ها و پلاگین های مختلف برای آن، امروزه تبدیل به یک ابزار جداگانه برای برنامه نویسی سایت شده است.به دلیل آسان بودن پیاده سازی سایت با وردپرس، افرادی که وردپرس کار می کنند می توانند با در مدت زمان خیلی کم وب سایت های کاملی را ایجاد کنند و به خاطر آسان بودن و مدت پایین آن هزینه پایینی را از مشتری دریافت می کنند که دقیقا همین موضوع باعث عصبی شدن برنامه نویسان شده است.اما همان طور که گفته شد وردپرس با زبان PHP پیاده سازی شده است و وب سایتی که به کمک ابزار های مرتبط با وردپرس پیاده سازی می شوند، باز هم همان کد های Html، Css و جاوا اسکریپت را در دل خود دارند.اگر یک برنامه نویس کد نویسی بلد نباشد و قبل از یادگیری PHP و بقیه تکنولوژی های لازم وارد وردپرس شود، به هیچ وجه نمی تواند تمام انتظارات مشتری را برآرده سازد و برای پیاده سازی آن ها به یک برنامه نویس نیاز دارد.اگر در شبکه مجازی تلگرام فعالیت داشته باشد، قطعا مشاهده کرده اید که در گروه های مختلف مرتبط با برنامه نویسی افراد سوالاتی مثل “به یک برنامه نویسی PHP مسلط به وردپرس نیازمندم”، “می خواهم یک لایبرری جاوا اسکریپت را در وردپرس استفاده کنم اما بلد نیستم. راهنمایی می کنید؟” می پرسند.این افراد همان افرادی هستند که بدون یادگیری برنامه نویسی وارد وردپرس شده اند و الان که نیاز به پیاده سازی یک قابلیت خاص در سایت دارند، باید دست به دامن یک برنامه نویس شوند.در کل این موضوع را بدانید و مطمئن باشید که حتی وردپرس و تکنولوژی های قوی تر از آن نیز نمی توانند کوچکترین آسیبی به بازار کار برنامه نویسی وارد کنند و اگر شما یک برنامه نویس متخصص باشید، قطعا می توانید درآمد بسیار مناسبی را از بازار کار کسب کنید.پردرآمدترین زبان برنامه نویسی در آیندهدر ادامه موضوع آینده شغلی برنامه نویسی در ایران باید به پردرآمدترین حوزه برنامه نویسی اشاره کنیم. کدام حوزه درآمد بیشتری را حاصل میکند؟بدون شک همه تکنولوژی های موجود در حوزه برنامه نویسی بازار کار و محبوبیت خودشان را دارند و هر کدام در آن ها درصدی از بازار کار را به خود اختصاص می دهند و شما هر کدام از آن ها را به طور تخصصی یاد بگیرید، می توانید وارد بازار کار شده و کسب درآمد کنید.اما برخی از این تکنولوژی ها هستند که بازار کار بهترین نسبت به بقیه تکنولوژی ها دارند و بازار کار به آن ها نیاز بیشتری دارد و بدون شک یکی از مهم ترین معیار های شما برای انتخاب یک تکنولوژی، محبوبیت و بازار کار آن است که محبوبیت و بازار کار رابطه مستقیمی با همدیگر دارند.اگر بخواهیم به طور المللی به این موضوع بپردازیم، باید به نتیجه آنالیز وب سایت های مربوط به برنامه نویسی مثل استک اور فلو بپردازیم.تصویر بالا نتیجه بررسی سایت استک اور فلو بر اساس کاربرانش بود. این نمودار به ما نشان می دهد که در سال 2020 بیشترین سوالی که در این سایت پرسیده شده است زبان جاوا اسکریپت بوده است.می توان از این نمودار برداشت کرد که جاوا اسکریپت محبوب ترین و پر درآمد ترین زبان حال است که جامعه آماری بسیار گسترده ای دارد.جاوا اسکریپت ابتدا با هدف داینامیک کردن وب سایت ها ارائه شد اما با توجه به پیشرفتی که تا به حال داشته است، امروزه از آن برای برنامه نویسی کلاینت، سمت سرور، اپلیکیشن های موبایلی، دسکتاپ، هوش مصنوعی، بازی سازی و … نیز استفاده می شود.اگر شما می خواهید به طور تخصصی وارد این حوزه شوید و معیارتان بازار کار و محبوبیت تکنولوژی است، جاوا اسکریپت یکی از گزینه های انتخابی شما است.بعد از جاوا اسکریپت زبان پایتون بیشترین کاربرد و بهترین بازار کار را در دنیا دارد. پایتون نیز مثل جاوا اسکریپت یکی از زبان های برنامه نویسی از نوع اسکریپتی است که در چندین حوزه می توانید از آن استفاده کنید.اگه اینترنت ملی بشه چی؟!تایتل این بخش رو عامیانه نوشتم و قصد دارم تو این بخش خیلی خودمونی باهاتون حرف بزنم.آقا این روزا بوی ملی شدن نت میاد و یه سریا میگن که قراره نت رو ملی بکنن. اینو هممون میدونیم که اگه اینترنت نباشه، شغل برنامه نویسی هم متاسفانه نابود میشه و در ادامه اون همه استارتاپ ها هم تعطیل میشن و این یه حقیقت انکار ناپذیره.اما قرار نیست همچین اتفاقی بیفته.زیاد نمیخوام سیاسی حرف بزنم یا حاشیه برم اما براتون چند تا موضوع رو میگم تا همچین فکر های بیهوده رو از ذهنتون بندازین بیرون.ببینید، همچین حرفایی که “نت رو ملی می کنیم” بیشتر شبیه شعار هستن تا واقعیت.موضوع اول این که ایران از طریق فروش اینترنت ماهانه چندین میلیارد درآمد داره. از طریق همراه اول، ایرانسل، مودم های مخابرات و … و قطعا هیچ کشوری نمیاد همچین درآمد بالایی رو دور بندازه!موضوع دوم این که پیاده سازی یه سیستمی مثل گوگل هزینه و تخصص به شدت بالایی نیاز داره و ایران این هزینه ها و زیر ساخت ها رو نداره. اگه داشته باشه هم نمیاد تو همچین زمینه ای خرجش کنه! (همین پارسی جو و ذره بین هزارتا مشکل دارن :))موضوع سوم این که کشور هنوز نتونسته یه شبکه مجازی ملی بسازه، چه برسه به اینترنت ملی! (البته اینترانت)پس نگران همچین حرفایی نباشین و با انگیزه و انرژی بالا به یادگیریتون ادامه بدین و به محض این که به تخصص رسیدین و مهارت بالایی کسب کردین، میتونید وارد بازار کار بشین و از روش های مختلف کسب درآمد کنین.سخن پایانیدر این مقاله سعی کردم در مورد آینده شغلی برنامه نویسی در ایران صحبت کنیم.با دلایلی که در این مقاله ذکر شدند، برنامه نویسی مهره اصلی تکنولوژی و پیشرفت هر جامعه است که هر جامعه برای پیشرفت به آن نیاز دارد و این حس نیاز به آن باعث می شود که روز به روز برنامه نویسی پر رنگ و پر رنگ تر شود.در مورد ملی شدن اینترنت هم مفصل صحبت کردیم و گفتیم که به هیچ وجه نگرانی در مورد آن نداشته باشید و با انرژی و انگیزه تمام به فکر یادگیری و کسب مهارتتان باشید.امیدوارم این مقاله برای شما مفید واقع شده و بهره کافی را از آن برده باشید.برای درک بیشتر صحبت های این مقاله، پیشنهاد می کنم ویدئوی مربوط به مقاله را حتما مشاهده کنید.اگر در رابطه با این مقاله سوال، پیشنهاد و یا انتقادی داشتید حتما در قسمت کامنت های مقاله مطرح کنید تا با همدیگر در ارتباط باشیم. آینده شغلی برنامه نویسی در ایرانمنبع:https://sabzlearn.ir/future-of-programming-job-in-iran/</description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Thu, 26 May 2022 22:12:17 +0430</pubDate>
            </item>
                    <item>
                <title>بررسی آبجکت ها در جاوا اسکریپت</title>
                <link>https://virgool.io/@masihbusiness1599/%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%A2%D8%A8%D8%AC%DA%A9%D8%AA-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-lv8zqatccxhw</link>
                <description>اگر با زبان برنامه جاوا اسکریپت یا به طور کلی زبان های برنامه نویسی سروکار داشته باشید، قطعا با کلمه آبجکت (Object) آشنایی دارید. آبجکت ها یکی از دیتا تایپ یا به عبارتی انواع داده های بسیار پرکاربرد و مهم جاوا اسکریپت به حساب می آیند که برای ذخیره سازی جزئیات هر موجودیت مورد استفاده قرار میگیرند. در این مقاله در مورد چیستی و کاربرد آبجکت ها در جاوا اسکریپت به طور کامل صحبت خواهیم کرد.ذخیره سازی اطلاعات در آرایههمانطور که میدانید اگر اطلاعات زیادی در پروژه داشته باشیم، برای ذخیره سازی آن ها از آرایه استفاده می کنیم.مثل آرایه زیر ‌که اسم چندین شخص را داخل آن ذخیره کردیم: let users = [&quot;ali&quot;, &quot;amin&quot;, &quot;babak&quot;]اما مشکلی که آرایه ها دارند این است که key / value نیستند و نمی توانیم جزئیات محصول، شخص، خودرو و … هر چیز دیگری را داخل آن به صورت جداگانه ذخیره کنیم.به عنوان مثال نمی توانیم اطلاعات نام، سن و ایمیل سه نفر را به طور جداگانه و دسته بندی شده داخل یک آرایه ذخیره سازی کنیم.چون هر آیتم (ایندکس) از آرایه فقط و فقط یک مقدار را می تواند داشته باشد.برای همین موضوع از آبجکت ها استفاده می کنیم.آبجکت ها در جاوا اسکریپتهمان طور که تا این قسمت متوجه شدید، آبجکت ها در جاوا اسکریپت برای ذخیره سازی جزئیات یک موجودیت استفاده می شود.برای تعریف یک آبجکت دقیقا مثل آرایه عمل می کنیم، با این تفاوت که به جای براکت ([ ]) از آکُلاد ({ }) استفاده می کنیم.پس به شکل زیر می نویسیم: let userData = { }به همین راحتی می توانیم یک آبجکت را بسازیم.هر آبجکت از چندین Property (ویژگی) تشکیل شده است. مثلا برای یک شخص می توان پروپرتی هایی مثل اسم، سن، ایمیل، شماره تماس و … دیگر ویژگی های آن شخص را در نظر گرفت که تمامی آن ها را داخل آبجکت مربوطه ذخیره سازی می کنیم.هر پروپرتی از دو قسمت Key (کلید، عنوان) و Value (ولیو، مقدار) تشکیل شده است. اسم هر ویژگی همان Key و مقدار هر ویژگی برابر است با مقدار آن. به عنوان مثال همان شخص را در نظر بگیرید که 2 پروپرتی دارد. اولی با کلید name و با مقدار ali و دومی با کلید age و مقدار 13.در آبجکت ها نیز دقیقا مثل آرایه ها برای جداسازی آیتم ها از کاما (,) استفاده می کنیم.به آبجکت زیر توجه کنید: let userData = {id: 1,name: &#x27;Ali&#x27;,age: 21}همان طور که مشاهده می کنید یک آبجکت به اسم userData ایجاد کرده و داخل آن 3 پروپرتی با Key های id، name و age ذخیره کرده ایم که هر کدام از آن ها مقدار خاصی را دارند.حال که با ساختار آبجکت ها آشنا شدید، می توانیم طبق تکه کد زیر یک آرایه با محتویات اطلاعات چندین شخص ایجاد کنیم: let users = [{id: 1, name: &#x27;Ali&#x27;, age: 21},{id: 2, name: &#x27;Amin&#x27;, age: 12},{id: 3, name: &#x27;Amir&#x27;, age: 32},{id: 4, name: &#x27;Hasan&#x27;, age: 15},{id: 5, name: &#x27;Babak&#x27;, age: 25},]همان طور که مشاهده می کنید آرایه ای به اسم users ایجاد کردیم که از 5 آیتم تشکیل شده و هر آیتم از آن یک آبجکت بوده و اطلاعات یک شخص را در خود ذخیره سازی کرده اند.چگونه به مقادیر آبجکت ها در جاوا اسکریپت دسترسی داشته باشیم؟به دو روش Dot Notation (کاراکتر .)و Bracket Notation (براکت [ ]) می توانیم به مقادیر داخل هر آبجکت دسترسی داشته باشیم.فرض کنید آبجکت user را به شکل زیر داریم: let user = {id: 1,name: &quot;Ali&quot;,age: 12}و می خواهیم به کمک روش Dot Notation به پروپرتی name دسترسی داشته باشیم.برای این کار ابتدا اسم آبجکت را نوشته و سپس یک کاراکتر Dot (.) قرار می دهیم و سپس اسم پروپرتی مورد نظر را می نویسیم.به عنوان برای دسترسی به مقدار پروپرتی های name و age به شکل زیر عمل می کنیم: console.log(user.name) // &quot;Ali&quot;console.log(user.age) // 12به همین راحتی می توانیم به مقادیر داخل آبجکت دسترسی داشت و آن را log گرفت. البته همیشه مجبور نیستیم داخل متد log از این روش استفاده کنیم. ما می توانیم هر کدام از پروپرتی های آبجکت را داخل متغیر های جداگانه ای ذخیره کرده و در طول پروژه خود از آن ها استفاده کنیم.طبق شکل زیر: let userName = user.namelet userAge = user.ageconsole.log(userName, userAge) // &quot;Ali&quot; 12به همین راحتی.و اما اگر بخواهید با روش Bracket Notation‌ به پروپرتی های آبجکت دسترسی داشته باشید، Key همان پروپرتی را داخل براکت می نویسید.طبق تکه کد زیر: console.log(user[&#x27;name&#x27;]) // &quot;Ali&quot;console.log(user[&#x27;age&#x27;]) // 12به همین ترتیب دقیقا مثل روش قبلی می توانیم value های هر پروپرتی را داخل متغیر های جداگانه ای نیز ذخیره کرده و در طول برنامه از آن ها استفاده کنیم.طبق تکه کد زیر: let userName = user[&#x27;name&#x27;]let userAge = user[&#x27;age&#x27;]console.log(userName, userAge) // &quot;Ali&quot; 12چگونه مقادیر آبجکت ها را تغییر دهیم؟ ممکن است شما آبجکتی را در پروژه خود داشته باشید و در طی برنامه نیاز داشته باشید که مقدار یکی از Property های آن را تغییر دهید. در همچین حالتی ابتدا باید پروپرتی مورد نظر را انتخاب کرده و سپس آن را مثل یک متغیر ساده مقدار دهی کنید.به تکه کد زیر توجه کنید: let userData = {id: 1,name: &#x27;Ali&#x27;,age: 21}console.log(userData.name) // &#x27;Ali&#x27;userData.name = &#x27;Amin&#x27;console.log(userData.name) // &#x27;Amin&#x27;همان طور که مشاهده می کنید ابتدا مقدار پروپرتی name برابر با Ali است که بعدا آن را به روش Dot Notation انتخاب کرده و به مقدار Amin تغییر داده ایم.همچنین می توانیم این تغییر را طبق کد زیر با روش Bracket Notation نیز انجام دهیم: let userData = {id: 1,name: &#x27;Ali&#x27;,age: 21}console.log(userData.name) // &#x27;Ali&#x27;userData[&#x27;name&#x27;] = &#x27;Amin&#x27;console.log(userData.name) // &#x27;Amin&#x27;به همین راحتی.کدام روش دسترسی به مقادیر آبجکت ها بهتر است؟در ادامه مطلب آبجکت ها در جاوا اسکریپت به میزان مناسب مقادیر آبجکت ها میپردازیم.با بیان روش های گفته شده ممکن است برایتان سوال باشد که از کدام روش برای دسترسی به پروپرتی های آبجکت ها و تغییر آن ها استفاده کنیم، روش Dot Notation یا Bracket Notation؟!روش Dot خیلی بیشتر از روش Bracket استفاده می شود. اما شما حالتی را در نظر بگیرید می خواهید مقدار Key پروپرتی مورد نظر را از ورودی دریافت کنید،یا از طریق prompt و یا از input های Html. در همچین حالتی نمی توانید اسم متغیری که ورودی کاربر را در آن ذخیره کردید با حالت Dot بعد از اسم آبجکت درج کنید و به مقدار آن دسترسی داشته باشید.برای درک بهتر به تکه کد زیر توجه کنید: let userInput = prompt&#40;&quot;Enter Your Property: &quot;&#41;let userData = {id: 1,name: &#x27;Ali&#x27;,age: 21}console.log(userData.userInput) // undefinedیک آبجکت به اسم userData با پروپرتی های مختلف داریم و می خواهیم یکی از پروپرتی های آن را به دلخواه کاربر نمایش دهیم.پروپرتی مورد نظر کاربر را دریافت کرده و در متغیری به اسم userInput ذخیره می کنیم و سپس سعی می کنیم به روش Dot Notation به مقدار آن پروپرتی دسترسی داشته باشیم.اما آیا آبجکت userData پروپرتی با کلید userInput دارد؟ خیر! پس در همچین حالتی نمی توان از این روش استفاده کرد.اما روش Bracket Notation داخل براکت یک استرینگ از ما می گیرد و ورودی کاربر نیز استرینگ است. پس طبق تکه کد زیر می توانیم به کمک روش Bracket به مقدار دلخواه کاربر دسترسی داشته باشیم:let userInput = prompt&#40;&quot;Enter Your Property: &quot;&#41;let userData = {id: 1,name: &#x27;Ali&#x27;,age: 21}console.log(userData[userInput])به همین راحتی اگر کاربر کلمه name را وارد کند مقدار Ali نمایش داده می شود، اگر کلمه age را وارد کند مقدار 21 نمایش داده می شود و … .پس در نتیجه همیشه سعی کنید از روش Dot استفاده کنید، اما زمانی که قرار است اسم پروپرتی را از ورودی کاربر یا از سمت بک اند دریافت کنید، از روش Bracket استفاده کنید.متد های آبجکت ها در جاوا اسکریپتهمان طور که می دانید متد های مختلفی برای کار با اعداد، استرینگ ها، آرایه ها و … در جاوا اسکریپت وجود دارد که هر کدام از آن ها وظیفه خاصی را بر عهده دارند.آبجکت ها نیز متدهایی در جاوا اسکریپت دارند که هر کدام از آن ها قابلیت خاصی را در اختیار ما قرار می دهند و می توانیم به کمک آن ها کار های مختلفی را با آبجکت را انجام دهید.به عنوان مثال برای دسترسی یکجا به همه key های یک آبجکت از متد Keys و برای دسترسی یکجا به همه مقادیر یک آبجکت از متد Values استفاده می کنیم.نحوه استفاده از این متد ها در ویدئوی همین مقاله توضیح داده شده اند.سخن پایانیدر این مقاله سعی کردم به مفهوم، نحوه پیاده سازی و کاربرد آبجکت ها در جاوا اسکریپت صحبت کنیم.اگر در هر کدام از مباحث گفته شده ابهام و سوالی داشتید، پیشنهاد می کنم ویدئوی این مقاله را مشاهده کرده و اگر باز هم سوالی داشتید لطفا در قسمت کامنت های مقاله مطرح کنید تا پاسخ داده شود.امیدوارم این مقاله برای شما عزیزان مفید واقع شده باشد.تا مقاله بعدی خدانگهدار.منبع:https://sabzlearn.ir/objects-in-javascript/</description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Thu, 26 May 2022 21:59:58 +0430</pubDate>
            </item>
                    <item>
                <title>معرفی بهترین سایت های فریلنسری خارجی</title>
                <link>https://virgool.io/@masihbusiness1599/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%D8%B3%D8%A7%DB%8C%D8%AA-%D9%87%D8%A7%DB%8C-%D9%81%D8%B1%DB%8C%D9%84%D9%86%D8%B3%D8%B1%DB%8C-%D8%AE%D8%A7%D8%B1%D8%AC%DB%8C-upqbtnnumtmv</link>
                <description>در حال حاضر تمام برنامه نویسان میتوانند به واسطه سایت های فریلنسری پروژه دریافت کرده و درآمد کسب کنند. اگرچه سایت های فریلنسری ایرانی هم وجود دارند که بستر مناسبی را برای درآمدزایی فراهم کرده اند؛ اما با این وجود سایت های فریلنسری خارجی از شرایط نسبتا بهتری برخوردارند و شما میتوانید به واسطه آها به درآمد دلاری برسید. در این مطلب قصد داریم بهترین سایت های فریلنسری خارجی را به شما معرفی کنیم تا با استفاده از آنها بتوانید درآمد خودتان را تا چند برابر افزایش دهید.سایت های فریلنسری خارجی چطور کار می‌ کنند؟قبل از اینکه درباره‌ی نحوه‌ی کار سایت‌های فریلنسری خارجی و ایرانی صحبت کنیم، بد نیست توضیحی درباره فریلنسینگ بدهیم. در واقع فریلنس به کسی گفته می‌شود که کار یا پروژه‌ای را به صورت کوتاه مدت برای یک شرکت یا ارگانی خاص تقبل کرده و انجام می‌دهد و در ازای انجام آن دستمزدی را دریافت می‌کند. در واقع فریلنس قراردادی برای کار بلندمدت با هیچ شرکتی ندارد و قرارداد کاری خود را برای هر پروژه کوتاه مدت تنظیم می‌کند. بنابراین فریلنسینگ یعنی آزادی عمل در فضای خانه و خارج از محیط کاری بدون پایبندی به چارچوب‌های سازمانی. یک فریلنسر انعطاف‌پذیری زیادی در کار دارد و می‌تواند در هر کجا و هر زمانی که بخواهد کار خود را انجام دهد. حال نقش سایت فریلنسری خارجی و ایرانی چیست؟این سایت‌ها به فریلنسر کمک می‌کنند تا پروژه‌های مطابق با مهارت‌های خود پیدا کرده و انجام دهد. یک سایت فریلنسری مجموعه‌ای از کارفرماها و فریلنسرهاست که در آن به دنبال همکار مناسب هستند. معمولا سایت‌ های فریلنسری فریلنسرها را به پروژه‌های مرتبط کارفرماها لینک می‌دهند و در ازای هر پروژه‌ای که در سایت انجام شود، پورسانتی چند درصدی از هر دو طرف قرارداد اخذ می‌کنند. پیدا کردن بهترین سایت های فریلنسری خارجی برای ایرانیان فرصت‌های شغلی پردرآمدی فراهم می‌کنند و می‌تواند دستمزدهای خوبی برای کار خود بگیرند. در ادامه‌ی این مقاله به بررسی بهترین سایت های فریلنسینگ خارجی می‌پردازیم.چه مشاغلی در سایت های فریلنسری بیشترین تقاضا را دارند؟همان‌طور که گفتیم در دنیای امروز نیاز نیست که شما حتما برای کار کردن در محیط کاری حضور داشته باشید. کافی است یک مهارت را یاد بگیرید تا بتوانید از طریق بهترین سایت های فریلنسری برای خودتان پروژه‌های مختلف گرفته و به کسب درآمد از فریلنسری بپردازید. اگر هنوز مسیر حرفه‌ای و شغلی خود را انتخاب نکرده‌اید و دنبال راهی برای رسیدن به درآمد‌های بالا از فریلنسینگ هستید، بد نیست به لیست زیر نگاهی بیندازید. در این لیست ما به شما پرتقاضاترین تخصص‌ها در سایت‌ های فریلنسینگ خارجی برای ایرانیان را عنوان کرده‌ایم.حسابداریمشاورهطراحی گرافیکعکاسیبرنامه نویسی وبطراحی سایتسئونویسندگی و تولید محتوابنابراین یک ایرانی که در حوزه‌های بالا نظیر طراحی گرافیک یا برنامه نویسی وب فعالیت دارد، می‌تواند با کار در سایت های خارجی به درآمد بالایی برسد. در مقاله درآمد برنامه نویسی وب شما می‌توانید درآمد یک طراح وب در ایران را با یک طراح وب در خارج از کشور مقایسه کنید.بهترین سایت های فریلنسری خارجی چیست؟سایت های فریلنسری خارجی سایت هایی هستند که هم جویندگان کار و هم کارفرمایان پیشنهادات خود را در آن منتشر می کنند. فریلنسر بودن راهی عالی برای استفاده از تخصص خود برای کسب درآمد آنلاین است. در واقع کسب درآمد از سایت فریلنسری خارجی یکی از بهترین راه‌های کسب درآمد از فریلنسری است. علاوه بر اینکه درآمد شما به صورت دلار خواهد بود، شما این اختیار را دارید که فقط برای پروژه هایی که دوست دارید یا در آنها مهارت دارید ، اقدام کنید. نیازی به گفتن نیست احتمالا می دانید، استفاده از سایت های فریلنسری خارجی به شما کمک می کند تا کار خود را سریعا شروع کنید و کسب درآمد کنید. سایت فریلنسری خارجی به شما کمک می کنند تا به راحتی اولین متقاضیان را پیدا کنید و سریعا به کسب درآمد از تخصص خود بپردازید. علاوه بر این، شما دائماً با قبول پروژه های مختلف از کارفرمایان مختلف، مهارت های خود را بهبود می بخشید. در نهایت، به لطف فریلنسری در سایت های خارجی نمونه کارهای شما رشد می کند و پیشنهادات شغلی بیشتری برای شما وجود دارد.17مورد از بهترین سایت های خارجی برای کاردر اینجا 17 تا از بهترین سایت های خارجی برای کار را به شما معرفی کرده‌ایم تا شما بتوانید به کسب درآمد از سایت فریلنسری خارجی بپردازید.fiverr?یکی از سایت های خارجی برای فریلنسر است که کاربران به عنوان یک فریلنسر می توانند پروژه های آماده را به مردم نمایش دهند. بنابراین مشتریان می توانند به راحتی شخصی را انتخاب کنند که به آن علاقه دارند. شما می‌توانید در این سایت در زمینه‌های طراحی وب، بازاریابی دیجیتال، تولید محتوا، ادیت فیلم و عکس و… فعالیت کنید. علاوه بر این ، Fiverr  دوره های آموزشی رایگان را به شما ارائه می دهد تا مهارت های خود را توسعه دهید و به شما یاد دهد چگونه مشتریان خود را افزایش دهید. همچنین در fiverr شما یاد می‌گیرید که چطور یک پورتفولیوی خوب برای خودتان بسازید.در fiverr امکان جستجوی پیشرفته برای کاربران و فریلنسرها فراهم شده تا بتوانند با کلمات کلیدی مختلفی جستجوی خود را انجام دهند و پروژ‌ه‌های مناسب را برای خودشان پیدا کنند. معمولا نقطه‌ی شروع قیمت پروژه‌های فریلنسرها در این سایت فریلنسری 5 دلار است. یک کارفرما می‌تواند در این سایت به بیش از هزاران فریلنسر حرفه‌ای دسترسی داشته باشد که ایده‌های خلاقانه و نو دارند. شاید ورود به fiverr برای افراد مبتدی و آغاز کار کمی سخت باشد؛ ولی به مرور می‌توانید برای خودتان شهرت کافی به دست آورده و مشتری جمع کنید. متاسفانه این سایت برای آی پی ایران بسته شده و شما برای ورود به سایت نیاز به vpn دارید. بهتر است از یک vpn با آی پی ثابت استفاده کنید.مزایای fiverr:دسته بندی متنوع کارها و پروژه‌هاثبت نام رایگان در سایتدوره‌های آنلاین برای فریلنسرهامعایب fiverr:هزینه‌های کمیسیون بالاروند پرداخت طولانیupwork?Upwork  می تواند یکی از بزرگ‌ترین و بهترین سایت های فریلنسری خارجی برای یافتن شغل باشد ، فارغ از اینکه چه نوع فریلنسری باشید. کسانی که در زمینه توسعه وب ، طراحی گرافیک ، پشتیبانی از مشتری و حتی نوشتن مستقل فعالیت دارند، متوجه خواهند شد که Upwork چیزهای زیادی برای ارائه دارد. آگهی های استخدام دائماً به روز می شود و این یک نکته مثبت در مورد این سایت است. از مشاغل کوچک گرفته تا شرکت های بزرگ ، انواع مختلفی از شرکت ها به دنبال استخدام وبلاگ نویسان ، طراحان فریلنسر و نویسندگان فریلنسر از طریق Upwork هستند.این فریلنسری در سال 2003 تاسیس شد و در حال حاضر بیش از 12 میلیون فریلنسر در آن مشغول به کار هستند. جستجوی پیشرفته این سایت شما را در پیدا کردن سریع پروژه‌های مرتبط با کارتان کمک می‌کند و با استفاده از پرداخت امن سایت، شما دغدغه‌ای  بابت ارتباط با کارفرما و دریافت پولتان نخواهید داشت. متاسفانه این سایت نیز برای آی پی ایران بسته شده؛ اگرچه می‌توانید با یک vpn  و آی پی ثابت این مشکل را برطرف کنید.مزایای آپ ورک:حفاظت از پرداخت‌هامشتریان معتبرپروژه‌های مبتنی بر بودجهمعایب آپ ورک:فرآیند انتخاب طولانیهزینه‌ی بالای خدماتDesignhill?Designhill  یکی دیگر از سایت های خارجی برای فریلنسر است که چندین روش برای معرفی فریلنسر به کارفرمایانی که به دنبال طراحان فریلنسر هستند ارائه می دهد. آنها می توانند خدمات شما را از طریق یک باکس جستجو در بالای صفحه این سایت جستجو کنند. اگر کسی هستید که در مورد کار پیدا کردن در سایت های فریلنسر غر می زند و نگران حقوق خود هستید ، ما شما را درک می کنیم.اما همه آگهی های طراحی کلاهبرداری نیستند و Designhill نشان می دهد که آنها می توانند یک کار قانونی باشند و بدون مشکل حقوق شما را بدهند. Designhill می تواند چیزهای زیادی را ارائه دهد ، چه شما یک طراح گرافیک باشید ، چه یک طراح وب و یا انواع دیگر طراحان باشید. علاوه بر این ، Designhill با ایجاد فرصتی برای طراحی تی شرت های خود ، چاپ آنها و فروش در فروشگاه آنلاین خود ، از سازندگان خود حمایت می کند. Designhill چون از کلاد آمازون استفاده می‌کند برای ایرانیان بسته است و برای ورود به آن نیاز به وی پی ان دارید.مزایای Designhillساخته شده در فروشگاه آنلاینبدون هزینه‌ی خدماتپشتیبانی از چت زندهمعایب Designhillانتخابی خوبی برای افراد غیرطراح استToptal?Toptal خود را به عنوان مکانی برای یافتن 3٪ استعدادهای برتر فریلنسر معرفی می کند. روند غربالگری آنها بسیار دقیق است به طوری که از هزاران اگهی که هر ماه دریافت می کنند ، آنها فقط تعداد کمی را می پذیرند. این کار آنها را از بسیاری دیگر از وب سایت های مستقل متمایز می کند. اگر شما هم مهارت خوبی در زمینه‌ی توسعه‌ی نرم افزار و وب، طراحی یا امور مالی دارید، می‌توانید بخشی از این شبکه‌ی گسترده باشید.برای عضویت در Toptal  شما باید در آزمون‌های مهارت سنجی سایت شرکت کرده و کلیه‌ی الزامات عضو شدن را تامین کنید. اگر کسی بتواند به عضویت تاپتال به عنوان یکی از بهترین سایت های فریلنسری خارجی درآید، می‌تواند با شرکت‌ها و افراد مهمی همکاری کند. این سایت یک مکان عالی برای کسب و کارهایی است که به دنبال استعدادهای خوب برای برون سپاری پروژه‌های خود هستند. سایت Toptal  برای ایران باز است، ولی بهتر است با آی پی غیرایرانی در آن فعالیت کنید تا مشکلی در آینده برایتان ایجاد نشود.مزایای Toptal  :حضور شرکت‌ها بزرگ و برتر در این مجموعهصورتحساب و پرداخت آزادمعایب Toptal  :فرآیند غربالگری زمان‌بر و سنگینپروژه‌های سنگینLinkedIn and LinkedIn ProFinder?رشته شما هرچه باشد ، به خصوص اگر یکم کمی خلاق باشید ، باید حساب LinkedIn داشته باشید. شما می توانید برای هر طرحی که ساخته اید نمونه هایی از کار خود را ارسال کنید ، و آن را به رزومه تبدیل کنید. و با توانایی جستجوی مهارت های خود در این سیستم عامل ، مجبور خواهید بود که مقداری ترافیک به حساب خود منتقل کرده و با افرادی که ممکن است به دنبال طراحی شما باشند ارتباط برقرار کنید. ویژگی هوشمند دیگری که LinkedIn منتشر کرده است LinkedIn ProFinder  است که به مشاغل کمک می کند افراد واجد شرایط را برای کار در آنها پیدا کنند. یک دلیل وجود دارد که لینکدین یکی از بهترین سایت های شغلی است: آنها همچنان آنچه را که متقاضیان کار به دنبال آن هستند ارائه می دهند. خوشبختانه ایرانیان به راحتی می‌توانند از لینکدین استفاده کنند و شرکت‌های ایرانی زیادی نیز در آن حضور دارند.مزایای لینکدین:فرصت‌های شغلی شبکه‌ایبه‌روزرسانی اخبارمقرون به صرفه بودنمعایب لینکدین:محتوای هرزنامه از کاربران مخربWe Work Remotely?سایت We Work Remotely که یکی از بهترین سایت های فریلنسری خارجی  به حساب می آید گفته است که افتخار می کنیم که ماهانه حدود 2.5 میلیون کاربر وارد سایت می کنیم. این سایت فریلنسر برای ایرانی ها یک گزینه‌ی مناسب محسوب می‌شود؛ چرا که این حجم ورودی بسیار عظیم است. آنها آگهی های استخدام زیادی با پیشنهادات طراحی دارند. افراد یا شرکت هایی که به دنبال طراح هستند باید برای پیوستن به این سایت ، مبلغی معادل 299 دلار هزینه می کنند، که به عنوان یک پروسه غربالگری عمل می کند. و پیشنهادات کاری بسیار بی کیفیت را از بین می برد. اگر به دنبال شغل پاره وقت یا شغل تمام وقت باشید تا بتواند برای شما درآمد ایجاد کند ،مطمعن باشید We Work Remotely مشاغل فریلنسری و متناسب با مهارت های شما دارد. سایت We Work Remotely برای آی پی ایران باز است و می‌توانید در آن فعالیت کنید.مزایای We Work Remotelyبیش از 100 فرصت شغلی برنامه نویسی در هفتهبیش از 50 فرصت شغلی در زمینه‌های دیگررایگانمعایب We Work Remotelyرابط کاربری نامناسبویژگی‌های شغلی گیج‌کنندهپیدا کردن آخرین فرصت‌های شغلی گاهی سخت می‌شود.Behance?هنگام جستجوی طرح های خلاقانه ، بدون شک با سایت Behance روبرو شده اید. این شامل نمونه کارهای بسیار خوبی از جمله تصاویر ، انیمیشن ها ، طراحی وب و موارد دیگر. وقتی حساب کاربری Behance خود را با نمونه های حرفه ای خود پر می کنید ، کار شما به مخاطبان هم کار شما نمایش داده می شود. و اگر کار شما در پروژه ارائه شده جایگاه مطلوبی را کسب کند ، در معرض دید بیشتری قرار خواهید گرفت. Behanceهمچنین به عنوان یک شبکه اجتماعی برای ارتباط با طراحان دیگر فعالیت می کند. سایت بیهنس نیز برای ایرانیان باز است؛ با این حال بهتر است برای فعالیت در آن از آی پی ثابت غیرایرانی استفاده کنید.مزایای Behance:طیف گسترده‌ای از مخاطبانفرصت‌های شغلی شبکه‌ایمحتوای شخصیمعایب Behance:محیط رقابتیاندازه‌ی فایل محدود برای تصاویرSimply Hired?یکی از بهترین مشخصه‌های این سایت در مقایسه با سایر سایت های فریلنسری خارجی این است که می توانید در مشاغل محلی جستجو کنید و مشاغلی که به محل زندگی شما نزدیک هستند دسترسی پیدا کنید که به نوع خود روشی جالب است. همچنین لیستی از بهترین حقوق و ابزاری برای برآورد هزینه پروژه های شما وجود دارد. این ابزار برای بررسی یک کار خاص که می خواهید انجام دهید مفید است و می تواند در قیمت دهی پروژه شما کمک کوچکی بکند. همچنین شما می توانید رزومه ای از داخل این وب سایت برای خود بسازید و از بخش وبلاگ این سایت می توانید چیزهای زیادی یاد بگیرید و تخصص خود را ارتقا دهید. این سایت نیز برای ایرانیان بسته شده و باید از vpn برای ورود به آن استفاده کنید.مزایای Simply Hiredهشدارهای ایمیلراهنماهای کاربردیابزارهای شغلی رایگانمعایب Simply Hiredهرزنامه از سایت‌های سوم شخص غیرمطمئنPeoplePerHour?این وب سایت یکی از بهترین سایت های فریلنسری خارجی است که بیش از 1.5 میلیون فریلنسر دارد که از این خدمات استفاده کرده اند. هر کارمند دارای یک امتیاز است که به پیشرفت فریلنسر و تلاش برای بهتر شدن کمک می کند. شما همیشه باید کار خود را بهبود ببخشید و هزینه معقولی تعیین کنید تا احتمال انتخاب شما برای هر پروژه بیشتر شود. PeoplePerHour به پیدا کردن کار و پرداخت سریع معروف است و نام این سایت هم از همین ویژگی او گرفته شده است.نحوه‌ی فریلنسینگ در این سایت نیز کاملا شبیه به Fiverr است با این تفاوت که شما هیچ محدودیتی برای انتخاب مشتری و قرارداد ندارید. بنابراین با کمک این سایت می‌توانید مشتریان جدیدی به دست آورده و کار بیشتری انجام دهید. قابلیت پیگیری روند اجرای پروژه و گفتگوی راحت با فریلنسر یکی از دلایلی است که به شهرت و اعتبار این سایت افزوده است. این سایت برای ایرانیان بسته شده و باید از آی پی غیرایرانی برای ورود به آن استفاده کنید. بهتر است آی پی ثابت داشته باشید تا شناسایی نشوید.مزایای PeoplePerHourصورت‌حساب خودکارلیست‌های مبتنی بر مکانپرداخت امنمعایب PeoplePerHourپیشنهادات رایگان هر ماه به 15 عدد محدود استAquent?Aquent به عنوان یک شرکت آگهی و استخدام و همچنین بهترین سایت های فریلنسری خارجی،  جوایز و مقام های زیادی را از آن خود کرده است. Aquent  گفته بود که عمدتاً کسی را که بیش از 2 سال سابقه کار دارد ، می پذیرد و این مورد بسیار جالب است که فقط از متخصصان استفاده می کند. پس اگر واقعا فکر می کنید متخصص واقعی هستید می توانید از این سایت استفاده کنید و پروژه های خوبی را شروع و کسب درآمد کنید. اگر نمی دانید که دستمزد خود را برای پروژه ها چقدر و چگونه تعیین بکنید این وبسایت یک بخش راهنما دارد که می تواند به شما برای تعیین هزینه پروژه ها کمک بکند. آکونت برای ایرانیان باز است و می‌توانید در آن کار کنید.مزایای Aquentفضای کاری ایده‌آلزمان شناور برای تحویل پروژهارتباط مناسب با کمپانی‌ها و کارفرماهامعایب Aquentحقوق و دستمزد تعیین شده منطبق با بازار نیست.Crowded?کرودد یکی از بهترین سایت های فریلنسری خارجی است که کاربران را بر اساس قیمت ، تجربه و مهارت افراد درجه بندی می کند. سیستم این وبسایت بسیار جالب است و شما نیاز نیست برای هر پروژه درخواست دهید. فقط کافی است مراحل را یک بار طی کنید و منتظر تماس باقی کارفرما ها بمانید. یعنی خود کارفرما ها با شما تماس میگیرند و نیاز نیست شما به دنبال دریافت پروژه باشید. در این سایت فریلنسرها می‌توانند با کارکنان مستقل همکاری کنند. در این سایت تعداد بیشماری کارفرما و فریلنسر وجود دارند که می‌توانند بدون محدودیت برای فرصت‌های شغلی مختلف با هم همکاری کنند. فریلنسرها می‌توانند یکی از بزرگ‌ترین لیست‌های مشاغل مناسب برای خودشان را در یک جا ببینند و معمولا این جایگاه‌های شغلی سریعا پر می‌شوند.  سایت Crowded برای ایرانیان فعال است و شما می‌توانید در آن پروژه بگیرید؛ با این حال بهتر است از vpn آی پی ثابت استفاده کنید تا در آینده دچار مشکل نشوید.مزایای Crowdedخدمات مشتریان عالیمجموعه‌ای از شرکت‌های بزرگ و کوچکایجاد انجمن‌های گروهیمناسب برای افراد بدون توانایی کدنویسیمعایب Crowdedرابط کاربری هنوز هم می‌تواند بهتر و مجهزتر شود.The Creative Group?TCG ، یکی از سایت های فریلنسری خارجی است که به شما امکان می دهد موقعیت های شغلی را ببینید و جستجو کنید. هنگامی که فرصتی متناسب با علاقه شما ایجاد شد ، می توانید درخواست یک کار را بدهید و منتظر تماس کارفرما بمانید. این سایت بخشی از یک سازمان بزرگتر تحت عنوان The Creative Group است که هدفش ایجاد فرصت‌های شغلی برای افراد خلاق و باانگیزه در زمینه‌هایی نظیر طراحی و توسعه وب، هنر، بازاریابی، تولید محتوا، عکاسی و طراحی گرافیکی است. شما می‌توانید به راحتی با فیلترگذاری روی نتایج جستجوی سایت، موقعیت‌های شغلی با قرارداد دائم و استخدام را پیدا کرده و شغلی عالی و ثابت برای خودتان پیدا کنید. این سایت برای ایرانیان تحریم شده و برای استفاده از آن نیاز به آی پی غیرایرانی ثابت دارید.مزایای‌ The Creative Groupفرصت‌های شغلی بی‌شمارهمکاری با شرکت‌های معتبرمعایب The Creative Groupتعامل سخت با کارفرماپشتیبانی ضعیف99Designs?این وب سایت فریلنسری با هدف تمرکز بر مشاغل طراحی – همه چیز از لوگو گرفته تا جلد کتاب است. همچنین به مشتریان این امکان را می دهد تا مسابقه ای را شروع کنند که در آن همه از 99Designs  می توانند شرکت کنند. یکی از موارد ضروری برای کار در این سایت فریلنسری خارجی این است که شما باید قبل از هر چیز نمونه کارهای خود را داخل سایت بارگزاری کنید و یک پورتفولیوی قوی برای خود بسازید. به عنوان یک فروشنده، شما برای گرفتن پروژه‌ها پیشنهاد نخواهید داد؛ اما، در عوض باید کارهای خود را ارائه دهید تا کارفرماها با ایده‌های ذهنی شما آشنا شوند.کارفرمایان با مشاهده‌ی نمونه‌های موجود در سایت بهترین طرح‌ها را انتخاب می‌کنند و از فریلنسرها خریداری می‌کنند. اینکه زمان خود را صرف کاری می‌کنید که پرداخت آنی ندارد، شاید کمی برایتان دلسرد کننده باشد؛ ولی با یک پرزنت خوب می‌توانید مشتریان خوبی به دست آورید. سایت 99Designs نیز برای ایرانیان قابل دسترس است؛ ولی بهتر است از آی پی ایران برای آن استفاده نکنید.مزایای 99Designsمحیط اختصاصیپرداخت امنجامعه‌ی فعالمعایب 99Designsهزینه‌های بالای خدماتسطح طراحان می‌تواند محدود باشد.Nexxt?یکی دیگر از بهترین سایت های فریلنسری خارجی Nexxt است. از دیگر سایت های خارجی برای فریلنسر است که جستجوی شغل را براساس 4 معیار: تمرکز شغلی ، تمرکز محل زندگی ، تمرکز بر تنوع و تمرکز جهانی دسته بندی می کند. با استفاده از این دسته ها ، این وب سایت فریلنسری همچنین به شما امکان می دهد مشاغل مختلف و متناسب با مسیر شغلی خود را انتخاب و امتحان کنید. می‌توان گفت Nexxt یک پلتفرم عالی برای ایجاد ارتباط میان فریلنسرها و کسب و کارهای حرفه‌ای است. دو ویژگی این پلتفرم آن را از سایر وب سایت های فریلنسری خارجی متمایز می‌کند: جستجوی راحت مشاغل که به شما امکان می‌دهد به راحتی بر اساس مدارک تحصیلی و سوابق شغلی خود بهترین گزینه‌ها را پیدا کنید. و دیگری امکانات ارتباط سریع و آسان با کارفرما که روند ارزیابی و پیشرفت پروژه را تسهیل می‌کند. سایت Nexxt برای ایرانیان باز است و شما می‌توانید از فرصت‌های شغلی موجود در این سایت استفاده کنید.مزایای Nexxtامکان ارتباط راحت و سریع با کارفرما و کمپانی‌هاجستجوی راحت مشاغلمعایب Nexxtایمیل‌های اسپمهویت‌های جعلی زیادرابط کاربری ضعیفWriter Access?اگر می خواهید یک نویسنده فریلنسر شوید ، Writer Access  بهترین سایت فریلنسر برای ایرانی ها  در زمینه‌ی نویسندگی است. این شامل همه شغل های مربوط به نوشتن ، از جمله مقالات آنلاین، اسناد فنی و موارد دیگر است. این وب سایت به صورت فریلنسری ابزارهای بسیاری مانند تجزیه و تحلیل محتوا ، بهینه سازی کلمات کلیدی و برنامه ریزی محتوا را برای انجام کار موثرتر ارائه می دهد. می‌توان گفت Writer Access یکی از بهترین سایت های فریلنسری برای ایرانیان است که علاقمند به نوشتن هستند.در واقع این سایت یک انجمن بزرگ برای پیوند میان نویسندگان، سردبیران، استراتژیست‌های محتوا و کپی‌رایترهاست. برای کار در این سایت شما نیاز به تسلط بر نگارش انگلیسی دارید؛ چون اغلب محتواها به این زبان هستند. سایت Writer Access برای ایرانیان تحریم است و شما باید با یک آی پی ثابت غیرایرانی در آن فعالیت کنید.مزایای Writer Accessرایگان بودنراحتی استفادهکیفیت پشتیبانیمعایب Writer Accessزمانبندی نامناسب برای برخی پروژه‌هاتوافق بودجه سختTaskRabbit?همه مشاغل فریلنسری دیجیتال نیستند.TaskRabbit یکی از سایت های فریلنسری خارجی است که روی خانه تمرکز دارد. جابجایی و بسته بندی اثاثیه ، لوله کشی یا هر چیز دیگری – می توانید آن را در TaskRabbit بیابید. اما این مورد ممکن است در ایران به درد شما نخورد چون نمی توانید به صورت ریموت با کشورد های دیگر کار کنید. اما اگر ساکن خارج از ایران هستید این سایت یکی از بهترین ها است و می توانید شغل های زیادی را پیدا کنید.شما می‌توانید از این پلتفرم برای جستجوی انواع مشاغل از جمله مشاغل مربوط به خانه، خانه داری، تحویل مواد غذایی یا حتی دکوراسیون اقدام کنید و حتی مشتریانی را برای خدمات خود بیابید. از امتیازات این سایت می‌توان به ارتباطی امن و موثر میان کارگذار و کارکنان اشاره کرد. سایت TaskRabbit برای ایرانیان باز است؛ ولی در کشور ایران به خاطر محلی بودن خدماتشان کاربردی ندارد.مزایای TaskRabbitنرخ‌های سفارشی ساعتیبدون هزینه خدماتمعایب TaskRabbitفقط در مناطق خاصی موجود استSkyword?به عنوان یکی دیگر از بهترین سایت های فریلنسری خارجی  باید به اسکای ورد اشاره کنیم. در اینجا می توانید بسیاری از افراد حرفه ای و متخصص را برای بازاریابی محتوا پیدا کنید. می توانید برای کار به عنوان یک استراتژیست محتوا، مدیر تحریریه و غیره ثبت نام کنید. بعلاوه ، این فقط به شرکتهای آمریکایی یا فقط انگلیسی خدمت نمی کند ، زیرا Skyword توسط مشتریان از 27 کشور با 13 زبان مختلف پشتیبانی می شود. اگر شما به زبانی به جز انگلیسی تسلط دارید و می‌توانید محتوای حرفه‌ای به آن زبان تولید کنید، این سایت مناسب شماست. مسلما فرصت‌های شغلی برای تولید محتوای غیرانگلیسی راحت‌تر به دست می‌آید، چرا که تقاضا برای گرفتن آن کمتر است. خوشبختانه اسکای ورد برای ایرانیان باز است و می‌توانید از آی پی ایرانی نیز از آن استفاده کنید.مزایای Skywordتیم پشتیبانی قویارتباطات راحت و سریعارزش مالی خوب پروژه‌هامعایب Skywordرابط کاربری گیج کنندهپاسخگویی زمان‌برفرصت‌های شغلی کمتر نسبت به سایر سایت‌هاFreelancer?این وب سایت مستقل با 32 میلیون کاربر ثبت شده بزرگترین بازار جذب سرمایه است. برای مطابقت با این تعداد ، هزاران شغل برای انتخاب به عنوان فریلنسر وجود دارد. شما می توانید به صورت رایگان و هر روز صدها درخواست برای پروژه های مختلف ارسال کنید. از طرف دیگر شما می‌توانید با شرکت در مسابقات مختلفی که در این سایت برگزار می‌شود، مهارت‌های خود را به نمایش بگذارید. در سایت فریلنسر بیش از یک میلیون پروژه قرار دارد و شما می‌توانید به راحتی فرصت‌های شغلی خوبی به دست آورید.می‌توان گفت سایت فریلنسر برای ایرانی ها یکی از بهترین سایت های فریلنسری خارجی برنامه نویسی وب است که توسعه دهندگان وب می‌توانند در آن پروژه‌های خوبی بگیرند و از این طریق به کسب درآمد از سایت های خارجی بپردازند. سایت فریلنسر برای ایرانیان باز است؛ ولی محدودیت‌هایی را برای فعالیت با آی پی ایرانی در نظر گرفته؛ بنابراین بهتر است با vpn ثابت در این سایت کار کنید تا مشکلی برایتان ایجاد نشود.مزایای فریلنسر:ردیابی پیشرفتهچت زندهپشتیبانی 24 ساعته مشتریان در هفت روز هفتهمعایب فریلنسر:رابط کاربری پیچیدهمتقاضیان اسپممشتریان جعلیکسب درآمد از سایت های فریلنسری خارجی برنامه نویسیکسب درآمد از سایت های فریلنسری خارجی برنامه نویسی یک انتخاب ایده‌آل برای توسعه دهندگان و برنامه نویسان است که می‌توانند از آن‌ استفاده کنند. با در نظر گرفتن این نکته که یک برنامه نویس در خارج از ایران درآمد بیشتری دارد، می‌توان گفت کسب درآمد از فریلنسری از طریق سایت های خارجی برای کار برنامه نویسی یک انتخاب خوب برای رسیدن به درآمد بالاست. اگر درآمد یک برنامه نویس فرانت اند در ایران را با درآمد برنامه نویس در آمریکا را مقایسه کنید، متوجه خواهید شد که یک برنامه نویس با کار در سایت‌های خارجی می‌تواند چندین برابر حقوق نسبت به ایران دریافت کند. همان‌طور که جلوتر اشاره کرد، برنامه نویسی وب یکی از شاخه‌های پرتقاضا در سایت‌ های خارجی برای کار است. شما می‌توانید با تقویت مهارت‌هایی مثل جاوااسکریپت،  html و css و با کمی توانایی صحبت به زبان انگلیسی به یک درآمد عالی از این راه برسید.?نتیجه گیریفریلنسر بودن به این معنی است که شما در انتخاب شغل بعدی خود دارای انعطاف پذیری بیشتری هستید ، در عین حال آزادی و زمان و مکان انجام آن را دارید. برای کمک به شما در درک مسیر شغلی جدید خود ، بهترین وب سایت های فریلنسری را برای شما لیست کرده ایم. در اینجا یک مرور مختصر از بهترین ها وجود دارد:Upwork بهترین وب سایت فریلسنری است که ابزارهایی برای حمایت از پیشرفت شغلی شما دارد.اگر یک طراح هستید باید سایت Designhill را بررسی کنید.Skyword یک بستر جهانی بازیابی گروهی است که برای کارمندان فریلنسر و بازاریابی مناسب است.TaskRabbit فرصت های فراتر از مشاغل دیجیتال را با مشاغل آزاد در خانه فراهم می کند.WriterAccess امکان استفاده از آن را برای هرکسی که عاشق نوشتن است آسان می کند.فریلنسر بزرگترین شبکه مشاغل از راه دور را ارائه می دهد.اگر از قبل فریلسنر باتجربه ای هستید ، به Aquent بپیوندید زیرا این پلتفرم مخصوص افراد حرفه ای طراحی شده است.Nexxt بستر متنوع تر و فراگیرتری را برای هرکسی با تجربه متفاوت فراهم می کند تا شروع به جستجوی کار آزاد کند.با Fiverr می توانید به دنبال کار باشید ، در حالی که می توانید مهارت های خود را با دوره های آنلاین رایگان ارتقا دهید.شما می‌توانید با کسب مهارت در حوزه‌های پرتقاضایی نظیر عکاسی، گرافیک، مشاوره و برنامه نویسی به راحتی از فرصت‌های شغلی موجود در بهترین سایت های فریلنسری خارجی برای ایرانیان استفاده کرده و به درآمد عالی برسید. شرط این کار انتخاب درست مهارت‌هاست. مثلا برای برنامه نویسی شما باید به دنبال بهترین زبان برنامه نویسی برای کسب درآمد از طریق سایت های فریلنسری باشید. البته راه های زیادی برای دریافت پروژه های جدید وجود دارد و سایت های خارجی برای کار فقط یکی از این روش ها است. به نظر شما کدام سایت های خارجی برای فریلنسری عالی هستند؟سوالات متداولکدام از سایت های فریلنسری خارجی بهتر است؟به طور کلی فریلنسری در سایت های خارجی بر اساس یک ویژگی‌های متعددی بررسی می‌شود. معمولا برخی از مهم‌ترن سایت‌های خارجی بر اساس ویژگی‌های گفته از سایر سایت‌ها بهترند؛ مثلا:بهترین از هر نظر : Freelancer و UPWORKبهترین از نظر کار از راه دور: FlexJobsبهترین از نظر کار برای مشاغل محلی: Craigslistبهترین برای مبتدیان: Fiverrبهترین برای مشاغل غیر دیجیتال: taskrabbitبهترین برای خلاقیت: Working Not Workingو…نحوه‌ی ثبت نام در بهترین سایت های فریلنسری خارجی برای ایرانیان به چه صورت است؟شما می‌توانید به صورت مستقیم در سایت‌های فریلنسری خارجی اکانت بسازید و از طریق سایت‌های واسطه در ایران یک حساب پی پال یا… برای خودتان ساخته و دستمزد خود را دریافت کنید که البته مشمول هزینه خواهد شد. یک روش دیگر ساخت یک اکانت وریفای شده همراه با حساب بانکی از طریق سایت‌های واسطه‌ی ایرانی است که می‌توانید در اینترنت آن‌ها را پیدا کنید. نکته‌ی بسیار مهم این است که برای استفاده از سایت‌های واسطه باید از اعتبار سایت مطمئن شوید تا مبادا از شما سواستفاده شود. چنانچه بتوانید از حساب شخصی در خارج از کشور نیز استفاده کنید، می‌توانید بدون نیاز به واسطه پول خود را برداشت کنید که برای این کار دو مسئله وجود دارد: اول اینکه باید شخص مورد اعتمادی پیدا کنید و دوم اینکه مبلغی که به حساب شخص واریز می‌شود، مشمول مالیات خواهد بود و ممکن است هر کسی این کار را قبول نکند.آیا با آی پی ایران می‌توان از سایت های فریلنسر خارجی استفاده کرد؟متاسفانه به خاطر شرایط تحریم بهترین سایت های فریلنسر خارجی مثل فریلنسر و آپ ورک برای آی پی ایران بسته هستند و امکان ورود به این سایت‌ها تنها از طریق vpn امکان پذیر است. از سوی دیگر در برخی از سایت‌ های فریلنسری معتبر مثل فریلنسر شما برای وریفای شدن نیاز به پاسپورت و مدارک خارجی دارید و حتی برخی سایت‌ها با شما تماس تصویری نیز برقرار می‌شود. با تمام این تفاسیر راه‌حل‌های مختلفی برای دور زدن این محدودیت‌ها وجود دارد که با یک جستجوی ساده می‌توانید آن‌ها را پیدا کنید.چطور می‌توان درآمد دلاری را به تومان تبدیل کرد؟پس از اینکه موفق شدید یک حساب پیپال بسازید و درآمد خود از سایت فریلنسری خارجی دریافت کنید، کافی است از طریق یک صرافی پول خودتان را به تومان تبدیل کنید. برای این کار راحت‌ترین راه استفاده از سایت‌هایی مثل ایرانیکارت یا ارزپی است که البته درصدی از پول شما به عنوان پورسانت توسط سایت برداشت می‌شود. چنانچه از حساب‌های پی پال خود سایت‌های واسطه استفاده کنید، کار شما راحت‌تر نیز خواهد شد.آیا استفاده از سایت‌ های فریلنسری خارجی امنیت دارد؟چنانچه با قوانین سایت‌ها آشنایی داشته باشید و کاملا مطابق با چارچوب‌های گفته شده در سایت عمل کنید، امنیت حساب شما از سوی سایت تامین خواهد شد و مشکلی بابت دریافت پول نخواهید داشت. اما چیزی که باید در نظر داشته باشید این است که حتما از آی پی خارج از ایران و استاتیک استفاده کنید تا شناسایی نشوید. با وجود تمامی موارد امنیتی باز هم برای یک فریلنسر ممکن است مشکلات زیر رخ دهد:منبع:https://sabzlearn.ir/en-freelance-sites/</description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Sun, 22 May 2022 04:57:51 +0430</pubDate>
            </item>
                    <item>
                <title>فرق سنیور و جونیور در برنامه نویسی چیست ؟</title>
                <link>https://virgool.io/@masihbusiness1599/%D9%81%D8%B1%D9%82-%D8%B3%D9%86%DB%8C%D9%88%D8%B1-%D9%88-%D8%AC%D9%88%D9%86%DB%8C%D9%88%D8%B1-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%DA%86%DB%8C%D8%B3%D8%AA-pmwejsfnoytk</link>
                <description>فرق سنیور و جونیور چیست ؟ اگر شما در حوزه های مرتبط با برنامه نویسی فعالیت داشته باشید، قطعا کلماتی مثل سنیور و جونیور را شنیده و در آگهی های استخدامی این حوزه مشاهده کرده اید.قبلا در مدارس مختلف دانش آموزان را با نمره هایی بین 0 تا 20 مورد سنجش قرار می دادند اما آن نمرات امروزه با نمرات توصیفی مثل خوب، خیلی خوب، عالی، نیاز به تلاش و … جایگزین شده اند. امروزه به کمک همین نمرات توصیفی دانش آموزان را دسته بندی کرده و از این دسته بندی در انتخاب رشته آن ها استفاده می کنند.همین دسته بندی و سطح بندی در حوزه برنامه نویسی نیز وجود دارد که به کمک کلماتی مثل سنیور، جونیور و … تعیین می شوند.زمانی که یک شرکت در پلتفرم های مختلف آگهی استخدامی منتشر می کند، بنا به نیاز خود یکی از این کلمات را در آگهی خود ذکر می کنند.در این مقاله قصد داریم که در مورد سطح بندی های برنامه نویسی و تعیین سطح در این حوزه صحبت کنیم تا شما هنگام ورود به بازار کار بتوانید سطح خود را تشخیص داده و سردرگم نشوید.چند سطح در حوزه برنامه نویسی وجود دارد؟فرق سنیور و جونیور چیست ؟اکثر افراد در مورد سطح بندی برنامه نویس ها فقط کلمات جونیور، میدلول و سنیور را می شناسند و سطح کارآموزی را جزو سطح بندی به حساب نمی آورند.در حالی که به صورت کلی در حوزه برنامه نویسی چهار سطح داریم که به ترتیب از مبتدی به حرفه ای کارآموز، جونیور، میدلول و سنیور هستند.اگر بخواهیم مفهوم هر کدام از این چهار سطح را به طور مختصر بیان کنیم:کارآموز: کارآموز شخصی است که در هیچگونه نمونه کاری نداشته و اطلاعات دقیق و درستی از حوزه کاری خود (مثلا فرانت اند) ندارد. اطلاعات یک کارآموز در حد تئوری و آکادمیک است.جونیور: برنامه نویس جونیور چند گام از یک کارآموز جلوتر بوده و نمونه کارهایی را در حوزه فعالیت خود دارد. جونیور در یک شرکت برنامه نویسی در حال منتور شده وارد پروژه اصلی نمی شود.میدلول: برنامه نویس میدلول می تواند در فیلد کاری خود چندین برنامه نویس جونیور و کارآموز منتور کند و همچنین برنامه نویسی اصلی هر پروژه و سیستم در شرکت های برنامه نویسی، بر عهده برنامه نویس های میدلول است.سنیور: برنامه نویس های سنیور می توانند برنامه نویس های میدلول را منتور کرده و همچنین می توانید یک تیم برنامه نویسی و چندین میدلول را مدیریت، تسک بندی و سازماندهی کند.این تعاریف فقط چند تعریف کوتاه در حد شناخت این سطح ها هستند و در ادامه مقاله به طور مفصل در مورد آن ها صحبت خواهیم کرد.سطح کارآموزی در برنامه نویسیهمان طور که در قسمت قبل به صورت مختصر اشاره کردیم، سطح کارآموزی مبتدی ترین سطح در حوزه برنامه نویسی است.کارآموز کسی است که هیچ گونه تجربه ای در حوزه برنامه نویسی ندارد و با مفاهیم، اصطلاحات و تکنولوژی های موجود در این حوزه آشنایی ندارد.علاوه بر این یکی از سوالات برنامه نویسان در این سطح این است که “چه زبانی بازار کار خوبی دارد؟”، “چه زبان را یاد بگیرم؟”، “در چه مدت زمانی می توانم یاد بگیرم؟” و … .پس اگر شما همچین سوالاتی ذهنتان را مشغول کرده است، در سطح کارآموز قرار دارید.یکی از سوالاتی که ذهن افراد تازه وارد به این حوزه را به خود مشغول می کند این است که برای کارآموزی حتما باید به شرکت های برنامه نویسی مراجعه کنیم یا راهکار دیگری موجود است.برخی از افراد مدت کارآموزی خود را در شرکت های مختلف سپری می کنند اما تعداد بسیار زیادی از برنامه نویسان این سطح را به صورت خودآموز طی می کنند.این یک موضوع کاملا شخصی است. ممکن است یک شخص به صورت خودآموز بازدهی و یادگیری بالایی داشته و شخصی دیگر به صورت قرار گرفتن در محیط کار و شرکت واقعی بازدهی و یادگیری بالایی داشته باشد.اما اگر از برنامه نویسان حرفه ای مشورت کنید، درصد بسیار زیادی از آن ها کارآموزی در شرکت را به شما پیشنهاد نمی کنند! جالب است برایتان سوال باشد که دلیل این پیشنهاد نکردن چیست!همان طور که بالاتر گفته شد، شخص کارآموز کسی است که هیچ تجربه و تخصصی در بازار کار و پروژه واقعی نداشته و هیچ نمونه کاری ندارد. اما اگر به آگهی های شغلی برنامه نویسی که برای جذب کارآموزی ثبت می شوند مراجعه کنیم، در کمال تعجب خواهیم دید که انتظارات بیجا و مهارت هایی زیادی از یک کاراموز درخواست می کنند.متاسفانه خیلی از شرکت های داخلی از اسم کارآموز سو استفاده کرده و افرادی که مهارت و نمونه کار هایی دارند را با اسم کارآموز جذب می کنند و مدت زیادی در شرکت از مهارت آن ها سو استفاده می شود.اگر بخواهیم به اصل مطلب بپردازیم، اکثر شرکت های ایرانی از جذب کارآموز هدفی جز سو استفاده ندارند.اما بین شرکت های موجود شرکت هایی نیز هستند که هدفشان از جذب کارآموز واقعا آموزش دادن و بحث یادگیری و در نهایت استخدام است، ولی متاسفانه اکثر شرکت ها از جذب کارآموز هدفی جز سو استفاده ندارند.فرق سنیور و جونیور چیست ؟ رابطه کارآموز و حقوقدر قسمت قبلی به اندازه کافی در مورد ویژگی های سطح کارآموز صحبت کردیم. ممکن است برایتان سوال باشد که آیا در مدت کارآموزی در یک شرکت برنامه نویسی، به کارآموز حقوقی پرداخت می شود یا نه!قبل از این که به این سوال پاسخ بدیم، یکی دیگر از عملکرد های کارآموز در یک شرکت برنامه نویسی را مورد بررسی قرار می دهیم. کارآموز به دلیل این که مهارت تخصصی ندارد، در یک شرکت وارد پروژه های اصلی نشده و خارج از تیم اصلی شرکت به یادگیری خود می پردازد.از این رو اصولا هیچ گونه حقوق و مبلغی برای کارآموز اختصاص داده نمی شود. اما برخی از شرکت ها ممکن است به دلیل دور بودن مسیر کارآموز از منزل تا شرکت، هزینه رفت و آمد و تغذیه را پرداخت کنند.مدت زمان مطرح نیست!به جرئت می توان گفت یکی از سوالاتی که توسط افراد تازه وارد به این حوزه پرسیده می شود این است که “در مدت چند ماه یا چند سال می توان به فلان سطح رسید؟” یا “در چه مدت زمانی می توانم وارد بازار کار برنامه نویسی شوم؟”.اگر این سوالات ذهن شما را هم درگیر کرده اند، جالب است بدانید که مدت زمان در حوزه برنامه نویسی به هیچ وجه مطرح نیست. ممکن است یک شخص یکی از تکنولوژی های این حوزه مثل ری اکت، جاوا اسکریپت، پایتون و … را در مدت زمان 6 ماه در حد خیلی خوب و قابل قبول برای بازار کار یاد بگیرد اما شخص دیگر همان تکنولوژی را در مدت زمان 10 ماه هم نتواند در سطح قابل قبول یاد بگیرد!پس در نتیجه به هیچ وجه نمی توان در مورد مدت زمان یادگیری برنامه نویسی توسط یک شخص اظهار نظر کرد و هیچ مدت زمان ثابتی در این زمینه وجود ندارد.اما برای تشخیص مدت زمان یادگیری چند پارامتر و Hint وجود دارند که می توانند به شما کمک کنند تا بتوانید این مدت زمان را در مورد خودتان حدس بزنید. از این پارامتر ها می توان به منابعی که از آن ها برای یادگیری استفاده می کنید، روزانه چند ساعت را برای تمرین اختصاص می دهید، چه اندازه از داکیومنت ها و رفرنس های اصلی استفاده می کنید، چه اندازه در زمینه زبان انگلیسی اطلاعات دارید، چه اندازه در سرچ کردن مهارت دارید، پیش نیاز های لازم را در چه حدی یاد گرفتید و … اشاره کرد.برای حدس مدت زمان یادگیری یک شخص باید تمام این پارامتر ها تعیین شوند و بدون تعیین همچین پارامتر هایی به هیچ وجه نمی توان در مورد مدت زمان یادگیری صحبتی کرد.شما نیز سعی کنید همچین سوالاتی را از هیچ شخصی نپرسید؛ چون پرسیدن این سوالات شما را سطح پایین جلوه می دهند و شخصی که این سوالات را بپرسد در سطح کارآموز و جونیور است.پس تا همین قسمت از مقاله متوجه شدید که اگر دغدغه و سوال یک برنامه نویس این باید که “در چه مدت زمانی می توانم یاد بگیرم؟”، او در سطح کارآموز یا جونیور است.در ادامه به جزئیات بیشتری در مورد از سطح ها خواهیم پرداخت.چه برنامه نویسی جونیور است؟فرق سنیور و جونیور چیست بالاتر در مورد یک برنامه نویس جونیور صحبت کردیم و اطلاعات کلی در مورد آن به دست آوردیم.برنامه نویس جونیور چند گام از یک کاراموز جلوتر بوده و می تواند نمونه کار های متعددی نیز داشته باشد اما نمی تواند یک کارآموز را مدیریت و منتور کند.برنامه نویس جونیور در یک شرکت برنامه نویسی توسط برنامه نویسان میدلول و سنیور منتور شده وارد پروژه اصلی نمی شود؛ چون هنوز تجربه و معلومات کافی را کسب نکرده است.یک برنامه نویس جونیور فقط به خروجی کدی که می نویسد توجه می کند و هدف او کار کردن کدی است که می نویسد و هیچ توجهی به نحوه کد نویسی و رعایت استانداردها نمی کند.پس اگر شما همچین حالتی دارید، یک برنامه نویس جونیور هستید.موضوع بعدی این که خطاهایی که یک برنامه نویس مبتدی با آن رو به رو می شوند، اکثرا در حد سینتکس هستند. پس از روی باگ های یک برنامه نویس نیز می توان سطح او را تشخیص داد.موضوع بعدی این است که سوالاتی که ممکن است برای یک برنامه نویس جونیور پیش بیاید در حد مقایسه تکنولوژی های مختلف است. مثلا ممکن است برای یک برنامه نویس جونیور سوال باشد که لایبرری ری اکت بهتر است یا فریمورک ویو یا مثلا ممکن است سوال باشد که برای ادامه مسیر کدام تکنولوژی را انتخابی کنم.پس اگر برای شما نیز همچین سوالاتی پیش می آید، می توان گفت که در سطح جونیور هستید.جونیور با جونیور متفاوت است!تا اینجای مطلب فرق سینیور و جونیور به موراد متفاوتی پرداختیم. یک برنامه نویس جونیور با یک برنامه نویس جونیور دیگر صرفا برابر نبوده و متفاوت هستند.به عنوان مثال ممکن است یک برنامه نویس به تازگی از کارآموزی وارد سطح جونیور شده باشد و یک برنامه نویس دیگر به مدت دو سال در سطح جونیور فعالیت کرده باشد.این دو شخص قطعا با همدیگر برابر نبوده و نمی توان برنامه نویس های مختلف را فقط با همچین کلماتی مقایسه کرد.چه برنامه نویسی میدلول است؟در ادامه مطلب فرق سینیور و جونیور ویژگی برنامه نویس مید لول رو بررسی میکنیم. برنامه نویس میدلول بر خلاف برنامه نویس جونیور می تواند چند برنامه نویس جونیور را منتور کند و هر مشکلی را که در حوزه کاری خود دارند برطرف کند.همچنین یک برنامه نویس میدلول بر خلاف یک برنامه نویس جونیور می تواند مشکلات خود را برطرف کند و نیاز ضروری به منتور ندارد.توسعه و کدنویسی یک پروژه در شرکت های برنامه نویس بر عهده برنامه نویس های میدلول بوده و آن ها با کمک هم دیگر پروژه ها از صفر تا صد کد نویسی می کنند.همچنین یک برنامه نویس میدلول بر خلاف یک برنامه نویس جونیور علاوه بر خروجی کدی که می نویسند، به خود کد، نحوه نوشتن آن و رعایت استاندارد ها نیز اهمیت می دهد و همچنین از اتفاقاتی که پشت پرده اتفاق می افتند نیز خبر دارد (مثلا نحوه کار کردن جاوا اسکریپت، وب پک، ری اکت و ارتباط آن ها با مرورگر یا Api و …)پس اگر شما این ویژگی ها را در زمینه فعالیت خود دارید، می توان گفت که در سطح میدلول هستید.چه برنامه نویسی سنیور است؟سطح سنیور یک قله ای بلند و راهی بسیار طولانی است. یک برنامه نویس سنیور به مباحث سافت اسکیل (مهارت های نرم)، الگوریتم، ساختمان داده، معماری کامپیوتر، دیزاین پترن ها و … تسلط کافی دارد و می توانید چندین برنامه نویس میدلول را نیز منتور کند.همچنین یک برنامه نویس سنیور چندین به پارادایم برنامه نویسی مسلط است و می تواند در یک شرکت کل سیستم را مدیریت کرده و مشکلات پیش آمده را برطرف کند.همان طور که می دانید دو نوع یادگیری سطحی و عمقی وجود دارند. یک برنامه نویس سنیور در حوزه فعالیت خود در تکنولوژی های لازم به طور عمیق مسلط بوده و تجربه کاری بالایی دارد.یک برنامه نویس سنیور می تواند هسته یک لایبرری یا فریم ورک را به راحتی متوجه شده یا برای آن کانفیگ های مختلف بنویسد. همچنین می تواند برای راحت تر شدن روند توسعه اکستشن ها و لایبرری های مختلفی پیاده سازی کند.اگر شما این ویژگی ها را دارید، به شما تبریک می گویم. شما یک برنامه نویس سنیور هستید و می توانید هم با ایران و هم با خارج از کشور به صورت ریموت همکاری کرده و درآمد های بسیار بالایی را داشته باشید.ثابت نبودن سطح هر برنامه نویسجالب است بدانید که حتی اگر یک سنیور باشید، به این دلیل نیست که همیشه و در هر تیمی یک سنیور هستید.ممکن است شما در یک شرکت یا تیم برنامه نویسی سنیور باشید اما در یک تیم یا شرکت دیگر به عنوان برنامه نویس میدلول استخدام شوید.پس این موضوع را نیز به یاد داشته باشید که نمی توانید همیشه سطح خود را ثابت نگه دارید و به سطح شما به تیم مورد نظر نیز بستگی دارد.فرق سنیور و جونیور چیست؟سطح چه تاثیری در حقوق برنامه نویس دارد؟برای جواب دادن به این سوال باید به منابعی که در زمینه بازار کار و فرصت های شغلی فعالیت می کنند مراجعه کنیم.از همچین وب سایت هایی می توان به جابینجا، جاب ویژن، کوئرا، آی استخدام و … اشاره کرد.پس در این قسمت به این نتیجه میرسیم که میزان مهارت و تخصص شما در حوزه کاری خود رابطه مستقیمی با میزان درآمد و حقوق شما دارد و شما هر اندازه که یک برنامه نویس متخصص و حرفه ای باشید، به همان اندازه می توانید درآمد بالاتری داشته باشید.تشخیص سطح یک برنامه نویس توسط کد نوشته شده توسط اوفرق سنیور و جونیور چیست ؟حوزه برنامه نویسی شبیه ریاضی یا فیزیک نیست که هر مسئله فقط و فقط یک جواب مطلق و ثابت داشته باشد. به عنوان مثال حاصل محاسبه 2 +2 + 3 برابر است با 7. در همه جای دنیا این موضوع یک امر ثابت است.اما اگر فقط 10 برنامه نویس بخواهند یک برنامه ای را پیاده سازی کنند، قطعا کد هیچ کدام از آن ها شبیه برنامه نویس دیگری نخواهد بود. چون برنامه نویسی یک حوزه ای است که کد ها و الگوریتم پیاده سازی شده توسط برنامه نویس فقط و فقط حاصل تخصص، تفکر و تحلیل او است.برای همین منظور از کد یک برنامه نویس نیز می توان سطح او را حدس زده و تشخیص داد. اما این تشخیص سطح توسط یک برنامه نویس مبتدی ممکن نیست و برنامه نویس های میدلول و سنیور می توانند از طریق کد یک برنامه نویس، سطح او را تشخیص دهند.ممکن است برایتان سوال باشد که چطور می شود با مشاهده کد های یک برنامه نویس سطح او را تشخیص داد!در حوزه برنامه نویسی یک مبحث بسیار مهمی به اسم Clean Code یا همان کد نویسی مرتب. کد نویسی مرتب یکی از مهم ترین اصول برنامه نویسی است که برنامه نویس های حرفه ای نکات و قواعد آن را رعایت می کنند اما برنامه نویس های مبتدی (کارآموز و جونیور) به اصول کد مرتب توجهی نمی کنند و برای آن ها مهم فقط این است که کدشان کار کند.اگر بخواهیم کد مرتب را در یک جمله تعریف کنیم، می توان گفت که “کد مرتب کدی است که به راحتی و با یک نگاه به آن بتوان عملکرد آن را متوجه شد.”به همین راحتی یک برنامه نویس حرفه ای می تواند از طریق مشاهده کد، سطح نویسنده آن کد را تشخیص دهد.تجربه و پیشنهاد شخصی + شرکت های ایرانیفرق سنیور و جونیور چیست ؟ در این قسمت قصد دارم تجربه اندکی که در این حوزه دارم برای شما صحبت کنم. ممکن است مطالبی که در این مقاله گفته شد با مواردی که در شرکت های ایرانی مشاهده کرده اید کمی متفاوت باشد.شخصا در شرکتی حضور داشتم که اشخاصی به مدت بالای 2 سال به عنوان کارآموز در آن شرکت حضور داشتند و این عمق فاجعه است!لپ مطلب این است که اکثر شرکت های ایرانی از برچسب کارآموز قصد سو استفاده دارند و این موضوع بارها به وضوع ثابت شده است. حتی در شرکتی حضور داشتم که شخص کارآموز داخل تیم اصلی حضور داشته و در آن کد نویسی می کرد. کدهایی بسیار کثیف و نامرتب و غیر استاندارد.حرف در این زمینه بسیار زیاد است اما در این مجال نمی گنجد. ان شا الله در مقاله های بعدی یا در یک پادکست جامع در مورد آن به صورت مفصل صحبت خواهیم کرد.در کل هدفم تخریب شرکت های ایرانی نیست اما این موضوع را می توانید از چندین نفر برنامه نویس حرفه ای یا افرادی که سابقه کارآموزی داشتند نیز بپرسید.و در آخر پیشنهاد من به شما دوستان عزیز این است که قبل از این که به فکر کار کردن در شرکت های مختلف و ورود به بازار کار باشید، سعی کنید مهارت های لازم در فیلد کاری خود را به بهترین شکل یاد بگیرید و چندین نمونه کار + رزومه خوب و پربار را برای خود آماده کرده و سپس با خیال راحت و با دست پر وارد بازار کار شوید تا در دام برخی از شرکت های ایرانی نیفتید.سخن پایانیفرق سنیور و جونیور چیست در این مقاله سعی کردیم در مورد سطح های مختلف حوزه برنامه نویسی مثل کارآموز، جونیور، میدلول و سنیور صحبت کرده و فرق برنامه نویس سنیور و جونیور و … را به طور عمیق متوجه شویم.امیدوارم این مقاله برای شما دوستان عزیز مفید واقع شده باشد. برای کسب اطلاعات بیشتر در این زمینه پیشنهاد می کنم ویدئوی این مقاله را حتما مشاهده کنید و در صورت وجود هرگونه سوال، پیشنهاد یا انتقاد، خیلی خوشحال می شوم که در قسمت کامت های مقاله مطرح کنید. همچنین شما میتوانید در وب سایت betterprogramming در این رابطه مقاله ای ارائه داده است که میتوانید ان را مطالعه کنید .منبع:https://sabzlearn.ir/senior-vs-junior/</description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Sun, 22 May 2022 04:39:31 +0430</pubDate>
            </item>
                    <item>
                <title>تفاوت let و var در جاوا اسکریپت چیست؟</title>
                <link>https://virgool.io/@masihbusiness1599/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-let-%D9%88-var-%D8%AF%D8%B1-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%DA%86%DB%8C%D8%B3%D8%AA-k834hcgmihtt</link>
                <description>برای تعریف متغیر در جاوا اسکریپت به دلخواه می توان از کلمات کلیدی var و let استفاده کرد‌؛ اما تفاوت هایی بین این دو وجود داره که اگر در جریان اونا نباشید، ممکنه در پروژه های بزرگ با مشکل مواجه شید. به همین واسطه در این مطلب به بررسی کامل تفاوت let و var در جاوا اسکریپت میپردازیم.قابلیت Hoisting، اولین تفاوت var و letهمان طور که اطلاع دارید کلمات Hoist و Hoisting یکی از مباحث جاوا اسکریپت بوده و به معنی بالا بردن می باشند.منظور از Hoisting یا همان بالا بردن این است که وقتی شما کدی را در خط 4 تعریف می کنید، مرورگر هنگام اجرای فایل شما آن خط را بالا برده و به قبل تر از خط 4 می رساند.متغیر هایی که با کلمه کلیدی var تعریف می شوند، از ویژگی Hoisting پیروی می کنند.در این حالت شما می توانید قبل از تعریف متغیر، از آن استفاده کنید.به عنوان مثال در خط 2 از متغیری به اسم number استفاده کرده و در خط 4 آن را تعریف کنید! (مگر می شود قبل از تعریف متغیر از آن استفاده کرد؟!)به کد زیر دقت کنید:123num1 = 10console.log(num1) // 10var num1همان طور که مشاهده می کنید به کمک خط 2 مقدار 10 در کنسول نمایش داده می شود.متغیر num1 قبل از تعریف شدن در خط 3، در خط 2 مورد استفاده قرار گرفته است.در این حالت اصطلاحا گفته می شود خط سوم Hoisting شده است، یعنی بالا رفته است.اما اگر همین متغیر به جای var با کلمه کلیدی let تعریف شده بود، از ویژگی Hoisting پیروی نمی کرد و در نتیجه ما نمی توانستیم در خط 2 (قبل از تعریف num1) از آن استفاده کنیم.برای درک بهتر به کد زیر توجه کنید:123num1 = 12console.log(num1) // Errorlet num1در این حالت چون که let از ویژگی Hoisting پیروی نمی کند، کد های خط سوم در همان خط 3 باقی مانده و بعد از اجرا شدن خط 2 اجرا می شود، یعنی کد های خط 3 به بالاتر منتقل نمی شوند. به همین دلیل در خط 2 برای نمایش متغیر num1 با Error مواجه می شویم.ویژگی ReDecluration، دومین تفاوت var و let?در ادامه مبحث تفاوت let و var در جاوا اسکریپت به بررسی دومین تفاوت میپردازیم. یکی دیگر از مهم ترین تفاوت های var و let قابلیت ReDecluration است. کلمه Declurate یعنی تعریف کردن، اعلام کردن و ReDeclurate یعنی تعریف مجدد.وقتی یک متغیری را تعریف می کنیم، اصطلاحا آن را Declurate می کنیم و وقتی همان متغیر را دوباره تعریف می کنیم یعنی آن را ReDeclurate (تعریف دوباره، تعریف مجدد) کردیم.متغیر هایی که با کلمه کلیدی var تعریف می شوند، از این قابلیت برخوردار هستند و می توانند دوباره تعریف شده و مقدار دهی شوند اما متغیر هایی که با کلمه کلیدی let تعریف می شوند از این قابلیت برخورداد نیستند و اگر آن ها را دوباره تعریف کنیم، با خطا مواجه می شویم.به تکه کد زیر توجه کنید:1234567891011var num1 = 12console.log(num1) // 12var num1 = 24console.log(num1) // 24let num2 = 12console.log(num2) // 12let num2 = 24console.log(num2) // Errorهمان طور که مشاهده می کنید متغیر num1 را دو بار تعریف کردیم و در هر دفعه تعریف بدون هیچ مشکلی آن را در console نمایش دادیم.اما برای متغیر num2 که با let تعریف کردیم، اجازه نداریم آن را دوباره تعریف کنیم، در غیر این صورت با Error مواجه می شویم.پس یکی دیگر از تفاوت های var و let در جاوا اسکریپت، قابلیت تعریف دوباره آن ها است.محدودیت Scope، سومین تفاوت var و letدر ادامه موضوع تفاوت let و var در جاوا اسکریپت به بررسی سومین تفاوت خواهیم پرداخت. یکی دیگر از اساسی ترین و مهم ترین تفاوت های var و let بحث Scope آن ها است. کلمه Scope در لغت به معنی ناحیه است. در حالت عادی زمانی که متغیری تعریف می شود، فقط به ناحیه ای که تعریف شده است محدود است و خارج از آن ناحیه قابل دسترسی و استفاده نیست.به عنوان مثال متغیری که داخل یک تابع تعریف می شود، فقط به داخل تابع محدود است و خارج از تابع نمی توانیم به آن دسترسی داشته باشیم. در همچین حالتی گفته می شود متغیر دارای local scope (ناحیه محلی) می باشد. اما اگر متغیری در root صفحه مورد نظر تعریف شود، اصطلاحا Global Scope است و در سرتاسر آن صفحه قابل دسترسی و استفاده است.متغیر هایی که با کلمه کلیدی var تعریف می شوند، به طور پیش فرض به صورت Global Scope تعریف می شوند اما متغیر هایی که با کلمه let تعریف می شوند، همیشه و همیشه بدون استثنا محدود به scope و ناحیه خودشان هستند و در خارج از ناحیه خود قابل دسترسی و استفاده نیستند.به تکه کد زیر توجه کنید:12345678var num1 = 10{var num1 = 20console.log(num1) // 20}console.log(num1) // 20همان طور که مشاهده می کنید ابتدا یک متغیر به اسم num1 در root صفحه دلخواهمان تعریف کردیم و سپس توانستیم داخل Scope (منظور همان آکُلادها است.) دیگر به آن دسترسی پیدا کرده و حتی مقدار آن را تغییر دهیم.اما اگر متغیر num1 با کلمه کلیدی let تعریف شده بود، داخل scope نمی توانستیم مقدار آن را تغییر دهیم.برای درک بهتر به تکه کد زیر توجه کنید:12345678let num1 = 10{let num1 = 20console.log(num1) // 20}console.log(num1) // 10این بار متغیر num1 را با کلمه کلیدی num1 تعریف کردیم و همان طور که مشاهده می کنید یک متغیر به اسم num1 داخل root صفحه و یک متغیر با همین اسم داخل Scope تعریف کرده ایم. در حالی که متغیر num1 که داخل Scope قرار دارد، هیچ ارتباطی به num1 خارجی ندارد.مقدار متغیرِ num1 در Scope برابر با 20 بوده و متغیرِ num1 که داخل root صفحه تعریف شده است، مقدار 10 را دارد.این طور می توان گفت که متغیری که داخل Scope تعریف شده است، محدود به داخل همان Scope بوده و در خارج از آن قابل دسترسی نیست و به متغیر num1 که خارج از آن تعریف شده است، هیچ ارتباطی ندارد. تفاوت let و var در جاوا اسکریپتکلمه کلیدی const در جاوا اسکریپتکلمه const یکی دیگر از کلمات کلیدی جاوا اسکریپت است که برای تعریف Variable استفاده می شود. کلمه const مخفف constant بوده و به معنی ثابت می باشد.یعنی اگر قصد داشته باشید متغیری را با کلمه کلیدی const تعریف کنید، به صورت ثابت تعریف می شود و شما در طی پروژتون به هیچ وجه نمی توانید مقدار داخل آن را تغییر دهید.شاید کمی سردرگم شده باشید! مگر می شود یک متغیری ثابت باشد! کلمه متغیر یعنی چیزی که در حال تغییر باشد اما const یعنی ثابت!پس از این به بعد به variable هایی که با کلمه کلیدی const تعریف می شوند متغیر نمی گوییم، بلکه آن ها را با اسم ثابت می شناسیم.به تکه کد زیر توجه کنید:123const userAge = 21userAge = 22 // TypeErrorهمان طورکه مشاهده می کنید، اگر یک ثابت را با کلمه کلیدی const تعریف کنید و بخواهید مقدار آن را تغییر دهید با Type Error مواجه می شوید. تفاوت let و var در جاوا اسکریپتثابت ها زمانی تعریف و استفاده می شوند که قصد داشته باشیم اطلاعات مورد نظرمان را در طی پروژه تغییر ندهیم، مثل لینک Api یا ApiKey یا مرچنت کد زرین پال برای ایجاد درگاه بانکی و … .برای همچین اطلاعاتی که قصد نداریم مقدار آن ها را تغییر دهیم، با const تعریفشان می کنیم تا حتی به اشتباه و اتفاقی مقدار آن ها تغییر پیدا نکنند و به مشکل نخوریم.ثابت ها در مقایسه با متغیر هایی که با کلمه کلیدی let تعریف می شوند، هیچ تفاوتی به جز ثابت بودنشان ندارند. یعنی 3 ویژگی پیروی نکردن از Hoisting، دارا نبودن قابلیت ReDecluration و محدود بودن به Scope برای ثابت ها نیز وجود دارند.پس یکی دیگر از تفاوت های var, let و const در جاوا اسکریپت قابلیت ReAssignable بودن آن ها است. کلمه Assign به معنی اختصاص دادن (در حوزه برنامه نویسی به معنی مقداردهی کردن و اختصاص دادن یک مقدار به متغیر دلخواه است) بوده و کلمه ReAssignable به معنی قابل مقدار دهی دوباره بودن است.متغیر هایی که با کلمه کلیدی var و let تعریف می شوند ReAssignable و قابل مقداردهی دوباره هستند اما ثابت ها همچین قابلیتی ندارند.نکته بسیار مهم در مورد var و letشاید برایتان پیش آمده باشد که متغیری با بدون هیچ کلمه کلیدی تعریف کرده باشید و در کمال تعجب با هیچ وارنینگ (هشدار) و خطایی مواجه نشدید! نکته جالب این جاست که اگر شما متغیری را بدون هیچ کلمه کلیدی تعریف کنید، به طور دیفالت (پیش فرض) با کلمه var تعریف می شوند و تمام ویژگی های متغیر هایی که با var تعریف می شوند را به خود می گیرند.به عنوان مثال متغیری که بدون هیچ کلمه کلیدی تعریف می شود، دقیقا متغیر متغیر هایی که با var تعریف می شوند:از Hoisting پیروی می کنند.قابلیت تعریف مجدد دارند.قابلیت مقداردهی مجدد دارند.دارای Global Scope (ناحیه سراسری) هستند.بالاخره از کدوم باید استفاده کنیم؟همان طور که تا اینجای مطلب تفاوت let و var در جاوا اسکریپت توضیح داده شد، ثابت ها فقط برای ذخیره سازی اطلاعاتی استفاده می شود که به هیچ وجه قصد تغییر آن ها را طی برنامه نداشته باشیم.اما در مورد کلمات کلیدی var و let پیشنهاد می کنم طبق Clean Code و Best Practice به هیچ وجه از کلمه var استفاده نکنید و سعی کنید همیشه از کلمه کلیدی let برای تعریف متغیر هایتان استفاده کنید.چون در صورت استفاده از کلمه var، (طبق موارد گفته شده) ممکن است در پروژه های بزرگ مقیاس دچار مشکل شده و برایتان دردسر ایجاد کند.سخن پایانیدر این مقاله سعی کردیم در مورد تفاوت های var، let و const در جاوا اسکریپت صحبت کنیم تا شما عزیزان در پروژه های خود تفاوت آن ها را به خوبی درک کرده و بدانید کجا باید از کدوم کلمه کلیدی استفاده کنید.اگر در درک مطالب گفته شده ابهام و مشکلی دارید، پیشنهاد می کنم ویدئوی این مقاله را مطالعه کرده و در صورت وجود هر گونه سوال و ابهام در قسمت کامنت ها مطرح کنید تا پاسخ داده شود.منبع:https://sabzlearn.ir/the-difference-between-let-and-var-in-javascript/</description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Sun, 22 May 2022 04:28:49 +0430</pubDate>
            </item>
                    <item>
                <title>درآمد برنامه نویس چقدر است؟ | مقایسه درآمد برنامه نویسی در ایران و خارج</title>
                <link>https://virgool.io/@masihbusiness1599/%D8%AF%D8%B1%D8%A2%D9%85%D8%AF-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3-%DA%86%D9%82%D8%AF%D8%B1-%D8%A7%D8%B3%D8%AA-%D9%85%D9%82%D8%A7%DB%8C%D8%B3%D9%87-%D8%AF%D8%B1%D8%A2%D9%85%D8%AF-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AF%D8%B1-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86-%D9%88-%D8%AE%D8%A7%D8%B1%D8%AC-ntozlmprk1zj</link>
                <description>فرقی نداره که در حال حاضر شغلی دارید یا نه؛ اگر قصد داشته باشید تا یک برنامه نویس بشید، قطعا براتون مهمه که بدونید درآمد برنامه نویس چقدر است. به طور کلی میزان حقوق و درآمد برنامه نویسی به عوامل زیادی بستگی داره. ما تو این مقاله دقیقا می‌خوایم درمورد درآمد برنامه نویسی حرف بزنیم و درآمد برنامه نویس در ایران رو با خارجی‌ها مقایسه کنیم تا بتونید تصمیم درستی در این زمینه بگیرید.درآمد برنامه نویسی در ایران چقدر است؟تمامی افراد قبل از اینکه شروع به هر کاری بکنند حتی اگر در حوزه IT هم نباشد، باز به دنبال فهمیدن میزارن درآمد آن حوزه و افرادی که در آن حوزه کار می کنند هستند. برای مثال افرادی ایرانی که می خواهند برنامه نویسی را شروع بکنند اول از همه به دنبال این موضوع هستنند که درآمد برنامه نویسی در ایران چقدر است؟این مورد فقط برای ایرانی ها نیست و خب در تمام دنیا تمامی افرادی که می خواهند وارد برنامه نویسی بشوند اول از همه به میزان درآمد برنامه نویسی فکر می کنند. راه های بسیار زیاد و متفاوتی برای پی بردن به درآمد برنامه نویس در ایران وجود دارد و تقریبا می توان گفت هیچکدام دقیق نیست. در واقع به صورت دقیق نمی شود درآمد برنامه نویسی را محاسبه کرد به دلیل اینکه هر شرکت نسبت به مزایا و ساعت کاری خود حقوقی را به کارمندان خود می دهد.پس به همین دلیل نمی شود جمع بست و به طور قطعی گفت که درآمد برنامه نویسی در ایران مثلا N تومان است. فاکتورهای متعددی می‌تواند روی میزان حقوق و درآمد برنامه نویسی تاثیر بگذارد که در ادامه برخی از مهم‌ترین هایشان را بررسی می‌کنیم.عوامل موثر بر حقوق برنامه نویسیدر این بخش به بررسی عوامل موثر بر حقوق برنامه نویسی می‌پردازیم. از مهم‌ترین عواملی که می‌توانند میزان دستمزد برنامه نویس را تعیین کنند، موارد زیر هستند:نوع زبان برنامه نویسی:بیش از صد نوع مختلف از زبان‌های برنامه نویسی وجود دارند که هر کدام برای کاربردی خاص طراحی و استفاده می‌شوند. شما می‌توانید بر اساس هر یک از حوزه‌های زیر یک زبان برنامه نویسی را انتخاب کنید:طراحی وبطراحی اپلیکیشن موبایلطراحی برنامه دسکتاپتحلیل دادهپایگاه دادهفضای cloudو…به صورت جزیی‌تر هر کدام از این بخش‌ها به زیردسته‌هایی تقسیم می‌شوند که در هر یک از آن‌ها چندین زبان برنامه نویسی وجود دارد و می‌توانید بسته به بازار کار هر کدام را انتخاب کنید. در ادامه‌ی بحث مقایسه دقیقی از میزان درآمد شغل برنامه نویسی در ایران براساس زبان‌های برنامه نویسی به شما ارائه خواهیم داد.میزان سابقه کار:یکی از مهم‌ترین عوامل موثر بر حقوق برنامه نویسی میزان سابقه‌ی فرد است. طبیعتا هر چه سابقه‌ی افراد در حوزه‌ی برنامه نویسی بیشتر باشد، کیفیت کارشان بالاتر رفته و درآمد بیشتری در انتظار آن‌هاست. معمولا سابقه‌ی کاری کمتر از پنج سال را یک برنامه نویس حرفه‌ای محسوب نمی‌کنند و درآمد آن به اندازه‌ی یک برنامه نویس ده سال یا بیشتر نخواهد بود. در ادامه مقاله میزان درآمد برنامه نویسی بر اساس سابقه کار را به طور دقیق بررسی خواهیم کرد.تخصص:یکی از فاکتورهای مهم در تعیین دستمزد برنامه نویس، تخصص فرد است. یک فرد متخصص تکنیک‌ها و ابزارهای بیشتری تسلط دارد و این باعث بالا رفتن اعتبار کاری‌اش می‌شود. این چنین افرادی می‌توانند در شرکت‌های بزرگ به راحتی استخدام شوند.شهر محل کار:در ایران تهران بهترین شهر برای کار برنامه نویسی است. شرکت‌ها و سازمان‌های گوناگونی در این شهر فعالیت دارند که یک برنامه نویس می‌تواند در آن‌ها استخدام شود. اگرچه در سایر شهرهای بزرگ مثل اصفهان، مشهد و… نیز میزان درآمد برنامه نویس خوب است؛ ولی به اندازه تهران نیست.جایگاه شغلی:شما اگر در یک شرکت معتبر و بین المللی استخدام شوید، درآمد متفاوتی نسبت به یک استارتاپ خواهید داشت. از طرف دیگر سمتی که در سازمان می‌گیرد نیز روی نرخ حقوق شما تاثیرگذار است. معمولا در اغلب موارد مشاغل دورکار و فریلنسر نمی‌توانند درآمدی به اندازه‌ی یک سمت در سازمانی رسمی داشته باشند. اگرچه برخی فریلنسرهای باتجربه و ماهر درآمدهای چندبرابری را کسب می‌کند.تاثیر مدرک تحصیلی روی درآمد شغل برنامه نویسی در ایرانخوشبختانه یا متاسفانه تاثیر مدرک تحصیلی روی درآمد شغل برنامه نویسی در ایران زیاد نیست. معمولا آنچه که در دانشگاه می‌آموزید با آنچه که در بازار کار یاد می‌گیرید تفاوت دارد. برای تبدیل شدن به یک برنامه نویس خوب، شما نیازی به داشتن مدرک تحصیلی بالا ندارید و صرفا با کسب تجربه و مهارت می‌توانید به بالاترین میانگین حقوق برنامه نویس در ایران برسید.میزان درآمد برنامه نویسی در ایرانراه های بسیار زیاد و متفاوتی برای پی بردن به درآمد برنامه نویس در ایران وجود دارد و تقریبا می توان گفت هیچکدام دقیق نیست. به صورت دقیق نمی شود درآمد برنامه نویسی را محاسبه کرد به دلیل اینکه هر شرکت نسبت به مزایا و ساعت کاری خود حقوقی را به کارمندان خود می دهد. پس به همین دلیل نمی شود جمع بست و به طور قطعی گفت که درآمد برنامه نویسی در ایران مثلا N تومان است.برای فهمیدن میزان حقوق برنامه نویس در سال ۱۴۰۰ در ایران ما از سایت‌های استخدامی و رسمی کمک گرفتیم. سایت های زیادی برای استخدام برنامه نویس وجود دارند. اما سایت هایی که خیلی معروف شده  و آمار درستی داده اند سایت های جابینجا، جاب ویژن و ایران سلری هستند. سایت های جاب ویژن و iransalary به عنوان دو مرجع رسمی حقوق و دستمزد در ایران، هر سال نظر سنجی بسیار بزرگ و دقیق انجام داده و آمار میانگین درآمد هر شغل در جایگاه های مختلف را ارائه می دهند.در سایت ایران سلری آمار میانگین حقوق برنامه نویس در سال 1400 در ایران به صورت زیر گزارش شده است: میزان درآمد برنامه نویسی در ایران نرخ مشخصی ندارد؛ ولی به طور کلی بین 2 میلیون تومان در کمترین حالت تا 16 میلیون تومان در بیشترین حالت بسته به سابقه، تحصیلات، مهارت و… متغیر است. طبق آمارهای این سایت حدود 25 درصد از برنامه نویسان حقوقشان کمتر از 3.5 میلیون تومان است و 25 درصد از آن‌ها حقوقی بالای 8 میلیون تومان را دریافت می‌کنند.در ادامه‌ی مقاله به بررسی  دقیق آمار و گزارشات ارائه شده در سال 1400 در دو سایت‌ جاب ویژن و iransalary می‌پردازیم تا ببینیم میزان درآمد برنامه نویسی در ایران بر اساس فاکتورهای مختلف چقدر است.میزان حقوق برنامه نویس 1400 بر اساس سابقه کارمیزان حقوق برنامه نویس 1400 بر اساس سابقه کار در گزارش سال 1400 سایت  iransalary به صورت زیر ارائه شده است. می‌توان گفت سابقه‌ی کار مهم‌ترین مولفه‌ی تاثیرگذاری روی میزان حقوق و درآمد برنامه نویسی است. با افزایش تعداد سال سابقه، میزان میانگین حقوق برنامه نویس در سال 1400 در ایران بین 14 تا 30 درصد افزایش خواهد داشت.میزان حقوق برنامه نویس 1400 براساس نوع زبان برنامه نویسیطبق گزارش میزان حقوق برنامه نویس در سال 1400 توسط سایت جاب ویژن ارائه شده، میزان حقوق برنامه نویس 1400 بر اساس زبان‌های برنامه نویسی مختلف به شکل زیر است:زبان برنامه نویسیکمترین و بیشترین متوسط درآمد بر حسب میلیون تومانC#/.NET12.8 – 3.7PHP4.8 – 10.5PYTHON3.8 – 11.7JAVA13.6 – 5.2C/C++10.4 – 5.4NODE JS13.7 – 4GO11.7HTML/CSS/JAVASCRIPT6.5 – 2.4REACT13 – 4.7ANGULAR10.4 – 4VUE JS7 – 5.4ANDROID11.7 – 4.4IOS10.3SQL11 – 5.8AI/data mining/image processing7.4CMS5.2WINDOWS APP8.8آمار ارائه شده کمترین و بیشترین میانگین درآمد برنامه نویسی به زبان‌های مختلف در تهران، شهرهای بزرگ و کوچک است. در مقاله بهترین زبان برنامه نویسی برای کسب درآمد سایت سبز لرن، شما را برای انتخاب بهترین گزینه از میان گزینه‌های بالا راهنمایی می‌کنیم.میزان حقوق برنامه نویس 1400 براساس سطح مهارتهمان طور که گفتیم یکی از فاکتورهای مهم در تعیین حقوق برنامه نویس 1400 مهارت افراد است. به طور کلی افراد از نظر مهارت به سه سطح مبتدی، متوسط و حرفه‌ای تقسیم می‌شوند.معمولا متوسط درآمد برنامه نویسان بر اساس این سه سطح مهارتی به صورت بیشینه و کمینه مطابق گزارش جاب ویژن در سال 1400 به شرح زیر است:سطح مهارتکمترین و بیشترین متوسط درآمد بر حسب میلیون تومانمبتدی5.2 – 2.4متوسط8.4 – 5حرفه ای13.6 – 6.5 منبع: https://sabzlearn.ir/what-is-the-income-of-programming-in-iran/ </description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Sun, 22 May 2022 04:13:42 +0430</pubDate>
            </item>
                    <item>
                <title>طراحی سایت با جاوا اسکریپت | کاربرد جاوا اسکریپت در طراحی سایت</title>
                <link>https://virgool.io/@masihbusiness1599/%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D8%B3%D8%A7%DB%8C%D8%AA-%D8%A8%D8%A7-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%AF%D8%B1-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D8%B3%D8%A7%DB%8C%D8%AA-wtjdml8n2am8</link>
                <description>جاوا اسکریپت یکی از قدرتمند ترین زبان های برنامه نویسی در حوزه فرانت اند هست که کاربرد بسیار زیادی در طراحی سایت داره. در این مطلب به بررسی نحوه طراحی سایت با جاوا اسکریپت میپردازیم و به شما میگیم که کاربرد طراحی سایت در جاوا اسکریپت چیست.کاربرد جاوا اسکریپت در طراحی سایتاگر با زبان های Html و Css کار کرده باشید، قطعا می دانید که این زبان ها برای توسعه ظاهر سایت استفاده می شوند و شما می توانید به کمک آن ها هر ظاهر هر وب سایتی که می خواهید را پیاده سازی کنید اما نمی توانید برای سایت مورد نظرتان رفتار و واکنش مختلفی را تعریف کنید.به عنوان مثال نمی توانید برای اتفاقاتی که توسط کاربر در وب سایت رخ می دهند، نمی توانید با Html و Css عکس العمل های مناسبی را نشان دهید اما این کار به کمک جاوا اسکریپت امکان پذیر است. در اصل جاوا اسکریپت هدف و کاربردش همین است.شما می توانید به کمک جاوا اسکریپت برای وب سایت خود رفتار های مختلف را تعریف کنید. به عنوان مثال اگر کاربر روی دکمه یا قسمتی از وب سایت کلیک کرد، وب سایت شما واکنش مناسب و مورد نیاز را نسبت به کاربر نشان دهد.اگر بخواهم مثال بهتر و قابل درک تری بزنم، می توان به یک فروشگاه اینترنتی اشاره کرد.شما اگر در یک فروشگاه روی دکمه های”اضافه کردن به سبد خرید” محصولات کلیک کنید، آن محصول به سبد خرید شما اضافه می شود. این عمل اضافه شدن به سبد خرید تنها با جاوا اسکریپت امکان پذیر بوده و بدون آن نمی توانید این عمل را پیاده سازی کنید.برای طراحی سایت با جاوا اسکریپت از چه ابزار هایی استفاده می شود؟در ادامه موضوع طراحی سایت با جاوا اسکریپت به ابزارهای مورد نیاز میپردازیم.شما می توانید برای برنامه نویسی با جاوا اسکریپت از نرم افزار های مختلف مثل وی اس کد، اتم، سابلایم تکست، پی اچ پی استورم و … استفاده کنید.شما می توانید بنا به علاقه و معیار های خود با هر کدام از این نرم افزار ها که دوست داشتید با زبان جاوا اسکریپت کار کنید. موضوع مهم این است که ابزار های ذکر شده فقط ابزار هایی هستند که به برنامه نویسی شما سرعت می بخشند و کد های جاوا اسکریپت همیشه ثابت هستند. یعنی هیچ تفاوتی نمی کند که شما از کدام یک از این ابزار ها استفاده می کنید. با هر کدام که کار کنید، کد های یکسانی را می نویسید.به عنوان مثال اگر بخواهیم به کمک زبان جاوا اسکریپت در نرم افزار وی اس کد یک پیغام خوش آمد گویی به کاربر نمایش دهیم، از کد زیر استفاده می کنیم:حال اگر بخواهیم به جای وی اس کد از نرم افزار Atom استفاده کنیم، باز هم همین کد را خواهیم نوشت و از لحاظ کد هیچ تفاوتی ندارند و کد های جاوا اسکریپت همیشه یکسان هستند.اما اگر بخواهید محبوب ترین و پر استفاده ترین نرم افزار را برای برنامه نویسی با جاوا اسکریپت استفاده کنید، قطعا وی اس کد را پیشنهاد می کنم.شما می توانید نرم افزار وی اس کد (VsCode) را از این وب سایت دانلود و استفاده نمایید.اما برای کار با جاوا اسکریپت علاوه نرم افزار، به یک مرورگر نیز نیاز داریم. به این شکل که کد های مورد نیاز را در نرم افزار مورد نظر نوشته و سپس کد های نوشته شده را در در مرورگر اجرا می کنیم تا خروجی حاصل را مشاهده و تست کنیم.در این میان مرورگر های مختلفی مثل گوگل کروم، فایرفاکس، اپرا، بریو و … وجود دارند که برای این کار می توانید از آن ها استفاده کنید. همان طور که نرم افزار انتخابی شما برای کد نویسی تفاوتی نداشت چه نرم افزاری باشد، برای اجرای کد های جاوا اسکریپت نیز هیچ تفاوتی ندارد که آن ها را با چه مرورگری اجرا کنید. چون همه مرورگر تقریبا خروجی یکسانی را به شما نمایش می دهند اما اگر بخواهید از محبوب ترین و پر استفاده ترین مرورگر موجود استفاده کنید، قطعا مرورگر گوگل کروم را به شما پیشنهاد می کنم.می توانید مرورگر گوگل کروم را از این لینک دانلود کرده و استفاده نمایید.آیا جاوا اسکریپت برای طراحی سایت کافی است؟برای طراحی سایت با جاوا اسکریپت آیا فقط این زبان کافیه؟ همان طور که می دانید زبان های Html، Css و جاوا اسکریپت سه مهره اصلی برنامه نویسی فرانت اند و طراحی سایت هستند و اگر آن ها را بلد باشید می توانید ظاهر هر وب سایت دلخواه را توسعه دهید.اما از آن جایی که امروزه زبان جاوا اسکریپت فریم ورک ها و لایبرری (کتابخانه) های بسیار زیادی دارد، اکثر شرکت ها و تیم های برنامه نویسی ترجیح می دهند به جای استفاده مستقیم از جاوا اسکریپت، از تکنولوژی های آن استفاده کنند و اگر بخواهیم میانگینی از بازار کار داشته باشیم، شما نمی توانید فقط با جاوا اسکریپت سهم چشمگیری از بازار کار را به خود اختصاص بدید.از تکنولوژی های جاوا اسکریپت که برای برنامه نویسی فرانت اند استفاده می شوند، می توان به ری اکت، ویو، انگولار، جی کوئری و … اشاره کرد که برای ورود به بازار کار باید یکی از آنها مسلط باشید.از بین تکنولوژی های موجود لایبرری ری اکت بازار کار، محبوبیت بالا، جامعه آماری زیاد و … منابع آموزشی زیادی دارد و اگر موارد ذکر شده از معیار های شما می باشند، ری اکت را برایتان پیشنهاد می کنم.شما می توانید برای شروع یادگیری ری اکت به داکیومنت آن به آدرس reactjs.org مراجعه کنید.جاوا اسکریپت برای برنامه نویسی سمت سرورهمان طور که در ابتدای مقاله ذکر شد، امروزه از جاوا اسکریپت علاوه بر حوزه برنامه نویسی فرانت اند در حوزه برنامه نویسی سمت سرور نیز استفاده می شود.از تکنولوژی های جاوا اسکریپت که در سمت سرور استفاده می شوند، می توان به node js، deno js، express، nest js و … اشاره کرد و از بین تکنولوژی های ذکر شده، node js بهترین بازار و جامعه آماری را دارد.در واقع node js فریم ورک یا کتابخانه جدا از جاوا اسکریپت نیست. بلکه یک ران تایم برای جاوا اسکریپت است که همان کد های جاوا اسکریپت را در خارج از مرورگر اجرا می شود.با توجه به مطالب گفته شده اگر شما جاوا اسکریپت را به خوبی یاد بگیرید، می توانید علاوه بر حوزه برنامه نویسی فرانت اند در حوزه برنامه نویسی سمت سرور نیز فعالیت کرده و درآمد چندین برابری کسب کنید.سخن پایانیدراین مقاله سعی کردیم در مورد طراحی سایت با جاوا اسکریپت و کاربرد های آن در این حوزه توضیح دهیم.امیدوارم این مقاله برای شما مفید واقع شده باشد. اگر سوال یا پیشنهادی در این زمینه داشتید، حتما در قسمت کامنت های مقاله مطرح کنید تا پاسخ داده شود.منبع:https://sabzlearn.ir/web-designing-with-javascript/ </description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Sun, 22 May 2022 04:03:47 +0430</pubDate>
            </item>
                    <item>
                <title>بک اند چیست؟ بررسی مفاهیم بک اند در برنامه نویسی</title>
                <link>https://virgool.io/@masihbusiness1599/%D8%A8%DA%A9-%D8%A7%D9%86%D8%AF-%DA%86%DB%8C%D8%B3%D8%AA-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D9%85%D9%81%D8%A7%D9%87%DB%8C%D9%85-%D8%A8%DA%A9-%D8%A7%D9%86%D8%AF-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-nug5imrxdpxt</link>
                <description>بک اند چیست؟ اگر به حوزه برنامه نویسی وب علاقه داشته باشید، احتمالا تا به امروز عبارت بک اند رو شنیدید. بک اند بخش غیر قابل نمایش هر صفحه از سایت، اپلیکیشن و… هست که شامل تعداد زیادی کد و دیتا میباشد. در این مطلب به بررسی تخصصی مفاهیم و عناصر بک اند در حوزه برنامه نویسی میپردازیم.تفاوت سایت استاتیک و داینامیکبک اند چیست ؟ اگر شما به حوزه برنامه نویسی وب علاقه داشته باشید، مفاهیم استاتیک و داینامیک را شنیده اید. تمام وب سایت های موجود در سراسر اینترنت به دو دسته استاتیک و داینامیک تقسیم می شوند. استاتیک در لغت به معنی ثابت بوده و کلمه داینامیک به معنی پویا و غیر ثابت می باشد.وب سایت های استاتیک وب سایت هایی هستند که محتوای آن ها ثابت بوده و برای تمام کاربران آن سایت به یک شکل نمایش داده می شود.محتوای وب سایت های استاتیک همگی سمت کلاینت نوشته می شوند و هیچ دیتا و اطلاعاتی در سمت سرور و دیتابیس موجود نیست (در ادامه مقاله در مورد دیتابیس به طور مفصل صحبت خواهیم کرد)اما وب سایت های داینامیک وب سایت هایی هستند که اطلاعات آن ها از سمت سرور و دیتابیس به کلاینت (فرانت اند) داده می شوند و همچنین ممکن است هر قسمت از وب سایت برای هر شخص نسبت به بقیه کاربران متفاوت باشد.برای درک بهتر این تفاوت بهتر یگ مثال می زنیم.یک مثال دیگر این که قسمت نوبار یک وب سایت را در نظر بگیرید.قطعا مشاهده کرده اید زمانی که برای اولین بار وارد وب سایتی می شوید، در قسمت NavBar دکمه هایی تحت عنوان لاگین و ثبت نام وجود دارند.اما اگر شما در سایت لاگین کرده باشید و مجددا وارد وب سایت شوید، در این قسمت از نوبار به جای دکمه‌های ثبت نام و لاگین دکمه ای تحت عنوان “ورود به پنل کاربری” نمایش داده می شود.همین قسمت از وب سایت نیز به صورت داینامیک پیاده سازی شده و به بک اند مربوط می شود.نکته بعدی این است ‌که برای ایجاد کوچکترین تغییر در محتوای وب سایت های داینامیک، نیازی به تغییر کد های وب سایت نیست و شما به کمک CMS (پنل مدیریت) وب سایتتان می توانید تمام قسمت های وب سایتتان را کنترل مدیریت کنید.در حالی که وب سایت های استاتیک به این شکل نیستند و شما برای ایجاد هرگونه تغییر در آن ها، باید سورس کد وب سایت را دستکاری کنید.تفاوت بک اند و فرانت اندهمان طور که اطلاع دارید حوزه وب به دو قسمت فرانت اند و بک اند تقسیم می شود.اگر بخواهیم معنی و مفهوم کلمات فرانت بک را مورد بررسی قرار دهیم، فرانت یعنی جلو، ظاهر و قسمت قابل مشاهده از هر چیز و کلمه بک یعنی پشت، باطن و قسمت غیر قابل مشاهده از هر چیز.در حوزه برنامه نویسی وب نیز دقیقا همین است.قسمتی از وب سایت که توسط کاربر قابل مشاهده بوده و کاربر می تواند آن قسمت را مشاهده کند، قسمت فرانت اند محسوب شده و قسمتی از وب سایت که توسط کاربر قابل مشاهده نیست قسمت بک اند محسوب می شود.پیش نیاز هایی از فرانت اند برای بک انددر ادامه مبحث بک اند چیست به بررسی پیش نیازهای فرانت اند برای بک اند میپردازیم.اگر فکر می کنید یک برنامه نویس بک اند هیچ نیازی به یادگیری فرانت اند ندارد، سخت در اشتباه هستید.هر برنامه نویس بک اند برای این که برنامه نویس قوی و خوبی باشد، باید تکنولوژی های اصلی فرانت اند را در حد آشنایی بلد باشد. تکنولوژی هایی مثل:• Html• Css• JavaScript• jQuery• BootStrapو پس از این که با این تکنولوژی ها پروژه های متعددی را به عنوان نمونه کار برای خودتان پیاده سازی کردید، می توانید زبان بک اند خودتان را انتخاب کنید.اما ممکن است برایتان سوال باشد که بک برنامه نویس بک اند چه نیازی به یادگیری مباحث مربوط به فرانت اند دارد!برای پاسخ به این سوال، یک شرکت یا تیم برنامه نویسی را در نظر بگیرید که در هر شرکت افراد مختلف با سِمَت ها و تخصص های مختلف وجود دارند که از این سمت ها می توان به برنامه نویس فرانت اند و برنامه نویس بک اند اشاره کرد.در اکثر شرکت ها زمانی که پروژه ای را شروع می کنند، ابتدا برنامه نویس فرانت اند طرح پروژه را کد نویسی کرده و بعد از این که تمام شد، فرانت پروژه کد نویسی شده است را به برنامه نویس بک اند شرکت تحویل می دهد تا او (برنامه نویس بک اند) سمت سرور پروژه را نیز پیاده سازی کند.حال اگر برنامه نویس بک اند اطلاعاتی از فرانت اند نداشته باشد و با کد های نوشته شده توسط فرانت اند آشنایی نداشته باشد، سردرگم می شود و مدام باید از برنامه نویس فرانت اند سوال کند تا بتواند راه را تشخیص دهد.ممکن است برایتان این نیز سوال باشد که یادگیری تکنولوژی های ذکر شده، در چه حدی لازم است!برای این سوال جواب ثابت و حد و اندازه ای وجود ندارد.شما به هنوان یک برنامه نویس بک اند همین که بتوانید تقریبا 4 پروژه با تکنولوژی های ذکر شده پیاده سازی کنید کافی است و بعد از آن می توانید زبان بک اند خودتان را انتخاب کنید.زبان برنامه نویسی سمت سرور چیست؟همان طور که می دانید برنامه نویسی وب به دو قسمت فرانت اند (سمت کلاینت) و بک اند (سمت سرور) تقسیم می شود. فعالیت در هر کدام از این حوزه ها به علاقه و انتخاب شما بستگی دارد و در هر کدام از آن ها زبان های برنامه نویسی و تکنولوژی های مختلفی وجود دارد که باید فعالان و علاقمندان آن حوزه یاد بگیرند.به زبان برنامه نویسی که به کمک آن می توانیم سمت سرور یک وب سایت را اپلیکیشن را پیاده سازی کنیم، زبان برنامه نویسی سمت سرور گفته می شود.از زبان های برنامه نویسی که برای سمت سرور استفاده می شوند، می توان به PHP، پایتون، جاوا، سی شارپ، جاوا اسکریپت و … اشاره کرد.در ادامه مقاله در مورد این زبان ها بیشتر صحبت خواهیم کرد.یک برنامه نویس چه مهارت هایی باید داشته باشد؟این سوال یکی از مهم ترین سوالاتی است که ممکن است برای شما پیش آمده باشد. شما به هر حوزه برنامه نویسی که علاقه داشته و قصد فعالیت در آن را داشته باشید، باید تخصص کافی را در ابزار ها و مفاهیم آن حوزه کسب کنید. بک اند چیست ؟فعالیت در حوزه برنامه نویسی بک اند نیز تخصص هایی را می طلبد که از برخی از این تخصص ها می توان به موارد زیر اشاره کرد:دانش حداقلی از فرانت اندزبان برنامه نویسی و فریمورک مورد علاقه شما در زمینه بک اندگیتکار با دیتابیسAPI نویسیامنیتسوکت نویسیو …البته این موارد فقط چند مهارت کلی برای یک برنامه نویس بک اند بود. برای کسب اطلاعات بیشتر در مورد مهارت های یک برنامه نویس بک اند و دریافت یک  رودمپ خوب و اصولی برای بک اند، می توانید به وب سایت RoadMap.sh مراجعه کنید.در ادامه نیز به برخی از این مهارت ها خواهیم پرداخت و در مورد آن ها صحبت می کنیم.پایگاه داده (دیتابیس) چیست؟کلمه پایگاه داده و دیتابیس نیز از جمله کلماتی هستند که ممکن است در حوزه برنامه نویسی وب به گوشتان خورده باشند.دیتابیس یکی از مفاهیم و تکنولوژی هایی است که هر برنامه نویس بک اند با آن سروکار دارد.همان طور که بالاتر تفاوت وب سایت های استاتیک با وب سایت های داینامیک را متوجه شدیم، در وب سایت های داینامیک نیاز به جایی داریم که بتوانیم اطلاعات وب سایت را در آن قسمت ذخیره سازی کنیم. اطلاعاتی مثل مشخصات کاربران، محصولات، میزان خرید و فروش، مدیران سایت و … .همه این اطلاعات در جایی به اسم دیتابیس ذخیره و مدیریت می شوند که پیاده سازی آن بر عهده برنامه نویس بک اند است.دیتابیس های مختلف و متنوعی وجود دارند که از معروف ترین آن ها می توان به MySql, MongoDB, Sql Server, PostgresDB و … اشاره کرد. بک اند چیست ؟ممکن است برایتان سوال باشد که هر زبان یک دیتابیس خاص دارد یا می توان با یک زبان به دیتابیس های مختلفی وصل شد!دیتابیس فارغ و جدا از زبان برنامه نویسی شما است و شما می توانید با هر زبانی که برای سمت سرور کار می کنید، به هر دیتابیسی وصل شده و اطلاعات وب سایتتان را در آن ذخیره سازی کنید.ممکن است برایتان سوال باشد که اطلاعات داخل دیتابیس در چه قالبی ذخیره سازی می شوند.جالب است بدانید که ساختار هر دیتابیس صرفا با یک دیتابیس دیگر مشابه نیست.به عنوان مثال قالب ذخیره سازی و نگهداری اطلاعات در دیتابیس Mysql متفاوت با دیتابیس MongoDB است.همچنین دیتابیس ها به دسته های مختلف مثل رابطه ای، شی گرا و … تقسیم می شوند. به عنوان مثال ساختار دیتابیس Mysql به صورت رابطه ای است. دیتابیس های رابطه ای به دلیل ساختار منظم و خوانایی بالایی که دارند، محبوبیت زیادی دارند.کدام تکنولوژی های بک اند بازار کار بهتری دارند؟بک اند چیست ؟ همانطور که میدانید در حوزه های مرتبط با برنامه نویسی تفاوتی نمی کند که با چه زبان و تکنولوژی سروکار دارید. اگر در تکنولوژی که با آن کار می کنید به سطح تخصص رسیده باشید، می توانید وارد بازار کار شده و درآمد های بسیار خوبی را کسب کنید.اما امروزه موضوع بازار کار یکی از معیار های مهم هر شخصی است که قصد ورود به حوزه برنامه نویسی را دارد. اگر شما یک تکنولوژی را انتخاب کنید که نیاز به نیروی بیشتری در بازار کار برای آن باشد، فرصت های شغلی زیادی را در اختیار دارید و نگران سکونت در شهرستان، مهاجرت و … نیستید. همچنین اگر بعد از استخدام در یک شرکت به مشکلی برخوردید، با خیال راحت می توانید استعفا داده و در شرکت دیگری مشغول به کار شوید.به همین دلیل در ادامه مقاله به مقایسه تکنولوژی مرتبط با بک اند از لحاظ بازار کار می پردازیم.برای بررسی بازار کار این حوزه باید به منابعی که در حوزه بازار کار و استخدام فعالیت می کنند مراجعه کنیم. از این دسته وب سایت ها می توان به جاب ویژن، کوئرا، جابینجا، آی استخدام و … اشاره کرد.تصاویر زیر از وب سایت جابینجا برای بازار کار تکنولوژی های برنامه نویسی PHP، پایتون، نود جی اس و ASP در کشور ایران می باشند:مهارت های پایه برای یک برنامه نویس بک اندبک اند چیست ؟ در قسمت های قبلی در مورد چند مورد از مهارت های اصلی یک برنامه نویس بک اند مثل زبان برنامه نویسی سمت سرور، دیتابیس و … صحبت کردیم که مهارت های فنی محسوب می شوند.اما هر برنامه نویس بک اند علاوه بر مهارت های فنی، باید مهارت های پایه نیز داشته باشند.همان طور که در مقاله های قبلی در مورد مهارت های پایه ای یک برنامه نویس فرانت اند صحبت کردیم، متوجه شدیم که یک برنامه نویس فرانت اند باید مهارت خلاقیت بالایی را داشته باشد.به همین ترتیب یک برنامه نویس بک اند نیز باید قوه حل مسئله بالایی داشته و ذهن تحلیلگر داشته باشد.اما شاید برایتان سوال باشد که این قوه حل مسئله از کجا به دست می آید!شاید قبلا این جمله را شنیده باشید که “برای برنامه نویس شدن باید علم ریاضی را به خوبی بلد باشید”. این جمله دقیقا برای همین بحث قوه حل مسئله و ذهن تحلیلگر می باشد.بلد بودن علم ریاضی و کار کردن با آن، قوه حل مسئله شما را تقویت می کند و در حوزه برنامه نویسی می توانید سریع تر و بهتر بحث یادگیری را پیش برده و سریع تر به مقصد برسید.البته نگران نباشید. قرار نیست شما در حوزه برنامه نویسی بک اند از مباحث مربوط به ریاضی مثل مشتق، اتحاد، انتگرال و … استفاده کنید. فقط و فقط همان قوه حل مسئله و ذهن تحلیلگری که از حل مسائل مربوط به ریاضی به دست آورده اید، در یادگیری برنامه نویسی و فعالیت در این حوزه به شما کمک می کنند تا سریع تر به هدف برسید.اما ممکن است برایتان سوال باشد که با این توصیفات برای ورود به حوزه برنامه نویسی حتما باید ریاضی بلد باشیم یا نه؟جواب این سوال منفی است. برای ورود به حوزه برنامه نویسی هیچ گونه اجباری بر بلد بودن تخصصی ریاضی نیست. همان طور که بالاتر گفته شد، فقط به قوه حل مسئله نیاز دارید که این موضوع از راه ریاضی به راحتی کسب می شود.اما اگر به ریاضی علاقه ای نداشته و آن را به خوبی بلد نیستید، نگران نباشید. خیلی از برنامه نویسان هستند که حتی نسبت به ریاضی حس منفی دارند.چون که ریاضی فقط شما را سریع تر به مسیر می رساند و اجباری بر آن نیست.اگر بخواهیم مثالی برای این موضوع بزنیم، فرض کنید که قصد دارید از شهر تهران به شهر تبریز مسافرت کنید. شما هم می توانید با هواپیما و هم با اتوبوس مسافرت خود را انجام دهید. پس برای این مسافرت اجباری بر وجود هواپیما نیست و هواپیما فقط شما را سریع تر به مقصد می رساند.در بحث برنامه نویسی نیز ریاضی همان هواپیما است. اجباری بر آن نیست ولی وجودش شما را سریع تر به هدف رسانده و سرعت یادگیری شما را افزایش می دهد.در کل اگر شما علاقه ای به علم ریاضیات ندارید، میتوانید با حل کردن مسائل الگوریتمیک و مطالعه سوالات مسابقات ACM، قوه حل مسئله خود را تقویت کرده و در حوزه برنامه نویسی مشکلی نداشته باشید.مفهوم API و Api نویسی برای برنامه نویس بک انددر ادامه مبحث بک اند چیست، مفهوم API و APi رو بررسی میکنیم. اگر در حوزه برنامه نویسی وب فعالیت داشته باشید، قطعا کلمه API را شنیده اید و احتمالا مبحث سختی به نظر بیاید.اما جالب است بدانید که مفهوم API و کار کردن با آن بسیار آسان بوده و هیچ گونه سختی ندارد.شما زمانی که قدص دارید از اطلاعات یک سرور و وب سایت استفاده کنید، به اطلاعات آن دسترسی ندارید و مدیر آن وب سایت اطلاعات سرور خود را به طور کامل در اختیار شما قرار نمی دهد.برای همین منظور یک API نوشته می شود تا برنامه نویسان بتوانند به اطلاعات مجاز آن وب سایت دسترسی داشته باشند.به عنوان مثال وب سایت دیجی کالا را در نظر بگیرید. شما به اطلاعات محصولات، کاربران و … دیجی کالا دسترسی ندارید.حال ممکن است قصد داشته باشید که از اطلاعات محصولات دیجی کالا استفاده کنید. برنامه نویس های بک اند دیجی کالا یک API نوشته و در اختیار شما قرار می دهند تا شما به کمک API به اطلاعات هر محصول مثل عنوان، قیمت، تعداد فروش و … دسترسی داشته باشید.در کل API برای دسترسی به اطلاعاتی که خارج از سرور ما قرار دارند استفاده می شوند.همان طور که متوجه شدید، Api توسط برنامه نویس بک اند نوشته می شود. اطلاعات در دیتابیس ذخیره می شوند و برای این که برنامه نویس فرانت اند به آن ها دسترسی داشته باشد، یک Api توسط برنامه نویس بک اند نوشته شده و در اختیار برنامه نویس فرانت اند قرار می گیرد و به این ترتیب برنامه نویس فرانت اند اطلاعات بک اند را از API گرفته و در وب سایت آن ها را نمایش می دهد.نکته قابل توجه این است که علاوه بر برنامه نویس های بک اند، برنامه نویس های فرانت اند نیز باید نحوه کار با API را یاد بگیرند. چون دریافت اطلاعات از API در فرانت اند بر عهده آنها است و فقط نوشتن API بر عهده برنامه نویس بک اند می باشد.پس در این قسمت مفهوم API را یاد گرفتیم و متوجه شدیم که یکی از مهارت های ضروری که هر برنامه نویس بک اند باید آن را بلد باشد، Api نویسی است.در چه مدت زمانی می توان به بک اند مسلط شد؟یکی از پر تکرار ترین سوالاتی که در حوزه برنامه نویسی پرسیده می شود، مدت زمان یادگیری است. خیلی از دوستانی که به تازگی وارد این حوزه می شوند، برایشان این سوال پیش می آید که “در چه مدت زمانی می توانم فلان تکنولوژی را یاد بگیرم و وارد بازار کار شوم؟”.اگر صادقانه به موضوع نگاه کنیم، هیچ جواب دقیق و ثابتی برای این سوال وجود ندارد.به عنوان مثال ممکن است یک شخص زبان برنامه نویسی جاوا اسکریپت را در 5 ماه در حد قابل قبول برای بازار کار یاد بگیرد و همچنین شخص دیگری در مدت زمان 10 ماه نتواند به طرح شخص اول برسد.در اصل مدت زمان یادگیری هر شخص به پارامتر های مختلفی بستگی دارد.از پارامتر هایی که در مدت زمان یادگیری شما تاثیر دارد، می توان به تایم روزانه شما برای تمرین، سطح تسلط شما در پیش نیاز ها، سطح تسلط شما در زبان انگلیسی، سطح علاقه شما، میزان تایمی که برای مطالعه رفرنس و داکیومنت اختصاص می دهید و … اشاره کرد.پس به هیچ وجه در مورد مدت زمان یادگیریتان سوالی نپرسید و ذهن خود را مشغول نکنید. به جای پرسیدن این سوال، سعی کنید پارامتر های ذکر شده را تقویت کرده و رعایت کنید.برنامه نویس بک اند باید امنیت هم کار کند؟بک اند چیست ؟ میزان تسلط بر موضوع امنیت نیز یکی از پر تکرار ترین سوالاتی است که توسط دوستانی که به تازگی وارد این حوزه می شوند پرسیده می شود.امنیت و تست نفوذ یکی از حوزه های مرتبط با برنامه نویسی است و نمی توان گفت یک برنامه نویس بک اند حتما باید یک امنیت کار هم باشد. اما به صورت کلی یک برنامه نویس بک اند باید حداقل مهارت های حوزه امنیت را بلد بوده و در پروژه های خود پیاده سازی کند.به عنوان مثال یک برنامه نویس بک اند باید در در زمینه باگ های Xss، CSRF، Sql Injection و … Validation های مختلف اطلاعات کافی را داشته باشد.سخن پایانیبک اند چیست ؟ در این مقاله سعی کردم در مورد بک اند صحبت کرده و به سوالات پرتکراری که در این حوزه پرسیده می شوند پاسخ دهم.برای درک بهتر و عمیق مباحث گفته شده ;i بک اند چیست ؟، پیشنهاد می کنم ویدئوی مقاله را نیز مشاهده کنید و در صورت وجود هرگونه سوال، انتقاد و پیشنهاد در قسمت کامنت های مقاله مطرح کنید. امیدوارم این مقاله برایتان مفید واقع شده باشد.منبع:https://sabzlearn.ir/back-end/</description>
                <category>سینا احسانی</category>
                <author>سینا احسانی</author>
                <pubDate>Sun, 22 May 2022 03:49:21 +0430</pubDate>
            </item>
            </channel>
</rss>