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
Forwarded from Dev Feed
This media is not supported in your browser
VIEW IN TELEGRAM
یه نرم افزار فان و عجیبی وجود داره که با یه زبان کد نویسی مخصوص خودش به صورت گرافیکی امکان تولید موسیقی های مختلف رو فراهم میکنه!
این ابزار اوپن سورس، به نام ORCA ، زبانی رو ارائه میده که شامل اپراتور های مختلفی مثل حلقه ها، شروط، اعداد رندوم و.. میشه که در نهایت خروجی همشون میشه نوت های موسیقی. مخصوص برنامه نویس ها توسعه داده شده و برای وقتایی که حوصلتون سر رفته خیلی چیز بامزه ایه.
یه ویدیو نمونه از نحوه کار و ساخت موسیقی باهاش رو براتون قرار دادم، در نگاه اول خیلی سخت و عجیب به نظر میرسه، اما وقتی راجبش بخونید میفهمید چیز خاصی نیست و فقط نوت های موسیقی ای هستند که با اپراتور های شما به صورت گرافیکی تولید میشن، سپس به حرکت در میان و با برخورد به خروجی های صدا میترکن و باعث ایجاد صدای دلخواه شما میشن🎵
⚙️ @DevFeed01 | hamidreza01
این ابزار اوپن سورس، به نام ORCA ، زبانی رو ارائه میده که شامل اپراتور های مختلفی مثل حلقه ها، شروط، اعداد رندوم و.. میشه که در نهایت خروجی همشون میشه نوت های موسیقی. مخصوص برنامه نویس ها توسعه داده شده و برای وقتایی که حوصلتون سر رفته خیلی چیز بامزه ایه.
یه ویدیو نمونه از نحوه کار و ساخت موسیقی باهاش رو براتون قرار دادم، در نگاه اول خیلی سخت و عجیب به نظر میرسه، اما وقتی راجبش بخونید میفهمید چیز خاصی نیست و فقط نوت های موسیقی ای هستند که با اپراتور های شما به صورت گرافیکی تولید میشن، سپس به حرکت در میان و با برخورد به خروجی های صدا میترکن و باعث ایجاد صدای دلخواه شما میشن
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from .NET Internals
چیکار کنیم وقتی به اشتباه تو برنچ main پوش میکنیم؟!
دیروز داشتم کد میزدم و پوش میکردم یهو دیدم که دارم توی برنچ main پوش میکنم!!!
داشتیم pair-programming میکردیم و اصلا حواسم نبود ولی خوب همیشه یه راهی باید باشه، نه؟
باید این مراحل رو انجام بدیم:
1- پیدا کردن کامیت آخرین کامیت درست
با این دستور تاریخچه کامیت ها رو میتونیم ببینیم
2- تغییر برنج به کامیت درست
طبق تاریخچه بالا میخوایم به کامیت
3- پوش کردن تغییرات
با این دستور برنچ main رو آپدیت میکنیم
و تمام!
خوب چندتا سوال پیش میاد؟
1- چرا من تونسته بودم مستقیم روی برنچ main پوش کنم؟
چون ادمین ریپو هستم
2- خوب چرا پوش رو نبستی روی main؟
چون گیتاپ اگر بخوای Rule ست کنی برای ریپوی خصوصی باید گیتاپ Enterprise داشته باشی
دیروز داشتم کد میزدم و پوش میکردم یهو دیدم که دارم توی برنچ main پوش میکنم!!!
داشتیم pair-programming میکردیم و اصلا حواسم نبود ولی خوب همیشه یه راهی باید باشه، نه؟
باید این مراحل رو انجام بدیم:
1- پیدا کردن کامیت آخرین کامیت درست
git log --onelineبا این دستور تاریخچه کامیت ها رو میتونیم ببینیم
path\to\repo> git log --oneline
e74c0b4 (HEAD -> main) by mistake commit 2
d86e63f by mistake commit 1
ed658f3 latest good commit
7975f4e previous commits
2- تغییر برنج به کامیت درست
git reset --hard <commit-hash>طبق تاریخچه بالا میخوایم به کامیت
ed658f3 برگردیم پس:git reset --hard ed658f3
3- پوش کردن تغییرات
با این دستور برنچ main رو آپدیت میکنیم
git push origin main --force
و تمام!
خوب چندتا سوال پیش میاد؟
1- چرا من تونسته بودم مستقیم روی برنچ main پوش کنم؟
چون ادمین ریپو هستم
2- خوب چرا پوش رو نبستی روی main؟
چون گیتاپ اگر بخوای Rule ست کنی برای ریپوی خصوصی باید گیتاپ Enterprise داشته باشی
Forwarded from The Machine
.NET Internals
چیکار کنیم وقتی به اشتباه تو برنچ main پوش میکنیم؟! دیروز داشتم کد میزدم و پوش میکردم یهو دیدم که دارم توی برنچ main پوش میکنم!!! داشتیم pair-programming میکردیم و اصلا حواسم نبود ولی خوب همیشه یه راهی باید باشه، نه؟ باید این مراحل رو انجام بدیم: 1- پیدا…
چطوری مسیج کامیتهای گذشته رو عوض کنیم؟
یه چالش دیگه هم که اخیرا درموردش سرچ کردم و توی کار بهش برخوردیم این بود که بریم commit message های چند کامیت قبلی رو تغییر بدیم، کامیت آخر که راحت ترین راه براش کامند معروف زیر هست:
ولی برای مثلا تغییر دادن پیام کامیت دهم بهترین روش این هست:
Interactive Git Rebasing
با استفاده از کامند:
N تعداد کامیت هست
که از آخرین کامیت تا جایی که میخواین برین عقب میشه.
وقتی که یه interactive rebase انجام میدیم پشت صحنه گیت یه فایل تو دو لیست داخل ادیتور باز میکنه و کامیتها رو از از قدیمی ترین به جدیدترین ( بالا به پایین) نمایش میده و میتونیم انتخاب کنیم که مرحله بعدی برای کامیت چه کاری میخوایم انجام بدیم:
Pick: استفاده از کامیت به همون شکل فعلی
Reword: استفاده از کامیت ولی با ویرایش پیام
Edit: استفاده از کامیت اما با یه وقفه برای تغییر محتوا یا پیام
Squash: مرج کردن این کامیت با کامیت قبلی و با ترکیب کردن پیام اون ها
Fixup: مرج کامیت فعلی با کامیت قبلی بدون نگه داشتن پیام
Drop: حذف کامل کامیت
حالا که فهمیدیم چه آپشنهایی داریم برگردیم سر سناریوی خودمون، وقتی که ادیتور باز شد اون کامیتی که میخوایم رو پیدا میکنیم و دستور کنارش رو از pick به reword تغییر میدیم بعد فایل رو میبندیم وقتی فایل بسته میشه گیت برای اون کامیتی که reword داره یه ادیتور باز میکنه تا پیام رو ادیت کنیم.
و بعد هم rebase انجام میشه.
نکات قابل ملاحظه در کار تیمی:
قطعا این کار هیستوری رو عوض میکنه و اگه این ربپوی مشترک باشه باید از دستور
استفاده کنید که خب بقیه تیم هم باید rebase کنن یا کانفلیکت های احتمالی رو حل کنن که به نظرم به دردسرش نمیارزه.
و اینکه گیت یه قابلیت داره که میشه نوت اضافه کرد و ضمیمه کامیت کرد اگه خیلی توضیح ضروریای باشه که جا افتاده.
و در نهایت اگه ریپوی لوکال باشه بهتره که این راه رو بریم.
#git
یه چالش دیگه هم که اخیرا درموردش سرچ کردم و توی کار بهش برخوردیم این بود که بریم commit message های چند کامیت قبلی رو تغییر بدیم، کامیت آخر که راحت ترین راه براش کامند معروف زیر هست:
git command --ammendولی برای مثلا تغییر دادن پیام کامیت دهم بهترین روش این هست:
Interactive Git Rebasing
با استفاده از کامند:
git rebase -i Head~NN تعداد کامیت هست
که از آخرین کامیت تا جایی که میخواین برین عقب میشه.
وقتی که یه interactive rebase انجام میدیم پشت صحنه گیت یه فایل تو دو لیست داخل ادیتور باز میکنه و کامیتها رو از از قدیمی ترین به جدیدترین ( بالا به پایین) نمایش میده و میتونیم انتخاب کنیم که مرحله بعدی برای کامیت چه کاری میخوایم انجام بدیم:
Pick: استفاده از کامیت به همون شکل فعلی
Reword: استفاده از کامیت ولی با ویرایش پیام
Edit: استفاده از کامیت اما با یه وقفه برای تغییر محتوا یا پیام
Squash: مرج کردن این کامیت با کامیت قبلی و با ترکیب کردن پیام اون ها
Fixup: مرج کامیت فعلی با کامیت قبلی بدون نگه داشتن پیام
Drop: حذف کامل کامیت
حالا که فهمیدیم چه آپشنهایی داریم برگردیم سر سناریوی خودمون، وقتی که ادیتور باز شد اون کامیتی که میخوایم رو پیدا میکنیم و دستور کنارش رو از pick به reword تغییر میدیم بعد فایل رو میبندیم وقتی فایل بسته میشه گیت برای اون کامیتی که reword داره یه ادیتور باز میکنه تا پیام رو ادیت کنیم.
و بعد هم rebase انجام میشه.
نکات قابل ملاحظه در کار تیمی:
قطعا این کار هیستوری رو عوض میکنه و اگه این ربپوی مشترک باشه باید از دستور
git push --forceاستفاده کنید که خب بقیه تیم هم باید rebase کنن یا کانفلیکت های احتمالی رو حل کنن که به نظرم به دردسرش نمیارزه.
و اینکه گیت یه قابلیت داره که میشه نوت اضافه کرد و ضمیمه کامیت کرد اگه خیلی توضیح ضروریای باشه که جا افتاده.
git notes add -m "message" <commit hash>و در نهایت اگه ریپوی لوکال باشه بهتره که این راه رو بریم.
#git
Forwarded from Webinarfarsi | Soheib Kiani | وبینار فارسی
Webinarfarsi | Soheib Kiani | وبینار فارسی
روش رفع مسدود شدن اکانت لینکدین https://tajrobe.wiki/blog/fix-restricted-linkedin-account #کاربردی
Linkedin
۴ هفته طول کشید تا دوباره وارد اکانت لینکدینم بشم.
و راستشو بخواید، روز اول که پرید… حتی ناراحت نشدم، هنوز نفهمیدم چی شده، پاشدم…
و راستشو بخواید، روز اول که پرید… حتی ناراحت نشدم، هنوز نفهمیدم چی شده، پاشدم…
۴ هفته طول کشید تا دوباره وارد اکانت لینکدینم بشم.
و راستشو بخواید، روز اول که پرید… حتی ناراحت نشدم، هنوز نفهمیدم چی شده، پاشدم ۵صبح رفتم کوهنوردی :)
ولی قصه از اینجا شروع شد:
بعد از اینکه پریمیوم کردم، ۱۵ دقیقه بعد یهو از اکانت بیرونم کرد. چون کد دو مرحلهای…
و راستشو بخواید، روز اول که پرید… حتی ناراحت نشدم، هنوز نفهمیدم چی شده، پاشدم ۵صبح رفتم کوهنوردی :)
ولی قصه از اینجا شروع شد:
بعد از اینکه پریمیوم کردم، ۱۵ دقیقه بعد یهو از اکانت بیرونم کرد. چون کد دو مرحلهای…
Forwarded from RandRng
اگر از Docker Desktop استفاده میکنید حتما باید آپدیتش کنید؛ یک vulnerability سطح بالا توی نحوه پیادهسازی داره (آپدیت آخر مشکل رو حل کرده)
https://nvd.nist.gov/vuln/detail/CVE-2025-9074
این مورد باعث میشه با ۲ خط کد بشه تمام موارد امنیتی رو دور زد و به سیستم عامل اصلی دسترسی گرفت.
توی گزارش اصلی فقط ویندوز گفته شده (نمیدونم مک هم داره یا نه)
https://nvd.nist.gov/vuln/detail/CVE-2025-9074
این مورد باعث میشه با ۲ خط کد بشه تمام موارد امنیتی رو دور زد و به سیستم عامل اصلی دسترسی گرفت.
توی گزارش اصلی فقط ویندوز گفته شده (نمیدونم مک هم داره یا نه)