en
Feedback
کداکسپلور | CodeExplore

کداکسپلور | CodeExplore

Open in Telegram

با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉 👨🏻‍💻 ارتباط با ما : @CodeExploreSup گروه : @CodeExplore_Gap تبلیغات در کد اکسپلور : @CodeExploreAds

Show more
8 241
Subscribers
+724 hours
+677 days
+19030 days
Posts Archive
Repost from N/a
📣 ثبت‌نام «بوت‌کمپ هوش مصنوعی مولد (GenAI)» آکادمی همراه اول آغاز شد! 🧠 امروز کسب‌وکارها و سازمان‌ها به متخصصانی نیاز دارند
📣 ثبت‌نام «بوت‌کمپ هوش مصنوعی مولد (GenAI)» آکادمی همراه اول آغاز شد! 🧠 امروز کسب‌وکارها و سازمان‌ها به متخصصانی نیاز دارند که بتوانند با بهره‌گیری از هوش مصنوعی مولد، داده‌های تصویری را تحلیل کنند، تصاویر جدید خلق کنند و راهکارهای خلاقانه و هوشمند برای مسائل واقعی ارائه دهند. ⚙این همان مسیری است که آینده تولید محتوا، بینایی کامپیوتر، پردازش تصویر، سیستم‌های چندوجهی (Multimodal AI) و نسل جدید محصولات مبتنی بر هوش مصنوعی را شکل می‌دهد؛ از خلق تصاویر و ویدئوهای هوشمند تا توسعه ابزارهای پیشرفته در حوزه‌های بازاریابی، رسانه، سلامت، صنعت و فناوری. 🟢 در این بوت‌کمپ ۱۲ هفته‌ای با آموزش‌های تخصصی، کارگاه‌های آنلاین، پروژه‌های واقعی و منتورینگ، شما را برای تبدیل شدن به یک متخصص حرفه‌ای در هوش مصنوعی مولد آماده می‌کنیم. ⏰ 170 ساعت | آموزش آنلاین و آفلاین ✍️ امکان ثبت‌نام از سراسر کشـور ✅ امکان کارآموزی در گروه همراه اول ✅ آموزش توسط اساتید برجسته دانشگاه و فعالان صنعت
⚠️ ظرفیت: محـدود
🌐 پیش‌ثبت‌نام رایگان: 🔗 https://l.hamrah.academy/4wh ⭐️ @Hamrah_Academy | آکادمی همراه اول

sticker.webp0.41 KB

😩😂 #fun ☕️ Telegram | Website | Discord
😩😂 #fun ☕️ Telegram | Website | Discord

📊 از 8 آوریل تا 8 مه 2026 یه نظرسنجی برگزار شده که 7,258 برنامه نویس وب توی این نظرسنجی شرکت کردن و خلاصه نتیجه اون رو باهم بررسی میکنیم. 1. میانگین کدی که با کمک هوش مصنوعی تولید شده از 28 درصد توی سال 2025 به %54 رسیده. تعداد افرادی که "روزمره" از AI استفاده می‌کنن هم نسبت به سال قبل دو برابر شده. 2.از نظر تجربه و احساس مثبت کاربران، Claude Code با %43 محبوب ترینه و بعد از اون OpenAI Codex و GitHub Copilot قرار دارن. 3. با اینکه ChatGPT محبوبیت عمومی بیشتری داره، اما Claude مدلیه که با 69 درصد بیشترین هزینه براش شده، و بعد از اون ChatGPT با 49 درصد و Gemini با 32 درصد دوم و سوم هستن. 4. بیشترین تهدید ها و نگرانی هایی که کاربران از AI داشتن چی بوده؟ - از دست دادن شغل (48 درصد) - کاربرد های نظامی (45 درصد) - اثرات زیست‌محیطی (40 درصد) - هجوم محتوای بی‌ کیفیت (AI slop) (34 درصد) - اثرات منفی شناختی مثل تنبلی ذهن (30 درصد) 5. بزرگترین مشکلاتی که حین کار با AI دارن و احتمالا رو اعصاب شما هم هست اینه که %64 از افراد توهمات و عدم دقت (Hallucination) رو بزرگترین مشکل میدونن. بعد از اون 53 درصد از کیفیت پایین کد ناراضی هستن. و در ادامه هم مشکلاتی مثل نداشتن پیش زمینه کافی AI از پروژه، به خطر افتادن حریم خصوصی رو میبینیم. 🔸اگر خواستید نمودارهاشو ببینید یا با جزئیات بیشتری بخونید میتونید از این لینک استفاده کنید: 🔗 https://2026.stateofai.dev/ #ai #stateofai ☕️ Telegram | Website | Discord

بریم یکم راجب زبانی حرف بزنیم که بهش کم توجهی شده زبان برنامه‌نویسی (لوا 👩‍💻 Lua)
یکی از شاهکارهای دنیای نرم‌افزار که با هدف سادگی، سرعت زیاد و حجم بسیار کم طراحی شده این زبان در سال 1993 توسط تیمی از دانشمندان دانشگاه کاتولیک ریو دو ژانیرو در برزیل متولد شد. نام لوا در زبان پرتغالی به معنای ماه (🌕) است. این زبان به صورت کاملاً مستقل اجرا نمی‌شود بلکه به عنوان یک زبان اسکریپت‌نویسی تزریقی طراحی شده است تا درون برنامه‌های بزرگ‌تر قرار بگیرد و به کاربران اجازه شخصی‌سازی و کنترل محیط برنامه را بدهد.
موفقیت بزرگ لوا در دنیای بازی‌سازی رقم خورد جایی که به عنوان موتور اصلی اسکریپت‌نویسی بازی‌های معروفی مثل Roblox و دنیای وارکرفت انتخاب شد و حتی Nginx هم توی خودش از زبان لوا استفاده کرده
مدیریت حافظه در لوا کاملا خودکاره و برنامه‌نویس نیازی به آزادسازی دستی حافظه نداره این زبان از یک سیستم جمع‌آوری زباله بسیار پیشرفته و مرحله‌ای استفاده می‌کنه که در پس‌زمینه اجرا میشه و اشیایی رو که دیگه در کد استفاده نمیشه، از حافظه پاک می‌کنه تا از کند شدن برنامه جلوگیری کنه ساختار داده ها توی لوا در اوج سادگیه؛ این زبان تنها یک ساختار داده همه‌فن‌حریف به نام Tabel دارد که می‌تواند به عنوان آرایه، لیست، دیکشنری و حتی برای شبیه‌سازی برنامه‌نویسی شی‌گرا استفاده بشه یعنی ما توی زبان لوا شی گرایی نداریم ولی همون کار شی گرایی و حتی ارث بری رو میتونیم با همون تیبل ها شبیه سازی کنیم و استفاده کنیم
تمام هسته اصلی کامپایلر و مفسر لوا با زبان برنامه‌نویسی (👩‍💻) نوشته شده انتخاب زبان سی به این دلیل بود که لوا بتونه روی هر دستگاهی، از ابر رایانه‌ها گرفته تا ساعت‌های هوشمند و روترهای شبکه، بدون هیچ مشکلی اجرا بشه کل حجم مفسر لوا تنها چندصد کیلوبایته که نشون میده بهینه‌سازی فوق‌العاده کدهای سی در ساختارشه وقتی شما یک خط کد در لوا می‌نویسید، این کد بلافاصله به زبان ماشین تبدیل نمیشه بلکه یک فرآیند چندمرحله‌ای را پشت سر می‌گذارد در مرحله اول، تحلیل‌گر متنی کد شما را می‌خواند و ساختار متنی را به نشانه‌ها یا توکن‌ها تبدیل می‌کند. در مرحله دوم، این توکن‌ها به یک درخت ساختار درختی یا همان درخت نحو انتزاعی تبدیل می‌شوند تا منطق برنامه بررسی شود. در مرحله سوم، کامپایلر داخلی لوا این درخت را به یک زبان میانی بسیار بهینه به نام بایت‌کد تبدیل می‌کند. بایت‌کدها دستورالعمل‌های فشرده‌ای هستند که برای پردازنده‌های واقعی نیستند، بلکه برای یک پردازنده فرضی ساخته شده‌اند. در مرحله چهارم، ماشین مجازی لوا که بر پایه ثبات‌ها طراحی شده است، این بایت‌کدها را برداشته و یکی پس از دیگری به دستورات بومی پردازنده یا همان کد ماشین تبدیل و اجرا می‌کند. این معماری مبتنی بر ثبات باعث شده که لوا نسبت به زبان‌هایی مثل پایتون که از معماری پشته استفاده می‌کنند، سرعت اجرای بسیار بالاتری داشته باشد. اگر از نسخه‌های پیشرفته‌تر مثل Lua JIT استفاده کنید، مرحله بایت‌کد مستقیماً در زمان اجرا به کد ماشین کامپایل می‌شود که سرعتی نزدیک به زبان سی رو میده
برای نصب و استفاده هم کافیه برید توی سایت رسمی خود زبان لوا یعنی
https://www.lua.org
توی سایت خود لوا که برید برای تازه کار ها شاید یکم عجب باشه و دنبال فایل نصبی و یا باینریش بگردن برای ویندوز. ولی باید بگم که اونجوری نیست و فقط سورس زبان توی سایت در دسترسه و باید اون رو با زبان سی بیلد کنید و تبدیل به باینری کنید تا بتونید استفاده کنید چون هیچ نصب کننده ای و یا رابط گرافیکی مثل پایتون براش وجود نداره ولی میتونید از گیتهاب و سایت های مختلف اخرین نسخه بیلد شده و اماده رو دانلود کنید ولی بر خلافش توی لینوکس راحته و توی ترمینال با دستور sudo apt install lua نسخه باینری و قابل استفاده لوا براتون نصب میشه و در مک هم قضیه همینطوره #lua #article ☕️ Telegram | Website | Discord

😏😏 #fun ☕️ Telegram | Website | Discord
😏😏 #fun ☕️ Telegram | Website | Discord

📢 دعوت به همکاری برنامه‌نویس استارتاپ آموزشی Unifast برای توسعه پلتفرم خود به یک برنامه نویس یا یک تیم برنامه‌نویسی توانمند نیاز دارد که بتواند یک سامانه دقیقا مشابه medofast.ir را با تمام فیچر ها به‌صورت صفر تا صد طراحی و پیاده‌سازی کند. مهارت‌های مورد نیاز 💡 طراحی و توسعه Front-end و Back-end پیاده‌سازی پنل مدیریت و سیستم آزمون طراحی دیتابیس و API آشنایی با پردازش اسناد حجیم با فاکتور های زیاد مهم‌ترین شرط همکاری 📚 توانایی طراحی و پیاده‌سازی سیستم Parsing خودکار فایل‌های PDF سوالات. سیستم باید بتواند پس از دریافت PDF: متن سوالات را استخراج کند. درس، پایه، فصل و مبحث هر سوال را تشخیص دهد. سوالات را به‌صورت خودکار در دسته‌بندی صحیح قرار دهد. نیاز به ورود دستی اطلاعات را به حداقل برساند. برای مثال اگر سیستم تشخیص دهد سوالی از فصل اول زیست دهم طراحی شده است، به‌صورت خودکار در بانک سوالات همان بخش ذخیره شود. و پاسخ نامه سوال را هم به سوال مربوطه لینک کند. 🧷 درباره پروژه 🔖 در حال حاضر بیش از 168,000 تست در اختیار داریم و ورود دستی یا استفاده از تایپیست برای دسته‌بندی این حجم از سوالات از نظر زمانی و اقتصادی منطقی نیست. به همین دلیل به دنبال راهکاری هوشمند و مقیاس‌پذیر هستیم. 📩 افراد واجد شرایط رزومه، نمونه‌کار و سوابق مرتبط خود را به این آیدی ارسال کنند. @unifastceo

sticker.webp0.41 KB

⏰ گاهی نیاز داریم دو بازه زمانی رو با هم مقایسه کنیم یا اختلافشون رو محاسبه کنیم. جاوااسکریپت Date داره ولی برای بازه‌ زمانی کافی نیست. اینجا این روش رو استفاده میکنیم : ساختن یه TimeInterval با استفاده از همون Date ولی با اضافه کردن متدهای جدید💡 ایده اصلی اینه که به جای ارث‌ بری کلاس‌محور، یه تابع بنویسیم که: - یه Date جدید میسازیم - متدهای مورد نیازمون رو بهش اضافه میکنیم - همون رو برمیگردونیم
var TimeInterval = function(){
    var obj = new Date(0);

if(arguments.length === 1){
        obj.setTime(arguments[0]);
    } else if(arguments.length > 1){
        var ms = (arguments[0] || 0) * 86400000 +
                 (arguments[1] || 0) * 3600000 +
                 (arguments[2] || 0) * 60000 +
                 (arguments[3] || 0) * 1000 +
                 (arguments[4] || 0);
        obj.setTime(ms);
    }
    
    obj.add = function(t){
        if(t.getTime){
            this.setTime(this.getTime() + t.getTime());
        }
    };
    
    obj.subtract = function(t){
        if(t.getTime){
            this.setTime(this.getTime() - t.getTime());
        }
    };
    
    obj.equals = function(t){
        return this.getTime() === t.getTime();
    };
    
    return obj;
}

function diff(t1, t2){
    return TimeInterval(t1.getTime() - t2.getTime());
}
ساخت با پارامترهای مختلف (بدون overloading): تابع TimeInterval می‌تونه ورودی‌های مختلف قبول کنه:
TimeInterval(3600000)           // 1 ساعت به میلی‌ثانیه
TimeInterval(1,0,0)             // 1 ساعت (ساعت، دقیقه، ثانیه)
TimeInterval(1,2,0,0)           // 1 روز و 2 ساعت
TimeInterval(1,2,0,0,500)       // 1 روز و 2 ساعت و 500 میلی‌ثانیه
با چک کردن arguments.length می‌فهمیم کاربر چه چیزی داده. اینو هم برای نمایش خروجی (override کردن toString) به تابع TimeIntervalاضافه میکنیم:
obj.toString = function(){
    var days = Math.floor(this.getTime() / 86400000);
    return days + " Day(s) " + 
           this.getUTCHours() + ":" +
           this.getUTCMinutes() + ":" +
           this.getUTCSeconds();
}
مثال از استفاده:
var interval1 = TimeInterval(1, 2, 30, 0, 500); // 1 روز, 2 ساعت, 30 دقیقه, 500 میلی‌ثانیه

var interval2 = TimeInterval(3600000 * 25);   // 25 ساعت (معادل 1 روز و 1 ساعت)

interval1.add(interval2);

var difference = diff(interval1, interval2); // 1 Day(s) 2:30:0
توی این روش TimeInterval از Date ارث بری نکرده. اومدیم یه Date ساختیم، بعد متدهای جدید روش ریختیم. این روش رو توی جاوااسکریپت بهش میگن Object Augmentation و خیلی تمیز کار میکنه. اگه توی پروژه‌ هاتون نیاز به جمع و تفریق زمان یا محاسبه اختلاف بازه های زمانی دارین، این روش هم سادست هم انعطاف‌پذیره، نیازی به هیچی نداره و خود جاوااسکریپت با یه کم خلاقیت جواب میده. #js #timeinterval ☕️ Telegram | Website | Discord

😢😳 #fun ☕️ Telegram | Website | Discord
😢😳 #fun ☕️ Telegram | Website | Discord

دوستان شرمنده من اطلاع نداشتم این پست از یه جای دیگه بوده چون من این پست رو کار نکرده بودم. البته دلیل اینکه من فرستادمش چون توی تایمر بود ولی توسط بچه های کداکسپلور نوشته شده بود. اما برحال خطای ما بوده و از شما به این خاطر عذر خواهی میکنم.

حالا بعضی از دوستانی که امنیت کار میکنند یا توی حوزه باگ بانتی و پنتست کار میکنند شاید نگران این باشند که هوش مصنوعی شاید جای شغیلشون رو بگیره ولی باید بگم همچین فکری نکنید به چند دلیل اول اینکه همچین سیسم و مدلی خیلی هزینه های بزرگی داره برای بانک ها و سیستم های بزرگ دوم اینکه هوش مصنوعی هنوز قابل اعتماد نیست در حدی که کامل امنیت یک بانک رو بهش سپرد و برای کنترل و احتمال خطا نبودن باز هم نیاز به متخصصین امنیت و غیره نیاز میشه سوم اینکه این مدل ها توی کشورای جهان دوم و سوم خیلی طول میکشه که در دسترس قرار بگیره نکته آخرشم ایه که شما قبلا به خود بانک نفوذ میکردی الان میری به هوش مصنوعی نفوذ میکنی(هیچوقت این کارو نکنید که خلافه)😁 #suggestion ☕️ Telegram | Website | Discord

دسترسی غول‌های بانکی ژاپن به مدل امنیتی GPT-5.5-Cyber 🟢بزرگ‌ترین بانک های ژاپن شامل MUFG, Sumitomo Mitsui و Mizuho، دارن به نسخه تخصصی و جدیدی از GPT-5.5-Cyber مجهز میشن این دسترسی در یک همکاری راهبردی میان آمریکا و ژاپن صورت گرفته که ۱۵ حوزه زیرساختی حساس را پوشش میده 🟢وظایف این مدل در سیستم‌های بانکی، تقویت امنیت سایبریه. این ابزار برای تشخیص سریع الگوهای حمله، شناسایی آسیب‌پذیری‌های نرم‌افزاری و دفاع از زیرساخت‌های اصلی بانکداری استفاده میشه 🟢بر اساس گزارش‌های موجود، این بانک‌ها از قابلیت‌های مدل مذکور برای شبیه‌سازی رفتارهای تهاجمی نفوذگران استفاده می‌کنند تا پیش از وقوع هرگونه نفوذ واقعی، نقاط ضعف سیستم را شناسایی کنند. 🟢این کار نشون میده تغییر بزرگی در ساختار امنیتی بانک‌های ژاپنی داره رخ میده که اکنون از این فناوری نه به عنوان یک ابزار بلکه به عنوان بخشی از زیرساخت امنیت ملی برای حفاظت از تراکنش‌ها و داده‌های مالی استفاده میکنه 🟢این مدل تخصصی به طور مشخص برای مقابله با تهدیدات سایبری پیچیده و حفظ پایداری در شبکه‌های حساس مالی طراحی شده و در اختیار نهادهای مشخص قرار گرفته #news ☕️ Telegram | Website | Discord

🔍 براتون پیش اومده بخواید تفاوت کدی که خودتون نوشتید با یه کد شبیه به کد خودتون باشه مثلا راه حلی که توی استک آورفلو هست یا
🔍 براتون پیش اومده بخواید تفاوت کدی که خودتون نوشتید با یه کد شبیه به کد خودتون باشه مثلا راه حلی که توی استک آورفلو هست یا هوش مصنوعی بهتون گفته مقایسه کنید و ببینید چه تفاوت هایی دارن. جدا از ابزارهایی که خود IDE ها برای اینکار دارن میتونید از سایت های Diffchecker و Littlediffer استفاده کنید. 1⃣ https://diffchecker.com 2⃣ https://littlediffer.com شما از چه روشی برای اینکار استفاده میکنید؟ #different #code ☕️ Telegram | Website | Discord

تو این مدت با بعضی ها که صحبت میکردم میگفتن یه خط کد هم ننوشتیم و برنامه نویسی یادمون رفته. و افرادی هم بودن که چیزای جدیدی یاد میگرفتن و تجربه های جدید رو امتحان میکردن. شما چیکار میکردید؟🤔 اگر پروژه جدیدی زدید که دوست دارید با بقیه share کنید لینک ریپازیتوری یا خود پروژه رو بزارید👇🏻

😂🗿 #fun ☕️ Telegram | Website | Discord
😂🗿 #fun ☕️ Telegram | Website | Discord

🥇رنکینگ زبان های برنامه نویسی توی May 2026 توی این مدت رتبه زبان های برنامه نویسی چه تغییری کرده؟ پایتون جایگاهش رو حفظ کرده
🥇رنکینگ زبان های برنامه نویسی توی May 2026 توی این مدت رتبه زبان های برنامه نویسی چه تغییری کرده؟ پایتون جایگاهش رو حفظ کرده البته با کاهش 5 درصدی رتبه نسبت به سال قبل. جاوا و C نسبت به سال قبل یه پله رشد داشتن. و ++C از جایگاه دوم به چهارم رسیده. بقیه زبان هارو هم میتونید از اینجا ببینید: 👉🏻 https://tiobe.com/tiobe-index/ #programming #language #ranking ☕️ Telegram | Website | Discord

🔹پیش نویس رسمی تغییرات پایتون 3.15 اومده البته ممکنه تا زمان انتشارش که گفته شده آخر سال 2026 هست کلی تغییر دیگه داشته باشه اما یه خلاصه از تغییراتی که تا الان گفته شده با هم ببینیم: 1. اضافه شدن lazy import این ویژگی باعث میشه ماژول فقط وقتی که توی کد استفاده بشه، لود میشه و استارتاپ برنامه‌های سنگین رو چند ثانیه سریع‌تر میکنه.
lazy import json
lazy from pathlib import Path
print("Starting up...")  # json and pathlib not loaded yet
data = json.loads('{"key": "value"}')  # json loads here
p = Path(".")  # pathlib loads here
2. دیکشنری غیرقابل تغییر frozendict قابل هشه (hashable) پس میتونه کلید دیکشنری دیگه یا عضو set باشه. برای کش (cache) و کانفیگ عالیه.
a = frozendict(x=1, y=2) #frozendict({'x': 1, 'y': 2})
a["z"] = 3 #TypeError
b = frozendict(y=2, x=1)
hash(a) == hash(b) #True
a == b #True
3. یه نوع داده جدید به اسم sentinel اضافه میشه که باهاش میتونید هر تعداد مقدار یونیک یا منحصر به فرد که نیاز داشتید بسازین. مقداری که با هیچ‌ چیز دیگه برابر نیست. برای مقداردهی اولیه یا خطاهای خاص عالیه.
NOT_FOUND = sentinel("NOT_FOUND")
4. باز کردن لیست ها با [*L for L in lists]
lists = [[1, 2], [3, 4], [5]]
[*L for L in lists]  # equivalent to [x for L in lists for x in L]
#[1, 2, 3, 4, 5]
قبلا برای اینکار نیاز به for تو در تو بود. 5. پیش‌فرض UTF-8 برای فایل‌ها دیگه open("file.txt") با UTF-8 باز میشه، نه encoding سیستم. پس txt فارسی هم دیگه بهم نمیریزه. 6. پروفایلر جدید نمونه‌برداری (Sampling Profiler) با سرعت1میلیون نمونه در ثانیه بدون اینکه کدت رو کند کنه، میتونی ببینی کجای برنامه وقت میگیره. برای بهینه‌سازی تو تولید (production) عالیه. 7. کامپایلر JIT بهبود پیدا میکنه میانگین 8 تا 12 درصد سریعتر از پایتون 3.14. تخصیص رجیستر، رفرنس کانت کمتر. ❌حذف شدن collections.abc.ByteString و typing.ByteString ⚠️ ساخت NamedTuple با Point = NamedTuple("Point", x=int) (از کلاس استفاده کنید) #python #new @CodeExplore

Repost from N/a
🚀 فقط کدنویسی کافی نیست! اگر می‌خواهید یاد بگیرید چطور سرویس‌ها را واقعی، پایدار و حرفه‌ای deploy و مدیریت کنید، بوت‌کمپ Dev
🚀 فقط کدنویسی کافی نیست! اگر می‌خواهید یاد بگیرید چطور سرویس‌ها را واقعی، پایدار و حرفه‌ای deploy و مدیریت کنید، بوت‌کمپ DevOps آکادمی همراه اول برای شماست. در این بوت‌کمپ به‌صورت عملی یاد می‌گیرید: 🔹 داکر (Docker) و Kubernetes 🔹 پیاده‌سازی CI/CD 🔹 مدیریت زیرساخت به روش Infrastructure as Code 🔹 مانیتورینگ و نگه‌داری سرویس‌ها 💎 امکان کارآموزی در گروه همراه اول 🎓 همراه با گواهینامه ⏰ ۱۲ هفته | آنلاین ⚠️ ظرفیت محدود 🔗 پیش‌ثبت‌نام رایگان: https://l.hamrah.academy/991 ⭐️ @Hamrah_Academy | آکادمی همراه اول

اگر به اشتباه فایل مهمی داخل ریپازیتوری گیت هابتون پوش کردید و تصمیم به پاک کردنش دارید اینو بدونید که فقط پاک کردن آخرین Commit کار ساز نیست‼️ این فایل توی History میمونه همه میتونن بهش دسترسی داشته باشن. 💡برای اینکه بتونید حذفش کنید میتونید از ابزار git filter repo استفاده کنید که با اینکار کل تاریخچه ریپازیتوری بازنویسی میشه. برای نصب:
#linux
sudo apt install git-filter-repo

#windows
pip install git-filter-repo
برای استفاده:
#به جای path/to/file-or-folder مسیر فایل یا پوشه مورد نظر در repository قرار بگیره.

git filter-repo --path path/to/file-or-folder --invert-paths

git remote add origin <repo-url>

git push origin --force --all
بعد از انجام کار هم فایل .gitignore رو آپدیت کنید. ⚠️ بهتره این دستور روی یک clone تازه از پروژه اجرا بشه و همچنین اگر فایل حساس منتشر شده، حتماً credentialها رو هم rotate کنید. #git #github #repo ☕️Telegram | Website | Discord