Binary musings with sirmerdas
#Today_I_learned تمیز نگه داشتن پروژه و کد وقتی که اپ درگیر منطق های پیچیده میشه ارزش پیدا میکنه و به همون اندازه سختیش هم میره بالا، و لزوما این منطق پیچیده از لحاظ کدنویسی نیست، عموما بیزنس لاجیک هست که داره این چالش رو ایجاد میکنه.
یه نکته مهم اینه که وقتی میگیم بیزنس لاجیک، منظور فقط نیاز فعلی شرکت یا محصول نیست. این پیچیدگی ممکنه نتیجه مدلهایی باشه که بر اساس نیازهای قبلی طراحی شدن و الان شما رو تحت تأثیر قرار میدن.
برای درک بهتر، تصور کنید روی یک سیستم رزرو سانس سینمایی کار میکنید. بیزنس لاجیک این سینما بهشکلی تعریف شده که سانسهای زمانی منعطف داره؛ یعنی سانسها بر اساس روزهای هفته تغییر میکنن و این منطق از طریق ساختار جداول دیتابیس پیادهسازی شده.
حالا شما بهعنوان یک Frontend Developer، باید این سانسبندی رو هم نمایش بدید و هم امکان رزرو سانس رو برای بکآفیس فراهم کنید. اینجاست که بیزنس لاجیکی که قبلاً پیادهسازی شده، وارد کار شما میشه و باید بتونید اون رو مدیریت کنید.
در چنین شرایطی، مهمترین کار اینه که ساختار و لاجیک موجود رو دقیق درک کنید و سعی کنید کدی بنویسید که با این پیچیدگیها هماهنگ باشه، نه این که اون رو سختتر کنه. رعایت اصولی مثل جداسازی مسئولیتها، استفاده از کامپوننتهای ماژولار، و مستندسازی مناسب میتونه کمککننده باشه
برای درک بهتر، تصور کنید روی یک سیستم رزرو سانس سینمایی کار میکنید. بیزنس لاجیک این سینما بهشکلی تعریف شده که سانسهای زمانی منعطف داره؛ یعنی سانسها بر اساس روزهای هفته تغییر میکنن و این منطق از طریق ساختار جداول دیتابیس پیادهسازی شده.
حالا شما بهعنوان یک Frontend Developer، باید این سانسبندی رو هم نمایش بدید و هم امکان رزرو سانس رو برای بکآفیس فراهم کنید. اینجاست که بیزنس لاجیکی که قبلاً پیادهسازی شده، وارد کار شما میشه و باید بتونید اون رو مدیریت کنید.
در چنین شرایطی، مهمترین کار اینه که ساختار و لاجیک موجود رو دقیق درک کنید و سعی کنید کدی بنویسید که با این پیچیدگیها هماهنگ باشه، نه این که اون رو سختتر کنه. رعایت اصولی مثل جداسازی مسئولیتها، استفاده از کامپوننتهای ماژولار، و مستندسازی مناسب میتونه کمککننده باشه
❤1
جاوااسکریپت پیرم کرد، کد 1 کار نمیکرد، کد 2 کار میکنه.
تفاوت را بیابید😃 (+20 اعتبار اجتماعی)ّ
(البته مشکل کاملا موجه بود، از نتایج شب زنده داری و formatter بود.)
تفاوت را بیابید😃 (+20 اعتبار اجتماعی)ّ
(البته مشکل کاملا موجه بود، از نتایج شب زنده داری و formatter بود.)
میفرمایند که
اگر درمسیر شغلی،رابطه عاطفی و اجتماعی و .... حس میکنید شکست خوردید، از همسنهاتون عقب موندید یا اینکه هیچ پیشرفت شگرفی نمیکنید، به خودتون سخت نگیرید و باعث عذاب خودتون نشید، overthinking برای یه شب خوبه اونم به صورتی که تا صبح نخوابی و به دنبال راه حل برای مشکلت باشی، چون به هر حال نمیشه از سرت بیرون کنی( جمله اقای تریستن تیت بود
این یه تیکه)
مهم اینه که همیشه به دنبال درس گرفتن از اشتباهات و تجربههای خودتون باشید.
به هر حال از مسیر لذت برید و به خودتون ایمان داشته باشید، مهم نیست این هفته یا هفته بعد کجای زندگی هستید، به دنبال انجام دادن کار درست باشید نتیجه خودش به وقتش نمایان میشه✨💫.
و این رو هم به یاد داشته باشید که
Some beautiful paths can't be discovered without getting lost.
اگر درمسیر شغلی،رابطه عاطفی و اجتماعی و .... حس میکنید شکست خوردید، از همسنهاتون عقب موندید یا اینکه هیچ پیشرفت شگرفی نمیکنید، به خودتون سخت نگیرید و باعث عذاب خودتون نشید، overthinking برای یه شب خوبه اونم به صورتی که تا صبح نخوابی و به دنبال راه حل برای مشکلت باشی، چون به هر حال نمیشه از سرت بیرون کنی( جمله اقای تریستن تیت بود
این یه تیکه)
مهم اینه که همیشه به دنبال درس گرفتن از اشتباهات و تجربههای خودتون باشید.
به هر حال از مسیر لذت برید و به خودتون ایمان داشته باشید، مهم نیست این هفته یا هفته بعد کجای زندگی هستید، به دنبال انجام دادن کار درست باشید نتیجه خودش به وقتش نمایان میشه✨💫.
و این رو هم به یاد داشته باشید که
The man who loves walking will walk further than the man who loves the destination.
❤1
دقیق یادم نیست چرا اون روز هشت ساعت و نیم اهنگ گوش کردم😂😂😂
🗿1
Reza
پیرو دیتای اسپاتیفای، موردی که توجهم رو جلب کرد این بود، نه به خاطر اهنگ(که البته دوسش دارم) بلکه به خاطر باگ سوسکی که اسپاتیفای تو منطقش داره
باگش چیه؟
طبق دیتای اسپاتیفای این بیشترین اهنگیه که من پلیش کردم، اما منطق اسپاتیفای به این صورته که شما هربار روی اهنگ کلیک کنید اون رو یک بار listen حساب میکنه، در صورتی که top song باید آهنگی باشه که بیشترین listen time رو داره چون قاعدتا ممکنه یه موسیقی بزارید روی loop
طبق دیتای اسپاتیفای این بیشترین اهنگیه که من پلیش کردم، اما منطق اسپاتیفای به این صورته که شما هربار روی اهنگ کلیک کنید اون رو یک بار listen حساب میکنه، در صورتی که top song باید آهنگی باشه که بیشترین listen time رو داره چون قاعدتا ممکنه یه موسیقی بزارید روی loop
🙈1
امروز به یه مشکلی سر pull کردن برنچ مستر خوردم، گفتم شاید برای شما هم پیش بیاد 🚧،
اول بریم ببینیم مشکل چی بود:
حالا این مشکل زمانی پیش میاد که روی سیستمی با فایلسیستم Case-Insensitive (مثل ویندوز یا مکاواس) باشید و دو تا فایل با نامهایی که فقط در حروف بزرگ و کوچک تفاوت دارند تو ریپازیتوری وجود داشته باشد. مثلا:
app/index.ts
app/Index.ts
حالا 2 تا راه حل وجود داره تا جایی که فهمیدم.
اول اینکه اون فایلی که نیاز نداشتیم رو پاک کردم رو مستر و دوباره pull کردم.
راه دوم هم به این شکل هست که شما اول ریپازیتوری رو کلون میکنی، بعدش اون فایل مدنظرت رو چک اوت میکنی، بعدش با یه کامیت اضافه این مشکل رو برطرف میکنی و توی history میاری که همچین چیزی اتفاق افتاده بود
اول بریم ببینیم مشکل چی بود:
warning: the following paths have collided (e.g. case-sensitive paths on a case-insensitive filesystem) and only one from the same colliding group is in the working tree:
app/index.ts
app/Index.ts
حالا این مشکل زمانی پیش میاد که روی سیستمی با فایلسیستم Case-Insensitive (مثل ویندوز یا مکاواس) باشید و دو تا فایل با نامهایی که فقط در حروف بزرگ و کوچک تفاوت دارند تو ریپازیتوری وجود داشته باشد. مثلا:
app/index.ts
app/Index.ts
حالا 2 تا راه حل وجود داره تا جایی که فهمیدم.
اول اینکه اون فایلی که نیاز نداشتیم رو پاک کردم رو مستر و دوباره pull کردم.
راه دوم هم به این شکل هست که شما اول ریپازیتوری رو کلون میکنی، بعدش اون فایل مدنظرت رو چک اوت میکنی، بعدش با یه کامیت اضافه این مشکل رو برطرف میکنی و توی history میاری که همچین چیزی اتفاق افتاده بود
❤1🔥1
ویندوز پیرم کرد،
لینوکس با انویدیا نمیسازد
wsl
کارم را راه نمی اندازد
لینوکس با انویدیا نمیسازد
wsl
کارم را راه نمی اندازد