الگوریتم: پشت صحنه‌ی زندگی ما

تقریبا همه چیز در زندگی با یک الگوی خاص انجام می‌شود. حل یک مکعب روبیک، دویدن، دوچرخه‌سواری و سایر کارهای دیگری که با آنها در زندگی روزمره خود درگیر هستید. اما آیا تا به حال سعی کرده‌اید بدون پیروی از دستور‌العمل غذایی، آشپزی کنید؟ یا جمع‌آوری یک دوچرخه بدون استفاده از دفترچه راهنمای کاربر؟ ممکن است اینکار انجام شود، اما سخت است و زمان زیادی را بخصوص برای مبتدیان می‌طلبد.

هر‌بار که ما صبح بیدار می‌شویم، کارهایی را بطور روتین انجام می‌دهیم. این شامل خاموش کردن زنگ ساعت، مرتب کردن رختخوابمان، صبحانه بخوریم، مسواک بزنیم و سپس به محل کار خود برویم. اگر ما آن فعالیت‌های روزانه را تجزیه و تحلیل کنیم، می‌توانیم الگوهای منطقی را در آنها ببینیم؛ به صراحت بیشتر، ما آنها را “رویه‌ها”، “فرآیندها” یا “دستورالعمل‌ها” می‌نامیم. در صنعت توسعه وب و برنامه‌نویسی، این اصطلاح کامپیوتری به عنوان “الگوریتم” شناخته می‌شود.

بیشتر درباره الگوریتم‌ها
یک کامپیوتر قابلیت انجام کاری را زمانی دارد که به آن دستورالعمل داده شود. برای اینکه کار درست و هدفمند انجاو شود، نیازمند به دستورالعمل‌های گام به گام یا ورودی‌های کاربر است. بیشتر دستورات باید در یک زبان یا برنامه نوشته شوند که یک کامپیوتر درک کند. بنابراین، شما باید نحوه کد‌نویسی را یاد بگیرید، چون به کامپیوتر می‌گوید که چه کاری باید انجام دهد.

هنگامی که به درستی انجام شود، الگوریتم‌ها می‌توانند یک سری از فرآیندها را انجام دهند، مانند شناسایی و مرتب‌سازی ورودی‌ها برای ایجاد خروجی‌ها.

تاریخچه الگوریتم
کلمه “الگوریتم” ممکن است برای بعضی افراد جدید باشد، محمد بن موسی خوارزمی در قرن سوم هجری علمی را صورت بندی و تدوین کرد که آن را الجبر و المقابله نامید. او به نام «پدر جبر» شناخته شده بود، یک منجم، دانشمند و ریاضیدان ایرانی بود که کتابش در قرن ۱۲ میلادی به لاتین ترجمه شد، جایی که نام وی به «الگوریتمی» ترجمه شد.

از آن زمان، الگوریتم‌ها در پشت صحنه دنیای ما بوده است. هنگامی که شما در اینترنت جستجو می‌کنید، تصمیم می‌گیرید که چه نتایجی را در مانیتور یا گوشی‌های هوشمند خود مشاهده ‌کنید. در حال حاضر تجربه آنلاین ما را شکل می‌دهد و در زندگی روزمره ما واقعا مفید است.

مزایای الگوریتم
الگوریتم یکی از پایه‌های محاسبات و فناوری است و مدت طولانی قبل از رایانه‌های امروز وجود داشته است. همه چیزهایی که در آن تکنولوژی دخیل است از طریق الگوریتم‌ها کار می‌کند. مزایای که همه ما از آن بدست می‌آوریم عبارتند از: حل مسئله سریع‌تر، نتایج کارآمدتر و راه سریع‌تر در انجام وظایف و خروجی‌ها.

الگوریتم‌ها حل مسئله را ساده‌تر و منطقی‌تر می‌کنند. شناسایی فرآیند، گرفتن عمده تصمیمات و اجرای حل یک مسئله را برعهده دارند. با تشکر از الگوریتم، ایمیل‌های ما می‌داند از کجا باید ارسال شوند، پیام‌های ما در زمان واقعی تحویل داده می‌شود، تماس‌های ویدئویی با عزیزان ما از طرف دیگر دنیا امکان پذیر می‌شود، ما می‌توانیم درام و فیلم مورد علاقه خود را توسط گوشی‌های هوشمند در هر جایی که هستیم تماشا کنیم، ما از بازی‌ها و برنامه‌های آنلاین و حتی آفلاین لذت می‌بریم.

هوش مصنوعی، یادگیری ماشین، یادگیری عمیق و دیگر زمینه‌های کار در تکنولوژی از طریق الگوریتم‌ها انجام می‌شوند. بدون آن، ما بهترین تجربه اینترنت، نتایج در زمان واقعی و سریع را نداریم. برای ارائه خروجی بهتر و سریع‌تر، الگوریتم‌های مختلفی برای حل مسئله و یا انجام وظایف وجود دارد. در اینجا برخی از آنها عبارتند از:

انواع مختلف الگوریتم
الگوریتم تقسیم و حل (Divide and Conquer)

یک الگوریتم تقسیم و حل از طریق تفکیک یک مسئله به دو یا چند زیرمسئله از یک نوع (یا انواع وابسته به هم)، به صورت بازگشتی، کار می‌کند. این تفکیک تا زمانی ادامه می‌یابد که زیرمسئله‌های حاصله به میزان کافی ساده شده باشند تا بتوان آن‌ها را مستقیماً حل کرد. جواب مسئله اصلی از ترکیب جواب‌های به دست آمده برای زیر مسئله‌ها به دست می‌آید.

الگوریتم کاهش و حل (Decrease and Conquer)

شما ممکن است بپرسید “آیا تفاوتی بین Divide and Conquer و Decrease and Conquer وجود دارد؟” خب، پاسخ بله است. در حالی که Divide and Conquer به مقادیر کوچک‌تر تقسیم می‌شود، الگوریتم Decrease and Conquer، مشکل را به جای تقسیم آن کاهش می‌دهد. مشکل را به یک نمونه کوچکتر از مشکل اصلی تقلیل می‌دهد. هنگامی که حل شود، نمونه کوچکتر برای حل مشکل اصلی گسترش می‌یابد.

الگوریتم حریصانه (Greedy)

الگوریتم Greedy یا حریصانه شبیه روش‌های پویا اغلب برای حل مسائل بهینه‌سازی استفاده می‌شوند. این الگوریتم بهترین انتخاب را با توجه به شرایط مسئله انجام می‌دهد به امید آنکه با ادامه همین روش بهینه‌سازی انجام شود. البته این نکته که بهترین انتخاب فعلی ما را به جواب بهینه می‌رساند را باید اثبات کرد. در شیوه حریصانه در هر مرحله عنصری که بر مبنای معیاری معین به نظر می‌رسد، بدون توجه به انتخاب‌هایی که قبلاً انجام شده یا در آینده انجام خواهد شد، انتخاب می‌شود. الگوریتم‌های حریصانه اغلب راه حل‌های ساده‌ای هستند. در روش حریصانه برخلاف روش پویا، مسئله به نمونه‌های کوچک‌تر تقسیم نمی‌شود.

الگوریتم جستجوی جامع (Brute Force Search)

روشی بدیهی در عین حال بسیار کلی برای حل مسئله می‌باشد. این روش شمارش نظام‌مند تمام نامزدهای ممکن برای حل و چک کردن اینکه آیا هر یک از نامزدها قادر به حل کردن شرط مسئله هستند یا خیر را بر عهده دارد. جستجو به روش brute-force به سادگی قابل پیاده‌سازی می‌باشد و همیشه جواب مسئله را در صورت وجود می‌یابد. با این حال، به دلیل اینکه هزینه‌های آن متناسب با تعداد نامزدهای حل مسئله است، استفاده از آن در بسیاری از مسائل عملی، که تعداد نامزدهای حل مسئله تمایل به رشد بسیار سریع با افزایش اندازه مسئله را دارد، امکانپذیر نمی‌باشد.

الگوریتم پس‌گرد (Backtracking)

روش پس‌گرد یکی از شیوه‌های کلی جستجوی فضای حالت برای حل مسائل ترکیبیاتی است. این شیوه، تمام ترکیب‌های ممکن را بررسی می‌کند تا یک جواب پیدا کند یا تمام جواب‌های ممکن را شمارش کند. تنها مزیت روش پسگرد در این است که می‌توان حالت‌هایی را بدون آنکه صریحاً بررسی شوند، با در نظر گرفتن ویژگی‌های مسئله، کنار گذاشت.

در آخر باید گفت بسیاری از ما دارای گوشی‌های هوشمند، تبلت و لپ‌تاپ‌هایی هستیم که هر روز از آنها استفاده می‌کنیم. ممکن است برخی افراد فکر کنند که وجود الگوریتم‌ها غیر ضروری هستند، اما به خاطر آنها، زندگی امروز بسیار ساده‌تر از قبل است. ممکن است آنها را متوجه نشوید و آنها را مشاهده نکنید، اما آنها در پشت صحنه کار می‌کنند تا زندگی ما راحت‌تر باشد.

ایجاد یک پورتفولیو قوی به عنوان یک توسعه دهنده وب

چرا پورتفولیو؟
تصور کنید شما از یک دوره فرانت‌اند فارغ‌التحصیل شده‌اید و آماده برای جستجوی کار مورد علاقه خود هستید. حال این سوالات پیش می‌آید که چگونه می‌خواهید نظر کارفرمایان را در آینده جلب کنید و شبکه‌ای از ارتباطات ایجاد کنید؟ چگونه می‌توان تمام مهارت‌ها و تکنیک‌های شگفت‌انگیز و قابل توجهی که سه ماه گذشته یاد گرفته‌اید را نشان دهید؟ خب، پاسخ به این سوالات مشخص است. شما به یک پورتفولیو وب‌ سایت شخصی نیاز دارید.

پورتفولیو چیست؟
پورتفولیو یک رزومه نیست. پورتفولیو یک راه برای نشان دادن تمام مهارت‌هایی است که در رزومه خود ذکر کرده‌اید و اساسا یک نمایشگاه از نمونه کارهای شما است. پورتفولیو شما نیز فرصتی برای ایجاد و تعریف نام تجاری خود به عنوان یک فرد حرفه‌ای در حوزه فناوری اطلاعات است. نام تجاری شما یک جنبه بسیار مهم برای هویت شما به عنوان یک توسعه دهنده است، چون نام تجاری شما چیزی است که کارفرمایان بهش بسیار توجه می‌کنند.

اجزاء تشکیل دهنده یک پورتفولیو
پورتفولیو در تمام اشکال و اندازه‌ها قابل ارائه است، اما حداقل باید نمونه پورتفولیو شما شامل بخش‌‌های زیر باشد:

بخش درباره من: در این بخش باید نام، عکس، عنوان و یک یا دو پاراگراف درباره شما باشد. آنچه شما انجام داده‌اید، و چه کاری بعدا می‌خواهید انجام دهید. نگران به پرداختن جزئیات عمیق‌تر در مورد پورتفولیو خود نباشید. این نیز بخش مهمی از توسعه نام تجاری شماست. کشف آنچه شما را منحصر به فرد می‌کند و از بقیه جدا می‌کند را با خوانندگان خود به اشتراک بگذارید.

بخش پروژه: بخش پروژه دلیل اصلی شما برای داشتن یک پورتفولیو است. بنابراین شما بهترین نمایش خود را در این بخش باید ارائه دهید. بر خلاف رزومه شما می‌توانید فهرست کامل پروژه‌های برنامه‌نویسی خود را نمایش دهید. استخدام کنندگان را با پروژه‌های خود با استفاده از دمو‌های ویدیویی، GIFS و یا تصاویر مختلف شگفت زده کنید.

بخش تماس با من: هر پورتفولیو موفق دارای یک قسمت است که بیننده می‌تواند با شما تماس بگیرد. حداقل، مطمئن شوید که LinkedIn، GitHub، و آدرس ایمیل شما در دسترس باشند.

مهمتر از همه، پورتفولیو باید سبک و شخصیت شمارو به عنوان یک توسعه دهنده بیان کند. بار دیگر، پورتفولیو در مورد نشان دادن مهارت‌های فنی و خلاقیت شما به عنوان یک توسعه دهنده می‌باشد.

علاوه بر اجزای بالا، پورتفولیو قوی یک توسعه دهنده باید موارد زیر را نیز داشته باشد:

طراحی Responsive یا واکنش‌گرا: از آنجایی که بیشتر افراد به سمت موبایل سوق پیدا کردند، بنابراین شما هم باید در این مورد انعطاف پذیر باشید و از طراحی Responsive پورتفولیو خود در دستگاه‌های مختلف مانند موبایل و تبلت اطمینان حاصل فرمایید.

آدرس URL سایت: همانطور که نمونه کارهایتان بیان سبک شخصی شما است، باید URL شما نیز همینطور حرفه‌ای باشد. بسیار توصیه می‌شود دامنه سفارشی خود را خریداری کنید. برخی از سایت‌های فروش دامنه در آخر این پست در بخش منابع آورده شده است.

تعداد محدود کلیک: پورتفولیوها و برنامه‌های کاربردی چند رسانه‌ای نیاز نیست پیچیده باشند. هنگام طراحی، خود را جای کاربر بگذارید و اطمینان حاصل کنید که مهم‌ترین اطلاعات (پروژه‌ها، اطلاعات تماس) تنها با چند کلیک در دسترس باشد.

طراحی جذاب و دیدنی: اگر مانند طراحان چشم‌اندازهای طراحی را ندارید یا نمی‌خواهید زمان زیادی برای کد‌نویسی در این زمینه صرف کنید، مشکلی نیست! صدها قالب رایگان در وب وجود دارد که می‌توانید به راحتی از آنها استفاده کنید. اگر شما از یک قالب رایگان استفاده می‌کنید، سعی کنید تا آن قالب را تا جایی که می‌توانید سفارش‌سازی کنید. این شامل تغییر رنگ، هدر عکس‌ها یا لایه‌های صفحه می‌باشد.

در ادامه به چندی از منابعی که برای ساخت و اشتراک‌گذاری پورتفولیو شما مفید هستند می‌پردازیم.

هاست کردن پورتفولیو در صفحه Github
خرید دامنه از سایت‌های فروش دامنه مانند ایران سرور، هاست ایران و غیره
گرفتن عکس از صفحه اسکرین و تبدیل آن به GIF
قالب‌های پورتفولیو

چگونه رزومه‌ای بنویسیم که مورد توجه کارفرمایان قرار گیرد

دیده شدن رزومه شما توسط کارفرمایان می‌تواند یک چالش بزرگی باشد، اما شما با یک سری تکنیک‌ها سریع‌تر به نتیجه مطلوب خود خواهید رسید و احتمال بالاتری برای گرفتن مصاحبه نسبت به سایر کارجویان خواهید داشت. در این پست ۲۱ مورد از ترفندهای مهم که در رزومه باید به آن توجه کنید آورده شده است.

۱. فرمت ساده

یک فرمت ساده کار را برای استخدام کنندگان راحت می‌سازد و خواندن را برای آنها آسان‌تر می‌نماید. طراحی‌های فانتزی را برای پورتفولیو خود نگه دارید و سعی کنید رزومه شما به نحوی نوشته شده باشد که خواندن آن خسته کننده نباشد.

منبع: https://www.thebalancecareers.com/how-to-choose-the-best-resume-format-2063335

۲. فونت

بهترین فونت برای نوشتن رزومه Times New Roman، Arial و یا Calibri می‌باشد. سعی کنید از سایز بین ۱۲-۱۰ استفاده کنید که به راحتی قابل خواندن باشد. همچنین از بولد کردن (bold) برای عنوان‌های شغلی خود استفاده کنید.

منبع: https://www.thebalancecareers.com/best-resume-font-size-and-type-2063125

۳. کلمات کلیدی

از کلمات برتر، کلیدی و خلاقانه که نقش شمارو برای کارفرما شرح می‌دهد استفاده کنید. رزومه شما اولین فرصت برای ایجاد یک تصور خوب است و زمان زیادی برای ایجاد این احساس ندارید.

منبع: https://www.thebalancecareers.com/top-words-to-include-and-avoid-in-your-resume-2063329

۴. حداقل نیازهای شغلی

از داشتن حداقل الزامات مورد نیاز که در آخر پست شغلی آورده شده است، اطمینان حاصل کنید. در غیر اینصورت، زمان همه و شخص خودتان را هدر داده‌اید.

منبع: https://www.thebalancecareers.com/what-are-job-requirements-3928054

۵. سفارش‌سازی رزومه

سعی کنید رزومه کاری مشابه برای هر پست شغلی ارسال نکنید. رزومه خود را طبق مهارت‌هایی که شرکت دنبال می‌کند، سفارش‌سازی کنید. با این کار کارفرما متوجه می‌شود که شما حداقل نیازها را برای عنوان شغلی مورد نظر دارید.

منبع: https://www.thebalancecareers.com/making-a-job-sound-impressive-on-your-resume-4163583

۶. تمرکز بر دستاوردها

کارفرما می‌خواهد بداند شما چه دستاوردهایی داشته‌اید نه چه کاری انجام دادید. به همین منظور رزومه خود را با دستاوردهایی که داشتید به کارفرما ارائه دهید، نه مسئولیت‌های شغلی که در شرکت قبل داشتید.

منبع: https://www.thebalancecareers.com/tips-for-including-accomplishments-on-a-resume-2061917

۷. مهارت‌های مرتبط

از کلماتی در رزومه کاری خود استفاده کنید که با مهارت‌های خاص شغلی که کارفرمایان در جستجوی آن هستند مطابق باشد. شما می‌توانید مهارت‌ها و ویژگی‌هایی که کارفرمایان به دنبال آن هستند را در پست شغلی پیدا کنید.

منبع: https://www.thebalancecareers.com/what-are-job-specific-skills-2063755

۸. اضافه کردن بخش مهارت‌ها

اضافه کردن بخش مهارت‌ها به رزومه شما یک روش عالی برای ثابت کردن به کارفرمایان است که برای شغل مربوطه شرایط لازم را دارید.

منبع: https://www.thebalancecareers.com/what-to-include-in-a-resume-skills-section-2063321

۹. تطابق رزومه با شغل مربوطه

رزومه شما هرچه نزدیکتر به نیازهای شغلی باشد، شانس بیشتری برای گرفتن مصاحبه دارید. لیستی از نیازهای کارفرمای خود را تهیه کنید و مطمئن شوید تا آنجایی که می‌شود آنهارو در رزومه خود اعمال کنید.

منبع: https://www.thebalancecareers.com/how-to-match-your-qualifications-to-a-job-2060941

۱۰. استخدام یک بازی اعداد

کارفرمایان به تعداد دستاوردهای شما در رزومه اهمیت می‌دهند. در صورت امکان از اعداد بجای حروف استفاده کنید. به عنوان مثال ۳۰ درصد بجای سی درصد بنویسید.

منبع: https://www.thebalancecareers.com/why-and-how-to-include-numbers-on-your-resume-2063136

۱۱. حذف شغل‌های قدیمی

شما لازم نیست تمام تجربه کاری خود را در رزومه بیاورید. بعنوان مثال اگر سابقه کار طولانی ۱۰ تا ۱۵ سال داشته باشید، لیست کردن آنها بیش از حد است. ممکن است لازم باشد همه آنها را در فرم درخواست همکاری فهرست کنید، اما رزومه شما خلاصه‌ای از تاریخ اشتغال شما است، نه داستان زندگی شما.

منبع: https://www.thebalancecareers.com/how-many-years-of-experience-to-list-on-a-resume-2061041

۱۲. اجتناب از اطلاعات غیر ضروری

رزومه شما حرفه‌ای است و نه شخصی. شما نباید اطلاعات مربوط به زندگی شخصی، خانوادگی یا سرگرمی یا هر چیز دیگری را که مربوط به کار نیست را در آن بیاورید.

۱۳. اضافه کردن اطلاعات

اگر شما تجربه کاری تمام وقت کافی ندارید، بهتر است که کارآموزی، شغل نیمه وقت و تجربه کار داوطلبانه را در رزومه خود اضافه کنید.

۱۴. اطلاعات تحصیلی

اول تمرکز بر تجربه کاری خود و سپس اطلاعات تحصیلی و سایر اطلاعات خود را در پایین رزومه خود قرار دهید. در این قسمت اگر تجربه کاری کافی دارید (بعنوان مثال ۳-۲ سال)، نیاز به گذاشتن GPA خود نیستید.

منبع: https://www.thebalancecareers.com/when-to-include-your-gpa-on-your-resume-2059859

۱۵. اضافه کردن پروفایل

یک پروفایل عالی برای خواننده می‌تواند بسیار جذاب باشد. تمرکز خود را بر آنچه که می‌توانید به کارفرما ارائه دهید بگذارید، نه آنچه که شما از یک کار می‌خواهید.

منبع: https://www.thebalancecareers.com/resume-profile-vs-resume-objective-2063185

۱۶. هم‌خوانی رزومه با لینکدین

ایده خوبی است که نشانی صفحه لینکدین خود را در رزومه قرار دهید. از همخوانی داشتن صفحه لینکدینتان با رزومه خود اطمینان حاصل کنید چون کارفرمایان اغلب چک می‌کنند.

منبع: https://www.thebalancecareers.com/how-to-include-your-linkedin-url-on-your-resume-2064039

۱۷. اشکالات تایپی

خطاهای رزومه مهم است و فکر نکنید غلط املایی و اشکلات تایپی مورد توجه قرار نمی‌گیرد. ابزارهایی برای چک کردن گرامر وجود دارد که شما می‌توانید از آنها استفاده کنید.

منبع: https://www.thebalancecareers.com/grammarly-proofreading-and-grammar-checker-review-2062231

۱۸. نام فایل رزومه

فایل رزومه خود را “رزومه” نام‌گذاری نکنید. نامگذاری فایل رزومه خود را به FirstLastNameResume.doc تغییر دهید. در این صورت رزومه شما برای استخدام کنندگان واضح و روشن است.

منبع: https://www.thebalancecareers.com/how-to-name-your-resume-and-cover-letter-2063300

۱۹. ذخیره فایل PDF

مگر اینکه کارفرما به فرمت دیگری نیاز داشته باشد، فایل رزومه خود را PDF ارسال کنید تا خوانندگان بتوانند رزومه خود را دقیقا همانطور که می‌خواهید نگاه کنند و تغییر در فرمت آن ایجاد نشود.

۲۰. اضافه کردن CV

داشتن Cover Letter حتی اگر لازم نباشد، بهترین راه برای نشان دادن صلاحیت شما برای شغل مورد نظر است.

منبع: https://www.thebalancecareers.com/cover-letters-4161919

۲۱. داشتن ارتباط

رساندن رزومه خود به دست شخص مناسب می‌تواند به شما کمک کند مصاحبه را راحت‌تر دریافت کنید. هدف شما این است که رزومه شما خوانده شود و بدانید که کسی هست شمارو در این امر راهنمایی و کمک می‌کند.

منبع: https://www.thebalancecareers.com/how-to-ask-for-a-job-referral-2062989

Create A product first!

Create a product first please!