Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Geek Alerts
This media is not supported in your browser
VIEW IN TELEGRAM
اوپن‌ای‌آی حالت مطالعه (Study Mode) رو به چت‌جی‌پی‌تی آورده. هدف‌شون اینه که فقط پاسخ نهایی رو به کاربر ندن و فرایند آموزش با این هوش مصنوعی رو تعاملی‌تر کنن.

تو این حالت، مدل سوال‌های راهنما می‌پرسه و جواب‌های بعدی رو مطابق با هدف، سطح مهارت و حافظه از چت‌های قبلی کاربر تنظیم می‌کنه. مرحله‌به‌مرحله مباحث رو توضیح می‌ده، کوییز می‌گیره و اون رو برای تثبیت یادگیری ارزیابی می‌کنه. با پرسیدن سؤال‌ و تحریک به فکر کردن، به فرایند یادگیری کمک می‌کنه و فقط جواب نهایی رو به‌دست نمیاره.

این ویژگی برای کاربران نسخه‌های رایگان، پلاس، پرو و تیم در دسترسه. فعلاً با دستورالعمل‌های سیستمی کار می‌کنه و قراره با گرفتن بازخورد اولیه از کاربرها اون رو بهبود بدن. در آینده هم قراره تصویرسازی شفاف‌تر برای مفاهیم سنگین، و تنظیم هدف و پیگیری پیشرفت در چند مکالمه بهش اضافه بشه. [L]

🔗 chatgpt.com/study
🤓 abolfazl @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
درسته که دونستن ریاضیات و فیزیک شاید (در ظاهر البته) در تخصص IT و کامپیوتر و شبکه کاربردی نداشته باشه
ولی قطعا دونستنش در نحوه نگرش شما به مشکلات و منطق‌ شما تاثیر خواهد گذاشت.
شما با مطالعه ریاضی و فیزیک عملا مغزتون رو تربیت میدید که بتونه درک بهتری از اتفاقات اطرافتون و تحلیل درست‌تری داشته باشه

بی‌شک مغز یک آدمی که ریاضی بلده خیلی خیلی متفاوت از آدمی که بلد نیست کار میکنه

بنابراین توصیه من به شما اینه که حتما سعی کنید ریاضی و فیزیک رو یاد بگیرید

پ.ن
دونستن هرچیزی بهتر از ندونستنش هست
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
دیدید یه سریا یهو غیب میشن؟
یهو میبینی خداحافظی میکنن و برای مدتی نیستن!
هر از گاهی هستند شلوغ میکنند و بعد یهو نیستند
بزارید یه واقعیتی راجع به اینطور آدما بهتون بگم
اینا همیشه خسته هستند
اینا در یه لول دیگری از رد دادگی هستند
اینا یهو تصمیم به رفتن نگرفتن، بلکه مدتهاست دارن پشت صورت نرمالشون با چالش و جنگ، لحظه به لحظه به رفتن فکر میکنن و فقط منتظر زمانش هستند. خودشونم نمیدونن زمانش کی هست.
ممکنه با یه اتفاق ساده مثل دیدن یه منظره باشه
ممکنه یه فیلم
یا یه پیام

میرن و در گوشه‌ی دنجی که برای خودشون درست کردن قایم میشن، نه از ترس، بلکه از لبریز شدن ظرفیتشون
میرن خالی میشن و بعد برمیگردن
دوباره پر میشن و میرن
همین حلقه تکرار میشه تا دیگه ظرفی باقی نمونه
اینا برای بودنشون دلیلی ندارن، ولی برا رفتنشون ۱۰۰۰ دلیل
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
اینو یکی از دوستام بهم معرفی کرد که خودم نمیدونستم
خیلی خیلی جالبه
این آمار دانلود اسکنر کلادفلر (پایتون) هست
جالبه که بیشترین دانلود رو از آمریکا و چین داشته



https://clickpy.clickhouse.com/dashboard/cfscanner
Forwarded from Linuxor ?
یکی از مزیت های داکیومنت نوشتن، حتی در حد کامنت اینه که مابین پروژه های دیگه می‌تونید اون پروژه رو جلو ببرید؛ یکی از مشکلاتی که باعث می‌شه یه پروژه پاره وقت جلو نره اینه که حوصله نداریم هی از اول کد خودمون رو بخونیم ببینیم چی بوده؛ هرباری که استارت می‌زنید به کد زدن اگه اطلاعات بیشتری درباره محیط پروژه داشته باشید مغز علاقه بیشتری نشون میده به کار کردن.

@Linuxor
Forwarded from Linuxor ?
پایتون کاری که سادگی رو انتخاب کرده حقش نیست با CUDA درگیر بشه و روزش خراب بشه

@Linuxor
Forwarded from Linuxor ?
مجید که تخصصش هوش مصنوعیه و جز هوش مصنوعی کاری نمی‌کنه یه کامپیوتر جدید با گرافیک خیلی قوی می‌خره ولی اشتباها کابل HDMI رو وصل می‌کنه به مادربرد بجای گرافیک
Anonymous Quiz
17%
باید فورا کامپیوترو خاموش کنه و کابل HDMI رو وصل کنه به گرافیک
24%
مجید هیچ اشتباهی نکرده تازه اینطوری توان پردازشی بیشتری هم داره
59%
در زندگی مردم دخالت نکنیم
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
امروز گوگل قابلیت مرور ویدیویی (Video Overviews) رو توی NotebookLM اضافه کرده. قبلا فقط می‌تونستید از اسنادتون فقط فایل صوتی تولید کنید اما الان به صورت یه ویدیوی باحال براتون مرورش می‌کنه.

تازه قابلیت اضافه شده و ممکنه برای همه هنوز فعال نباشه :

notebooklm.google.com

@Linuxor
Forwarded from Python BackendHub (Mani)
خلاصه پروداکتا یک وقتا به یک جایی میرسن که هر تغییری بدی یکی یک شکایتی میکنه :))
وقتی باگ ها تبدیل به فیچر میشن
@PyBackendHub
تا حالا شده با خودتون فکر کنید که توی مریخ چقدر زلزله میاد؟ میدان مغناطیسیش چقدر تغییر می‌کنه؟ خب تو ذهن ژئوفیزیست مریضی مثل من همچین سؤال‌هایی هست و تصمیم گرفتم یه ابزار بصری‌سازی داده‌ لرزه‌نگاری برای InSight Lander هم به صورت دو بعدی و هم بصورت سه بعدی بنویسم :)
شاید زیاد تو زندگی روزمره‌تون کاربرد نداشته باشه ولی می‌تونه برای افراد کنجکاو جالب باشه :)

https://github.com/aradfarahani/PlanetaryGeophysics

@DevTwitter | <Arad/>
Forwarded from Frontend with Erfun👨🏻‍💻 (Erfun Ghodoosi)
واقعا وقتی خیلی توی یه موضوع عمیق میشید عملا برای کار کردن باهاش براتون گلوگاه ذهنی ایجاد میشه:)

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

برای همینه team lead ها یا senior ها کمتر کد میزنن. اینقدر همه چیز رو میدونن و با فهمیدن خیلی چیزا تازه متوجه این موضوع شدن که "چقدر هیچی نمیدونن" کلا حرکت کردن با فکر و روح آزاد براشون سخت میشه.

در نتیجه بنظرم تا یه حدی بیشتر توی ابزاری که دارید باهاش کار میکنید عمیق نشید.

بجای اینکه بفهمید دقیقا داره چه صفر و یک هایی بین سرور و کلاینت جا به جا میشه و دقیقااا داره چطوری مرورگر سرور کامپوننت هارو رندر میکنه (مثال فرانت اندی)، معماری یاد بگیرید، الگوی طراحی یاد بگیرید. کد بخونید و حل مسئله رو تمرین کنید تا توی عمل و پیاده سازی مغزتون تند و تیز تر باشه.

بجای اینکه مثل یه حکیم پیر بشید توی کارتون. یه جوون قوی و سریع باشید که مسائل رو واقعا حل میکنه.
Forwarded from Frontend with Erfun👨🏻‍💻 (Erfun Ghodoosi)
امروز یه ارائه فنی برای بچه های تیم فرانت اندمون دارم
قراره مسائل عمیقی از nextjs رو براشون بگم که محصول با کیفیت تری بسازیم.
(پروژه فوتبالی قبلا روی انگولار بوده و توسعه دهنده هاش تازه به ریکت مهاجرت کردند)

داشتم برای خودم یه سری مسائل رو مرور میکردم

و یه جایی یهو بیدار شدم حقیقتا...
که این عمق از درک اینکه دقیقا یه چیزی چطور داره کار میکنه واقعا مسئله ای رو از من حل میکنه یا نه؟...
آیا من قراره فریمورک nextjs رو بازنویسی کنم؟!
یا قراره صرفا ازش استفاده کنم؟

بله درک تا یه جایی خوبه.
ولی با دونستن همه چیز راجع به اینکه موتور ماشین چطور کار میکنه و دقیقا سیستم انتقال قدرت هر لحظه داره چه تجربه ای رو پشت سر میذاره شمارو یه راننده خوب نمیکنه. شاید یه مکانیک خوب بکنه که این مسئله‌ی شما توی خیابون و ترافیک نیست...
معرفی کتاب Multiplayer Game Programming

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

لینک یوتیوب
https://www.youtube.com/watch?v=FNGGJNukryY

@DevTwitter | <Rouzbeh/>
اگه Next.js کار میکنیم، باید بدونیم که امنیت فقط کار بک اند نیست!
هر فِرانت اِند دولوپری، باید یسری نکات امنیتی رو رعایت کنه!
+ چرا ؟
- یه ورودی ساده از URL میتونه دروازه ای باشه برای حمله از سمت هکر!
- یه dangerouslySetInnerHTML اشتباه میتونه کل سایتت رو به خطر بندازه!
- یه کوکی بدون HttpOnly یعنی دعوت رسمی از هکرها!
- یه فرم بدون CSRF protection میتونه فاجعه درست کنه!
- استفاده از یه پکیج npm مشکوک، هر لحضه ریسک خطر داره!
- یه متغیر env مهم در NEXT_PUBLIC، یعنی همه میتونن این دیتای مهم رو بخونن!
- یه آپلودر فایل بدون فیلتر، راهی برای آپلود فایل آلوده از سمت هکره!
تک تک نکات بالارو بصورت مفصل + تیکه کد تو مقاله زیر بررسی کردیم:
https://frontendi.com/security-in-nextjs/

@DevTwitter | <Ahmad Ahmad-Nejad/>
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 یه برنامه نویس به نام Donghao Zhang در برنامه OpenCut مشارکت کرده و یک درخواست با تغییرات بیش از ۱۲۸۰۰۰ خط کد ارسال کرد اما به دلایلی این درخواست خودش را بست.

ایشون این حجم تغییرات کد را با هوش مصنوعی کلود انجام داده است.

در کل این همه حجم تغییرات کد, تعجب سازنده این برنامه را برانگیخت.

پل ریکوئست گیت هاب :

https://github.com/OpenCut-app/OpenCut/pull/479

@TheRaymondDev
Forwarded from a pessimistic researcher (Kc)
وقتشه که یک آپدیت روی این پست بنویسم. پستی که روش ریپلای زدم در حقیقت نقدی بود بر نوع نگاه سیستم آموزشی ایران نسبت به Game Theory. در کنار نقد، سعی کردم گیم تئوری رو با دید فرمال معرفی کنم و جایگاهش رو توی ترک B علوم کامپیوتر بازگو کنم. توی این پست یکی از منابعی که معرفی کردم کتاب Games on Graphs بود که بسیار کتاب خوبی در راستای معرفی تکنیک‌های algorithmic برای آنالیز کردن این دست از بازی‌هاست. دیروز ورژن جدیدی از این کتاب منتشر شد و بهونه‌ای دستم داد تا دوباره یادی از این پست کنیم و کمی در مورد تغییرات این کتاب بنویسم.

اولین تغییر، عنوان کتاب هست که به تایتل اصلی، یک ساب‌تایتل اضافه شده و عنوان کتاب رو به :
Games on Graphs - From Logic and Automata to Algorithms
تغییر داده و من بسیار این تغییر رو دوست دارم. چرا که همگام با نقد ما بر نگاه عمومی نسبت به گیم تئوری، سعی در بهتر معرفی کردن دیدگاه کتاب نسبت به game داره. تغییر دوم بازنویسی بسیار از فصول هست. مثلا فصل regular games کمی جمع و جور تر شده و parity games مشروح تر. علاوه‌بر این فصول بیشتری به کتاب اضافه شدن. مثلا توی ورژن قبلی turned-based games و concurrent games پوشش داده شده بود ولی جای خالی Bidding games حس میشد. توی وزژن جدید آقای Thomas Henzinger و دانشجوی سابق‌شون آقای Guy Avni این مبحث رو پوشش دادن. مورد دیگه‌ای که جاش خالی بود بحث Strategy Complexity در گیم بود که توی ورژن جدید در فصل Positionality and Memory این مباحث پوشش داده شدن. بحث دیگه‌ای که جاش خالی بود Synchronous Distributed Games هست. این بحث هم توی ورژن جدید پوشش داده شده که کاربردهای خیلی مهمی توی Contract-based Verification و سنتز program و controller داره.

خلاصه که این کتاب واقعا تو دنیای فرمال، یک Hidden Gem به تمام معناست.

فایل ورژن دوم این کتاب رو میتونید از اینجا دانلود کنید.
Forwarded from Python Hints
#تجربه

بیش از ۹۸٪ پروژه‌های اپلیکیشن‌هایی که کار کردم دیتابیس رو اشتباه انتخاب کرده بودند!

اصلا طبیعیت دیتاها و کار با دیتابیس و ... اشون SQL نیست
اما ۱۰۰٪ تأکید دارند که از SQL استفاده بشه و اکثراً بعد از مدتی کوئری‌های پیچیده کل سیستمشون رو می‌گیره !


مشکل کجاس ؟
- عدم شناخت کافی از دیتابیس‌های دیگه:
Mongo, Janus, Casandra, Scylla, ....
این بیشترین موردی هست که دیدم.

- عدم توانایی طراحی درست سیستم؛ معماری سیستم خیلی مهم هست.

- عدم بررسی و آنالیز نیازمندی‌های سیستم؛ اینکه درگیر دنبال بهترین‌ها بودن نشید چیز خوبیه ولی اینکه سر چیزای ابتدایی هم تحقیق نمی‌کنید و می‌ندازید گردن اینکه من نمی‌خوام کمالگرا باشم یک موضوع متفاوت هست.

- ترس، ترس از تست کردن چیزای جدید.
طرف می‌گه من ۱۰ ساله دارم SQL کار می‌کنم (خب به درک!!)، نهایت همرو خودم Query می‌نویسم! به فکر نفرات بعدی روی پروژه هم باش
احمقانه تصمیم نگیر


راجب mongodb بخونید، خیلی از شما چیزی که بهش نیاز دارید mongodb هست
Transaction
رو هم داره؛ تا ۱۰۰ لول ارتباط تو در تو هم نگه میداره (که عمرا و عملاً بهش نمی‌رسید)
به راحتی می‌تونید replication و read-only داشته باشید

دیزاین collection (مثل table بهش فکر کنید) می‌تونی ثانیه‌ای عوض بشه اگر بخواید.
فرض کنید توی sql بتونید، هروقت خواستید بدون دردسر و migration, ... ستون اضافه کنید.

به کمک پکیج motor خیلی راحت؛ async رو هم در اختیار خواهید داشت

Janus
هم گزینه خوبی هست برای اون‌هایی که به دیتابیس Graph نیاز دارند.
۶ سال قبل بعنوان جایگزین رایگان Neo4j ازش استفاده کردم روی حجم داده بسیار بسیار بالا و خیلی رضایت بخش بود.


خلاصه که زرتی نرید با SQL شروع کنید.
چند روزی بود که درگیر توسعه یه پروژه با Claude Opus 4 بودم.
مثل خیلی از ماها که فعلاً به API این مدل دسترسی نداریم، مجبور بودم کل پروژه رو به‌صورت دستی تو چت بهش بدم.

ولی خب...
هر بار که می‌خواستم کدی رو export کنم، باید تکه‌تکه کدها رو کپی‌پیست می‌کردم.
و وقتی Claude جواب می‌داد، باز باید فایل‌هامو به‌صورت دستی import می‌کردم تو پروژه اصلی.

خیلی زود فهمیدم که این فرآیند هم وقت‌گیره، هم اشتباه‌پذیر.

واسه همین نشستم و یه ابزار خط فرمان ساختم به اسم:
Interactive Project Export/Import Tool

کاری که این ابزار می‌کنه، دقیقاً همونه که ما توسعه‌دهنده‌ها لازم داریم:

پروژه رو از مسیر دلخواهت انتخاب می‌کنی

با ساختاری مشخص، کلش رو export می‌کنی تو یه فایل تمیز

این فایل رو می‌دی به Claude

وقتی تغییرات رو گرفتیم، فقط کافیه با ابزار، اون فایل رو import کنیم
و همه چیز درست می‌ره سر جای خودش

حتی یه قابلیت جالب هم داره:
اگه یه دایگرام Tree از ساختار پروژه داشته باشی، می‌تونه از اون ساختار یه پروژه واقعی بسازه!

بدون هیچ dependency اضافی، فقط با Node.js
از React گرفته تا Vue، Express، Nest، Next و خیلی فریم‌ورک‌های دیگه رو پشتیبانی می‌کنه.

https://github.com/AliSaadat-ir/interactive-project-tool/

@DevTwitter | <علی سعادت/>
Forwarded from Golden Code (@lix)
متود insertOrIgnore() در لاراول برای وارد کردن چند رکورد بصورت دسته‌ ای هستش. اگه رکوردی باعث تکرار unique key یا نقض محدودیتهای دیتابیس بشه، بجای ایجاد خطا، اون رکورد هارو نادیده میگیره و بقیه رکورد هارو‌ وارد میکنه.


این متود زمانی خیلی کاربردیه که بخوای داده‌های حجیم رو وارد کنی و احتمال بدی بعضی رکوردها قبلاً توی دیتابیس داشتن. درین حالت، برنامه بدون خطا ادامه پیدا میکنه و کل عملیات bulk insert متوقف نمیشه.

📌 مثال:
$data = [
['email' => '[email protected]', 'name' => 'User One'],
['email' => '[email protected]', 'name' => 'User Two'],
['email' => '[email protected]', 'name' => 'User One Duplicate'], // ایمیل تکراری
];

// جدول users ایمیل رو به عنوان UNIQUE تعریف کردیم

DB::table('users')->insertOrIgnore($data);

درین مثال، رکورد سوم دارای ایمیلی هستش که قبلاً در جدول وجود داره (پس تکراریه).

با insertOrIgnore() رکوردهای تکراری رو نادیده میگیره و فقط رکوردهای جدید ([email protected]) رو وارد میکنه.

@GoldenCodeir

#Laravel
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/PovilasKorop/status/1950492837373469057?s=1
👍1