<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های کدفرند(دوست برنامه نویس من)</title>
        <link>https://virgool.io/feed/@CodeFriend</link>
        <description>کدفرند یک پلتفرم آموزشی رایگان ساده و در عین حال کابردی برای کسانی است که تازه قدم به دنیای برنامه نویسی و کسب و کار گذاشته اند</description>
        <language>fa</language>
        <pubDate>2026-04-15 02:51:42</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/308/avatar/MUKcyG.png?height=120&amp;width=120</url>
            <title>کدفرند(دوست برنامه نویس من)</title>
            <link>https://virgool.io/@CodeFriend</link>
        </image>

                    <item>
                <title>مهارتهای لازم برای ورود به حوزه علم داده یا Data Science</title>
                <link>https://virgool.io/@CodeFriend/%D9%85%D9%87%D8%A7%D8%B1%D8%AA%D9%87%D8%A7%DB%8C-%D9%84%D8%A7%D8%B2%D9%85-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%88%D8%B1%D9%88%D8%AF-%D8%A8%D9%87-%D8%AD%D9%88%D8%B2%D9%87-%D8%B9%D9%84%D9%85-%D8%AF%D8%A7%D8%AF%D9%87-%DB%8C%D8%A7-data-science-td4ogaxvlb3o</link>
                <description>یکی از فیلدهای مرتبط با دنیای کامپیوتر و فن آوری اطلاعات که اخیرا در  بین کارکنان و اندیشمندان این حوزه بسیار باب شده است و هر روز بر احساس  نیاز به آن افزوده میشود، زمینه علم داده یا Data Science میباشد. بسیار از  مواقع عنوان یک زمینه علمی نمی تواند راهنمای خوبی برای بیان محتوای آن  باشد و این در مورد فیلد علوم داده نیز صادق است. ما در این مقاله سعی  خواهیم کرد ضمن باز کردن معنای این حوزه از علم جدید، به مهارتهای لازم  برای ورود به حوزه علم داده و تبدیل شدن به یک Data Scientist اشاره کنیم و  بدین ترتیب یک راهنمایی برای کسانی که میخواهند به نحوی وارد این حوزه  شوند یا از آن به صورتی استفاده کنند را ارائه دهیم.مفاهیم اولیه قبل از ورود به حوزه علم دادهقبل از هرچیز باید به مفهوم داده و اهمیت آن بپردازیم. همانطور که  احتمالا میدانید حجم بسیار بالایی از داده به اصطلاح خام در هر ثانیه در  سطح اینترنت توسط منابع مختلفی مانند شبکه های اجتماعی و اشیاء متصل به  اینترنت و سیستم های ابری تولید شده و یا در حال تولید است. داده ها  میتوانند شامل یک متن ساده, یک تصویر, صوت یا ویدئو و هر نوع دیگری باشند.  برخی از این داده ها به صورت منظم و برخی به صورت نامنظم در سطح رسانه های  ذخیره سازی روی کامپیوتر های لوکال تا سطوح مختلف ذخیره سازی ابری قرار  دارند. همچنین این داده ها میتوانند در دسته بندیهای مختلفی مانند تفریحی,  پزشکی, ورزشی, سیاسی و … باشند. دوره جامع آموزش علم داده با پایتون (2020 – Data Science) در کدفرندBig Data یا داده عظیم چیست؟اگر بتوانیم داده هایی که در بخش قبلی به آن اشاره شد را به صورت دسته بندی  شده مورد هدف قرار دهیم تا با تحلیل آن به نتایجی برای کسب و کارمان یا  موارد استفاده دیگر تبدیل شوند این منبع داده ای که معمولا حجم عظیمی از آن  را شامل میشود با نام  Big Data یا داده بزرگ بیان میشود. در واقع وجود داده بزرگ و این نوع نگاه به داده  باعث ایجاد انگیزه برای تحلیل و دریافت نتایج آن در دنیای فن آوری اطلاعات  شده است.علم داده چیست؟تمامی روشها و مراحل علمی, مهندسی و تجاری که منجر به ایجاد نتایج قابل  استفاده از یک داده بزرگ یا Big Data در حوزه صنعت, پزشکی و … شود جزوی از  علوم داده میباشند و در واقع این مفهوم بسیار فراگیر است و خود شامل مفاهیم  دیگری میشود که به آن خواهیم پرداخت.دانشمند علم داده کیست؟کسی که توانایی علمی و مهارت کافی برای پیش برد همه مراحل مورد ذکر را  در زمینه های مختلفی مانند ریاضیات, علوم کامپیوتر و دانش کسب و کار را  داشته باشد به عنوان دانشمند علم داده میتوانیم از او یاد کنیم.چه مهارتهایی برای ورود به حوزه علم داده باید داشته باشیم؟معمولا برای ورود به حوزه علم داده و به دنیای پردازش داده به مهارتهای  مختلفی نیاز داریم و در نتیجه نقش های مختلفی به وجود می آیند که در مجموع  میتوانند یک فرایند مربوط به حوزه علم داده را پیش ببرند. این تفکر که یک  شخص به تنهایی تمامی مراحل همه نقشهای موجود در فرایند پردازش داده را  انجام دهد کمی دور از واقعیت است. به عنوان مثال مراحلی مانند جمع آوری,  مرتب سازی, معماری, تحلیل آماری, یادگیری ماشین و استنتاج و استنباط را  باید در این فرایند طی کنیم که میتواند به نقشهایی مانند تحلیل گر داده,  مسئول آمار, معمار داده, مهندس پایگاه داده ها, مدیر سیستم و تحلیل گر کسب و  کار بیانجامد. روشن است که همه این نقشها و مهارتها برای یک شخص بسیار  سنگین است و معمولا شرکتها و یا تیم های کاری هر بخش از فرایند را به شخص  یا اشخاصی به صورت گروهی محول میکنند. پس ابتدا باید بدانید که در این حوزه  میخواهید در کدام بخش مهارت کافی را بدست آورید. اما به صورت کلی یک تیم یا شخص کامل در زمینه حوزه علم داده یا به  اصطلاح دانشمند علم داده باید در زمینه های زیر مهارت کافی را داشته باشد:ریاضیات (ریاضیات گسسته و مهندسی, محاسبات عددی و علم آمار)علوم کامپیوتر (پایگاه داده ها, برنامه نویسی طراحی و تحلیل الگوریتم ها, هوش مصنوعی و یادگیری ماشین)مهارتهایی در مورد فیلد هدف (مانند کسب و کار یا پزشکی و یا حوزه های دیگر)در واقع Data Science نقطه طلاقی سه علم مختلف به شرح بالا است و برای  تبدیل شدن به آن باید بتوانید در این حوزه ها به صورت موثر فعالیت کرد و از  مهارتهای تیمی در این حوزه ها استفاده کرد. https://codefriend.ir/2020/08/27/%d9%88%d8%b1%d9%88%d8%af-%d8%a8%d9%87-%d8%ad%d9%88%d8%b2%d9%87-%d8%b9%d9%84%d9%85-%d8%af%d8%a7%d8%af%d9%87/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Sat, 29 Aug 2020 19:16:05 +0430</pubDate>
            </item>
                    <item>
                <title>اپدیت ۵.۵ وردپرس و کار نکردن برخی از پلاگین ها</title>
                <link>https://virgool.io/wptips/%D8%A7%D9%BE%D8%AF%DB%8C%D8%AA-%DB%B5%DB%B5-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3-%D9%88-%DA%A9%D8%A7%D8%B1-%D9%86%DA%A9%D8%B1%D8%AF%D9%86-%D8%A8%D8%B1%D8%AE%DB%8C-%D8%A7%D8%B2-%D9%BE%D9%84%D8%A7%DA%AF%DB%8C%D9%86-%D9%87%D8%A7-l3ng0f5r48aj</link>
                <description>وردپرس یکی از محبوب ترین سیستم های مدیریت محتوا در دنیا می باشد.تا به  امروز نزدیک به ۳۰ درصد وب سایت ها و وبلاگ های دنیا با وردپرس طراحی و  توسعه داده شده اند.اخیرا نسخه تیم وردپرس نسخه ۵.۵ این سیستم را منتشر کرد،که قرار بود به صورت کامل سرعت و عملکرد cms را به طرز چشم گیری افزایش دهد.اما متاسفانه با اپدیت وردپرس به نسخه ۵.۵ بیشتر پلاگین های wordpress  به خصوص پلاگین های کاربردی مثل یواست سئو،وی پی راکت و پلاگین مختلف از  کار می افتادند با اطلاعاتی که مدیران وب سایت های وردپرسی به ما دادند  مشخص شد که این مورد در اکثر وب سایت های طراحی شده با wordpress به وجود  آمده است.مشکل از کجاست؟با بروزرسانی به نسخه ۵.۵ در واقع wordpress دیگر از جی کوئری به صورت  همه گیر استفاده نمیکند و این موضوع باعث به وجود امدن مشکلات اساسی برای  بسیاری از مدیران وب سایت شده است،این ممکن است به رفتارهای غیر منتظره در برخی موضوعات یا متصل شونده‌های موجود منجر شود که کد قدیمی‌تر را اجرا می‌کنند.راه حل این مشکلخوشبختانه برای حل این موضوع راه حلی وجود دارد شما می توانید با نصب پلاگین Enable jQuery Migrate Helper به صورت کامل این مشکل را تا بروز رسانی آینده برطرف کنید،تنها کافیست این  پلاگین را از مخازن wordpress دانلود کرده  ان را نصب و فعال کنید به همین  سادگی.در حال حاضر شما از the Enable jQuery  Migrate Helper برای فعال کردن پشتیبانی از کد جاوا اسکریپت قدیمی استفاده  می‌کنید که از توابع deprecated در کتابخانه jQuery جاوا اسکریپت استفاده  می‌کند. شما در هنگام استفاده از مدیریت WordPress، هشدارها را در مورد این  کارکردها خواهید دید که می توانید با استفاده از کنسول مرورگر تمامی این  هشدار ها را یک به یک بررسی کنید.منبع:وب سایت آموزشی کدفرند https://mahartsaz.ir/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Fri, 14 Aug 2020 05:10:51 +0430</pubDate>
            </item>
                    <item>
                <title>برنامه نویسی موبایل و مسیری که برای آن باید طی کنید</title>
                <link>https://virgool.io/coderlife/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%85%D9%88%D8%A8%D8%A7%DB%8C%D9%84-%D9%88-%D9%85%D8%B3%DB%8C%D8%B1%DB%8C-%DA%A9%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A2%D9%86-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%B7%DB%8C-%DA%A9%D9%86%DB%8C%D8%AF-dngjyn7knuap</link>
                <description>در یک دهه اخیر با توجه به رشد روز افزون ارائه تلفن های همراه هوشمند و سیستم عاملهای کاراتر از گذشته، نمودار گرایش به سمت برنامه نویسی موبایل یا به اصطلاح توسعه اپ موبایل به صورت نمایی در حال رشد بوده است. این عامل منجر به توجه شرکتهای توسعه نرم افزار برای ارائه پلتفرمهایی جهت هرچه راحتتر شدن برنامه نویسی موبایل و از طرفی تولید برنامه هایی قابل اجرا بر روی چند سیستم عامل موبایل ترغیب کرده است که انتخاب های زیادی را پیش روی برنامه نویسان برای توسعه اپلیکیشن های موبایل گذاشته است.در این مقاله قصد داریم ضمن معرفی سیستم عامل های موبایل موجود در بازار و بستر های توسعه نرم افزار هریک، مسیر یادگیری برنامه نویسی موبایل در هریک را از نگاه خود به خوانندگان معرفی کنیم.چه سیستم عامل هایی هم اکنون به عنوان سیستم عامل موبایل شناخته میشوند؟پاسخ این است که بیش از دهها سیستم عامل برای استفاده در تلقن های همراه تا کنون ارائه شده است، که فقط تعداد محدودی از آنها توانسته اند درصد قابل توجهی از بازار را در طول زمان به خود اختصاص دهند. لیست زیر برخی از این سیستم عامل ها را نشان میدهد:AndroidChrome OSSailfish OSTizenKaiOSFuchsiaLiteOSPureOSUbuntu TouchPlasma mobilePostmarketOSLuneOSiOSiPadOSBlackBerry 10Cyanogen OSFirefox OSMeeGo/Maemo/MoblinwebOSBlackBerry OSSymbianBadaPalm OSWindows MobileWindows PhoneWindows 10 Mobileهمینطور که میبینید تعداد این سیستم عامل ها، بسیار زیاد است و جالبتر اینکه برای همه این سیستم عاملها اپ های متعدد نوشته شده است و یا در حال نوشتن هست. البته برخی از آنها به معنای واقعی کلمه منسوخ شده اند و برخی به ندرت استفاده میشوند. ولی از این نظر جای نگرانی نیست، چون فقط سه سیستم عامل بازار کنونی را به خود اختصاص داده اند و شما مجبور نیستید برای برنامه نویسی موبایل بین گزینه های مختلف انتخاب کنید این سه سیستم عامل شامل :AndroidIOSKiOSمیشوند. که بیشتر مخاطبین با سومین سیستم یا KiOS آشنایی کمی دارند، ولی واقعیت این است که سومین جایگاه استفاده از سیستم عامل ها در بازار، با بیش از ۱۰۰ میلیون تلفن همراه نیمه هوشمند یا featured phoneدر اختیار این سیستم عامل هست که در واقع یک نسخه از سیستم عامل Firefox OS هست که بر اساس لینوکس ساخته شده و برنامه های نوشته شده برای این سیستم به صورت Web Base ارائه میشوند.چه زبانهای برنامه نویسی برای نوشتن اپلیکیشن های موبایل استفاده میشوند؟اگر نگاهی به گذشته بیندازید میبینید که در سیستم عامل های مختلف با توجه به کیت توسعه ارائه شده توسط شزکتهای سازنده، زبانهای برنامه نویسی متعددی برای این امر استفاده شده است. این زبانها شامل موارد زیر میشوند:۱- زبان جاوا۲- زبان ++C۳- زبان #C۴- زبان Objective C۵- زبان Swift۶-زبان Kotlin۷- زبان JavaScriptدر این میان زبانهای جاوا و Objective C شاید بیشترین اپلیکیشن ها را در سطوح مختلف برای دو سیستم عامل اندروید و IOS ایجاد کرده اند. همچنین میتوان گفت در دهه ۲۰۰۰ تا ۲۰۱۰ میلادی جاوا و ++C برای نوشتن برنامه های موبایل چه روی سیستم عامل های هوشمند مانند Symbian و چه سیستم جاوا استفاده میشده اند. به صورت خلاصه زبان جاوا و پلتفرم JDK یکی از پر استفاده ترین بسترها در این عرصه بوده اند.اما در چند سال اخیر صاحبان این سیستم عاملها مسیر توسعه برنامه های موبایل را تغییر داده اند، به نحوی که با توسعه بستر های جدید و حتی اختراع زبانهای جدید یا همخوان کردن زبانهای موجود، سعی کرده اند توسعه اپ را به مسیری پیشرفته و منطبق بر نیاز برنامه نویسان جوانتر سوق دهند.(تمامی دوره آموزش اشاره شده در بالا در وب سایت کدفرند تدریس شده اند)به عنوان مثال شرکت google صاحب امتیاز سیستم عامل android در کنار زبان جاوا زبان ساده تر و به اصطلاح به روزتری مانند Kotlin را ارائه داده است و همچنین برای نوشتن برنامه هایی قابل اجرا روی چند سیستم عامل (Cross Platform)، پلتفرم Flutter و زبان Dart را ارائه داده است و شرکت Apple زبان برناه نویسی Swift را به عنوان زبان اصلی توسعه برنامه های قابل اجرا روی IOS ارائه داده است. اینها را بگذارید در کنار پلتفرمهایی که از قدرت وب برای توسعه اپ های Hybrid استفاده میکنند مانند Phone Gap,IONIC,React Native و … و وب چیزی نیست جز در کنار هم قرار گرفتن JavaScript+HTML+CSS.در نتیجه ۴ زبان مهم که میتوانند در آینده به زبانهای اصلی توسعه اپ موبایل استفاده شوند شامل :KotlinSwiftDartJavaScriptمیشوند. نکته دیگری که باید به آن توجه داشت این است که شرکت Microsoft با ارئه Xamarin به عنوان یک پلتفرم توسعه اپلیکیشن های تحت موبایل و دسک تاپ برای همه سیستم عامل ها، گام بزرگی را در این راه برداشته است و زبان برنامه نویسی رسمی مایکروسافت یعنی #C یکی دیگر از انتخابهای برنامه نویسان موبایل خواهد بود. بخصوص اینکه با ارائه Net Core. در سال ۲۰۱۶ برنامه نویسان #C را به محیطهای دیگری مانند linux کشانده و جذابیت آن را بالاتر برده است. دنیای برنامه نویسی موبایل به اینجا ختم نمیشود.ساخت بازیهای کامپبوتری چه برای PC و چه موبایل بخش بزرگی از سهم بازار توسعه نرم افزار را دراختیار دارد و در این حوزه بدون شک زبان ++C به عنوان زبان اصلی موتورهایی مانند Unreal و کتابخانه هایی مانند SFML و زبان #C به عنوان زبان اصلی موتور Unity پیشتاز مورد انتخاب توسعه دهندگان هستند. همچنین زبان ++C در بستر Qt سالها برای توسعه اپلیکیشن هایی با قدرت و سرعت بالا برای سیستم عاملهایی مانند android,Meamo,Meago,IOS,Symbian مورد استفاده قرار گرفته است و هم اکنون هم در این حوزه حرف اول را میزند.پیشنهاد شگفت انگیز کدفرند،دسترسی به تمامی دوره های آموزشی کدفرند تنها با ۹۹ هزار تومانچه پلتفرمها و کتابخانه هایی برای توسعه اپلیکیشن های موبایل وجود دارد؟برخی از پرکاربرد ترین بسترهای توسعه الیکیشن های موبایل شامل موارد زیر میشود:Google Android Studio Java&amp;KotlinMicrosoft Xamarin #cApple XCode SwiftGoogle Flutter DartIONIC JS&amp;HTML&amp;CSSPhoneGap JS&amp;HTML&amp;CSSFireBase JS&amp;HTML&amp;CSSFacebook React Native JS&amp;HTML&amp;CSSApache Cordova JS&amp;HTML&amp;CSSJQuery Mobile JS&amp;HTML&amp;CSSQt C++ &amp; QMLUnity C# or JSUnreal C++ pythonSFMLاپلیکیشن های نوشته شده در چه دسته هایی قرار میگیرند؟اگر میخواهید برای موبای برنامه بنویسید باید ابتدا بدانید که چه چیزی میخواهید و برنامه شما چه نوع برنامه ای است. میتوان بر اساس اینکه چه نوع اپلیکیشنی نوشته میشود بستر و زبان مناسب را انتخاب کرد. از دیدگاه من تمامی اپ های موجود را میتوان در یکی از دسته های زیر قرار داد:اپلیکیشن های محتوا محور (مانند اپ هایی که برای لود اطلاعات از وب سایتها مورد استفاده قرار میگیرد)اپلیکیشن های اکشن محور (اپلیکیشنهایی کاربردی مانند برنامه های تعیین قرار یا تقویم و … که در آن UI و UX اولویت اصلی را دارند)اپلیکیشن های ارتباط محور (سیستم های پیامرسان و شبکه های اجتماعی و … که در آن بزرگی سیستم و مهندسی ارتباطات مقدم بر UI و UX میباشند)اپلیکیشن های پردازش محور (بازیهای ویدئویی و اپ های صنعتی و مورد استفاده در کاربردهایی مانند IOT که درآن استفاده از CPU و GPU و ارتباط با سخت افزار اولویت بالا را دارد)نکته :  ممکن است اپلیکیشنی ترکیبی از چند نوع بالا باشد.آیا میتوانم بدون دانش برنامه نویسی و از صفر وارد برنامه نویسی موبایل شوم؟پاسخ این سئوال ساده است. اگر شما میخواهید برای بستر خاصی برنامه نویسی کنید ابتدا باید خود آن بستر را بشناسید. همچنین شما باید توانایی برنامه نویسی داشته باشید. یعنی باید بتوانید در یک زبان برنامه نویسی مسائل را به زبان کامپیوتر بنویسید. به عنوان مثال شما میخواهید برای سیستم عامل اندروید یک اپ بنویسید که ارتباط دو طرفه ای را فراهم میکند. در اینجا لازم است که شما بدانید در سیستم اندروید این ارتباط به چه شکلی انجام میشود و این یعنی شناخت سیستم عامل. همچنین برای نوشتن چنین برنامه ای باید توان نوشتن برنامه های ارتباطی (شبکه) و دانش استفاده از پروتکل های ارتباطی (HTTP و …) را داشته باشید. حتما پاسخ خود را گرفته اید.بازار کار کدام دسته از اپهای مورد ذکر بیشتر است؟میتوان گفت دسته اول و دوم یعنی اپ های محتوا محور و اکشن محور بخش بزرگتری از بازار را د ر اختبار دارند. چرا که دو دسته بعدی در استفاده های محدودی و بیشتر در شرکتهای بزرگ و در صنعت مورد استفاده قرار میگیرند.چه مسیری را طی کنم تا تبدیل به یک برنامه نویس موبایل شوم؟از مجموع نوشته های بالا میتوان مسیرهای زیر را استنتاج کرد:برای توسعه اپلیکیشن های محتوا محور :در این سطح انتخابهای زیادی و جود دارد. اگر شما برنامه نویس وب هستید و با پلتفرمهای Front End مانند React و یا Angular آشنا هستید برای ساخت این اپلیکیشن ها راه کوتاهی دارید و کافی است با انتخاب یکی از پلتفرمهای زیر اپ خود را توسعه دهید:– IONIC با زبان TypeScript و با استفاده از HTML و CSS– PhoneGap با استفاده از زبان Javascript به همراه HTML و CSS– Cordova با استفاده از زبان Javascript به همراه HTML و CSS– پلتفرم Firefox برای توسعه اپ برای KiOS با زبان JavaScritبنابراین در این سطح بسیار بهتر است که از ترکیب توسعه وب استفاده کنید که شامل دانش کافی در باره JavaScript و HTML و CSS و احتمالا TypeScript میباشد. پلتفرمهای Hybrid و آنلاین بهترین انتخاب در این سطح میباشند.البته در همین پلتفرمها برای ایجاد اپهای مورد استفاده در Android و IOS باید از SDK آنها استفاده کنید.برای توسعه اپلیکیشن های اکشن محور:هر چند در این سطح هم استفاده از پلتفرمهای Web Base و پک JS&amp;HTML&amp;CSS توصیه میشود. ولی از دیدگاه من بهترین بستر ها برای این سطح از اپهای موبایل که بخش بزرگی از بازار را به خود اختصاص میدهند و UI و UX در آن از اهمیت بالایی برخوردارد است. سه پلتفرم بسیار مناسب زیر هستند:– React Native با قدرت زبان JavaScript,CSSو HTML– Flutter با قدرت زبان برنامه نویسی Dart– Xamarin با قدرت گرفتن از زبان #Cبرای توسعه اپ های ارتباطی محور و بزرگ:تفاوت این سطح با سطح قبلی در بزرگی و میزان پردازش شبکه در آن میباشد لذا در این سطح Scaling و سطح مهندسی نرم افزار مقدم بر UIو UX میباشد. از این جهت میتوان بسترهای زیر را مورد انتخاب قرار داد:– Xamarin و زبان #C اگر میخواهید برای سیستم عامل های مختلف یک کد بنویسید– Android Studio با استفاده از زبانهای Java و یا Kotlin اگر میخواهید فقط برای بستر android اپ توسعه دهید– زبان برنامه نویسی Swift در بستر XCode اگر میخواهید برای بستر های مربوط به شرکت Apple برنامه نویسی کنیدبرای توسعه اپهای پردازش محور و صنعتی :در این سطح مدیریت حافظه, ارتباط با سخت افزار و استفاده از قدرت GPU و CPU اهمیت بسیار بالایی دارد. لذا باید سعی شود از پلتفرمهای مخصوص یک سیستم عامل استفاده شود و به سمت پلتفرمهای Cross نروید. این انتخابهای شامل موارد زیر میشوند:– Qt و زبان ++C با استقاده از NDK برای توسعه برنامه های قدرتمند و صنعتی تحت اندروید.– Android Studio با استفاده اززبان JAVA برا ی نوشتن اپهای قدرتمند تحت سیستم عامل اندروید– XCode با زبان Swift یا Objective C برای توسعه اپهای قدرتمند تحت IOS– موتور Unreal با استفاده از زبان ++C برای توسعه بازیهای سه بعدی موبایل– موتور Unity با استفاده از زبان #C برای ساخت بازیهای دو و سه بعدی برای هردو سیستم عامل Android و IOSنتیجه و کلام آخر:در پایان میتوان به این نتیجه رسید که برای تبدیل شدن به یک برنامه نویس موبایل ابتدا باید یک برنامه نویس و آشنا به سیستم های کامپیوتری باشید و اگر نیستید باید آموزشهای لازم برای این کار را ببینید. در مرحله بعد با توجه به سیستم عامل مورد انتخاب یا نوع اپلیکیشن مورد نظر (که توضیح داده شد) و مهارتهای قبلی در زبانهای مختلف باید مسیر خود را انتخاب کنید.https://mahartsaz.ir/2020/07/26/برنامه-نویسی-موبایل-و-مسیری-که-برای-آن-ب/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Mon, 27 Jul 2020 01:00:19 +0430</pubDate>
            </item>
                    <item>
                <title>محبوب‌ترین زبان‌های برنامه‌نویسی براساس نظرسنجی از ۶۵ هزار توسعه‌دهنده Stack Overflow</title>
                <link>https://virgool.io/coderlife/%D9%85%D8%AD%D8%A8%D9%88%D8%A8%D8%AA%D8%B1%DB%8C%D9%86-%D8%B2%D8%A8%D8%A7%D9%86%D9%87%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%B1%D8%A7%D8%B3%D8%A7%D8%B3-%D9%86%D8%B8%D8%B1%D8%B3%D9%86%D8%AC%DB%8C-%D8%A7%D8%B2-%DB%B6%DB%B5-%D9%87%D8%B2%D8%A7%D8%B1-%D8%AA%D9%88%D8%B3%D8%B9%D9%87%D8%AF%D9%87%D9%86%D8%AF%D9%87-stack-overflow-xx3ur8i4zjkw</link>
                <description>انجمن برنامه‌نویسی و وب‌سایت پرسش‌و‌پاسخ Stack Overflow نتایج نظرسنجی سال ۲۰۲۰ خود را منتشر کرد. آن‌ها ماه فوریه از ۶۵ هزار توسعه‌دهنده‌ی وب‌سایت نظرسنجی کردند و در یکی از مؤلفه‌ها، محبوب‌ترین زبان‌های برنامه‌نویسی رتبه‌بندی شدند.این وب‌سایت ماهانه ۵۰ میلیون کاربر منحصربه‌فرد دارد. در نظرسنجی امسال، از توسعه‌دهندگان پرسیده شد زبان برنامه‌نویسی را به‌عنوان انتخاب اول خود می‌دانند و آیا برای توسعه‌ی‌ محصول به استفاده‌ی مجدد از آن علاقه‌مند هستند؟ برنامه‌نویسان شاید بسته به شرایط پروژه از زبان‌های گوناگونی بهره می‌برند؛ اما یکی از زبان‌ها را بیش از سایر گزینه‌ها دوست دارند.۱.زبان Rustموزیلا زبان برنامه‌نویسی Rust را با هدف ساختن زبان برنامه‌نویسی سریع و پایدار توسعه داد. مدیریت حافظه در Rust با بهره‌وری چشمگیری انجام می‌شود و این زبان به‌خاطر ساختار پیشگیری از باگ‌های مرسوم، در میان زبان‌های ایمن‌ هم قرار دارد. امروزه، سرویس‌های وب همچون فایرفاکس و دراپ‌باکس و کلادفلر در سطوح گسترده از Rust استفاده می‌کنند و این زبان به‌عنوان یکی از اولین انتخاب‌ها در کار با سخت‌افزار هم شناخته می‌شود.توسعه‌دهندگان Rust را پنجمین سال متوالی به‌عنوان محبوب‌ترین زبان برنامه‌نویسی انتخاب کرده‌اند. حقوق دریافتی توسعه‌دهندگان این زبان هم درخورتوجه است و میانگین سالانه‌اش در سطح جهانی ۷۴ هزار و در ایالات متحده ۱۳۰ هزار دلار است.۲.TypeScriptبان برنامه‌نویسی تایپ‌اسکریپت را مایکروسافت توسعه داده است. تایپ‌اسکریپت با وجود شباهت‌هایش به جاوااسکریپت‌، گزینه‌ها و قابلیت‌های بیشتری دراختیار توسعه‌دهندگان قرار می‌دهد. درواقع، توسعه‌دهندگان برای ساختن پروژه‌های بزرگ‌تر، از تایپ‌اسکریپت به‌جای جاوااسکریپت استفاده می‌کنند.۳.پایتون Pythonپایتون از زبان‌های برنامه‌نویسی گسترده محسوب می‌شود که در دنیای فناوری، در کاربردهای متنوعی حضور دارد. این زبان قدرتمند به‌راحتی خوانده و تفسیر می‌شود و استفاده از آن نیز ‌چندان دشوار نیست. شرکت‌های بزرگی همچون گوگل، پینترست، اینستاگرام و دراپ‌باکس، پایتون را در میان گزینه‌های محبوب قرار می‌دهند و نه‌تنها مهندسان نرم‌افزار، بلکه تحلیلگران و متخصصان علوم داده و محققان یادگیری ماشین هم از پایتون بهره می‌برند.(دوره آموزش جامع برنامه نویسی پایتون در کدفرند).۴.کاتلین Kotlinزبان برنامه‌نویسی کاتلین را شرکت تولیدکننده‌ی ابزارهای نرم‌افزاری JetBrains توسعه داد. این زبان به توسعه‌دهندگان اندروید امکان می‌دهد اپلیکیشن‌های خود را با سرعت و بهره‌وری بیشتری بسازند. زبان کاتلین شباهت زیادی به زبان قدیمی جاوا دارد؛ اما مدرن‌تر است و توسعه‌دهندگان آن به نوشتن کد کمتری نیاز دارند. کاتلین همچنین قابلیت‌هایی دراختیار توسعه‌دهنده قرار می‌دهد که از اشتباه‌های مرسوم او پیش‌گیری می‌کند. میانگین درآمد سالانه‌ی توسعه‌دهندگان کاتلین در ایالات متحده ۱۳۰ هزار دلار است.(دوره آموزش برنامه نویسی کاتلین و برنامه نویسی اندروید با کاتلین در کدفرند).۵.گو GOمهندسان گوگل در سال ۲۰۰۷ زبان برنامه‌نویسی گو را توسعه دادند و در سال ۲۰۰۹ آن را رونمایی کردند. زبان مذکور براساس زبان قدیمی C مدل‌سازی شده و برای ساختن نرم‌افزارهای ساده و پایدار استفاده می‌شود. گو امسال در رتبه‌بندی محبوب‌ترین زبان‌ها پنج پله رشد کرد و از رتبه‌ی دهم به پنجم رسید. این زبان همچنین یکی از گزینه‌های پردرآمد موجود در میان برنامه‌نویسان محسوب می‌شود و میانگین پرداختی آن در جهان ۷۴ هزار و در ایالات متحده ۱۴۰ هزار دلار است.۶.Juliaزبان برنامه‌نویسی جولیا به‌عنوان زبانی سریع و بسیار پویا با هدف کاربردهایی در اپلیکیشن‌های محاسبه‌ی عددی و کاربردهای علمی محض طراحی شد. از این زبان می‌توان برای تصویرسازی داده و‌ علوم داده و یادگیری ماشین استفاده کرد؛ هرچند کاربردهای بسیار متنوع دیگری هم برای جولیا بیان می‌شود. ناگفته نماند سازندگان جولیا هیچ اصول و قاعده‌ی خاصی برای نام‌گذاری آن بیان نمی‌کنند.۷.Dartگوگل زبان برنامه‌نویسی دارت را توسعه داد تا توسعه‌دهندگان بتوانند اپلیکیشن‌هایی سریع و کارا طراحی کنند که در هر پلتفرم کارایی خود را حفظ کنند. این زبان بیشترین سرعت رشد را هم ثبت کرده است و گیت‌هاب سرعت به‌کارگیری از آن برای ساختن اپلیکیشن‌ها را بیش از رقبا گزارش می‌کند.۸.#Cسی شارپ را مایکروسافت توسعه داده است و برای نوشتن اپلیکیشن‌های ویندوز کاربرد دارد. به‌علاوه، توسعه‌دهندگان از #C برای توسعه‌ی وب‌سایت، اپلیکیشن‌های دیتابیس، ابزارهای توسعه‌ی نرم‌افزاری، کامپایلر و… هم استفاده می‌کنند. زبان سی شارپ از زبان‌های سنتی و قدیمی C و ++C مشتق شد؛ اما قابلیت‌های اضافه‌اش آن را مدرن‌تر و آسان‌تر می‌کند. ‌سی شارپ نقاط و تاریخچه‌ی مشترکی هم با جاوا دارد.(دوره آموزش برنامه نویسی سی شارپ در کدفرند).۹.Swiftاپل زبان برنامه‌نویسی سویفت را در سال ۲۰۱۴ معرفی کرد. از آن زمان، سویفت رشد درخور‌توجهی سپری کرده است. سویفت برای توسعه‌ی اپلیکیشن‌های iOS در موبایل و دسکتاپ و امروزه برای کاربردهای هوش مصنوعی هم استفاده می‌شود. اوبر، ایر‌بی‌ان‌بی، اسکوئر، کالم و حدود ۵۰۰ هزار اپلیکیشن در اپ‌استور، حداقل در بخشی از ساختار خود از سویفت استفاده کرده‌اند. میانگین درآمد سالانه‌ی توسعه‌دهندگان سویفت در سطح جهانی ۵۸ هزار و در ایالات متحده ۱۲۵ هزار دلار است.۱۰.JavaScriptبرندان آیک جاوا اسکریپت را در نت‌اسکیپ طراحی کرد. این زبان را می‌توان مشهورترین زبان برنامه‌نویسی دانست که در میان زبان‌های محبوب هم جای گرفته است. توسعه‌دهندگان با استفاده از جاوااسکریپت، وب‌سایت و وب‌اپلیکیشن توسعه می‌دهند. پویایی و تعامل بهتر وب‌سایت‌ها و اپلیکیشن‌ها با کاربر، ازطریق جاوااسکریپت و کتابخانه‌های آن ممکن می‌شود؛ درنتیجه، همیشه توسعه‌دهندگان از جاوااسکریپت درکنار HTML و CSS استفاده می‌کنند.(دوره آموزش انلاین و رایگان جاوا اسکریپت در کدفرند).۱۱.SQLSQL یا Structured Query Language برای ارتباط با دیتابیس‌ها استفاده می‌شود. با استفاده از این زبان، می‌توان هرگونه تغییر در فایل‌ها و ارسال و دریافت آن‌ها را در تعامل با دیتابیس انجام داد. توسعه‌دهندگان همچنین از SQL برای تحلیل داده‌های موجود در دیتابیس و تصمیم‌گیری‌های استراتژیک، بازاریابی، عملیاتی و… استفاده می‌کنند.(دوره آموزش دیتابیس و MySql ).۱۲.Bash/Sell/PowerShellاین زبان‌ها همگی به کامپیوتر کمک می‌کنند تا دستورها را درک و تفسیر کند. به‌عنوان مثال، هرگونه تغییر در فایل‌ها یا اجرای برنامه‌ها یا حتی چاپ‌کردن متن، به این زبان‌ها نیاز دارد. PowerShell را مایکروسافت توسعه داده است و با ابزارهای NET. این شرکت کار می‌کند. زبان Bash پروژه‌ی نرم‌افزاری رایگانی است که از سیستم‌عامل GNU متولد شد.۱۳.HTML/CSSترکیب HTML/CSS برای طراحی محتوای صفحات وب و وب‌اپلیکیشن‌ها استفاده می‌شود. توسعه‌دهندگان وب با استفاده از این دو ابزار، نحوه‌ی نمایش و تعامل عناصر صفحه‌ی وب را مشخص می‌کنند. دو زبان مذکور همیشه درکنار یکدیگر استفاده و یادگیری‌شان نیز همیشه در ترکیب با یکدیگر ممکن می‌شود. به‌هرحال، اولین پروتکل‌هایی که هر توسعه‌دهنده‌ی وب باید بیاموزد، HTML و CSS هستند.(دوره های آموزشی رایگان HTML و CSS).۱۴.Scalaدر سال ۲۰۰۱، مارتین اودرسکی، متخصص آلمانی علوم کامپیوتر، زبان برنامه‌نویسی Scala (مخفف Scalable Language) را توسعه داد. امروزه، بسیاری از توسعه‌دهندگان قدیمی جاوا از Scala استفاده می‌کنند. برنامه‌نویسان Scala را زبانی با ساختار مختصر و مفید می‌دانند که توسعه‌دهندگان برای مقیاس‌پذیرشدن اپلیکیشن‌ها و افزایش پایداری آن‌ها از آن استفاده می‌کنند.متخصصان این زبان عموما به دریافت بیشترین حقوق برنامه‌نویسی شهرت دارند. به‌صورت میانگین، درآمد هر برنامه‌نویس Scala در سطح جهانی ۷۶ هزار تخمین زده می‌شود؛ اما متخصصان این زبان در ایالات متحده، به‌صورت میانگین ۱‍۵۰ هزار دلار درآمد سالانه دارند. رقم درآمد توسعه‌دهندگان نیز در همان نظرسنجی Stack Overflow مشخش شده است.نظرسنجی Stack Overflow ماه فوریه انجام شد و فراموش نکنید اعلام جهانی خطرناک‌بودن همه‌گیری ویروس کرونا ماه مارس بود. از آن زمان تغییرات زیادی در نحوه‌ی کار و ارتباط برنامه‌نویسان ایجاد شد و آن‌ها شاید تمایل خود به زبان‌ها را هم تغییر داده باشند. به‌هرحال تا پیش از انتشار نتیجه‌ی نظرسنجی بعدی، می‌توان به رتبه‌بندی کنونی محبوب‌ترین زبان‌های برنامه‌نویسی بسنده کرد. https://codefriend.ir/2020/06/02/محبوب%e2%80%8cترین-زبان%e2%80%8cهای-برنامه%e2%80%8cنویسی-ب/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Tue, 02 Jun 2020 04:15:19 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش ساخت اکانت های اینستاگرام نامحدود + ساخت اکانت فیک اینستاگرام</title>
                <link>https://virgool.io/@CodeFriend/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A7%DA%A9%D8%A7%D9%86%D8%AA-%D9%87%D8%A7%DB%8C-%D8%A7%DB%8C%D9%86%D8%B3%D8%AA%D8%A7%DA%AF%D8%B1%D8%A7%D9%85-%D9%86%D8%A7%D9%85%D8%AD%D8%AF%D9%88%D8%AF-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A7%DA%A9%D8%A7%D9%86%D8%AA-%D9%81%DB%8C%DA%A9-%D8%A7%DB%8C%D9%86%D8%B3%D8%AA%D8%A7%DA%AF%D8%B1%D8%A7%D9%85-hdrxwrqabxpu</link>
                <description>اینستاگرام اجازه ساخت و مدیریت بیشتر از ۵ حساب کاربری در یک دستگاه نمیدهد و برای افرادی که در زمینه مدیریت شبکه های اجتماعی، اینستاگرام مارکتینگ و ساخت و فروش اکانت های فیک فعالیت میکنند، این موضوع کار را دشوار کرده است. بنابراین در این پست کدفرند به بررسی نحوه ساخت اکانت های اینستاگرام بدون محدودیت در تعداد و همچنین یک راهکار ساده برای ساخت اکانت های فیک اینستاگرامی میپردازیم.هرچند که ساخت اکانت های فیک کار درستی نیست اما به درخواست کاربران محترم وبسایت کدفرند، این موضوع را نیز در این مقاله پوشش میدهیم.برای انجام اینکار میتوانید از هر دستگاهی از جمله لپ تاپ، موبایل، تبلت و آی پد و … استفاده کنید. اما در صورتی که از موبایل یا تبلت استفاده کنید و برنامه اینستاگرام در دستگاه شما نصب باشد، باید بسیار دقت کنید که به هیچ عنوان برنامه اینستاگرام رو در طول انجام اینکار باز نکنید و داخل مرورگر گوگل کروم، با روشی که به شما آموزش میدم، کار رو انجام بدید.اولین کاری که انجام میدیم، سرچ کردن duckduckgo هست.   داک داک گو، یک مرورگر و سرچ انجین Private کاملا رمزنگاری شده و امن هست که استفاده از آن برای ساخت اکانت های اینستاگرام بدون محدودیت در تعداد ضروری است.برای باز کردن نسخه وب اینستاگرام داخل مرورگرمون حتما باید از duckduckgo استفاده کنیم. چراکه در حقیقت برنامه اینستاگرام که در دستگاه موبایل یا تبلت شما نصب هست، به نسخه وب اینستاگرام که بوسیله داک داک گو باز میکنیم، توانایی دسترسی و لیمیت کردن ما را  ندارد.آدرس instagram.com رو باز میکنم و در این مرحله از کار باید توجه داشته باشید که اگر با دستگاه موبایل یا تبلت این آدرس را داخل مرورگر باز کنید، اینستاگرام سعی خواهد کرد این آدرس را داخل اپلیکیشن اینستاگرام باز کند و این چیزی نیست که ما بخواهیم. به هیچ عنوان نمیخواهیم اینستاگرام اطلاع و دسترسی داشته باشه به کاری که قصد انجامش رو داریم.پس در صورتی که هنگام باز کردن آدرس اینستاگرام در مرورگر، به شما نوتیفیکیشن درخواست باز کردن آدرس داخل اپلیکیشن اینستاگرام را داد، حتما باید درخواست را Deny کرده و تائید نکنید تا بتوانید کار را پیش ببرید.ادامه کار بسیار ساده میباشد و طبق معمول اطلاعات خواسته شده از جمله ایمیل یا شماره تلفن، نام کاربری و پسورد را وارد میکنید و اکانت اینستاگرام ایجاد میکنید. برای ورود به اکانت اینستاگرام که ساختید به این اطلاعات نیاز دارید پس در نگهداری آنها دقت کنید. با استفاده از این راهکار میتوانید به هر تعداد که خواستید بدون مزاحمت برنامه اینستاگرام، داخل مرورگر کروم و به کمک موتور duckduckgo اکانت های اینستاگرام بسازید.باید توجه داشته باشید که برای هربار ورود و دسترسی به اکانت هایی که ساختید (یا ورود به اکانت هایی که دارید)، باید یکبار از ابتدا مراحل ورود را انجام بدهید چراکه داک داک گو  اطلاعات ورود و حساب کاربری شما را ذخیره نمیکند. ضمنا در هر مرحله از کار در صورتی که اینستاگرام بخواهد آدرس را در اپلیکیشن اینستاگرام باز کند، نباید این اجازه را به اینستاگرام بدهید و باید آن را Deny کنید.آموزش ساخت اکانت فیک اینستاگرام (به تعداد دلخواه)در حقیقت روش پیش رو، مکمل راهکار قبلی است اما راهکار قبلی برای ساخت و مدیریت بدون محدودیت اکانت های واقعی اینستاگرام بکار میرود. در حالی که در راهکار پیش رو از روش داک داک گو و همچنین یک سرویس Disposable email برای ساخت اکانت های فیک اینستاگرام با اطلاعات جعلی میپردازیم که چون از داک داک گو استفاده میکنیم، میتوانیم این اکانت های فیک را نیز بدون محدودیت در تعداد و بدون مزاحمت اینستاگرام ایجاد کنیم. البه میتوان اینکار را در اپلیکیشن اینستاگرام نیز انجام داد اما از نظر تعداد فقط به ساخت ۵ اکانت محدود میشوید.همچنین میتوانیم به اکانت های فیک که ایجاد کردیم، دسترسی و لاگین داشته باشیم و در صورت تمایل، با فالو کردن، لایک کردن و کامنت گذاشتن برای پیج ها و پست های مشتریانی که پیدا میکنیم، کسب درآمد خوبی نیز داشته باشیم. همانطور که اشاره کردیم، برای ساخت اکانت های اینستاگرام از یک سرویس Disposable email استفاده خواهیم کرد. چراکه برای ایجاد اکانت به شماره تلفن یا آدرس ایمیل نیاز داریم و باید ایمیل های جعلی و موقتی بسازیم.Disposable email یا ایمیل یکبار مصرف چیست؟ایمیل یکبار مصرف سزویسی است که به شما اجازه دریافت ایمیل در یک آدرس ایمیل موقتی را میدهد. آدرس ایمیل موقتی که پس از گذشت مدت زمان مشخصی، بطور خودکار حذف میشود. همچنین بنام های tempmail، ایمیل دور انداختنی، ۱۰minutemail، ایمیل فیک و  trash-mail نیز معروف است. اکثر فروم های آنلاین، وبسایت ها، اپلیکیشن ها و بخش دیدگاه مقالات  قبل از نمایش محتوا و اجازه کامنت گذاشتن یا دانلود، از شما میخواهند که در سیستم آنها رجیستر کنید و برای انجام اینکار به ایمیل نیاز دارید.Temp-Mail پیشرفته ترین سرویس ایمیل یکبار مصرف میباشد که میتوانید از آن برای ساخت ایمیل موقتی به تعداد نا محدود استفاده کنید و بوسیله این ایمیل ها اکانت فیک اینستاگرام ایجاد کنید. ضمنا ایمیل های ساخته شده بوسیله این سرویس، Unique و Session Based میباشند. به معنی اینکه یک ایمیل را به بیش از یک نفر نمیسازد و کاملا یکتا و امن هستند.کافیست وارد وبسایت Temp-Mail شوید و به سادگی ایمیل ساخته شده را دریافت کنید و بوسیله آن در اینستاگرام اکانت ایجاد کنید. بقیه اطلاعات مورد نیاز را نیز میتوانید بصورت جعلی وارد کنید و به هر تعدا که خواستید اکانت های اینستاگرام فیک بسازید.ttps://codefriend.ir/2020/05/07/ساخت-اکانت-های-اینستاگرام/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Fri, 08 May 2020 15:08:53 +0430</pubDate>
            </item>
                    <item>
                <title>۱۰ عادت خوب برنامه نویسی برای توسعه دهندگان</title>
                <link>https://virgool.io/coderlife/%DB%B1%DB%B0-%D8%B9%D8%A7%D8%AF%D8%AA-%D8%AE%D9%88%D8%A8-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D8%AF%D9%87%D9%86%D8%AF%DA%AF%D8%A7%D9%86-nh9tymr1chht</link>
                <description>در این مقاله به بررسی و معرفی ۱۰ عادت خوب برنامه نویسی برای توسعه دهندگان میپردازیم که میتوانند موجب شوند با تلاش کمتر، کدنویسی تمیز تر و هوشمندانه تری انجام دهیم. با ما همراه باشید تا هم اکنون به توسعه این عادت ها در خودمان شروع کنیم.۱ – کدهای خوانا (Human-Friendly) بنویسیمهمیشه به یاد داشته باشید که فقط برای کامپیوترها کدنویسی نمیکنید. بلکه برای آینده خودتان هم اینکار را انجام میدهید. بنابراین بسیار مهم است که کدهای خوانا (readable) بنویسید. در حقیقت، برنامه نویسی مانند نوشتن یک شعر خوب است. لحن باید متناسب باشد، جملات و کلمات توصیفی نیز باید ساختار خوبی داشته باشند. (دوره های آموزشی برنامه نویسی و طراحی وبسایت – سیر تا پیاز)برای ساخت این این عادت خوب برنامه نویسی ، در اینجا به چند نکته برای نوشتن کدهای خوانا اشاره شده است:کنوانسیون نامگذاری مناسبی را دنبال کنیدبرای مثال، در صورتی که شما حرف اول متغیرهای private را با علامت underscore شروع میکنید، باید این ساختار را در مابقی کدتان دنبال کنید. اگر بصورت تیمی کار میکنید، قبل از دستکاری کدها، درباره کنوانسیون و استانداردهای نامگذاری عناصر پروژه به توافق برسید.با این حال، بیشتر زبان های برنامه نویسی، اکنون استانداردهای نامگذاری خودشان را دارند که ممکن است توسط خود زبان برنامه نویسی یا جامعه توسعه دهندگان آن زبان تعریف شده باشند؛ بنابراین در اکثر مواقع نیازی به معرفی کنوانسیون های نامگذاری خودتان ندارید.اسامی معنی دار متدها و متغیرهانام متغیر و متد باید بخوبی کارایی کد را توصیف کند. به عنوان مثال، مخفف های غیر معمول مانند  Sort_PT() میتوانند پیچیده بنظر برسند: مفهوم PT چیست؟ پس باید نامگذاری آن را برای درک بهتر، به Sort_PostType()  بهینه سازی کنیم.با این حال استثناهایی نیز میتوانند وجود داشته باشند. اکثر برنامه نویسان از قبل با اصطلاح ID آشنا هستند و میدانند که به معنی identity میباشد. پس همیشه میتوانیم در نامگذاری هایمان از کلمه “ID” استفاده کنیم.تو رفتگی و استفاده از Line Breakبا چند کلید ساده Tab میتوانید کل ساختار کدتان را آشکار و قابل فهم کنید و برنامه ای که نوشتید را با درک واضح تر از چگونگی کارکرد آن، ویرایش کنید. هنگامی که دو دستور در یک خط، کارهای متفاوتی را انجام میدهند، از line break استفاده کنید. برای مثال بهتر است خصوصیات CSS را بصورت زنجیره ای در یک خط ننویسید چراکه کار را پیچیده میکند.۲ − سازمان یافته فکر کنیدعلاوه بر کدنویسی تمیز تر، ساختار و سازمان دهی کد نیز به مسئله خوانایی کمک میکند. بسیار مهم است که کدهایتان را گروه بندی کنید تا به سادگی بتوانید ویرایش کنید. (اگر نیاز به چندین بار اسکرول کردن برای یافتن بخشی از کدتان دارید، باید روی بهینه سازی ساختار آن بیشتر کار کنید)همچنین تمام کدتان را در یک اسکریپت کوچک قرار ندهید. اگرچه بنظر میرسد نوشتن بیشتر از ۸۰۰۰ خط کد در یک فایل کار راحتی باشد، اما باید به فکر دیباگ کردن هم باشد. همیشه به فکر راحتی تغییر کدهایتان باشید.بهترین تمرین، جداسازی کدها به فایلهای مختلف بر اساس کارایی اصلی شان میباشد. برای مثال manager و interface و animation و extension و … .در صورت امکان، مطمئن شوید که زبان فقط یک هدف مشخص را انجام میدهد. اگر شما یک افکت انیمیشنی را در CSS3 مینویسید، نوشتن انیمیشن با جی کوئری را بیخیال شوید. مگر اینکه یک دلیل کافی برای اینکار داشته باشید. اگر هم مجبور به انجام اینکار باشید، بخوبی در فایل CSS درباره این استثنا کامنت گذاری کنید.۳ − اول فکر کن، بعد بنویسیک عادت خوب برنامه نویسی دیگر! قبل از زدن اولین کلید، بسیار مهم است که بدانید دقیقا چه کاری میخواهید انجام دهید. در دنیای برنامه نویسی، داشتن برنامه ریزی و یک نقشه راه، اهمیت بسیاری دارد. نوشتن یک نویگیشن منوی ثابت کار دشواری نیست، اما اگر بخواهیم منو ریسپانسیو باشد و همچنین زمانی که بازدید کننده صفحه را اکسرول میکند، قابلیت مینیمایز کردن خودش را داشته باشد؟شروع به نوشتن کد بدون داشتن یک اصول مشخص در ذهن، معمولا موجب تلاش های مجدد، نا امیدی و حتی افسردگی میشود. پس بجای حل مسئله و برنامه نویسی با این روش، بسیار ساده تر است که ابتدا اصول اولیه را کاملا مشخص و واضح کنید و سپس یک راه حل بنویسید. به عنوان مثال برای منوی ریسپانسیو میتوانید گام های زیر را انجام دهید:از فریمورک بوت استرپ استفاده کنید.منوی نویگیشن را طراحی کنید.کلاس .navbar-fixed-top را به منو اضافه کنید.یک اسکریپت jQuery برای تغییر سایز منو هنگام اسکرول صفحه به میزان ۲۰۰px توسط کاربر بنویسید.اگر کاربر دوباره به بالا اسکرول کند، سایز منو را به حالت اول برگردانیدرفع مشکلدر حال حاضر، شما باید مشکلات اساسی دیگری را کشف کنید. مثلا چگونه میتوانیم سایز لوگوی سایت را در حالت ریسپانسیو نویگیشن منو، تغییر دهیم. یا اینکه چگونه میتوانیم منوی dropdown را تغییر سایز دهیم و همچنین اگر نیاز باشذ، چگونه میتوانیم منوی سایت را از حالت fixed خارج کرده و آن را داینامیک کنیم. پس از انجام تمام این موارد، منوی شما آماده است.۴ – کدهای قابل مدیریت بنویسیدمطمئن هستم که دوست ندارید صدها متغیر را بصورت جداگانه و خط به خط تغییر دهید. متاسفانه من به مدت یکسال این شیوه را پیش گرفتم. یک تجربه کسل کننده بود و پس از آن یاد گرفتم چگونه کدی بنویسم که به کمترین تغییرات دستی ممکن نیاز داشته باشد.پس چگونه به این هدف برسیم؟ از آرایه استفاده کنید. آرایه ها برای نگهداری متغیرها بسیار عالی هستند و میتوانید به این متغیرها به سادگی استفاده از حلفه for یا متد for each دسترسی داشته باشید.همچنین روش های داینامیک تری برای افزدون، تنظیم و دریافت داده در برخی از زبان های برنامه نویسی وجود دارند. مانند List و LINQ در زبان سی شارپ. پس بطور مرتب درباره ویژگی های بهتر، کتابخانه ها و پلاگین ها برای مدیریت هوشمندانه تر داده ها، تحقیق کنید. دوره آموزش سی شارپ (مقدماتی تا فوق پیشرفته)نهایتا برای جلوگیری از ویرایش و تغییرات مداوم در کدتان، کدهای مستقل یا به اصطلاح “highly independent code” بنویسید؛ طوری که هنگام افزدون ویژگی های جدید و یا اعمال کردن تغییرات، سیستم را از کار نیندازد.۵ − ویژگی های بیش از حد پیاده سازی نکنیدوقتی مهارت هایمان رشد میکنند، سعی میکنیم راه حل های پیچیده تری توسعه بدیم که به مجموعه گسترده ای از نیازها پاسخگو باشند. این یک نشانه خوبی از افزایش مهارت های برنامه نویسی است، اما باید محتاط باشید چراکه ممکن است با پیاده سازی ویژگی های غیر ضروری بسیار زیاد و بیش از حد در پروژه، کار را پیچیده کنید.در طراحی و توسعه، بسیار مهم است که مدام به خودمان هدف اصلی پروژه را یاد آوری کنیم و فقط ويزگی هایی را اضافه کنیم که هدف را محقق کنند. برای مثال اگر میدانید سایز یک کالکشن دقیقا چه میباشد، از آرایه استفاده کنید. اگر تابع List بتواند داده را طوری که میخواهید دریافت کند، از LINQ پیشرفته استفاده نکنید.چرا باید یک پلاگین توسعه بدیم که به سختی و بسیار کم از آن استفاده کنیم؟ فقط به دلیل اینکه میتوانید، به معنی اینکه باید توسعه بدهید نیست. از زمان خود صرفه جویی کنید. یه یاد داشته باشید که بخش بزرگ و وقت تلف کن از اتمام یک پروژه، فرآیند دیباگ کردن میباشد و نباید زمان از دست بدهید.۶ − Debugging هوشمندانه را یاد بگیریدهرجایی که کد باشد، آنجا باگ هایی هستند. داشتن یک راه حل بدون باگ یا به اصطلاح bug-free غیر ممکن است. بنابراین مهارت های Debugging بسیار هائز اهمیت میباشند. شاید راهکار باستانی trial-and-error پاسخگو باشد، اما یک روش سریع نیست و بسیار کند است. همچنین، چرا باید خودتان را شکنجه دهید، در حالی که debugger هایی برایتان توسعه داده شدند؟ابزارهای Debuggingامروزه مرورگرها به ابزارهای برنامه نویس یا DevTools بسیار قدرتمند و پرکاربرد، مجهز شدند که دارای قابلیت هایی از جمله error detection و breakpoint setting و expression tracking و performance checking هستند. همه برای راحتی Debugging برای شما. پس این عادت خوب برنامه نویسی را در خودتان پرورش دهید و Debugging هوشمندانه تر را یاد بگیرید. (دوره های آموزشی برنامه نویسی و طراحی وبسایت – سیر تا پیاز)جتی IDE هایی همچون Aptana Studio 3 و  Xamarin Studio دیباگرهای قدرتمند و built-in خودشان را منتشر کردند، بنابراین وقت گذاشتن برای یادگیری آنها میتواند کارتان را بسیار ساده تر کند.۷ − ادیتور قدرتمندتری پیدا کنیداستفاده از ادیتور مناسب نه تنها میتواند دانش شما را افزایش دهد، بلکه موجب تسریع روند توسعه و تکمیل پروژه میشود. صرفنظر از اینکه شما چقدر با تجربه و حرفه ای هستید، شدیدا توصیه میشود که حتما از ادیتورهایی با قابلیت code completion استفاده کنید. مانند Visual Studio Code و  Aptana Studio 3.نه تنها انجام اینکار به افراد تازه کار کمک بسیار زیادی در یادگیری و شناخت سینتکس میکند، بلکه میتواند توسط افراد حرفه ای جهت نوشتن کدهای بهتر و توسعه راهکارهای هوشمندانه تر، استفاده شود. به یاد داشته باشید که اکثر IDE ها از قابلیت  code completion فقط برای برخی از زبان های برنامه نویسی پشتیبانی میکنند. پس ابزار درست را انتخاب کنید.۸ − Version Controlزمان هایی خواهد بود که شما یک خطای بزرگ برنامه نویسی انجام دهید و بخواهید به یک نسخه قبل تر از کدتان برگردید. حال اگر خطای شما شامل چندین فایل در codebase شود و تاریخ آخرین ویرایش برخی از آنها چند روز یا حتی چند ماه قبل باشد، چه اتفاقی خواهد افتاد؟به همین دلیل است که سیستم version control بسیار اهمیت دارد و به عنوان یک توسعه دهنده، حتما باید عادت خوب برنامه نویسی انجام ورژن کنترل را در خودتان توسعه دهید.سیستم های کنترل ورژندر میان چندین نرم افزار Version Control موجود، Git با داشتن مستندات آنلاین بیشمار، محبوب ترین و پر استفاده ترین مورد میباشد. بوسیله Git میتوانید به تعداد دلخواه اصلاحات پروژه های خود را نگهداری کنید، بخشی از فایل که آخرین بار ویرایش کردید را بررسی کنید و هر موقع که خواستید به نسخه های قبلی برگردید.بلکه انجام اینکار برای افراد تازه کار تا حدی اضافه بر سازمان بنظر برسد چرا که در اصل برای پروژه های تیمی توسعه یافته است. اما در واقع یک ابزار بسیار عالی و ضروری برای پروژه های شخصی در بازه زمانی طولانی است. ممکن است به دلیل اینکه در سیستم Git چیزهای بسیاری برای یادگیری وجود دارد (حتی در حالت GUI)، برای یادگیری و استفاده از آن دو دل باشید، اما اگر قصد حرفه ای شدن در برنامه نویسی را داشته باشید، دیر یا زود باید گیت را یادبگیرید که البته بهتر است هرچه زودتر آن را یاد بگیرید.۹ − ورزش کنیدشاید یکی از مهم ترین عادت های فردی برای یک برنامه نویس ورزش کردن و داشتن یک فعالیت فیزیکی مرتب باشد. کدنویسی و دیباگینگ فرآیند خسته کننده میباشد و میتواند از نظر سلامت فیزیکی و روحی به شما لطمه بزند. مگر اینکه بطور مرتب ورزش کنید.ورزش هایی مانند دویدن، فیتنس، بوکس و کیک بوکسینگ، والیبال و بسکتبال به دلیل جنب و جوش و تحرک فراوان، گردش خون را در بدن و مغزتان افزایش میدهند و موجب سلامتی روحی و جسمی و همچنین افزایش قدرت حافظه (که در برنامه نویسی برایمان مهم است) میشود. حداقل ۳ الی ۵ روز در هفته بمدت یک ساعت و نیم به انجام ورزش مورد علاقه خود بپردازید. یا اینکه حداقل ۳۰ دقیقه الی ۱ ساعت در روز با دور تند پیاده روی کنید.۱۰ − همیشه چیزهای جدید یاد بگیریددر کار برنامه نویسی، به سرعت میتوانید از بازی خارج شوید. تکنولوژی و علم کامپیوتر به سرعت در حال رشد است و حتی بسیاری از روش های طراحی و توسعه و زبانهای برنامه نویسی در طی ۱۰ سال گذشته منسوخ شده اند. حتی اگر شما فارغ التحصیل از یک دانشگاه برتر در این زمینه باشید، در اولویت استخدام قرار نمیگیرید.تنها راه نجات یافتن و شکوفا شدن، یادگیری مداوم میباشد. باید یادگیری مداوم که یک عادت خوب برنامه نویسی میباشد را بخوبی در خود پرورش دهید. بهترین راه برای یادگیری؟ مطالعه و تماشای ویدیوهای آموزشی کافی نیست. بلکه باید تمرین داشته باشید و پروژه های خودتان را تعریف کنید و سعی کنید آنها را انجام دهید. خودتان را با پروژه های عملی مختلف به چالش بکشید و چیزی که یاد گرفتید را با حالت های مختلف عملی کنید. این شما را وادار میکند تا کارآمدتر فکر کنید.  https://codefriend.ir/2020/05/01/۱۰-عادت-خوب-برنامه-نویسی/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Sat, 02 May 2020 12:28:57 +0430</pubDate>
            </item>
                    <item>
                <title>نکاتی مهمی که باید قبل از شروع کدنویسی باید بدانید</title>
                <link>https://virgool.io/coderlife/%D9%86%DA%A9%D8%A7%D8%AA%DB%8C-%D9%85%D9%87%D9%85%DB%8C-%DA%A9%D9%87-%D8%A8%D8%A7%DB%8C%D8%AF-%D9%82%D8%A8%D9%84-%D8%A7%D8%B2-%D8%B4%D8%B1%D9%88%D8%B9-%DA%A9%D8%AF%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%A8%D8%AF%D8%A7%D9%86%DB%8C%D8%AF-nj7mqlehqlr2</link>
                <description>هنگامی که می خواهید شروع کدنویسی را شروع کنید، بهتر است چند نکته را مدنظر داشته باشید تا وسط کار به مشکل نخورید. بهتر است مواردی که در ادامه مطرح می کنیم را در خودتان جستجو کنید و بعد به صورت حرفه ای به برنامه نویسی بپردازید.۱.از پروژه‌های کوچک شروع کنیدمی‌توانید کار خود را با برنامه‌نویسی یک اپلیکیشن یا طراحی وب‌سایتی که نیازمند هفته‌ها و یا حتی ماه‌ها زمان باشد، آغاز کنید؛ اما این کار نه‌تنها به پیشرفت کد نویسی شما کمک نمی‌کند، بلکه باعث می‌شود در ابتدای کار خود با مشکلات زیادی مواجه شوند.بسیاری از کسانی که قصد یادگیری کد نویسی دارند تصور می‌کنند که باید دو یا سه مرحله از کار را هم‌زمان با یکدیگر انجام دهند و این موضوع باعث می‌شود نتوانند نخستین گام خود را با موفقیت بردارند. توصیه می‌کنیم آموزش برنامه‌نویسی را از کوچک‌ترین بخش ممکن آغاز کنید.(دوره های آموزشی کدفرند از پایه زبان ها و فریم ورک های برنامه نویسی به دانشجو یاد میدهند).۲.روند کدنویسی را به برنامه نویسان حرفه ای نشان دهیدبرخی از نشان دادن روند کار خود، ترس دارند و فقط به دنبال نتیجه نهایی هستند.این رویکرد ممکن است در برخی موارد مثل حل کردن معادله‌های مختلف مشکلی نداشته باشد و افراد این توانایی را داشته باشند که برخی از معادلات را در ذهن خود حل کنند و فقط نتیجه نهایی را بر روی کاغذ بیاورند؛ اما در مورد برنامه‌نویسی این‌چنین نیست و تا کد ننویسید چیزی اجرا نمی‌شود.تصور کنید قصد داشته باشید برنامه‌ای برای محاسبه امتیاز بازیکنان بنویسد و یا بخواهید در هر صفحه از وب‌سایت شما، فقط ده نتیجه جستجو نمایش داده شود. این کار را نمی‌توان تنها به‌صورت ذهنی انجام داد و برای کسب نتیجه باید دانش ذهنی خود را به‌صورت کد بنویسید تا اجرا شود.۳.هم‌زمان بر روی چند پروژه کار نکنیدبرخی افراد هنگامی‌که نمی‌توانند بخشی از کار را انجام دهند، کار کردن بر روی بخش دیگری را آغاز می‌کنند و یا وقت خود را صرف تکمیل پروژه‌ای می‌کنند که قبلاً در حال انجام آن بوده‌اند. این افراد غالباً درک درستی از کار خود ندارند و در اغلب موارد به نتیجه مطلوب دست پیدا نمی‌کنند.زمانی که بخش‌های مختلف را تکمیل می‌کنید، تعامل کدها را به‌خوبی مشاهده خواهید کرد و می‌توانید باگ‌ها را سریع‌تر تشخیص دهید. پیشنهاد می‌کنیم بر روی هر بخش به‌صورت جداگانه تمرکز کنید و آن را تکمیل کنید و پس‌ازآن به سراغ بخش بعدی بروید.(در طول دوره های آموزشی کدفرند به راحتی با نحوه خطایابی و دیباگ برنامه های نوشته شده را یادمیگیرید).۴.تنها به جستجو در گوگل متکی نباشیدجستجوی کدها در گوگل می‌تواند روش خوبی برای یادگیری کدها باشد، اما افرادی که فعالیت خود درزمینهٔ کد نویسی آغاز کرده‌اند، نباید تنها به جستجو در گوگل متکی باشند. البته گاهی اوقات برخی از کد نویسان در حین شروع کدنویسی  اصلاً کدها را در گوگل جستجو نمی‌کنند و تلاش می‌کنند و تنها با اتکا به حافظه، یادداشت‌های خود و فرضیه‌های منطقی کار خود را پیش می‌برند؛ اما این هم درست نیست و چنین رویکردی در اغلب موارد منجر به یادگیری نمی‌شود. سعی کنید تعادل را حفظ کنید.علاوه بر جستجوی کدها در گوگل، روش‌های دیگری نیز وجود دارد که می‌توانند به پیشرفت شما کمک کنند. از میان آن‌ها می‌توان به استفاده از کتابخانه‌ها، فریمورک‌ها، زبان‌های برنامه‌نویسی مختلف، syntax changing و همچنین توجه به روش‌های منسوخ‌شده در این حوزه، اشاره کرد.برنامه‌نویسی بر پایه اشتراک‌گذاری دانش استوار است. از اطلاعات به اشتراک گذاشته‌شده توسط سایرین استفاده کنید و سعی کنید دانش خود را در اختیار افراد علاقه‌مند قرار دهید.سخن آخرگاهی اوقات ممکن است اشتباه در کد، دلیل ایجاد مشکل نباشد و خطا مربوط به‌اشتباه توسعه‌دهنده باشد؛ بنابراین باید به این موضوع توجه کنید که همیشه کدها دلیل دست نیافتن به نتیجه مطلوب نیستند و ممکن است اشتباه خود شما موجب بروز اشکال شود. تسلط شما بر شروع کدنویسی نه‌تنها روند یادگیری شمارا سرعت می‌دهد، بلکه موجب می‌شود باگ‌های مختلف را نیز سریع‌تر بیابید و برطرف کنید. https://codefriend.ir/2020/04/27/نکاتی-مهمی-که-باید-قبل-از-شروع-کدنویسی/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Mon, 27 Apr 2020 05:15:09 +0430</pubDate>
            </item>
                    <item>
                <title>طراح وب یا توسعه دهنده وب؟ کدام شغل را انتخاب کنیم</title>
                <link>https://virgool.io/coderlife/%D8%B7%D8%B1%D8%A7%D8%AD-%D9%88%D8%A8-%DB%8C%D8%A7-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D8%AF%D9%87%D9%86%D8%AF%D9%87-%D9%88%D8%A8-%DA%A9%D8%AF%D8%A7%D9%85-%D8%B4%D8%BA%D9%84-%D8%B1%D8%A7-%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-%DA%A9%D9%86%DB%8C%D9%85-rfmwgjyvvram</link>
                <description>طراح وب و توسعه دهنده وب دو حرفه مورد نیاز برای کسب‌وکارهای اینترنتی هستند و این روز ها افراد زیادی تمایل ورود به این عرصه‌ها را دارند. اما اکثراً تفاوت بین این دو و ویژگی‌های اصلی‌شان را نمی‌دانند.طراحان بیشتر کد نویسی یاد می‌گیرند، و توسعه دهنده وب نیز توجه خاصی به اصول طراحی دارند.تفاوت نقش Web Designer با Web Developerعموماً مردم تصور دقیق از تفاوت مفهومی بین طراحی وب سایت و توسعه وب ندارند. این دو حوزه تضادها و شباهت‌های مختلفی با هم دارند. از اصلی‌ترین تفاورت های آنها می‌توان گفت اولی در مورد جنبه زیبایی‌شناسی سایت است و شغل آن را «طراح» می‌نامیم، اما دومی درباره طراحی پنهان در بخش کد نویسی است که آن را «توسعه» می‌خوانیم. به‌طور خلاصه، رابط کاربری زیبا حاصل کار طراحان وب است، و توسعه دهنده وب مسئول تبدیل آن تصویر زیبا به صفحه‌ای است که آن را به بازدیدکننده نمایش می‌دهد.(در دوره های آموزشی کدفرند می توانید به سادگی تمامی مهارت های مورد نیاز برای طراح وب و همچنین توسعه دهند وب را یادبگیرید)طراح وب چه کسی است؟طراحان وب معمولاً مسئول طراحی نمایش بصری وب‌سایت‌ها هستند. طراحان حرفه‌ای و برتر در استفاده از مفاهیم مختلف از جمله هماهنگی رنگ‌ها، حروف‌چینی، تناسب فضاهای خالی و تجربه کاربری عملکردی فوق‌العاده دارند.طراحان وب به کمک نرم‌افزار طراحی گرافیک و ابزارهای نمونه‌سازی، نسخه اولیه یک وب‌سایت را می سازند. سپس طراحی کامل شده سایت را برای کد نویسی به توسعه دهندگان وب ارائه می‌کنند.ابزار طراحی برای طراحان وب:AdobePhotoshopIllustratorSketchابزار های پروتوتایپ:UXPinMockplusشرح شغل:مسئول تعیین سبک عملکرد کل یک سایت و ارائه یک درک تصویری کلی از کاربرانمسئول طراحی نمونه‌ اولیه و پروتوتایپاجرای طراحی گرافیکی کاتالوگ محصولاتاجرای فعالیت‌های مختلف طراحی تبلیغاتکمک به توسعه دهندگان وب در طراحی صفحات و کارهای دیگر.به‌طور کلی، طراحان باید دانش زیبایی‌شناسی خود را همراه با چندین ابزار مختلف بکار برند تا یک صفحه زیبا طراحی کنند. اگر از ورد پرس استفاده می‌کنید، استفاده از یک ابزار ساخت صفحات ورد پرس می‌تواند سرعت روند طراحی را بشدت افزایش دهد. یک طراح خوب می‌تواند سبک و سیاق کلی محصولات یک شرکت را بفهمد و اولین تأثیر را روی مشتریان بگذارد.توسعه دهنده وب چه کسی است؟توسعه دهندگان وب عموماً گروهی از مردم شناخته می‌شوند که از سمت چپ مغز خود برای توسعه کد نویسی محصولات استفاده می‌کنند. این افراد در حالت عادی، طراحی صفحه را از طراح وب دریافت کرده و سپس از فناوری توسعه Front-end برای نوشتن صفحات به‌صورت کد استفاده می‌کنند. در واقع برایشان اهمیتی ندارد که صفحه ظاهر خوبی داشته باشد یا نه، اما یک کد نویسی تمیز و بی‌نقص برایشان بسیار مهم است. توسعه دهندگان حرفه‌ای همیشه توجه بیشتری به جزئیات داشته و روی تک‌تک آن‌ها تمرکز دارند.مهارت ها و ابزار ها توسعه دهنده:ابزارهای مدیریت source code مثل: SVN، CVS، GIT و …ویرایشگرهای کد مثل: WebStorm، Sublime، VS Code و … همه این‌ برنامه ها، عالی هستند و می‌توانید هر یک را انتخاب کرده و در آن حرفه‌ای شوید.فناوری توسعه Front-end مثل: HTML، جاوا اسکریپت، CSSفریم ورک های فرانت-اند:  jQuery، React، Bootstrapدر سال‌های اخیر، توسعه front-end بسیار رونق یافته است. مهارت‌های مورد نیاز آن همواره بیشتر و پیشرفته‌تر می‌شود و البته سطح درآمد توسعه دهندگان وب هم به تناسب آن بالاتر رفته است. اکنون زمان خوبی برای ورود به صنعت توسعه front-end است.طراح وب نمی‌تواند کاملاً نسبت به کد نویسی بی‌توجه باشددر مورد کد نویسی باید گفت که هم طراحان وب و هم توسعه گران وب به مقداری دانش کد نویسی احتیاج دارند.طراحان وب حرفه‌ای باید در کد نویسی بهتر از طراحان گرافیک باشند و همچنین طراحی‌شان از برنامه نویسان بهتر باشد. هدف نهایی آن‌ها به‌عنوان سازنده صفحات وب زیبا، این است که کاربران را غافلگیر کنند. به‌طور خلاصه، طراح کسی است در مورد نحوه نمایش فرآیند ناوبری یک سایت یا اپلیکیشن وب به کاربر، تصمیم می‌گیرد.علاوه بر این برای ارتقای فناوری کد نویسی پیشرفته، توسعه گران حرفه‌ای باید بتوانند توانایی زیبایی‌شناسی قوی را در خود ایجاد و پرورش دهند. همچنین باید با توسعه عمیق‌تر دانش، مهارت‌های خود را ارتقا دهند تا بتوانند به سطح نمونه‌سازی یک طراح یا دسته افکت‌های تصویری برسند. به‌طور خلاصه، توسعه گر بیشتر به این توجه دارد که مشتری چطور قادر به انجام امور خواهد بود.برای تبدیل اینترنت به فضایی بهتر برای کاربران، طراحان وب نمی‌توانند کد نویسی را کاملاً کنار بگذارند، و توسعه دهندگان وب هم باید سعی کنند کار طراحان را بیشتر درک کرده و همکاری بهتری با هم داشته باشند.https://codefriend.ir/2020/04/22/طراح-وب-یا-توسعه-دهنده-وب؟-کدام-شغل-را-ا/</description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Wed, 22 Apr 2020 19:22:31 +0430</pubDate>
            </item>
                    <item>
                <title>تمرین های مختلف برای تقویت مهارت طراحی و برنامه‌ نویسی</title>
                <link>https://virgool.io/@CodeFriend/%D8%AA%D9%85%D8%B1%DB%8C%D9%86-%D9%87%D8%A7%DB%8C-%D9%85%D8%AE%D8%AA%D9%84%D9%81-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D9%82%D9%88%DB%8C%D8%AA-%D9%85%D9%87%D8%A7%D8%B1%D8%AA-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D9%88-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-payci8kx5mwp</link>
                <description>اگر شما هم به یادگیری مهارت طراحی و برنامه‌ نویسی علاقه‌مند هستید یا آن را به‌عنوان حرفه اصلی‌تان انتخاب کرده‌اید، هر چند وقت یک‌بار یک تمرین های جدید و مرتبط با زمینه فعالیتتان اجرا کنید تا مهارت‌هایتان تقویت شوند. با این کار مطمئن خواهید شد خلاقیت ذهن شما با یک چالش جدید مواجه می‌شوند و دوباره به تکاپو می‌افتند.۱.یک وب سایت کاملا جدید طراحی کنیداین روش درواقع تمرین شماره یک و اصلی مراحل پیشرفت همه طراحان موفق به شمار می‌رود. آن‌ها معمولاً سعی می‌کنند یک وب‌سایت تازه بسازند و وجه تمایز آن‌هم استفاده از طرح‌بندی (Layout) کاملاً جدیدی باشد که تابه‌حال امتحان نکرده‌اند. این طرح‌بندی تازه می‌تواند رابط کاربری مؤثر با اسکرولی افقی، طراحی با سه ستون محتوایی مجزا یا پس‌زمینه Responsive با یک تصویر تمام صفحه باشد.بدین ترتیب وادار خواهید شد بدون هیچ‌گونه نگرانی درباره قابلیت سازگاری همه مرورگرها با این طرح، ماژول‌های CSS تازه‌تر را امتحان کنید.در این چالش فرصت پیدا خواهید کرد بدون نگرانی درباره قابلیت سازگاری مرورگرها با این طرح، ماژول های کدهای تازه از ماژول‌های CSS تازه‌تر استفاده کنید یا روش‌هایی را به کار ببرید که در طراحی‌های قبلی به آن‌ها نیاز نداشتید.(دوره آموزش رایگان طراحی و برنامه نویسی).۲.از یک طرح پیچیده نسخه برداری کنیدالبته منظور ما نسخه‌برداری کامل و دقیق از روی وب‌سایت یک طراح دیگر نیست. ابتدا یک وب‌سایت پیدا کنید که طرح‌بندی یا طراحی زیبا اما پیچیده داشته باشد. سپس سعی کنید آن را بدون مشاهده کدهای سورس، دوباره طراحی کنید. این طراحی باید از جزء به‌کل باشد یعنی ابتدا مهم‌ترین و بزرگ‌ترین عناصر طرح‌بندی آن را بررسی کنید تا متوجه شوید شما چگونه می‌توانید همان بخش‌ها را خودتان طراحی و برنامه‌نویسی کنید. این روش را روی وب‌سایت‌های فعال امتحان نکنید بلکه به آن به‌عنوان تمرینی برای تقویت زبان‌های برنامه‌نویسی HTML/ CSS/ JS بنگرید.هدف این روش نسخه‌برداری تمام و کمال از یک وب‌سایت دیگر نیست بلکه یادگیری اصول و مبانی پنهان در طراحی سایر کارشناسان طراحی وب است.شما می‌توانید یکی از آن وب‌سایت‌های شکیل  را که به نظر می‌رسد طراحش مدت‌ها برای تهیه‌اش زحمت کشیده است برای این منظور انتخاب کنید و توانایی خودتان را در چگونگی بازسازی آن محک بزنید. همچنین می‌توانید قالب کلی طراحی یک وب‌سایت فروشگاه اینترنتی را کپی کنید و ببینید چگونه می‌توانید حجم عظیمی از کدهای HTML و CSS را به‌صورت عملی از نو بنویسید.(دوره آموزش رایگان طراحی و برنامه نویسی).۳.از رنگ های جدید استفاده باشیدطراحان وب معمولاً از رنگ‌های مشخصی در پروژه‌هایشان استفاده می‌کنند و همین روند را در کارهای بعدی هم ادامه می‌دهند. برای مثال اگر اغلب از رنگ‌هایی با تناژ سرد مانند خاکستری استفاده کنید یا آبی و سبز را به‌صورت اشباع‌نشده به کار ببرید، حالا فرصت مناسبی برای تغییر سبک همیشگی است.سراغ رنگ‌های تازه‌ای بروید که می‌دانید برای طراحی وب مناسب هستند؛ البته پیش‌ازاین کار حتماً در نظر داشته باشید که آیا دستتان در طراحی کاملاً باز است یا خیر. اگر سفارش مشتریان بر اساس سبک و رنگ‌های مشخصی با توجه به برند اختصاصی آن‌ها باشد، احتمالاً قادر نخواهید بود سلیقه رنگی خودتان را اعمال کنید.۴.از ابزارهای جدید یک وب‌سایت کاملاً جدید طراحی کنیداگر به طراحی با کمک Foundation عادت کرده‌اید، حالا از Bootstrap یا یک فریم ورک شناخته‌نشده دیگر استفاده کنید. هدف درواقع این است که از یک پیش پردازنده دیگر بهره ببرید؛ یک CMS متفاوت دیگر امتحان کنید و اصلاً «مدیر فایل» یا «ویرایشگر متن» را تغییر دهید. اگر برنامه‌نویس حرفه‌ای هستید و دلتان یک چالش جدی و دشوار می‌خواهد، فریم‌ ورک محبوب JS قبلی‌ را فراموش کنید و خودتان را با یک نسخه دیگر محک بزنید.(دوره آموزش طراحی و بهینه سازی وب سایت با وردپرس در کدفرند)اگر خودتان را به‌شدت درگیر این چالش کنید و بخواهید به عمق همه این ابزارها بروید، بدیهی است که روند اجرای آن‌هم طولانی‌تر خواهد شد؛ اما هیچ الزامی وجود ندارد یادگیری اصول اولیه سازوکار سایر ابزارها آن‌قدر طولانی شود. هدف این چالش اصلاً ایجاد تغییر در همه مرحله‌های روند کاری شما نیست بلکه آماده کردن شما برای رویارویی با ایده‌های تازه است که ممکن است بهتر از روش قدیمی خودتان باشند.۵.یک برنامه آموزشی دنبال کنیدبرنامه‌های آموزشی معمولاً گنجینه‌ای از اطلاعات مفید هستند و حتی اگر سال‌ها درزمینهٔ طراحی وب سابقه داشته باشید، همچنان به آن‌ها نیاز پیدا خواهید کرد. برنامه‌نویسی به معنی کپی پیست کردن کدهای تکراری نیست. به همین خاطر باید یک برنامه آموزشی معتبر، طولانی و مناسب با سطح حرفه‌ای خودتان پیدا کنید. سعی کنید در خلال تماشای این برنامه همه کدهای مثال‌های آموزشی را خودتان هم تمرین کنید. همه مراحل را با دقت در نرم‌افزار فوتوشاپ اجرا کنید. بررسی کنید که چگونه همه‌چیز بعد از اجرای هر مرحله تغییر می‌کند.ممکن است گاهی با مفاهیم ناآشنایی در این روند مواجه شوید یا اصلاً متوجه چگونگی اجرای برخی مرحله‌ها نشوید. در این موقعیت حتماً موضوع را در گوگل جستجو کنید و بعد از رفع مشکل به تماشای ادامه برنامه آموزشی بنشینید. چالش این مرحله به خلاقیت ذهنی‌تان مربوط نمی‌شود بلکه درسی برای تقویت قوه ادراکی و شکیبایی‌ شما است.با استفاده از دوره های آموزشی وب سایت کدفرند می توانید به راحتی با تمامی مهارت طراحی و برنامه‌ نویسی مورد نیاز برای طراحی وب،طراحی گرافیک و برنامه نویسی استفاده کنید.اشتراک ویژه هم یک فرصت عالی در اختیار شما قرار میدهد تا با یک بار پرداخت به تمامی دوره ها دسترسی و امکان دانلود داشته باشید. https://codefriend.ir/2020/04/21/تمرین-های-مختلف-برای-تقویت-مهارت-طراحی/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Tue, 21 Apr 2020 04:25:16 +0430</pubDate>
            </item>
                    <item>
                <title>زبان‌هایی که توسعه دهندگان وب تازه کار باید یادبگیرند</title>
                <link>https://virgool.io/coderlife/%D8%B2%D8%A8%D8%A7%D9%86%D9%87%D8%A7%DB%8C%DB%8C-%DA%A9%D9%87-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D8%AF%D9%87%D9%86%D8%AF%DA%AF%D8%A7%D9%86-%D9%88%D8%A8-%D8%AA%D8%A7%D8%B2%D9%87-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7%DB%8C%D8%AF-%DB%8C%D8%A7%D8%AF%D8%A8%DA%AF%DB%8C%D8%B1%D9%86%D8%AF-b2xeuyrzk3mo</link>
                <description>شروع برنامه‌ نویسی برای توسعه دهندگان وب تازه کار کمی گیج‌کننده است. گزینه‌های مختلفی برای فراگیری زبان برنامه‌نویسی، فریمورک و پروژه‌های متن‌باز وجود دارد.جواب دقیقی برای این سؤال وجود ندارد اما تمام برنامه نویسان پروسه مشخصی را طی کرده‌اند. برای شروع بهتر است از زبان‌های ساده و پایه استفاده کنید تا پس‌ازآن وارد مراحل پیشرفته‌تر با جزئیات بیشتر شوید.زبان‌های برنامه‌نویسی پایه: HTML5 و CSS3اگر تازه شروع به برنامه‌نویسی کرده‌اید،HTML و CSS گزینه‌های مناسبی هستند.HTML زبان نشانه‌گذاری است و CSS زبان سبک یا استایل. HTML مشخص می‌کند که یک صفحه وب چگونه سازمان‌دهی شود و CSS مشخص می‌کند که ظاهر آن بر روی صفحه‌نمایش چگونه باشد.HTML و CSS مکمل یکدیگر هستند و CSS باعث بهتر و تمیزتر شدن کدهای نوشته‌شده می‌شود. این دو زبان، Front-End یا توسعه سمت کاربر هستند.(دوره آنلاین و رایگان اموزش HTML5)بعضی برنامه نویسان کار خود را با زبان‌های برنامه‌نویسی کامل مانند Python یا JavaScript شروع می‌کنند. استفاده از این زبان‌های برنامه‌نویسی اشتباه نیست ولی اگر شما تازه‌کار هستید و هنوز اطمینان کامل از قالب سایت خود ندارید، اولویت اول شما HTML و CSS خواهد بود.این دو زبان تفاوت‌های زیادی دارند درعین‌حال مکمل هم هستند. یک وب‌سایت با زبان برنامه‌نویسی HTML به‌درستی کار خود را انجام می‌دهد ولی ازنظر زیبایی‌شناسی، زیبا نیست. یک فایل CSS هیچ سایتی را در مرورگر به ما نشان نمی‌دهد چون قالب HTML برای رندر سایت وجود ندارد.با استفاده از زبان‌های HTML و CSS ممکن است توانایی برنامه نویسی وب‌سایت‌های بسیار پیشرفته را نداشته باشید ولی با این زبان‌ها یک وب‌سایت با ظاهری خوب نوشته می‌شود.دوره آنلاین و رایگان اموزش Css3 (پیشرفته)آخرین به‌روزرسانی زبان‌های HTML و CSS با عنوان HTML٥ و CSS٣ عرضه‌شده است. در نسخه‌های جدید، قابلیت‌های متعددی برای راحتی و زیبایی بیشتر پروژه‌ها اضافه شده است.برخی از برنامه نویسان تازه‌کار دوست ندارند کار خود را با یادگیری HTML و CSS شروع کنند و فکر می‌کنند که یادگیری این زبان‌های برنامه‌نویسی باعث خجالت آن‌ها است. بسیاری از افرادی که کار خود را با یادگیری این زبان‌ها شروع کرده‌اند بسیار موفق‌تر بوده‌اند و در مسیر حرفه‌ای خود کمتر با مسائل سخت برخورد کرده‌اند.اگر در برنامه‌نویسی با زبان‌های HTML یا CSS به مشکلی برخورد کنید، می‌توانید در گوگل جستجو کنید و یا به انجمن‌های تخصصی مثل Stack Overflow مراجعه کنید. همچنین اگر به دنبال قطعه کدهای از پیش ساخته شده هستید تا به کارتان سرعت ببخشید، سایت codepen مجموعه بسیار خوبی از این کدها را در اختیار شما می‌گذارد.در برنامه‌نویسی با زبان CSS استفاده از SASS و LESS به بهتر شدن وب‌سایت شما کمک می‌کند.LESS از فریم ورک های CSS است و از طریق روش‌هایی مثل متغیرها و حسابگرها قابلیت‌های CSS را بیشتر می‌کند.SASS یک‌زبان پیش پردازنده CSS است، می‌توان SASS را یک روش توسعه‌یافته از کد نویسی CSS با سینتکس به‌حساب آورد.توضیحات پیچیده بالا نگرانتان نکند، شما تازه‌کار هستید و تازه شروع به یادگیری زبان برنامه‌نویسی CSS کرده‌اید، پس از یادگیری CSS به‌راحتی می‌توانید مفاهیم SASS و LESS را درک کنید. استفاده از SASS در محیط CSS مفیدتر و کارآمدتر است، یادگیری آن‌هم از LESS آسان‌تر بوده و سایت‌های بیشتری از این زبان پشتیبانی می‌کنند.(دوره آموزش sass به صورت فشرده (رایگان)).جاوا اسکریپت  JavaScript/ES٦زبان برنامه‌نویسی دیگری که بسیاری از برنامه نویسان توسعه دهندگان وب تازه کار از آن برای طراحی صفحات وب استفاده می‌کنند،JavaScript است. این زبان در دو دهه اخیر، بسیار مورداستفاده برنامه نویسان بوده است و با استفاده از JavaScript برنامه نویسان می‌توانند صفحاتی با افکت‌های پویا بسازند.با استفاده از JavaScript شما می‌توانید منوهای کشویی، پنجره‌های مودال، صفحات چرخشی و مدل‌های متفاوت دیگری برای وب‌سایت خود بسازید. در آخرین به‌روزرسانی CSS٣، با استفاده از محیط توسعه نرم‌افزار آزاد DEV می‌توان قابلیت‌های JavaScript را بازسازی کرد. البته این به معنای جایگزینی CSS٣ به‌جای JavaScript نیست، بدون شک CSS٣ دارای کمبودهای زیادی است.آخرین ورژن JavaScript، ES٢٠١٥ نامیده شده که مخفف ECMAScript ٢٠١٥ است. ECMAScript درواقع همان زبان برنامه‌نویسی جاوا اسکریپت است، ECMAScript از جاوا اسکریپت پیچیده‌تر و سخت است چون قابلیت‌های جدیدی به آن اضافه‌شده و اگر مفاهیم پایه جاوا اسکریپت را درک کنید می‌توانید ES٢٠١٥ را هم بفهمید. نسخه فعلی جاوا اسکریپت تمامی نسخه‌های آینده را هم پشتیبانی خواهد کرد.(دوره آموزش رایگان ES6 (اکما اسکریپت))جاوا اسکریپت به‌عنوان زبان اول بسیاری از برنامه‌نویس‌ها استفاده می‌شود. البته جاوا اسکریپت مخالفانی هم دارد که آن را تنها زبانی برای نوشتن اولیه برنامه‌ها می‌دانند. اگر از زبان برنامه‌نویسی جاوا برای نوشتن وب‌سایت خود استفاده می‌کنید Node.js را فراموش نکنید.(دوره جامع آموزش NodeJs (کامل))جاوا اسکریپت زبان برنامه‌نویسی خوبی است ولی بعضی برنامه‌نویس‌ها هیچ‌وقت به فکر استفاده از آن با چارچوب نرم‌افزاری نود جی اس نمی‌افتند.برای یادگیری مبانی جاوا اسکریپت می‌توانید از تنظیم متغیرها، ایجاد حلقه‌ها، توابع و روابط منطقی شروع کنید. یادگیری مفاهیم اولیه جاوا اسکریپت، نه‌تنها در استفاده از زبان جاوا اسکریپت مفید است بلکه در استفاده از سایر زبان‌های برنامه‌نویسی هم به کار می‌آید.انتخاب بین PHP, Ruby یا Pythonاز زبان‌های محبوب برنامه نویسی backend به شمار می‌آید. در سال‌های گذشته برنامه نویسان از Perl/CGI استفاده می‌کردند که تقریباً در حال منسوخ‌شدن است.ترند های دنیای فناوری هرروز تغییر می‌کنند پس توجه به نیازهای بازار و صنعت برای یادگیری زبان برنامه‌نویسی مناسب، مهم است.(دوره های آموزش صفر تا صد php و آموزش جامع پایتون)زبان برنامه‌نویسی PHP، زبانی نسبتاً قدیمی بوده که مخصوص برنامه نویسان وب‌سایت نوشته‌شده است، نکته جالبی که در تاریخچه این زبان وجود دارد این است که PHP قرار نبوده که به یک‌زبان برنامه‌نویسی تبدیل شود.پس از گذشت سال‌ها، محیط PHP رشد کرده و امروز پروژه‌های مختلفی مانند وردپرس، جوملا و مجنتو بر پایه زبان PHP نوشته شده‌اند. و این یعنی حداقل یکبار به PHP نیاز پیدا کرده‌اند.دو زبان محبوب دیگر، Ruby و Python هستند، یادگیری این زبان‌ها هم نسبتاً آسان است و از آن‌ها می‌توان برای پروژه‌های غیر وب نیز استفاده نمود.نمی‌توان گفت میان زبان‌های نام‌برده، کدام‌یک را باید اول آموخت، هر سه زبان برای یک برنامه‌نویس وب حرفه‌ای، ضروری هستند.اگر می‌خواهید یک توسعه دهنده Front-End باشید، نیازی نیست این زبان‌ها را یاد بگیرید ولی اگر می‌خواهید یک آشنایی مقدماتی با back-end پیدا کنید باید زبان PHP را بیاموزید.همه زبان‌های نام‌برده، کاملاً رایگان و open source هستند. برای هر فریم ورک های متعددی ارائه‌شده‌اند که با استفاده از آن‌ها می‌توانید به‌سرعت پروژه خود را بنویسید.PHP زبان اصلی فریمورک Laravel ، Ruby زبان اصلی فریمورک Rails و Python هم زبان اصلی فریمورک Django است.(دوره های آموزش لاراول و جنگو در وب سایت کدفرند)بهترین راه برای پیدا کردن زبان مناسب خودتان تمرین کردن و امتحان کردن است. برای بهتر شدن و تبدیل‌شدن به یک برنامه‌نویس خوب، باید دست‌به‌کار شوید و با زبان‌های مختلف کد نویسی کنید. تا وارد کاری نشوید و دست‌های خود را به کار آلوده نکنید نمی‌توانید مشکلات را لمس کنید و آن‌ها را حل کنید.یادگیری دیتابیس sql و ساختار آنSQL زبانی سطح بالا مبتنی بر زبان‌های برنامه‌نویسی سطح پایین و جبر و ریاضیات است. پایگاه‌های مدیریت داده‌های متن‌باز، نظیر MySQL و PostgreSQL به SQL قدرت می‌دهند.بیشتر موتورهای DB با کدهای SQL سازگار هستند، پس اگر زبان SQL را یاد بگیرید باید در پایگاه داده‌ها از آن استفاده کنید. بهترین و محبوب‌ترین پایگاه مدیریت داده‌ها برای تازه‌کارها MySQL است. این زبان معمولاً با استفاده از موتورهای جستجو از پروژه‌های CMS مثل ورد پرس پشتیبانی می‌کند.اگر می‌خواهید به یک برنامه‌نویس بسیار حرفه‌ای تبدیل شوید و برنامه‌نویسی را به‌عنوان شغل اصلی خود انتخاب کنید، یادگیری SQL شمارا چندین گام جلوتر می‌برد، اما اگر می‌خواهید از پس برنامه‌نویسی یک صفحه وب بربیایید، یادگیری اصول اولیه این زبان کافی است.(دوره آموزش دیتابیس و MySql (کامل). https://codefriend.ir/2020/04/20/زبان%e2%80%8cهایی-که-توسعه-دهندگان-وب-تازه-کا/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Mon, 20 Apr 2020 02:52:15 +0430</pubDate>
            </item>
                    <item>
                <title>سوالات مصاحبه جاوا اسکریپت</title>
                <link>https://virgool.io/coderlife/%D8%B3%D9%88%D8%A7%D9%84%D8%A7%D8%AA-%D9%85%D8%B5%D8%A7%D8%AD%D8%A8%D9%87-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-cffs89jahsy9</link>
                <description>JavaScript یکی از قدرتمندترین و پر استفاده ترین زبان های برنامه نویسی در حال حاضر میباشد. این زبان CROSS-PLATFORM بطور گسترده در وبسایت ها، اپلیکیشن های موبایل و حتی دسکتاپ استفاده میشود. JavaScript همیشه در بین استارت آپ ها و شرکت های نرم افزاری بسیار محبوب بوده است. بنابراین در این پست از کدفرند به بررسی برخی از سوالات مصاحبه جاوا اسکریپت خواهیم پرداخت.سوالات مصاحبه جاوا اسکریپت۱ – JavaScript چیست؟جاوا اسکریپت یک زبان برنامه نویسی سبک و کامپایل شده میباشد. این زبان برای ساخت اپلیکیشن های NETWORK-CENTRIC طراحی شده است. زبان برنامه نویسی JavaScript مکمل HTML بوده و با آن یکپارچه میباشد. این زبان اوپن سورس و کراس-پلتفرم میباشد. (دوره آنلاین و رایگان اموزش جاوا اسکریپت)۲ − مزایای زبان جاوا اسکریپت را توضیح دهید؟جاوا اسکریپت مزایای بیشماری دارد اما بطور مختصر میتوانیم به موارد زیر اشاره کنیم:تعامل کمتر با سرور: میتوانید ورودی کاربر را قبل از ارسال آنها به سرور اعتبار سنجی کنید.افزایش تعامل میان کاربر و وبسایت: میتوانید اینترفیس را طراحی کنید که نسبت به فعالیت های کاربران در صفحه، واکنش دهد و لذت استفاده و تجربه کاربری را افزایش دهد.قابل استفاده برای توسعه هر نوع اپلیکیشن: با زبان JavaScript میتوانید برای وب، موبایل، دسکتاپ و سرور برنامه نویسی کنید و اینکار را به شکل بهینه و قدرتمندی انجام دهید.پاسخ مستقیم به کاربران: میتوانید بخش هایی از وبسایت را با جاوا اسکریپت توسعه دهید که بدون نیاز به رفرش شدن صفحه، نتیجه عملیات برای کاربر قابل مشاهده باشد.۳ − JSON چیست و چه کاربردی دارد؟JSON مخفف کلمات JavaScript Object Notation (نشانه‌گذاری شیء جاوااسکریپت)، یک سینتکس استاندارد برای storing (ذخیره‌سازی) و exchanging‌ (تبادل) Data (اطلاعات) است. JSON یک متن با ساختار اشیاء یا همان Objects در زبان برنامه‌نویسی جاوااسکریپت است. اساسا یک فایل متنی با اکستنشن .JSON است و برای انتقال اطلاعات در شبکه بکار میرود.۴ – کاربرد متد Array Slice را توضیح دهید؟متد SLICE جاوا اسکریپت، عناصر منتخب در یک آرایه را به صورت یک Array Object جدید برمیگرداند. این متد عناصری را که از ایندکس وارد شده در پارامتر اول شروع میشوند را انتخاب میکند. ایندکس پایانی هم یک آرگومان آپشنال برای متد SLICE میباشد که آخرین عنصر انتخابی از آرایه را مشخص میکند.در صورتی که پارامتر آخر را برای این متد وارد نکنید، تا آخرین عنصر آرایه را انتخاب میکند.۵ – کاربرد متد Array Splice را توضیح دهید؟متد SPLICE جاوا اسکریپت، برای افزودن عناصر به آرایه و همچنین پاک کردن عناصر از آرایه بکار میرود. سپس آیتم حذف شده را return میکند. اولین آرگومان این متد، پوزیشن آرایه برای شروع به حذف یا افزودن را مشخص میکند. آرگومان دوم هم تعداد آیتم هایی که از پوزیشن شروع میخواهیم حذف شوند را مشخص میکند.این مقاله بخش اول از سری مقالات جدید کدفرند برای سوالات مصاحبه جاوا اسکریپت میباشد. سوالات جدید و بیشتر در طول مقالات بعدی این سری بررسی خواهند شد. با ما همراه باشید. https://codefriend.ir/2020/04/14/سوالات-مصاحبه-جاوا-اسکریپت/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Tue, 14 Apr 2020 15:38:50 +0430</pubDate>
            </item>
                    <item>
                <title>لوگو ساز آنلاین DesignEvo − لوگوهای سفارشی و رایگان</title>
                <link>https://virgool.io/@CodeFriend/%D9%84%D9%88%DA%AF%D9%88-%D8%B3%D8%A7%D8%B2-%D8%A2%D9%86%D9%84%D8%A7%DB%8C%D9%86-designevo-%D9%84%D9%88%DA%AF%D9%88%D9%87%D8%A7%DB%8C-%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%DB%8C-%D9%88-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86-wlrtxz6ovhb8</link>
                <description>سفارش به یک طراح گرافیک برای ساخت لوگو شما میتواند هزینه های بالایی داشته باشد. بنابراین در این پست کدفرند به آشنایی با یک ابزار آنلاین و رایگان طراحی لوگو سفارشی خواهیم پرداخت. لوگو ساز آنلاین DesignEvo ابزاری است که باید آن را bookmark کنید.این وب اپلیکیشن رایگان به همه اجازه طراحی لوگو خودشان را از مروگر شان میدهد. تمام ابزارهای مورد نیاز برای ساخت یک لوگو از جمله شکل های سفارشی، تایپو گرافی، رنگ ها، و حتی آیکون استایل ها در این اپلیکیشن موجود هستند.شاید در اولین نگاه عناصر این اپلیکیشن برای طراحی کردن تا مقداری سخت و پیچیده بنظر برسند. با این حال بسیار ساده تر و تمیز تر نرم افزار فتوشاپ یا هر محصول دیگر از Adobe است. پس هر کسی میتواند کار با DesignEvo با کمی تلاش یاد بگیرد. (دوره آموزش فتوشاپ Photoshop CC 2019 برای بازار کار)وقتی روی دکمه “make logo” کلیک کنید، به صفحه ویرایش ارسال خواهید شد. از اینجا میتوانید ویژگی های بسیاری را اضافه کنید. از جمله ::شکل های سفارشیآیکون های سفارشی (بیش از یک میلیون آیکون موجود)فونت های مختلف شامل Google Webfontsدر تب “icons” از بخش بالا-سمت چپ، میتوانید هر چیزی که میخواهید را جستجو کنید. در DesignEvo میتوانید میلیون ها آیکون رایگان جهت استفاده در لوگو خود پیدا کنید.بطور پیشفرض با یک صفحه  500×۵۰۰ پیکسلی شروع میکنید اما میتوانید سایز آن را طوری که میخواهید تغییر دهید. همچنین میتوانید رنگ بک گراند و  rotation را تغییر دهید و حتی میزان زوم را هنگام طراحی تنظیم کنید.یکی دیگر از ویژگی های جذاب این ابزار، dot grid میباشد تا موقعیت آیکون ها یا سایر المان ها را بخوبی تنظیم کنید. میتوانید آیتم ها را بر اساس ترتیب لایه ها، سایز و موقعیت آنها نسبت به یکدیگر تنظیم کنید.اینترفیس اپلیکیشن بسیار گسترده و قدرتمند است و میتوانید لوگو های محشری را به تنهایی با این لوگو ساز آنلاین طراحی کنید. شاید برای شروع تقریبا یک ساعت جهت یاد گرفتن کار با آن صرف کنید، اما پس از آن دیگر طراحی لوگو سفارشی خودتان هیچ مشکلی برایتان نخواهد داشت.برای شروع به کار کافی است از “Logo Createor” بازدید کنید و به پائین اسکرول کنید. از چیزی که با این ابزار و مقداری تایم آزاد میتوانید انجام دهید، حیرت زده خواهید شد. https://codefriend.ir/2020/04/12/لوگو-ساز-آنلاین-designevo/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Sun, 12 Apr 2020 16:49:36 +0430</pubDate>
            </item>
                    <item>
                <title>چطور ویدئوها و استوری های اینستاگرام را با کامپیوتر دانلود کنیم؟</title>
                <link>https://virgool.io/@CodeFriend/%DA%86%D8%B7%D9%88%D8%B1-%D9%88%DB%8C%D8%AF%D8%A6%D9%88%D9%87%D8%A7-%D9%88-%D8%A7%D8%B3%D8%AA%D9%88%D8%B1%DB%8C-%D9%87%D8%A7%DB%8C-%D8%A7%DB%8C%D9%86%D8%B3%D8%AA%D8%A7%DA%AF%D8%B1%D8%A7%D9%85-%D8%B1%D8%A7-%D8%A8%D8%A7-%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D9%86%DB%8C%D9%85-koriqnbadr2q</link>
                <description>اینستاگرام ماهانه بیش‌ از یک‌میلیارد نفر کاربر دارد و تعداد افرادی که از ویدئو استفاده می‌کنند، هرسال ۸۰ درصد افزایش می‌یابد. با اینکه در اینستاگرام به‌راحتی می‌توان از صفحه عکس گرفت یا تصاویر را دانلود کرد، ذخیره‌کردن ویدئوها از آن نشدنی نیست؛ اما معمولا اندکی دشوارتر است.در این پست کدفرند با روش های دانلود ویدئوها و استوری های اینستاگرام با کامپیوتر آشنا خواهیم شد.ابزار InstantSave از وب‌سایت GramblastInstantSave ابزاری برای دانلود تصاویر و ویدئوهای و استوری های اینستاگرام ازطریق مرورگر وب است. همان‌گونه که شما نیز انتظار دارید، روند دانلود ویدئو با ابزار یادشده بسیار ساده است. لینک مطلبی که در اینستاگرام به‌صورت عمومی منتشر شده، کپی و در ابزار InstantSave جای‌گذاری کنید. سپس، روی گزینه‌ی Download Gram کلیک کنید. درادامه خواهید دید فایل ویدئو با فرمت MP4 به‌سرعت دانلود می‌شود. همچون سایر سرویس‌هایی که در این مطلب ذکر می‌شود، با ابزار InstantSave امکان دانلود محتوای رسانه‌ای از لینک‌های خصوصی (private) را نخواهید داشت؛ حتی اگر دنبال‌کننده‌ی حساب کاربری مربوط‌ به آن لینک باشید.ابزار IFTTTابزار IFTTT تمامی مراحل ذخیره و بایگانی‌ کردن ویدئوها را خودکار انجام می‌دهد. بااین‌حال، درابتدا لازم است هم در وب‌سایت IFTTT و هم در سرویس دراپ‌باکس حساب کاربری ایجاد کنید. پس از ثبت‌نام در هر دو سرویس، گزینه‌ی Save your Instagram videos to a Dropbox folder را در وب‌سایت IFTTT انتخاب کنید. پس از این مرحله، وب‌سایت مذکور برای دسترسی به حساب کاربری اینستاگرام و دراپ‌باکس شما درخواست مجوز خواهد کرد که باید قبول کنید.با استفاده از ابزار IFTTT، می‌توانید هریک از ویدئوهایی را انتخاب کنید که قرار است روی حساب دراپ‌باکس مرتبط ذخیره شوند. در پلتفرم مذکور، کاربران می‌توانند برای ذخیره‌ی ویدئوهای دلخواه یا ویدئوهای آپلودکرده در اینستاگرام، نشانه‌های خاصی ایجاد کنند. نسخه‌ی پشتیبان ویدئوها در دراپ‌باکس با فرمت MP4 ذخیره می‌شوند.وب سایت SavefromwebSavefromweb نه‌تنها امکان دانلود ویدئوهای اینستاگرام را برایتان فراهم می‌کند؛ بلکه امکان می‌دهد تصاویر، آلبوم‌ها، تصاویر پروفایل و استوری های اینستاگرام را نیز ذخیره کنید. تنها چیزی که برای کار با Savefromweb نیاز دارید، لینک محتوای رسانه‌ای است. کافی است URL ویدئو را کپی و در قسمت مربوطه جای‌گذاری کنید و گزینه‌ی دانلود را فشار دهید. در این مرحله، به صفحه‌ای هدایت خواهید شد که دو گزینه‌ی دانلود و بازگشت به خانه (return to home) در آن به‌چشم می‌خورد. با کلیکی دوباره روی گزینه‌ی دانلود، فایل اینستاگرام خودکار در پوشه‌ی دانلودها داخل کامپیوتر ذخیره خواهد شد.InstaSave (اپلیکیشن اندروید و iOS)InstaSave، گزینه‌ی بسیار کاربردی برای کاربران اندروید است. برای استفاده از اپلیکیشن مذکور، هنگام مرور پست‌های اینستاگرامی، روی علامت سه‌نقطه در گوشه‌ی بالا و سمت راست ویدئوها‌یی کلیک کنید که قصد دارید دانلودشان کنید. در مرحله‌ی بعد، از منو بازشده گزینه‌ی Copy Share URL را بزنید و پس از ورود به اپلیکیشن InstaSave می‌بینید ویدئو در بخش مربوط‌ به اطلاعاتتان فهرست شده است.روی گزینه‌ای به‌شکل فلش روبه‌پایین درج‌شده زیر آخرین ویدئو کلیک کنید و کلید Save را بزنید. تمامی ویدئوها و تصاویر ذخیره شده‌ در بخش اطلاعات نرم‌افزار InstaSave نمایش داده می‌شوند. همچنین، می‌توانید به‌سادگی ویدئوهای قدیمی را مستقیما از اپلیکیشن یادشده پاک کنید.Quickly Repost for Instagram (اپلیکیشن iOS)این اپلیکیشن که پیش‌تر Insta Save نام داشت، مدت‌هاست دردسترس کاربران قرار دارد. همان‌گونه که از نام جدید اپلیکیشن برمی‌آید، این نرم‌افزار امکان دانلود بلافاصله‌ی عکس‌ها و فیلم‌ها و انتشار دوباره‌ی آن‌ها در اینستاگرام را فراهم می‌کند. با واردکردن نام کاربری در اپلیکیشن یادشده، می‌توانید محتوای مدنظرتان را جست‌و‌جو کنید. https://codefriend.ir/2020/04/08/چطور-ویدئوها-و-استوری-های-اینستاگرام-ر/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Wed, 08 Apr 2020 06:32:23 +0430</pubDate>
            </item>
                    <item>
                <title>وب سایت و اپ های یادگیری از راه دور که به شما کمک می‌کنند مهارت‌های جدیدی در خانه یاد بگیرید</title>
                <link>https://virgool.io/@CodeFriend/%D9%88%D8%A8-%D8%B3%D8%A7%DB%8C%D8%AA-%D9%88-%D8%A7%D9%BE-%D9%87%D8%A7%DB%8C-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D8%A7%D8%B2-%D8%B1%D8%A7%D9%87-%D8%AF%D9%88%D8%B1-%DA%A9%D9%87-%D8%A8%D9%87-%D8%B4%D9%85%D8%A7-%DA%A9%D9%85%DA%A9-%D9%85%DB%8C%DA%A9%D9%86%D9%86%D8%AF-%D9%85%D9%87%D8%A7%D8%B1%D8%AA%D9%87%D8%A7%DB%8C-%D8%AC%D8%AF%DB%8C%D8%AF%DB%8C-%D8%AF%D8%B1-%D8%AE%D8%A7%D9%86%D9%87-%DB%8C%D8%A7%D8%AF-%D8%A8%DA%AF%DB%8C%D8%B1%DB%8C%D8%AF-alwnpwn9hbxu</link>
                <description>این روزها اکثر مردم در خانه مشغول تحصیل یا کار و یا یادگیری از راه دور هستند.کرونا باعث تغییر قواعد زندگی شده است. دانشگاه‌ها، مدارس و کلاس‌های درس تعطیل شدند و آموزش مجازی و یادگیری الکترونیکی رونق گرفته است. دنیای بیرون از خانه خشن و بی‌رحم است و درون خانه ناچار هستیم ذهن‌مان را با چیزهایی غیر از فیلم و بازی به چالش بکشانیم.شاید بهتر باشد این‌طوری که ماجرا نگاه کنیم که بهترین فرصت برای یادگیری یک مهارت جدید است. مهارتی که شاید سال‌ها است در انتظار فرصتی برای یادگیری آن هستید و اکنون کرونا این فرصت را به شما داده است.یادگیری همه‌چیز: UdemyUdemy یک اپلیکیشن یادگیری همه منظوره است که انواع مختلف مهارت‌های مختلف را در بیش از ۱۳۰ هزار دوره و بیش از ۲ هزار موضوع در دسترس شما قرار می‌دهد.شما با اپلیکیشن Udemy می‌توانید توسعه وب، امور مالی، مدیریت کسب‌وکار، ترفندهای افزایش بهره‌وری در محل کار، ترفندهای کار با نرم‌افزار ورد، طراحی، بازاریابی، زبان، موزیک، عکاسی و فیلم را یاد بگیرید.حتی در این برنامه کلاس‌های بدن‌سازی و تناسب اندام یا برای بهبود درس دادن برای معلمان نیز وجود دارد. روی Udemy هر دو نوع محتوای رایگان و پولی ارائه می‌شود و شما می‌توانید هر چیزی که نیاز دارید را روی آن پیدا کنید (لینک دانلود اندروید و iOS).آموزش‌های ویدیویی چهره‌های آشنا: Masterclassدر این اپلیکیشن می‌توانید ویدیوهای آموزشی و سرگرمی از چهره‌های آشنا برای همه ببینید. این ویدیوها با سبک بسیار زیبایی ساخته شده‌اند و با شعار «learn from the best» پای درس بیش از ۷۰ متخصص مشهور در حوزه‌های مربوطه می‌نشینید.از آشپزی تا تولید موسیقی، نحوه فکر کردن علمی تا ذهن آگاهی، آموزش بازیگری توسط ناتالی پورتمن تا موضوع‌های سرگرم‌کننده دیگری که شما علاقه دارید. برای دسترسی به همه دوره‌های ویدیویی باید مشترک سرویس‌های Masterclass شوید و حتی برخی موارد را خریداری کنید (لینک دانلود اندروید و iOS).سخنرانی عمومی: TED Masterclassشاید دو اپلیکیشن Masterclass و TED Masterclass نامی مشابه هم داشته باشند ولی در دو حوزه کاری متفاوت هستند. اپلیکیشن TED روی آموزش سخنرانی‌های عمومی تمرکز دارد و به شما یاد می‌دهد چگونه برای یک سخنرانی یادداشت‌برداری کنید یا از ابزارها و فناوری‌های غالبا پیشرفته و پیشگام معرفی شده در دوره‌های TED برای بهبود سخنوری و حضور در برنامه‌های زنده و گفت‌وگوهای شخصی استفاده کنید.با این اپلیکیشن ترفندهای زیادی برای صحبت کردن، بهبود صدا، بیان کلمات و جملات به صورت تاثیرگذار، زبان بدن و اصول بلاغت یاد می‌گیرید. درس نخست رایگان است ولی برای درس‌های بعدی باید خرید درون برنامه‌ای داشته باشید (لینک دانلود اندروید و iOS).کدنویسی: Encode و SoloLearnاگر مدت‌ها است تصمیم دارید کدنویسی و توسعه اپلیکیشن‌های موبایل و وب را یاد بگیرید ولی فرصتی نداشتید؛ این روزها که در خانه هستید با اپلیکیشن‌های Encode و SoloLearn به هدف خود برسید.SoloLearn دوره‌هایی برای آموزش زبان‌های برنامه‌نویسی بسیار جدید و امروزی مانند Kotlin دارد ولی نرم‌افزار Encode روی زبان‌های برنامه‌نویسی پایه و قدیمی مانند جاوا اسکریپت و پایتون در سطوح مختلف تمرکز دارد.نرم‌افزار SoloLearn نسخه تحت وب هم دارد تا مجبور نباشید درس‌ها را روی یک نمایشگر کوچک تمرین کنید.(دوره آموزش برنامه نویسی کاتلین در کدفرند)(لینک دانلود اندروید و iOS اپلیکیشن SoloLearn)(لینک دانلود اندروید اپلیکیشن Encode)تولید محتوا: Skillshareبسیاری از تولیدکنندگان ویدیوهای یوتیوب از این نرم‌افزار استفاده می‌کنند و آن را پیشنهاد می‌دهند. علت آن هم درس‌های آموزشی و دوره‌های بسیار کاربردی و پرمحتوایی است که از راه دور برای کاربران برگزار می‌کند.دوره‌هایی مانند عکاسی و فیلم‌برداری، انیمیشن، طراحی، تصویرسازی، شیوه زندگی، نوشتن، توسعه وب و تجارت. آموزش‌های ویدیویی اپلیکیشن Skillshare بسیار زیبا و جذاب هستند؛ هنگام تماشای آن‌ها چیزهای جدید سرگرم‌کننده‌ای یاد می‌گیرید.(دوره آموزش تولید محتوا سئو شده در وب سایت کدفرند)این پلتفرم یادگیری از راه دور براساس اشتراک‌گیری کار می‌کند اما می‌توانید یک دوره آزمایشی ۲ ماهه رایگان با ثبت‌نام در وب‌سایت آن به دست بیاورید (لینک دانلود اندروید و iOS).آموزش زبان‌ها به شیوه محاوره‌ای: Duolingoاپلیکیشن Duolingo یک نرم‌افزار آموزش زبان سنتی و کلاسیک نیست ولی به روشی جالب زبان شما را تقویت می‌کند. در این اپلیکیشن با جملات محاوره‌ای و زبان طبیعی مردم آشنا می‌شوید و به سویی کشیده می‌شوید که بدون نیاز به حفظ کردن جدول‌ها و قواعد دستوری صحبت کنید.در این روش به سرعت تفاوت‌های میان افعال یا اسم‌های نامنظم را درک کرده و به زبان طبیعی مردم نزدیک‌تر می‌شوید. روال‌هایی دارد تا شما هر روز مجبور به استفاده از این اپلیکیشن باشید و ارز درون بازی جمع‌آوری کنید.به کلیه مطالب ارائه شده در این اپلیکیشن به طور رایگان دسترسی دارید (لینک دانلود اندروید و iOS).یادگیری با کدفرندکدفرند یک وب سایت یادگیری از راه دور همه منظوره است که انواع مختلف مهارت‌های مختلف را در بیش از ۴۱ دوره و بیش از ۱۰۰ هزار دقیقه در دسترس شما قرار می‌دهد.شما با وب سایت کدفرند می‌توانید توسعه وب، برنامه نویسی موبایل، مدیریت کسب‌وکار، تولید محتوا، ترفندهای کار با نرم‌افزار های مختلف، طراحی گرافیک، بازاریابی را یاد بگیرید.در اکثر وب سایت های آموزشی شما باید به هر دوره یک مبلغ مجزا پرداخت کنید به این صورت شما برای اینکه بتوانید به چند دوره دسترسی داشته باشید باید بیش از چند صد هزار تومان پول پرداخت کنید.اما این موضوع در وب سایت کدفرند کاملا متفاوت است و شما می توانید تنها با پرداخت یک مبلغ مشخص و کم به تمامی دوره های آموزشی دسترسی داشته و تمامی دوره های خود را دانلود نمایید.یعنی اینکه شما دیگر نیازی به پراخت وجه جداگانه برای هر دوره ندارید،تنها کافی است که یکی از پلن های اشتراک ویژه کدفرند را تهیه کرده و به همه دوره ها دسترسی داشته باشید. https://codefriend.ir/2020/03/25/وب-سایت-و-اپ-های-یادگیری-از-راه-دور-که-به/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Wed, 25 Mar 2020 09:32:25 +0430</pubDate>
            </item>
                    <item>
                <title>بدترین اشتباهات در یافتن کلمه کلیدی برای محتوا</title>
                <link>https://virgool.io/@CodeFriend/%D8%A8%D8%AF%D8%AA%D8%B1%DB%8C%D9%86-%D8%A7%D8%B4%D8%AA%D8%A8%D8%A7%D9%87%D8%A7%D8%AA-%D8%AF%D8%B1-%DB%8C%D8%A7%D9%81%D8%AA%D9%86-%DA%A9%D9%84%D9%85%D9%87-%DA%A9%D9%84%DB%8C%D8%AF%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D8%AD%D8%AA%D9%88%D8%A7-hczdpnzltuqo</link>
                <description>طبق بررسی های متخصصین سئو، یافتن کلمه کلیدی برای محتوا جز دشوار ترین کارهای سئو پس از تولید محتوا و لینک سازی تلقی شده است. دلیل این امر نیز احتمالا اینست که کاربران، فرایند یافتن کلمات کلیدی را خود انجام می دهند.اگر به تنهایی اقدام به یافتن کلمات کلیدی وب سایت خود کنید، می تواند به یک پروژه بسیار بزرگ برای شما تبدیل شود. در این صورت این کار به یک دغدغه بزرگ تبدیل شده و علاوه بر احتمال رخ دادن اشتباهات فراوان، زمان بسیار زیادی نیز از شما گرفته خواهد شد.در این مقاله به بدترین اشتباهات در یافتن کلمه کلیدی برای محتوا خواهیم پرداخت.۱.اهمیت ندادن به کلمات کلیدی دم بلندتمرکز زیاد بر روی تعداد جستجو ها غالبا منجر به اهمیت ندادن به کلمات کلیدی بلندتر می شود.با اینکه کلمات کلیدی بلندتر کمتر جستجو می شوند، اما درصد بیشتری از جستجو کنندگان این نوع کلمات کلیدی، به مرحله خرید یا تبدیل شدن به مشتری نزدیک هستند. کلمات کلیدی بلندتر دارای رقابت کمتری بوده و محتوای تولید شده برای این گونه عبارات به احتمال بیشتری به نیاز کاربران نزدیک است. در نتیجه آنها به برند شما بیشتر اعتماد کرده و در آینده مجددا به وب سایت شما باز می گردند.(در طول دوره آموزش تولید محتوا سئو شده با نحوه انتخاب و استفاده از کلمات کلیدی دم بلند آشنا می شویم).۲.توجه زیاد بر روی کلمه کلیدیبا توجه به افزایش درک گوگل نسبت به زبان طبیعی کاربران دیگر مثل سابق نیازی به استفاده افراطی از تمام کلمات کلیدی و هم خانواده های آن در محتوا و سایر قسمت های آن نیست. به عنوان یک راهکار می توانید این طور اقدام به نوشتن محتوا کنید که قرار است موضعی را در تلفن به فردی توضیح دهید. در چنین شرایطی شما کلمات متفاوتی را در گفتگو به کار نمی برید.۳.عدم تمرکز بر روی موضوعات کلی تردر هنگام تولید محتوا بهتر است که کمی از بالا به موضوع نگاه کرده تا به شکل عمومی تری به شرح موضوع بپردازیم. اینگونه تولید محتوا برای وب سایت نیز طبیعی تر به نظر رسیده و به ایده های جدیدی برای کلمات کلیدی میرسیم.۴.عدم شناخت رقباگاهی اوقات پیش می آید که کسب و کارها به دنبال شناخت رقبای خود نمی روند. شناخت رقبا در کلمات کلیدی مورد نظر شما امری ضروریست، چرا که این گونه از مدل محتوایی که گوگل آن را به عنوان مدل برتر می داند آگاه می شوید. بنابراین بررسی رقبای خود را جزیی از فرایند آگاهی از کلمات کلیدی کنید.۵.فراموش کردن پارامترهای مرتبط با لوکال سئودر جستجوی برخی از کلمات کلیدی متوجه میشویم که نتایج جستجو به گونه ایست که گوگل به پارامتر مکان وب سایت ها و کسب و کارها اهمیت زیادی می دهد. در واقع جستجوی برخی کلمات کلیدی به گونه ایست که هدف کاربر یافتن مکانی برای مراجعه حضوری به آنجاست. در چنین شرایطی بایستی از کلمات کلیدی مناسب تری استفاده نمود.۶.سختی کلمات کلیدیبسیاری از ابزارهای کلمات کلیدی معیاری برای ارزیابی سختی کسب رتبه برای آنها دارند. با این حال این ارزیابی شامل در نظر گرفتن وضعیت و رتبه حال حاضر سایت شما نیست.ممکن است که وب سایت شما در حول موضوعی بسیار قدرتمند بوده و کسب رتبه برای سایتتان در موضوعاتی در این بین کار سختی نباشد. اما در شرایطی که وب سایت شما تازه ایجاد شده باشد و اعتباری نیز نداشته باشد، بنابراین واضح است که کسب رتبه در همان کلمه کلیدی کار بسیار دشواریست.(دوره آموزش تولید محتوا سئو شده (کامل))ابزار ردیابی رتبه یا ( Rank Tracker )برای یافتن لیست جامع از کلمات کلیدی و آنالیز سئو سود آوار مرتبط به آن از ردیابی رتبه استفاده میکنیم،بهترین کلمه ی کلیدی سئو اغلب مورد انتظار ترین کلمه در همان محور نخواهد بود. برای پیداکردن کلمه ی کلیدی که ارزشی همانند جواهر برای شما داشته باشد شما نیاز به تفتیش در میان تمامی گزینه های موجود ممکن از منابع اطلاعاتی متعدد دارید و اینجا دقیقا جایی ست که نیاز به ردیابی رتبه و ۲۳ ابزار مختلف از تحقیق برای کلمه ی کلیدی مورد نیاز در این مهم به وضوح دیده میشود .استفاده ی یکی یکی از این راه کارها به شما اجازه میدهد که بهترین ایده در خصوص لیست کلمات کلیدی به ذهن شما برسد، و علاوه بر این به شما امکان آنالیز پتانسیل ترافیک و ارزیابی شدت رقابت در زمینه ی مورد نظر را می دهد . این امر اجازه ی تمرکز در زمینه ی سئو و هدایت شما بر مسیری که بهترین ترافیک را برای شما به ارمغان آورد را فراهم میکند . https://codefriend.ir/2020/03/03/بدترین-اشتباهات-در-یافتن-کلمه-کلیدی-بر/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Tue, 03 Mar 2020 07:44:35 +0330</pubDate>
            </item>
                    <item>
                <title>دوره آموزش سئو وردپرس را رایگان دانلود کنید</title>
                <link>https://virgool.io/@CodeFriend/%D8%AF%D9%88%D8%B1%D9%87-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%A6%D9%88-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3-%D8%B1%D8%A7-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D9%86%DB%8C%D8%AF-smegcc61ou3n</link>
                <description>افزونه Yoast SEO قدرتمندترین پلاگین در زمینه سئوی سایت بین کاربران وردپرس است؛ حتی اگر اطلاعات کمی در خصوص سئو سایت دارید، با کمک افزونه یوست سئو می‌توانید به راحتی محتوای صفحات خود را بهینه‌سازی کنید. در حقیقت، افزونه یوست به شما کمک می‌کند تا ابتدایی‌ترین و اصلی‌ترین نکات سئوی داخلی صفحات خود را بررسی کرده و در صورت نیاز آن ها را بهبود دهید . امروز در این دوره، به آموزش تنظیمات و نحوه کار با افزونه Yoast SEO می‌پردازیم.قیمت خرید این دوره ۳۰ هزار تومان استاما شما امروز می توانید این دوره را به صورت کاملا رایگان از کدفرند هدیه بگیریدچرا باید از افزونه Yoast SEO استفاده کنیم؟اگر به دنبال نصب یک افزونه سئو همه کاره در وردپرس هستید، پیشنهاد ما، یوست سئو است. در Yoast تمام ریزه کاری‌های مربوط به سئو سایت در نظر گرفته شده و تنها کافیست نکاتی که به شما گفته می‌شوند را رعایت نمایید.برخی از این ویژگی‌ها پلاگین یوست سئوتجزیه و تحلیل کامل و ارائه توضیحات دقیق برای بهبود وضعیت سئو مطالب و صفحات سایتبررسی میزان خوانایی نوشته‌ها برای کاربرانیکپارچه سازی سایت با اکانت‌های شبکه‌های اجتماعی و تنظیمات اشتراک‌گذاری مطالبتمرکز برروی کلمه کلیدی هدفگیری کلمات کلیدی نتایج جستجوپیکربندی تگ متا رباتاعمال تنظیمات برروی متاتگ عنوان و توضیحاتکنترل کامل نقشه سایتبهبود RSS سایتتنظیم فایل robots.txt و .htaccessپشتیبانی از زبان فارسیآموزش پلاگین Yoast سئو مناسب چه کسانی است؟افرادی که علاقه دارند وب سایت یا وبلاگ خود را به صورت کاملا اصولی و همراه با آخرین آپدیت های سئو گوگل هماهنگ کرده و به رتبه های بالاتر در نتایج جستجو برسند.لینک دانلود دوره  https://codefriend.ir/gift </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Wed, 26 Feb 2020 22:57:08 +0330</pubDate>
            </item>
                    <item>
                <title>Gradle چیست؟ به چه منظوری طراحی شده است؟</title>
                <link>https://virgool.io/coderlife/gradle-%DA%86%DB%8C%D8%B3%D8%AA-%D8%A8%D9%87-%DA%86%D9%87-%D9%85%D9%86%D8%B8%D9%88%D8%B1%DB%8C-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D8%B4%D8%AF%D9%87-%D8%A7%D8%B3%D8%AA-jyx8qmiqj80j</link>
                <description>Gradle چیست؟ فرایند ساخت پروژه های اندروید توسط Gradle build system مدیریت می شود . پروژه ی اندروید در دو نوع مختلف عرضه می شوند, اولین مجموعه پروژه از ساختار پروژه ی موروثی (legacy project structure) بهره می گیرد که توسط تجهیزات و ابزار برنامه نویسی اندروید (ADT tooling) Eclipse مورد استفاده قرار می گیرند . این دست از مجموعه پروژه تا سال ۲۰۱۳ مورد استفاده قرار می گرفت . اما مجموعه دوم پروژه از ساختار برنامه سازی Gradle (Gradle Build Structure) بهره می گیرد .Gradle را می توان گونه ای پیکربندی (config) کرد که از هر دو قالب بندی (format) پشتیبانی کند, به عبارت دیگر هم بتواند از ساختار پروژه ی Gradle استفاده کند و هم از ساختار پروژه ی Eclipse.Gradle build system به منظور پشتیبانی از سناریوهای پیچیده در پروسه ی ایجاد اپلیکیشن های اندروید طراحی شده است از قبیل:Multi-distribution : زمانی که لازم است برنامه ای برای چندین سرویس گیرنده و شرکت مختلف سفارشی ساخته و تنظیم شودMulti-apk: هنگامی که لازم است چندین برنامه ی کاربردی یا اپلیکیشن مختلف ویژه ی دستگاه های مختلف اندروید طراحی شود و در عین حال برنامه های تولید شده از همان بخش های کد یکسان استفاده کند.Gradle چیست؟ به چه منظوری طراحی شده است؟استفاده از Gradleدر صورت ایجاد پروژه ی جدید در محیط Android Studio, پردازه ها یا اسکریپت های ساخت Gradle (Gradle build script) خود به صورت خودکار ایجاد می شوند . محیط اندروید استودیو زمان اجراGradle راwrap می کند (دربر گرفته و گونه ای این موضوع را تحت پوشش قرار می دهد که نیازی به نصب اضافه بر سازمان نباشد), از این رو نیازی به نصب اضافی نیست.همچنین می توان یک wrapper script ( Wrapper script در واقع همان اسکریپت یا پردازه ی اصلی {master script} است که اجرای دیگر اسکریپت ها را کنترل و اداره می کند) ایجاد شده توسط Gradle را بکاربرد که به برنامه نویس اجازه می دهد یک Gradle Build را بدون نیاز به نصب اضافی از خط فرمان (command line) اجرا کند .(در طول دوره آموزش برنامه نویسی اندروید با راه اندازی و کار با Gradle آشنا می شویم.)افزودن فایل Gradle ویژه ی پروژه ی اندروید مبتنی بر Eclispeجهت فعال سازی Gradle build برای پروژه ی اندروید خود که مبتنی بر Eclipse می باشد, build.gradle زیر را به ریشه (root) پروژه ی خود اضافه کنید .وارد (import) کردن پروژه ی مبتنی بر Eclipse به محیط Android Studioپس از اینکه یک فایل Gradle معتبر به پروژه ی اندروید مبتنی بر Eclipse خود اضافه کردید, می توانید آن را وارد محیط اندروید استودیو کنید . این کار را می توان از طریق گزینه ی File → Import Project و انتخاب پوشه ی پروژه دربردارنده ی Gradle build file انجام داد .آن دسته از توسعه دهنده گان و برنامه نویسان شرکت گوگل که مسئول مدیریت و طراحی تجهیزات اندروید را برعهده دارند, این ساختار پروژه اندروید را (در تجهیزات اندروید استودیو) به منظور هماهنگی بیشتر آن با Gradle build system اصلاح کرده اند .به منظور راه اندازی چنین ساختی (build), دستور یا فرمان ذیل را از پوشه ی پروژه ی مربوطه اجرا کنید .# build project
gradle build
# build project complete from scratch
gradle clean build
# speedup second grandle build by holding it in memory
gradle build --daemonفرمان فوق خروجی Gradle build را در پوشه ی build ایجاد می کند . به صورت پیش فرض, Gradle build دو فایل .apk در پوشه ی build/outputs/apk بوجود می آورد .جهت ساخت و راه اندازی تست ها دستور زیر را بکار ببرید .gradle instrumentTestGradle build system همچنین این توانایی را دارد که شیوه های مختلف ساخت یک اپلیکیشن را مدیریت کند (یک برنامه ی کاربردی را به شیوه های گوناگون ایجاد کند).در برخی موارد ممکن است لازم باشد برنامه ی مورد نظر را به انواع مختلف تقسیم بندی کنید . گفتنی است کهGradle build قادر است این عملیات را خود انجام دهد .برای مثال می توانید انواع مختلف از build را ویژه ی رده (category) های مختلف دستگاه های اندروید از جمله گوشی, فبلت و یا تبلت تعریف کرد . مورد استفاده ی دیگری که می توان به آن اشاره کرد نسخه ی رایگان یا پولی اپلیکیشن مربوطه باشد .تعریف متد productFlavourبا استفاده از متد productFlavour در فایل build.gradle برنامه ی مورد نظر, برنامه نویس قادر خواهد بود انواع مختلفی از برنامه ی تولید شده را ارائه دهد .productFlavors {
    paid {
        applicationId = &amp;quotcom.exam.gradleexamples.paid&amp;quot
        versionName = &amp;quot1.0-paid&amp;quot
    }
    free {
        applicationId = &amp;quotcom.exam.gradleexamples.free&amp;quot
        versionName = &amp;quot1.0-free&amp;quot
    }
}کل فایل build.gradle ممکن چیزی شبیه به کد زیر باشد :apply plugin: &#039;com.android.application&#039;
  
android {
    compileSdkVersion 22
    buildToolsVersion &amp;quot22.0.1&amp;quot
    defaultConfig {
        applicationId &amp;quotcom.exam.gradleexamples&amp;quot
        minSdkVersion 19
        targetSdkVersion 22
        versionCode 1
        versionName &amp;quot1.0&amp;quot
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile&#40;&#039;proguard-android.txt&#039;&#41;, &#039;proguard-rules.pro&#039;
        }
    }
    productFlavors {
        paid {
            applicationId = &amp;quotcom.exam.gradleexamples.paid&amp;quot
            versionName = &amp;quot1.0-paid&amp;quot
        }
  
        free {
            applicationId = &amp;quotcom.exam.gradleexamples.free&amp;quot
            versionName = &amp;quot1.0-free&amp;quot
        }
    }
}
dependencies {
    compile fileTree(dir: &#039;libs&#039;, include: [&#039;*.jar&#039;])
    compile &#039;com.android.support:appcompat-v7:22.0.0&#039;
    testCompile &#039;junit:junit:4.+&#039;
}پس از تعریف flavor (انواع) مختلف برنامه و همگام سازی فایل build.gradle با محیط اندروید استودیو, flavor های مزبور باید در نما (view ) Build Variants پدیدار شوند .استفاده از productFlavours هابه منظور تعریف عملکرد یا رفتار متفاوت برای flavor معین, ابتدا لازم است پوشه های مناسب مختص flavor های تعریف شده تحت app/src/ ایجاد کنید .چنانچه flavor پولی یا رایگان در نمای Build Variants انتخاب گردد مانند نمونه ی فوق فایل strings.xml پروژه / پوشه ی اصلی بازنویسی (override) می شود . بدین وسیله می توان رشته های متفاوت برای انواع پولی و رایگان داشت. https://codefriend.ir/2020/01/28/gradle-چیست؟-به-چه-منظوری-طراحی-شده-است؟/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Tue, 25 Feb 2020 07:17:11 +0330</pubDate>
            </item>
                    <item>
                <title>تفاوت JavaScript و TypeScript</title>
                <link>https://virgool.io/@CodeFriend/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-javascript-%D9%88-typescript-kiscm0h3fvff</link>
                <description>Typescript یک زبان برنامه‌نویسی اوپن سورس میباشد که برای اپلیکیشن‌های بزرگ بسیار مناسب میباشد. اساسا به دلیل اینکه مدیریت و هندلینگ کدهای جاوا اسکریپت در پروژه‌های بزرگ، بسیار پیچیده میشد، این زبان در سال ۲۰۱۲ توسط مایکروسافت توسعه یافته است. در این مقاله به بررسی تفاوت های JavaScript و TypeScript میپردازیم.JavaScript و TypeScript تفاوت میاناساسا، کدهای جاوا اسکریپت شما، در تایپ اسکریپت نیز معتبر میباشد. به این معنی که Typescript یک زیرمجموعه از Javascript است _ یا :جاوا اسکریپت + ویژگی‌های بیشتر = تایپ اسکریپت.بنابراین، اگر فایل جاوا اسکریپت‌ (.js) را با پسوند تایپ اسکریپت (.ts) ذخیره کنید، همه چیز بدرستی کار خواهد کرد اما به این معنی نیست که Typescript و JavaScript یک چیز هستند. قبل از اینکه به بررسی تفاوت‌های این دو زبان مشغول شویم، اجازه دهید تا با آنها بیشتر آشنا شویم!جاوا اسکریپتجاوا اسکریپت یکی از محبوب‌ترین تکنولوژی‌های اساسی برای وب میباشد. از همان ابتدا، با داینامیک و interactive کردن وب اپلیکیشن‌ها، یکی از بخش‌های بسیار مهم آنها بوده است. یک زبان برنامه‌نویسی سطح بالا است و دارای کامپایلر JIT مخفف (Just-in-Time) و ویژگی تایپ داینامیک میباشد.برای مدت زیادی، JS فقط در کلاینت ساید پیاده سازی میشد و یک زبان فرانت اند بود. اما برخی از موتور‌های جدید جاوا اسکریپت، در سمت سرور نیز پیاده میشوند. سینتکس JavaScript بسیار شبیه زبان جاوا است و کتابخانه‌های استاندارد بسیار زیادی دارد. برای شروع به برنامه نویسی وب، بدون شک جاوا اسکریپت بهترین زبان برای یادگیری میباشد. (دوره آنلاین و رایگان اموزش جاوا اسکریپت کدفرند – بروز رسانی اسفند ماه)زبان جاوا اسکریپت توسط Netscape در همکاری با Sun Microsystems توسعه داده شده است. برخی از ویژگی‌های بینظیر و یکتای Javascript به شرح زیر میباشد:انعطاف پذیر، داینامیک و کراس پلتفرمقابل استفاده ذر کلاینت ساید و همچنین سرور سایدکامپایلینگ سریع و سبکپشتیبانی توسط تمام مرورگرهاتایپ داینامیکJIT compilationتایپ اسکریپتدر ادامه بررسی تفاوت JavaScript و TypeScript ، به آشنایی با تایپ اسکریپت میپردازیم. هدف Typescript هیچ تفاوتی با جاوا اسکریپت ندارد اما در پروژه‌های بزرگ و large-scale استفاده میشود.  تایپ اسکریپت به روش trans compiles یعنی کامپایلینگ سورس به سورس، به جاوا اسکریپت کامپایل میشود. از ساختار برنامه نویسی شی گرا پیروی میکند و از ویژگی‌های OOP مانند کلاس‌ها، اینترفیس، namespace ها و وراثت پشتیبانی میکند. استاتیک تایپینگ در تایپ اسکریپت، مانند (numbers، string و boolean) امکان پذیر است. برای مثال:همانطور که در بالا مشاهده کردیم، TypeScript به روش “strongly typed” نوشته میشود که همین مورد دیباگ کردن آنرا بهتر میکند و این برای کدنویسی پروژه‌های بزرگ بسیار کارآمدتر است. برنامه تایپ اسکریپت معمولا از اجزایی همچون ماژول‌ها، توابع، متغیرها، کامنت‌ها، عبارات و … تشکیل میشود _ مانند هر زبان برنامه نویسی بالغ دیگر. برخی از ویژگی‌های برجسته‌ TypeScript به شرح زیر است:نگهداری ساده و افزایش بهره وری در پروژهقابلیت استاتیک تایپینگ و استفاده از annotationsپشتیبانی از ویژگی‌های OOPدیباگ راخت‌تر و تشخیص زود هنگام خطاهاپشتیبانی از ES6 (اکما اسکریپت) که سینتکس ساده‌تری برای هندلینگ آبجکت‌ها و ویژگی‌های وراثت ارائه میدهد – دوره آموزش رایگان ES6 (اکما اسکریپت)پشتیبانی خوب IDE های بالغآیا همه اینها TypeScript را بهتر از JavaScript میکند؟قبل از بررسی تفاوت‌های این دو زبان، یک سوال بسیار مهم که باید پاسخ داده شود! از آنجایی که تایپ اسکریپت سوپرست جاوا اسکریپت است، آیا همیشه باید از تایپ اسکریپت استفاه کنیم؟ آیا سوپرست بودن TypeScript، آنرا برای هر پروژه‌ای مناسب میکند؟خیرTypeScript به هیچ عنوان با جاوا اسکریپت جایگزین نمیشود و یا آنرا منسوخ نمیکند. جاوا اسکریپت هنوز هم پرطرفدارترین زبان برنامه نویسی فرانت-اند وب است و بدون شک برای مدت طولانی نیز این شکلی خواهد ماند. در پروژه‌های کوچک‌تر، استفاده از تایپ اسکریپت میتواند زمان زیادی را بگیرد چراکه کد تایپ اسکریپت باید به جاوا اسکریپت کامپایل شود و این یک مرحله اضافی در پروژه‌های کوچک است.JavaScript بطور مستقیم در مرورگر اجرا میشود؛ بنابراین برای کدهای کوچک، رفرش کردن و دیباگ کردن کد بسیار راحت‌تر است. درحالی که برای تایپ اسکریپت به یک IDE و ستاپ مناسب جهت اجرا شدن نیازمندیم.چه زمانی باید پروژه خود را به TypeScript منتقل کنید؟زمانی که کد بزرگ شده و هندل کردن آن پیچیده میشود، بهتر است پروژه را به تایپ اسکریپت منتقل کنید تا از ویژگی‌های آن بهرمند شوید.JavaScript و TypeScript تفاوت میاناکنون که با ویژگی‌های اساسی و هدف زبان‌های JavaScript و TypeScript آشنا شدیم، میخواهیم با برخی از تفاوت‌های سطح پائین این دو تکنولوژی نیز آشنا شویم.تایپ اسکریپتسوپرست جاوا اسکریپت است و برای غلبه بر پیچیدگی کدها در پروژه‌های بزرگ توسعه یافته است.خطایابی در هنگام کامپایلینگ ممکن است.به روش “Strongly typed” بوده و از تایپ داینامیک و استاتیک پشتیبانی میکند.به کد جاوا اسکریپت تبدیل میشود تا برای مرورگر قابل فهم باشد.از آنجایی که سوپرست JS میباشد، تمام کتابخانه‌ها و کدهای جاوا اسکریپت بدون نیاز به تغییر، در تایپ اسکریپت کار میکنند.از ES3 و ES4 و ES5 و ES6 پشتیبانی میکند.ماژول‌ها، generics و اینترفیس‌ها را برای تعریف دیتا پشتیبانی میکند.توابع میتوانند پارامتر آپشنال داشته باشند.یک نمونه کد تایپ اسکریپت:function multiply (a, b) {
    return a*b;
}
var result = multiply(a, b);
console.log(‘The answer is - ’ + result);اعداد و رشته‌ها به عنوان اینترفیس درنظر گرفته میشوند.پشتیبانی جامعه تایپ اسکریپت درحال رشد بوده و خیلی بزرگ نیست.امکان نمونه سازی اولیه و Prototyping وجود دارد.یادگیری و استفاده از آن زمانبر است و نیاز به دانش اسکریپت نویسی دارد.پکیج NPM برای تعریف نوع استاتیک لازم استجاوا اسکریپتزبان برنامه نویسی که به ساخت محتوای داینامیک صفحات وب، کمک میکند.خطاها فقط هنگام run-time قابل تشخیص هستند.قابلیت تایپ استاتیک ندارد.امکان استفاده مستقیم از جاوا اسکرپیت در مرورگرها.بصورت پیش فرض کتابخانه‌های جاوا اسکریپت را پشتیبانی میکند.از ES3 و ES4 و ES5 و ES6 بطور پیشفرض پشتیبانی نمیکند.ماژول‌ها، generics و اینترفیس‌ها را برای تعریف دیتا پشتیبانی نمیکند.توابع نمیتوانند پارامتر آپشنال داشته باشند.یک نمونه کد 
function multiply (a, b) {
    return a*b;
}
var result = multiply(a, b);
 (‘The answer is – ’ + result);
اعداد و رشته‌ها، آبجکت میباشند.جامعه پشتیبانی بسیار بزرگ و مستندات بیشمار برای حل مشکلات.امکان نمونه سازی اولیه و Prototyping وجود ندارد.یادگیریآن آسان است اما استفاده حرفه ای از آن نیازمند زمان و تمرین زیاد است. (دوره آنلاین و رایگان اموزش جاوا اسکریپت کدفرند – بروز رسانی اسفند ماه)به هیچ ستاپی مانند NPM نیاز ندارد https://codefriend.ir/2020/02/19/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-javascript-%D9%88-typescript/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Thu, 20 Feb 2020 12:29:26 +0330</pubDate>
            </item>
                    <item>
                <title>مهارت های مورد نیاز و اساسی برای برنامه نویس شدن</title>
                <link>https://virgool.io/coderlife/%D9%85%D9%87%D8%A7%D8%B1%D8%AA-%D9%87%D8%A7%DB%8C-%D9%85%D9%88%D8%B1%D8%AF-%D9%86%DB%8C%D8%A7%D8%B2-%D9%88-%D8%A7%D8%B3%D8%A7%D8%B3%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3-%D8%B4%D8%AF%D9%86-ygz8nelpjjxz</link>
                <description>مهارت های برای برنامه نویس شدن مهم است چون اکنون که ما تصمیم گرفته  ایم به دنیای بی انتها و لذت بخش برنامه نویسی قدم بگذاریم.مهارتهایی که  باید در کسب آنها بکوشید ، بستگی به علایق، توانایی ها و استعداد شما و  همچنین اهداف شغلی و منابع موجود دارد. اما با وجود نامشخص بودن وضعیت  اقتصادی پیش رو، دستیابی به مهارت هایی که برای پیشرفت و آینده شغلی شما  مفید خواهد بود.مهارتهایی که هم اکنون در بازار کار بسیار مورد نیاز است و طبق نظر وزارت کار آمریکا در فهرست کار فرمایان قرار دارد، عبارتند از:هماهنگی: تنظیم اقدامات بر اساس اقدامات دیگرانبرنامه نویسی: نوشتن برنامه های کامپیوتری با اهداف مختلفمدیریت زمان: مدیریت زمان خود و دیگرانتفکر انتقادی: استفاده از منطق و دلیل برای تشخیص میزان ضعف یا قدرت راه حل های جایگزین، نتایج یا رویکردهایی به مسئلهتجزیه و تحلیل سیستم ها: تشخیص اینکه یک سیستم چگونه کار می کند و چه طور تغییر شرایط، عملکردها و محیط، می تواند روی خروجی آن تاثیرگذار باشد.حل کردن مسائل پیچیده: تشخیص پیچیدگی مسائل و بازخوانی اطلاعات مرتبط برای توسعه و ارزیابی گزینه ها و به اجرا درآوردن راه حل ها.صحبت کردن: صحبت با دیگران برای انتقال موثر اطلاعاتیادگیری پویا: یادگیری به نحوی که فرد یادگیرنده در فرایند حل مسئله یا تصمیم گیری به صورت عملی درگیر باشد.انتخاب تجهیزات: تشخیص انواع ابزارها و تجهیزاتی که برای یک کار مشخص موردنیاز است.توانایی خواندن متون و درک مطلب: درک جملات نوشته شده و پاراگراف ها در مستندات مرتبط با موضوعات کاریاستراتژی های یادگیری: انتخاب و به کارگیری روش ها و رویه های مناسب برای یادگیری و آموزشتجزیه و تحلیل کنترل کیفیت : اجرای آزمون و بررسی هایی روی محصول، خدمات، عملکرد یا حتی فرآیندهایی که کار ارزیابی کیفیت را برعهده دارند.تحلیل عملیات: تحلیل نیازمندی های محصول برای خلق طراحیریاضیات: استفاده از علم ریاضی برای حل مسئلهشنیدن پویا:  یعنی توجه کامل به چیزی که دیگران در حال گفتن آن هستند، وقت گذاشتن برای  فهمیدن نکته هایی که سعی در گفتن آن داشتند، پرسیدن سوال های مناسب، قطع  نکردن صحبت دیگراننصب و راه اندازی: نصب تجهیزات، ماشین ها، سیم کشی یا برنامه ها.خطایابی : تشخیص علت خطاهای عملکردی و تصمیم گیری لازم برای حل آنها.قضاوت و تصمیم گیری: توجه به هزینه/ فایده اقدامات احتمالی برای تصمیم گیری صحیح.طراحی تکنولوژی: تولید و تطابق امکانات و تکنولوژی برای ارائه پاسخ مناسب به نیاز.• تمرکز بالا : به منظور جلوگیری از خطا و اشتباه در تولید کدهای جدید و حفظ یکپارچگی در کدهای تولید شدهبررسی مداوم فن آوری های جدید در حوزه برنامه نویسی : و استفاده از آخرین تکنیک ها برای نوشتن کدها و برنامه های جدیدمهارت های مورد نیاز و اساسی برای برنامه نویس شدن۱.از کلاس درس فراتر برویدیادگیری  در سر کلاس و دانشگاه میتواند جذاب باشد. با این حال، این کلاس ها واقعا  نمی توانند به شما کد نویسی یاد دهند.اکثر دانشگاه ها زبان هایی را به شما  یاد میدهند که به آنها علاقه ندارید. شخصا می خواستم در توسعه ی وب حرفه ای  شوم. با این حال، متوجه شدم که حتی جاوا اسکریپت در برنامه درسی ما نبود.  در عوض، به من زبان C را آموزش دادند که علاقه ای به آن نداشتم.در  حقیقت، شما عمدتا فقط با اصول برنامه نویسی، ساختارهای داده ها و الگوریتم  ها تغذیه می شوید؛ البته، منطقی است که مبانی را بدانید، اما این برای  موفقیت اصلا کافی نیست.تعجب می کنید اگر بدانید ۹۰ درصد از توسعه دهندگان نرم افزار خودشان برنامه نویسی را یاد میگیرند.برای  اینکه به عنوان یک توسعه دهنده نرم افزار به موفقیت برسید، شما باید همیشه  در حال یادگیری باشید ، با این حال، این لزوما به این معنی نیست که شما  نیاز به یک کتابفروشی داشته باشید، اما نمیتوانید از دانشگاه خود نیز خارج  شوید. با این وجود، حتی اگر در دانشگاه هستید، لازم است که اطلاعات را بخش  بخش یاد بگیرید. شما می توانید به طور رایگان با codecademy شروع کنید و یا با پرداخت حق اشتراک، از دوره های با کیفیت در وب سایت کدفرند استفاده کنید.۲.تاثیر سرعت تایپ در افزایش راندمان برنامه نویسدر  واقع همان طور که یک ویرایشگر کد به منزله یک ابزار برنامه نویسی است،  نحوه صحیح تایپ نیز می‌تواند همچون ابزاری کاربردی، کمک شایانی در حرفه ای  شدن ما به عنوان یک برنامه نویس کند. از دید ما کسب مهارت تایپ صحیح (ده  انگشتی) برای حرفه ی برنامه نویسی لازم و ضروری است. به عبارت دیگر برنامه  نویسی صرفاً در نوشتن کد خلاصه نمی شود بلکه ما به عنوان یک برنامه نویس  گاهی نیاز داریم تا پیرامون اپلیکیشن خود توضیحاتی بنویسیم و یا چنانچه عضو  یک تیم برنامه نویسی باشیم نیاز داریم تا با مابقی برنامه نویسان در تعامل  بوده و مکاتبه نماییم و یا از طریق Comment، توضیحاتی را درون کد خود  بنویسیم.۳.تاثیر زبان انگلیسی در پیشرفت برنامه نویسمهارت  بعدی که برای یک برنامه نویس لازم و ضروری است فراگیری زبان انگلیسی است.  در واقع دلایل مختلفی وجود دارند که ما تاکید داریم برنامه نویسان مبتدی می  بایست حداقل به زبان انگلیسی آشنایی داشته باشند.از جمله این دلایل می  توان به این نکته اشاره کرد که یک برنامه نویس برای این که همواره به روز  باشد و از آخرین پیشرفت ها در زمینه برنامه نویسی مطلع باشد می بایست با  زبان انگلیسی آشنا باشد چرا که تولید علم در دنیا به این زبان صورت می  گیرد. از سوی دیگر Documentation یا اسناد زبان های برنامه نویسی کاملاً به زبان انگلیسی نوشته شده است و برای خواندن آن ها ما می بایست با زبان انگلیسی آشنا باشیم.۴.مسائل را ابتدا بروی کاغذ حل کنیدحل  مشکلات برنامه نویسی بر روی کاغذ برای اولین بار می تواند به شما کمک کند  تا با تکرار انعطاف پذیر و آرام تر باشید. ساده ترین راه برای شناسایی یک  ایده عالی بدون اینکه در مورد پیاده سازی آن دغدغه ایی داشته باشید استفاده  از قلم ، کاغذ یا است. قبل از حل هر مشکلی در رایانه، الگوریتم را روی  کاغذ بنویسید، اشتباهات را انجام دهید، آنها را کنسل کنید، و اجازه دهید  خلاق باشید.۵.شروع کنید به حل مشکلات پیچیده ترانتظار می  رود که به طور مداوم یادگیری را ادامه دهید، دراین صورت مطمئنا رشد خواهید  کرد. خودتان را محدود به حل مسائل ساده نکنید. برای حل مسائل پیچیده تر  خودتان را به چالش بکشید. همچنین، سعی کنید یک مشکل واقعی را برطرف کنید و  برنامه ای برای حل مشکل ایجاد کنید. شما می توانید با ایجاد برنامه هایی که  در حال حاضر وجود دارد شروع کنید – این کار به شما تجربه کافی برای مواجه  شدن با هر گونه پروژه های جدید که ممکن است بخواهید در آینده ایجاد کنید را  میدهد. ممکن است در ابتدا پروژه ای را کپی کنید سپس قسمت های مورد نظر خود  را به آن اضافه کنید. وقتی احساس می کنید به اندازه کافی خوب هستید، پیش  بروید و به ایده های اصلی خود بپردازید.۶.از ریاضی در برنامه نویسی و زندگی واقعی ترسی نداشته باشیداگر شما هنوز در دانشگاه هستید، به طور جدی تمام برنامه ها برای برنامه نویس شدن خود را تمام کنید. از Project Euler برای حل مسائل ریاضی استفاده کنید. Project Euler فوق العاده مفید است،  زیرا در سطوح مختلف دشواری، سوالات چالش برانگیز دارد و در هنگام حل آنها  مهارت های خود را افزایش می دهید.صادقانه بگویم پروژه هایی در این  سایت وجود دارد که واقعا دشوار است، اما جالب هستند. فقط به یاد داشته  باشید، برای آسان زندگی کردن در فردا ، اکنون باید سخت کار کنید. در شرایط  دشوار زندگی نیز فکر کنید و همچنین می توانید راه هایی برای ایجاد برنامه  هایی پیدا کنید که می توانند همه چیز را آسان تر کنند. تلاش برای پیاده  سازی ویژگی های این برنامه ها به شما امکان می دهد تا قدرت خود را در  برنامه نویسی افزایش دهید.(دوره های آموزش برنامه نویسی وب ، وردپرس،سئو،طراحی گرافیک،فتوشاپ،برنامه نویسی اندروید در کدفرند) https://codefriend.ir/2020/02/12/%d9%85%d9%87%d8%a7%d8%b1%d8%aa-%d9%87%d8%a7%db%8c-%d9%85%d9%88%d8%b1%d8%af-%d9%86%db%8c%d8%a7%d8%b2-%d9%88-%d8%a7%d8%b3%d8%a7%d8%b3%db%8c-%d8%a8%d8%b1%d8%a7%db%8c-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Wed, 12 Feb 2020 10:25:40 +0330</pubDate>
            </item>
                    <item>
                <title>منتور کیست و چه کسانی به منتور نیاز دارند؟</title>
                <link>https://virgool.io/@CodeFriend/%D9%85%D9%86%D8%AA%D9%88%D8%B1-%DA%A9%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%D9%87-%DA%A9%D8%B3%D8%A7%D9%86%DB%8C-%D8%A8%D9%87-%D9%85%D9%86%D8%AA%D9%88%D8%B1-%D9%86%DB%8C%D8%A7%D8%B2-%D8%AF%D8%A7%D8%B1%D9%86%D8%AF-gfaeqmr84pme</link>
                <description>منتور کیست ؟ بسیاری از مردم فکر می‌کنند منتور ها، کسانی هستند که برای منتور شدن سال‌ها تلاش کرده‌اند تا مدرک رسمی منتورینگ دریافت کنند؛ اما در حقیقت یک مربی یا منتور می‌تواند فردی باشد که در زمینه‌ایی خاص، بیشتر از شما تجربه دارد و به شما کمک می‌کند تا مسیر درست را پیدا کنید و از اشتباهات رایج طراحان جوان جلوگیری کنید.مربی یا منتور کیست می‌تواند به شما بگوید که در طراحی چه چیزی کارایی دارد و چه چیزی در طرح‌های شما اثربخش نخواهد بود. همچنین می‌توانید از سوابق او در طراحی، برای پیشرفت خود استفاده کنید.تجربه‌هایی که ممکن است سال‌ها زمان لازم داشته باشید تا یاد بگیرید مثل چگونگی برخورد طراحان با مشتریان، یا نحوه رفتار با مشتریان ناراضی را می‌توانید از یک منتور بیاموزید. استفاده از تجربه و پندهای مربیان در مواقع مختلف می‌تواند از بروز اشتباه در طراحی شما جلوگیری کند و باعث بهبود روند طراحی شما شود.با استفاده از تجربه منتور دیگر لازم نیست همه موارد را خودتان تجربه کنید و چرخ را از ابتدا بسازید!اگر شما در زمینه خاص مثل طراحی فعالیت دارید، یکی دیگر از چیزهایی که باید به آن توجه داشته باشید، این است که منتورهای شما حتماً نباید طراح باشند یا دقیقاً با نوع کاری که انجام می‌دهید، سازگار باشند تا بتوانند به شما کمک کنند. ممکن است منتور شما شخصی باشد که در زمینه مدیریت پروژه و یا تبلیغات تجربه دارد.ارتباط ایجاد کنیدیک منتور خوب می‌تواند شما را در حوزه فعالیت خودتان یا سایر حوزه‌ها با افرادی آشنا کند که اگر حضور منتور شما نبود، هرگز فرصتی برای دیدار با آن‌ها را نداشتید منتور خوب می‌تواند شما را به اشخاص مهم و معروف آشنا کند تا بتوانید برای آن‌ها کار انجام دهید. این کار می‌تواند باعث صرفه‌جویی در زمان و همچنین ایجاد ارتباطات مؤثر شود.در واقع منتور یا مربی علاوه بر نقش هدایت و راهنمایی شما، می‌تواند نقش بسیار مهمی در ایجاد ارتباطات مؤثر با افراد سرشناس و همچنین معرفی مشتری به شما داشته باشد.شما نمی‌دانید که هر شخصی در هر صنعت چه کسی را می‌شناسد و با چه کسانی ارتباط دارد. در هر حوزه‌ای افراد در مورد مسائل خوب و بد با یکدیگر صحبت می‌کنند ولی شما نمی‌توانید از تمام این موارد آگاه باشید. ضرب‌المثل معروفی می‌گوید چیزی که می‌دانید مهم نیست، افرادی که با آن‌ها آشنا هستید اهمیت دارد. البته در خصوص ارتباطات منتورها می‌توان گفت: افرادی که شما می‌شناسید اهمیت ندارند، سعی کنید با افراد مؤثری که منتور شما با آن‌ها ارتباط دارد آشنا شوید!.ممکن است منتور شما، خودش صاحب کسب‌وکاری نباشد ولی با افرادی آشنا باشد که جزو کارآفرینان برتر باشند.یک منتور دلسوز همیشه خواهان موفق شدن شماست. او در مسیر پر فراز و نشیبی که در حرفه شما وجود دارد، همیشه همراه شما است و زمانی که به موفقیتی دست یابید، شما را تشویق می‌کند. از آنجایی که او قبلاً این مسیر را طی کرده، هیچ حس حسادت یا نیاز به رقابت و کسب امتیازات شما در وی وجود ندارد. تمام چیزی که یک منتور آرزو دارد دیدن موفقیت شماست تا بتواند به خودش افتخار کند.بهترین منتورها و مربیان می‌توانند نقش یک عضو خانواده را داشته باشند و درست مثل والدین یا یک دوست صمیمی با دانش فنی بیشتری در زمینه فعالیت شما، کمکتان کنند.وظایف منتورmentor اهمیت زیادی بر تاثیر منتورینگ و افزایش بهره‌وری در کسب و کار دارد. تعدادی از وظایف یک منتور که در این زمینه تاثیر گذارند در زیر آمده است:بازار کسب و کار شما را به خوبی بشناسدچشم اندازهای شما را بهبود بخشد و به شما در توسعه اهدافتان کمک کنداشتباهاتتان را به شما گوشزد کند و به شما کمک کند تا راه حلی را برای رسیدن به هدفتان پیدا کنیدروابطی دارد که می تواند با استفاده از آن ها کسب و کارتان را توسعه دهدسرمایه گذاران و کارآفرینان مختلفی را می شناسدزمانی که به او احتیاج دارید، در دسترستان استچرا باید برای منتور هزینه پرداخت کنیم؟حداقل هزینه، گذاشتن زمان لازم برای صحبت با یک منتور است. خدمات منتورینگ در هیچ کجای دنیا بدون هزینه نیست. دلیل آن هم واضح است. شما برای رسیدن به آن میزان از دانش و تجربه، باید زمان و هزینه زیادی را صرف کنید و اشتباهات بیشتری را برای پیشرفت در کارتان انجام دهید که می توانید با استفاده از خدمات منتورینگ آن ها را کاهش دهید.دوره های آموزشی برنامه نویسی و کسب و کار کدفرند https://codefriend.ir/2020/02/08/منتور-کیست-و-چه-کسانی-به-منتور-نیاز-دارن/ </description>
                <category>کدفرند(دوست برنامه نویس من)</category>
                <author>کدفرند(دوست برنامه نویس من)</author>
                <pubDate>Sat, 08 Feb 2020 06:41:16 +0330</pubDate>
            </item>
            </channel>
</rss>