کداکسپلور | CodeExplore
7.91K subscribers
1.95K photos
313 videos
103 files
1.73K links
با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉

سایت کد‌اکسپلور:
CodeExplore.ir
👨🏻‍💻 ارتباط با ما :
@CodeExploreSup
گروه :
@CodeExplore_Gap
تبلیغات در کد اکسپلور :
@CodeExploreAds
Download Telegram
سایت Aceternity UI پکیجی از Component های آماده و مدرن رو داره که میتونی مستقیم کدشو برداری و توی پروژه‌ هات استفاده کنی. دیگه لازم نیست نگران استایل یا انیمیشن باشی میتونی با نیاز خودت تغییرش بدی💯

🔗 https://ui.aceternity.com/

#component
☕️ Telegram | Website | Discord
❤‍🔥10🔥2😍1
بیاین یکم بیشتر همو بشناسیم🙂
چه مدتیه شروع کردی و تو کدوم زمینه کار میکنی؟
❤‍🔥3🔥21😍1
کداکسپلور | CodeExplore pinned «بیاین یکم بیشتر همو بشناسیم🙂 چه مدتیه شروع کردی و تو کدوم زمینه کار میکنی؟»
مایکروسافت Copilot Diagnostics for .NET رو به ویژوال استودیو اضافه کرد

🔹 از این به بعد میتونی موقع دیباگ توی پروژه‌های .NET مستقیم از GitHub Copilot کمک بگیری و هدف این ابزار ساده تر کردن دیباگینگ توی پروژه‌های .NET هست.

- پیشنهاد هوشمند برای Breakpoint و Tracepoint (شرط و اکشن مناسب رو خودش میگه)

‏- IEnumerable Visualizer برای دیدن دیتا به‌صورت جدولی + کمک توی نوشتن/اصلاح LINQ Query ها با زبان طبیعی

- توضیح و Fix پیشنهادی برای Exception ها

- آنالیز متغیرها و نمایش Return Value ها همون موقع دیباگ

- پشتیبانی از سناریوهای سخت مثل async و multithread + تشخیص Deadlock و خلاصه‌سازی خودکار وضعیت برنامه

این قابلیت از Visual Studio 2022 ورژن 17.8 به بعد پشتیبانی میشه.

🌐 منبع

#visualstudio #githubcopilot
☕️ Telegram | Website | Discord
❤‍🔥4🔥1😍1
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی فقط یه ارور داره ولی همون ارور:

#fun
☕️ Telegram | Website | Discord
🔥20😁8😍1💔1
🚀 4 قسمت جدید از آموزش مقدماتی تا پیشرفته Django رایگان منتشر شد 💼🐍

اگه پایتون بلدی و می‌خوای وارد دنیای برنامه‌نویسی وب بشی، این دوره دقیقاً برای توئه!

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

📅 دوره به‌صورت سه روز یکبار آپدیت میشه و قسمت‌های جدید بهش اضافه میشه.

🔔 قسمت‌های منتشر شده:
🔹 فصل دوم جنگو پیشرفته
- فرم ها (ویجت ها)
- فرم ها (مدل فرم)
- فرم ها (ذخیره سازی داده ها)
- پیاده‌سازی فرم لاگین

🎬 دسترسی به دوره

اگه دوست داشتین میتونید دوره رو از یوتیوب ببینید.

#django #python #backend
☕️Telegram | Website | Discord
🔥8😍21❤‍🔥1
بریم یکم گپ بزنیم🤔
در حال حاضر مشغول یادگیری هستین یا وارد بازار کار شدین؟
😍4❤‍🔥1🔥1
🤖 گزارش AI Big Bang Study منتشر شد

این تحقیق روی 10,500 AI انجام شده و نشون میده توی بازه‌ی آگوست 2024 تا جولای 2025 بیش از 100 میلیارد بازدید وب فقط به 10 چت‌بات برتر اختصاص داشته! جالبه بدونید این 10 تا به‌تنهایی %58.8 کل ترافیک AI رو در اختیار دارن.

📊 سه رتبه‌ی اول:
1️⃣ ChatGPT‏ با اختلاف اول؛ بیش از 46.6 میلیارد بازدید و امتیاز 0.81
2️⃣Grok‏ دوم؛ به‌خاطر رشد سریع و دسترسی در لحظه به داده‌های X
3️⃣ Gemini‏ سوم؛ با امتیاز 0.32، نزدیک‌ترین رقیب جدی ChatGPT

#ai #bigbang #report
☕️Telegram | Website | Discord
❤‍🔥6🔥3
فهم Third Index در Subslice های Go


در Go وقتی از اسلایس یک subslice می‌گیریم، معمولاً دو نوع سینتکس داریم:

slice[low : high]   
slice[low : high : max]

1️⃣ حالت اول: slice[low:high]

طول (len) = high - low
ظرفیت (cap) = cap(slice) - low

مثال:

x := []int{1, 2, 3, 4, 5}
y := x[1:3] // 2 3
fmt.Println(len(y), cap(y)) // 2, 4


نکته:‌ تا زمانی که len به cap نرسه، گو دست به زحمت برای ایجاد یک اسلایس جدید نمیکنه. اما وقتی بگذره همه عناصرو برمیداره و دوباره یه جای مموری میبره که جا برای عناصر جدید باشه.
همچنین این رو هم باید بدونیم y بخشی از x هست. یعنی اگه y سهم [1:3] از اسلایس x رو داشته باشه، تغییرات روی y روی x هم میشینه. یا بهتر بگم Reference داره.

اما شاید بخواییم از این رفتار جلوگیری کنیم. حالا چطور؟


2️⃣ با slice[low:high:max]


طول (len) = high - low
ظرفیت (cap) = max - low

مثال:
x := []int{1, 2, 3, 4, 5}
y := x[1:3:3] // عناصر دوم و سوم، حداکثر ظرفیت = 3-1 = 2
fmt.Println(len(y), cap(y)) // 2, 2


حالا y ظرفیت محدودتری دارد.
اگر append از این ظرفیت فراتر بره حتماً یک آرایه مستقل ایجاد میشه. ولی باز هم اگه قبل مستقل شدنش تغییری روی subslice بدید روی slice هم میشینه. ولی اگه len به cap برسه با خیال راحت میتونید دیگه تغییرات بدید. چون دیگه تحت سلطه x نیست🤣.

x := []int{1, 2, 3, 4, 5}
y1 := x[:2] // len=2, cap=5
y2 := x[:2:2] // len=2, cap=2

y1 = append(y1, 6) // هنوز به آرایه اصلی x وصل است، x تغییر می‌کند
y2 = append(y2, 6) // از cap فراتر رفت → y2 مستقل شد، x تغییری نمی‌کند

💡 نکته: به طور خلاصه استفاده از third index یه راه ساده برای جلوگیری از تغییر ناخواسته والد هنگام append هست.
برای اینکه مطمئن از این رفتار بشید، این دو کد رو به دقت بررسی کنید.
https://go.dev/play/p/E5kILltOzrb
https://go.dev/play/p/UaIsqsxQkku

توی لینک دوم از third index برای جلوگیری از تغییر ناخواسته استفاده میکنیم.

منبع: کتاب Learning Go


#go #third_index
☕️ Telegram | Website | Discord
❤‍🔥41😍1
4 قسمت جدید از آموزش مقدماتی پایتون مقدماتی رایگان منتشر شد🐍💻

اگه قصد داری پایتون رو از پایه شروع کنی و به زبان ساده ولی کاربردی وارد دنیای برنامه نویسی بشی، این دوره برای خودته!
توی این دوره‌ی پروژه‌ محور، از مفاهیم ابتدایی مثل متغیرها، شرط‌ها و حلقه‌ها شروع میکنیم و قدم‌ به‌ قدم تا موضوعات مهم تر مثل ماژول‌ ها، شی‌گرایی مقدماتی و مدیریت خطاها پیش میریم.

تو مسیر آموزش، دو پروژه‌ی واقعی هم انجام میدیم (مدیریت دانش‌آموزان و مدیریت وظایف) تا علاوه‌ بر یادگیری مباحث تئوری، تجربه‌ی عملی هم داشته باشی.

📅 دوره به‌ صورت سه روز یکبار آپدیت میشه و قسمت‌های جدید بهش اضافه میشه.

🔔 قسمت های منتشر شده:
- دیتا تایپ ها
- بررسی توابع در لیست ها
- آشنایی و کار با Set ها
- معرفی Tuple

🎬 دسترسی به دوره

#python #programming #beginners
☕️ Telegram | Website | Discord
❤‍🔥4🔥21
📦WinRAR چطور فایل‌هارو فشرده میکنه؟
‏WinRAR یکی از محبوب‌ترین ابزارهای فشرده‌سازیه که با شناسایی الگوهای تکراری و حذف داده‌های اضافی، حجم فایل‌هارو به شکل چشمگیری کم میکنه. این کار با ترکیب الگوریتم‌هایی مثل Lempel–Ziv و روش‌های آماری مثل Huffman Coding انجام میشه تا داده‌ها هم سبک‌تر بشن و هم بدون از دست رفتن دوباره قابل بازیابی باشن.

توی این مقاله مرحله‌ به‌ مرحله توضیح دادیم WinRAR چطور این فرآیند رو انجام میده و چرا معمولاً از ZIP کارآمدتره 🤔

🔗 مطالعه مقاله

#winrar #compression #programming
☕️ Telegram | Website | Discord
❤‍🔥9😍32
♨️jQuery 4.0 نزدیکه!

🔹 تیم jQuery اولین Release Candidate نسخه 4 رو منتشر کرده. یعنی ورژن نهایی دیگه خیلی دور نیست.

📌 تغییرات مهم توی jQuery 4:

- اومدن Slim Build جدید: بدون Ajax و Effects و همینطور حذف Deferred/Callbacks (چون همه مرورگرای مدرن دیگه Promise رو ساپورت می‌کنن)

- پشتیبانی بهتر از داده‌های باینری (مثل FormData) توی ajax.$

- حذف JSONP Promotion خودکار: الان همه چیز روی CORS استاندارد رفته

- اضافه شدن Trusted Types برای امنیت بیشتر

- مهاجرت سورس از AMD به ES Modules و استفاده از Rollup


‏Slim Build الان حدود 8 کیلوبایت سبک‌تر از نسخه‌ی عادیه، و بیشتر روی نیازهای امروزی وب متمرکز شده.

📝 همراهش یه Upgrade Guide و نسخه جدید jQuery Migrate هم منتشر شده تا راحت‌تر به 4 مهاجرت کنیم.

#jquery #new #version
☕️ Telegram | Website | Discord
🔥54😁2❤‍🔥1
‏Linux Mint 22.2 با اسم "Zara" منتشر شد. این نسخه بر پایه Ubuntu 24.04 LTS ساخته شده و از کرنل 6.14 استفاده میکنه.

🔄 تغییرات جدید:

- اپ Fingwit برای ورود با اثرانگشت

- بهبود Wayland session (به‌ویژه در Cinnamon)

- آپدیت تم‌ها و پشتیبانی از Accent Colors

- تغییرات در Sticky Notes، لاگین اسکرین، Hypnotix و چندین جزئیات دیگه


پشتیبانی از این نسخه تا سال 2029 ادامه داره.

#linux #mint #update
☕️ Telegram | Website | Discord
🔥7❤‍🔥2
مدیریت حافظه توی Go
شاید براتون جالب باشه بدونید که هر برنامهٔ کامپیوتری معمولاً حافظه‌شو تو سه بخش اصلی نگه می‌داره:

حافظهٔ سراسری (Global): برای متغیرهایی که کل مدت اجرای برنامه هستن.
پشته (Stack): برای متغیرهای محلی و موقتی؛ سریع و خودکار تخصیص و آزاد می‌شه.
هیپ (Heap): برای داده‌هایی که عمر طولانی‌تری دارن یا بین بخش‌های مختلف برنامه به اشتراک گذاشته می‌شن؛ مدیریت‌شون کمی سخت‌تره.

زبان Go برای این‌که برنامه‌ها سبک‌تر و سریع‌تر باشن، تا جایی که می‌تونه داده‌ها رو تو پشته نگه می‌داره. این‌که یه داده تو پشته بمونه یا بره هیپ، رو بخشی از کامپایلر به اسم تحلیل فرار (Escape Analysis) تصمیم می‌گیره. این تحلیل نگاه می‌کنه اگه یه متغیر بعد از تموم شدن تابع هم باید زنده بمونه، می‌فرستدش هیپ.

تو زبان‌هایی مثل C و ++C، آزاد نکردن حافظه، دوبار آزاد کردن یا اشاره‌گرهای معلق می‌تونه دردسر بزرگی بشه. Go با داشتن جمع‌آوری‌کنندهٔ زباله (Garbage Collector) این دردسرا رو از دوش برنامه‌نویس برداشته. GCش بر پایهٔ الگوریتم Mark & Sweep کار می‌کنه و خودکار حافظهٔ بلااستفاده رو آزاد می‌کنه.

به زبون ساده:
1️⃣ توقف کوتاه‌مدت برنامه (Stop-The-World): وقتی GC شروع می‌شه، اجرای goroutineها برای مدت کوتاهی متوقف می‌شه تا وضعیت حافظه ثبت بشه.
2️⃣ علامت‌گذاری (Mark): اشیایی که هنوز در حال استفاده‌ان علامت می‌خورن.
3️⃣ پاک‌سازی (Sweep): حافظهٔ اشیای غیرقابل‌دسترس آزاد می‌شه.

یه نکتهٔ جالب دیگه اینه که کد نهایی Go شامل runtime خودش هم هست؛ یعنی وقتی یه برنامهٔ Go رو کامپایل می‌کنید، علاوه بر کد شما، اجزای زمان‌اجرای Go مثل همین GC، مدیریت پشته، زمان‌بندی goroutineها و فراخوانی‌های سیستمی هم داخل فایل باینری قرار می‌گیرن. این باعث می‌شه خیلی از قابلیت‌های مدیریت حافظه به‌صورت خودکار تو برنامه حاضر باشه.

پس GC همواره رشد هیپ رو زیر نظر داره و هر وقت لازم باشه، چرخهٔ جدیدی راه می‌ندازه تا حافظهٔ غیرقابل‌استفاده آزاد بشه. نتیجهٔ این طراحی اینه که تو Go می‌تونید با خیال راحت‌تر برنامه‌نویسی کنید و کمتر نگران آزاد کردن دستی حافظه باشید.

#go #memory #managment
☕️ Telegram | Website | Discord
🔥5❤‍🔥2😍1
مایکروسافت سورس کد Microsoft BASIC که برای پردازنده 6502 هست و سال 1978 توسط بیل گیتس و پل آلن نوشته شده رو توی گیت هاب گذاشته برید ببینیدش.

🔗 https://github.com/microsoft/BASIC-M6502

#microsoft #basic #sourcecode
☕️ Telegram | Website | Discord
❤‍🔥4🔥21