Forwarded from مکشوفات علیز
به صورت کلی اسلاید درست کردن برای من کار سختی بوده و هست. این مدتی هم که درگیر فرآیند اپلای، مصاحبههای بعدش و اینجور چرت و پرتها بودم، نیازم به اسلاید درست کردن بیشتر از هیمشه بوده. ولی خب یه ابزاری هست که مدتهاست من ازش استفاده میکنم و من رو این مدت هم نجات داد!
این ابزاره (presenterm) یه ابزار برای تولید اسلاید و پرزنتیشن توی ترمیناله. به این صورت که یه فایل markdown مینویسی و بهش میدی و اسلاید تحویلت میده. حداقل خیلی به درد من خورده گفتم شاید به درد شما هم بخوره :)
https://github.com/mfontanini/presenterm
این ابزاره (presenterm) یه ابزار برای تولید اسلاید و پرزنتیشن توی ترمیناله. به این صورت که یه فایل markdown مینویسی و بهش میدی و اسلاید تحویلت میده. حداقل خیلی به درد من خورده گفتم شاید به درد شما هم بخوره :)
https://github.com/mfontanini/presenterm
❤3👍3🤮2💩2🖕1
Forwarded from Zoomit | زومیت
آسیبپذیری Cloudflare میتواند مکان کاربران اپلیکیشنهای پیامرسان و شبکههای اجتماعی را لو دهد
🔴 یک مشکل امنیتی در شبکه تحویل محتوای Cloudflare شناسایی شده است که به مهاجمان اجازه میداد مکان تقریبی کاربران اپلیکیشنهای پیامرسان و شبکههای اجتماعی مانند Signal، Discord و ایکس را تخمین بزنند.
🔴 این آسیبپذیری ناشی از نحوه استفاده این برنامهها از Cloudflare برای کش کردن تصاویر است و ارتباطی با آسیبپذیری خود برنامهها ندارد . مهاجم با ارسال یک تصویر به کاربر هدف، میتواند بفهمد که کدام دیتاسنتر Cloudflare تصویر را کش کرده و بدین ترتیب مکان کاربر را تخمین بزند.
🔴 این آسیبپذیری بهوسیله پژوهشگری به نام daniel کشف شده است که با استفاده از ابزاری به نام Cloudflare Teleport، توانسته درخواستهایی به تمام مراکز داده Cloudflare ارسال کند تا مشخص کند تصویر در کدام دیتاسنتر کلادفلر کش شده است!
🔴 این پژوهشگر از این طریق میتواند محل تقریبی کاربر را پیدا کند (در واقع محل یا کشوری که دیتاسنتر یا CDN کلادفلر در آن کشور وجود دارد).
👨💻 @TheZoomit
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
https://seart-ghs.si.usi.ch/
این یک موتور جستوجو روی گیتهاب هست که یه ایرانی نوشته. میتونید کلی کوئریهای خفن بزنید و لیست ریپو ازش بگیرید.
مثلا بر اساس زبان، تاریخ کامیت، برچسبهایی که خورده و....
این یک موتور جستوجو روی گیتهاب هست که یه ایرانی نوشته. میتونید کلی کوئریهای خفن بزنید و لیست ریپو ازش بگیرید.
مثلا بر اساس زبان، تاریخ کامیت، برچسبهایی که خورده و....
seart-ghs.si.usi.ch
GitHub Search
GitHub Search, SEART, Software Institute (SI), USI
👍3🔥2❤1
Digiato | دیجیاتو
راس بالاخره آزاد شد. یعنی لیترالی از زندان هم اومد بیرون. یه چیزی که الان جالبه برام که بدونم چی میشه، اکس راس هست. راس در زمان اوجش یک دوست دختری داشت به اسم جولیا. یعنی از قبل از اینکه اصلا سایت رو بزنه رفت مخ جولیا رو زد و باهاش بود.
در زمان اوجشم یک جا جولیا زندگی راس رو به باد داد. یک جا که باهم دعواشون شد جولیا رفت گل کشید و به یکی از رفیقاش گفت اره میدونستی راس سایت سیلک رود رو زده؟ و این دلیل اولین جداییشون بود.
بعد از یه مدتی که راس از پیش خواهرش از استرالیا برمیگرده، مجددا با جولیا همو میبینن و این صحبتا. یه مدتی هم بود بعد از اینکه برگشتن به هم با هم میرفتن اسکایپ و dirty talk و اینها داشتن. اتفاقا دقیقا همون شبی که قرار بوده با راس برن مجددا اسکایپ، که دیگه عصرش راس توی کتابخونه دستگیر میشه و جولیام خیلی ناراحت میشه که چرا راس نیومده اسکایپ شب و تازه صبح روز بعدش میفهمه که دستگیر شده.
بعد از دستگیری راس، جولیا یه تایمی بهش سر میزد. اون اواخرم مسیحی شده بود و میرفت واسش کتاب مسیح و اینها رو میخوند. از یکجایی به بعد دیگه کلا میزنه توی کار nude art گرفتن از مردم و دیگه به راس هم سر نمیزنه و گهگاهی تلفنی حرف میزنه. توی آخرین تماس تلفنیش به راس میگه که حاجی من دیگه میخوام برم با یکی دیگه تو رابطه و تورو نمیخوام و عاشق یکی دیگه شدم و تو هیجوقت آزاد نمیشی و فلان و چنان و خلاصه میگه نمیخوام عمرمو صرف تو هدر کنم و میره با یکی دیگه.
الانم فکر کنم از اون آقا جدیده یه بچه هم داره حتی. کارش هم همون nude art هست. پیج اینستاشم هست:
viviansmuse
امیدوارم که راس بره سراغ جولیا و ببینیم چی میشه باقی داستان🙏
در زمان اوجشم یک جا جولیا زندگی راس رو به باد داد. یک جا که باهم دعواشون شد جولیا رفت گل کشید و به یکی از رفیقاش گفت اره میدونستی راس سایت سیلک رود رو زده؟ و این دلیل اولین جداییشون بود.
بعد از یه مدتی که راس از پیش خواهرش از استرالیا برمیگرده، مجددا با جولیا همو میبینن و این صحبتا. یه مدتی هم بود بعد از اینکه برگشتن به هم با هم میرفتن اسکایپ و dirty talk و اینها داشتن. اتفاقا دقیقا همون شبی که قرار بوده با راس برن مجددا اسکایپ، که دیگه عصرش راس توی کتابخونه دستگیر میشه و جولیام خیلی ناراحت میشه که چرا راس نیومده اسکایپ شب و تازه صبح روز بعدش میفهمه که دستگیر شده.
بعد از دستگیری راس، جولیا یه تایمی بهش سر میزد. اون اواخرم مسیحی شده بود و میرفت واسش کتاب مسیح و اینها رو میخوند. از یکجایی به بعد دیگه کلا میزنه توی کار nude art گرفتن از مردم و دیگه به راس هم سر نمیزنه و گهگاهی تلفنی حرف میزنه. توی آخرین تماس تلفنیش به راس میگه که حاجی من دیگه میخوام برم با یکی دیگه تو رابطه و تورو نمیخوام و عاشق یکی دیگه شدم و تو هیجوقت آزاد نمیشی و فلان و چنان و خلاصه میگه نمیخوام عمرمو صرف تو هدر کنم و میره با یکی دیگه.
الانم فکر کنم از اون آقا جدیده یه بچه هم داره حتی. کارش هم همون nude art هست. پیج اینستاشم هست:
viviansmuse
امیدوارم که راس بره سراغ جولیا و ببینیم چی میشه باقی داستان🙏
😁9
Forwarded from Zoomit | زومیت
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👏7❤1👍1
تمام. مبارک خیلیا. دعا کنید اون آسیبپذیریای هم که از FFmpeg ربپورت کردم تایید شه تا زحماتش بیارزه :(
🔥46❤5👍1
Forwarded from Out of Distribution (Mahdi)
درس به مثابه حکومت
۱/۲
من هر زمان که مسئولیت ارائه یک درس یا هدتیای بودنش رو برعهده دارم مقداری از دوز انتقادات سیاسیم کم میشه (البته خدا رو شکر دلار با تناوب سریعتری بالا میره و دوباره دوز انتقاداتم عادی میشه). ماجرا اینه که سیستم درسها در کامپیوتر شریف به یک حد پیچیدگی فراتر از تصور رسیده و یک بروکراسی خاصی رو داره و وجهههایی از سیاست رو قشنگ میشه درش دید.
در تصور اول یک درس از یک استاد و یکسری دانشجو تشکیل شده اما این فرمول ساده میتونه خیلی پیچیدهتر باشه. طوری که درس شامل یک یا چند استاد، یک یا چند هد تی ای، چند ده تی ای، چند تی ای با نقش پررنگتر (مثل هد تمرین یا هد پروژه یا ..) و البته در نهایت دانشجوهای اون درس باشه. دانشجوهایی که خودشون به کلاسترهای مختلفی تقسیم میشن. اون هم نه از یک جنبه که از جنبههای مختلف، مثلا کلاستر المپیادیها / کنکوریها یا کلاستر علاقهمندان به هوش یا غیرعلاقهمندان به هوش. اینها بازیگران یک درس بودند اما پیچیدگی درس به این جا ختم نمیشه و آیتمهای خود درس هم یک سمت دیگه پیچیدگی درس هستند. این که چه سیلابسی تدریس بشه، چه تعداد تمرین باشه، تمرینهای تئوری و عملی چه جوری باشند، درس پروژه و ارائه داشته باشه یا نه و .... و اگر حالا وسواسی روی این آیتمها باشه نهایتا خیلی اوضاع پیچیده و غیرقابل پیشبینیتر میشه (یادم افتاد زمان کارشناسی خودم درس الگوریتممون کلا سه تا تی ای داشت!).
من اما چندین چیز این وسط تا حالا برام متناظر با عالم واقعی سیاست شده. اولیش موقع انتخاب تیای هاست. غیر از فاکتور شایستگی افراد که حالا شامل یک سری متریک میشه، فاکتور آشناییت هم مهمه. مدیر بالادستی میخواد یک سیاستی رو اجرا کنه و مجبوره کسی رو انتخاب کنه که باهاش آشنا باشه. این مخصوصا توی انتخاب هد تی ای خیلی پررنگه. هد تی ای درس باید کسی باشه که به استاد درس نزدیک باشه و از ور دیگه هم به تی ای ها نزدیک باشه و بتونه مدیریتشون کنه. این در اسکیل بزرگتر خیلی شبیه ساختارهای سیاسیه. گاها میبینید یکی مثلا وزیر ورزشه بعد میشه رییس فلان پتروشیمی نهایتا هم میشه سفیر در یک کشوری. بعد شما میگید خب این چه ربطی به تخصصش داره؟ ماجرا اینه که اون چیزی که مهمه اعتماد و شناخت آدمها به همدیگه است.
نکته دیگه سمت اینه که گاها سیاستهای شما به نظر برای یک هدف مناسب به نظر میرسند ولی در کنار سیاستهای سایر عوامل ممکنه بی اثر یا حتی ضداثر بشن. مثال بزنم. مثال نحوه مدیریت تاخیر یکی از مناقشه برانگیزترین موارد هر درسته. به صورت خلاصه، هر تمرینی یک ددلاینی داره. حالا این که آیا افراد میتونن بعد از اون ددلاین تمرینشون رو بفرستند یا نه میشه انواع استراتژیهای مختلف روش داشت. تاخیر مجاز میشه این که هر کسی در طول یک ترم یک میزان تاخیر مجاز میتونه داشته باشه (مثلا ۸ روز) و حالا میتونه در طول ترم از این مهلتهاش استفاده کنه. تاخیر غیرمجاز میشه که اگر فرد تاخیر مجاز نداشته باشه یا تموم شده باشه، وقتی ارسال کنه براش یک جریمهای روی نمره اون تمرین حساب بشه. من دو سال پیش، سیاست هارد ددلاین در پیش گرفتم یعنی نه تاخیر مجاز و نه تاخیر غیرمجاز. به این هدف که مردم سر ساعت ۱۲ شب تمرینشون رو ارسال کرده باشند و دیگه وسواس فکری نداشته باشند و بگیرند بخوابند. نتیجه اما چه بود؟ مردم همچنان تا صبح بیدار بودند. چرا؟ چون که بقیه درسهاشون سیاستشون متفاوت بود و اینها شب رو برای اونها درسها میذاشتند.
۱/۲
من هر زمان که مسئولیت ارائه یک درس یا هدتیای بودنش رو برعهده دارم مقداری از دوز انتقادات سیاسیم کم میشه (البته خدا رو شکر دلار با تناوب سریعتری بالا میره و دوباره دوز انتقاداتم عادی میشه). ماجرا اینه که سیستم درسها در کامپیوتر شریف به یک حد پیچیدگی فراتر از تصور رسیده و یک بروکراسی خاصی رو داره و وجهههایی از سیاست رو قشنگ میشه درش دید.
در تصور اول یک درس از یک استاد و یکسری دانشجو تشکیل شده اما این فرمول ساده میتونه خیلی پیچیدهتر باشه. طوری که درس شامل یک یا چند استاد، یک یا چند هد تی ای، چند ده تی ای، چند تی ای با نقش پررنگتر (مثل هد تمرین یا هد پروژه یا ..) و البته در نهایت دانشجوهای اون درس باشه. دانشجوهایی که خودشون به کلاسترهای مختلفی تقسیم میشن. اون هم نه از یک جنبه که از جنبههای مختلف، مثلا کلاستر المپیادیها / کنکوریها یا کلاستر علاقهمندان به هوش یا غیرعلاقهمندان به هوش. اینها بازیگران یک درس بودند اما پیچیدگی درس به این جا ختم نمیشه و آیتمهای خود درس هم یک سمت دیگه پیچیدگی درس هستند. این که چه سیلابسی تدریس بشه، چه تعداد تمرین باشه، تمرینهای تئوری و عملی چه جوری باشند، درس پروژه و ارائه داشته باشه یا نه و .... و اگر حالا وسواسی روی این آیتمها باشه نهایتا خیلی اوضاع پیچیده و غیرقابل پیشبینیتر میشه (یادم افتاد زمان کارشناسی خودم درس الگوریتممون کلا سه تا تی ای داشت!).
من اما چندین چیز این وسط تا حالا برام متناظر با عالم واقعی سیاست شده. اولیش موقع انتخاب تیای هاست. غیر از فاکتور شایستگی افراد که حالا شامل یک سری متریک میشه، فاکتور آشناییت هم مهمه. مدیر بالادستی میخواد یک سیاستی رو اجرا کنه و مجبوره کسی رو انتخاب کنه که باهاش آشنا باشه. این مخصوصا توی انتخاب هد تی ای خیلی پررنگه. هد تی ای درس باید کسی باشه که به استاد درس نزدیک باشه و از ور دیگه هم به تی ای ها نزدیک باشه و بتونه مدیریتشون کنه. این در اسکیل بزرگتر خیلی شبیه ساختارهای سیاسیه. گاها میبینید یکی مثلا وزیر ورزشه بعد میشه رییس فلان پتروشیمی نهایتا هم میشه سفیر در یک کشوری. بعد شما میگید خب این چه ربطی به تخصصش داره؟ ماجرا اینه که اون چیزی که مهمه اعتماد و شناخت آدمها به همدیگه است.
نکته دیگه سمت اینه که گاها سیاستهای شما به نظر برای یک هدف مناسب به نظر میرسند ولی در کنار سیاستهای سایر عوامل ممکنه بی اثر یا حتی ضداثر بشن. مثال بزنم. مثال نحوه مدیریت تاخیر یکی از مناقشه برانگیزترین موارد هر درسته. به صورت خلاصه، هر تمرینی یک ددلاینی داره. حالا این که آیا افراد میتونن بعد از اون ددلاین تمرینشون رو بفرستند یا نه میشه انواع استراتژیهای مختلف روش داشت. تاخیر مجاز میشه این که هر کسی در طول یک ترم یک میزان تاخیر مجاز میتونه داشته باشه (مثلا ۸ روز) و حالا میتونه در طول ترم از این مهلتهاش استفاده کنه. تاخیر غیرمجاز میشه که اگر فرد تاخیر مجاز نداشته باشه یا تموم شده باشه، وقتی ارسال کنه براش یک جریمهای روی نمره اون تمرین حساب بشه. من دو سال پیش، سیاست هارد ددلاین در پیش گرفتم یعنی نه تاخیر مجاز و نه تاخیر غیرمجاز. به این هدف که مردم سر ساعت ۱۲ شب تمرینشون رو ارسال کرده باشند و دیگه وسواس فکری نداشته باشند و بگیرند بخوابند. نتیجه اما چه بود؟ مردم همچنان تا صبح بیدار بودند. چرا؟ چون که بقیه درسهاشون سیاستشون متفاوت بود و اینها شب رو برای اونها درسها میذاشتند.
👍10
Forwarded from Out of Distribution (Mahdi)
درس به مثابه حکومت
۲/۲
مشکل اصلی در واقع اینه که بعضی درسها حجم زیادی تلاش میطلبند، اما چیزی که از اون حجم زیاد تلاش تاثیر بیشتری بر پیچیدهتر شدن اوضاع داره، حس رقابتیه که شکل میگیره. افراد گاها نه برای یادگیری مطالب درس که برای رقابت درس میخونن، در واقع حتی نه برای ۲۰. چرا که خیلی وقتا تو همین داینامیک بین عاملهای درس و بعضی آیتمها مثل تاخیر مجاز، سطح سختی درس بالا میره بعد نمرهها پایین میاد و استاد مجبور به زدن نمودار میشه. بعضا در طول ترم که اوضاع خراب میشه با بالا رفتن سختی درس، تیم تدریس مجبور میشه تعداد روزهای تاخیر مجاز رو اضافه کنه یا به کرات تمرینها رو تمدید کنه و این قضیه دوباره کل چرخه رو تشدید میکنه یعنی شاید حتی باعث بشه تمرینهای بعدی سختتر بشن چون روزهای تاخیرمجاز بالا رفته! بعضا تقصیر تیم تدریس هم نیست و بلکه به گوناگونی کلاستر آدمها بر سر کلاس درس برمیگرده. سطح و علاقه آدمها یکی نیستند و خیلی تنوع داره و وقتی این میزان تنوع از حدی بالاتر باشه، امکان اتخاذ سیاست درست برای تیم تدریس به صفر میل میکنه. از طرفی باید ساز و کاری برای دیسکریمینیتکردن یا تمییزدادن داشت و از طرفی هم نباید این مکانیزم باعث به راه افتادن رقابت بیانتها بشه.
نکته دیگه، نحوه تعامل و پیادهسازی سیاستهاست. فرض کنید ما یک مدرس داریم، یک هد تی ای، یک تی ای و تعدادی دانشجو. هر کدام از اینها نسبت به آیتمهای درس یک نظری دارند. مثلا قراره تمرینی طرح بشه، استاد درس یک سیاستی در نظر داره ولی نمیتونه و در اصل نباید در سطح پاییندستی که تیای ها باشن که در حکم کارشناس و نیروهای اجرایی هستند، بیش از حد نفوذ کنه. چرا که اولا درس بیش از حد ممکنه روی مدرس بایاس بشه و اشتباه مدرس کشف نشه، از طرف دیگه خلاقیت تیایها در طرح سوال رو ممکنه کور کنه و خب نهایتا اینها قراره با هم کار کنند. این که چطور این هماهنگی رو با وجود اختلاف سلیقه درست کنند یک مساله سهل ممتنعه.
نکته آخر موثربودن عجیب و غریب پوپولیسمه. بارها شده در جمعهای مختلف چه تی ای و چه دانشجوی شنیدم که این که شما یک تمرینی رو اول ده روز براش مهلت بذارید و بعد با خواهش مردم یک هفته تمدیدش کنید، از شما چهره محبوبی میسازه اما این که از اول براش ۱۴ روز وقت بذارید و تمدیدش نکنید، باعث فحش خوردن شما میشه. بعضا پیش میاد بعضی درسا در همین راستا، تکلیف رو تا ساعت ۶ صبح تمدید میکنند. این باعث میشه حتی اگر کسی ۸۰ درصد تکلیفی رو انجام داده باشه تا ساعت ۱۲، از ترس رقابت بیدار بمونه تا کاملش کنه و از بقیه عقب نیافته. خب این جا چه چیز به دست میاد و چه چیز از دست میره؟
۲/۲
مشکل اصلی در واقع اینه که بعضی درسها حجم زیادی تلاش میطلبند، اما چیزی که از اون حجم زیاد تلاش تاثیر بیشتری بر پیچیدهتر شدن اوضاع داره، حس رقابتیه که شکل میگیره. افراد گاها نه برای یادگیری مطالب درس که برای رقابت درس میخونن، در واقع حتی نه برای ۲۰. چرا که خیلی وقتا تو همین داینامیک بین عاملهای درس و بعضی آیتمها مثل تاخیر مجاز، سطح سختی درس بالا میره بعد نمرهها پایین میاد و استاد مجبور به زدن نمودار میشه. بعضا در طول ترم که اوضاع خراب میشه با بالا رفتن سختی درس، تیم تدریس مجبور میشه تعداد روزهای تاخیر مجاز رو اضافه کنه یا به کرات تمرینها رو تمدید کنه و این قضیه دوباره کل چرخه رو تشدید میکنه یعنی شاید حتی باعث بشه تمرینهای بعدی سختتر بشن چون روزهای تاخیرمجاز بالا رفته! بعضا تقصیر تیم تدریس هم نیست و بلکه به گوناگونی کلاستر آدمها بر سر کلاس درس برمیگرده. سطح و علاقه آدمها یکی نیستند و خیلی تنوع داره و وقتی این میزان تنوع از حدی بالاتر باشه، امکان اتخاذ سیاست درست برای تیم تدریس به صفر میل میکنه. از طرفی باید ساز و کاری برای دیسکریمینیتکردن یا تمییزدادن داشت و از طرفی هم نباید این مکانیزم باعث به راه افتادن رقابت بیانتها بشه.
نکته دیگه، نحوه تعامل و پیادهسازی سیاستهاست. فرض کنید ما یک مدرس داریم، یک هد تی ای، یک تی ای و تعدادی دانشجو. هر کدام از اینها نسبت به آیتمهای درس یک نظری دارند. مثلا قراره تمرینی طرح بشه، استاد درس یک سیاستی در نظر داره ولی نمیتونه و در اصل نباید در سطح پاییندستی که تیای ها باشن که در حکم کارشناس و نیروهای اجرایی هستند، بیش از حد نفوذ کنه. چرا که اولا درس بیش از حد ممکنه روی مدرس بایاس بشه و اشتباه مدرس کشف نشه، از طرف دیگه خلاقیت تیایها در طرح سوال رو ممکنه کور کنه و خب نهایتا اینها قراره با هم کار کنند. این که چطور این هماهنگی رو با وجود اختلاف سلیقه درست کنند یک مساله سهل ممتنعه.
نکته آخر موثربودن عجیب و غریب پوپولیسمه. بارها شده در جمعهای مختلف چه تی ای و چه دانشجوی شنیدم که این که شما یک تمرینی رو اول ده روز براش مهلت بذارید و بعد با خواهش مردم یک هفته تمدیدش کنید، از شما چهره محبوبی میسازه اما این که از اول براش ۱۴ روز وقت بذارید و تمدیدش نکنید، باعث فحش خوردن شما میشه. بعضا پیش میاد بعضی درسا در همین راستا، تکلیف رو تا ساعت ۶ صبح تمدید میکنند. این باعث میشه حتی اگر کسی ۸۰ درصد تکلیفی رو انجام داده باشه تا ساعت ۱۲، از ترس رقابت بیدار بمونه تا کاملش کنه و از بقیه عقب نیافته. خب این جا چه چیز به دست میاد و چه چیز از دست میره؟
👍8
Forwarded from Babak Ghadiri Links
GitLab
Arvancloud · GitLab
ArvanCloud Public Repositories
💩10👍1👎1
خیلی وقت بود پست نذاشتم، لذا این پست رو به عنوان یه دیلی نوت و یه متن تِک ترکیبی مینویسم.
دیلی نوت:
در ۴۸ ساعت گذشته، بالای ۳۰ساعت کار کردم. توی شرکت درگیر یه کار خیلی بزرگ و باحال شدم که بالاخره بعد از چند روز کار ممتد و دوشبانه روز کامل کار تموم شد. حقیقتا پشمای خودمم ریخت. حقیقتا تیم ورکی که تجربه کردم از جذابترینا بود. همچنین یک فرصتی محیا کرد که مجددا هرچند خیلی کم، ولی باز دست به کد شدم. چیزیش که برام جذاب بود و منو ارضا میکرد، فشار کار سنگین، لود زیاد، زمان کم و سختی بود. دقیقا یاد شریف انداخت منو. یاد پروژه اواس و ایپی و که پاشون اشک میریختم تا تستا پاس شن و هیچچیز و هیچ حالی برام قشنگتر از اون عذابا نیست.
کار درنهایت بدون failure و هیچ مشکلی دان شد. و چقدر واقعا دوست دارم من این شرکت و آدماش و کاراش رو.
متن تِک:
مشکلی که باهاش برخوردیم و ساعتها دیباگی که کردیم، crontabها بودن. قضیه این بود که یک کد جنگویی بود که با django-crontab میاد یه سری کرانجاب اضافه میکنه به crontab خود اواس کف کانتینر. این کرانجابها به صورت پریودیک میرفتن دستور
python manage.py cron run id
رو اجرا میکردن. مشکل این بود ما نمیفهمیدیم که کرانها اجرا میشن یا نه. توی کانتینر هیچ syslogای نبود که بشه خروجیشو دید و همچنین printهایی هم که کف کد بود اثری نداشت چون خروجیش توی stdout نمیومد.
ولی وقتی دستی کرانها رو اجرا میکردیم اوکی بود.
ما برای دیباگ که آیا واقعا اجرا میشن یا نه اومدیم ps aux رو واچ کردیم هر یک ثانیه تا ببینیم پراسس کران اجرا میشه یا نه.
نکته اول اینکه ما یه باینری توی sbin داریم به اسم cron و یه باینری توی bin داریم به اسم crontab. نکته اینه که crontab اون چیزیه که ما باهاش کار میکنیم ولی cron اون سرویس اواسه که میره کرانهای توی crontab رو ران میکنه.
https://stackoverflow.com/questions/21615673/difference-between-cron-crontab-and-cronjob
درواقع شما میزنید
crontab -e
یا
crontab -l
و یا هر آرگی ولی کرانی که توی crontab اضافه میکنید رو cron ران میکنه.
نکته دوم اینکه اگر شما تعریف کنید که پریود کرانتون هر ۸ ساعت باشه مثلا، این به لحظهای که کران رو اضافه میکنید برنمیگرده و بر اساس مبدا سیستمه. مثلا اگر شما ساعت ۶ صبح یه کرانی با پریود ۸ ساعته اضافه کنید، اولین باری که ران میشه ۸ صبحه و نه ۲ ظهر.
نکته این بود که کران واقعا ران میشد، ولی توی کد خطا میخورد. از طرفی چون لاگی هم نبود نمیفهمیدیم. در نهایت با همون ps aux فهمیدیم. مشکل چی بود ولی؟ ما متغیرهای محیطی رو (env) ها رو داده بودیم به کانتینر و جنگو با os.getenv میخوند و یک کد ormای بور که اوکی بود. ولی وقتی کران میرفت رانش کنه مشکل psql میخورد. در واقع envها هم درست بود و وقتی دستور env رو میزدیم همه بودن ولی همچنان پراسس کران که کد جنگو رو ران میکرد به مشکل میخورد. دلیلش چی بود؟ پراسس اصلی cron این envها رو نمیده به بچهش. در واقع چایلد پراسسی که پرنتش پراسس cron هست، env ها رو ازش به ارث نمیبره و سر همین ارور psql میاد که نمیتونه وصل شه. راهحل؟ باید توی فایلی که crontabها نوشته میشه، envهایی از کانتینر که میخوای به چایلد پراسس کران پاس داده شه مشخص شه.
دیلی نوت:
در ۴۸ ساعت گذشته، بالای ۳۰ساعت کار کردم. توی شرکت درگیر یه کار خیلی بزرگ و باحال شدم که بالاخره بعد از چند روز کار ممتد و دوشبانه روز کامل کار تموم شد. حقیقتا پشمای خودمم ریخت. حقیقتا تیم ورکی که تجربه کردم از جذابترینا بود. همچنین یک فرصتی محیا کرد که مجددا هرچند خیلی کم، ولی باز دست به کد شدم. چیزیش که برام جذاب بود و منو ارضا میکرد، فشار کار سنگین، لود زیاد، زمان کم و سختی بود. دقیقا یاد شریف انداخت منو. یاد پروژه اواس و ایپی و که پاشون اشک میریختم تا تستا پاس شن و هیچچیز و هیچ حالی برام قشنگتر از اون عذابا نیست.
کار درنهایت بدون failure و هیچ مشکلی دان شد. و چقدر واقعا دوست دارم من این شرکت و آدماش و کاراش رو.
متن تِک:
مشکلی که باهاش برخوردیم و ساعتها دیباگی که کردیم، crontabها بودن. قضیه این بود که یک کد جنگویی بود که با django-crontab میاد یه سری کرانجاب اضافه میکنه به crontab خود اواس کف کانتینر. این کرانجابها به صورت پریودیک میرفتن دستور
python manage.py cron run id
رو اجرا میکردن. مشکل این بود ما نمیفهمیدیم که کرانها اجرا میشن یا نه. توی کانتینر هیچ syslogای نبود که بشه خروجیشو دید و همچنین printهایی هم که کف کد بود اثری نداشت چون خروجیش توی stdout نمیومد.
ولی وقتی دستی کرانها رو اجرا میکردیم اوکی بود.
ما برای دیباگ که آیا واقعا اجرا میشن یا نه اومدیم ps aux رو واچ کردیم هر یک ثانیه تا ببینیم پراسس کران اجرا میشه یا نه.
نکته اول اینکه ما یه باینری توی sbin داریم به اسم cron و یه باینری توی bin داریم به اسم crontab. نکته اینه که crontab اون چیزیه که ما باهاش کار میکنیم ولی cron اون سرویس اواسه که میره کرانهای توی crontab رو ران میکنه.
https://stackoverflow.com/questions/21615673/difference-between-cron-crontab-and-cronjob
درواقع شما میزنید
crontab -e
یا
crontab -l
و یا هر آرگی ولی کرانی که توی crontab اضافه میکنید رو cron ران میکنه.
نکته دوم اینکه اگر شما تعریف کنید که پریود کرانتون هر ۸ ساعت باشه مثلا، این به لحظهای که کران رو اضافه میکنید برنمیگرده و بر اساس مبدا سیستمه. مثلا اگر شما ساعت ۶ صبح یه کرانی با پریود ۸ ساعته اضافه کنید، اولین باری که ران میشه ۸ صبحه و نه ۲ ظهر.
نکته این بود که کران واقعا ران میشد، ولی توی کد خطا میخورد. از طرفی چون لاگی هم نبود نمیفهمیدیم. در نهایت با همون ps aux فهمیدیم. مشکل چی بود ولی؟ ما متغیرهای محیطی رو (env) ها رو داده بودیم به کانتینر و جنگو با os.getenv میخوند و یک کد ormای بور که اوکی بود. ولی وقتی کران میرفت رانش کنه مشکل psql میخورد. در واقع envها هم درست بود و وقتی دستور env رو میزدیم همه بودن ولی همچنان پراسس کران که کد جنگو رو ران میکرد به مشکل میخورد. دلیلش چی بود؟ پراسس اصلی cron این envها رو نمیده به بچهش. در واقع چایلد پراسسی که پرنتش پراسس cron هست، env ها رو ازش به ارث نمیبره و سر همین ارور psql میاد که نمیتونه وصل شه. راهحل؟ باید توی فایلی که crontabها نوشته میشه، envهایی از کانتینر که میخوای به چایلد پراسس کران پاس داده شه مشخص شه.
Stack Overflow
Difference between cron, crontab, and cronjob?
Technically speaking, what is the difference between a cron, crontab, and cronjob?
From what I can gather, cron is the utility on the server, crontab is a file which contains the time intervals and
From what I can gather, cron is the utility on the server, crontab is a file which contains the time intervals and
🔥22👍1