<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های لرن سورس</title><link>https://virgool.ir/feed/@learnsource.net</link><description>لرن سورس یک پلتفرم شاخص و متفاوت در زمینه یادگیری و آموزش برنامه نوسی و طراحی وب است و به شما کمک میکند نیازهای آموزشی خود را در زمینه کد نویسی رفع نمایید.</description><language>fa</language><pubDate>2026-11-11 03:54:57</pubDate><image><url>https://files.virgool.ir/upload/users/24829/avatar/6rZh7Y.png</url><title>لرن سورس</title><link>https://virgool.ir/@learnsource.net</link></image><item><title>بروزرسانی های الگوریتم های گوگل که باید درباره آنها بدانید!!</title><link>https://virgool.ir/@learnsource.net/بروزرسانی-های-الگوریتم-های-گوگل-که-باید-درباره-آنها-بدانید-tnlpcspzjam7</link><description>در این مقاله میخواهیم در مورد بروزرسانی هایی که در الگوریتم های گوگل به وجود آمده است، صحبت کنیم. سال گذشته در 25 اکتبر 2019 ، گوگل مهمترین به روزرسانی الگوریتم خود در پنج سال گذشته یعنی Google BERT را ارائه داد.قبل از اینکه به رمز و راز موجود در آخرین به روزرسانی الگوریتم  گوگل بپردازیم، ابتدا نگاهی گذرا به روند تغییرات در گوگل خواهیم انداخت. امروزه گوگل به یک فرهنگ لغت برای ما تبدیل شده است، در مورد هر چیزی که بخواهیم تحقیق کنیم، گوگل به کمک ما می آید.اما موتور جستجوگر گوگل چگونه تکامل یافت؟از زمانی که تجاری سازی اینترنت در دهه 1990 آغاز شد، بازاریابان اینترنتی و کارشناسان سئو فعالانه در نبردی پایان ناپذیر شرکت می کنند، همیشه رقابت میان وب سایت ها برای رسیدن به صفحه اول گوگل وجود دارد.رشد روز افزون وب سایت گوگل به معنای تجدید نظر در تمام استراتژی های بازاریابی موجود بود و بازاریابان اینترنتی سعی کردند برای موتور جستجو گر محتوا تولید کنند. به رعایت اصول و قواعدی که این موتور جستجو گر داشت، وب سایت ها میتوانستند، به صفحه اول آمده و درآمد خوبی کسب کنند. با گذشت زمان، عملکردهای ضعیف SEO باعث افت گسترده ارائه محتوا شد به طوری که عده ای با تقلب میتوانستند صفحه خود را بالا بیاورند.بنابراین گوگل مشکل موجود را تشخیص داد پس امور را به دست خود گرفت و تنظیمات خاصی را در الگوریتم های موتور جستجوی خود انجام داد. هدف Google کاملاً واضح بود: نشان دادن بهترین نتایج ممکن به کاربران. برای رسیدن به این هدف گوگل غول فناوری تغییراتی را در الگوریتم های خود در سال 2000 به بعد داد که در زیر به آنها اشاره کرده ایم.سال 2003: گوگل لینک های هرزنامه را با جدا کردن پیوندهای &#34;خوب&#34; از &#34;بد&#34; از رده خارج کرد.سال 2010: گوگل از رسانه های اجتماعی استقبال کرد. در این بروزرسانی افراد تشویق میشدند برای کسب و کار خود در رسانه های اجتماعی نیز صفحه داشته باشند.سال 2011: در این سال گوگل برای جریمه کردن وب سایت هایی که حاوی محتوای ضعیف و تبلیغات بیش از حد بودند، الگوریتم پاندا را منتشر کرد.سال 2012: گوگل با ارائه بروزرسانی پنگوئن با وب سایت هایی که به صورت غیر طبیعی از کلمات کلیدی استفاده میکردند، مقابله کرد.سال 2015: در این سال گوگل از یادگیری ماشین در الگوریتم های خود استفاده کرد.از زمان سال 2015 به بعد گوگل یک استراتژی بلند مدت را اولویت‌بندی می‌کرد که بر جستجوی معنایی تاکید می‌کرد. این جستجو به متن و زمینه عبارت مورد جستجو نگاه میکند و جستجو را براساس آن انجام میدهد، این کار دقت جستجو را افزایش میدهد. بروزرسانی سال گذشته گوگل یعنی Google BERT پیشروی جاه‌طلبی‌های آینده این غول تکنولوژی است.الگوریتم Google BERT چیست؟به زبان ساده Google BERT به گوگل کمک می کند تا کلمات را در یک جمله درک کند. اما الگوریتم های سابق گوگل نیز همین کار را انجام میدادند، بنابراین چه تغییر قابل توجهی رخ داده است؟ خوب ، تفاوت در اینجا این است که الگوریتم BERT تمام ظرایف محتوای یک جمله را رمزگشایی می کند.الگوریتم برت محصول تلاشهای فشرده تحقیق و توسعه Google در زمینه هوش مصنوعی است. محققان Google پایه و اساس BERT را در سال 2018 پایه گذاری کردند. پیش از این، الگوریتم های جستجوی گوگل با پردازش کلمات از چپ به راست، کوئری های جستجو را محاسبه می کردند، در حالی که Google BERT پردازش دو طرفه را برای تعیین ارتباط بین عبارات اعمال می کند.الگوریتم Google BERT چگونه بر سئو تاثیر گذاشته است؟راه اندازی BERT باعث ایجاد نوسانات ناگهانی در تجزیه و تحلیل سئو شد و بر معیارهایی مانند بازدید سایت، رتبه بندی صفحه و عملکرد کلمات کلیدی تأثیر گذاشت. در اینجا نمایی از آمار وب سایتی آماده است که پس از اعمال الگوریتم BERT از بازدید بیشتری برخوردار شده است. اگر موقیعت شما دقیقا برعکس ایمن مورد باشد و ترافیک وب سایت شما به طور قابل ملاحظه ای کم شود شاید دچار مشکلات زیر شده باشید:استفاده از کلمات کلیدی شما خوب بوده است، اما کیفیت محتوای شما پایین است و مورد توجه مخاطبان قرار نگرفته است.رقیب شما را با استراتژی موثرتر از کلمات کلیدی بهتری استفاده کرده است.ممکن است وب سایت شما برای موتورهای جستجو بهینه شده باشد، اما با مخاطبان شما همسو نیست.چگونه وب سایت خود را برای Google BERT بهینه سازی کنیم؟به گفته گوگل، بین BERT و جستجوی اطلاعاتی ارتباط زیادی وجود دارد. بنابراین، از این پس ، یک استراتژی بهتر این است که وب سایت خود را برای انسان ها بهینه کنید. اگر تاریخچه به روزرسانی الگوریتم گوگل را مرور کنید، کاملاً واضح است که گوگل قصد دارد میانبرهای سئو را که خیلی ها از آنها سو استفاده میکردند حذف کند.در طول تمام این تغییرات، گوگل هرگز برندهایی را که روی کیفیت محتوا سرمایه گذاری کرده اند را جریمه نکرده است. درعوض، به طور مداوم سعی در تبلیغ محتوای اصلی و غنی دارد. برای اینکه بتوانید به نتیجه خوبی در مورد این الگوریتم برسید باید محتوایی منحصر به فرد، تعریف شده و قابل تشخیص برای کاربران ایجاد کنید. در یک کلام محتوای شما باید نیازهای کاربرانتان را رفع کند.صحبت پایانیقابل ذکر است که بسیاری از روش های قدیمی سئو منسوخ شده است و دیگر نمیتوان بدون ایجاد ارزش به جایگاه بالایی در این موتور جستجو گر دست پیدا کرد. نیازی به میانبر نیست، پذیرش تغییرات در به روزرسانی های اخیر الگوریتم Google در نهایت به شما کمک می کند تا تجربه کاربری خود را بهبود بخشیده و نرخ تبدیل خود را افزایش دهید.منبع : لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Sat, 12 Sep 2020 21:47:48 +0430</pubDate></item><item><title>۱۰ موردی که در طول ۹ سال طراحی رابط کاربری یاد گرفتم</title><link>https://virgool.ir/@learnsource.net/۱۰-موردی-که-در-طول-۹-سال-طراحی-رابط-کاربری-یاد-گرفتم-a9uwkitrvugv</link><description>ممکن است مواردی که در ادامه به آنها اشاره می‌کنم برای شما کلیشه‌ای باشد اما نمی‌توان از واقعیات چشم‌پوشی کرد. بسیاری از موارد زیر را به شخصه تجربه کرده ام و از صحت آنها اطمینان دارم، پس در ادامه مقاله همراه من باشید تا تجربیات خود را در اختیار شما قرار دهم.1. هیچ گاه بر فرضیات و تصورات خود تکیه نکنیداولین باری که این جمله را شنیدم به همراه پدرم در اتومبیل به سمت جای حرکت می کردیم که ناگهان عابری پیاده جلوی اتومبیل ما پرید، خوشبختانه من اتومبیل را کنترل کردم و عابر جان سالم به در برد. اما آن روز به یک درس ارزشمند رسیدم، هیچ گاه نباید بر فرضیات و تصورات خود تکیه کرد.من هیچگاه فکر نمی کردم عابری پیاده چنین کاری انجام دهد، همین مسئله را میتوانید در طراحی و یا هر جنبه دیگری از زندگی خود در نظر بگیرید. گاهی اوقات در طراحی تصوراتی از کاربران دارید که غیر ممکن است، برای مثال شما نباید فرض کنید آنها از قبل تجربه ای داشته باشند.رابط کاربری باید تا حد امکان ساده و آسان پیاده سازی شود. مطمئن شوید که هر شیء مهمی که در رابط کاربری به کار برده‌اید، بازخورد خوبی از آن دریافت می‌شود. هر احتمالی را در نظر بگیرید، در مورد توانایی‌های کاربران فکر کنید و بر اساس آنها عمل کنید.2. هر بازخوردی را در نظر بگیریدوقتی کار ما بر روی اینترنت قرار می‌گیرد هر کسی می‌تواند آن را ببیند و یا از آن استفاده کند. وقتی کاربران برای مثال به شما می‌گویند، دکمه ای را ندیده‌اند حقیقت را می‌گویند. البته این بدان معنا نیست که با هر بازخوردی طراحی خود را تغییر دهید، اما بدانید مشکلی وجود دارد و باید در صدد رفع آن باشید.حداقل کاری که می‌توانید انجام دهید این است که از کاربر مربوطه تشکر کنید، با این کار حس خوبی را به دیگران منتقل می کنید، همین کاربران در آینده خود را ملزم می کنند با شما کار کنند.3. کاری کنید که طرح شما گنگ نباشدطرح های رابط کاربری معمولاً به صورت آنلاین روی اینترنت قرار داده می شوند، یعنی هر کسی می‌تواند طرح ها را ببیند، برای اثبات گنگ بودن طرح خود به شکل زیر عمل کنید. اول و مهمتر از همه میان آیتم‌های خود سلسله مراتبی را مشخص کنید، به کاربر خود اجازه دهید جریانی برای خواندن داشته باشد. بنابراین طرح شما باید تا جای ممکن از وضوح و سادگی بالایی برخوردار باشد.از بازخورد های مناسب استفاده کنید، اگر کاربری قصد داشت بدون تکمیل کردن اهداف یک صفحه آن را ترک کند، به او یادآوری کنید که چه چیزی را دارد از دست میدهد. از ارائه این پیغام‌های هشدارآمیز هرگز نترسید، اگر کاربری به هدف خود در یک صفحه برسد بسیار خوشحال تر خواهد بود.4. سازگاری را رعایت کنیدسازگاری یک اصل مهم برای رابط کاربری است، عدم رعایت این اصل مانند این است که ساختمانی را بدون پی ریزی محکم پایه‌گذاری کنید، در این صورت رعایت بقیه اصول در چنین ساختمانی کاملاً بیهوده است.سازگار بودن یادگیری طراحی شما را برای کاربران ساده‌تر می‌کند، به عنوان مثال در همه صفحات وبسایت خود از یک استایل برای دکمه های ادامه و انصراف استفاده کنید، این کار به تصمیم گیری سریع کاربران کمک می کند.5. همه چیز را ساده نگه داریدچرا می گوییم، همه چیز را ساده نگه دارید، زیرا واقعاً کار می‌کند. ساده فکر کنید و ساده بسازید، رابط کاربری قرار است مسائل کاربران را حل کند و خود نباید از پیچیدگی زیادی برخوردار باشد.ساده بودن به معنای خسته کننده بودن نیست، بلکه به معنای رسیدن هرچه سریعتر به هدف است، اگر شما طراح رابط کاربری هستید وظیفه شما این است که کاربران بتوانند از طرحی که ایجاد کرده‌اید، استفاده کنند. هر صفحه باید هدف مشخصی داشته باشد، نباید کاربران خود را گمراه کنید. هدف یک صفحه برای کاربران باید زیر ۱۰ ثانیه قابل درک باشد.6. مخاطبین خود را بشناسیداگر یک سیستم رابط کاربری را بدون شناسایی مخاطبان آن ایجاد می کنید، به این معناست که در حال طراحی رابط های کاربری عمومی هستید، این نوع رابط های کاربری مخصوص یک قشر خاص نیستند.اگر می‌خواهید کاربران از شما راضی باشند باید نیازهای آنها را درک کنید. هدف خود را بررسی کنید و ببینید چه گروه‌های سنی از رابط کاربری شما بیشتر استفاده می کنند، سپس بر اساس آنها کار طراحی را پیش ببرید.7. ممکن است امروز شما نباشدبعضی روزها اصطلاحا روز ما نیستند، ممکن است که کسل باشید و حال خوبی نداشته باشید، این روزها موقتی و گذرا هستند. تنها کاری که می‌توانید انجام دهید این است که آماده باشید.برای هر کاری زمانی را به عنوان زمان اضافه در نظر بگیرید، برنامه خود را مو به‌ مو نچینید، شما نمی‌توانید به تماس دوستان و آشنایان خود پاسخ ندهید، همه این موارد را در برنامه خود بگنجانید.8. همیشه دلیل داشته باشیدهیچ گاه بدون دلیل چیزی را به طرح خود اضافه نکنید، صرفاً به خاطر جذاب بودن و یا کاربردی بودن یک شی، نمی‌توان از آن استفاده کرد. به هر حال اگر عنصری را در طرح خود قرار دارید و آن را دوست داشتید کار درستی را انجام داده اید، اما اگر نتوانید دلیل وجود آن را توجیه کنید، از آن صرف نظر کنید.9. مثبت عمل کنیدمثبت بودن مسری است، من همیشه سعی می‌کنم در زندگی و کار خود مثبت باشم، این ویژگی باعث شده است که همه افرادی که با من کار می‌کنند، نیز خوشحال باشند. آنها دوست دارند به همکاری با من ادامه دهند. وقتی شما مثبت باشید بازخوردهای مثبت دریافت میکنید و آرامش بیشتری دارید.10. به توسعه دهندگان احترام بگذارید و از آنها احترام دریافت کنیدکسانی هستند که طرح های شما را توسعه می‌دهند ما به این افراد توسعه دهنده می‌گوییم، برای اینکه توسط آنها مورد احترام قرار بگیرید، نحوه کدنویسی آنها را بفهمید. داشتن دانش پایه از برنامه نویسی می تواند مهارت های شما را تا حد قابل توجهی افزایش دهد.البته ما نمی‌گوییم کد نویسی را یاد بگیرید، بلکه درک نحوه کار اهمیت دارد، در این صورت شما درک می‌کنید که چه چیزهایی در کدنویسی قابل انجام است و چطور می‌توانید به توسعه دهندگان کمک بیشتری دهید. اگر این احترام سمت شما باشد آنها نیز به شما احترام خواهند گذاشت.منبع : لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Thu, 10 Sep 2020 19:12:05 +0430</pubDate></item><item><title>اشتباهات کلاسیکی که هر توسعه دهنده ممکن است مرتکب شود</title><link>https://virgool.ir/@learnsource.net/اشتباهات-کلاسیکی-که-هر-توسعه-دهنده-ممکن-است-مرتکب-شود-dggyngudwrjw</link><description>اشتباه کردن ماهیت ما انسان هاست، برای اشتباهاتی که ممکن است در برنامه نویسی انجام دهید نباید بیش از حد خود را آزار دهید، زیرا این مورد کاملاً طبیعی است و به طور روزانه اتفاق می افتد.توسعه یک نرم افزار بسیار دشوار است، بنابراین اشتباهات همیشه وجود دارند، گاهی اوقات انجام این اشتباهات برای شما مفید هم هست و باعث رشد و ارتقاء مهارت های شما خواهد شد.در این مقاله به مجموعه از این اشتباهات خواهیم پرداخت که باید تلاش کنید از آنها پرهیز کنید. اگرچه انجام اشتباه برای شما به عنوان یک برنامه نویس مجاز است اما قرار نیست همه مسیرهای اشتباهی که دیگران طی کرده اند را ما هم طی کنیم.۱. نوشتن کدهای سریع و کثیفرفع یک مشکل با یک راه حل سریع و کثیف کاری است که اکثر توسعه دهندگان در حرفه خود انجام داده اند. مشکل راه حل های سریع و کثیف این است که مطمئناً این رویکرد دارای نقایص جدی است که منجر به مشکلات فنی بیشتر می شود. مهمتر از آن، راه حل های سریع و کثیف می تواند برای روحیه تیم ویران کننده باشد.با این حال مواردی وجود دارد که ارائه راه حلی سریع ممکن است چندان بد هم نباشد. در شرایط خاص می توانید از این روش ها استفاده کنید. به عنوان مثال وقتی کد شما دارای طول عمر کوتاه است. اما اگر قرار باشد در آینده کدهای خود را ویرایش یا نگهداری کنید، اصلا توصیه نمیشود.۲. نوشتن کد هایی که خیلی فانتزی هستندبه خصوص توسعه دهندگانی که از تجربه چندان زیادی برخوردار نیستند، ممکن است در دورانی از زندگی خود بخواهند دیگران را تحت تاثیر قرار دهند و از کدهای فانتزی و پیچیده استفاده کنند. وقت خود را برای نوشتن کد هایی که جالب است هدر ندهید، برای  هدفتان کد بنویسید، این کار باعث صرفه جویی در وقت شما شده و می توانید پروژه خود را سریعتر تحویل دهید.۳. دست کم گرفتن حجم کارگاهی اوقات پروژه ای به شما پیشنهاد می شود که آن را بسیار دست کم میگیرید، در ابتدا تصور می کنید همه چیز بسیار آسان پیش خواهد رفت، اما خیلی زود معلوم می شود همه چیز ها آنقدرها هم که فکر میکردید ساده نیست.اولین راه حلی که در پیش گرفته اید مطابق با انتظارات شما پیش نمی رود، خیلی سریع باید روشی جایگزین را برای حل مسئله خود در نظر بگیرید. دست‌کم گرفتن حجم کار یک اشتباه کلاسیک است که در بیشتر مواقع برای یک توسعه دهنده اتفاق می افتد.این مورد به خصوص برای زمانی که شما با یک تیم کار می‌کنید، ممکن است نمود بیشتری داشته باشد. پس در همان ابتدا زمان تحویل پروژه را تخمین بزنید و زمان هایی را برای تست و مشکلات احتمالی در نظر بگیرید.۴. فکر کردن به این موضوع که کد شما نیازی به تست کردن نداردگاهی اوقات کدی که نوشته‌اید آنقدر کوچک است که فکر می کنید، نیازی به تست کردن ندارد، اما مواردی بوده است که با تغییر یک خط، کل برنامه تحت تاثیر قرار گرفته است، پس باید تست نرم‌افزار را جدی بگیرید.اکثر توسعه‌دهندگان از آزمایش کدهای خود متنفر هستند، برخی از آنها حتی این کار را اتلاف وقت می دانند، اما به راستی اگر کد خود را تست نکنید از کجا معلوم که در شرایط مختلف به خوبی جواب دهد؟پس اجازه دهید کد های شما توسط تست هایی که نوشته میشوند مورد آزمایش قرار گیرند. آزمایشات دقیق اشکالات مهم را مشخص کرده و به شما این اطمینان را می دهد که در آینده با مشکلی روبرو نخواهید شد.۵. طراحی مجدد چیزی که دیگران قبلا آن را ساختندبیشتر توسعه دهندگان برای آسان تر کردن مراحل کار خود از فریم ورک های مختلف کمک می گیرند، اگر شما هم در حال یادگیری یک فریم ورک هستید، دانستن همه چیز در مورد آن شاید کمی دشوار باشد.اشتباه کلاسیکی که معمولاً برای توسعه‌دهندگان اتفاق می‌افتد، این است که توسعه‌دهنده نمی‌داند چطور از امکانات فریم ورک استفاده کند و گاهی اوقات به دلیل کمبود دانش در این موارد مجبور به پیاده سازی چیزهایی می شود که این فریم ورک ها از قبل آنها را دارا هستند. در این صورت فقط وقت خود را هدر داده اید، نداشتن تجربه و دانش کافی در زمینه این فریم ورک ها باعث می شود نتوانید از تمام توان آنها استفاده کنید۶. نداشتن تمرین کافیبرای ماهر شدن در هر کاری نیاز به تمرین دارید، عدم یادگیری چیزهای جدید هر چند وقت یک بار و به صورت دوره ای یکی از بزرگترین اشتباهاتی است که یک توسعه دهنده می تواند مرتکب شود.  اگر میخواهید یک زبان یا فناوری جدید را یاد بگیرید، زمانی را برای آن برنامه ریزی کنید و تمام توان تمرین کنید. نداشتن تمرین کافی یکی از اشتباهات کلاسیک در یادگیری هر چیز جدید است.۷.  استفاده بیش از حد از قوانین وراثتاستفاده از قوانین وراثت به خودی خود اصلا بد نیست و یکی از اصول مهندسی نرم‌افزار است، با این حال یک اشتباه رایجی که من در بسیاری از توسعه دهندگان دیده‌ام این است که آنها در استفاده از این قوانین زیاده روی میکنند.برخی از روش های مهندسی نرم افزار باید در جایگاه های مناسبی به کار بروند، استفاده بیش از حد از وراثت می تواند کدهای شما را پیچیده کند، برای مثال اگر پروژه شما بسیاری کوچک باشد، اصلا نیازی به این قوانین نیست و با استفاده از آنها فقط کار خود را سخت میکنید.۸. داشتن اعتماد به نفس بیش از حدبرخی از برنامه نویسان دچار  اعتماد به نفس بیش از حد هستند، البته داشتن اعتماد به نفس چیز خوبی است و قطعاً شما باید تلاش کنید آن را در خود تقویت کنید، اما هر چیزی حدودی دارد، گاهی اوقات آنقدر مغرور می شوید که حاضر نیستید بازخوردهای دیگران را بررسی کنید.اعتماد به نفس کاذب در مواردی باعث می‌شود از مشورت در مورد کارها با دیگران پرهیز شود، اینجا جایی است که باید سقوط خود را پیش بینی کنید، پس در کنار اعتماد به نفس تواضع نیز داشته باشید.منبع : لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Thu, 20 Aug 2020 16:52:28 +0430</pubDate></item><item><title>تکامل زبان های برنامه نویسی در ۱۰ سال گذشته تاکنون</title><link>https://virgool.ir/@learnsource.net/تکامل-زبان-های-برنامه-نویسی-در-۱۰-سال-گذشته-تاکنون-eykuafykrpzf</link><description>با تغییر سیستم ها و برنامه ها، زبان های برنامه نویسی نیز در صنعت و در دنیای واقعی همچنان در حال پیشرفت هستند. امروزه زبان های برنامه نویسی متنوعی با قواعد نوشتاری و ویژگی های مختلف وجود دارد.هم اکنون توسعه دهندگان می توانند براساس اولویت های خود یا مشتری یکی از زبان های قدرتمند در این حوزه را انتخاب کنند. توسعه و رشد این زبان ها در سال های ۱۹۶۷ تا ۱۹۹۷ اتفاق افتاد، اما سرانجام با رشد سریع اینترنت در اواسط دهه ۱۹۹۰ بزرگترین پیشرفت برای دنیای زبان برنامه نویسی رخ داد.راهنمای تحول زبانهای برنامه نویسی در طول یک دهه گذشتهبیایید به تاریخ زبانهای برنامه نویسی نگاهی بیندازیم. در سال ۲۰۱۰ زبان های برنامه نویسی جاوا و جاوا اسکریپت در بالای لیست زبان های محبوب قرار داشتند، بعد از آن زبان PHP از محبوبیت خوبی برخوردار بود، سپس زبان های C++، C، پایتون و سی شارپ قرار داشتند. اما در سال ۲۰۱۵ ترتیب این محبوبیت ها کمی تغییر کرد.در حالی که جاوا و جاوا اسکریپت همچنان در بالای لیست قرار داشتند، پایتون با پشت سرگذاشتن زبان PHP در جایگاه سوم قرار گرفت. پس از آن نیز به ترتیب زبان های PHP، سی شارپ، ++C و C قرار گرفتند.نکته جالب در این میان زبان R بود که به عنوان زبانی برای محاسبات آماری، در جمع ده زبان برتر قرار گرفت و این نشان دهنده اهمیت فزاینده تجزیه و تحلیل داده ها و داده کاوی است. Objective-C و زبان سوئیفت نیز که برای پلتفرم اپل طراحی شده بودند نیز به این جمع اضافه شدند. بیایید به زبان های برتر برنامه نویسی نگاهی داشته باشیم:PythonJavaJavascript#CPHP++CCRSwiftObjective Cبسیاری از زبان هایی که در لیست بالا وجود دارند، سالها طول کشیده است تا در این سطح قرار بگیرند و در طول زمان ویژگی های زیادی به آنها اضافه شده است.۱. زبان پایتوننوشتن کدها، در بسیاری از زبان های برنامه نویسی در لیست بالا، حتی برای برنامه نویسان حرفه ای نیز پیچیده است. پایتون در سال ۱۹۹۱ ایجاد شد و توانست محبوبیت خوبی کسب کند زیرا برای کاربران بسیار ساده بود. پایتون یک زبان برنامه نویسی سطح بالا با تأکید بر خوانایی هر چه بهتر کدها و دارای کتابخانه ها و فریمورک های گسترده است. برخی از ویژگی های قابل توجه پایتون عبارتند از:زبان برنامه نویسی متن بازپشتیبانی گسترده ازماژول ها و دارای جامعه ای بزرگیکپارچه سازی آسان با وب سرویس هاساختار داده ای کاربرپسندبرنامه های دسکتاپ مبتنی بر GUI۲. زبان جاوااز طرف دیگر جاوا یکی دیگر از زبانهای برنامه نویسی سطح بالاست که در دهه ۱۹۹۰ توسعه یافت و یکی از محبوب ترین زبان ها در بین برنامه نویسان است. جاوا در ابتدا برای جعبه های کابل و دستگاه های دستی ساخته شد.با این حال این زبان آنقدر پیشرفت کرده است که امروزه تقریباً در همه جا از شبکه جهانی وب گرفته تا تلفن های هوشمند تا رایانه ها حضور دارد. جاوا یکی از بهترین زبان های برنامه نویسی است و امروزه پس از پایتون به طور گسترده مورد استفاده قرار می گیرد.۳. زبان جاوا اسکریپتجاوا اسکریپت زبان محبوب برنامه نویسی بعدی است که اینترنت را ایجاد کرده است. این زبان فقط در ده روز در سال ۱۹۹۵ ایجاد شده است و یک زبان اسکریپتی قدرتمند و مبتنی برای اشیا است.جاوا اسکریپت یکی از پرکاربردترین زبانهای برنامه نویسی در این روزهاست و تقریباً تمامی وب سایتهای اینترنتی با استفاده از این زبان ساخته شده اند. در طی چند سال گذشته به روزرسانی های گسترده ای در این زبان انجام شده و کاملا نوسازی شده است. نسخه های اخیر جاوا اسکریپت بسیاری از ویژگی های مدرن را به آن اضافه کرده است، و امروز این زبان در مقایسه با جاوا اسکریپت دهه گذشته تفاوت های گسترده ای دارد.۴. زبان سی شارپتکامل زبانهای برنامه نویسی با گذشت زمان و هرساله اتفاق می افتد. زبان #C که توسط مایکروسافت ایجاد شده است ، به عنوان یکی از زبانهای برنامه نویسی بسیار قدرتمند در چارچوب دات نت شناخته می شود.سی شارپ یک زبان سازگار، شی گرا و قدرتمند است، این زبان در کنار محیط فوق العاده ویژوال استادیو میتواند بسیاری از نیازهای شما را برای ایجاد برنامه های مختلف رفع کند. زبان سی شارپ نقطه ورود برنامه نویسان برای یادگیری تکنولوژی های مایکروسافت است، به طوری که بسیاری از این تکنولوژی ها از این زبان به عنوان زبان پایه استفاده میکنند.۵. زبان PHPPHP، همانند زبان پایتون، زبان برنامه نویسی دیگری است که طی دهه ۹۰ توسط یک برنامه نویس به عنوان پروژه ای جانبی ساخته شده است. با گذشت زمان ، قابلیت های بیشتری به محصول PHP اضافه شد و به یک زبان سمت سرور تمام عیار تبدیل شد. با این حال، به نظر می رسد با قدرتمند تر شدن زبان جاوا اسکریپت به خصوص الانی که میتوانید در سمت سرور هم از آن استفاده کنید، محبوبیت PHP کاهش یافته است.۶. زبان ++C++C از زبان C الهام گرفته است و اولین بار به عنوان افزونه ای برای زبان C توسعه داده شد. اما با گذشت زمان ++C به یک زبان برنامه نویسی چند مدلی و همه منظوره تبدیل شد. این زبان بیشتر در محصولات مایکروسافت و برنامه های دسکتاپ مورد استفاده قرار میگیرد. در طول ۱۰ سال گذشته، ++C به یکی از شناخته شده ترین و پرکاربردترین زبان های برنامه نویسی تبدیل شده است.۷. زبان Cدر طول سالهای ۱۹۶۹-۱۹۷۳ ، دنیس ریچی، مهندس آزمایشگاه بل، یک زبان برنامه نویسی رویه ای و همه منظوره تهیه کرد که مستقیماً به یک زبان ماشین کامپایل میشد. از این زبان گاهی به عنوان پایه ای برای دیگر زبان ها یاد میشود ، C با وجود اینکه قدمت زیادی دارد، اما هیچگاه محبوبیت خود را از دست نداده است زبان برنامه نویسی C به برنامه نویسان کنترل کاملی بر روی سخت افزار میدهد.۸. زبان RR یکی دیگر از زبان های برنامه نویسی است که به طور گسترده ای مورد استفاده قرار می گیرد، از این زبان برای ساخت نرم افزارهای آماری و همچنین تجزیه و تحلیل داده ها توسط آماریست ها و دانشمندان داده استفاده می شود. زبان برنامه نویسی R به همراه کتابخانه های خود ، طیف گسترده ای از تکنیک های گرافیکی و همچنین آماری را اجرا می کند.۹. زبان سوئیفتSwift یک زبان برنامه نویسی کامپایلری و همه منظوره است که دارای بهره وری بالایی است. زبان سوئیفت عمدتاً برای جایگزینی Objective-C در سیستم عاملهای Mac و iOS ساخته شد. یکی از دلایل محبوبیت این زبان، طراحی زبان آن است. سویئفت با یک ترکیب ساده تر، دقیق تر، تمیز تر و همچنین ویژگی های ارگونومیک، گزینه مناسب تری برای Objective-C در اکوسیستم اپل ارائه می دهد.۱۰. زبان Objective-Cاین زبان ابتدا در اوایل دهه ۱۹۸۰ توسعه یافته است، Objective-C یک زبان برنامه نویسی همه منظوره و شی گراست. Objective-C اولین زبانی بود که از آن برای نوشتن برنامه ها در سیستم عامل های OS X و iOS استفاده می شد. بسیاری از موارد در این زبان از زبان C گرفته شده است.زبان های برنامه نویسی در ۷۰ سال گذشته مادام در حال رشد بوده اند، در ابتدا باید ساعت ها وقت میگذاشتید تا برنامه ای را با زبان سطح پایین تولید کنید، اما امروز همان برنامه سرعت توسط پایتون نوشته میشود. با یادگیری زبانهای برنامه نویسی جدید و بهبود یافته، در زمان خود صرفه جویی کرده و مهارت های خود را بسازید تا بتوانید خواسته های دنیای فناوری را به انجام برسانید.منبع: لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Sun, 16 Aug 2020 20:22:41 +0430</pubDate></item><item><title>۱۰ قانون مهم برای برنامه نویسی موثر و کارا</title><link>https://virgool.ir/@learnsource.net/۱۰-قانون-مهم-برای-برنامه-نویسی-موثر-و-کارا-mgq413wurwx3</link><description>قوانینی که در زیر آماده کرده ایم اگرچه ممکن است جامع نباشد، اما پس سال ها تجربه در زمینه           برنامه نویسی و فناوری اطلاعات، فهرستی است که در ذهن من همیشه وجود دارد. امیدوارم این موارد برای شما هم مفید باشد.۱. قاعده پسر پیشاهنگاین قاعده بیان میکند که: &#34;همیشه محل اردوگاه را تمیز تر چیزی که از اول بوده است، تحویل دهید&#34;، این یک قانون عالی برای زندگی است. وقتی چیزی تحویل شما میشود، سعی کنید در انتها چیزی بهتر تحویل دهید، حتی اگر شما باعث بی نظمی آن نبوده باشید.این کار یکی از قوانین پیشاهنگی است. دقیقا همین مورد در مورد برنامه نویسی نیز صادق است. وقتی کدی را تحویل میگیرد، سعی کنید آن را تمیزتر تحویل دهید. اگر در حال خواندن کدهای برنامه ای هستید که توسط شخصی دیگر نوشته شده است و درک آن سخت است و مدتی را برای فهم آن صرف کرده اید، در نهایت تلاش کنید تا کدها را خواناتر کنید.یک نسخه مینیمالیستی از این قانون بیشتر شبیه به آواز خواندن در توالت های عمومی است. ما باید حداقل شرایط موجود را بدتر نکنیم. باید به یاد داشته باشیم که کدهایی که مینویسیم در آینده ممکن است قرار باشد توسط افراد دیگری مورد استفاده قرار بگیرید، پس بیایید زندگی آنها را سخت تر نکنیم.۲. در مورد مشکلات فکر کنید، نه تنها راه حل هاتوسعه دهندگان نرم افزار در پیاده سازی راه حل ها واقعاً عالی هستند. ما زبان ها، الگوها، کتابخانه ها، چارچوب ها و موارد دیگری را به خوبی میشناسیم و نحوه استفاده از آنها را می دانیم. مشکل این است که اغلب کارهایی که ما انجام می دهیم از دیدگاه کسب و کاربی معنی است.برخی از ویژگی هایی که در حال توسعه آنها هستید، ممکن است کپی کردن از موارد موجود باشد و صاحب کسب و کار از آنها اطلاع ندارد. در برخی موارد این ویژگی ها اصلا مورد توجه قرار نمیگیرند و هیچ کاربری از آنها استفاده نمیکند. این کار اتلاف وقت، پول و انرژی است. برنامه ای که مینویسید باید نیاز کاربران یک کسب و کار را رفع کند و قرار نیست برنامه نویسان دیگر را راضی کند.توسعه دهندگان کسانی هستند که هر روزه با برنامه کار می کنند. آنها همه ویژگی ها را می دانند حتی اگر کسی از آنها استفاده نکند. بعضی اوقات کارهایی که به نظر می رسد از منظر کسب و کار آسان باشد، ماه ها زمان برای توسعه آن نیاز است، پیاده سازی برخی از این قابلیت ها تقریبا غیر ممکن به نظر میرسد و معمولا دلیل آن عدم ارتباط بین افرادی است که یک ویژگی را اجرا می کنند و افرادی که درخواست آن را دارند. تفاوت زیادی بین دو مورد پایین وجود دارد.۱. فضای ذخیره سازی ثابتی برای سبد خرید کاربران ایجاد کنید۲. کاربران باید بتوانند سبد خرید خود را ذخیره کرده و از آن در برنامه موبایل و وب استفاده کنندمورد اول بسیار سر راست است و شاید هیچ سوالی درباره آن وجود نداشته باشد. اما مورد دوم کمی سخت تر است زیرا باعث می شود شما درباره دلایل آن فکر کنید و سپس میتوانید در مورد مسئله مطرح شده راه حل های خود را مشخص کنید. سؤالات زیادی در مورد جزئیات، الزامات عملکردی، ویژگی های کیفیت و سایر موارد وجود خواهد داشت. راه حل بدست آمده نیز بسیار کامل خواهد بود، زیرا در مورد مشکل تفکر کرده اید.۳. به کل هزینه های مالکیت فکر کنیدبسیار وسوسه کننده است که گاهی اوقات برخی از بخش ها را کوتاه کنید، از تست ها عبور کنید و آنها را به آینده موکول کنید. در بیشتر موارد، اگر برنامه شما به خوبی کار کند همین کارها را هم انجام میدهید. اما مشکلی که شما خواهید داشت اینست که احتمالاً چنین برنامه ای در نهایت با شکست روبه رو میشود. پس از آن رفع خطا ها نیز در آن مشکل خواهد بود.هزینه کل مالکیت یک برنامه، جمع هزینه های مربوط به تلاش های صرف شده از ابتدای توسعه، استقرار، نگهداری و تمام مراحل بعدی خواهد بود. اگر در حین توسعه از راه های میانبر استفاده کنیم، شاید هزینه ها در ابتدا کم شود و ممکن است سریعتر پیش روید، اما تعمیر و نگهداری برنامه در آینده وحشتناک خواهد بود، کاربران ناراضی خواهند بود و در کل همه چیز گران تر از آنچه باید برای شما رقم خواهد خورد. پس همیشه بهتر است هزینه ها را در همان ابتدای کار انجام دهید.۴. از SOLID استفاده کنیددر برنامه نویسی بسیاری از قوانین عالی در قالب کلمات کلیدی و اختصار وجود دارد: DRY ،KISS ،YAGNI ،SOLID از جمله این موارد هستند. SOLID مجموعه ای از قوانینی است که باید به پاکسازی کد های شما کمک کند و از مشکلات متداول جلوگیری کند.این اصول می توانند چک لیستی عالی برای کد شما قبل انتشار آنها در مخرن مربوطه باشد. آیا این کلاس از اصل مسئولیت واحد پشتیبانی می کند؟ آیا می توان این کلاس را توسط یک سلسله مراتب دیگر جایگزین کرد؟ این سوالات و پاسخ دقیق به آنها میتواند تا حدی زیادی از بروز مشکلات بزرگ در آینده جلوگیری کند. درک و استفاده آگاهانه از هرکدام از این قوانین، شما را به یک برنامه نویس بهتر تبدیل کرده و باعث افزایش کیفیت کدهای شما می شود.۵. از الگوهای طراحی استفاده کنیددر بیشتر موارد، شما اولین کسی نیستید که می خواهید مشکلی را که با آن روبرو هستید حل کنید و یا شما اولین کسی نیستید که قرار است یک ویژگی خاص را پیاده سازی کند. هزاران CRM ،CMS ، سیستم های بانکی، چت ها ، فروشگاه های آنلاین و ... وجود دارد که میتوانید به آنها فکر کنید.ممکن است سیستمی که شما در حال توسعه آن هستید در بازار بهترین باشد یا ویژگی های بسیار پیشرفته و منحصر به فردی را که هیچ کس دیگری در اختیار ندارد را ارائه دهد. وقتی قرار است یک برنامه بزرگ را پیاده سازی کنید، بهتر است از الگوهای طراحی استفاده کنید.بسیاری از این الگوها برای کدهای شما ساختار مناسبی را فراهم می آورند که در آینده بتوانید برنامه خود را بهتر مدیریت و نگهداری کنید. الگوهای طراحی زیادی وجود دارد که اگر علاقه مند باشید میتوانید آنها را مطالعه کنید، کافی است در اینترنت الگوهای طراحی و یا دیزاین پترن ها را جستجو کنید.۶. پیچیدگی را به حداقل برسانیدتوسعه نرم افزار به دلیل ماهیت وظایفی که دارد، خود یک کار پیچیده است. آن را پیچیده تر از چیزی که هست، نکنید. گاهی اجرای برخی از قوانین کسب و کار با به کار بردن چند if در توابع مربوطه وسوسه انگیز خواهد بود.با این کار اگرچه، توسعه سریعتر خواهد شد، اما کدها دشوارتر میشوند، و اضافه کردن ویژگی های جدید باعث پیچیدگی آن می شود. در این میان اگر چیزی اشتباه پیش برود، فهمیدن دلیل آن دشوارتر خواهد بود. دقت داشته باشید که برای شما خوانایی کدها همیشه باید از عملکرد آنها اهمیت بیشتری داشته باشد۷. این کار را به تنهایی انجام ندهبرنامه نویسی یک فعالیت اجتماعی است و می طلبد که برای کدنویسی از دیگران کمک بخواهید و نظرات آنها را بشنوید. دوران پیاده سازی برنامه ها توسط یک فرد به پایان رسیده است و به اشتراک گذاشتن تخصص و تجربیات اهمیت بیشتری پیدا کرده است.در بدترین سناریو افرادی که با آنها صحبت می کنید هیچ کمکی به شما نخواهند کرد، اما به احتمال زیاد بازخورد ارزشمندی را دریافت خواهید کرد. ممکن است فردی که در برنامه نویسی با او همکاری میکنید مشکلاتی را در راه حل پیشنهای شما پیدا کند. در نتیجه همیشه سعی کنید در یک تیم کار توسعه را پیش ببرید.۸. تست ها یک ضرورت هستندپیدا کردن اشکالات در اوایل کار بسیار مهم است و باعث صرفه جویی در تلاش و زمان شما میشود و البته شما را از تماس مشتریان عصبانی حفظ میکند. کشف زود هنگام مشکلات باعث می شود آنها راحت تر حل شوند.وقتی در حال توسعه برنامه هستیم، قادر به یادآوری تمام جزئیات و منطق موجود در مورد یک قطعه خاص از برنامه خواهیم بود. در این حالت هزینه رفع اشکالات خیلی کمتر از حالتی است که از نوشتن کدهای ما یکسال گذشته است. هزینه رفع اشکالات با گذشت زمان بصورت نمایی رشد می کند. بنابراین تست ها را هیچگاه فراموش نکنید.۹. زبان انگلیسی را یاد بگیریداشتراک دانش همیشه یکی از اصول جامعه نرم افزار بوده است. بیشتر اطلاعات در حوزه برنامه نویسی به زبان انگلیسی نوشته شده و به راحتی در دسترس است. این زبان در حال حاضر محبوب ترین زبان در سراسر جهان نرم افزار است.اگر قادر نباشید به زبان انگلیسی بنوسید یا بخوانید، زمان و فرصت های زیادی را از دست میدهید. علاوه بر این، نحو تقریباً هر زبان برنامه نویسی به طور پیش فرض به زبان انگلیسی نوشته شده است. زبان بسیاری از انجمن ها و سایت های پرسش و پاسخ بزرگ در حوزه برنامه نویسی به انگلیسی است.۱۰. انجام کارهای چندگانه شما را احمق میکندمردم به راحتی نمی توانند چندین کار را به یکباره انجام دهند. توسعه نرم افزار مستلزم استفاده از مفاهیم انتزاعی و اغلب ساختن مدلهای ذهنی کاملاً پیچیده است. اگر حواس پرت شدید یا شروع به کار بر روی چیز دیگری کردید، تمرکز خود را از دست میدهید و باید از ابتدا شروع کنید. علاوه بر این، مطالعات متعددی وجود دارد که ثابت کرده است که انجام چنیدن کار همزمان تأثیر منفی بر عملکرد، بهره وری و ضریب هوشی دارد.منبع : لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Sat, 15 Aug 2020 22:32:07 +0430</pubDate></item><item><title>۵ اشتباهی که هر برنامه نویس خود آموزی باید از آنها اجتناب کند</title><link>https://virgool.ir/@learnsource.net/۵-اشتباهی-که-هر-برنامه-نویس-خود-آموزی-باید-از-آنها-اجتناب-کند-qpbtfowkfsz7</link><description>به عنوان یک برنامه نویس خودآموز، ممکن است از روش های صحیح یادگیری محروم باشید، بنابراین بهتر است از اشتباهاتی که در این مقاله به آنها اشاره می شود، پرهیز کنید. تبدیل شدن به یک برنامه نویس خودآموز کار ساده ای نیست.همه ساله افراد زیادی با داشتن مدرک علوم کامپیوتر در دانشگاه فارغ التحصیل می شوند و اکثر آنها می خواهند به عنوان توسعه دهنده در شرکت های خوب مشغول به کار شوند. بنابراین، پیدا کردن اولین شغل به عنوان یک برنامه نویس خودآموز میتواند کار دشواری باشد.این لیست برخی از روشهایی که می توانید برای به دست آوردن اولین شغل خود به عنوان یک توسعه دهنده خودآموز در یک شرکت به کار ببرید را ارائه می دهد. در زیر برخی از اشتباهاتی که معمولا به عنوان یک برنامه نویس خود آموز ممکن است مرتکب شوید آورده شده است.۱. تمام دوره هایی که در اینترنت هست را نمی توان بدون پیش نیاز مشاهده کردفرض کنید تصمیم دارید نحوه ساخت یک برنامه اندرویدی را یاد بگیرید. به عنوان یک برنامه نویس خود آموز به سرعت شروع به جستجو در اینترنت می کنید و دوره های مرتبط اندرویدی را پیدا میکنید. حالا در یکی از آنها ثبت نام کرده و کار را آغاز میکنید.در ابتدا همه چیز خوب است، در مورد اصول اولیه، مانند نحوه تکامل اندروید مطالبی را یاد میگیرد. اما هرچه کلاس جلوتر می رود، مدرس شروع به استفاده از اصطلاحات پیچیده ای می کند که  که نمیتوانید آنها را درک کنید.ممکن است وقتی با این مشکل رو به رو میشوید از استاد خود معنی اصطلاح مربوطه را بپرسید. اما با گذشت زمان، مدرس شروع به استفاده از اصطلاحات پیچیده تر می کند و تعداد آنها افزایش میابد، در نتیجه شما با مشکلات بیشتری رو به رو خواهید بود.برخی از عباراتی که مدرسان بیشتر از آن استفاده می کنند مربوط به دانشگاه و کلاس های دولتی و خصوصی است. مفاهیم وراثت، چند ریختی ، کپسوله سازی، استثناها و .. شاید اصلا برای شما آشنا نباشد. اما پس از مدتی وقتی نتوانید درس را متوجه شوید ، احتمالا تسلیم می شوید و فکر خواهید کرد که برنامه نویسی برای شما مفید نیست.در نتیجه چیزی که شما باید همیشه در نظر بگیرید این است که. تمام دوره های موجود در اینترنت برای شما مناسب نیستند و تا زمانی که پیش نیازهای آنها را نشناسید به سراغشان نروید. پس همیشه به پیش نیازهای دوره نگاه کنید. ابتدا مقدمات را کامل کنید و مفاهیم پیچیده تر را یاد بگیرید. در این صورت هیچگاه انگیزه خود را از دست نخواهید داد.۲. به عنوان یک برنامه‌نویس خودآموز، ممکن است راه همواری برای یادگیری نداشته باشیدشما تصمیم گرفتید که توسعه وب را با استفاده از Node Js یاد بگیرید و همه پیش‌نیازهای لازم برای این دوره را که شامل مفاهیم Javascript است را میدانید و حالا در یک دوره آنلاین ثبت نام کرده اید. شما همه جلسات را دنبال می کنید و همه مفاهیم را خوب درک میکنید.حالا شروع به ساخت پروژه‌ای با مربی میکنید. با دنبال کردن راهنمایی های مربی، یک پلتفرم برای رسانه‌ های اجتماعی می سازید، که در آن مردم میتوانند با ورود به آن عکس های خود را به اشتراک بگذارند.حالا اگر بخواهید به کسی بگویید این پروژه را خودتان ایجاد کرده اید، کار درستی نیست زیرا شما با پیروی از دستورالعمل های مدرس دوره، یک پروژه ای را ایجاد کرده اید و مانند این است که کار کپی را انجام داده اید. با این حال اگر قرار است از پروژه برای نمونه کار استفاده کنید بهتر است پروژه ای را بدون مشورت مدرس و با کمک وب سایت های مطرحی مانند StackOverflow بسازید، سعی کنید ویژگی های مختلفی را به پروژه خود اضافه کنید.حالا می توانید به همه بگویید که کل پروژه را به تنهایی ساخته اید. به علاوه ، شما می توانید همان پروژه را در رزومه کاری خود بگنجانید زیرا اکنون می دانید چگونه شبیه آن پروژه را با ویژگی های مختلف بسازید. بنابراین این یک اشتباه است که فکر کنید یادگیری از طریق دوره های آنلاین صحیح نیست.۳. آگاهی از ساختار داده ها و الگوریتم ها شما را به یک حل کننده مسائل تبدیل میکنداین احتمال وجود دارد که اگر شما یک برنامه نویس خود آموز باشید، دانش ساختارها و الگوریتم های داده را مهم ندانید. برنامه نویسان، به ویژه کسانی  که خودشان همه چیز را یاد میگیرند، فکر می کنند که تنها شرط  برای پیشبرد اهدافشان، شناختن ابزارها و فناوری هایی است که قرار است از آنها استفاده کنند.اما باید بدانید که دانستن ابزارها و فناوری ها فقط کار را کمی ساده تر می کند. اما دانستن استفاده صحیح از ساختار داده برای حل یک مشکل خاص و چگونگی اجرای آن نه تنها به بهبود عملکرد کمک می کند، بلکه خطر شکست در موارد مختلف را به حداقل می رساند.فرض کنید شما به عنوان یک برنامه نویس در یک شرکت خوب مشغول به کار هستید که در آن عموماً برای حدود ۱۰،۰۰۰ نفر نرم افزار تهیه می کنید. تا این مرحله ، نیازی به استفاده از ساختار داده و یا الگوریتم خاصی نیست.اما یک روز، شرکت از شما میخواهد، یک محصول نرم افزاری بسازید که حداقل ۵۰،۰۰۰ نفر بتوانند همزمان از آن استفاده کنند، در اینجا اگر ندانید از کدام ساختار و یا الگوریتم استفاده کنید، دچار مشکل خواهید شد. برای ساختن یک محصول مقیاس پذیر ، شما نیاز به درک خوبی از ساختار داده ها و الگوریتم ها دارید.۴.گسترش شبکه شما به عنوان یک برنامه نویس به اندازه کد نویسی بسیار مهم استشما به عنوان یک برنامه نویس خودآموز، کل روز را صرف نشستن در مقابل رایانه خود خواهید کرد. نشستن در تمام طول روز و برنامه نویسی مطمئناً شما را به یک برنامه نویس خوب تبدیل می کند، اما شما احساس تنهایی خواهید کرد و در نهایت این کار شما را به یک فرد کسل تبدیل می کند. شبکه سازی با افراد مختلف به شما امکان می دهد در مورد جوانب مختلف زندگی بیاموزید و به عنوان یک برنامه نویس از کار خود لذت ببریدبه جای اینکه به تنهایی یکجا بنشینید و برنامه نویسی کنید. سعی کنید دوستان خوبی پیدا کنید، برخی از آنها دارای مدرک علوم کامپیوتر هستند، برخی در رشته روانشناسی و برخی در امور مالی و حسابداری تبحر دارند.در این صورت می توانید دانش خود را با آنها به اشتراک بگذارید و از آنها بیاموزید. همچنین در سفر خود برای تبدیل شدن به یک برنامه نویس عالی کامپیوتر، دوستانی که فارغ التحصیل رشته کامپیوتر از دانشگاه هستند، میتوانند به شما کمک زیادی کنند. شبکه سازی حتی میتواند در آینده کاری شما تاثیر داشته باشد، بسیاری از ما توسط دوستانمان به شرکت های مختلف معرفی می شویم.۵.مردم شکایت می کنند که شما چیزی نمی دانیداگر یک برنامه نویس خودآموز هستید، بیشتر اوقات افرادی که تجربه بالاتری از شما دارند به دلیل سرخوردگی ممکن است به شما بگویند چیزی نمیدانید. گاهی اوقات آنقدر این مورد به شما گفته میشود که باور می کنید که چیزی نمی دانید.در نظر داشته باشید که به عنوان یک برنامه نویس همیشه در حال یادگیری هستید. با این حرف ها ناامید نشوید و احساس نکنید وقت و زمان خود را هدر داده اید، بلکه بیشتر روی کار خود تمرکز کنید و سعی کنید هر چه سریعتر چیزهای جدید یاد بگیرید. سعی کنید با گذشت زمان ، کارهای خود را بهبود بخشید.اگر فروتن باشید و روی رشد خود به عنوان یک برنامه نویس متمرکز شوید، شانس خوبی خواهید داشت که مردم بعد از یکسال همیشه به دنبال شما باشند. سعی کنید از کسانی که به شما انتقاد می کنند، قدردانی کنید، زیرا آنها باعث پیشرفت شما میشوند.منبع: لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Fri, 14 Aug 2020 16:53:47 +0430</pubDate></item><item><title>۵ دلیل برای استفاده از محیط کدنویسی ویژوال استادیو کد</title><link>https://virgool.ir/@learnsource.net/۵-دلیل-برای-استفاده-از-محیط-کدنویسی-ویژوال-استادیو-کد-cujbvzzek9q1</link><description>ویژوال استودیو کد یک ویرایشگر کدنویسی بسیار مشهور است که توسط میلیون ها نفر از توسعه دهندگان در سراسر جهان استفاده می شود.اگر یک توسعه دهنده وب هستید، احتمالاً از ویژوال استادیو کد برای کدنویسی در پروژه های خود استفاده کرده اید. این ویرایشگر به سرعت در بین توسعه دهندگان محبوبیت کسب کرده است، و در سایت Stack Overflow به عنوان برترین ویرایشگر کد شناخته میشود.محبوبیت ویرایشگر ویژوال استادیو کد در این سالها با افزایش کار در زمینه توسعه وب افزایش داشته است، برنامه نویسان به یک ویرایشگر قدرتمند، ساده و در عین حال سبک نیاز داشتند که بتوانند نیاز های کدنویسی خود را رفع کنند، خوشبختانه ویژوال استادیو کد این نیاز را به خوبی رفع کرده است و فاقد پیچیدگی های بسیاری از ویرایشگر های رایج در بازار است.این برنامه همچنین رایگان است و توسط مایکروسافت با رویکردی مدرن با استفاده از Electron توسعه داده شده و نگهداری می شود. در این مقاله به برخی از ویژگی هایی خواهیم پرداخت که ویژوال استادیو کد را در صدر ویرایشگرهای کدنویسی قرار می دهد.۱. متن باز بودناین واقعیت که ویژوال استادیو کد یک نرم افزار متن باز است، خود یک مزیت بسیار بزرگ محسوب میشود. وقتی یک نرم افزار متن باز باشد، نه تنها میتوانید به صورت رایگان از آن استفاده کنید، بلکه دیگران میتوانند در جهت ارتقا آن کمک کنند.اگر می خواهید در این پیشفرفت مشارکت داشته باشید، میتوانید به راحتی به سورس کد این برنامه در گیت هاب مراجعه کنید. اگر چه بسیاری از استفاده کنندگان این نرم افزار در سورس کد آن نقشی ندارند، اما متن باز بودن یک برنامه احساس خوبی به یک برنامه نویس میدهد. ویرایشگرهای کد دیگری مانند Atom و حتی IDE های کاملس مانند Eclipse یا NetBeans نیز منبع باز هستند.۲. سادگیاز اولین گام ها در ویژوال استادیو کد، نصب افزونه های مربوط به کار شما است که بسیار ساده قابل انجام است، باید بدانید که انجام کارها در این ویرایشگر محبوب بسیار ساده تر از چیزی که فکر میکنید، قابل انجام است.البته این سخن به این معنا نیست که خود ویژوال استادیو دارای امکانات اولیه نیست، اما در حال شما میتوانید با افزونه های مختلف آن را قدرتمند تر از قبل کنید. به لطف ویژگی افزونه پذیر بودن این ویرایشگر، حتی میتواند به اندازه یک IDE برای شما ارزشمند باشد. اما برخلاف محیط های برنامه نویسی، همچنان ویژوال استادیو کد از سادگی فوق العاده ای برخوردار است.۳. آشناییویژوال استادیو کد با استفاده از Electron ساخته شده است - چارچوبی برای ایجاد برنامه های دسکتاب با استفاده از جاوا اسکریپت البته با کمک Node.js. بسیاری از توسعه دهندگانی که از این ویرایشگر استفاده میکنند، به خوبی میدانند که برنامه های نوشته شده با الکترون از حافظه به مقدار زیادی استفاده میکنند و در کارایی کمی بدنام هستند، با این حال سرعت این نرم افزار فوق العاده است.از طرف دیگر ویژوال استادیو کد از ادغام چشمگیر TypeScript برای تکمیل خودکار کدها استفاده می کند. اگر شما از تایپ اسکریپت برای کدنویسی استفاده میکنید، ویژوال استادیو کد بهترین انتخاب برای شماست.بنابراین ، این واقعیت که ویژوال استادیو کد با استفاده از فن آوری های قدرتمند ساخته شده است و همچنین از آنها پشتیبانی خوبی دارد، باعث می شود که برای بخش بزرگی از توسعه دهندگان وب یک انتخاب خوب باشد.۴. طراحی حداقلیطراحی معمولاً موضوعی بسیار انتزاعی است، گاهی اوقات ساده بودن به شما کمک میکند، ویژوال استادیو کد نیز از این قاعده پیروی کرده است. رابط کاربری این ویرایشگر بسیار خوش ساخت و تمیر طراحی شده است.اگر تم اولیه را که به طور پیش فرض در این ویرایشگر به شما پیشنهاد میشود، را خیلی دوست ندارید ، می توانید تم های دلخواه خود را با انعطاف پذیری بالایی ایجاد کنید که به شما امکان می دهد تقریباً همه عناصر رابط کاری آن را سفارشی سازی کنید.اگر خودتان فرصت ایجاد یک تم را ندارید، میتوانید از بین هزاران تم زیبایی که برای این نرم افزار وجود دارد، یکی را انتخاب کنید. شاید تنها رقیبی که برای ویژوال استادیو در این زمینه وجود دارد، اتم است.۵. افزونه هاافزونه ها میتوانند اهداف متفاوتی داشته باشند، از تم های رابط کاربری گرفته تا پشتیبانی از زبان های برنامه نویسی، دیباگینگ و ... همه میتوانند توسط افزونه ها برای شما انجام شوند.افزونه ها در اینجا بسیار مهم هستند زیرا آنها ویژوال استادیو کد را تبدیل به یک نرم افزار بسیار توانمند می کنند. بدون آنها نمیتوانید از توان ویژوال استادیو کد به خوبی استفاده کنید. افزونه ها برای شخصی سازی این ویرایشگر با توجه به نیازهای شما واقعاً مهم هستند.نتیجه گیریدر این مقاله به ویژگی های مختلف ویرایشگر ویژوال استادیو کد پرداختیم که باعث شده است بسیار محبوب باشد. اگر تا به حال کار با این ویرایشگر را آغاز نکرده اید، هنوز دیر نشده، همین حالا آن را نصب و از قابلیت های ممتاز آن لذت ببرید.منبع : لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Sun, 09 Aug 2020 21:51:10 +0430</pubDate></item><item><title>۱۰ چیزی که به عنوان یک برنامه نویس ارشد باید بدانید!!</title><link>https://virgool.ir/@learnsource.net/۱۰-چیزی-که-به-عنوان-یک-برنامه-نویس-ارشد-باید-بدانید-wuwweuhq79ak</link><description>در این مقاله به مواردی اشاره خواهیم کرد که شاید کسی قبلاً در مورد آن‌ها با شما صحبت نکرده باشد، اما شما به عنوان یک برنامه نویس ارشد باید از این موارد کاملاً  مطلع باشید. پس برای آشنایی با این ۱۰ مورد تا انتهای مقاله همراه ما باشید.شما همیشه همه کدها را نمی نویسیدبه ندرت پیش می آید که بخواهید یک پروژه را از صفر تا صد کدنویسی کنید، به خصوص اگر پروژه ای که روی آن کار می کنید، بسیار بزرگ باشد. اگر بخواهید همه چیز را از اول کد نویسی کنید، دچار مشکل خواهید شد.در این راه گاهی اوقات از فریم ورک های مختلف باید استفاده کنید و البته گاهی از کتابخانه های ثالث. برای مثال وقتی از فریمورک های PHP و یا Asp.net برای کدنویسی سمت سرور یک پروژه استفاده میکنید، لازم نیست بخش اعتبارسنجی آن را خودتان طراحی کنید، این بخش نیاز به ظریف کاری های خاصی دارد، و یک اشتباه میتواند امنیت سایت شما را به خطر بیندازد. بنابراین در اینگونه موارد از امکانات توکار فریم ورک ها بهره مند میشویم.شما نمی توانید همه چیز را کنترل کنیدبه تیم خود اعتماد کنید، اگر سعی داشته باشید که همه چیز را کنترل کنید، هرگز به عنوان یک تیم رشد نخواهد کرد، تمام توسعه دهندگان نقاط قوت و ضعفی دارند که این نقاط قوت و ضعف در رهبران گروه نیز وجود دارد، لازم نیست در همه چیز متخصص باشید.در نهایت شما مجبورید به اعضای تیم تان بسته به تخصصی که دارند اعتماد کنید، این کار نتیجه بهتری برای شما رقم خواهد زد. پروژه های بزرگ با تقسیم بخش های کوچک کار آسان تر پیاده سازی میشوند.برقراری ارتباط با برخی از توسعه دهندگان دشوار استهمانطور که همه ما می‌دانیم، توسعه دهندگان یک گروه شلوغ نیستند، اما وقتی شما یک توسعه دهنده ارشد باشید، بیشتر متوجه این موضوع خواهید شد! برخی در تلاش اند که توسعه دهندگان با ایده آنها به خوبی ارتباط برقرار کنند.برقراری ارتباط با برخی از توسعه دهندگان کار مشکلی است و اهمیتی ندارد که شما چقدر از آنها درخواست داشته باشید. سعی کنید با روش های مختلف ارتباطات خود را با آنها افزایش دهید.توسعه دهندگان تازه کار می‌توانند شما را غافلگیر کنندتوسعه دهندگان تازه کار خیلی سریعتر از زمانی که فکر می کنید پیشرفت می کنند. آنها می توانند وقتی با یک مشکل در پروژه برخورد میکنند، برای رسیدن به پاسخ سوال همه چیز را زیر و رو کنند.خیلی زود متوجه خواهید شد، کسانی که بیشتر مراقب آنها هستید، موفق تر از کسانی هستند که تجربه بیشتری بدست آورده اند.شما باید زمان کافی برای انجام پروژه را به خوبی تخمین بزنیدوقتی شروع به تخمین زدن می کنید، به سرعت متوجه میشوید که اعضای تیم تان  تمایل به دست کم گرفتن آن دارند، هیچ کسی دوست ندارد آهسته به نظر برسد، این طور نیست؟باید به این نکته توجه داشته باشید که تخمین زمان برای تحویل پروژه بسیار اهمیت دارد و اگر به عنوان یک توسعه دهنده ارشد مسئولیت یک تیم را به عهده دارید، باید متوجه این موضوع باشید، زیرا کسانی که به شما پروژه سفارش داده‌اند، مدام تحویل پروژه را از شما درخواست خواهند داشت.پس در همان ابتدای کار زمان لازم برای بازبینی کدها، اعمال تست ها و اختمالا رفع خطا ها را در نظر بگیرید. با گذشت زمان و بدست آوردن تجربه های بیشتر خواهید توانست زمان تحویل دقیق تری را تخمین بزنید.توسعه دهندگان از ایجاد آزمایش ها خوششان نمی آیدوقتی با یک تیم برنامه نویس شروع به کار می کنید خیلی زود متوجه خواهید شد که توسعه دهندگان تمایل به انجام تست های متعدد را روی پروژه ندارد. زیرا هر کسی فکر میکند کد او به درستی کار میکند. اما باید به خاطر داشته باشید، که در زمان استفاده از برنامه است که خطاها مشخص میشوند، پس تا جای ممکن باید تست ها را انجام دهید.مواردی وجود دارد که باید برای خودتان بارها و بارها تکرار کنیدآیا می توانستم عملکرد مربوطه را به شکل مفیدتری پیاده سازی کنم؟آیا می توانستم کد خوب را به شیوه ای بهتر مستند سازی کنم؟آیا کدی که نوشته ام در شرایطی که فشار زیادی روی سرور است هم به خوبی کار میکند؟و البته سوالات زیاد دیگری که میتوانید از خودتان بپرسید.شما خیلی زود متوجه اهمیت مستندسازی در کدهای خود خواهید شدمستند سازی یکی از کارهایی است که شاید توسعه دهندگان چندان از آن خوششان بیاید، اما در هر حال کاری ضروری و مهم است، پس از اینکه از شما سوالاتی هزاران بار پرسیده شود، خواهید فهمید که بهترین کار مستند سازی است، در این صورت می توانید از توسعه دهندگان بخواهید برای دریافت پاسخ سوال خود به مستندات مراجعه کنند. پس از اعضای تیم خود بخواهید که اولا کدهای خود را طوری بنویسند که برای همه قابل درک باشد و ثانیا مستند سازی را فراموش نکنند.شما به تصویر بزرگتری از پروژه نگاه خواهید کرداز آنجا که شما بسیاری از کدها را مرور خواهید کرد (در برخی موارد همه کدها را)، در واقع درک بهتری از نحوه متناسب کردن همه چیز با هم خواهید داشت، اگرچه ممکن است یک خط کد هم ننوشته باشید.وقتی توسعه دهنده ای ارشد باشید میتوانید در مورد تکنولوژی مورد استفاده بحث کنیداحتمالا این مورد را دوست داشته باشید. با توجه به تجربه ای که دارید و کارهایی که تاکنون انجام شده است، خیلی راحت میتوانید در مورد تکنولوژی ها و زبان های مورد استفاده در شرکت صحبت کنید و دید وسیع تری نسبت به دیگران خواهید داشت.سخن آخرآیا دوست دارید به یک توسعه دهنده ارشد تبدیل شوید؟ آیا این عنوان برای شما مناسب است؟ اگر مایل هستید میزان کدنویسی خود را فدای انجام فرآیندهای مختلف و تلاش برای درک تصویر بزرگتر از پروژه کنید، شاید این عنوان برای شما مناسب باشد. در هر حال مواردی که در بالا گفته شد جز مواردی است که به عنوان یک توسعه دهنده ارشد باید به آن توجه داشته باشید.منبع : لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Fri, 07 Aug 2020 17:09:49 +0430</pubDate></item><item><title>بهترین چیزهایی که وقتی یک توسعه دهنده هستید، از آن برخوردارید</title><link>https://virgool.ir/@learnsource.net/بهترین-چیزهایی-که-وقتی-یک-توسعه-دهنده-هستید-از-آن-برخوردارید-zkuuggh5fklb</link><description>هیچ زمانی بهتر از این زمان برای تبدیل شدن شما به یک توسعه دهنده وب وجود ندارد. من توسعه وب را از چهار سال پیش در حالی که یک دانشجو بودم آغاز کردم. بعد از شش ماه مطالعه و یادگیری گسترده اصول اولیه برای توسعه وب، اولین پروژه خود را استارت زدم.در آن روزها شاید چیزی حدود ۱۵ ساعت از یک روز خود را در جلوی کامپیوتر میگذارندم. علاقه شدیدی به برنامه نویسی و طراحی وب داشتم و تا میتوانستم برای رسیدن به جایگاه یک برنامه نویس حرفه ای تلاش کردم.این تمرکز، نظم و انضباط ، جاه طلبی و پشتکار من بود که باعث شد، اولین شغل خود را بدست آورم و بهترین بخش این کار این بود که میتوانستم، از راه دور این کار را انجام دهم. در ایم مقاله میخوام در مورد خوبی های شغلتان به شما بگویم، پس تا آخر این مقاله همراه من باشید.شما می توانید از راه دور کار کنیداین قسمت بسیار مورد علاقه من است و دلیل اصلی شروع این کار برای من دورکاری بوده است. این انگیزه و رویای من است. من هرگز چنین آزادی را در کل زندگی خود احساس نکرده ام. من می توانستم در هر جایی کار کنم، می توانم به هر زمانی که بخواهم شروع به کار کنم.انعطاف پذیری و آزادی چیز بسیار ارزشمندی است. من یاد می گرفتم و حقوق می گرفتم. این واقعا یک رویاست. روزی که شروع به یادگیری کردم، واقعاً فکر نمیکردم که بتوانم بسیاری از مطالب را خودم یاد بگیریم.هیچ چیز غیرممکنی وجود ندارد اگر کاری را دیگران انجام میدهند، چرا شما نتوانید این کار را انجام دهید. شما باید به خودتان ایمان داشته باشید، باید پایدار باشید زیرا، تنها چیزی که برای رسیدن به رویاهای خود نیاز دارید، تلاش و پشتکار است. وقتی شما بتوانید از راه دور کار کنید، دارای آزادی زیادی هستید، ثروت فقط پول نیست، برخی ثروت برایشان زمان و جایی است که مشغول به کار میشوند.آیا همه این آزادی را دارند که در خانه بنشینند و وقتی در حال خوردن قهوه هستند، پول در بیاورند. چرا بخواهیم ۵۰ سال کار سخت را تحمل کنیم که ۱۰ سال آخر زندگی خوش باشیم. تازه در آن موقع سن شما بالا رفته و از بسیاری از لذت ها هم محرومید.خوب پس به دنبال کاری باشید که آزادی در آن برای شما وجود داشته باشد. فرض کنید همین فردا تصمیم بگیرید به یک مسافرت بروید، وقتی رئیس داشته باشید، اجازه شما دست اوست، اما وقتی به صورت دورکاری کار میکنید، چنین مشکلاتی را نخواهید داشت.شما می توانید کسب و کار شخصی خود را راه اندازی کنیدپس از چندین سال کار به عنوان یک توسعه دهنده، بعد از تمام تجربه ای که شما جمع کرده اید، به راحتی میتوانید یک شرکت فناوری اطلاعات را راه اندازی کرده و کسب و کار خود را داشته باشید، میتوانید تیمی را برای پیشبرد اهداف خود راه اندازی کنید.با تمام مهارتهایی که آموخته اید، دیگر نیازی نیست که هنگام ایجاد یک تجارت یا خدمات سودآور، هزینه های زیادی را صرف کنید. شما می توانید این کار را به تنهایی در آخر هفته یا در تعطیلات انجام دهید و اکنون که جهان به دلیل ویروس کرونا تحت قرنطینه است و همه در خانه مشغول به کار هستند، این بهترین راه برای ساختن استارتاپ سودآور شما است. شما می توانید از این وضعیت بهترین استفاده را داشته باشید.فناوری بیش از آنچه پیش بینی می شد در حال رشد است. تکه ای از آن را بگیرید و بدون فکر در مورد چیزهای دیگر کسب و کار خود را شروع کنید. بدترین سناریو این است که پروژه شما برای کسی قابل استفاده نیست و میتوانید از آن به عنوان یک نمونه کار استفاده کنید.شما به راحتی می توانید از کار تمام وقت به یک کار فریلنسری تغییر رویه دهیدبا پیشرفت تکنولوژی، تقاضا برای توسعه دهندگان و مهندسان به سرعت در حال افزایش است. شرکت‌های متعددی وجود دارند که ترجیح می‌دهند آزادکارانی را برای انجام پروژه های خود استخدام کنند.من در حین اینکه جایی به صورت تمام وقت مشغول کار بودم، در زمان فراغت از کار نیز به کار فریلنسری میپرداختم. وقتی یک توسعه دهنده باشید، هیچ محدودیتی در کار ندارید، فقط باید یک کامپیوتر داشته باشید. البته نکته مهمی که اینجا وجود دارد، این است که برای تبدیل شدن به یک فریلنسر، باید مطمئن شوید که چندین سال تجربه کسب کرده‌اید و رزومه شما کاملا برجسته است.زمانی که پروژه‌های مستقلی را انجام می‌دهید ، مطمئن شوید که به وعده‌های خود به خوبی عمل میکنید. مشتریان را سورپرایز کنید، آنها نباید از شما ناامید شوند. بهتر است بیش از چیزی که آنها میخواهند را تحویل دهید، همین باعث تبلیغ برای کار شما خواهد شد. مطمئنا از وقتی که گذاشته اید، پشیمان نمیشوید.میتوانید چیزهای فوق‌العاده‌ای برای خودتان بسازیداین احساس که شما میتوانید چیزی را از تخیل به واقعیت تبدیل کنید، واقعا فوق العاده است. در واقع به هر چیزی که فکر کنید، میتوانید ایجادش کنید. من با این حس ارزش زیستن پیدا میکنم. با مهارت های خود میتوانید هر برنامه یا وبسایتی را راه اندازی کنید. از مهارت های خود برای پیشرفت زندگی مردم استفاده کنید، افرادی که توانسته اند، دنیا را متحول کنند، برای پول کار نمیکردند.نتیجه گیریوقتی یک توسعه دهنده باشی، شغلی داری که شاید برخی ها حسرت داشتن آن را دارند، اکثر توسعه دهنده ها از حقوق خوبی برخوردار هستند، از طرفی شما دارای آزادی هایی هستید، که دیگران از آن محروم هستند.منبع : لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Thu, 11 Jun 2020 16:09:33 +0430</pubDate></item><item><title>یادگیری پایتون از نقطه نظر توسعه دهندگان ++C</title><link>https://virgool.ir/@learnsource.net/یادگیری-پایتون-از-نقطه-نظر-توسعه-دهندگان-c-mh7u6nyq4ltb</link><description>هر توسعه دهنده باید برای رشد خود تلاش کند. اگر اشتیاقی برای ارتقا مهارت های خود نداشته باشید، نمیتوانید به صورت حرفه ای رشد کنید. کلید تکامل شخصی به عنوان یک توسعه دهنده، خارج از محدوده ای است که در آن احساس راحتی میکنید.ممکن است شما یک معلم در یک زبان برنامه‌نویسی باشید اما احتمالاً بدون نگاه از بیرون، آن را درک نخواهید کرد. به همین دلیل است که یاد گرفتن یک زبان برنامه‌نویسی، چارچوب یا تکنولوژی جدید مهم است، در این صورت خودتان را محدود به یک مهارت نکرده اید.من برای بیش از ۵ سال به عنوان یک توسعه دهنده نرم‌افزار کار کرده‌ام، و در این مدت به با ۶ زبان برنامه نویسی مختلف سر و کار داشته ام. با این حال، مهارت اصلی من زبان ++C است، که به آن علاقه زیادی دارم. به دلایلی که در بالا ذکر کردم، تصمیم گرفتم که بیش از یک زبان برنامه نویسی را امتحان کنم.یکی از زبان هایی که به سمت آن حرکت کرده ام، زبان پایتون است، چیزهایی زیادی در این مسیر یاد گرفتم و الان میخواهم از نقطه نظر یک برنامه نویس ++C آنها را اینجا مطرح کنم.زبانهای بیشتر - درک بهترهر زبان برنامه نویسی جدید چیز جدیدی را برای درک چگونگی حل مسئله به ارمغان می آورد. وظایف مختلف به رویکردهای متفاوتی نیاز دارند و هر زبان برنامه‌نویسی برای یک رویکرد عینی مشخص طراحی شده است.البته می ‌توان یک الگوریتم یادگیری ماشین را در ++C یا برنامه نظارت بر سیستم را بر روی پایتون توسعه داد. اما آیا به راحتی میتوانید این کار را انجام دهید؟ هر زبانی در حوزه ای قوی تر عمل میکند و بهتر است برای رسیدن به هدف خود از یک زبان مناسب استفاده کنید . پایتون و ++C زبان های متفاوتی هستند که هر کدام را میتوان در حوزه مناسب آن به کار برد.اسکریپت نویسی و مدل سازیاولین چیزی که با استفاده از زبان پایتون ایجاد کردم مدل الگوریتمی بود که بعداً با ++C نیز آن را دوباره نوشتم. در این تجربه متوجه شدم که پایتون برای مدل سازی مناسب تر است، زیرا دارای قاعده نوشتاری ساده تر بوده و کدهای آن کوتاه تر و جمع و جور تر است، از طرفی دیگر کتابخانه های جانبی زیادی برای این کار دارد.دومین باری که از پایتون استفاده کردم، زمانی بود که میخواستم اسکریپتی را برای ساخت یک پروژه بزرگ ایجاد کنم. پایتون برای اسکریپت نویسی عالی است. به راحتی میتواند با سیستم ارتباط برقرار کند و با دیگر اسکریپت ها و برنامه ها در تعامل باشد، به عنوان یک برنامه نویس، پایتون جایگزین خوبی به جای bash-scripting برای من بوده است.پس از مدتی که با زبان پایتون کار کردم، متوجه شدم که این زبان نه تنها برای یادگیری ماشین بلکه برای انجام وظایف علوم داده نیز فوق االعاده است. با این همه، هنوز باور دارم که این زبان بهترین زبان نیست و شاید بتوان ابزارها و زبان های دیگری را نیز پیدا کرد که از آن بهتر باشند.قواعد نوشتاریشاید فکر کنید، میخواهم در مورد سمی کالن ها صحبت کنم، اما این طور نیست. پایتون به خاطر نحو بسیار ساده و کد های فشرده، بسیار جذاب است. هنگامی که آن را با آشفتگی کد ها در زبان C و ++C و یا حتی با غیر قابل خوانا بودن کدها در پرل مقایسه میکنید، متوجه میشوید که منظور من چیست. از این جهت این زبان یک زبان ایده آل برای افراد مبتدی است و در بسیاری از مدارس و دانشگاه ها تدریس میشود.همه چیز در یک عبارتجمع و جور و مرتب بودن از ویژگی های اصلی زبان پایتون است. حتی میتوانید با یک خط کد وظیفه ای معنا دار را انجام دهید. اصطلاحات در این زبان ظریف بوده و خواندن کد ها دلپذیر است. بسیاری از کارهایی که در این زبان در یک خط قابل انجام است، در زبان های دیگر نیاز نوشتن چندین خط دارد.محیط برنامه نویسیJupyter یکی از کشف های بزرگ من در زمان یادگیری زبان پایتون بوده است. این نرم افزار در حوزه برنامه نویسی پایتون در علوم داده استفاده میشود. در این محیط به راحتی میتوانید، خروجی های خود را در لحظه مشاهده کنید.از ویژگی های Jupyter امکان اجرای سریع مجدد فقط بخشی از کد ها بدون علاقه به سایر قسمت هاست. در زبان ++C حتی با اضافه کردن یک کامنت باید برنامه را دوباره کامپایل کنید. اما این کار در ژوپیتر برای شما بسیار ساده تر است. بنابراین، Jupyter برای انجام هرگونه کار علمی تکراری مانند داده سازی یا تجزیه و تحلیل داده ها مناسب است.داینامیک در مقابل استاتیکهمیشه یک جنگ قدیمی بین زبان‌های دارای نوع های پویا و زبان‌های دارای نوع های ایستا وجود داشته است . البته من از هیچکدام آنها جانب داری نمیکنم. بعد از مدتی طولانی که این نوع زبان ها در کنار یکدیگر رشد کرده اند، به این نتیجه رسیده ایم که ما چیزی میان آنها را نیاز داریم. زبان ++C بیشتر روی انواع استاتیک تاکید دارد، در حالی که زبان پایتون بیشتر با انواع پویا سر و کار دارد.همه چیز شی محسوب میشودمن به عنوان فردی که با برنامه های ++C مبتنی برOOP یا شی گرایی بسیار کار می کند، این اصل را بسیار رضایت بخش می دانم. توانایی کار با لیترال ها، انواع اولیه و توابع در کنار اشیا، بسیاری از فرآیند های برنامه نویسی را بهبود میبخشد. شی گرایی یک متد یا روش در برنامه نویسی است که در هر دو زبان یافت میشود.آرگومان های توابعاین یکی از ویژگی های جالب زبان پایتون است، شما کنترل کاملی بر روی آرگومان توابع دارید، در این زبان انواع مختلفی از آرگومان ها وجود دارد، از جمله آرگومان های نام دار و بی نام، آرگومان های ثابت و غیر ضروری، آرگومان های پیشفرض. برخی از این ویژگی ها به ندرت در زبان ++C یافت میشوند. شاید یکی از نکات مثبت زبان‌های برنامه‌نویسی پویا باشد.پایتون در ویژگی Multi-threading حرفی برای گفتن نداردخوب، این یک حقیقت تلخ است و هیچ کس نمی تواند آن را انکار کند. پایتون قدرت استفاده از قابلیت چند رشته ای را ندارد. در مقابل زبان ++C در زمینه کاملا غنی بوده و پیروز میدان است. البته اگر شما یک دانشمند علوم داده هستید به ندرت از این قابلیت استفاده میکند.خیلی خیلی کندحقیقت تلخ دیگری که پس از مهاجرت از زبان ++C به پایتون متوجه آن میشوید، این است که زبان های مفسری مانند پایتون بسیار کندتر از زبان های کامپایلری مانند ++C هستند. در نتیجه این زبان ها از سرعت اجرای پایین تری برخوردار هستند. اما با وجود کامپیوترهای سریعی که امروزه وجود دارد، این اختلاف به چشم نمی آید.منبع : لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Fri, 05 Jun 2020 19:15:38 +0430</pubDate></item><item><title>فعالیت های هر روزه ای که به شما کمک میکند، توسعه دهنده بهتری باشید</title><link>https://virgool.ir/@learnsource.net/فعالیت-های-هر-روزه-ای-که-به-شما-کمک-میکند-توسعه-دهنده-بهتری-باشید-eekgpigrjtmj</link><description>هر روز بهتر شدن یکی از اهداف مهم توسعه دهندگان است. برای رسیدن به این هدف انجام آموزش ها و خواندن مستندات باید بخشی از کارهای روزمره شما باشد. شاید شما فکر کنید این موارد کافی نیست و به ایده های بیشتری نیاز دارید.در این مقاله لیستی از فعالیت های جانبی آورده شده است که میتواند در راه تبدیل شدن به یک توسعه دهنده بهتر به شما کمک کند. پس تا پایان مقاله همراه ما باشید.فعالیت هایی که میتوانید از همین امروز شروع کنیدمیخواهیم از این نکته شروع کنیم که بهتر است به طور موازی روی چندین فعالیت کار کنیم. انجام یک فعالیت یکسان برای مدت طولانی می تواند خسته کننده باشد، که به نظر من خود این باعث میشود بهره وری شما پایین بیاید. جابه جایی میان فعالیت ها و پروژه های مختلف به شما امکان می دهد که هنگام خسته شدن، کاری دیگری انجام دهید.۱. چالش های کدنویسی الگوریتم هاانجام یک چالش کدنویسی الگوریتم ها یکی از کارهای مهمی است که میتوانید انجام دهید. مهم نیست که در چه سطحی هستید، همیشه چالش‌هایی برای مقابله با مهارت‌های شما وجود دارد. توصیه من این است که با همکاران خود مشورت کنید.من این کار را با همکارانم در شرکت قبلی ام انجام دادم. صبح ها، ما یک چالش را انتخاب میکردیم و برای حل آن  ۱۵ دقیقه فکر میکردیم. پس از آن کدهای همدیگر را بررسی میکردیم و کد بهینه تر را انتخاب میکردیم. این چالش ها همیشه بحث های جذابی را برای ما به وجود می آورد.شما می‌توانید به طور متناوب بین چالش‌های ساده و پروژه‌های پیچیده ‌تری قرار بگیرید. هدف از این چالش‌ها، رسیدن به راه‌حل بهینه است. برای آنهایی که دشوار هستند، اگر به جواب نرسید، حداقل تلاش خود را انجام داده اید.۲. در پروژه‌های منبع باز مشارکت کنیدمن مطمئنم که همیشه یک پروژه منبع باز وجود دارد که شما آن را دوست داشته باشید. شما میتوانید برای بالابردن توانایی های خود در آنها مشارکت کنید و از کدهای دیگران مطلع شده و ویژگی های پروژه را ارتقا دهید.فواید بسیاری برای این کار وجود دارد، از جمله اینکه با پروژه های واقعی آشنا میشوید. علاوه بر این ، شما با توسعه دهندگانی کار خواهید کرد که آنها را نمیشناسید، ولی میتوانید با آنها ارتباط داشته و تجربه های ارزشمندی را بدست آورید. اگر مشارکت در پروژه های منبع باز ترسناک به نظر می‌رسد، نگران نباشید - راه‌حل هایی در این زمینه وجود دارد :پروژه First Contributions با هدف ارائه راهنمایی به مبتدیانی که می خواهند اولین مشارکت خود را انجام دهند، ایجاد شده است.GitHub Help Wanted برنامه ای است که به شما امکان می دهد تا پروژه ها را براساس میزان دشواری فیلتر کنید تا به پروژه مورد نظر دست پیدا کنید. معمولا پروژه هایی که برای افراد مبتدی آسان تر است با برچسب های easy نشان گذاری میشوند.۳. یک پکیج ایجاد کنیدایجاد یک پکیج، یک روش دیگر برای مشارکت در پروژه های منبع باز است. توسعه دهندگان بسیاری پکیج هایی را در اختیار عموم قرار میدهند که میتواند بسیار مفید باشد. پس چرا شما این کار را انجام ندهید. من چندی پیش اولین پروژه منبع باز خود را در گیت هاب به اشتراک گذاشتم، این پروژه مربوط به محصولی بود که در شرکت در حال کار روی آن بودیم.در حالی که سرکار نهایت تلاش خود را انجام داده ام که پروژه بدون باگ باشد، قرار دادن آن در میان بسته های npm باعث شد که وارسی بیشتری در کدهای انجام دهم.. زیرا در هر حال این کدها قرار است که در پروژه های دیگران نیز استفاده شود.کار دیگری که انجام دادم تهیه مستندات برای هر خط کدی بود که نوشته بودم. این کار مشارکت دیگران در بهینه کردن کدهای مرا آسان تر کرد. من از میزان دانلودی که این بسته داشته ام بسیار راضی ام و امیدوارم بتوانم پروژهای بیشتری را به اشتراک بگذارم.۴. محصول خود را راه‌اندازی کنیداین کار یک فعالیت مهم و خوب برای توسعه دهندگان و افراد کارآفرین است. ما توسعه دهندگان می‌توانیم تقریبا ً هرچیزی را که می‌خواهیم بسازیم. من شخصا ً دوست دارم یک روز یک محصول موفق را راه‌اندازی کنم. احتمالا این مهترین کاری است که میتوانید انجام دهید، کار بر روی یک پروژه واقعی همه چیز را به شما آموزش خواهد داد. در زمان تولید یک محصول باید موارد زیر را در نظر بگیرید :محصول شما باید چه ویژگی هایی داشته باشد و شما باید چطور آنها را توسعه دهید؟چطور باید محصول خود را بازاریابی کنید و برای آن مشتری پیدا کنید؟این کار تجربه بسیار ارزشمندی را در اختیار شما قرار میدهد که می‌توانید بدون هیچ ریسکی از آن بهره‌مند شوید. من عاشق کار روی محصولات در زمان های فراغت خود هستم . اگرچه همه آن‌ها تا الان شکست‌خورده اند، اما به واسطه آنها چیزهای زیادی یادگرفته ام. هر وقت که روی یک محصول کار می‌کنم، انقدر هیجان‌زده هستم که می‌توانم ۲۴ ساعت روز را روی آن کار کنم.۵. سعی کنید دانش خود را با نوشتن مقالات در اختیار دیگران قرار دهداین کار بیشترین زمان را از من میگیرد. نمی‌دانید چقدر سخت است که دانش خود را به اشتراک بگذارید. زمان زیادی طول می‌کشد تا یک چیز را به شیوه‌ای جالب بنویسید و دوباره آن را بررسی کنید تا مطمئن شوید که اطلاعات نادرست را به اشتراک نگذارید. باید مطمئن شوید که خوانندگان از چیزی که نوشته اید راضی هستند. نوشتن مقالات و یاددادن به دیگران میتواند مطالب را در ذهن شما ثبیت کند.۶. سعی کنید یکی از مطالبی را که یادگرفته اید به صورت ویدویی آموزش دهیدتوانایی توضیح آنچه ما هنگام انجام برنامه نویسی انجام می دهیم یک مهارت فوق العاده است. به عنوان یک توسعه دهنده، همه ما در مصاحبه های فنی بوده ایم و از ما خواسته شده است كه مشكلی را در تخته سفید یا روی یک کاغذ حل کنیم.باهوش بودن بسیار جالب است اما اگر بتوانید در مورد آنچه انجام میدهید توضیح دهید حتی بهتر است! توانایی توصیف نحوه حل مسئله می تواند رزومه شما را در بالای دیگران قرار دهد. یکی از کارهای مهم در این زمینه ضبط ویدئوهای آموزشی است که بسیار ارزشمند است..منبع : لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Thu, 04 Jun 2020 12:37:43 +0430</pubDate></item><item><title>۸ چیزی که طراحان رابط کاربری میتوانند از استیو جابز یاد بگیرند!!</title><link>https://virgool.ir/@learnsource.net/۸-چیزی-که-طراحان-رابط-کاربری-میتوانند-از-استیو-جابز-یاد-بگیرند-jaemvplpw8o4</link><description>اصل &#34;متفاوت فکر کنید&#34; تنها یکی از اصولی بود که استیو جابز از آن پیروی می کرد. شخصیتی که میراث فوق العاده ای را به جای گذاشته است و در دوران زندگی خود یکی از موفق ترین بوده است.محصولات اپل با استفاده از اصل ساده بودن یکی از بهترین محصولات در سطح بازار هستند. در طول سال هایی که این برند در بازار پیشرو بوده است، دستگاه های اپل همیشه مینیمالیستی (از سادگی فوق العاده ای بهره مند) بوده اند، هیچ دکمه ای بدون یک نقش مهم در این دستگاه ها وجود ندارد.گفته می شود، استیو جابز به جزئیات توجه زیادی داشته و همواره زیبایی شناسی را در قلب یک محصول قرار داده است، حتی برای قرار دادن ریزترین تراشه در قلب یک مدار هم از این اصول پیروی میکرده است. در زیر چیزهایی که به عنوان طراحی میتوانید از استیو جابز یاد بگیرید را لیست کرده ایم.۱. سادگی یک اصل کلیدی استاستیو جابز حامی سرسخت سادگی کارها بود.این اصل موفق در تمام محصولات اپل منعکس شده است. سیستم عامل های مورد استفاده در دستگاه های اپل همیشه بسیار جذاب، ساده و سر راست بوده اند.یک اصل طراحی که طراحان رابط کاربری میتوانند از آن یاد بگیرند این است که : بازدید کننده وب سایت باید منطق صفحه را با یک نگاه درک کند و دقیقاً بداند که در مرحله بعد باید چه کاری انجام دهد. رابط کاربری که از اصل مینیمالیستی بهره می برد میتواند تعادل را در وب سایت شما ایجاد کند.عناصر ناوبری ساده اما واضح که منطق یک صفحه را پشتیبانی می کنند، همراه با مقداری فضای خالی، اساس یک صفحه موفق و ساده را پی ریزی میکنند. استیو جابز میگفت: سادگی یکی از اصل های بود که همیشه در نظر داشتم، ایجاد و خلق سادگی بسیار سخت تر از پیچیدگی است. برای ساخت یک چیز ساده باید بسیار تلاش کنید، اما این کار ارزش دارد، زیرا پس از آن میتوانید روی قله حرکت کنید.۲. فراتر از یک محدوده خاص فکر کنیدیک وب سایت خوب از کلیه دستورالعمل های پایه، قوانین طراحی و استانداردهای تایپوگرافی پیروی می کند. یک وب سایت عالی محدوده ها را میشکند و در نوع خود بی نظیر و متمایز است. این ویژگی ها چیزهایی هستند که وب سایت ما را به یادماندنی خواهد کرد.قوانین را بشکنید، خلاق باشید و متفاوت فکر کنید. استو جابز میگفت  بهترین راه برای خلاقیت این است که خود را با فرهنگ ها، هنر و تاریخ احاطه کنید. ارتباط با چیز ها مهمترین چیزی است که باید انجام دهید. مرتبط شدن با همه چیز همان خلاقیت است.۳. اگر میخواهید چیزی را بفروشید، خودتان را جای دیگران بگذاریددقیقاً مانند سیستم عامل های macOS ، OS X و iOS ، وب سایت شما نیاز دارد بصری بوده، و کسی که وارد آن میشود از همه چیز مطلع شود. سلسله مراتب و ساختار از طریق فضای منفی بسیار مهم هستند و محتوای صفحه باید واضح و مختصر باشد.چه شما صفحه ای را برای خود طراحی میکنید و چه برای مشتری، طراح وب باید کاربر نهایی را بشناسد و آنچه را که کاربر به دنبال آن است، ارائه دهد. توجه داشته باشید که صرف نظر از اینکه آیا صفحه ای چیزی را به فروش می رساند یا نه، صفحه باید طوری طراحی شود که همه چیز به خوبی به دیگران ارائه شود.یکی از راه هایی که میتوانید محصول خود را به فروش برسانید، این است که خودتان را جای دیگران قرار دهید و انتظارت مورد نیاز برای یک محصول را بررسی کنید.۴. شما در بازی دیگران برنده نخواهید بود، خودتان باید تعریف بازی را انجام دهیدالبته وب سایت های شگفت انگیز بسیاری در سراسر جهان وجود دارد و مطمئناً نمی توانید با همه آنها رقابت کنید. به رقبا در صنعت و جایی که زندگی میکنید، نگاهی بیندازید و سعی نکنید کارهای آنها را بهتر انجام دهید، بهتر است همان کارها را به گونه ای دیگر انجام دهید.نگاه به وب سایت های دیگر نباید شما را در تلاش بی انگیزه کند، بلکه باید برای شما انگیزه ای ایجاد کند که با استایل ها و ایده های جدید کارهای خود را پیش ببرید. اگر از مرورگر کروم استفاده میکنید، میتوانید با ابزارهای توسعه آن از رنگ ها، عناصر و فونت هایی که یک وب سایت استفاده میکند، آگاه شوید، کپی نکنید، سعی کنید از آنها الهام بگیرید.گفته می شود اصل اساسی اپل یعنی &#34;متفاوت فکر کنید&#34; واکنشی به شعار &#34;فکر کنید&#34; شرکت IBM، قوی ترین رقیب اپل در روزهای اولیه بوده است. &#34;متفاوت فکر کنید&#34; شعاری بود که از سال ۱۹۹۷ استفاده شد و هنوز هم، تا سال ۲۰۲۰، در پشت باکس های Apple iMac و احتمالاً در جاهای دیگر چاپ شده است.۵. هرگز روی افتخارات خود حساب باز نکنیداگرچه واقعاً باید به سمت هدف مشخصی کار کنیم، و هرچند طراح خوبی باشید، یک طراح وب باید به نتایج منتخب این طرح بطور انتقادی نگاه کند. وب سایت ها باید آزمایش شوند و مرحله آزمایش و خطا را پشت سر بگذارند.علاوه بر این، پارامترهای صفحه که منجر به SEO بهتر می شوند باید به طور مداوم بهینه شوند. علیرغم اینکه بیشترین تلاش در ابتدا و در طی مراحل طراحی انجام می شود، بهینه سازی برای موتور جستجو کاری بی پایان و بسیار مهم است.با افزایش رقابت در سطح وب، یافتن یک صفحات وب شما توسط خزندگان و به طور قطع توسط کاربران شما چالش برانگیزتر می شود. ممکن است برای ایجاد مطالب جدید به طور منظم، بهینه سازی مطالب موجود و پیگیری پیشرفت ها و روندهای جدید باید کارهایی زیادی انجام دهید، اما حتما نتیجه آن را خواهید دید.به عنوان مثال استیو جابز می دانست که با توسعه آیفون، iPod را منسوخ میکند. اما این شرکت مجبور به حرکت و انجام نوآوری بود و جابز در این راه اصلا نترسید. وقتی از یک نتیجه راضی هستید، نباید از کار بایستید، باید باز تلاش کنید و روش های جدید را امتحان کنید.۶. توجه به جزئیاتجابز هنگامی که در جایگاه اجرایی اپل قرار گرفت، اصرار داشت که هر عنصر رایانه میکنتاش باید از نظر زیبایی، خوشایند باشد. این اصل به همان اندازه در طراحی وب نیز کاربرد دارد. مهم نیست که یک نقص طراحی چقدر کوچک باشد.این احتمال وجود دارد که بازدید کنندگان وب سایت توسط همین نقض کوچک تصمیمات اشتباه بگیرند. باور کنید یا نه، عناصر طراحی بد، هر چقدر هم کوچک باشند ، می توانند تأثیر بسزایی در نرخ تبدیل داشته باشند. به منظور مشاهده این موارد، انجام آزمایشات کاملا ضروری است. با سوال در مورد تجربه کاربری سایت خود از دیگران نیز میتوانید این نقایص را پیدا کنید.۷. توجه با یک ارائه خوباعلامیه های محصول اپل قبلاً اتفاق افتاده و هنوز هم جالب توجه هستند. جابز نه تنها به خاطر تفکر ابتکاری و طراحی خود بلکه به دلیل مهارتهای باورنکردنی در ارائه اش مشهور شد. استیو جابز هرگز در واقع چیزی را رمزنگاری نکرد. او در بازاریابی نابغه بود.او از قبل اهمیت بازاریابی را در سال ۱۹۸۵ می دانست و به آن توجه داشت. تبلیغات باید برای پیشبرد اهداف شما وجود داشته باشد. باید وب سایت خود را در هرجای ممکن تبلیغ کنید، راه های زیادی برای افزایش تعداد بازدید کنندگان وجود دارد که باید به آنها توجه کنید.۸. عاشق کاری که انجام میدهید باشید و اشتیاق خود را حفظ کنیداستیو جابز به سادگی عاشق کارهایی بود که انجام داد و او همه کارهای خود را با اشتیاق انجام میداد. اگر میخواهید در کاری در زندگی موفق باشید باید دو چیز را فراموش نکنید، یکی تلاش بی وقفه و دیگری علاقه. به عنوان یک طراح نیز باید عاشق کاری باشید که انجام میدهید تا بتوانید هر روز پیشرفت کنید.منبع : لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Fri, 29 May 2020 10:33:43 +0430</pubDate></item><item><title>۶ عادت خوب برنامه نویسی برای توسعه دهندگان</title><link>https://virgool.ir/@learnsource.net/۶-عادت-خوب-برنامه-نویسی-برای-توسعه-دهندگان-dfq9apyypi91</link><description>وقتی صحبت از یک برنامه نویسان خوب میشود، عادات خاصی وجود دارد که بلافاصله در ذهن شما ایجاد میشود. عادت های خوبی در این باره وجود دارد که که اکثر برنامه نویسان با آن موافق هستند، اما در واقعیت اکثر آنها خود از این عادت ها استفاده نمیکنند.همانطور که همه ما می دانیم، افراد با عادات خود شناخته میشوند. برای تبدیل شدن به یک برنامه نویس بهتر، باید سعی کنیم عادات خوب را در خود تقویت کنیم. در این مقاله به ۶ عادت مهم برنامه نویسان اشاره کرده ایم، که رعایت آنها به شما در مسیر تبدیل شدن به یک برنامه نویس خوب کمک میکند.۱. کدهای خود را تمیر کنیدیک عادت عالی برای برنامه نویسان این است که هر وقت قطعه کدی را تغییر می دهید، سعی کنید تا جای ممکن آن را بهبود ببخشید، فرقی نمیکند که میخواهید یک خط از کدهای خود را تغییر کنید و یا قابلیت جدیدی را به برنامه خود اضافه کنید.گاهی اوقات این کار با تغییرات بسیار جزئی اتفاق می افتد، برای مثال ممکن است نام یک متغیر و یا تابع را تغییر دهید. فقط در نظر داشته باشید که حداقل یک بار کدهای خود را برای انجام این تغییرات وارسی کنید.دلیل خوب بودن این عادت این است که ما مدام در حال یادگیری هستیم، چیزهایی که تا دیروز برای ما بسیار خوب به نظر میرسیدند، امروز میتوانند به روشی کارآمد تر نوشته شوند، به همین دلیل است که باید هرچند وقت یکبار کدهای خود را مورد بررسی قرار دهید. کدهای به مرور زمان پوسیده میشوند، پس باید در حفظ و نگهداری آنها کوشا باشید.۲. کد خود را برای دیگران بنویسیدوقتی در حال نوشتن یک قطعه از کدها هستید، باید یه این موضوع فکر کنید که برنامه نویس بعدی که احتمالا کد شما را خواهد دید به دنبال چه خواهد گشت. آیا به راحتی کد شما را درک میکند. کدهای خود را به شکلی بنویسید که به آسانی قابل فهم بوده و از خوانایی بالایی برخوردار باشد.نسبت زمان صرف شده برای خواندن و درک کد ها در مقابل نوشتن آنها بیش از ۱۰ به ۱ است. بنابراین اگر کدهای خود را قابل فهم بنویسید، به خود و دیگران کمک بزرگی کرده اید. هنگام کدنویسی خیلی فانتزی و یا پیچیده کدنویسی نکنید، کد ساده ای بنویسید که همه بتوانند آن را درک کنند. واقعاً نیازی کدی را که سایت Stack Overflow کپی کرده اید و حتی خودتان هم نمیفهمید را در پروژه به کار ببرید.۳. آنچه لازم است را انجام دهید و نه بیشتر از آنبرخی از توسعه دهندگان تمایل دارند، کاری بیش از آنچه لازم است را انجام دهند. هنگامی که از شما قابلیتی خواسته میشود، فقط روی همان کار تمرکز کنید و پرداختن به چیزهای اضافه پرهیز کنید. بیشتر اوقات، دلیل اینکه بیشتر از آنچه که لازم است چیزی ساخته میشود، داشتن حدس و گمان است.توسعه دهنده فکر میکند که چیزی که اضافه میکند در آینده حتما لازم میشود. شما وقت زیادی روی این گونه کارها صرف میکنید، اما احتمالا در آینده استفاده ای هم از آن نخواهد شد. بنابراین همیشه قابلیت های لازم را پیاده سازی کنید و نه بیشتر از آنها.۴. برای کدهای خود برنامه داشته باشیدبرنامه نویسان معمولا دوست دارند فقط یک کار را انجام دهند و آن هم برنامه نویسی است. بنابراین نکته واضحی که اتفاق می افتد این است که اکثر برنامه نویسان از بخش های مهم کار عبور کرده و بدون مقدمه وارد کدنویسی میشوند. عجله در کدنویسی ممکن است در ابتدا جالب به نظر برسد.با این حال، این هیجان ممکن است در نهایت هزینه زیادی روی دست شما بگذارد. همه چیز کدنویسی نیست و قبل از آن باید برای ساخت اپلیکیشنی که در نظر دارید، طرح داشته باشید. قبل از شروع برنامه نویسی، باید طرح داشته باشید.به مشکلاتی که ممکن است در طول مسیر پیدا کنید و چگونگی مقابله به آن فکر کنید. چگونه می توانید کد های خود را ساختاربندی کنید؟ دلیل اجرای قابلیت های مثلا فلان قابلیت چیست؟ اینها سوالات بزرگی است که باید قبل از شروع کد نویسی از خود بپرسید. این سؤالات می توانند شما را از این واقعیت آگاه سازند که قبل از نوشتن کدها باید در مورد آنها فکر کنید.۵. مستند سازی کنیدبله ، می دانم ... مطمئناً این عادت جالب ترین عادت در این لیست نیست، اما یکی از بهترین هاست. مستندسازی در کار شما بسیار مهم است. آیا تا به حال مجبور شده اید کدهای برنامه نویسی را بررسی کنید که هیچ مستنداتی در مورد کدهای نوشته شده ارائه نکرده است، واقعا کار طاقت فرسایی است، پس همیشه مستند سازی را در نظر بگیرید.وقتی کدی مستنداتی نداشته باشد، ممکن است ساعت ها وقت بگذارید و هنوز هم ندانید که آنها چگونه کار میکنند. توصیه میکنم در سورس کد پروژه های خود از کامنت ها  برای این کار کمک بگیرید. گاهی اوقات میتوانید از یک فایل متنی با نام readme که یک سری توضیحات را داخل آن قرار داده اید هم استفاده کنید.معمولا نحوه نصب و راه اندازی در این فایل ها مشخص میشود. در کنار مستند سازی استفاده از اسامی واضح و خوب برای متغیرها و توابع نیز بسیاری اهمیت دارد. بهتر است نام توابع تشریح کننده عمکرد آنها باشند.۶. هرگز یادگیری را متوقف نکنیدروزی که یادگیری را متوقف کنید روز شکست شما خواهد بود، این امر به خصوص در دنیای فن آوری بسیار صادق است، دنیایی به سرعت در حال تغییر است. البته تغییر با این سرعت کار سختی است و شاید نتوانید با این سرعت جلو بروید ولی بهتر است هر از چند گاهی یک فریمورک و یا چارچوب جدید را امتحان کنید.این کار بدان معنی نیست که شما باید در همه این زبان های برنامه نویسی یا چارچوب ها متخصص شوید. اما بهتر است از روند کاری آنها مطلع باشید. با توجه با اینکه هرکدام از این فریمورک ها راه حل جدید ارائه میدهند، بینش شما در حل مسائل بهبود میابد.منبع : لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Tue, 26 May 2020 22:26:57 +0430</pubDate></item><item><title>مقایسه جاوا و جاوا اسکریپت، کدام یک برای سال ۲۰۲۰ بهتر است؟</title><link>https://virgool.ir/coderlife/مقایسه-جاوا-و-جاوا-اسکریپت-کدام-یک-برای-سال-۲۰۲۰-بهتر-است-z8kbasfcd73l</link><description>بسیاری از افراد تصور می کنند، از آنجایی که زبان جاوا اسکریپت دارای کلمه &#34;جاوا&#34; در نام خود است، به نوعی با زبان جاوا مرتبط است. در حالی که بسیاری از برنامه نویس ها از این نامگذاری گله مند هستند و حتی بسیاری فکر میکنند، این نوع نامگذاری یک شگرد تبلیغاتی است تا مردم جذب زبان جاوا اسکریپت شوند، زیرا زبان جاوا یک زبان قدرتمند و در عین حال قدیمی است.اما تاریخچه این دو زبان برنامه نویسی محبوب برای لحظه ای بسیار کوتاه و در روز های اولیه فقط با هم اشتراک دارند. مسیر تکامل این دو زبان با یکدیگر بسیار متفاوت بوده است و نمیتوان به سادگی آنها را با یکدیگر مقایسه نمود. اما اگر این مقاله را می خوانید، احتمالاً به مقایسه این دو زبان علاقه مند بوده اید، بنابراین اجازه دهید، تا جای ممکن آنها را با یکدیگر مقایسه کنیم.اگر به حدود ۵ سال قبل بازگردیم، میان این دو زبان میتوانیم یک مقایسه ساده انجام دهیم، جاوا یک زبان برنامه نویسی عمومی و همه منظوره است، در حالی که جاوا اسکریپت در برنامه های وب و بیشتر برای ایجاد ارتباطات تعاملی و انیمیشن استفاده میشود.جاوا اسکریپت در گذشته فقط در مرورگر ها و سمت کلاینت کاربرد داشت، در واقع نمیتوانستیم به چشم یک زبان مستقل برنامه نویسی به آن نگاه کنیم، اما در سال های اخیر جاوا اسکریپت به شدت رشد داشته است و به یک زبان مستقل تبدیل شده است و اکنون کار مقایسه کمی سخت شده است. اول از همه، به برخی از حقایق و آمارهای جالب در مورد جاوا و جاوا اسکریپت نگاهی می اندازیم :نام اصلی زبان جاوا در ابتدا &#34;Oak&#34; بود و هنگامی که سازندگان آن دریافتند، این نام برای برخی از شرکتهای رایانه ای ثبت شده است، بخش بازاریابی شرکت Sun ، نام این زبان را به &#34;Java&#34; تغییر داد.زبان برنامه نویسی جاوا به صورت تصادفی ایجاد شده است. در حدود سال ۱۹۹۲ ، جیمز گوسلینگ در آزمایشگاه های شرکت Sun کار می کرد. او به همراه تیمش در حال ساختن یک جعبه تنظیم بودند و این کار را با تغییر زبان ++C انجام دادند، در نهایت زبان برنامه نویسی جاوا متولد شد.زبان برنامه نویسی جاوا دومین زبان محبوب برنامه نویسی است و در بین توسعه دهندگان وب بسیار محبوب است.زبان برنامه نویسی جاوا فاقد مفهوم Pointer یا همان اشاره گر هاست، زیرا افزودن اشاره گرها به زبان برنامه نویسی جاوا باعث به خطر انداختن امنیت و استحکام برنامه ها می شود و در نتیجه پیچیدگی را افزایش میدهد.در جاوا معنای واقعی کلمه کلیدی Final همان معنای نهایی نیست. این کلمه در جاوا معانی مختلفی دارد. متدها، متغیر ها و کلاس ها میتوانند Final باشند.امروزه ، ۹۵٪ از شرکت ها به عنوان زبان اصلی برنامه نویسی خود از Java استفاده می کنند. این میزان استفاده بسیار بیشتر از زبان C و سایر زبان های برنامه نویسی مختلف است.در یک سال، زبان جاوا حدود یک میلیارد بار دانلود شده است.امروزه زبان Java در بیش از یک میلیارد سیستم عامل در سراسر جهان اجرا میشود.زبان جاوا اسکریپتدر اوایلی که اینترنت به وجود آمد، حدود سال ۱۹۹۰ ، مرورگر اینترنت اکسپلورر و نت اسکیپ دو مرورگر وب محبوب آن روزها بودند که مورد استفاده عموم مردم قرار میگرفتند. تنها در ۱۰ روز، یک توسعه دهنده به نام Brendan Eich توانست یک زبان اسکریپتی را ایجاد کند که در تعامل با کاربران در صفحات وب میتوانست کمک خوبی باشد.او این زبان را &#34;LiveScript&#34; نامید و مستقیماً آن را در مرورگر ادغام كرد. ادغام این زبان با مرورگر به این معنا بود که مرورگر میتوانست دستورات و کدها را تفسیر کند. لازم نبود کدی کامپایل شود و نیازی به افزونه ای نبود. یک زبان برنامه نویسی دیگر به نام جاوا تقریباً در همان زمان ها محبوبیت پیدا کرد. نت اسکیپ از این محبوبیت آگاه شد و زبان ادغامی در مرورگر خود را &#34;JavaScript&#34; نامگذاری کرد.زبان برنامه نویسی جاواجاوا یک زبان برنامه نویسی عمومی و همه منظوره است که توسط جیمز گاسلینگ ابداع شده و توسط شرکت سان میکروسیستمز توسعه داده شده است. در سال ۱۹۹۱ شرکت سان میکرو سیستمز تیمی را برای توسعه این زبان برنامه نویسی ایجاد کرد.در نهایت زبان جاوا نخستین بار در سال ۱۹۹۵ منتشر شد و از آن زمان تا کنون نسخه های جدید زیادی از آن منتشر شده است. امروزه بسیاری از برنامه های روزمره ما با استفاده از زبان جاوا توسعه داده شده است، در حال حاضر زبان محبوب جاوا متعلق به شرکت اوراکل است. اجازه دهید در ادامه برخی از تفاوت ها و شباهت های زبان جاوا و جاوا اسکریپت را از منظر توسعه برنامه وب بررسی کنیم.شباهت های عمدهدر حالی که این دو زبان با یکدیگر کاملا مجزا هستند، شباهت های سطح بالایی در آنها وجود دارد که بررسی آنها میتواند ارزشمند باشد، به خصوص اگر بخواهید این دو زبان را در حوزه توسعه وب مقایسه کنید.برنامه نویسی شی گرا : هر دو زبان به توسعه دهندگانی نیاز دارد که کدهای آنها را در قالب اشیا توسعه دهند. شی گرایی در هر دو زبان به آنها امکان میدهد تا به فناوریهایی مانند وراثت، کپسوله سازی و چندریختی دسترسی پیدا کنند.توسعه بخش Front-end : از هر دو زبان می توان در جنبه های توسعه Front-end استفاده کرد. جاوا اسکریپت را می توان به طور مستقیم در HTML مورد استفاده قرار داد. زبان جاوا را می توان به عنوان یک اپلت جاوا استفاده کرد.توسعه بخش Back-end : هر دو زبان برای سمت سرور قابل استفاده اند. از مدتها پیش زبان جاوا برای به کار بردن فناوری های پشتیبانی از قبیل Apache ، JBoss و WebSphere برای بخش سمت سرور استفاده میشده است. در سال اخیر نیز با استفاده از Node.js میتوان از جاوا اسکریپت برای سمت سرور استفاده کرد.تفاوت های میان زبان های جاوا و جاوا اسکریپتجاوا یک زبان شی گرا یعنی OOP (برنامه نویسی شی گرا) است که در سال ۱۹۹۵ مورد استفاده قرار گرفته است. جاوا در شرکت سان میکروسیستمز ساخته شد که بعدا توسط شرکت اوراکل خریداری شد. برنامه ها یا اپلیکیشن هایی که در جاوا توسعه داده میشوند در JVM(ماشین مجازی جاوا) اجرا خواهند شد که با استفاده از آن می توانیم همان برنامه را در سیستم عامل ها و پلتفرم های مختلف اجرا کنیم.زبان جاوا اسکریپت هم یک زبان اسکریپتی است که از طریق آن میتوانید صفحات پویای HTML را ایجاد کنید. با استفاده از این زبان میتوان افکت های جذابی را در سمت کلاینت و در کامپیوتر کاربر ایجاد کنید. زبان جاوا اسکریپت در مرورگر ها قابل دسترس بود تا زمانی که گوگل کروم موتور node.js را منتشر کرد. جاوا اسکریپت و جاوا هر دو به صورت متفاوتی، اسمبل، نوشته و اجرا می شوند و هر کدام توانایی های خاصی دارند.جاوا در بسیاری از موارد از جمله برنامه نویسی کارت های اعتباری، برنامه های اندروید، ایجاد برنامه های دسکتاپ و ساخت برنامه های بزرگ استفاده می شود. در مقابل، ابتدا از جاوا اسکریپت برای تعاملی کردن صفحات وب استفاده میشده است.از این زبان میتوان به عنوان جایگزینی برای تکنولوژی فلش در صفحات وب نام برد. از زبان جاوا اسکریپت برای انجام کارهایی مانند ایجاد انیمیشن در صفحات HTML نیز استفاده میشود.به طور خلاصه، وقتی صحبت از نحوه استفاده از هرکدام از این زبان ها میشود، Java به طور معمول برای توسعه بخش سمت سرور وب سایت ها استفاده میشود، در حالی که ایجاد اسکریپت های سمت کاربر برای کارهایی مانند اعتبارسنجی ورودی ها توسط جاوا اسکریپت پیاده سازی میشود.برخی دیگر از تفاوتهای اساسی میان این دو زبان عبارت اند از :کدهای جاوا اسکریپت تفسیر میشوند، در حالی که کدهای زبان جاوا باید کامپایل شوند.هرکدام از این زبان ها به افزونه های مختلفی احتیاج دارند.کدهای جاوا اسکریپت در یک مرورگر اجرا می شود، در حالی که جاوا برنامه های وبی ایجاد می کند که در یک مرورگر یا یک ماشین مجازی کار می کنند.جاوا یک زبان برنامه نویسی شی گرا (OOP) است، و جاوا اسکریپت به طور خاص یک زبان اسکریپتی شی گرا است.یک دانشجوی جدید برنامه نویسی برای افزایش مهارت های خود باید هر دو زبان را فرا بگیرید. در واقع، بسیاری از برنامه نویسان می گویند که یادگیری سریع این دو زبان برنامه نویسی حرکتی بسیار عاقلانه برای یک برنامه نویس جدید است. بدون تردید، تقاضا برای برنامه نویسان جاوا اسکریپت و جاوا بسیار زیاد است و با یادگیری آنها میتوانید به خوبی درآمد کسب کنید.برای انجام پروژهای بعدی باید از کدام زبان استفاده کنیم؟مانند همه زبانهای برنامه نویسی، انتخاب میان جاوا و جاوا اسکریپت کاملا به نیاز های شما ارتباط دارد. جاوا اسکریپت هنوز یک فناوری وب است، در حالی که جاوا یک زبان برنامه نویسی همه منظوره است که می تواند برای هرکاری مورد استفاده قرار بگیرد. در مجموع هم جاوا و هم جاوا اسکریپت محبوب ترین و پرکاربرد ترین زبان های حال حاضر هستند که میتوانید با یادگیری آنها به راحتی برنامه های مورد نظر خود را توسعه دهید.منبع : لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Sat, 16 May 2020 07:28:10 +0430</pubDate></item><item><title>۳۰ نکته برای هر توسعه دهنده ای در سال ۲۰۲۰</title><link>https://virgool.ir/@learnsource.net/۳۰-نکته-برای-هر-توسعه-دهنده-ای-در-سال-۲۰۲۰-xghrakyd1vtm</link><description>سال ۲۰۱۹ با تمام فراز و نشیب هایی که داشت به پایان رسید. این سال پر بود از چالش ها و فرصت هایی که ما توسعه دهندگان با آن رو به رو بودیم. برای یادگیری برنامه نویسی و طراحی وب چیزهای زیادی برای یادگیری وجود دارد، چارچوب های زیادی از جنس جاوا اسکریپت به وجود آمده اند که در دنیای برنامه نویسی حکم فرمایی میکنند.فریمورک های آنگولار، ویو و ری اکت امروزه برای توسعه وب استفاده میشوند. در حالی که اکوسیستم گسترده توسعه وب برای همه افراد چیزی در چنته دارد، دنبال کردن فناوری هایی که مدام در حال تغییر هستند، واقعا کار سختی است. در هر حال قرار نیست که همه چیز را یاد بگیرید، اما در همان ابتدا بهتر است سوالاتی را از خود بپرسید.کجا میخواهید کار کنید و البته افرادی که با آنها میخواهید همکاری کنید، چه کسانی هستند؟ آیا می خواهید یک توسعه دهنده فول استک باشید؟ آیا میخواهید برای یک شرکت کار کنید و یا دوست دارید آزادانه و برای خودتان کار کنید؟ چگونه میتوانید مهارت های خود را توسعه داده و از خود یک حرفه ای بسازید؟ باید به همه این سوالات پاسخ دهید، زیرا در روند حرکت کلی شما بسیار موثر هستند.من دانش و تجربه ای که طی سالیان سال بدست آورده ام در ۳۰ نکته گنجانده ام که میتواند به شما به عنوان یک توسعه دهر سال ۲۰۲۰ کمک کند. چه شما یک برنامه نویس با تجربه باشید و یا یک تازه کار، نکاتی که در این مقاله آورده شده است برای شما مفید خواهد بود. البته قطعا ممکن است این لیست کامل نباشد، اما امیدوارم بتوانید برخی از آنها را به عنوان نکات الهام بخش در حرفه خود به خاطر بسپارید.۱. سعی کنید مفاهیم Git را درک کنیددانستن دستورات پایه در مورد گیت خوب است ، اما سعی کنید مفاهیم اصلی را نیز در این باره بیاموزید.۲. مفاهیم کد تمیز را یاد بگیریدداشتن دانشی در مورد فلسفه کد های تمیز به شما کمک می کند تا کدهایی خواناتر و با امکان شکست کمتری بنویسید.۳. برای خود یک سایت نمونه کار ایجاد کنیدشما باید به کارهای خود افتخار کنید و آنها را با دیگران به اشتراک بگذارید و به کارفرمایان و مشتریان آینده فرصت دهید تا شما را به کار بگیرند.۴. مقاله های مرتبط با حوزه کاری خود را ایجاد کنیدنوشتن مقالات در یک سایت دارای مزایای بسیار است. وقتی این مقالات فنی و مرتبط با فضای کاری شما باشد باعث میشود، درک مطالب برای شما آسان تر باشد.۵. اولین کار فریلنسری خود را شروع کنیدسال ۲۰۲۰ را بایک تغییر جدید شروع کنید و کلنگ اولین کار فریلنسری خود را به زمین بزنید. به سایت هایی که کارهای پروژه ای ارائه میدهند، سری بزنید، با استخدام کنندگان تماس بگیرید، به رویدادها و کنفرانس های اجتماعی بروید. خلاصه برای رسیدن به جایگاهی بهتر همیشه در حال تلاش باشید.۶. اصول اولیه جاوا اسکریپت را یاد بگیریدامروزه زبان جاوا اسکریپت کل وب را مدیریت میکند. با وجود اینکه فریمورک های قدرتمندی از این زبان در سال ۲۰۲۰ در حال جولان هستند، هنوز هم این زبان محکم در جای خود ایستاده است. بنابراین برای یادگیری اصول زبان جاوا اسکریپت سرمایه گذاری کنید.۷. یکی از فریمورک های قدرتمند جاوا اسکریپت را فرا بگیریدبرنامه های مدرن وب غالباً از فریمورک هایی مانند ویو ، ری اکت یا آنگولار استفاده می شوند. شرکت هایی مانند فیسبوک ، گوگل و ... به شدت از این فریمورک ها در برنامه ها و سرویس های خود استفاده میکنند. بنابراین، به عنوان یک توسعه دهنده بخش جلویی سایت، حداقل باید به یکی از آنها تسلط داشته باشید. همه آنها بر پایه زبان جاوا اسکریپت هستند.۸. سعی کنید به یک توسعه دهنده ارشد تبدیل شویدبرای تبدیل شدن به یک توسعه دهنده ارشد، چه کارهایی را باید انجام دهید. بهتر است در این مورد تحقیق کنید. علاوه بر تجربه، داشتن مهارت های نرم مانند همدلی و مهارت های ارتباطی نیز بسیار اهمیت دارد.۹. توسعه دهندگان جوان را تربیت کنیدبه نظر من یکی از مهمترین وظایف یک توسعه دهنده ارشد، این است که تجربه خود را در اختیار تازه کار ها قرار دهد و آنها را رشد دهد. بنابراین سعی کنید بدون اینکه رئیس باشید، به دیگران آموزش دهید.۱۰. برای دیگران آموزش ایجاد کنیداگر زبان، ویژگی یا فناوری برنامه نویسی جدیدی را آموخته اید، دانش خود را با دیگران به اشتراک بگذارید.۱۱. از ویژوال استادیو کد و افزونه های مختلف آن استفاده کنیداگر تا کنون از ویژوال استادیو کد به عنوان محیط برنامه نویسی اصلی خود استفاده نکرده اید، حتماً باید آن را امتحان کنید. این محیط شما را به یک توسعه دهنده بسیار پربار تبدیل می کند، در ویژوال استادیو کد از امکانات بسیاری برخوردار میشوید که برنامه نویسی را برای شما لذت بخش میکند.۱۲. در محل های نامناسب کار کنیداگر در یک مکان نامناسب کار می کنید که جو خوبی ندارد و یا یک رئیس بد دارید ، به دنبال فرصت های شغلی دیگری باشید. افراد معمولاً تغییر نخواهند کرد و استعداد شما را به هدر میدهند. به دنبال کسی باشید که بتواند از شما و مهارتهای شما قدردانی کند.۱۳. در پروژه های اوپن سورس مشارکت کنیدمشارکت در برنامه های اوپن سورس چیزی است که هر توسعه دهنده ای در مورد آن فکر کرده است. شما می توانید درگیر یک جامعه شوید و به آن کمک کنید، در این صورت برنامه نویسی را در محیط های واقعی انجام میدهید و میتوانید از تجربیات دیگران استفاده کنید.۱۴. یک زبان برنامه نویسی متفاوت را یاد بگیریدبرای گسترش افق های خود و خارج شدن از منطقه ای که در آن همیشه در حال کار هستید، ممکن است یادگیری یک زبان برنامه نویسی کاملاً متفاوت، ایده خوبی باشد. به عنوان مثال، اگر معمولاً از زبان جاوا استفاده میکرده اید، زبان های جاوا اسکریپت، Rust یا Golang را امتحان کنید. زبان هایی را امتحان کنید که قبلاً با آن هرگز کار نکرده اید.۱۵. مفاهیم GraphQL را یاد بگیریدAPI های RESTful در سال های گذشته استانداردی برای توسعه وب بوده اند. اما با افزایش و رشد نمودار GraphQL در فیس بوک، قطعاً باید سعی کنید مفاهیم آن را فرا بگیرید.۱۶. یک برنامه JAMstack بسازیدبرنامه های جاوا اسکریپت و API ها JAMstack را تشکیل میدهند. JAMstack قدرتمند ، سبک و مستقل از بخش backend است و برای وب سایت های شرکتی و نمونه کار بسیار مناسب است.۱۷. نگاهی به پروژه های امنیتی وب بیندازیدپروژه های امنیتی وب، توصیه ها و بهترین شیوه ها را برای توسعه برنامه های ایمن ارائه می دهند. نگاهی به آنها میتواند شما را در زمینه امنیتی تقویت کند.۱۸. برنامه نویسی جفتی را جدی بگیریدبرنامه نویسی جفتی یکی از بهترین راه ها برای به اشتراک گذاری دانش میان برنامه نویسان است. می توانید از توسعه دهندگان با تجربه تر یاد بگیرید، یا می توانید از توسعه دهندگان جوان تر کمک بگیرید. در هر صورت، برنامه نویسی جفتی چیز خوبی است و به شما کمک می کند تا متمرکز شوید.۱۹. بازبینی کدها را انجام دهیدبازبینی کدها در بسیاری از پروژه ها الزامی است و قبل از ادغام کدها توسط بسیاری از شرکت ها درخواست میشود. شما باید اغلب در چنین بررسی هایی شرکت کنید. اگر مبتدی هستید، می توانید با بررسی کد برنامه نویسان دیگر یاد بگیرید و در مورد آن سؤال کنید.۲۰. بر حل مسئله متمرکز شویدچیزی که از شما یک توسعه دهنده ارشد میسازد، توانایی تمرکز بر روی راه حل ها به جای مشکلات است. همیشه سعی کنید راه هایی برای مقابله با چالش ها پیدا کنید.۲۱. بیاموزید که چگونه اشکال زدایی را انجام دهیدهیچ برنامه ای هرگز کامل نخواهد بود. اشکالات و خطاهایی وجود دارد ، اما مطمئناً برای پیدا کردن و رفع آنها، باید نحوه اشکال زدایی را یاد بگیرید.۲۲. خودتان را ارزان نفروشیدیک مورد که همیشه باید به خودم یادآوری کنم این است که به اندازه پولی که از مشتری و کارفرما درخواست میکنم، برای آنها ارزش دارم، پس مهارت های خود را ارزان نفروشید. ساعاتی که برای یادگیری این مهارت ها صرف کرده اید، بسیار ارزشمند بوده اند، پس به اندازه کاری که میکنید پول بگیرید.۲۳. از شکستهای خود یاد بگیریدهرکسی ممکن است، اشتباه کند. حتی موفق ترین توسعه دهندگان هم اشتباهات بسیاری دارند. اما آنچه مهم است اینست که برای رشد کافی است که از این اشتباهات درس بگیرید.۲۴. همیشه کدهای خود را تست کنیدشاید در ابتدا به نظر می رسد که نوشتن تست های واحد و انواع تست های دیگر تلف کردن وقت باشد، اما برای رسیدن به برنامه ای عاری از خطا این کار الزامی است. البته تست ها هم باید به اندازه انجام شوند.۲۵. الگوهای طراحی را یاد بگیریدالگوهای طراحی بلوک ساختاری برای معماری سازی برنامه های نرم افزاری هستند. شما لزوماً در هر پروژه به آنها احتیاج نخواهید داشت، اما یادگیری برخی از الگوهای طراحی اصلی بسیار اهیمت دارد.۲۶. از درخواست برای کمک اصلا دریغ نکنیدپرسیدن هیچ وقت عیب نبوده و از ارزش های شما کم نمیکند. با این حال همیشه قبل از اینکه سوال کنید، بهتر است خودتان مشکل را بررسی کنید. اگر نتوانستید مشکل را حل کنید، حتما از یک فرد با تجربه تر کمک بگیرید.۲۷. در یک کنفرانس فنی شرکت کنیدحضور در کنفرانس ها، راهی عالی برای یادگیری فن آوری های جدید و تعامل با جامعه برنامه نویسان است. پس بهتر است این کنفرانس ها را در محل زندگی خود دنبال کنید.۲۸. سعی کنید همیشه خود را به روز نگه داریدبرای اینکه از دنیای در حال تغییر برنامه نویسی عقب نیفتید، باید دائما مهارت های خود را بهبود ببخشید. خواندن پست های وبلاگ ، شرکت در کنفرانس ها، تماشای فیلم ، عضویت در خبرنامه ها، خواندن کتاب، شرکت در دوره ها آنلاین یا آفلاین همگی به شما کمک میکنند.۲۹. روشن فکر باشیدهیچ چیز در دنیای فناوری ثابت نیست و هیچ فناوری تضمین کننده و موفقیت شما نیست. شما برای موفقیت در این صنعت باید دائماً خودتان را سازگار کنید. همیشه تلاش و پشتکار رمز موفقیت شما خواهد بود.۳۰. هرگز تسلیم نشویدهمه با چالش هایی در زندگی خود مواجه هستند، برخی بیشتر، برخی کمتر. در مسیر زندگی مشکلات بسیاری وجود دارد، اما شما در این راه تنها نیستید، کسی موفق است که به راه خود ادامه دهد.منبع : لرن سورس</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Thu, 23 Apr 2020 21:55:15 +0430</pubDate></item><item><title>نگاهی به پنج زبان برتر برنامه نویسی در سال ۲۰۱۹</title><link>https://virgool.ir/@learnsource.net/نگاهی-به-پنج-زبان-برتر-برنامه-نویسی-در-سال-۲۰۱۹-zma232t18xtf</link><description>اگر یک توسعه دهنده نرم‌افزار هستید، احتمالاً از سرعت فوق‌العاده‌ای که در صنعت زبان‌های برنامه‌نویسی وجود دارد، آگاهی کامل دارید. به عنوان یک برنامه نویس و توسعه دهنده نرم‌افزار گاهی اوقات احساس غرق شدن می کنم، زیرا مطالبی که باید یاد بگیرم بسیار زیاد هستند. البته این موضوع چندان بد هم نیست.زیرا ارتقا و بهبود کیفیت زبان های برنامه نویسی بر روند کار برنامه نویسان بسیار تاثیرگذار است. در هر حال باید در مورد آن چیزی که یاد می گیرید، آگاهی کامل داشته باشید و مطمئن باشید برای شما صرفه اقتصادی خواهد داشت. مطمئنا زبان‌های برنامه‌نویسی بسیاری وجود دارد که البته هر هفته به تعداد آنها اضافه می شود، علاوه بر آنها فریمورک های مختلف نیز دنیای برنامه نویسی را تسخیر کرده اند.اما آیا شما نیاز دارید همه آنها را یاد بگیرید؟ البته که نه. در ابتدای کار می‌توانید محبوب ترین زبان های برنامه نویسی را بررسی کنید، سپس بسته به سطح دانش، وضعیت اشتغال و معیارهای دیگری که مربوط به شماست می توانید یکی از آن ها را به طور جد برای برنامه نویسی دنبال کنید. به عنوان مثال اگر قصد دارید پارادایم های تابعی را مطالعه کنید، بهتر است زبانی را انتخاب کنید که از این قابلیت برخوردار است. در این مقاله قصد داریم در مورد ۵ زبان برنامه نویسی محبوب در سال ۲۰۱۹ صحبت کنیم.نگاهی به منابعی که از آنها استفاده کرده ایمشاید برای شما سوال باشد که اطلاعاتی که در این پست با شما به اشتراک می گذاریم را از کجا به دست آورده ایم؟ زمانی که زبانهای برنامه نویسی را بررسی می کنیم صدها معیار سنجش وجود دارد که می‌توانیم از آنها برای مشخص کردن برتری یک زبان استفاده کنیم. با این حال در این مقاله از داده هایی که در گیت هاب و Tiobe وجود دارد برای تشخیص زبان برتر استفاده کرده ایم.شاخص های برنامه نویسی Tiobeبرای چندین دهه Tiobe شاخص هایی را برای شناخت محبوب ترین زبان های برنامه نویسی ارائه داده است، آنها لیست زبان های برنامه نویسی خود را به صورت هفتگی به روز رسانی می کنند و برای رسیدن به این لیست از هزاران منبع در سراسر جهان استفاده می کنند. برای اطلاعات بیشتر در مورد نحوه محاسبه شاخص های Tiobe می توانید به اینجا مراجعه کنید.گیت هابگیت هاب یکی از بزرگترین مخازن کدی است که در حال حاضر توسط برنامه نویسان در سراسر جهان استفاده می شود و هر سال آنها آمارها و گزارشاتی را در مورد برنامه نویسان این سایت منتشر می کنند. از داده‌های گیت هاب به عنوان شاخصی دیگر برای محبوبیت زبان های برنامه نویسی استفاده می کنیم.ما از منابع گسترده‌ای برای پیش بینی سریعترین زبان در حال رشد و تاثیرگذارترین آنها استفاده می‌کنیم، پس اجازه دهید محبوب ترین زبان های برنامه نویسی سال ۲۰۱۹ را در زیر دنبال کنیم.محبوب ترین زبان های برنامه نویسیجدول فوق ۲۰ زبان برتر برنامه نویسی مشهور در دنیا را تا تاریخ اوت ۲۰۱۹ نشان میدهد، در این جدول سهم بازار هر کدام از زبان های برنامه نویسی نیز آمده است، جمع سهم بازار همه این بیست زبان برابر با ۱۰۰ درصد است.تیوب در رسیدن به نتیجه بالا از شاخص‌هایی مانند تعداد توسعه‌دهندگان حرفه‌ای در سراسر جهان، دوره های آموزشی مربوط به یک زبان و غیره استفاده کرده است. با این حال بیشتر این داده ها از طریق تحلیل نتایج موتورهای جستجو به دست آمده اند.اما گیت هاب هم برای مشخص کردن زبان های برنامه نویسی شاخص های مخصوص به خود را دارد. با استفاده از شکل زیر و داده های گیت هاب می توانیم نه تنها پرکاربردترین زبان های برنامه نویسی را پیدا کنیم بلکه آنهایی که سریع ترین رشد را نیز داشته اند کاملا مشخص هستند. نمودار زیر زبان های برتر برنامه نویسی را از دید دید گیت هاب در گذشت زمان نشان می دهد.محبوب ترین زبان های برنامه نویسیچه چیزی باعث می شود بعضی از زبان های برنامه نویسی تا این حد محبوب شوند، در این مقاله می خواهیم نگاهی به پنج زبان برنامه نویسی برتر در دنیا بیندازیم و مشخص کنیم که چرا آنها توسط مردم تا این اندازه استفاده می شوند.زبان جاوابر حسب اطلاعاتی که Tiobeدر اختیار ما قرار می دهد، اساسا از زمان ایجاد زبان جاوا در اواسط دهه ۹۰ تا کنون این زبان، زبان شماره یک یا دو به شمار می رود، بسیاری از بزرگترین شرکت های جهان از زبان جاوا برای ساخت برنامه های دسکتاپ خود و پشتیبان گیری از سیستم های وب استفاده کرده اند. اگر به زبان جاوا مسلط باشید شانس این را خواهید داشت که بیکار نباشید، اما فاکتورهای گوناگونی وجود دارد که زبان جاوا را بسیار محبوب کرده است :قابلیت حمل: به لطف ماشین مجازی جاوا (JVM) زبان جاوا می تواند تقریباً بر روی هر سیستم عاملی اجرا شود. زبان جاوا همچنین محبوب‌ترین زبان اندرویدی است، بنابراین در گذشته بیشتر برنامه‌های اندرویدی با استفاده از جاوا ایجاد شده اند.مقیاس پذیری :  زبان جاوا برای مقیاس پذیری در آینده ساخته شده است، برای همین بین شرکت هایی که دارای نوآوری های جدید هستند بسیار محبوب است. این زبان با نسخه های قدیمی تر خود نیز بسیار سازگار است و این یعنی حتی پس از انتشار نسخه های جدید این زبان، نسخه های قدیمی تر نیز به خوبی کار می کنند. این خود یک مزیت بزرگ برای بسیاری از کسب و کار هاست، زیرا در غیر این صورت هر بار که نسخه جدیدی منتشر می شود باید نگران نوشتن کدهای جدید باشند.جامعه بزرگ : محبوبیت زبان جاوا به لطف جامعه عظیمی از کاربران است که به این زبان اعتماد کردند، با وجود اجتماعات گسترده‌ای که از این زبان برای توسعه برنامه های خود استفاده می کنند، تقریباً یک راه حل برای هر مشکلی که با آن روبرو می شوید وجود دارد که می‌توانید از دیگران یاد بگیرید.زبان برنامه نویسی Cزبان C یکی از قدیمی ترین و محبوب ترین زبان های برنامه نویسی محسوب می شود و به دلیل قابلیت حمل پذیری جهانی آن و قدرت قابل ملاحظه آن توسط بسیاری از شرکت‌های بزرگ فناوری همچون مایکروسافت ، اپل، لینوکس و اوراکل استفاده می شود. زبان Cمحبوب ترین زبان برنامه نویسی برای سیستم های تعبیه شده در اتومبیل ها، دستگاه های الکترونیکی و غیره است.تقریباً هر آنچه که امروز لمس میکنیم از تلفن‌های همراه گرفته تا ساعت های زنگدار تحت تاثیر مستقیم یا غیر مستقیم این زبان قرار دارند. اما چرا با وجود قدیمی بودن این زبان، از محبوبیت آن کاسته نشده است؟ زیرا زبان سی یک زبان حمل پذیر است و این زبان تقریباً با هر  سیستمی کار می کند.زبان سی همچنین دارای قابلیت هایی است که آن را برای سیستم های تعبیه شده بسیار مناسب کرده است. با توجه به کم بودن سربار این زبان استفاده از آن در انواع دستگاه ها رایج شده است. هر برنامه نویسی میتواند با یادگیری این زبان از آن بهره ببرد. بسیاری از الگوریتم هایی که به صورت آنلاین نوشته و به اشتراک گذاشته می‌شوند در C انجام شده اند. زبان سی یک زبان جهانی استT حتی بسیاری از زبان هایی که بعدا به وجود آمد تاثیر مستقیمی از این زبان پذیرفته‌اند.زبان پایتونمحبوبیت زبان پایتون در ۱۵ سال گذشته به طور پیوسته در حال افزایش بوده است، سرانجام این زبان در در سال های گذشته در بین پنج زبان برنامه نویسی برتر دنیا قرار گرفت و دلیل این امر هم این بوده که زبان پایتون در برخی از جالب ترین و جذاب ترین فناوری های امروزی بسیار کارآمد است.یادگیری ماشین، هوش مصنوعی، داده های بزرگ و رباتیک همگی به شدت به پایتون وابسته هستند. امنیت سایبری که یکی از چالش های بزرگ نرم‌افزاری در زمان کنونی است توسط پایتون مدیریت می شود. با وجود همه این فناوری های پیشرفته تعجب آور است که یادگیری این زبان بسیار ساده است، تقریباً زبان پایتون جز مقدماتی ترین زبان هایی است که در دانشگاه ها تدریس می شود. غالباً این زبان توسط توسعه‌دهندگان با تجربه به عنوان زبان دوم یا سوم انتخاب می شود.زبان جاوا اسکریتبه لطف همه گیر شدن مرورگر های وب جاوا اسکریپت نیز به یکی از محبوب ترین زبان های برنامه نویسی در جهان تبدیل شده است. باید به شما بگویم که این زبان پر استفاده ترین زبان در گیت هاب شناخته می شود. با وجود معایبی که این زبان داشته، اما توانسته قدرت خود را در برابر بسیاری از زبان های جدید حفظ کند و همچنان نقش کلیدی در وب را ایفا می کند.زبان جاوا اسکریپت به توسعه دهندگان اجازه می‌دهد تا جلوه های تعاملی را به صفحات وب خود اضافه کنند. این زبان اغلب در کنار زبان html کار می کند و به دلیل سادگی و سرعت آن معمولاً کسب و کارهای نوپا بیشتر از این زبان استفاده می کنند. در سال های اخیر از زبان جاوا اسکریپت به عنوان یک زبان برنامه نویسی مستقل در کنار نو جی اس استفاده میشود.زبان Rubyزبان Ruby یکی از محبوب‌ترین زبانها در میان استارتاپ ها محسوب می شود. بسیاری از وب سایت های بزرگ مانند Twitch ،GitHubو Twitter توسط این زبان توسعه پیدا کرده اند. رابی به دلایل مختلفی در میان توسعه‌دهندگان بسیار محبوب است. در ابتدا باید بگوییم که رابی دارای نحوی بسیار زیبا و فوق العاده ساده است که به توسعه دهندگان اجازه می دهد با کدهای کمتری کار خود را پیش ببرند.ثانیاً به لطف Ruby on Rails به روز رسانی برنامه های وب در این فریمورک نسبت به فریمورک های دیگر وقت بسیار کمتری از شما خواهد گرفت. اما چرا استارتاپ ها از این زبان بسیار استفاده می کنند؟ زیرا این زبان بسیار سریع عمل می کند. با وجود همه مزایا یکی از مشکلات زبان Ruby مقیاس پذیری است. هرچه یک برنامه در این زبان رشد می کند ماهیت پویا بودن زبان، خطایابی کد ها را مبهم تر می کند، به همین دلیل توئیتر از Ruby به Java سوئیچ کرده است.نتیجهزبان هایی که در این مقاله از آنها نام بردیم محبوب ترین زبان های برنامه نویسی در دنیا هستند و بزرگترین چالش ها و فرصت های جهان توسط این زبان ها هدایت می شوند،بسیاری از کارهای پیشرفته ای که سالهای گذشته نمی‌توانستیم انجام دهیم اکنون با استفاده از این زبانها امکان پذیر شده است، یادگیری آنها می تواند در روند و پیشرفت کار شما تاثیر گذار باشد .منبع : نگاهی به پنج زبان برتر برنامه نویسی در سال ۲۰۱۹</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Fri, 14 Feb 2020 15:33:29 +0330</pubDate></item><item><title>چگونه پروژه های خود را به عنوان یک فریلنسر قیمت گذاری کنید؟</title><link>https://virgool.ir/@learnsource.net/چگونه-پروژه-های-خود-را-به-عنوان-یک-فریلنسر-قیمت-گذاری-کنید-s5dlbtzwszzu</link><description>6 سال از که از شروع فعالیت های من در زمینه فریلنسری میگذرد. در این سال ها من فقط 30٪ از سال را برای شرکتها کار کرده ام و 70٪ وقت خود را برای پروژه های شخصی خود اختصاص دادم، با این حال هنوز درآمد مشابهی را نسبت به قبل دارم. من عاشق این سبک زندگی هستم، زیرا به جای دریات پول به صورت ساعتی ، برای پروژهایی که ایجاد میکنم، پول دریافت میکنم.من معمولاً با شرکت های نوپا کار می کنم. ابتدا ملاقاتی را با آنها ترتیب میدهم و کارهایی که میتوان برای آنها انجام دهم را پیشنهاد میکنم. دامنه کار من گسترده و متنوع است، و میتوانم در هر پروژه ای مانند طراحی UI ، ساخت بخش جلویی سایت ها، کار با بخش back-end ، برنامه های تلفن همراه، بانک اطلاعاتی عملیاتی ، تجزیه و تحلیل داده ها و غیره کار کنم. وقتی در حوزه کاری با مشتری به توافق رسیدم، پیشنهادات خود را ارائه میدهم.برای توسعه دهندگان مستقل نرخ گذاری ساعتی کار آسانی است و بیشتر آنها با این شیوه شروع میکنند. نیازی به مذاکره در این روش قیمت گذاری نیست. اما اگر یک توسعه دهنده با تجربه هستید، در مورد استراتژی های قیمت گذاری خود تجدید نظر کنید، زیرا درآمد خود را از دست می دهید.ما مانند خدمه ای نیستیم که در یک رستوران کار میکند، بنابراین شما باید قیمت پروژه را به نتیجه نهایی مشتری مرتبط کنید، نه زمانی که روی آن متمرکز میشوید. به شخصه با استفاده از روش های جدید پروژه را بسیار سریعتر پیش میبرم و در این صورت فرصت بیشتری برای کار روی پروژه های خود دارم، از طرفی مشتری نیز بسیار راضی است، زیرا به نتیجه دلخواه رسیده است.اما چگونه می توان یک پروژه را قیمت گذاری کرد؟ هیچ فرمول، قانون و یا روش کاملی برای انجام این کار وجود ندارد. اما معیارهای معینی وجود دارد که بتوانید، پروژه را برای مشتری قیمت گذاری کنید. در این مقاله به آنها خواهم پرداخت.به خودتان اعتماد کنیدپس از درک درخواست های مشتری، باید وظایف خود را در نظر بگیرید و آنها را با 4 معیار ارزیابی می کنید: کارایی، فوریت، تخصص و اثربخشی. اما باید قبل از فکر کردن به این شرایط برآوردی از قیمت پروژه داشته باشید، یعنی چقدر انتظار دارید که این مشتری بپردازد.قیمت مورد نظر از میزان اعتماد به نفس شما اثر میپذیرد. نداشتن اعتماد به نفس و پایین آوردن قیمت به این معناست که شما خودتان را چندان در برابر پروژه مسئول نمیدانید و شاید هم میترسید به آن چیزی که مشتری میخواهید نرسید.شما با داشتن تجربیات موفق فراوان میتوانید اعتماد به نفس خود را تقویت کنید، در این صورت میتوانید قیمت مناسبی برای پروژه های خود مشخص کنید، شاید هیچگاه نتوانید مشتری را کاملا راضی نگه دارید، اما این موضوع طبیعی است، پس به خودتان اعتماد کنید.از قیمت بازار خود اطلاع داشته باشیدخوب، شما یک قیمت مطلوب به عنوان یک دیدگاه شخصی دارید، و بهتر است که قیمت بازار را به عنوان یک دیدگاه عینی بدانید. اما زمانی که در یک شرکت کار می‌کنید به حقوق خود ارجاع ندهید، چون حقوق شما شامل هرگونه هزینه اضافی شامل خرید لپ تاب و ساعت های غیر کاری نمیشود.اینها باید توسط کسانی که پروژه میخواهند پرداخت شود. با مراجعه به دوستانتان که به عنوان یک فریلنسر کار می‌کنند، راهی خوب برای شناخت قیمت بازار است. اطلاع از قیمت ها بسیار مهم است، زیرا میتوانید با دیگران هوشمندانه رقابت کنید.تعیین قیمتوقتی دیدگاه ذهنی و عینی از قیمت پروژه را دارید ، پس میتوانید بر اساس 4 معیار قیمت پروژه خود را تعیین کنید :معیار اول : کارایی و بهره وریمنطقی نیست که اگر بتوانید کار را سه بار سریعتر از دیگران انجام دهید، برای زمانی که کار کرده اید، پول بگیرید. برای توسعه دهندگان تمام عیار این موضوع بسیار مهم است زیرا، به عنوان مثال، آنها می توانند UI ها را به طور مستقیم با کد طراحی کنند و نیازی به ساختن نمونه ها ندارند. این کاهش هزینه ها باید به عنوان یک ارزش در نظر گرفته شود.معیار دوم : ضرورت و فوریتاگر از شما خواسته شد کار خود را خیلی سریع تمام کنید، می توانید پول آن را دریافت کنید. من تا به حال چنین موردی برای ساخت یک برنامه اندرویدی داشته ام که باید در یک هفته انجام میشد. پذیرش چنین درخواستی با این فوریت کار سختی است زیرا ممکن است نتوانید آن را تمام کنید. بنابراین یا باید اعتماد به نفس کافی داشته باشید و یا از پذیرش آن صرف نظر کنید. پس این مورد نیز در قیمت گذاری موثر است.معیار سوم : تخصصافرادی وجود دارند که می‌توانند وب سایت‌های وردپرسی را ایجاد کنند، بنابراین این نوع کارها به تخصص پایین تری نیاز دارد. از سوی دیگر، سیستم تشخیص تصویر یا سیستم recommendation، نیازمند مهارت تخصصی زیاد است.یعنی شما می‌توانید قیمت را برای مهارت‌هایی مانند آن‌ها افزایش دهید. مهم نیست که این مهارت ها چقدر برای شما آسان است، چیزی که اهمیت دارد تعداد افراد کمی است که این کار را میتوانند انجام دهند. باید بدانید که زمان صرف‌شده برای یادگیری مهارت‌های تخصصی ارزشمند است.معیار چهارم : اثر بخشی و رسیدن به نتیجه مورد نظرتوجه به اثربخشی محصول تولید شده، معیار بعدی شما خواهد بود، زیرا توسعه دهندگان نتایج کاملاً متفاوتی را با همان الزامات حاصل می کنند. کیفیت تولید برنامه به شما بستگی دارد. بنابراین حداقل کیفیت در نتیجه این خواهد بود که فقط &#34; برنامه کار کند&#34;.اگر برنامه تولید شده بتواند کاربران را راضی نگه دارد، این یک ارزش افزوده برای شما خواهد بود. اما برای اثبات این امر به موفقیتهایی نیاز دارید که افراد بتوانند به کار شما اعتماد کنند. به عنوان مثال، من در آسان ساختن برنامه ها برای کاربران مهارت دارم. شاهد این امر نیز برنامه هایی است که نوشته ام و با استقبال بالای کاربران مواجهه شده است.خودتان را ارزان نفروشیدهمانطور که مشاهده می کنید، این چهار معیار هیچ فرمول یا روش کاملی برای محاسبه قیمت گذاری ارائه نمی دهند. در عوض ، آنها معیارهای غیر بصری هستند تا قیمت گذاری خود را بر اساس آنها تنظیم کنند. خودتان را بیش از حد ارزان نفروشید و یا سعی کنید با بودجه مشتری هماهنگ شوید.هزینه‌های پایین باعث می‌شود شما انگیزه کمتری داشته باشید و کیفیت کمتری ایجاد کنید. هیچ‌کس نمی‌تواند با کارهای ضعیف خوشحال باشد. اگر مشتری به اندازه کافی بودجه نداشته باشد، می‌توانید پیشنهاد کنید که برخی از الزامات را حذف کنید تا در همان قابلیت های باقی مانده کیفیت وجود داشته باشد. با این حال باید مصائل را کاملا برای مشتری روشن کنید. درک مشتری از روش قیمت گذاری شما اهمیت دارد.معیارها به شما راه درست را نشان میدهندشما می خواهید در زمان کمتر، درآمد بیشتری کسب کنید. این عالی است. معیارهایی که در این مقاله بررسی کردیم به شما می گویند، برای رسیدن به این هدف چه راهی را باید پیش بگیرید. شما باید کارآمدتر و انعطاف پذیر تر باشید، تخصصی کار کنید و دستاوردهای بیشتری را بدست آورید.منبع : چگونه پروژه های خود را به عنوان یک فریلنسر قیمت گذاری کنید؟</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Tue, 11 Feb 2020 14:11:05 +0330</pubDate></item><item><title>برنامه نویسان خوب در مقابل برنامه نویسان بد</title><link>https://virgool.ir/@learnsource.net/برنامه-نویسان-خوب-در-مقابل-برنامه-نویسان-بد-dfmpxqbbo22s</link><description>یک برنامه نویس خوب دارای مهارت های فنی و همینطور مهارت های نرم و محکم است. متاسفانه برنامه نویس بد هیچکدام از این مهارت ها را به خوبی در خود تقویت نکرده است.میتوان مهارت های فنی برنامه نویسان را سنجید و البته این کار چندان سخت هم نیست. می توانید به کارهای قبلی، نمونه کد ها و نتایج چالش های برنامه نویسی آنان نگاه کنید و در مورد مهارت های فنی آنها در طول مصاحبه با آنها بحث کنید. از طرف دیگر مهارتهای نرم کمی عمیق تر هستند. اندازه گیری توانایی شخصی آنها برای کار در یک تیم ، مسئولیت پذیری یا یادگیری شخصی دشوار است.با این حال اینها همه ویژگی هایی هستند که باعث می شوند بین یک برنامه نویس خوب و بد تفاوت ایجاد شود. پس از بررسی و کار با بیش از ۱۰۰۰ برنامه نویس  توانستیم ۷ ویژگی را که برنامه نویسان خوب را از بد جدا میکند، جمع آوری کنیم. پس تا انتهای مقاله همراه ما باشید.۱. نوع نگاه و نگرش برنامه نویسان خوب عالی استیک برنامه نویس خوب به محصول شما اهمیت زیادی می دهد و همیشه دارای نگرشی مثبت است. زمانی که می خواهید محصولی را به بازار عرضه کنید یا ویژگی های خاصی را از یک محصول در موعد مقرر به بازار ارائه دهید ، برنامه نویس خوب کسی است که در اینجا شما را تنها نمیگذارد. یک توسعه دهنده بزرگ متواضع است و همیشه بازخورد های مختلف از کارش را در نظر میگیرد.به عنوان مشتری ، می توانید با فراهم آوردن پروژه های جالب برای کار روی آنها و تمجید از کاری که یک برنامه نویس برای شما انجام میدهد ، فرهنگ مثبتی را به وجود آورده و به تقویت نگرش مثبت کمک کنید. شرکت های نوپا می توانند با ارائه گزینه هایی مانند سهام ، پرداخت اضافه کاری ، مرخصی و ... در این راه به تقویت برنامه نویسان خوب کمک کنند. اگر به دنبال برنامه نویسانی هستید که دارای نگرش مثبت باشند، میتوانید سوالات زیر را در مصاحبه از آنها بپرسید :چطور با درگیری ها مقابله می کنید؟ (سعی میکند از آن عبور کند و یا راه حلی برای آن پیدا میکند)آیا خودتان را خوشبخت می دانید؟ (در مورد این سوال فروتن است یا وحشت زده)رفت و آمد شما در مصاحبه چطور بود؟ (شاکی هست یا نگران)با چه افرادی دوست ندارید که کار کنید؟(آیا میتونند با یک رئیس کار کنند یا خیر)۲. مهارت های ارتباطی قویمهارت های ارتباطی خوب به طور مستقیم با مهارت های توسعه خوب ارتباط دارد. یک توسعه دهنده بزرگ و خوب قادر است مشکلات را به وضوح درک کند ، آنها را به فرضیه های کوچکتر تجزیه کند و راه حل هایی را به روشی منسجم پیشنهاد کند.آنها مفاهیم را به سرعت درک می کنند ، یا سوالات صحیحی برای درک آنها می پرسند. توسعه دهندگان خوب معمولاً با چندین زبان به طور منسجم صحبت می کنند و به زبان انگلیسی بسیار مسلط هستند. در دنیای فناوری ، انگلیسی زبان بسیاری از برنامه ها و آموزش هاست.نحوه آزمایش مهارت ارتباطی :یک جلسه را ترتیب دهید و ببینید آنها چطور با دیگران ارتباط برقرار میکنند.به آنها یک مشکل یا سناریو بدهید و ببینید که چگونه با دیگران برای حل آن ارتباط میگیرند.۳. برنامه نویسان خوب می توانند زمان و وظایف خود را مدیریت کنندتوسعه دهندگان خوب بسیار قابل اعتماد هستند. آنها یک اخلاق کاری قوی دارند و در جلسات به موقع حاضر می شوند. یک مهارت مهم، توانایی تخمین زمان لازم برای انجام یک کار و تحویل به موقع آن است که خوشبختانه توسعه دهندگان خوب از آن برخوردار هستند. یک برنامه نویس خوب به جای آنکه شما او را مدیریت کنید، به خوبی میتواند بر روی شما تاثیر گذار باشد.نحوه آزمایش این مهارت:اگر یک توسعه دهنده دیر در جلسه مصاحبه حاضر میشود، این اولین نکته منفی اوست. می توانید از یک توسعه دهنده بپرسید که از چه ابزار ها و سیستمهایی بطور روزانه برای ارتباط با مشتریان و یا اعضای تیم استفاده می کند.یک راه خوب برای آزمایش هر توسعه دهنده در مورد این خصوصیت ، ورود به یک قرارداد کوتاه مدت و داشتن یک دوره ارزیابی برای اوست، از این طریق میتوانید به همه چیزی که از او نیاز دارید برسید. نکته اصلی این است که نقاط قوت و ضعف تیم خود را زود تشخیص دهید و تیم را بر اساس عملکرد مورد نظر خود توسعه دهید.۴. توانایی یادگیری سریعتوسعه دهندگان خوب معمولاً در خودآموزی شگفت انگیز هستند. آنها توانایی یادگیری فن آوری های نوین را دارند و توسط فن آوری های جدید مرعوب نمی شوند. هر برنامه نویس موقعیتی را تجربه می کند که جواب آن را نمی داند. برنامه نویسان خوب منابع مختلفی را پیدا می کنند ، با افراد مناسب گفتگو می کنند و مهم نیست  با چه مشکلی رو به رو هستند، آنها پاسخ را بدست می آورند. بهترین مهارتی که هرکس میتواند داشته باشد، توانایی یادگیری سریع است.۵. داشتن دانش  و تجربه مهندسی عمیقتوسعه دهندگان خوب به اندازه کافی کار کرده اند که متخصص باشند. البته پیدا کردن یک برنامه نویس که روی محصولی مشابه محصول شما کار کرده باشد یا از همان فناوری های مد نظر شما استفاده کند نیز اهمیت دارد. برنامه نویسان مناسب برای پروژه شما آنهایی هستند که درک درست و عمیقی از تکنولوژی دارند.آنها از استانداردهای کد نویسی پیروی می کنند و کدی را می نویسند که در صورت لزوم قابل درک و اظهار نظر باشد و می تواند به راحتی به شخص دیگری منتقل شود. آنها با ترکیب توانایی های شناختی و تجربه متنوع صنعت ، می توانند به سرعت به راه حل های بهینه برسند. یک توسعه دهنده خوب علاوه بر مهارت های کد نویسی بر روی معماری های مختلف نیز تسلط دارد.۶. در تیم برنامه نویسی نقش مثبتی را ایفا میکنندنکته مثبت توسعه دهندگان خوب ، توانایی آنها برای کمک به سایر توسعه دهندگان برای بهتر شدن است. آنها به هم تیمی خود کمک می کنند و همیشه دوست دارند چیز هایی که یاد گرفته اند را به دیگران یاد دهند. همیشه مستنداتی مینوسیند که نه تنها به هم تیمی های خود کمک میکند بلکه به افراد دیگری که بعد ها ممکن است روی پروژه های آنها کار کنند یاری می رساند.۷. همیشه بر روی کاربران نهایی تمرکز دارندیک برنامه نویس بد آنچه را که از آنها خواسته می شود انجام می دهد در حالی که یک برنامه نویس خوب به کاربر نهایی نرم افزار فکر می کند و برای حل مشکلات آنها تلاش میکند. همیشه باید سعی کنید برنامه را کاملا مطابق با نیاز های کاربران نهایی توسعه دهید.منبع : برنامه نویسان خوب در مقابل برنامه نویسان بد</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Sun, 09 Feb 2020 07:43:19 +0330</pubDate></item><item><title>چطور به یک برنامه‌نویس تمام وقت تبدیل شویم؟</title><link>https://virgool.ir/@learnsource.net/چطور-به-یک-برنامهنویس-تمام-وقت-تبدیل-شویم-dtpxnrfkpsqx</link><description>بر حسب گزارشات رسیده تا سال ۲۰۲۰ حدود ۴۳ درصد از کسانی که در حوزه آی تی کار می کنند، فریلنسر خواهند بود. نه تنها در صنعت نرم‌افزار بلکه در صنایع دیگر نیز این موضوع در حال رشد است و البته به همین دلیل است که می توانید مقالات زیادی را در مورد فریلنسر ها در اینترنت پیدا کنید.اما اگر از این کار نمی توانید سود زیادی کسب کنید چه کاری باید انجام دهید؟ در این حالت می توانید به یک برنامه نویس تمام وقت تبدیل شوید. اگر چه این کار می تواند کمی چالش برانگیز باشد، با این حال انتقال از یک برنامه نویس مستقل به یک برنامه نویس تمام وقت چندان دشوار هم نیست. شما در محیط جدیدی قرار می‌گیرد و با افراد جدیدی روبرو می‌شوید. اما ماهیت کاری که انجام می دهید چندان با قبل تفاوتی نخواهد داشت.برای تبدیل شدن به یک فریلنسر به مهارت برنامه نویسی نیاز دارید که ما در سایت لرن سورس برای شما فراهم آورده ایم.چه اتفاقی با انتقال به یک توسعه دهنده تمام وقتخواهد افتاد؟برای اینکه بتوانید به خوبی خود را با محیط اطراف وفق دهید و موفقیت‌های زیادی را به دست آورید نکاتی وجود دارند که باید به خاطر بسپارید. البته  اینها نکاتی هستند که برنامه نویسان فریلنسر اصلاً لازم نیست به آن عمل کنند، اما اگر به عنوان یک برنامه نویس تمام وقت در یک شرکت استخدام شدید، این نکات برای شما مهم است.زنگ هشدار را برای خود زود تنظیم کنیددر حالیکه فریلنسرها برنامه زمانی خود را تنظیم می‌کنند، برنامه نویسان تمام وقت باید کار خود را بین ساعات مشخصی انجام دهند. این تفاوت و تبعیض می تواند کمی ناراحت کننده باشد، اما به زودی به این حالت عادت می‌کنید و می توانید زندگی بهتری داشته باشید. زنگ هشدار خود را زودتر از زمانی که نیاز است تنظیم کنید، این کار باعث می شود که خوابتان نبرد، زیرا باید سر موقع در محل کارتان حضور پیدا کنید.همچنین در فرصتی که دارید می توانید به فعالیت های مورد علاقه خود بپردازید. شاید شما دوست داشته باشید قبل از رفتن به سرکار صبحانه بخورید و یا حرکات ورزشی انجام دهید. توجه داشته باشید که دیگر یک فریلنسر نیستید و باید به قوانین شرکت خود احترام بگذارید.میانبرهای شرکت خود را به خاطر بسپاریداگر به عنوان یک برنامه نویس تمام وقت در یک شرکت نرم افزاری استخدام شده اید شانس خوبی خواهید داشت که به تیمی که از قبل وجود داشته است بپیوندید. هر تیمی یکسری میانبر و قرارداد را برای فایل ها و پروژه هایش دارد، این عبارات و اصطلاحات را تا حد امکان هر چه زودتر یاد بگیرید. پروژه‌ها باید هرچه سریعتر پیش روند و فرصتی برای پرسیدن سوالات تکراری وجود ندارد.برای صرفه جویی در زمان خود در مراجعات بعدی به هر کلمه و اصطلاح میانبری که می رسید آن را یادداشت‌برداری کنید. این یادداشت‌ها را تا مسلط شدن کامل به آنها بر روی میز خود داشته باشید.استفاده از کامنتها را فراموش نکنیدبا توجه به اینکه یادداشت برداری می کنید، از کامنت گذاری نیز دریغ نکنید در غیر اینصورت کد های شما ممکن است کار دیگران را به تعویق بیاندازد و باعث کندی کار آن ها شود. اگر جزو آن دسته از توسعه‌دهندگانی هستید که اعتقادی به نوشتن کامنت ها در برنامه‌های خود ندارند، به فرهنگ شرکت خود توجه کنید.گاهی اوقات قرار دادن کامنت های اضافی خیلی بهتر است قرار ندادن آنها است زیرا با این کار خطر سوء تفاهم را تا حد زیادی کاهش می دهید.وقتی برای خودتان کار می‌کنید نوشته های شما ممکن است شخصی تر و مناسب‌تر برای خودتان باشد، به خاطر داشته باشید که اکنون در یک شرکت حضور دارید، پس کامنتهای شما باید تا حدی رسمی باشد که دیگر اعضا بتوانند به راحتی از آن استفاده کند.کارهای خود را متناسب با شرکتی که در آن کار می کنید، تولید کنیدشما اکنون برای یک شرکت کار می کنید و این یعنی هر چیزی که تولید می کنید باید نسبت به هویت تجاری شرکت مناسب باشد. با درک شرکتی که برای آن کار می کنید و تصویری که آنها مایلند شروع کنید. سعی کنید این رویه را در همان مراحل اولیه توسعه به خاطر بسپارید. اگر برای یک شرکت با برنامه های لوکس کار می کنید باید برنامه های لوکس تولید کنید و استاندارد های خود را همیشه یک پله بالا تر نگهداری کنید.بین مراحل مختلف پروژه چند دقیقه‌ای را برای فکر کردن بگذارید و مطمئن شوید همه چیز متناسب با استانداردهای شرکت شما پیش می‌رود، در این صورت کارهای شما در آینده به اصلاحات کمتری نیاز خواهد داشت.همیشه نسخه پشتیبان را برای خود داشته باشیداکثر شرکت های توسعه نرم‌افزار دارای سیستم های پشتیبان هستند، یاد بگیرید که چطور از این سیستم ها استفاده کنید. همیشه کپی هایی از فایل های خود داشته باشید احتمالاً باید نسخه های کپی از پروژه خود را بر روی سیستمی که در شرکت خود بر روی آن کار می کنید نگهداری کنید، همچنین ایده خوبی است که مجموعه ای از فایلهای پشتیبان را بر روی فلش خود نگهداری کنید.شما همچنین نمیتوانید پیش بینی کنید که قطعی برق چه مشکلاتی را ممکن است برای سرور های شما به وجود آورد، پس باید بدانید بک آپ ها ضروری هستند، البته شما هیچگاه نباید این بکاپ ها را به خانه ببرید و در مورد این موضوع باید با رئیس تان صحبت کنید. کدها و پروژه های یک شرکت سرمایه های آن هستند پس باید با توافق این کار را انجام دهید.محدودیت‌های قراردادی خود را بشناسیدهنگامی که فریلنسر آزاد کار هستید تا زمانی که محصولات خود را به مشتری خود به بفروشید، صاحب آن هستید، اما زمانی که برای یک شرکت کار می‌کنید صاحب کدی نیستید و ممکن است قراردادهای کاری شما باعث شود محدودیت‌های خاصی را رعایت کنید. بسته به قرارداد ممکن است نتوانید در مورد پروژه‌های خود با دوستان و خانواده خود صحبت کنید.در بیشتر اوقات نمی‌توانید از نرم‌افزاری که تولید کرده اید برای استفاده های شخصی خود استفاده کنید. قبل از اینکه با یک شرکت شروع به کار کنید حتماً سوالات مربوط به قرارداد را در اولویت قرار دهید تا در آینده دچار مشکل نشوید.یاد بگیرید اجتماعی باشیداجتماعی بودن و ارتباط با دیگران برای کار شما بسیار مهم است، وقتی اعضای تیمتان را بشناسید کار کردن با آنها بسیار ساده تر خواهد بود. یک مقدار  جامعه پذیری و اجتماعی بودن لازم است در این صورت خواهید فهمید که همکاران شما چگونه فکر می کنند و چطور کارها را انجام می‌دهد. داشتن روابط مثبت در محل کار باعث می‌شود بهره‌وری شما افزایش یابد پس سعی کنید دوستی های حرف های خود را افزایش دهید.به عنوان یک فریلنسر شاید عادت داشته باشید به تنهایی کار کنید، خوب است که درون گرا باشید اما باید همچنان مودب بوده و راه‌های تجربه جدید را برای خود باز نگه دارید. همکاران شما ممکن است پله ترقی شما باشند و شما را در دستیابی به جایگاه های بالاتر در سازمان کمک کند.زمان های استراحت را برای خود در نظر بگیریدبرنامه نویسی کاری است که ذهن شما را خسته می کند پس استراحت منظم برای سلامت روان و بینایی شما ضروری است. برخی شرکت‌ها دارای زمان‌بندی ویژه برای استراحت هستند، اگرچه این موضوع کمتر رایج است سعی کنید ضمن رعایت استانداردهای جدید محل کار خود از این زمان بندی ویژه استفاده کنید. برای اینکه استراحت موثر واقع شود باید چشم خود را از صفحه نمایش جدا کنید، بلند شوید و دور شرکت راه بروید، فنجان قهوه یا بطری آب بنوشید و یا به قطعه هنری که بر روی دیوار نقش بسته است نگاه کنید.مهارت های اضافی را همیشه در نظر بگیرید و ارتقا خود را همیشه حفظ کنیدیکی از اصلی ترین مزایای برنامه نویسی تمام وقت ، فضای پیشرفت برای آنها است . به عنوان یک فریلنسر، شما به سختی فرصتی پیدا می کنید تا با همکاران خود صحبت کنید و چیزهای جدیدی از آنها بیاموزید. اما وقتی در یک تیم کار میکنید، این کار به سهولت انجام میشود.وقتی تمام وقت کار می کنید ، به ناچار با همکاران خود تعامل برقرار می کنید و در جلسات شرکت درگیر می شوید. در این حالت می توانید عادت ها و تکنیک های جدید را انتخاب کنید و چارچوب های جدید و بهترین روش ها را کشف کنید. اغلب این موارد به لطف همکاران شما انجام میشود. اگر می خواهید به یک موقعیت مدیریتی تبدیل شوید ، باید مهارت های رهبری ، ارتباطی و ارائه را خوبی پرورش دهید.تغییرات میتوانند باعث ایجاد فرصت ها شوندهر تغییر در ابتدا می تواند کمی استرس زا باشد ، اما به یاد داشته باشید که تغییرات همچنین به معنای فرصت هایی برای پیشرفت مهارت های جدید و دستیابی به قله های جدید هستند. درنهایت ، برنامه نویسی تمام وقت و آزاد در واقع تفاوت چندانی ندارند. فقط در حالتی که یک فریلنسر نیستید باید محدودیت هایی را پذیرا باشیدمنبع : چطور به یک برنامه‌نویس تمام وقت تبدیل شویم؟</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Fri, 07 Feb 2020 17:29:13 +0330</pubDate></item><item><title>چطور در ۱۸۰ روز به یک توسعه دهنده وب تبدیل شویم؟</title><link>https://virgool.ir/@learnsource.net/چطور-در-۱۸۰-روز-به-یک-توسعه-دهنده-وب-تبدیل-شویم-rml3aoal1ccb</link><description>مسیر ورود به دنیای توسعه وب چندان هموار نیست و گاهی کاملا به هم ریخته به نظر می رسد، متاسفانه یا خوشبختانه هیچ مسیر مشخصی وجود ندارد، زیرا شما با زبان های برنامه نویسی مختلف و صدها فریمورک و کتابخانه سر و کار دارید و می توانید برای کار طراحی از آنها استفاده کنید. اما به عنوان یک طراح کدام یک را بهتر است یاد بگیریم؟ ترتیب این یادگیری باید به چه شکل باشد؟من کسی هستم که برنامه نویسی را خود آموخته ام و به عنوان مهندس ارشد در شرکت های بزرگ و نوپا کار کرده‌ام. یکی از این شرکت ها جز بزرگترین بانکهای سوئیس بوده است. چیزهایی که در این مقاله بیان خواهم کرد، تجربیاتی است که در این مسیر به دست آورده‌ام. قطعاً این تجربیات می تواند برای شما راهگشا باشد.هر کسی می‌تواند به یک توسعه دهنده وب تبدیل شود، مسئله این است که باید در این مسیر پایدار بوده و از تلاش دست نکشید. اگر انگیزه کافی داشته باشید می توانید پس از مدتی به یک توسعه دهنده خوب وب تبدیل شوید. بهتر است سخن را کوتاه کنم، در این مقاله به شما نشان می دهم که چطور در صد و هشتاد روز میتوان به یک توسعه دهنده وب تبدیل شد.زمان ۱۸۰ روز برای شروع کار برنامه نویسی در زمینه توسعه وب کافی است. البته نمی‌توانم تضمین کنم که شما در این مدت به نتیجه برسید. بسته به عوامل مختلف ممکن است این زبان برای افراد گوناگون بیشتر و یا کمتر باشد. همه چیز به میزان تلاش و انگیزه شما بستگی دارد.من از ۱۹ سالگی یادگیری توسعه وب را شروع کردم، طبیعتاً در آن زمان پول زیادی نداشتم و مجبور بودم از آموزشهای ارزان‌ قیمت و یا رایگان استفاده کنم، مسیری که من در آن روزها انتخاب کردم به صرفه ترین مسیر ممکن بود.اگرچه کلاس های حضوری برنامه نویسی می تواند مفید واقع شود، اما با وجود منابعی که در اینترنت وجود دارد میتوانید خیلی ارزان تر به نتیجه برسید. نکته‌ای که در اینجا وجود دارد این است که باید بدانید در کجا به دنبال منابع باشید.البته من مخالف کلاس های حضوری برنامه نویسی نیستم این کلاس ها تا حدودی موثر هستند، اما گاهی اوقات هزینه های هنگفتی  بر دوش شما می گذارند، با کمی تلاش بیشتر می توانید مطالبی که در این کلاس ها آموزش داده می شود را یاد بگیرید. اکنون اجازه دهید کارهایی که در مدت این ۱۸۰ روز باید انجام دهید را در زیر بررسی کنیم.روزهای یکم تا پانزدهم : اصول اولیه زبان های html و css را بیاموزیدآغاز سفر شما برای تبدیل شدن به یک توسعه دهنده وب با دو زبان html و css شروع می شود. تمرکز بر روی اصول این زبان ها بسیار اهمیت دارد. وقتی اصول را در خود قوی کنید، درک موضوعات دیگر برای شما بسیار ساده تر خواهد بود. در ابتدا با زبان html شروع کنید، ببینید این زبان برای شما چه کاری انجام میدهد؟html بلوک های سازنده هر وب سایت و برنامه وبی را برای شما فراهم می کند. در واقع ستونهای سایت بر پایه عناصر html بنا می شود. در کنار این زبان از css برای استایل دهی به وب سایت و برنامه های وب استفاده می شود.در اینترنت منابع بسیار ارزشمندی وجود دارد که می توانید برای یادگیری این دو زبان استفاده کنید. ایجاد یک وب سایت حرفه ای نیاز به کار و تلاش زیادی دارد، بنابراین اگر در رشته طراحی وب تازه کار هستید، بهتر است از پروژه های کوچک تر شروع کنید. قرار نیست شما وب سایتی مانند فیس بوک را طراحی کنید. شروع کار با یک وب سایت ساده آنلاین می تواند تجربه ارزشمندی در اختیار شما قرار دهد.روز شانزدهم تا پنجاهم : مبانی و اصول زبان جاوا اسکریپت را یاد بگیریدزبان جاوا اسکریپت محبوب ترین زبان برنامه نویسی حال حاضر است، این زبان بسیار گسترده است و تقریباً در هر وب سایتی که در اینترنت وجود دارد استفاده شده است.اگر از یک مرورگر مدرن برای پیمایش میان وب سایت ها در اینترنت استفاده می کنید، قابلیت جاوا اسکریپت آن را غیر فعال کرده و به سراغ وب ‌سایت‌های مختلف بروید، خیلی سریع متوجه خواهید شد که ۹۷ درصد از وب سایت هایی که به سراغ آنها رفته‌اید، عملکرد صحیحی ندارند و حتی به درستی بارگذاری نمی شوند. جاوا اسکریپت به وب قدرت می دهد.در هر کاری که در زمینه وب انجام شده است به نوعی از برنامه نویسی جاوا اسکریپت استفاده شده است. به لطف محبوبیت گسترده زبان جاوا اسکریپت مکان های مختلفی برای یادگیری این زبان وجود دارد. کافی است در وب سایت گوگل آموزش این زبان را جستجو کنید، آموزش های رایگان بسیاری در اختیار شما خواهد بود.روزهای پنجاه و یکم تا هشتاد و یکم : یادگیری بهتر زبان جاوا اسکریپت و بررسی جزئیات مرتبط با آندر این مدت بهتر است با قواعد زبان جاوا اسکریپت بیشتر آشنا شویم و جزئیات آن را بررسی بکنیم. شاید این سوال برای شما پیش بیاید که می توان از کتابخانه ها و فریمورک های مرتبط با این زبان استفاده کرد؟ اگرچه استفاده از این فریمورک ها می تواند عالی باشد، اما گاهی اوقات مانع یادگیری و درک اولیه شما هستند.حتی اگر در آینده قرار نباشد  به صورت مستقیم از جاوا اسکریپت برای توسعه وب سایت های خود استفاده کنید باز به شما توصیه می کنم، کار با این زبان را به صورت حرفه ای یاد بگیرید؟روزهای هشتاد و دوم تا صد و بیستم : یک فریمورک یا کتابخانه سمت کلاینت را یاد بگیریداز هر کسب و کاری که برای خود برنامه وبی تهیه کرده است، در مورد فریم ورک های سمت کلاینت بپرسید به شما پاسخ خواهد داد که از آن ها در برنامه اش استفاده شده است. در دهه ۲۰۰۰ شرکت ها آستین های خود را بالا زده و چهارچوب ها و کتابخانه های مرتبط با خود را ساختند. امروزه توسعه مدرن وب بدون استفاده از کتابخانه های همچون ری اکت و آنگولار کاملا بی معنی خواهد بود.تصمیم گیری برای انتخاب یک فریمورک مناسب نیز کار چندان ساده ای نیست، گزینه های بسیاری برای این کار وجود دارد. باید به خاطر داشته باشید که هدف نهایی شما پیدا کردن شغلی در زمینه توسعه وب است. توصیه من به شما این است که منطقه خود را بررسی کرده و ببینید که کدام فریممورک ها در آن محبوب تر هستند.برای مثال ممکن است در شهری شهر صد فرصت شغلی برای ری اکت فراهم باشد و شاید در همان شهر برای توسعه دهندگان آنگولار چیزی نزدیک به هزار فرصت شغلی موجود باشد، پس به نفع شما خواهد بود که محبوب ترین فریممورک موجود در منطقه خود را شناسایی کنید.خود من نسبت به فریمورک ری اکت متعهد هستم و انتخاب بی قید و شرط من است. با این وجود باز قبل از تصمیم گیری سخت فکر می کنم. در اینجا جواب درست و یا غلطی وجود ندارد، همه چیز بستگی به محیط شما خواهد داشت.نکته : فریمورک ری اکت یک کتابخانه جاوا اسکریپت برای ایجاد رابط‌های کاربری است. این فریم ورک جزء قدرتمند ترین فریم ورک های موجود در بازار است. در زیر تصویری از ارتباط میان فریمورک های مختلف آمده است.بعد از این که فریمورک انتخابی خود را مشخص کردید، شروع به ساخت چیزهای مد نظر خود کنید. تنها راه بهتر شدن و به دست آوردن تجربه بیشتر این است که از محدوده امن خود خارج شده و خود را تحت فشار قرار دهید. اگر در این مسیر نیاز به کمکی داشته باشید، انجمن های بسیار قدرتمندی همچون گیت هاب و stackoverflow در اینترنت موجود هستند، افراد بسیاری در آنها منتظر سوال های شما خواهند بود شما هیچ گاه تنها نخواهید بود.روزهای صد و بیست و یکم تا صد و هفتادم :  Node، MongoDB و PostgreSQL را یاد بگیرید (توسعه سمت سرور)اکنون که یاد گرفته ایم، چطور توسعه سمت کلاینت کار میکند اجازه دهید، به سمت توسعه سمت سرور برویم. برای اینکه هر برنامه یا وب سایتی که طراحی می کنید واقعی  باشد شما باید قسمتی را نیز در سمت سرور توسعه دهید. در این روز های مدرن، backend خود یک API بوده که با frontend ارتباط برقرار می‌کند.اما چرا واقعاً به توسعه سمت سرور نیازمندیم؟ خب اجازه دهید بگویم که کاربران در هنگام تعامل با برنامه ما می‌توانند user هایی را ایجاد کنند. ما باید اطلاعات کاربران ایجاد شده را در جایی برای استفاده های آینده نگه داریم. بنابراین  ذخیره سازی اطلاعات کاربران باید از پایگاه داده و کد نویسی در سمت سرور استفاده کنیم.امنیت یکی از دلایل دیگری است که نشان میدهد نیاز به توسعه سمت سرور داریم، دقت داشته باشید وقتی صحبت از backend می کنیم به  معنای این است که کد ها در سمت سرور اجرا می شوند، یعنی خارج از مرورگر کاربر. اگر همه اتفاقات در سمت مرورگر انجام می شد، هیچ امنیتی برای داده های شما وجود نداشت.در زیر تصویری بزرگتر از نحوه ارتباط و اتصال فناوری های مختلف نشان داده شده است، البته از شما انتظار نمی رود که همه آن ها را بدانید اما به فرایند درک کلی شما کمک خواهد کرد :روزهای صد و هفتاد و یکم تا صد و هفتاد و نهم : DevOps و Git را یاد بگیرید (Docker، Heroku و AWS)برای این که توانایی های توسعه وب خود را به به جهانیان نشان دهید، میزبانی برنامه مورد نظر ضروری است. کارفرمای آینده شما می خواهد کارهای قبلی شما را ببیند هرچند آنها ناتمام باشند.به سادگی می توانید یاد بگیرید که چگونه از گیت برای میزبانی پروژه‌های خود در صفحات گیت‌هاب استفاده کنید، هیچ هزینه ای برای شما در این زمینه وجود نخواهد داشت. صفحات گیت هاب رایگان هستند.تنها نکته منفی آنها این است که فقط می توانید کدهای سمت کلاینت را میزبانی کنید، اگر می خواهید API های خود را میزبانی کنید، لازم است که سرور خود را با Heroku، Docker و AWS راه اندازی کنیم. تقریباً از هر ۱۰ تیم برنامه نویسی ۹ تای آنها از گیت برای به اشتراک گذاشتن کد ها استفاده می کنند.روز صد و هشتادم : برای پیدا کردن شغل های مرتبط با توسعه وب تلاش کنیدبه نظر می رسد که به خط پایان رسیده اید، چالش واقعی شما تازه شروع شده است، تمام فرصت های شغلی موجود در زمینه مهارت هایی که در این مدت آموخته اید را بررسی کنید، شما یک توسعه دهنده جوان هستید و با تلاش می توانید به کارفرمای خود ثابت کنید چه کارهای بزرگی انجام می دهید.نتیجهاز اینکه این مقاله را مطالعه کردید بسیار سپاسگزارم و برای سفری که در پیش دارید آرزوی موفقیت می کنم، بهتر است بدانید شروع کار هرگز آسان نیست و تسلیم شدن ساده ترین راه است، از رویاهای خود دست نکشید و به جنگ ادامه دهید به دنبال یادگیری چیزهای جدید باشید اگر چیزی را نمی دانید بپرسید و همیشه در این راه کنجکاو باشید.منبع</description><category>لرن سورس</category><author>لرن سورس</author><pubDate>Fri, 08 Nov 2019 20:10:16 +0330</pubDate></item></channel></rss>