یکی از قابلیتهای کمتر شناختهشده Git که میتونه زندگی کاریتون رو آسونتر کنه، 𝐠𝐢𝐭 𝐰𝐨𝐫𝐤𝐭𝐫𝐞𝐞 هست.
باهاش میتونید چندین محیط کاری جدا از هم داشته باشید، هر کدوم روی یک شاخه مستقل، ولی همه از یک ریپازیتوری.
✅ فرض کنید روی برنچ A هستید و ناگهان باید روی برنچ B کار کنید. به جای اینکه تغییرات رو stash کنید و شاخه عوض کنید، میتونید یک 𝐰𝐨𝐫𝐤𝐭𝐫𝐞𝐞 جدید بسازید:
𝐠𝐢𝐭 𝐰𝐨𝐫𝐤𝐭𝐫𝐞𝐞 𝐚𝐝𝐝 ../𝐁-𝐟𝐨𝐥𝐝𝐞𝐫 𝐁
✅ با این دستور، یک پوشه جدید به نام 𝐁-𝐟𝐨𝐥𝐝𝐞𝐫 ساخته میشه که روی برنچ B هست. الان میتونید داخل این فولدر، کد رو تغییر بدید، تست کنید و commit بزنید، بدون اینکه کاری به شاخه فعلیتون داشته باشید.
اگر اهل کار موازی روی چند فیچر یا رفع باگ هستید، این ابزار میتونه سرعتتون رو چند برابر کنه.
باهاش میتونید چندین محیط کاری جدا از هم داشته باشید، هر کدوم روی یک شاخه مستقل، ولی همه از یک ریپازیتوری.
✅ فرض کنید روی برنچ A هستید و ناگهان باید روی برنچ B کار کنید. به جای اینکه تغییرات رو stash کنید و شاخه عوض کنید، میتونید یک 𝐰𝐨𝐫𝐤𝐭𝐫𝐞𝐞 جدید بسازید:
𝐠𝐢𝐭 𝐰𝐨𝐫𝐤𝐭𝐫𝐞𝐞 𝐚𝐝𝐝 ../𝐁-𝐟𝐨𝐥𝐝𝐞𝐫 𝐁
✅ با این دستور، یک پوشه جدید به نام 𝐁-𝐟𝐨𝐥𝐝𝐞𝐫 ساخته میشه که روی برنچ B هست. الان میتونید داخل این فولدر، کد رو تغییر بدید، تست کنید و commit بزنید، بدون اینکه کاری به شاخه فعلیتون داشته باشید.
اگر اهل کار موازی روی چند فیچر یا رفع باگ هستید، این ابزار میتونه سرعتتون رو چند برابر کنه.
داکیومنت رسمی گیت درباره worktree رو میتونید از لینک زیر مطالعه کنید:منبع: لینکداین
https://git-scm.com/docs/git-worktree
از این مقاله هم میتونید برای مطالعه بیشتر و بررسی مثالها استفاده کنید:
https://mskadu.medium.com/mastering-git-worktree-a-developers-guide-to-multiple-working-directories-c30f834f79a5
Forwarded from Linuxor ?
شیش تا قانون برای نوشتن یه REST API خوب، برید توی این سایت خیلی ساده با مثال توضیح داده، اگه تازه کارید این اشتباها ممکنه بعدا کارتون رو سخت کنه، این قوانین API رو قبل پیاده سازیتون بخونید
restfulapi.net
@Linuxor
restfulapi.net
@Linuxor
Forwarded from Linuxor ?
اگه یه API ساختین برای امنیتش بیاید این چک لیستو برسی کنید نکات خوبی گفته :
github.com/shieldfy/API-Security-Checklist
@Linuxor
github.com/shieldfy/API-Security-Checklist
@Linuxor
Forwarded from TechTube 𝕏 تک توب
تا حالا فکر کردین فقط یک ثانیه چقدر میتونه مهم باشه؟
شاید برای زندگی روزمره ما یک ثانیه هیچ فرقی ایجاد نکنه، اما توی دنیای فناوری، همین یک ثانیه میتونه میلیاردها تراکنش بانکی، مسیریابی GPS، یا حتی کل عملکرد اینترنت رو تحتتأثیر بذاره. اینجاست که «ثانیه کبیسه» یا Leap Second وارد داستان میشه؛ ثانیهای که هر چند سال یکبار به ساعت جهانی اضافه یا از اون کم میشه تا زمین و ساعت اتمی دوباره همگام بشن.
ثانیه کبیسه زمانی اتفاق میفته که اختلاف بین ساعت اتمی و زمان واقعی چرخش زمین به حدود ۰٫۹ ثانیه برسه. علت این اختلاف، تغییرات جزئی اما مداوم در سرعت چرخش زمینه. عواملی مثل جزر و مد اقیانوسها، حرکت هسته زمین، تغییرات اقلیمی و حتی زلزلهها باعث میشن زمین کمی کندتر یا سریعتر بچرخه. این تغییرات هرچند خیلی ناچیزن، اما در طول سالها جمع میشن و نیاز به اصلاح پیدا میکنن.
برای انسانها، این اصلاح سادهست. ولی برای کامپیوترها و شبکهها ماجرا پیچیدهتره. در لحظه اضافه شدن لیپسکند، ساعت UTC به جای رفتن از 23:59:59 به 00:00:00، یک لحظه به 23:59:60 میره. این زمان عجیب برای خیلی از نرمافزارها تعریف نشده و باعث میشه بعضی سیستمها هنگ کنن، بعضی تراکنشها با خطا مواجه بشن و حتی برخی پایگاههای داده قفل بشن. نمونههای واقعی این مشکل در گذشته باعث خاموشی چند دقیقهای سرویسهای بزرگ شده.
اینجا بود که گوگل «Leap Smear» رو مطرح کرد؛ ایده این بود که به جای اینکه یک ثانیه ناگهانی به زمان اضافه کنه، گوگل تصمیم گرفت این تغییر رو به صورت تدریجی و نرم پخش کنه. در Leap Smear، از چند ساعت قبل، هر ثانیه کمی طولانیتر میشه. این تغییر اونقدر کوچیکه که سیستمها متوجهش نمیشن، اما تا پایان بازه زمانی، یک ثانیه کامل به ساعت اضافه شده و زمان گوگل با زمان جهانی هماهنگ میشه، بدون اینکه جهش ناگهانی رخ بده.
برای مثال، اگر قرار باشه ثانیه کبیسه نیمهشب ۳۱ دسامبر اضافه بشه، گوگل از حدود ۱۰ ساعت قبل شروع میکنه هر ثانیه رو چند میلیثانیه کش بده. این تغییرات جمع میشن و در نهایت، ساعت گوگل دقیقاً با UTC یکی میشه. در سال ۲۰۱۶ که آخرین لیپسکند اضافه شد، سرویسهای زیادی در دنیا دچار مشکل شدن، اما جیمیل، یوتیوب و موتور جستجوی گوگل بدون کوچکترین اختلال کار کردن، چون Leap Smear از قبل فعال شده بود.
این روش باعث میشه هیچ لحظه «23:59:60» در سیستمهای گوگل وجود نداشته باشه، بنابراین نیازی به تغییر نرمافزارها یا پایگاههای داده نیست. همچنین در سیستمهای حساس به زمان مثل سرورهای تراکنشهای مالی یا دیتابیسهای توزیعشده، همه چیز بدون وقفه ادامه پیدا میکنه.
موفقیت Leap Smear باعث شد غولهای فناوری دیگه هم به سمت روشهای مشابه برن. حالا آمازون، فیسبوک و حتی بعضی مراکز داده مستقل هم به جای تغییر ناگهانی، زمان رو بهصورت تدریجی اصلاح میکنن.
طبق آخرین اعلام IERS، احتمال بعدی برای اضافه شدن ثانیه کبیسه در تاریخ ۳۰ ژوئن ۲۰۲۶ مطرح شده، اما با توجه به سرعت بالاتر چرخش زمین در سالهای اخیر، این اتفاق بعیده که رخ بده. همچنین IERS اعلام کرده در پایان دسامبر ۲۰۲۵ هیچ ثانیه کبیسهای اضافه نخواهد شد. با این حال، اگر در آینده این اصلاح زمانی لازم باشه، تاریخ دقیقش توسط همین مرکز اعلام میشه.
✏️ مطلبی از ممد
🔎 Leap Smear - Google Public NTP
📍 @TechTube
شاید برای زندگی روزمره ما یک ثانیه هیچ فرقی ایجاد نکنه، اما توی دنیای فناوری، همین یک ثانیه میتونه میلیاردها تراکنش بانکی، مسیریابی GPS، یا حتی کل عملکرد اینترنت رو تحتتأثیر بذاره. اینجاست که «ثانیه کبیسه» یا Leap Second وارد داستان میشه؛ ثانیهای که هر چند سال یکبار به ساعت جهانی اضافه یا از اون کم میشه تا زمین و ساعت اتمی دوباره همگام بشن.
ثانیه کبیسه زمانی اتفاق میفته که اختلاف بین ساعت اتمی و زمان واقعی چرخش زمین به حدود ۰٫۹ ثانیه برسه. علت این اختلاف، تغییرات جزئی اما مداوم در سرعت چرخش زمینه. عواملی مثل جزر و مد اقیانوسها، حرکت هسته زمین، تغییرات اقلیمی و حتی زلزلهها باعث میشن زمین کمی کندتر یا سریعتر بچرخه. این تغییرات هرچند خیلی ناچیزن، اما در طول سالها جمع میشن و نیاز به اصلاح پیدا میکنن.
برای انسانها، این اصلاح سادهست. ولی برای کامپیوترها و شبکهها ماجرا پیچیدهتره. در لحظه اضافه شدن لیپسکند، ساعت UTC به جای رفتن از 23:59:59 به 00:00:00، یک لحظه به 23:59:60 میره. این زمان عجیب برای خیلی از نرمافزارها تعریف نشده و باعث میشه بعضی سیستمها هنگ کنن، بعضی تراکنشها با خطا مواجه بشن و حتی برخی پایگاههای داده قفل بشن. نمونههای واقعی این مشکل در گذشته باعث خاموشی چند دقیقهای سرویسهای بزرگ شده.
اینجا بود که گوگل «Leap Smear» رو مطرح کرد؛ ایده این بود که به جای اینکه یک ثانیه ناگهانی به زمان اضافه کنه، گوگل تصمیم گرفت این تغییر رو به صورت تدریجی و نرم پخش کنه. در Leap Smear، از چند ساعت قبل، هر ثانیه کمی طولانیتر میشه. این تغییر اونقدر کوچیکه که سیستمها متوجهش نمیشن، اما تا پایان بازه زمانی، یک ثانیه کامل به ساعت اضافه شده و زمان گوگل با زمان جهانی هماهنگ میشه، بدون اینکه جهش ناگهانی رخ بده.
برای مثال، اگر قرار باشه ثانیه کبیسه نیمهشب ۳۱ دسامبر اضافه بشه، گوگل از حدود ۱۰ ساعت قبل شروع میکنه هر ثانیه رو چند میلیثانیه کش بده. این تغییرات جمع میشن و در نهایت، ساعت گوگل دقیقاً با UTC یکی میشه. در سال ۲۰۱۶ که آخرین لیپسکند اضافه شد، سرویسهای زیادی در دنیا دچار مشکل شدن، اما جیمیل، یوتیوب و موتور جستجوی گوگل بدون کوچکترین اختلال کار کردن، چون Leap Smear از قبل فعال شده بود.
این روش باعث میشه هیچ لحظه «23:59:60» در سیستمهای گوگل وجود نداشته باشه، بنابراین نیازی به تغییر نرمافزارها یا پایگاههای داده نیست. همچنین در سیستمهای حساس به زمان مثل سرورهای تراکنشهای مالی یا دیتابیسهای توزیعشده، همه چیز بدون وقفه ادامه پیدا میکنه.
موفقیت Leap Smear باعث شد غولهای فناوری دیگه هم به سمت روشهای مشابه برن. حالا آمازون، فیسبوک و حتی بعضی مراکز داده مستقل هم به جای تغییر ناگهانی، زمان رو بهصورت تدریجی اصلاح میکنن.
طبق آخرین اعلام IERS، احتمال بعدی برای اضافه شدن ثانیه کبیسه در تاریخ ۳۰ ژوئن ۲۰۲۶ مطرح شده، اما با توجه به سرعت بالاتر چرخش زمین در سالهای اخیر، این اتفاق بعیده که رخ بده. همچنین IERS اعلام کرده در پایان دسامبر ۲۰۲۵ هیچ ثانیه کبیسهای اضافه نخواهد شد. با این حال، اگر در آینده این اصلاح زمانی لازم باشه، تاریخ دقیقش توسط همین مرکز اعلام میشه.
🔎 Leap Smear - Google Public NTP
📍 @TechTube
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
گزینه DevTools مرورگر ها برای توسعه فرانت کار راه بندازه ولی فرانت کارا از این مرورگر اختصاصی استفاده میکنن برای اینکه همه تغییرات رو توی دستگاه های مختلف در لحظه رصد کنن
responsively.app
@Linuxor
responsively.app
@Linuxor
Forwarded from Webinarfarsi | Soheib Kiani | وبینار فارسی
یکی از محل کارش ناراضیه و میاد لینکدین همش غر میزنه.
این شخص نه جرات داره بره نارضایتیاش رو به گوش مدیراش برسونه،
و نه جرات داره استعفا بده و کارش رو عوض کنه.
من خودم هربار که فشار و مشکلی با محیط کارم داشتم یه کاغذ برداشتم و بولت پوینت انتظاراتم رو نوشتم و رفتم جلسه با مدیرعامل، بعد از جلسه اومدم بولت پوینت رو تیک یا ضربدر زدم که کدوما حل میشه و کدوما همینجور خواهد ماند. بعد بنا به اون یا استعفام رو نوشتم یا نشستم یه گوشه مثل آدم به کارم ادامه دادم.
خواستتون رو مشخص کنید، نشد، عرضه داری میری یه جای بهتر، نه همینیه که هست.
نمیشه در حد لیگ محلات بازی کنی و انتظار فوتبال اسپانیا داشته باشی که عزیز! نمیشه در حد لیگ اسپانیا بازی کنی و بمونی تو لیگ محلات غر بزنی که عزیز.
~ Andisheh Abbasian
این شخص نه جرات داره بره نارضایتیاش رو به گوش مدیراش برسونه،
و نه جرات داره استعفا بده و کارش رو عوض کنه.
من خودم هربار که فشار و مشکلی با محیط کارم داشتم یه کاغذ برداشتم و بولت پوینت انتظاراتم رو نوشتم و رفتم جلسه با مدیرعامل، بعد از جلسه اومدم بولت پوینت رو تیک یا ضربدر زدم که کدوما حل میشه و کدوما همینجور خواهد ماند. بعد بنا به اون یا استعفام رو نوشتم یا نشستم یه گوشه مثل آدم به کارم ادامه دادم.
خواستتون رو مشخص کنید، نشد، عرضه داری میری یه جای بهتر، نه همینیه که هست.
نمیشه در حد لیگ محلات بازی کنی و انتظار فوتبال اسپانیا داشته باشی که عزیز! نمیشه در حد لیگ اسپانیا بازی کنی و بمونی تو لیگ محلات غر بزنی که عزیز.
~ Andisheh Abbasian
Forwarded from Linuxor ?
Forwarded from Linuxor ?
اگه تازه وارد یه تیم جدید شدی و همه دارن دربارهی best practices کُد ریویو حرف میزنن ولی هیچکس معلوم نمیکنه دقیقاً چی درسته و چی نه، گوگل سالها تجربهی خودش توی مدیریت ریویوها رو خلاصه کرده و گذاشته اینجا. از نکات ریز مثل نامگذاری متغیر تا نحوهی فیدبک دادن مودبانه.
google.github.io/eng-practices
@Linuxor
google.github.io/eng-practices
@Linuxor
Forwarded from Linuxor ?
توی اینترنت پر آیکونه ولی همشون یا لایسنس دارن یا برای استفاده تجاری غیر رایگانن، این سایته یه لیستی از آیکون هارو درست کرده هرچند تعدادشون خیلی زیاد نیست ولی تحت لاینسس MIT هستن و تقریبا دستتون بازه بدون مشکل هرکاری باهاشون کنید
heroicons.com
@Linuxor
heroicons.com
@Linuxor
Forwarded from Linuxor ?
شرکت digitalplat یه طرح گذاشته میتونید دامنه رایگان بگیرید ازش ! کنترل کامل DNS هم دست خودتونه
github.com/DigitalPlatDev/FreeDomain
@Linuxor
github.com/DigitalPlatDev/FreeDomain
@Linuxor