پشت درب شماره یک چیست؟ البته یک چالش کدنویسی!
با نزدیک شدن به پایان سال، افکار برنامه نویسان به ظهور کد معطوف می شود. این سایت که از سال 2015 اجرا می شود، تعطیلات دسامبر و کدنویسی را با مجموعه ای از چالش های روزانه جشن می گیرد.
چگونه کار می کند؟
سایت Advent of Code متنی سنگین است، با پیوندهای سبز رنگ و ارائه کلی که شبیه به ویرایشگر متن یا جلسه پایانه است.
هر روز، از 1 دسامبر تا 25th، یک چالش جدید در دسترس است. هر چالش به وضوح توضیح داده شده است، با مثال ها و هر فایل ورودی مرتبطی که برای دانلود در دسترس است. دو کار در هر چالش وجود دارد.
هر کار از شما می خواهد که یک پاسخ نهایی را وارد کنید، که چیزی است که برنامه شما باید محاسبه کرده باشد. می توانید از هر زبانی که می خواهید برای تکمیل کار استفاده کنید. در تئوری، میتوانید برخی از راهحلها را با دست پیدا کنید، اما این معمولاً کار دشواری خواهد بود – و به هر حال، لذت این کار کجاست؟
چگونه شرکت می کنید؟
- با استفاده از هر یک از سرویس های OAuth که سایت پشتیبانی می کند، وارد adventofcode.com شوید. واضح ترین سرویسی که می توان از آن استفاده کرد، GitHub، پلتفرم منبع باز مشترک است. همچنین می توانید از یک حساب کاربری از Google، Twitter یا Reddit استفاده کنید.
- برو سر کار روزانه اگر دیر شروع کردید، نگران نباشید؛ همیشه می توانید کارهای روزهای قبل را تکمیل کنید تا به عقب برگردید. با این حال، قطعاً باید سعی کنید هر روز را به ترتیب انجام دهید.
- مانند هر سوال، امتحان یا مصاحبه، باید دستورالعمل ها را با دقت بخوانید! معمولاً جزئیات مهمی وجود دارد که باید در متن پررنگ و سفید یادداشت کنید.
- هر فایل داده مورد نیاز را دانلود کنید.
- راه حل خود را به هر زبانی که انتخاب می کنید بنویسید. حتی ممکن است بتوانید برخی از کارها را با استفاده از ابزارهای خط فرمان استاندارد لینوکس حل کنید.
- هنگامی که راه حل خود را پیدا کردید، آن را در کادر پایین کار وارد کنید. پس از اتمام اولین کار هر روز، دومین کار وجود دارد که شما را بیشتر کش می دهد.
چالش ها چگونه هستند؟
چالش ها ساده شروع می شوند و با پیشروی ماه سخت تر می شوند. اولین کار امسال این است که به سادگی چند گروه از اعداد را از یک فایل متنی اضافه کنید و بیشترین تعداد را بدست آورید.
یک کار ممکن است برای شروع ساده به نظر برسد، و شما میتوانید خیلیها، بهویژه کارهای آسان را به زور وادار کنید. با این حال، از آنجایی که چالش به شما امکان می دهد از هر زبانی استفاده کنید، و فقط پاسخ نهایی را می خواهد، می توانید هر آنچه را که می خواهید از آن دریافت کنید. به عنوان مثال، ممکن است بخواهید از این سری به یکی از روش های زیر استفاده کنید:
- برای یادگیری یک زبان کاملاً جدید از ابتدا.
- به عنوان یک تست “سرعت”، برای اینکه ببینید با چه سرعتی می توانید هر کار را حل کنید.
- هر روز خود را با زبانی متفاوت محک بزنید.
- برای اینکه ببینید برنامه ای چقدر کارآمد می توانید تولید کنید، چه از نظر سرعت اجرا، چه مقدار حافظه کم استفاده می کند، یا چه تعداد خط کد حاوی چند خط کد است.
- به عنوان تمرین برای نوشتن تمیزترین و خواناترین کدی که می توانید.
همه چالشها بخشی از یک موضوع گستردهتر هستند که معمولاً به کریسمس مربوط میشوند. داستان امسال درباره الفهای بابانوئل است که میوه جمع میکنند تا در شلوغترین دوره کاریشان نگهداری کنند.
با به چالش کشیدن و سرگرم کردن خود یاد بگیرید
وب پر از بازی های برنامه نویسی و چالش هایی است که می توانید در آنها شرکت کنید. آنها ممکن است همیشه نتایج عملی ایجاد نکنند، اما یک استراحت سرگرم کننده از کار روزانه را ارائه می دهند. و کارهای جالب اغلب ساده تر از کارهای پیش پا افتاده هستند.