مرورگر کروم یکی از محبوب ترین و پر استفاده ترین مرورگرهایی است که امروزه استفاده می شود. این مرورگر تعداد بسیار زیادی افزونه دارد که به طراحان و توسعه دهندگان وب کمک میکند کارهای خود را در کمترین زمان ممکن انجام دهند و از این طریق کارایی خود را بالا ببرند.
در این پست 9 اکستنشن کروم که زندگی را برای توسعه دهندگان وب آسان می کند، معرفی می کنیم. این افزونه ها همگی تست شده اند و از لحاظ کارایی و رابط گرافیکی جزء بهترین ها هستند.
افزونه WhatFont ساده ترین راه برای شناسایی فونت های استفاده شده در صفحات وب است. این افزونه نه تنها نوع فونت، بلکه اندازه، وزن و رنگ دقیق فونت را هم مشخص می کند. اگر شما هم جزء کسانی هستید که از صفحات مختلف وب بازدید می کنید و از آن ها برای ایده گرفتن در کار خودتان استفاده می کنید، این اکستنشن را حتما نصب کنید.
افزونه whatRuns یک افزونه قدرتمند است که تمام ابزار و تکنولوژی های استفاده شده در یک صفحه وب را برای شما مشخص می کند. این ابزار و تکنولوژی ها شامل همه چیز از فریمورک استفاده شده، تکنولوژی وب، سیستم مدیریت محتوا، قالب و فونت ها است. این اکستنشن انقدر قدرتمند است که حتی زمان شروع و پایان استفاده از یک ابزار خاص را هم اعلام می کند.
اگر در حال طراحی یک صفحه واکنش گرا (responsive) هستید، افزونه window resizer یکی از بهترین افزونه هایی است که به شما کمک میکند سایز صفحه خود را به ابعاد مختلف مانند ابعاد موبایل، تبلت، نمایشگر کامپیوتر و... تغییر دهید و سپس طراحی خود در این سایزها را تست کنید. این افزونه همچنین قابلیت آن را دارد که ابعاد دلخواه شما را برای کل پنجره یا بخشی از آن تنظیم کند.
توانایی مشاهده کدهای CSS هر المان دلخواه در هر سایتی که مدنظر دارید، از قابلیت های این افزونه قدرتمند و کاربردی است. تنها کافی است المان مدنظر خود را انتخاب کنید تا پنجره ای از کدهای CSS برای شما نمایش داده شود.
این افزونه به شما اجازه می دهد به راحتی تمام صفحات وبی را که مدنظر دارید، بر اساس ویژگی های از پیش تعیین شده مثل seo یا web performance تست کنید. شما می توانید با استفاده از افزونه full stack optimization live test یک بازخورد نمایشی از صفحاتتان داشته باشید و متوجه شوید از ابتدای لود صفحه تا انتهای کار، در سایتتان چه اتفاقاتی می افتد.
افزونه colorZilla یک افزونه ساده اما بسیار کاربردی است که دقیقا هر آنچه ادعا میکند را به راحت ترین شکل ممکن انجام میدهد. با استفاده از قطره چکان و ابزار انتخاب رنگ، شما می توانید کد رنگی هر جزئی از تصویر را به دست بیاورید و آن را در سایر نرم افزارها مانند فتوشاپ، ایلوستریتور و... استفاده کنید. این ابزار همچنین قابلیت تولید گرادیانت CSS و آنالیز رنگ صفحات وب را فراهم می کند.
افزونه تولید متن آزمایشی لورم ایپسوم یک راه آسان و موثر تولید متن های پیش فرض برای قرار دادن در قسمت هایی از سایت است که به متن نیاز دارند. هر جمله به طور تصادفی تولید می شود تا نمونه ای از متن واقعی را بهتر نمایش دهد.
افزونه page ruler مانند یک خط کش در دنیای وب عمل می کند و طول، عرض و موقعیت (بالا، پایین، چپ و راست) هر المان دلخواه از صفحه را اندازه گیری می کند. شما همچنین می توانید لبه های خط کش را بکشید و آن را تغییر سایز دهید.
یکی از ابزارهای بسیار مفید برای برنامه نویسان و توسعه دهندگان، افزونه web developer است که سایت شما را در مواردی مانند seo ، قابلیت دسترسی، کارایی و... بررسی می کند. این افزونه به شما کمک می کند نقاط مشکل ساز سایت خود را شناسایی کنید و آن را اصلاح یا بهینه کنید.
در نگاه اول عموم مردم تصور می کنند برنامه نویسی تنها یک مهارت سخت فنی (technical skill) است. به همین دلیل است که اکثر توسعه دهندگان و برنامه نویسان تازه کار، اهمیت مهارت های نرم (soft skill) را دست کم میگیرند و تنها به مهارت های سخت فنی توجه میکنند. اما نادیده گرفتن این مهارت ها می تواند موجب بروز مشکلات زیادی مانند کمبود ارتباط موثر بین اعضای تیم و در نهایت کاهش عملکرد مثبت آنان شود.
در این پست در ابتدا بیان می کنیم چرا مهارت های نرم، حیاتی محسوب می شوند و بعد از آن مهارت های ضروری تر برای یک مهندس نرم افزار را بررسی می کنیم.
تفاوت مهارت های نرم و سخت چیست؟
زمانی که فرد برنامه نویس برای یک موقعیت شغلی رزومه میفرستد، کارفرما برای تصمیم گیری در مورد استخدام او به هر دو مهارت سخت و نرم توجه می کند.
چرا مهارت های نرم مهم هستند؟
دلایل مختلفی وجود دارد که نشان می دهد مهارت های نرم اهمیت کمتری نسبت به مهارت های سخت ندارند و باید به همان اندازه مورد توجه قرار گیرند. در واقع داشتن مهارت های نرم یعنی داشتن ارتباط مثبت و موثر با سایر توسعه دهندگان و اعضای تیم
10 مهارت نرم بسیارمهم که هر توسعه دهنده باید داشته باشد
توانایی برقراری ارتباط
توانایی حل مسئله
در طول یک پروژه یا قبول کردن یک مسئولیت، بسیار طبیعی است که مشکلات پیش بینی نشده ای اتفاق بیفتد. مهارت حل مسئله به شما کمک میکند مشکلات کار را بدون متوقف کردن کل پروژه، مدیریت کنید.
مشارکت فعال در گروه
توانایی مشارکت فعال در گروه یک مهارت است که هریک از اعضای تیم به طور فعال در پایان دادن وظایف، مدیریت پروژه و رسیدن به هدف همکاری می کنند. همکاری درست افراد احتمال ایجاد محصول بهتر، با ایده های خلاقانه تر و جدیدتر را بسیار بالا می برد.
مسئولیت پذیری
مسئولیت پذیری یک مهارت مهم است که توسعه دهندگان و برنامه نویسان را قادر می سازد مسئولیت اشتباهات خود را بپذیرند و بر اساس آن ها تصمیم بهتری اتخاذ کنند. گرچه بسیار سخت است که قبول کنید انتخاب یا عدم توجه شما به یک مسئله موجب اشتباه شده است ولی باید تمرین کنید اولا مسئولیت ان ها را بپذیرید و سپس از تکرار آن ها جلوگیری کنید.
سازگار بودن با محیط و سایر افراد
انطباق دادن خود با شرایط جدید یک مهارت نرم است که هر برنامه نویس یا مدیر پروژه باید بتواند تغییراتی که در محیط و حیطه توسعه محصول ایجاد می شود را مدیریت کند و خود را با آن وفق بدهد. شما به عنوان یک توسعه دهنده باید همواره امادگی لازم برای پیشرفت تکنولوژی چه از لحاظ سخت افزاری و چه از لحاظ نرم افزاری را داشته باشید.
مهارت های زبانی و کلامی
مهارت های کلامی شامل روش صحبت کردن و نوشتن مطالب است. خیلی مهم است که شما بتوانید به صورت شفاف و راحت با مشتریان محصول خود صحبت کنید. همچنین ممکن است شما مشتریانی داشته باشید که زبان طبیعی شما را متوجه نشوند بنابراین باید زبان جدیدی یاد گیرید و بتوانید با انان ارتباط برقرار کنید.
اعتماد سازی
جلب اعتماد دیگران مهارتی است که افراد حرفه ای و متخصص را قادر می کند تصمیمات مستقلی در مورد پروژه های خود بگیرند و برای پایان دادن به وظایف خود به بهترین نحو تلاش کنند. در ابتدای کار شاید سخت به نظر برسد که بتوانید اعتماد سایر افراد به ویژه مدیران خود را جلب کنید ولی به مرور زمان که پروژه های بیشتری را با موفقیت به پایان برسانید این اعتمادسازی به طور خودکار اتفاق می افتد.
مدیریت زمان
مدیریت زمان یک مهارت نرم است که متناسب با نقشی که در فرایند توسعه نرم افزار دارید، تغییر می کند. به عنوان مثال اگر شما مدیریت پروژه را برعهده داشته باشید، باید وظایف و اعضای تیم را در مدت زمان مشخص مدیریت کنید. یا اگر شما تنها یک توسعه دهنده هستید باید بتوانید زمان خود را برای طراحی، ساخت و افزایش کیفیت نرم افزار مدیریت کنید. در این صورت شما یاد میگیرید کارها و وظایف خود را اولویت بندی کنید و هرکدام را در بازه زمانی مرتبط انجام دهید.
توانایی یادگیری به صورت خودآموز
اکثر شرکت های نرم افزاری به دنبال افرادی هستند که بتوانند زبان ها و تکنولوژی های جدید را به طور خودآموز یاد بگیرند و در مواقع لازم راه حل های مناسب ارائه دهند. پس اگر شما تا به حال این کار را شروع نکرده اید، بهتر است خودتان موضوعات جذاب روز را پیدا کنید و با استفاده از منابع و ویدئوهای آموزشی آن ها را یاد بگیرید.
یکی از سایت هایی که همواره در زمینه تکنولوژی و آموزش نرم افزار پیشرو بوده، سایت الگوریتم اول است. شما می توانید با مراجعه به این سایت، آموزش های برنامه نویسی را از بهترین اساتید به صورت آفلاین و آنلاین یاد بگیرید و پس از گذراندن آزمون های دوره، مدرک معتبر دانشگاه شیراز دریافت کنید. این مدرک می تواند به شما در افزایش سطح رزومه تان کمک شایانی کند.
توانایی صبور بودن در مواقع بحرانی
فرایند توسعه نرم افزار فرایندی طولانی است . به پایان رساندن پروژه ها، تست و به کارگیری آن ها و اعمال تغییرات لازم در هنگام پشتیبانی، همه و همه فرایندهای زمان بری است که صبر میطلبد. در این گونه مواقع باید به خودتان زمان کافی را بدهید تا بدون استرس اشتباهات و خطاهای پیش آمده را برطرف کنید.
در پست های قبل 6 کتاب و مرجع آنلاین برای برنامه نویسی را معرفی کردیم. در این پست 6 مورد دیگر را باهم بررسی می کنیم.
7-
Effective Java by Joshua Bloch
کتاب effective java یک منبع عالی برای یادگیری تکنیک ها، ترفندها و کاربردهای زبان برنامه نویسی جاوا است. این کتاب یک راهنمای جامع است که تمام اطلاعات و مفاهیم موردنیاز برای یادگیری این زبان برنامه نویسی را پوشش میدهد مانند:
اگر به زبان جاوا علاقه مندید و قصد دارید این زبان را به طور کامل یاد بگیرید، خواندن این کتاب برایتان از نان شب واجب تر است.
8-
Eloquent Ruby by Russ Olsen
کتاب eloquent Ruby یک فرصت بسیار مناسب برای شروع یادگیری زبان ruby فراهم می کند. این کتاب به شما کمک می کند با استفاده از زبان ruby بتوانید برنامه های خود را به راحتی بنویسید و اجرا کنید. نویسنده ی کتاب تجربیات ارزشمند خود را در زمینه مفاهیم و کاربردهای آن به زیبایی و بسیار قابل فهم بیان میکند.
9-
Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming by Eric Matthes
زبان برنامه نویسی پایتون یک زبان ساده و قدرتمند است که در سال های اخیر بسیار محبوب شده و به طور گسترده استفاده می شود. این کتاب به دو قسمت تقسیم می شود:
در قسمت اول مفاهیم اصلی و اولیه زبان پایتون مانند متغیرها، لیست ها، حلقه ها، کلاس ها و... آموزش داده شده که با تمرینات زیادی همراه است. در قسمت دوم نیز 3 پروژه معرفی شده که بتوانید دانش خود را در این زبان برنامه نویسی به کاربردهای عملی تبدیل کنید. همچنین این کتاب به شما نحوه استفاده از کتابخانه های پرقدرت پایتون مانند pygame ، matplotlib ، Django و... را آموزش میدهد.
یکی دیگر از روش های یادگیری زبان برنامه نویسی پایتون استفاده از ویدئوهای آموزشی است که میتوانید با مراجعه به سایت الگوریتم اول ، از آموزش ها و تجارب مدرس این زبان به خوبی استفاده کنید.
10-
Codeacademy’s Free Course
یادگیری از طریق کتاب یکی از بهترین روش های جمع آوری اطلاعات و فراگیری مقدمات اولیه برای انجام دادن پروژه های آینده است. اما تمرین روی پروژه های واقعی است که برای شما تجربه های فراوانی به ارمغان می آورد. سایت codeacademy یک منبع بسیار خوب برای یاد گرفتن html, css, bootstrap است که به شما آموزش میدهد چطور یک وبسایت را بسازید و با چالش های آن مواجه شوید.
11-
Udemy’s Course
Udemy یکی از بهترین پلتفرم های یادگیری برای کسانی است که میخواهند به طور خودآموز مطلبی را یاد بگیرند. اگر وارد سایت شوید و قصد داشته باشید کدنویسی را شروع کنید، با انواع دوره های آموزشی مختلف مواجه می شوید.یکی از بهترین دوره ها برای شروع coding for begginers1: you can learn to code است که زبان های برنامه نویسی مختلفی مانند اسکرچ ، پایتون ، جاوا اسکریپت ، روبی ، سی شارپ و... را پوشش می دهد و بیش از 15 هزار نفر این در این دوره شرکت کرده اند.
این دوره آموزشی در 8 ساعت و 34 قسمت مفاهیم اصلی کدنویسی ، زبان های برنامه نویسی ، پروژه ها و اصول و قواعد کار را آموزش می دهد.
12-
Udacity’s Free Course
Udacity یکی دیگر از پلتفرم های آموزش کدنویسی است که دارای انواع دوره های آموزشی رایگان و غیر رایگان است. دوره آموزشی که ما در این پست قصد معرفی آن را داریم، intro to html and css است.
براساس توضیحات این دوره آموزشی، شما می توانید ساختار و مفاهیم پایه و اصلی توسعه وب را به همراه مثال ها و تمرین های متنوع و حرفه ای یاد بگیرید. این دوره برای افراد مبتدی تهیه شده است پس اگر می خواهید برنامه نویسی چالش برانگیزتری تجربه کنید، باید به سایر دوره های این سایت هم سر بزنید.