DevTwitter | توییت برنامه نویسی – Telegram
DevTwitter | توییت برنامه نویسی
23.6K subscribers
4.36K photos
358 videos
6 files
4.1K links
توییت های برنامه نویسی و طراحی وب :)

@dvtwi

Hashtags:
devtwitter.t.me/5

DevBooks Channel:
https://news.1rj.ru/str/+AYbOl75CLNYxY2U0

Github:
https://github.com/DevTwitter

X:
https://x.com/devtwittir
Download Telegram
در لاراول بین fillable$ و guarded$ چه تفاوتی وجود دارد؟
در لاراول، ویژگی‌های fillable و guarded برای تعیین و کنترل ویژگی‌هایی از مدل که می‌توانند به‌طور جمعی در پایگاه داده ذخیره شوند، استفاده می‌شوند.



1. ویژگی fillable: این ویژگی به شما اجازه می‌دهد مشخص کنید که کدام ویژگی‌های مدل می‌توانند به صورت دسته‌ای (bulk) پر شوند. به عبارت دیگر، تنها ویژگی‌های لیست شده در $fillable می‌توانند از طریق انتساب دسته‌ای مقداردهی شوند. این روش به شما این امکان را می‌دهد تا فقط ویژگی‌های خاصی از مدل را که برای پر کردن آن‌ها مجاز هستید، مشخص کنید.

مثال :
rotected $fillable = ['name', 'email', 'password'];



در این مثال، تنها فیلدهای name، email و password می‌توانند از طریق انتساب دسته‌ای مقداردهی شوند.

2. ویژگی guarded: این ویژگی برعکس $fillable عمل می‌کند و مشخص می‌کند که کدام ویژگی‌های مدل نمی‌توانند به صورت دسته‌ای پر شوند. به عبارت دیگر، ویژگی‌های لیست شده در $guarded در برابر انتساب دسته‌ای محافظت می‌شوند و باقی ویژگی‌ها قابل انتساب هستند.

protected $guarded = ['id'];



در این مثال، تنها ویژگی id از انتساب دسته‌ای محافظت می‌شود و بقیه ویژگی‌ها قابل پر شدن به صورت دسته‌ای هستند.

اگر شما از
protected $guarded = [];

استفاده کنید، به این معناست که هیچ فیلدی در مدل شما از انتساب دسته‌ای (mass assignment) محافظت نمی‌شود. به عبارت دیگر، تمامی ویژگی‌های مدل می‌توانند از طریق انتساب دسته‌ای پر شوند.

این روش مشابه این است که از fillable استفاده کنید و هیچ فیلدی را مشخص نکنید، اما با یک تفاوت اساسی: در این حالت هیچ فیلدی به‌طور پیش‌فرض محافظت نمی‌شود و ممکن است آسیب‌پذیری‌هایی در برابر داده‌های مخرب یا نامعتبر ایجاد شود، به خصوص اگر به‌طور اشتباه داده‌های ورودی به مدل ارسال شوند..

برای امنیت بیشتر از
protected $guarded = [];
خودداری کنید.


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

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

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

@DevTwitter | <Mohammad Abdorrahmani/>
👍216🤣2
آشنایی با کلاسترینگ در دیتابیس mariadb

حتماً می‌دونید که کلاسترینگ یکی از روش‌های مهم برای افزایش دسترس‌پذیری و کارایی دیتابیس‌هاست. اما بیاید ببینیم کلاسترینگ چیه و چه تفاوت هایی با replication و sharding داره.

کلاسترینگ چیست؟

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

تفاوت کلاسترینگ با Replication

قابلیت Replication به معنی کپی‌کردن داده‌ها از یک سرور (master) به سرورهای دیگه (slaves) هست. در این حالت، فقط سرور master قابلیت نوشتن داده‌ها رو داره و سرورهای slave فقط خواندن داده‌ها رو انجام میدن. اگه master خراب بشه، باید به‌صورت دستی یکی از slaves ها رو به master تبدیل کنیم.

تفاوت کلاسترینگ با Sharding

قابلیت Sharding به معنی تقسیم داده‌ها بین چند سرور به‌طوری که هر سرور قسمتی از داده‌ها رو نگهداری می‌کنه. هر shard به‌طور مستقل کار می‌کنه و عملیات نوشتن و خواندن رو انجام میده. این روش برای مقیاس‌پذیری بهتره، ولی مدیریت پیچیده‌تری داره.

ابزارهای کلاسترینگ در MariaDB

دیتابیس MariaDB به‌صورت داخلی از کلاسترینگ پشتیبانی نمی‌کنه، ولی می‌تونید از ابزارهایی مثل Galera Cluster استفاده کنید. Galera Cluster یکی از محبوب‌ترین ابزارهای کلاسترینگ برای MariaDB هست که قابلیت‌های فوق‌العاده‌ای مثل replication همزمان، failover خودکار، و load balancing رو فراهم می‌کنه.

الگوریتم اجرای کلاسترینگ

در کلاسترینگ با Galera، همه نودها به‌طور همزمان قابلیت خواندن و نوشتن داده‌ها رو دارن. هر تغییر در داده‌ها به‌صورت همزمان به همه نودها منتقل میشه. اگه یکی از نودها خراب بشه، نودهای دیگه بدون توقف کارشون رو ادامه میدن و بعد از بازگشت نود خراب، داده‌ها به‌طور خودکار همگام‌سازی میشن.

مزایا استفاده از کلاسترینگ تو mariadb چیه؟

در صورت خرابی یکی از نودها، نودهای دیگه بدون وقفه به کارشون ادامه میدن این باعث میشه دسترسی پذیری افزایش پیدا کنه.

با اضافه‌کردن نودهای جدید می‌تونید به راحتی بار کاری رو بین نودها تقسیم کنید، این باعث میشه دیتابیس scale پذیر باشه.

درخواست‌های کاربر به‌طور خودکار بین نودهای مختلف تقسیم میشه و یه‌جور لود بالانسینگ تو دیتابیس درست میشه.

کی از کلاسترینگ استفاده کنیم؟

بطور خلاصه اگه نیاز به دسترس‌پذیری بالا و مقیاس‌پذیری دارین و می‌تونید چالش های فنی پیچیده‌تر رو انجام بدین، کلاسترینگ بهترین گزینه هست. برای کارهایی که نیاز به تقسیم داده‌ها دارین، شاردینگ مناسب‌تره و برای کارهایی که فقط نیاز به کپی‌کردن داده‌ها دارین، replication رو انتخاب کنید.

@DevTwitter | <shahriyar bayat/>
👍27🔥3
#لاس

الماسو نیستم، تو ruby منی

@DevTwitter
👎76🤣20🔥18👍2
This media is not supported in your browser
VIEW IN TELEGRAM
اگه واقعا میخواهید یادبگیرید که مدل GPT چطور کار میکنه،این بلاگ آموزش میده چطور تو ۶۰ خط و فقط با numpy، بدون استفاده از pytorch پیاده سازی میشه. خودتون انجام میدید و بعدهم تستش میکنید. این خودش یک جلسه درس ماشین لرنینگ هست. بهتر از این هم میشه؟!

https://jaykmody.com/blog/gpt-from-scratch/

@DevTwitter | <Mehdi Allahyari/>
👍23🔥6
#بدرد

اگه مثل من رشته غیر مرتبط با کامپیوتر ساینس خوندین ولی تو زمینه کامپیوتر ساینس کار میکنین و حس میکنین همیشه یه جای کار ازین که درسش رو نخوندین داره میلنگه، این ریپازیتوری واقعا براتون کاربردیه، یه لیست از منابع و موضوعاتی که باید بدونین

https://github.com/jwasham/coding-interview-university

@DevTwitter | <DaDelphia/>
🔥36👍10🤣8
یکی از استفاده‌های جالب از شبکه‌های عصبی، در فشرده‌سازی صدا و موسیقی‌ه. پژوهش‌ها در این زمینه به جاهای جالبی رسیده و به نظر می‌رسه که در آینده می‌تونیم موسیقی رو با کیفیت بالاتر و با حجم کمتر گوش کنیم.
این مقاله فیس‌بوک ریسرچ کار جالبی بود:

https://github.com/facebookresearch/encodec

@DevTwitter | <Hamidreza Keshavarz/>
👍362
یه بچه اسکریپت باحال برای اونهایی که از ویندوز استفاده میکنن و از شلختگی پوشه‌هاشون خسته شدن اینو بهشون پیشنهاد میدم تستش بزن و حالش رو ببرن ( بر اساس اکستنشن جدا میکنه)

https://github.com/soltanali0/File_Organizer

@DevTwitter | <Ali Soltani/>
👎35👍14🤣2
این ریپوزیتوری شامل مطالب جامع و کاربردی برای کاربران تازه‌کار و میان‌رده لینوکسه و به طور خاص روی CLI و کرنل تمرکز داره.
اگر پیشنهادی برای توسعه و بهبود این ریپو دارید، خوشحال میشم بشنوم.
(همچنان دارم روش کار میکنم)
(این کار هم کلا برای فانه)

https://github.com/SamanKhalife/linux-Tutorial

@DevTwitter | <Saman/>
👍215
This media is not supported in your browser
VIEW IN TELEGRAM
کار با JSON به صورت بصری؛

وقتی داریم با ساختارهای درختی کار میکنیم مشاهده مسیری که طی کردیم و شاخههای روبرو میتواند به ما کمک کند تا درک بهتری از دادهها داشته باشیم، حتی اگر نوع داده به صورت درختی هم نباشد باز دیدن آن به صورت نمودار خالی از لطف نیست، برای همین میتوانیم مستقیم به jsoncrack.com برویم و داده خودمان را در editor آن به صورت دیاگرام تماشا کنیم و یا اینکه از extension آن در vscode به آدرس زیر استفاده کنیم.

آدرس extension برای دانلود:
https://marketplace.visualstudio.com/items?itemName=AykutSarac.jsoncrack-vscode

@DevTwitter | <Mohammad reza M./>
🔥21👍8👎2
This media is not supported in your browser
VIEW IN TELEGRAM
هوش مصنوعی جذاب استارتاپ Exists: خلق بازی‌های سه‌بعدی از روی دستورات متنی

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

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

*دیگه داره مسخره میشه

@DevTwitter | <Digiato/>
👍27🔥12👎2
این سایت رو باز کنید (ترجیحا روی دسکتاپ) تا متوجه بشید که که یک gui سریع در فرانت به چه معنی‌ هست!

با عناصری که در صفحه میبیند بازی کنید. تست شون کنید. همه Rust هست! این چیزی هست که باید در وب ببینید، نه ری‌اکت و dom و سایر چیزها...

egui.rs
این برنامه با wasm و webgl کار میکنه و به شکل immediate mode داره صفحه رو رندر میکنه. اگر از webgpu استفاده میکرد ممکن بود حتی از این هم سریعتر باشه.
مشابه این برنامه در هر زبان سیستمی دیگری (C , C++, Zig, ...) قابل انجام هست، هرچند که Rust ساپورت خیلی خوبی در چنین چیزهایی داره.

@DevTwitter | <Amirreza Gh/>
👍64🔥13👎72
#بگایی_عظیم

۱۰ روز پیش امیر به ۳ تا از بات‌های ناشناس نفوذ کرد و صحنه‌هایی دیدیم که شکه شدیم، از ۱۴ میلیون یوزر، ۴۵۰ میلیون چت، ۱۱ میلیون عکس و ۳ میلیون ویدیو ذخیره شده بود! یه فیچر داشت که یه یوزر رو flag می‌کرد، هر موقع پیغامی به شخص ارسال میشد طرف می‌فهمید
youtu.be/1sZprSWgEsw

یه فیچر دیگه هم داشت، یه API که بش یوزر تلگرام میدادی، کل چت‌ها طرف رو پَک می‌کرد تحویل می‌داد. چرا باید بات ناشناس این فیچرها رو داشته باشه؟ چرا باید این همه داده ذخیره بشه؟ می‌دونین چند ٪ افراد استفاده کننده زیر ۱۸ سال هستن؟ اگه یکی جز ما اینو میزد و کلش رو می‌ذاشت رو نت چی میشد؟ ممکن بود خیلی‌ها حتی خودکشی کنن یا خیلی خانواده‌ها بچشون رو رنده کنن. قسمت تلخ ماجرا این بود که ما با OSINT به شخص مورد نظر رسیدیم، یک Developer توی یکی از شرکت‌های Top 5 ایرانه. خواهشا دیگه ادامه نده، ما هم کل دیتابیس رو اداختیم و امیدوارم Backup وجود نداشته باشه...

@DevTwitter | <یاشو/>
👍1276🤣6👎4
من برای اینکه خودمو راحت کنم روی وینندوز اومدم اپ نوشتم برای تغییر دی ان اس :) با پایتون
کار اولمه و کلی ایراد داره
ولی بزارش توی کانال با همین کپشن بالا، پیشنهاد و کانتریبیوت و اینا خوشحالم میکنه:
https://github.com/MrAlishr/Windows-Dns-Changer

@DevTwitter | <(Mr)Alishr/>
👍51🤣126👎6
دوستایی که تازه فرانت رو شروع کردن : در جریان باشید که وقتی یه شرکتی شما رو به عنوان جونیور استخدام میکنه چه انتظاراتی ازتون داره :
۱- تو یه شرکت درست و حسابی شما رو استخدام میکنن تا سینیور فرانت یه feature که implement کرده رو شما گسترشش بدید مثلا یه کامپوننت نوشته این آقا یا خانم سینیور بعد از شما خواسته میشه این کامپوننت رو توی بقیه قسمت های محصول هم استفاده کنید
۲- سعی کنید حتی اگر اوایل کارتون مجبور بودید برای اتمام تسکتون بیشتر هم بمونید تا اون روتموم کنید حتما این کار رو انجام بدین ، بعد از اتمام کار هم حتما پیگیر تسک بعدی باشین . انتظار نداشته باشین چون رو تسک قبلی زیاد وقت گذاشتین دیگه تا آخر ماه بهتون نباید تسک جدید بدن و یه وقت با این انتظار عصبی بشید و یا غیره .. کار فرانت همیشه و همیشه سنگین تر پر مسئولیت تر از دیگه بخش هاست و بهتون قول میدم همیشه در حال توسعه یه بخشی خواهید بود در نهایت . حالا مقطعی حجم کارهاتون کم یا زیاد میشه
۳- وقتی یه فریم ورک رو خوب یاد گرفتی و احساس کردی حرفه ای شدی ، حتما تکنولوژی های دیگه رو مطالعه کن اصلا به اونی که یاد گرفتی اکتفا نکنی به هیچ وجه
۴- وقتی ام دیگه کارکشته شدی و متوجه شدی می تونی درآمد بیشتری داشته باشی با hr صحبت کن و تقاضا حقوق بیشتر کن (در اکثر موارد رد میکنن چون دوست دارن همیشه شما رو در حد جونیور تو شرکت حفظ کنن که پول کمتر خرجتون بشه) اگر موافقت نکرد دنبال شغل دیگه جای دیگه باش
۵- جای سمی رو به هیچ عنوان تحمل نکن و فورا برو جای دیگه چون ممکنه باعث دلسردیت بشه فورا , همه وضیفشونه به شما احترام بزارن . و امیدوارم موفق باشی حتما یه برنامه نویس خوب میشی

@DevTwitter | <Ali Bidjandi/>
102👍41🤣28👎8
با MathGPTPro میتونید معادلات و مسائل پیچیده ریاضی رو حل کنید.

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

https://www.mathgptpro.com/app/ask

@DevTwitter | <Ali Nazarizadeh/>
🔥16👍11👎3
رشته مهندسی کامپیوتر دانشگاه Open source
زمان ۱۶۸ هفته آموزش در بهترین دانشگاه ها یعنی ۳ سال
فهرستی از دوره‌های رایگان از دانشگاه‌های مثل MIT، استنفورد، و پرینستون که واحد های درسی را با مدرک کارشناسی علوم کامپیوتر، منهای آموزش عمومی، آماده کرده

https://github.com/ForrestKnight/open-source-cs

@DevTwitter | <MehrdadLinux/>
34👍9👎3🤣2
این لایبرری/پروژه وب اسکرپینگ و اتوماسیون مرورگر با پایتون رو هم یک گوشه داشته

https://github.com/apify/crawlee-python
https://youtu.be/Ejhudr7e-h4?si=EL-7zX2tdrqjld6W

@DevTwitter | <Amir/>
👍19🤣3
#لاس

ببخشید شما فایروالی؟ چون خیلی هاتی و هیچ‌جوره نمیتونم ازت بگذرم

@DevTwitter
🤣101👎20🔥12👍5
#کوته_نیوز

دیوار به شکل آزمایشی شنبه رو هم تعطیل کرد تا کارمنداش آخر هر هفته شمالو بغل کنن

@DevTwitter
🔥111🤣30👍9👎2
با این پکیج میتونید IP های مشکوک و اسپم رو توی لاراول بلاک کنید
https://laravel-news.com/laravel-abuse-ip

@DevTwitter
🔥23👍4👎2🤣1
اگر دوست دارین دانش خودتون در زمینه LLMs رو به سطح بالاتری ببرین، توصیه می‌کنم ورکشاپ سه ساعته زیر رو ببینید.
https://youtu.be/pRM_P6UfdIc?si=FRHhgtsG17d3Mhm4

@DevTwitter | <Reza Jafari/>
10👍2👎2🔥1