کداکسپلور | CodeExplore
Відкрити в Telegram
با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉 👨🏻💻 ارتباط با ما : @CodeExploreSup گروه : @CodeExplore_Gap تبلیغات در کد اکسپلور : @CodeExploreAds
Показати більше9 124
Підписники
+124 години
+177 днів
+24130 днів
Архів дописів
📢 دعوت به همکاری برنامهنویس
استارتاپ آموزشی Unifast برای توسعه پلتفرم خود به یک برنامه نویس یا یک تیم برنامهنویسی توانمند نیاز دارد که بتواند یک سامانه دقیقا مشابه medofast.ir را با تمام فیچر ها بهصورت صفر تا صد طراحی و پیادهسازی کند.
مهارتهای مورد نیاز 💡
طراحی و توسعه Front-end و Back-end
پیادهسازی پنل مدیریت و سیستم آزمون
طراحی دیتابیس و API
آشنایی با پردازش اسناد حجیم با فاکتور های زیاد
مهمترین شرط همکاری 📚
توانایی طراحی و پیادهسازی سیستم Parsing خودکار فایلهای PDF سوالات.
سیستم باید بتواند پس از دریافت PDF:
متن سوالات را استخراج کند.
درس، پایه، فصل و مبحث هر سوال را تشخیص دهد.
سوالات را بهصورت خودکار در دستهبندی صحیح قرار دهد.
نیاز به ورود دستی اطلاعات را به حداقل برساند.
برای مثال اگر سیستم تشخیص دهد سوالی از فصل اول زیست دهم طراحی شده است، بهصورت خودکار در بانک سوالات همان بخش ذخیره شود.
و پاسخ نامه سوال را هم به سوال مربوطه لینک کند. 🧷
درباره پروژه 🔖
در حال حاضر بیش از 168,000 تست در اختیار داریم و ورود دستی یا استفاده از تایپیست برای دستهبندی این حجم از سوالات از نظر زمانی و اقتصادی منطقی نیست. به همین دلیل به دنبال راهکاری هوشمند و مقیاسپذیر هستیم.
📩 افراد واجد شرایط رزومه، نمونهکار و سوابق مرتبط خود را به این آیدی ارسال کنند.
@unifastceo
⏰ گاهی نیاز داریم دو بازه زمانی رو با هم مقایسه کنیم یا اختلافشون رو محاسبه کنیم. جاوااسکریپت 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دوستان شرمنده
من اطلاع نداشتم این پست از یه جای دیگه بوده چون من این پست رو کار نکرده بودم.
البته دلیل اینکه من فرستادمش چون توی تایمر بود ولی توسط بچه های کداکسپلور نوشته شده بود.
اما برحال خطای ما بوده و از شما به این خاطر عذر خواهی میکنم.
حالا بعضی از دوستانی که امنیت کار میکنند یا توی حوزه باگ بانتی و پنتست کار میکنند شاید نگران این باشند که هوش مصنوعی شاید جای شغیلشون رو بگیره ولی باید بگم همچین فکری نکنید به چند دلیل
اول اینکه همچین سیسم و مدلی خیلی هزینه های بزرگی داره برای بانک ها و سیستم های بزرگ
دوم اینکه هوش مصنوعی هنوز قابل اعتماد نیست در حدی که کامل امنیت یک بانک رو بهش سپرد و برای کنترل و احتمال خطا نبودن باز هم نیاز به متخصصین امنیت و غیره نیاز میشه
سوم اینکه این مدل ها توی کشورای جهان دوم و سوم خیلی طول میکشه که در دسترس قرار بگیره
نکته آخرشم ایه که شما قبلا به خود بانک نفوذ میکردی الان میری به هوش مصنوعی نفوذ میکنی(هیچوقت این کارو نکنید که خلافه)😁
#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 کنید لینک ریپازیتوری یا خود پروژه رو بزارید👇🏻
🥇رنکینگ زبان های برنامه نویسی توی 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
@CodeExploreRepost from N/a
🚀 فقط کدنویسی کافی نیست!
اگر میخواهید یاد بگیرید چطور سرویسها را واقعی، پایدار و حرفهای 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ابزار Laravel debugbar یکی از پروژه های معروف اکوسیستم لاراوله که یه نوار پایین صفحه لاراول با اطلاعات اضافی از اون چیزی که توی پروژه شما در حال اتفاق افتادن هست بهتون نمایش میده.
این ابزار توی محیط لوکال برای دیباگ استفاده میشه و با نمایش اطلاعاتی در مورد ارور ها، Routing ها، کوئری هایی که زده شده و مدل های لود شده و ارائه جزئیات ریکوئست ها کار رو برای دیباگ کردن راحت تر میکنه.
دستور نصب:
composer require fruitcake/laravel-debugbar --dev
داکیومنت پروژه:
🔗 https://laraveldebugbar.com
#laravel #debugbar
☕️Telegram | Website | Discordتوی Heroicons مجموعه ای از آیکن های مختلف هست که میتونید توی سایز های متفاوت و با ساختار SVG یا JSX کپی و توی پروژه هاتون استفاده کنید. برای React و Vue هم کتابخونه داره که از گیت هاب میتونید نصبش کنید.
آیکنها با کلاسهای Tailwind سازگار هستن و فایل Figma آیکن ها هم برای طراحی UI وجود داره.
🔗 https://heroicons.com
این مجموعه توسط تیم Tailwind توسعه داده شده.
#icons #collection
☕️Telegram | Website | Discord
🤖اگر قصد شروع یادگیری هوش مصنوعی رو داشته باشید سایت Elements of AI یه دوره رایگان آنلاین ارائه کرده که توسط دانشگاه هلسینکی طراحی شده و بیش از 2 میلیون شرکت کننده داره.
این دوره شروع کاره برای افرادی که هیچ پیش زمینه ای ندارن هم مناسبه✅
توی بخش اول دوره موضوعاتی مثل هوش مصنوعی چیه و چه کارهایی با اون ممکنه و چه کار هایی نه؟ و همچنین اینکه هوش مصنوعی چطور روی زندگی و شغل ما تاثیر میذاره وجود داره.
توی بخش بعدی هم وارد بحثای الگوریتمی میشه و سعیش نشون دادن پشت صحنه مدل های AI هست.
یه بخش هم برای کمپانی ها داره و دوتا سرفصل جدا داخلش ارائه شده.
🔗 https://www.elementsofai.com
#ai #course
☕️Telegram | Website | Discord
این روزا اوضاع اینترنت جوریه که حتی خیلی از سرویسهایی که اصلا تحریم یا محدود نیستن، به خاطر اختلالات شبکه درست کار نمیکنن. بخاطر همین تیم نوبرکلاد DNS اختصاصیش که تا الان فقط توی زیرساخت خودشون استفاده میشد رو عمومی کرده تا دسترسی پایدار تری رو برای شما فراهم کنه.
اگه استفاده کردی و روی سرویسی کار نکرد یا به مشکل خوردی، از طریق سایت نوبرکلاد تیکت بزن تا پیگیری کنن.
این حرکت تلاشی کوچیک برای کمتر شدن فشار روی تیم های فنی و کمک به ادامه کار توی شرایط سخت الان هست.
DNS1: 78.110.120.220
DNS2: 78.110.120.200
کانال تلگرامشون: https://t.me/nobarcloud
