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
💎 معرفی GraphQL و استفاده ازش 💎

اگه تا حالا اسم GraphQL به گوشتون خورده ولی نمی‌دونستید دقیقاً چیه و چه کاربردی داره، امروز قراره باهم برسیش کنیم و بفهمیم چرا این روزها انقدر محبوب شده🌟

حالا GraphQL چیه؟ 🤔

خب GraphQL یه زبان کوئری برای API هاست که توسط فیسبوک توی سال ۲۰۱۵ معرفی شد. این تکنولوژی به شما اجازه می‌ده که دقیقاً همون داده‌هایی که نیاز دارین رو از سرور درخواست کنین. مهم‌ترین ویژگی GraphQL اینه که به جای دریافت یه ساختار ثابت از اطلاعات، می‌تونین مشخص کنین چه داده‌هایی رو دقیقاً می‌خواین و چه داده‌هایی رو نمی‌خواین.

به زبان ساده، GraphQL به شما کنترل بیشتری روی داده‌هایی که از API می‌گیرین می‌ده. 🌍

چرا از GraphQL استفاده کنیم؟ 🤷‍♂️

1⃣ دریافت داده‌های دقیق 🎯
یکی از بزرگ‌ترین مشکلاتی که معماری‌های سنتی API دارن اینه که گاهی داده‌هایی که لازم نداریم رو هم به ما برمی‌گردونن. GraphQL این مشکل رو حل کرده. شما توی GraphQL می‌تونین کاملاً مشخص کنین که چه فیلدهایی از داده‌ها رو نیاز دارین و فقط همون‌ها رو از سرور بگیرین.
مثال: فرض کنین می‌خواین فقط اسم و ایمیل کاربر رو از API بگیرین. کوئری GraphQL می‌تونه این‌طوری باشه:

{
user(id: 1) {
name
email
}
}

و پاسخ هم دقیقاً همون چیزی خواهد بود که درخواست کردین:

{
"data": {
"user": {
"name": "Ali",
"email": "[email protected]"
}
}
}

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

2⃣ بهینه‌سازی درخواست‌ها 🚀

یکی از مشکلات رایج توی APIهای سنتی، تعداد زیاد درخواست‌ها (requests) برای گرفتن اطلاعات مختلفه. GraphQL به شما این امکان رو می‌ده که با یک درخواست همه داده‌های مورد نیازتون رو بگیرین. شما می‌تونین توی یه کوئری، اطلاعات از چندین منبع مختلف رو دریافت کنین و نیازی به ارسال چندین درخواست نیست.
مثال: فرض کنین می‌خواین اطلاعات کاربر، لیست سفارش‌ها و محصولاتی که خریده رو بگیرین. کوئری GraphQL به‌راحتی این اطلاعات رو توی یک درخواست برمی‌گردونه:

{
user(id: 1) {
name
orders {
id
product {
name
price
}
}
}
}

این بهینه‌سازی توی عملکرد و سرعت، تاثیر زیادی روی تجربه کاربری داره. 💡

3⃣ پشتیبانی از تکامل تدریجی 💻
یکی از ویژگی‌های مهم GraphQL اینه که به‌راحتی می‌تونین API خودتون رو بدون اینکه تغییرات بزرگی به وجود بیارین، توسعه بدین. این یعنی می‌تونین فیلدهای جدیدی به داده‌هاتون اضافه کنین بدون اینکه نیاز به تغییر توی کل API داشته باشین. این قابلیت، انعطاف‌پذیری زیادی توی توسعه و نگهداری API داره.
4⃣ مستندات خودکار 📚
یکی دیگه از ویژگی‌های عالی GraphQL، مستندسازی خودکارشه. از اونجایی که GraphQL یک سیستم تایپینگ قوی داره، می‌تونه به‌صورت خودکار مستندات API رو بسازه و شما همیشه مستندات به‌روز و کاملی دارین. این خیلی به درد تیم‌های توسعه‌ای می‌خوره که از پروژه‌های مختلف استفاده می‌کنن و همیشه باید به مستندات دقیق دسترسی داشته باشن.
کاربردهای واقعی GraphQL 📈

1⃣ فیسبوک: همونطور که گفته شد، GraphQL توسط فیسبوک ایجاد شد و فیسبوک همچنان از اون توی بسیاری از محصولات خودش استفاده می‌کنه، مثل اپلیکیشن فیسبوک و اینستاگرام.

2⃣ گیت هاب: GraphQL به عنوان یک API اصلی توی GitHub استفاده می‌شه و شما می‌تونین از طریق GraphQL به اطلاعات پروژه‌ها و کاربران GitHub دسترسی داشته باشین.

3⃣ شاپیفای (Shopify): توی پلتفرم Shopify، از GraphQL برای بهینه‌سازی و سرعت بخشیدن به APIها استفاده می‌شه.

حچطور از GraphQL استفاده کنیم؟ 🛠️

راه‌اندازی GraphQL توی پروژه‌های مختلف واقعاً ساده‌ست. توی پلتفرم‌هایی مثل Django یا Node.js، پکیج‌ها و کتابخونه‌های آماده‌ای وجود دارن که شما می‌تونین سریعاً ازشون استفاده کنین.

برای مثال، در Django، شما می‌تونین با استفاده از Graphene-Django خیلی راحت یه API GraphQL بسازین.

توجه ⚠️:
این فقط یه مثال ساده برای شروع هستش:
pip install graphene-django

و بعد توی پروژه‌تون:
import graphene

class Query(graphene.ObjectType):
hello = graphene.String()

def resolve_hello(self, info):
return "Hello, world!"

schema = graphene.Schema(query=Query)

این کد یه کوئری ساده به اسم hello می‌سازه که وقتی از GraphQL درخواست بشه، مقدار "Hello, world!" رو برمی‌گردونه.

جمع‌بندی 🎯 
فهمیدیم GraphQL با انعطاف‌پذیری و سرعت بالا، باعث می‌شه که APIهای بهتری طراحی کنین و تجربه کاربری بهتری ارائه بدین.

امید وارم مفید بوده باشه :)

#django #api #graphql


@ninja_learn_ir
پی‌نوشت:
تو GraphQL، فقط همون داده‌ای که می‌خوای رو می‌گیری، بدون نیاز به تنظیمات اضافه روی سرور. مثلاً با این درخواست فقط اسم و ایمیل رو می‌گیری:

{
user(id: 1) {
name
email
}
}

درسته که تو REST هم می‌تونی با سریالایزرها داده‌های اضافی رو حذف کنی، ولی تو GraphQL از همون اول کاربر تعیین می‌کنه که چه اطلاعاتی رو می‌خواد، بدون دردسر سریالایزر و فیلتر.
Forwarded from Geek Alerts
سیستم جدید کسب درآمد توییتر (اکس) اینجوری هست که هر چقدر کاربرهایی که تیک آبی دارن توی پست‌های شما تعامل داشته باشن (مثلا لایک، ریت، ریپلای و ... کنن) به شما درآمد تعلق میگیره.
قبلا اینجوری بود که بخشی از سهم تبلیغات‌رو پرداخت میکرد.
از ۱۸ آبان این طرح اجرا میشه.
یه توضیح هم اینکه باید قبل از این‌ها حساب توییتر خودتون‌رو مانیتایز کرده باشید.
یک سری شرایط داره مثل داشتن ۵ میلیون ایمپرشن در ۳ ماه اخیر و اشتراک پریمیوم و ...
https://help.x.com/en/using-x/creator-ads-revenue-sharing
@geekalerts
دوستان ممنون میشم از ما با ریکشن و شیر کردن حمایت کنید 🙂
Forwarded from 🎄 یک برنامه نویس تنبل (  MΞ)
💎 توسعه نرم‌افزار بدون وابستگی | Zero Dependency 💎
Forwarded from IEEE Sharif UT
🔹انجمن علمی دانشکده مهندسی برق دانشگاه صنعتی شریف برگزار می‌کند:
🔻رویداد Emeet 2024
با حضور کارآفرینان موفق ایرانی

در این رویداد شما فراتر از مفاهیم تئوری و تکراری، روایت‌های ارزشمندی از مسیر پر چالش کارآفرینی، شکست‌ها، موفقیت‌ها و تجربه‌های کاربردی را از زبان کسانی می‌شنوید که این راه را با موفقیت پیموده‌اند.

⬅️ جهت ثبت‌نام در رویداد اینجا را کلیک کنید.
🗓 ۲۶ و ۲۷ مهرماه
📍در دانشگاه صنعتی شریف (به صورت حضوری و مجازی)

🔥 شماره می‌توانید با استفاده از کد off20 از 20 درصد تخفیف ویژه برخوردار شوید.

🔴 ظرفیت شرکت حضوری در رویداد محدود است و ورود برای عموم آزاد است.

🖥 Website | ℹ️ LinkedIn | 💬  Support

@EmeetSUT | @EEResana
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from آموزش لاراول | LaravelHub (rwx-rwx-rwx)
یه چیزی رو باید جدی بگم!برنامه‌نویسا نباید زیاد از chatgpt استفاده کنن. می‌دونم، وسوسه‌انگیزه که وقتی گیر می‌کنی سریع بیای و بپرسی، ولی اگه همیشه این کار رو بکنی، به مرور خودت رو ضعیف می‌کنی. چرا؟ چون وقتی زیاد از chatgpt کمک می‌گیری، مغزت عادت می‌کنه به اینکه یکی دیگه برات فکر کنه. اینجوری کم‌کم حافظه‌ات ضعیف می‌شه و دیگه اون قدرت تجزیه‌ و تحلیل یا حل مسئله که یه برنامه‌نویس خوب باید داشته باشه رو از دست می‌دی از طرف دیگه، کد زدن یه مهارته که با تمرین و اشتباه کردن بهتر می‌شه. وقتی خودت با چالش‌ها کلنجار بری، حتی اگه یه ساعت وقتت رو بگیره، به یادگیری‌ات کلی کمک می‌کنه. ولی اگه فقط بیای سوال کنی و جواب آماده بگیری، دیگه این پروسه یادگیری اتفاق نمی‌افته و بعدش به هر مسئله‌ای برخورد کنی، باز سریع می‌خوای بیای بپرسی. پس بهتره هر وقت واقعاً گیر کردی بیای سراغ chatgpt نه واسه هر چیز کوچیکی.
یاد بگیر به خودت اعتماد کنی، با مشکلات دست و پنجه نرم کنی، و یادت باشه که ذهن یه برنامه‌نویس باید همیشه فعال و خلاق بمونه!


🔥⚡️ کانال آموزشی LaravelHub
@LaravelHub
Forwarded from Woland's Linux Journal (Woland)
This media is not supported in your browser
VIEW IN TELEGRAM
💠پلاگین Literate Programming برای ویم💠

♦️برنامه‌نویسیِ ادیبانه (به انگلیسی: Literate programming) یک پارادایم برنامه‌نویسی است که در آن کد داخل مستندات اجرا و نتیجه‌ی آن نمایش داده می‌شود.
برنامه‌نویسی ادیبانه در محیط‌های مختلفی قابل تجربه است که شناخته شده‌ترین آن‌ها org-mode در ایمکس و دفتر‌های جوپیتر هستند.

حالا با استفاده از این پلاگین، برنامه‌نویسی ادیبانه، بدون محدودیت در ویم و در فایل‌های مارکدان امکان پذیر است.


🔸پلاگین vim-literate-md که فورک من از پلاگین vim-medieval است رو در ویدیو مشاهده می‌کنید.

💠نصب:

برای نصب پلاگین به شیوه معمول نصب پلاگین‌هاتون عمل کنید و یا:

mkdir -p ~/.vim/pack/plugins/start && git clone https://github.com/wolandark/vim-literate-md.git ~/.vim/pack/plugins/start/vim-literate-md


💠لینک:

👉🔗 Vim-Literate-MD

ستاره زدن مخزن هم فراموش نشه 😉❤️⭐️

~/volandarkside

#ویم #معرفی
#vim #literate_programming
در حال نوشتن دو کتاب جدید هستیم:

🐍 Python OpenCV - کتابی جامع برای یادگیری OpenCV و نحوه استفاده از آن با زبان پایتون، مناسب برای علاقه‌مندان به پردازش تصویر و یادگیری ماشین.

🔗 خواندن (موقت)

📖 ProGit - راهنمایی کامل برای گیت، بهترین ابزار مدیریت نسخه. این کتاب به شما کمک می‌کند تا به یک متخصص گیت تبدیل شوید!

🔗 خواندن (موقت)


با حمایت از این پروژه‌ها، شما نیز می‌توانید در گسترش دانش آزاد شریک شوید!

🔗 persianccbook.org



"دانش آزاد، حق همه!"

@PersianCCBook
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Gopher Academy
🔵 عنوان مقاله
Using Go Instead of Bash for Scripts

🟢 خلاصه مقاله:
استفاده از زبان برنامه‌نویسی Go به جای اسکریپت‌نویسی باعث می‌شود تا بتوانید یک اسکریپت را برای تمام پلتفرم‌های خود تنها یک بار بنویسید و نیازی به یادگیری زبان‌های اسکریپت‌نویسی خاص سیستم‌عامل‌های مختلف نداشته باشید. این روش ممکن است به مقدار بیشتری کد نویسی نیاز داشته باشد، ولی باز هم ممکن است این امر بهای کمی برای پرداخت باشد در مقایسه با مزایایی که ارائه می‌دهد. این تکنیک نه تنها افزایش سازگاری بین پلتفرم‌های مختلف را به همراه دارد، بلکه منجر به وجود آمدن کدهایی می‌شود که نیاز کمتری به تغییر و تطبیق در هنگام اجرا بر روی سیستم‌عامل‌های مختلف دارند.

🟣لینک مقاله:
https://golangweekly.com/link/159855/web


👑 @gopher_academy
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy Raymond)
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy Raymond)
۹۰۰ تایی شدیم 🎉🥂🥳

از حمایت هاتون مچکرم و همگی‌تون خیلی خوش آومدید 🥂🍾

@TheRaymondDev
Forwarded from Linuxor ?
پروژه OneFileLinux یه سیستم عامل لینوکس بر پایه Alpine رو توی یه فایل خیلی کوچیک (حدود ۲۰ مگابایت) جا داده که میتونی بدون نصب کردن، مستقیم از روی سیستمت اجراش کنی.


https://github.com/zhovner/OneFileLinux

مثلاً میتونی ازش برای تست نرم افزارهای جدید، کارهای امنیتی یا حتی یه سیستم عامل سبک برای سیستم های قدیمی استفاده کنی

🐧 @Linuxor
Forwarded from a pessimistic researcher (Kc)
احتمالا اگر مثل من با ام‌ال حال نمی‌کنید، باید اسم کانال singular thinker رو شنیده باشید :))) توی یکی از پست‌هاش راجع به یکی از تاپیک‌های functional analysis صحبت میکنه که توی تئوری ام‌ال کاربرد داره. توی این پست می‌تونید راجع بهش !(بخونید).

البته از اونجایی که به بنده اشاره کرده و خب مطلبش توی یک مجله‌ی CACM طور نیست که ادیتورا بتونن بهم کامنت بدن، من همینجا میگم که :

من که کلا ناراحتم :)) ولی خب من منکر این نیستم که ام‌ال حالا به قول خودت نوع کلاسیکش بر اساس این دست کانسپت‌های ریاضی بنا شده، ناراحتی بنده از اینه که عموم جامعه‌ای که دنباله‌ روی این داستانن صرفا یک بلایندلی مصرف کننده‌ اند که احتمالا تا آخر عمرشونم نخواهند دانست که این مباحث چیه. اونجایی خوشحال میشدم که جای ایجاد این هایپ وحشتناک که حتی به نوبل هم رسیده، روی این مطالب تمرکز میشد، و همواره این نکته رو گوشه ذهن به یاد میداشتند که خیلی از این مطالب computationally hard محسوب میشن و راهکارش کیلو کیلو اضافه کردن رندومنس و عدم قطعیت نیست.
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy Raymond)
🔶 دولت روسیه دیسکورد را به‌دلیل انتشار محتوای نامناسب فیلتر کرد.

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

#خبر

@TheRaymondDev
Forwarded from a pessimistic researcher (Kc)
Singular Thinker
دنیای RKHSها قسمت ۲: RKHS نگو کرنل بگو خب تو متن قبلی تا اینجا صحبت شد که با یه روش تردستی میتونیم حاصل ضرب داخلی دو بردار با طول بینهایت رو پیدا کنیم. اما دقیقا چطوری؟ خب اون مثال آزمایشگاه رو یادتون هست که متغییر x رو از ℝ به ℝ^2 بردیم؟ یادتونه به چه صورت…
احتمالا اگر مثل من با ام‌ال حال نمی‌کنید، باید اسم کانال singular thinker رو شنیده باشید :))) توی یکی از پست‌های خیلی خوبش راجع به یکی از تاپیک‌های functional analysis صحبت میکنه که توی تئوری ام‌ال کاربرد داره. توی این پست می‌تونید راجع بهش !(بخونید).

البته از اونجایی که به بنده اشاره کرده و خب مطلبش توی یک مجله‌ی CACM طور نیست که ادیتورا بتونن بهم کامنت بدن، من همینجا میگم که :

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

🪰 اگه از اول یه پروژه ای .prettierrc نداشتید و قوانین مربوط به فرمت کردن کدهاتون رو ننوشته بودید و بعدا که کلی فایل داشتید یادتون افتاد این کارو بکنید، این مراحل رو پیش برید تا تمام فایل های قدیمتون با این قوانین جدید فرمت بشن:

1️⃣:
bun add -d prettier


2️⃣:
bunx prettier --write .


🔺 این نقطه انتهای دستور یعنی همه فایل هارو فرمت کنه؛ اگه فقط فرمت خاصی مدنظرتون بود:

⚜️:
bunx prettier --write "**/*.{js,ts,tsx,css,md}"


امیدوارم به کارتون بیاد
پ.ن: از هر پکیج منیجری میتونید استفاده کنید قاعدتا. bun هارو به npm و bunx هارو به npx تغییر بدید مثلا.
#tips #prettier

@NimaCodez
Please open Telegram to view this post
VIEW IN TELEGRAM
مدل‌های Llama، واقعاً بهترین مدل‌های اپن سورس هستن و برای ساخت محصول خیلی مناسبن. آخرین ورژن این مدل، Llama 3.2 هست و 4 مدل مختلف داره:

مدل‌ 1B و 3B برای دستگاه‌های Edge
مدل‌ 11B و 90B که مالتی‌مدل هستن

دوره زیر در مورد این مدل‌ها رو از دست ندید.

https://www.deeplearning.ai/short-courses/introducing-multimodal-llama-3-2/

@DevTwitter | <Reza Jafari/>
Forwarded from پروگرمرزمیم
Please open Telegram to view this post
VIEW IN TELEGRAM