بهبود رکوردهای (P) شخصی (R) من با (p)ull (r)quests 💪

Summarize this content to 400 words in Persian Lang
سلام به خوانندگان جدید و موجود! نام من پیتر است و من دانشجوی پلی تکنیک سنکا هستم، جایی که در رشته علوم کامپیوتر تحصیل می کنم.
امروز می خواستم در مورد کارهایی که این هفته برای OSD600 انجام دادم بنویسم موضوعات در کلاس متن باز.
فهرست مطالب
ارائه درخواست کشش
پذیرش درخواست کشش دیگران
1. درخواست کشش
موضوع این هفته انجام موارد زیر بود:
با توجه به افزودن یک ویژگی، یک مشکل GitHub را در مخزن دانش آموز OSD600 دیگری ثبت کنید.
بیان کنید که مالکیت اجرای آن ویژگی را به عهده خواهید گرفت و یک درخواست کشش GitHub که حاوی بهروزرسانیهای مناسب برای کد است، ارسال خواهید کرد.
از دانش آموز دیگری بخواهید همین کار را برای شما انجام دهد.
یکی از درس هایی که این هفته در متن باز آموختم این است که در روح در مورد منبع باز، ما فقط باید مشکلات را از همان ابتدا ثبت کنیم.
منظور من از این چیست؟
خوب، در زمینه مدرسه، بیشتر دانشآموزان احتمالاً به خاطر تکمیل تکلیف به دانشآموز دیگری میرسند تا «شریک شوند» و ادعا میکنند که چه کسی روی مخزن یکدیگر کار میکند.
این در است کنتراست شدید به کاری که باید انجام دهیم – فقط هر مشکلی را که فوراً پیدا می کنیم (با اخطار بررسی اینکه آیا یک موضوع قبلاً ثبت شده است یا در حال رسیدگی است) را ثبت کنید!
مسلماً، من هنوز در «مدت مدرسه» بودم، جایی که، اولین غریزه من این بود که به شریک قبلی ام، آریان خورانا برسم و برنامه ریزی کنم که چگونه برای انجام درخواست های کششی خود حمله کنیم. به طور خلاصه، این به نفع من نشد، زیرا متوجه شدم که شخص دیگری به طور فعال مشکلی را در مخزن خود ثبت کرده است و تغییرات لازم را در یک درخواست کشش در مورد افزودن یک ویژگی به مخزن خود اضافه کرده است.
این باعث شد متوجه شوم که در دنیای متن باز، شما باید در هنگام ثبت مسائل فعال باشید. اگر مشکلی را ثبت نکردید یا درخواستی برای کشش ارائه نکردید، کسی دیگر آن را انجام خواهد داد!
برای این منظور، من شروع به اسکن مخازن دانش آموزان مختلف کلاس خود کردم.
من مخزن Kannav Sethi را برای ابزار خط فرمان او، DialectMorph پیدا کردم و به سرعت مشکل بهبود را ثبت کردم.در شماره ای که ثبت کردم، پیشنهاد کردم یک گزینه خط فرمان جدید اضافه کنم، -t / –token برای نمایش تعداد توکن هایی که هنگام اتصال به Groq api مصرف می شود.
من توضیح دادم که میتوانیم توکنهای مورد استفاده در هنگام ارسال درخواست را به کاربران نشان دهیم. استفاده از توکن را می توان به موارد زیر تقسیم کرد:
prompt tokens، توکن هایی که صرفاً از درخواست API مصرف می شوند.
completion tokens، توکن های مصرف شده از پاسخ API.
total tokens، مجموع prompt و completion توکن ها
با توجه به اینکه کد Kannav کاملاً شبیه کد من بود، تغییر چند خط کد او بسیار آسان بود تا مطمئن شوید که استفاده از رمز را نشان می دهد.
من سعی کردم مقدار تغییر کد را به حداقل برسانم، در حالی که نتیجه را به حداکثر برسانم. من در نهایت 3 commit جداگانه انجام دادم:
اولین commit من به سادگی -t و –token را به عنوان یک گزینه معتبر اضافه کرد و توضیح می دهد که این گزینه چه کاری انجام می دهد.
دومین تعهد من شامل تغییر کمی منطق Kannav برای بازگرداندن اطلاعات بیشتر از آنچه در ابتدا برای یک تابع در نظر گرفته بود بود. با این حال، تابع از قبل موجود او اکنون هم یک درخواست از API و هم اطلاعات رمز از API را برمیگرداند.
سومین و آخرین ارتکاب من… بگذارید آن را برای بعد حفظ کنیم!
در حال حاضر، من می خواهم نتیجه تغییرات خود را نشان دهم:
بعد از اینکه مطمئن شدم به نظر می رسد کد من کار می کند (تا commit 2)، با عجله درخواست کشش کردم. من فکر کردم که اگر کد را بسازم کار کردن که کد من می تواند ادغام شود. با این حال، من متوجه نشدم که نتوانستم الزامات Kannav را برای قالب بندی برآورده کنم.
Kannav راه اندازی کرده بود continuous integration خط لوله، که به طور خودکار بررسی می کند که آیا کد در حال ادغام یا فشار دادن به مخزن او به درستی قالب بندی شده است یا خیر. من قبل از انجام تغییراتم در قالب بندی کدم شکست خورده بودم و خط لوله یکپارچه سازی مداوم Kannav متوجه آن شد.
بعد از اینکه متوجه شدم کدم را فرمت نکردهام، دستورالعملهای Kannav را برای قالببندی کدم دنبال کردم و سومین و آخرین commit خود را انجام دادم که به سادگی حاوی کد اصلاحشده از commit دوم من بود:
با تغییرات من به روز در مخزن فورک شده من، درخواست کشش من اکنون خط لوله یکپارچه سازی مداوم را پشت سر گذاشته و توسط Kannav پذیرفته شد.
می توانید تاریخچه ارتکاب من را اینجا ببینید.
و با آن کد من ادغام شد! احساس خوبی بود که بتوانیم مشکل را حل کنیم و از Kannav بازخورد دریافت کنیم که تغییرات خوب به نظر می رسند.
2. پذیرش تقاضای کشش دیگران
درست مانند نحوه اضافه کردن یک ویژگی برای Kannav، او مجبور شد همان ویژگی را اضافه کند، اما برای مخزن من نیز.
بلافاصله، Kannav این مشکل را در مخزن من ثبت کرد و همچنین بسیار سریع به درخواست من در رابطه با نحوه انجام آن پاسخ داد.
به روشی مشابه من، Kannav همچنین برخی از عملکردهای من را به حالتی تنظیم کرد که کار می کند، اما نتوانسته بود خط لوله CI خود را با توجه به مشخصات تست واحد من برآورده کند. گزارش چت ما را می توان در این موضوع درخواست کشش یافت.
بعد از اینکه به Kannav توصیه کردم که آزمایشات موفق نشدند، Kannav سریعاً مشکل را حل کرد. او درخواست کشش دیگری را باز کرده بود که مشکلات قالببندی کدش را حل میکرد و موارد آزمایشی من را بهروزرسانی میکرد تا تغییراتی را که انجام داده بود منعکس کند.
با آن، هم من و هم Kannav کمی تجربه بیشتری در ایجاد درخواستهای کشش و اطمینان از انجام تعهداتمان با خطوط لوله یکپارچهسازی مداوم یکدیگر به دست آوردیم. این تجربه خوبی برای من بود، زیرا آموختم که پروژه ای که به خوبی با خطوط لوله یکپارچه سازی پیوسته راه اندازی شده است، می تواند به کسانی که تلاش می کنند تا حدی نشان دهند که آیا کاربر در مسیر درست قرار دارد، کمک کند.
سلام به خوانندگان جدید و موجود! نام من پیتر است و من دانشجوی پلی تکنیک سنکا هستم، جایی که در رشته علوم کامپیوتر تحصیل می کنم.
امروز می خواستم در مورد کارهایی که این هفته برای OSD600 انجام دادم بنویسم موضوعات در کلاس متن باز.
فهرست مطالب
- ارائه درخواست کشش
- پذیرش درخواست کشش دیگران
1. درخواست کشش
موضوع این هفته انجام موارد زیر بود:
- با توجه به افزودن یک ویژگی، یک مشکل GitHub را در مخزن دانش آموز OSD600 دیگری ثبت کنید.
- بیان کنید که مالکیت اجرای آن ویژگی را به عهده خواهید گرفت و یک درخواست کشش GitHub که حاوی بهروزرسانیهای مناسب برای کد است، ارسال خواهید کرد.
- از دانش آموز دیگری بخواهید همین کار را برای شما انجام دهد.
یکی از درس هایی که این هفته در متن باز آموختم این است که در روح در مورد منبع باز، ما فقط باید مشکلات را از همان ابتدا ثبت کنیم.
منظور من از این چیست؟
خوب، در زمینه مدرسه، بیشتر دانشآموزان احتمالاً به خاطر تکمیل تکلیف به دانشآموز دیگری میرسند تا «شریک شوند» و ادعا میکنند که چه کسی روی مخزن یکدیگر کار میکند.
این در است کنتراست شدید به کاری که باید انجام دهیم – فقط هر مشکلی را که فوراً پیدا می کنیم (با اخطار بررسی اینکه آیا یک موضوع قبلاً ثبت شده است یا در حال رسیدگی است) را ثبت کنید!
مسلماً، من هنوز در «مدت مدرسه» بودم، جایی که، اولین غریزه من این بود که به شریک قبلی ام، آریان خورانا برسم و برنامه ریزی کنم که چگونه برای انجام درخواست های کششی خود حمله کنیم. به طور خلاصه، این به نفع من نشد، زیرا متوجه شدم که شخص دیگری به طور فعال مشکلی را در مخزن خود ثبت کرده است و تغییرات لازم را در یک درخواست کشش در مورد افزودن یک ویژگی به مخزن خود اضافه کرده است.
این باعث شد متوجه شوم که در دنیای متن باز، شما باید در هنگام ثبت مسائل فعال باشید. اگر مشکلی را ثبت نکردید یا درخواستی برای کشش ارائه نکردید، کسی دیگر آن را انجام خواهد داد!
برای این منظور، من شروع به اسکن مخازن دانش آموزان مختلف کلاس خود کردم.
من مخزن Kannav Sethi را برای ابزار خط فرمان او، DialectMorph پیدا کردم و به سرعت مشکل بهبود را ثبت کردم.
در شماره ای که ثبت کردم، پیشنهاد کردم یک گزینه خط فرمان جدید اضافه کنم، -t
/ --token
برای نمایش تعداد توکن هایی که هنگام اتصال به Groq api مصرف می شود.
من توضیح دادم که میتوانیم توکنهای مورد استفاده در هنگام ارسال درخواست را به کاربران نشان دهیم. استفاده از توکن را می توان به موارد زیر تقسیم کرد:
-
prompt tokens
، توکن هایی که صرفاً از درخواست API مصرف می شوند. -
completion tokens
، توکن های مصرف شده از پاسخ API. -
total tokens
، مجموعprompt
وcompletion
توکن ها
با توجه به اینکه کد Kannav کاملاً شبیه کد من بود، تغییر چند خط کد او بسیار آسان بود تا مطمئن شوید که استفاده از رمز را نشان می دهد.
من سعی کردم مقدار تغییر کد را به حداقل برسانم، در حالی که نتیجه را به حداکثر برسانم. من در نهایت 3 commit جداگانه انجام دادم:
- اولین commit من به سادگی -t و –token را به عنوان یک گزینه معتبر اضافه کرد و توضیح می دهد که این گزینه چه کاری انجام می دهد.
- دومین تعهد من شامل تغییر کمی منطق Kannav برای بازگرداندن اطلاعات بیشتر از آنچه در ابتدا برای یک تابع در نظر گرفته بود بود. با این حال، تابع از قبل موجود او اکنون هم یک درخواست از API و هم اطلاعات رمز از API را برمیگرداند.
- سومین و آخرین ارتکاب من… بگذارید آن را برای بعد حفظ کنیم!
در حال حاضر، من می خواهم نتیجه تغییرات خود را نشان دهم:
بعد از اینکه مطمئن شدم به نظر می رسد کد من کار می کند (تا commit 2)، با عجله درخواست کشش کردم. من فکر کردم که اگر کد را بسازم کار کردن که کد من می تواند ادغام شود. با این حال، من متوجه نشدم که نتوانستم الزامات Kannav را برای قالب بندی برآورده کنم.
Kannav راه اندازی کرده بود continuous integration
خط لوله، که به طور خودکار بررسی می کند که آیا کد در حال ادغام یا فشار دادن به مخزن او به درستی قالب بندی شده است یا خیر. من قبل از انجام تغییراتم در قالب بندی کدم شکست خورده بودم و خط لوله یکپارچه سازی مداوم Kannav متوجه آن شد.
بعد از اینکه متوجه شدم کدم را فرمت نکردهام، دستورالعملهای Kannav را برای قالببندی کدم دنبال کردم و سومین و آخرین commit خود را انجام دادم که به سادگی حاوی کد اصلاحشده از commit دوم من بود:
با تغییرات من به روز در مخزن فورک شده من، درخواست کشش من اکنون خط لوله یکپارچه سازی مداوم را پشت سر گذاشته و توسط Kannav پذیرفته شد.
می توانید تاریخچه ارتکاب من را اینجا ببینید.
و با آن کد من ادغام شد! احساس خوبی بود که بتوانیم مشکل را حل کنیم و از Kannav بازخورد دریافت کنیم که تغییرات خوب به نظر می رسند.
2. پذیرش تقاضای کشش دیگران
درست مانند نحوه اضافه کردن یک ویژگی برای Kannav، او مجبور شد همان ویژگی را اضافه کند، اما برای مخزن من نیز.
بلافاصله، Kannav این مشکل را در مخزن من ثبت کرد و همچنین بسیار سریع به درخواست من در رابطه با نحوه انجام آن پاسخ داد.
به روشی مشابه من، Kannav همچنین برخی از عملکردهای من را به حالتی تنظیم کرد که کار می کند، اما نتوانسته بود خط لوله CI خود را با توجه به مشخصات تست واحد من برآورده کند. گزارش چت ما را می توان در این موضوع درخواست کشش یافت.
بعد از اینکه به Kannav توصیه کردم که آزمایشات موفق نشدند، Kannav سریعاً مشکل را حل کرد. او درخواست کشش دیگری را باز کرده بود که مشکلات قالببندی کدش را حل میکرد و موارد آزمایشی من را بهروزرسانی میکرد تا تغییراتی را که انجام داده بود منعکس کند.
با آن، هم من و هم Kannav کمی تجربه بیشتری در ایجاد درخواستهای کشش و اطمینان از انجام تعهداتمان با خطوط لوله یکپارچهسازی مداوم یکدیگر به دست آوردیم. این تجربه خوبی برای من بود، زیرا آموختم که پروژه ای که به خوبی با خطوط لوله یکپارچه سازی پیوسته راه اندازی شده است، می تواند به کسانی که تلاش می کنند تا حدی نشان دهند که آیا کاربر در مسیر درست قرار دارد، کمک کند.