کداکسپلور | CodeExplore
8.24K subscribers
2.06K photos
365 videos
124 files
1.93K links
با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉

👨🏻‍💻 ارتباط با ما :
@CodeExploreSup
گروه :
@CodeExplore_Gap

تبلیغات در کد اکسپلور :
@CodeExploreAds
Download Telegram
headshot🔫😂

#fun
☕️Telegram | Website | Discord
😁90😎8👏4
🌐اگر با Kubernetes کار می‌کنید و از پیچیدگی‌های مدیریتی اون خسته شدین، ‏Freelens یه ابزار رایگان و اوپن سورس برای مدیریت Clusterهای کوبرنیتزه، که در قالب یک اپلیکیشن مستقل روی ویندوز، لینوکس و مک اجرا میتونید اجراش کنید.

‏Freelens با رابط کاربری ساده کمک میکنه راحت‌تر لاگ‌ ها رو بررسی کنید، منابع رو مدیریت کنید و روی فعالیتای اصلیتون تمرکز داشته باشید.

🔗 دسترسی به سایت | گیت هاب

این ابزار برای برنامه نویسایی که با چند کلاستر سروکار دارن میتونه یه همراه کاربردی و سبک باشه.

#kubernetes #cluster
☕️Telegram | Website | Discord
🔥71👏1😍1
🤨👀🫤

#fun
☕️Telegram | Website | Discord
1😁22🔥82😱1
یه صفحه مفید توی Notion که توسط یکی از دوستان عزیز ساخته شده، با کلی از ایده‌ های خلاقانه برای طراحی، ساختاردهی و ایده گرفتن به شما تو پروژه هاتون کمک میکنه.

میتونی الگوها و ساختارهای بصری رو ببینی و توی کارات استفاده کنی.

🔗 Link

#pattern #idea
☕️Telegram | Website | Discord
👏101🔥1😍1
اگر میخواین لودینگ های مدرن به پروژه هاتون اضافه کنید. این ابزار بهتون کمک میکنه اسکلتون لودینگ بسازید.

با این ابزار میتونید برای کامپوننت‌های محبوب، اسکلت‌های انیمیشنی بسازید تا به‌جای لودینگ‌های معمولی، تجربه بهتری به کاربر نشون بدید و ظاهر پروژتون هم مرتب‌ تر و حرفه‌ای‌ تر به نظر برسه.

ابزاری ساده و سریع که کلی طرح آماده هم داره و از React, React Native, Vue و HTML پیشتیبانی میکنه.

🔗 https://skeletonreact.com

#skeleton #loading #react
☕️Telegram | Website | Discord
👏9🔥4😍21
دوستان عزیز،
اگر از لینکدین استفاده میکنید در حال حاضر ممکنه اونم مثل تلگرام و... فیلتر بشه و نتونید با آیپی ایران بهش دسترسی پیدا کنید💔

اما توجه کنید از VPN استفاده نکنید مگه اینکه آیپی ثابت داشته باشین در غیر اینصورت بعدا دچار مشکل میشید و ازتون احراز هویت میخواد.

اگر راهی پیدا کردم برای اینکه بدونم چطور میشه ازش استفاده کرد با وجود این وضعیت بهتون میگم.
شما هم راهی داشتین بنویسید.
🔥223❤‍🔥2💔2
سلام دوستان عزیز🧡
قطعا توی این مدت خیلی ها کارشون رو از دست دادن یا اینکه به علت وضعیت بازار نتونستن کاری پیدا کنن.
بهترین ایده ای که فکر میکنم بشه داد اینه که رزومه یا گیت هاب خودتون رو توی کامنت های این پست ارسال کنید تا بتونم قرارشون بدم و به هم کمک کنیم برای ادامه دادن.

اگر ایده دیگه ای به ذهنتون رسید که من بتونم کمک موثر تری کنم بگین سعی میکنم حتما پیگیریش کنم و انجام بدم.
5❤‍🔥20🔥2
🤖اگر قصد شروع یادگیری هوش مصنوعی رو داشته باشید سایت Elements of AI یه دوره رایگان آنلاین ارائه کرده که توسط دانشگاه هلسینکی طراحی شده و بیش از 2 میلیون شرکت کننده داره.

این دوره شروع کاره برای افرادی که هیچ پیش زمینه ای ندارن هم مناسبه

توی بخش اول دوره موضوعاتی مثل هوش مصنوعی چیه و چه کارهایی با اون ممکنه و چه کار هایی نه؟ و همچنین اینکه هوش مصنوعی چطور روی زندگی و شغل ما تاثیر میذاره وجود داره.

توی بخش بعدی هم وارد بحثای الگوریتمی میشه و سعیش نشون دادن پشت صحنه مدل های AI هست.

یه بخش هم برای کمپانی ها داره و دوتا سرفصل جدا داخلش ارائه شده.

🔗 https://www.elementsofai.com

#ai #course
☕️Telegram | Website | Discord
❤‍🔥101😍1
توی Heroicons مجموعه ای از آیکن های مختلف هست که میتونید توی سایز های متفاوت و با ساختار SVG یا JSX کپی و توی پروژه هاتون استفاده کنید. برای React و Vue هم کتابخونه داره که از گیت هاب میتونید نصبش کنید.

آیکن‌ها با کلاس‌های Tailwind سازگار هستن و فایل‌ Figma آیکن ها هم برای طراحی UI وجود داره.

🔗 https://heroicons.com

این مجموعه توسط تیم Tailwind توسعه داده شده.

#icons #collection
☕️Telegram | Website | Discord
❤‍🔥11🔥21😍1
ابزار Laravel debugbar یکی از پروژه های معروف اکوسیستم لاراوله که یه نوار پایین صفحه لاراول با اطلاعات اضافی از اون چیزی که توی پروژه شما در حال اتفاق افتادن هست بهتون نمایش میده.

🔙 این ابزار توی محیط لوکال برای دیباگ استفاده میشه و با نمایش اطلاعاتی در مورد ارور ها، Routing ها، کوئری هایی که زده شده و مدل های لود شده و ارائه جزئیات ریکوئست ها کار رو برای دیباگ کردن راحت تر میکنه.

برای نصب توی ترمینال پروژتون این دستور رو بزنید:

composer require fruitcake/laravel-debugbar --dev

داکیومنت پروژه:

🔗 https://laraveldebugbar.com


#laravel #debugbar
☕️Telegram | Website | Discord
🔥7❤‍🔥3😁21
140 basic to advanced Python programs-CodeExplore.pdf
4.4 MB
بیشتر از 100 تا پروژه پایتون که از پروژه های سطح پایین تا سطح متوسط و بالا داخلش پیدا میشه همراه با توضیحات هر پروژه.

#python #projects
☕️Telegram | Website | Discord
🔥20❤‍🔥4😍21
اگر به اشتباه فایل مهمی داخل ریپازیتوری گیت هابتون پوش کردید و تصمیم به پاک کردنش دارید اینو بدونید که فقط پاک کردن آخرین 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
❤‍🔥103🔥2👏1
🔹پیش نویس رسمی تغییرات پایتون 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
☕️ Telegram | Website | Discord
❤‍🔥156
🥇رنکینگ زبان های برنامه نویسی توی May 2026

توی این مدت رتبه زبان های برنامه نویسی چه تغییری کرده؟

پایتون جایگاهش رو حفظ کرده البته با کاهش 5 درصدی رتبه نسبت به سال قبل.

جاوا و C نسبت به سال قبل یه پله رشد داشتن.

و ++C از جایگاه دوم به چهارم رسیده.

بقیه زبان هارو هم میتونید از اینجا ببینید:

👉🏻 https://tiobe.com/tiobe-index/

#programming #language #ranking
☕️ Telegram | Website | Discord
🔥103😁2❤‍🔥1😱1
😂🗿

#fun
☕️ Telegram | Website | Discord
😁172🔥1
تو این مدت با بعضی ها که صحبت میکردم میگفتن یه خط کد هم ننوشتیم و برنامه نویسی یادمون رفته.
و افرادی هم بودن که چیزای جدیدی یاد میگرفتن و تجربه های جدید رو امتحان میکردن.

شما چیکار میکردید؟🤔
اگر پروژه جدیدی زدید که دوست دارید با بقیه share کنید لینک ریپازیتوری یا خود پروژه رو بزارید👇🏻
🔥193❤‍🔥3
🔍 براتون پیش اومده بخواید تفاوت کدی که خودتون نوشتید با یه کد شبیه به کد خودتون باشه مثلا راه حلی که توی استک آورفلو هست یا هوش مصنوعی بهتون گفته مقایسه کنید و ببینید چه تفاوت هایی دارن.

جدا از ابزارهایی که خود IDE ها برای اینکار دارن میتونید از سایت های Diffchecker و Littlediffer استفاده کنید.

1⃣ https://diffchecker.com
2⃣ https://littlediffer.com

شما از چه روشی برای اینکار استفاده میکنید؟

#different #code
☕️ Telegram | Website | Discord
🔥14❤‍🔥21
😢😳

#fun
☕️ Telegram | Website | Discord
😁371💔1😎1
گاهی نیاز داریم دو بازه زمانی رو با هم مقایسه کنیم یا اختلافشون رو محاسبه کنیم. جاوااسکریپت 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
❤‍🔥103🔥2
😏😏

#fun
☕️ Telegram | Website | Discord
😁122🔥2💔1
بریم یکم راجب زبانی حرف بزنیم که بهش کم توجهی شده

زبان برنامه‌نویسی (لوا 👩‍💻 Lua)
یکی از شاهکارهای دنیای نرم‌افزار که با هدف سادگی، سرعت زیاد و حجم بسیار کم طراحی شده این زبان در سال 1993 توسط تیمی از دانشمندان دانشگاه کاتولیک ریو دو ژانیرو در برزیل متولد شد.
نام لوا در زبان پرتغالی به معنای ماه (🌕) است. این زبان به صورت کاملاً مستقل اجرا نمی‌شود بلکه به عنوان یک زبان اسکریپت‌نویسی تزریقی طراحی شده است تا درون برنامه‌های بزرگ‌تر قرار بگیرد و به کاربران اجازه شخصی‌سازی و کنترل محیط برنامه را بدهد.

موفقیت بزرگ لوا در دنیای بازی‌سازی رقم خورد جایی که به عنوان موتور اصلی اسکریپت‌نویسی بازی‌های معروفی مثل Roblox و دنیای وارکرفت انتخاب شد
و حتی Nginx هم توی خودش از زبان لوا استفاده کرده

مدیریت حافظه در لوا کاملا خودکاره و برنامه‌نویس نیازی به آزادسازی دستی حافظه نداره این زبان از یک سیستم جمع‌آوری زباله بسیار پیشرفته و مرحله‌ای استفاده می‌کنه که در پس‌زمینه اجرا میشه و اشیایی رو که دیگه در کد استفاده نمیشه، از حافظه پاک می‌کنه تا از کند شدن برنامه جلوگیری کنه
ساختار داده ها توی لوا در اوج سادگیه؛ این زبان تنها یک ساختار داده همه‌فن‌حریف به نام Tabel دارد که می‌تواند به عنوان آرایه، لیست، دیکشنری و حتی برای شبیه‌سازی برنامه‌نویسی شی‌گرا استفاده بشه
یعنی ما توی زبان لوا شی گرایی نداریم ولی همون کار شی گرایی و حتی ارث بری رو میتونیم با همون تیبل ها شبیه سازی کنیم و استفاده کنیم

تمام هسته اصلی کامپایلر و مفسر لوا با زبان برنامه‌نویسی (👩‍💻) نوشته شده انتخاب زبان سی به این دلیل بود که لوا بتونه روی هر دستگاهی، از ابر رایانه‌ها گرفته تا ساعت‌های هوشمند و روترهای شبکه، بدون هیچ مشکلی اجرا بشه کل حجم مفسر لوا تنها چندصد کیلوبایته که نشون میده بهینه‌سازی فوق‌العاده کدهای سی در ساختارشه
وقتی شما یک خط کد در لوا می‌نویسید، این کد بلافاصله به زبان ماشین تبدیل نمیشه بلکه یک فرآیند چندمرحله‌ای را پشت سر می‌گذارد
در مرحله اول، تحلیل‌گر متنی کد شما را می‌خواند و ساختار متنی را به نشانه‌ها یا توکن‌ها تبدیل می‌کند.
در مرحله دوم، این توکن‌ها به یک درخت ساختار درختی یا همان درخت نحو انتزاعی تبدیل می‌شوند تا منطق برنامه بررسی شود.
در مرحله سوم، کامپایلر داخلی لوا این درخت را به یک زبان میانی بسیار بهینه به نام بایت‌کد تبدیل می‌کند. بایت‌کدها دستورالعمل‌های فشرده‌ای هستند که برای پردازنده‌های واقعی نیستند، بلکه برای یک پردازنده فرضی ساخته شده‌اند.
در مرحله چهارم، ماشین مجازی لوا که بر پایه ثبات‌ها طراحی شده است، این بایت‌کدها را برداشته و یکی پس از دیگری به دستورات بومی پردازنده یا همان کد ماشین تبدیل و اجرا می‌کند.
این معماری مبتنی بر ثبات باعث شده که لوا نسبت به زبان‌هایی مثل پایتون که از معماری پشته استفاده می‌کنند، سرعت اجرای بسیار بالاتری داشته باشد.
اگر از نسخه‌های پیشرفته‌تر مثل Lua JIT استفاده کنید، مرحله بایت‌کد مستقیماً در زمان اجرا به کد ماشین کامپایل می‌شود که سرعتی نزدیک به زبان سی رو میده

برای نصب و استفاده هم کافیه برید توی سایت رسمی خود زبان لوا یعنی

https://www.lua.org


توی سایت خود لوا که برید برای تازه کار ها شاید یکم عجب باشه و دنبال فایل نصبی و یا باینریش بگردن برای ویندوز. ولی باید بگم که اونجوری نیست و فقط سورس زبان توی سایت در دسترسه و باید اون رو با زبان سی بیلد کنید و تبدیل به باینری کنید تا بتونید استفاده کنید چون هیچ نصب کننده ای و یا رابط گرافیکی مثل پایتون براش وجود نداره ولی میتونید از گیتهاب و سایت های مختلف اخرین نسخه بیلد شده و اماده رو دانلود کنید
ولی بر خلافش توی لینوکس راحته و توی ترمینال با دستور sudo apt install lua نسخه باینری و قابل استفاده لوا براتون نصب میشه و در مک هم قضیه همینطوره


#lua #article
☕️ Telegram | Website | Discord
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥124🔥3😁1