WebBaz | وب باز
前往频道在 Telegram
قراره هرچیزی که نیازه و قراره توی پروژه واقعی به کار گرفته بشه رو یاد بگیریم من: @call_me_nouh لینکدین من : https://www.linkedin.com/in/mahdi-nouri-7aa043227
显示更多1 188
订阅者
无数据24 小时
+47 天
+1030 天
帖子存档
1 188
Repost from DevTwitter | توییت برنامه نویسی
دو روز پیش ورسل از eve رونمایی کرد. یه فریمورک برای ساخت agent که شباهت زیادی با سیستم nextjs داره.
کل سیستم agent اش فایل محوره. هر tool , skill , mcp , channel برای خودش فولدر و فایل های خودش رو داره.
ساخت ایجنت رو ساده کرده، به نظرم ارزش بررسی داره
https://vercel.com/blog/introducing-eve
@DevTwitter | <Mani/>
1 188
Repost from tech-afternoon
🧠 از MCP تا Agent، بررسی A2A و ACP | وقتی Agentها باید با هم حرف بزنند
هر بار که تغییر بزرگی در اتمسفر توسعه نرمافزار پیش میاد؛ مثل وقتی که تکنولوژی انقلابی جدید معرفی میشه، ابزارها یا رویکردها تغییر بزرگی رو تجربه میکنن؛ مثل دورانی که SOA اومد، یا بعد که microservice اومد؛ یا این قریب به ۴ سال که GenAI از عمق تحقیاتی به سطح زندگی روزمره اومده؛ لازمه تا مفاهیم جدید رو دقیق یاد بگیریم تا درگیر حباب تکنولوژی، تبلیغات، یا استفاده اشتباه و نابجا نشیم. و به همون اندازه مهمه تا از دوران جدید جا نمونیم.
لذا اینکه چه زمانی و کجا؟ و با چه مقدمه و برای چه نیازی؟ چه راهکاری رو انتخاب کنیم؛ سوال مهمیه که حتی از اجرا کردن کًد باید برامون مهمتر باشه. مثلا بدونیم تفاوت و کاربرد اینا چیه:
Prompt-based
Tool/skill-based
MCP
Instantiated role
Single long-lived agent
Multi-agent + A2A/ACP
برای همین، چند خطی درباره A2A نوشتم که اگر دوست داشتید بخونید. رویکردم توضیح از پایه و مفاهیم بوده تا به نحوی باشه که از engineering manager تا architect تا developer رو پوشش بده. بنا به اقبال این موضوع، شاید بخش یا بخشهای بعدی هم با رویکرد عمیقتر و نگاه تخصصیتر (مثلا معماری یا توسعه یا امنیت) و عملیتر (کد) بنویسم.
🔗 لبنک مطلب و طبیعتا خوشحال میشم نظر و تجربهتون رو بنویسید
1 188
Repost from tech-afternoon
😊 دو ساعت با خالق سیپلاسپلاس
هفته گذشته رایان پیترمن، مصاحبه مفصلی با بیارنه استراستروپ، خالق سیپلاسپلاس منتشر کرد که حداقل برای من بیشتر یک درس بود تا مصاحبه.
اگر دوست دارید از مهندسی عمیق؛ تجربه؛ و موضوعاتی فارغ از حبابهای زودگذر بشنوین؛ این مصاحبه خیلی ارزشمنده.
- داستان پیدایش ++C و دوران آزمایشگاههای بل - فلسفه طراحی زبان و بحث شیءگرایی - چالشهای فنی پیادهسازی و مفهوم abstraction با هزینه صفر (Zero/Negative Overhead): - پاسخ به انتقادها درباره امنیت حافظه و کدهای مدرن ++C داستان شکلگیری کمیته استاندارد ISO برای ++C و دموکراسی در توسعه زبان - آینده برنامهنویسی و نقش هوش مصنوعی (LLMs) - اشتباهات گذشته و حسرتها
1 188
Repost from Linuxor ?
من خودمم نمیتونم AI Agent بسازم ولی امروزه کسی نتونه بسازه باید مثل خر کار کنه، اینجا لیستی از ابزار های اوپن سورس برای ساخت AI Agent (حمال) جمع شده واقعا چیزای خوبی هست لینکو ذخیره کنید :
github.com/kyrolabs/awesome-agents
همچی داره از اتوماسیون و فریم ورک ساخت ایجنت بگیر تا توسعه نرم افزار و تست و ارزیابیش و همچینین ایجنت های چند وجهی، مرورگری و... هم داره
@Linuxor
1 188
Repost from Linuxor ?
دفترچه راهنمای مراحل سینور شدن!
github.com/jordan-cutler/path-to-senior-engineer-handbook
@Linuxor
1 188
Repost from DevTwitter | توییت برنامه نویسی
کمپانی databricks یکی دو روز پیش Omnigent رو اپن سورس کرده و به نظرم یکی از جالبترین لایبرری ها در دنیای Agentهاست.
بیشتر آدمها و تیمها هنوز روی ساختن Agentهای بهتر تمرکز دارن. اما به نظر من فرصت بزرگتر، ساختن Harnessهای بهتره.
بهترین تیمها الان از چندین Agent مختلف استفاده میکنن؛ Claude Code، Codex، Gemini، ابزارهای داخلی و Agentهای اختصاصی. مشکل اصلی دیگه توانایی مدلها نیست، بلکه هماهنگ کردن و مدیریت این Agentهاست.
چیزی که در Omnigent برام جالبه اینه که خودش یک Meta-Harness هست؛ یعنی لایهای بالاتر از Agentها که وظیفه مدیریت، هماهنگی، حافظه، قوانین و همکاری بین اونها رو بر عهده میگیره.
به نظرم مسیر تکامل این فضا چیزی شبیه اینه:
Model -> Agent -> Harness -> Meta-Harness
به نظرم آینده متعلق به یک سوپر Agent نیست. بلکه مجموعهای از Agentهای تخصصی هست که داخل یک کنترل پلین مشترک کار میکنن.
همونطور که Kubernetes جای Containerها رو نگرفت و فقط لایه مدیریت اونها شد، Meta-Harnessها هم ممکنه به لایه مدیریت Agentها تبدیل بشن.
در نهایت برندهها لزوماً اونهایی نیستن که بهترین LLM رو دارن. بلکه اونهایی هستن که بهتر از بقیه میتونن مدلها، ابزارها، حافظه، Workflowها و انسانها رو در یک سیستم منسجم کنار هم قرار بدن.
این بلاگشون را بخونید که خیلی قشنگ توضیح میده. اگه هم هنوز keynote شون را ندید حتما ببینید.
Blog: https://databricks.com/blog/introducing-omnigent-meta-harness-combine-control-and-share-your-agents
Youtube: https://youtube.com/watch?v=sn9My5Pj0mE
@DevTwitter | <Mehdi Allahyari/>
1 188
Repost from Sadra Codes
واسه توسعه پکیج پایتون، من از استکها و محیطی استفاده میکنم که تقریبا تمام نیازمندهام رو برطرف میکنه. از تست و کاوریج و داکیومنت، تا اتومیشنها و..
توی این مقاله، راجع به پروسه و تصمیماتی که حین توسعه میگیرم نوشتم. راجع به ابزارهای زیر هم صحبت کردم که هرکدوم به چه دردی میخورن:
CodeCov - PyTest - Tox - Nox - Ruff - Mkdocs - Coverage.py - GitHub Actions - Pre-commit
Link: https://blog.imsadra.dev/python-open-source-development-how-i-build-and-maintain-open-source-repositories
Join 👉 @lnxpylnxpy
1 188
Repost from Syntax | سینتکس
💡 چرا SQL اینقدر با بقیه زبانها متفاوت است؟ (روایتی از کتاب DDIA)
مدتی پیش در حال بازخوانی چپتر دوم کتاب معروف Designing Data-Intensive Applications اثر مارتین کلپمن بودم. کلپمن در این بخش، دست روی مقایسهای میگذارد که شاید بارها شنیده باشیم، اما زاویه دید او به این ماجرا در بستر «زبانهای کوئری دیتابیس»، دیدگاه من را نسبت به SQL کاملاً تغییر داد: پارادایم Imperative (امری) در برابر Declarative (توصیفی).
اگر برای شما هم سؤال است که چرا ساختار SQL اینقدر با زبانهای سنتی برنامهنویسی فرق دارد، این خلاصه و شهود کلیدی را از دست ندهید:
🔹 تفاوت اصلی در یک نگاه
زبانهای Imperative: به کامپیوتر دستور میدهند که یک عملیات را چگونه (How) و با چه ترتیبی در حافظه اجرا کند (مانند حلقهها و تغییر گامبهگام متغیرها).
زبانهای Declarative: صرفاً مشخص میکنند که نتیجه نهایی باید چه چیزی (What) باشد و قوانین حاکم بر داده چیست. جزئیاتِ چگونگی اجرا کاملاً پنهان است.
📜 ریشه تاریخی: از فاجعه تا انقلاب SQL
در دهه ۱۹۷۰ و پیش از ظهور SQL، در مدلهای دیتابیس قدیمیتر (مثل IMS و CODASYL)، برنامهنویسان مجبور بودند با کدهای Imperative و حلقههای متوالی، یک اشارهگر (Pointer) را به صورت دستی میان رکوردها حرکت دهند تا دادهای را پیدا کنند.
بزرگترین فاجعه چه بود؟ اگر ساختار فیزیکی دیتابیس روی دیسک تغییر میکرد (مثلاً یک ستون جابهجا میشد یا نحوه ذخیرهسازی عوض میشد)، تمام کدهای پروژه خراب میشدند و باید از اول بازنویسی میشدند!
اما SQL این مشکل را حل کرد. شما فقط میگویید چه دادهای میخواهید:
SELECT * FROM users WHERE age > 18;
با این کار، وظیفه نحوه اجرا به Query Optimizer (بهینهساز کوئری دیتابیس) واگذار شد. دیتابیس خودش تصمیم میگیرد که از کدام ایندکس یا الگوریتم (مثلاً Hash Join یا Merge Join) برای استخراج داده استفاده کند و برنامهنویس درگیر جزئیات سختافزار نمیشود.
📐 ربط زبانهای Declarative به جبر رابطهای (Relational Algebra)
زبان SQL بر پایهی یک نظریه ریاضی به نام «جبر رابطهای» بنا شده است. در ریاضیات دوران مدرسه، قوانینی وجود دارد که اجازه میدهد فرمولها را ساده کنیم بدون اینکه نتیجه تغییر کند؛ مثلاً:
(x+y)⋅z=x⋅z+y⋅zما در ریاضی فقط فرمول را مینویسیم و نگران نیستیم که پردازنده چطور ضرب را انجام میدهد. این قوانین جبری به Query Optimizer دیتابیس اجازه میدهد تا یک عبارت پیچیده و سنگین را پشت صحنه به یک عبارت ریاضی سادهتر و بهینهتر تبدیل کند. 🌐 یک مثال شهودی: دنیای بدون CSS را تصور کنید! فرض کنید CSS وجود نداشت و میخواستید در یک لیست، پسزمینه آیتمهای انتخابشده (selected.) قرمز شود. در رویکرد امری (با JavaScript) باید یک حلقه بنویسید، تکتک المانها را چک کنید و رنگ بزنید. این کد شکننده است؛ اگر المان جدیدی بعداً به صفحه اضافه شود، قرمز نمیشود و باید حلقه را دوباره دستوری اجرا کنید. مرورگر هم نمیتواند این حلقه دستی را موازیسازی کند. اما در دنیای Declarative (با CSS) مینویسید:
.selected { background-color: red; }
شما فقط وضعیت ایدهآل را توصیف میکنید. حالا اگر مرورگر آپدیت شود یا شتابدهنده گرافیکی (GPU) جدیدی بیاید، مرورگر خودش پشت صحنه نحوه اعمال این رنگ را بهینهسازی میکند، بدون اینکه نیاز باشد شما کدتان را دست بزنید.
🎯 ۳ مزیت کلیدی زبانهای توصیفی (Declarative) از زبان کلپمن:
1️⃣ استقلال داده (Data Independence): کد توصیفی به ساختار فیزیکی ذخیرهسازی داده وابسته نیست. میتوانید ایندکسها را تغییر دهید یا دیتابیس را بهینهسازی کنید، بدون اینکه کدهای برنامه شما آسیب ببینند.
2️⃣ پتانسیل بالای بهینهسازی: موتورهای زیرین (مثل دیتابیس یا انجین مرورگر) کنترل کاملی روی نحوه اجرا دارند، بنابراین میتوانند کد شما را به شدت بهینهتر از یک حلقه امریِ دستی اجرا کنند.
3️⃣ قابلیت موازیسازی (Parallelization): کدهای توصیفی به دلیل عدم تغییر مستقیم وضعیت (State)، به راحتی روی چندین هسته پردازنده یا چندین سرور پخش و موازی میشوند؛ اتفاقی که در کدهای امریِ دارای حلقه، فوقالعاده سخت و پر از Bug است.
📌 شما در پروژههای خودتون چقدر سعی میکنید منطق برنامهنویسی رو به سمت Declarative ببرین؟ تجربهای از چالشهای کدهای Imperative در دیتابیسهای قدیمی دارید؟ خوشحال میشم نظراتتون رو برام بنویسید.
📖 منبع: کتاب Designing Data-Intensive Applications (Chapter 2) - Martin Kleppmann
#software_engineering #database #sql #ddia #backend #system_design #programming
@Syntax_fa1 188
Repost from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی
آیا gzip میتواند یک مدل زبانی باشد؟
یک محقق کشف کرد که gzip — همان الگوریتم فشردهسازی قدیمی و ساده لینوکس — میتواند متن تولید کند؛ بدون هیچ شبکه عصبی، بدون وزن، بدون آموزش.
چطور؟
هر الگوریتم فشردهسازی در دلش یک مدل احتمالاتی پنهان دارد:
دادهای که «انتظارش را دارد» با بایت کمتری کُد میشود داده غیرمنتظره بایت بیشتری میخواهدپس میشود از این معیار به عنوان امتیازدهی استفاده کرد: هر ادامه متنی که بهتر فشرده شود، «محتملتر» است! روش کار (gzipt): ۱. یک corpus (مثلاً متون شکسپیر) به gzip داده میشود ۲. یک prompt ورودی میگیرد ۳. با beam search روی توالی بایتها جستجو میکند ۴. ادامهای را انتخاب میکند که بهترین فشردهسازی را داشته باشد نتیجه؟ خروجی کاملاً منسجم نیست، ولی بهطور شگفتانگیزی ساختار زبان را درک کرده! این ایده از مقالهای با نام "Language Modeling is Compression" الهام گرفته که میگوید:
هر مدل پیشبینی، یک compressor است و هر compressor یک مدل پیشبینی.بلاگ پست: 🔗 https://nathan.rs/posts/gzip-lm/ ✅ @SEYED_BAX | @llm_huggingface
1 188
Repost from DevTwitter | توییت برنامه نویسی
خب HTTP هم بالاخره یه روش درستحسابی برای query زدن با body گرفت گویا دیگه از POST /search راحت میشیم
https://www.rfc-editor.org/info/rfc10008/
@DevTwitter | <Abolfazl/>
1 188
Repost from | Rad Dev (JS) |
تو ریاکت اگه روش های بهینهسازی رو بلد باشید، پروژههاتون پرفورمنس بهتری خواهند داشت.
این مقاله 4 روشی که تو تصویر میبینید رو به خوبی توضیح داده:
🔗 Article Link
@Mern_stack_01
1 188
بسیار هیجانزده و افتخارمند هستم که اعلام کنم رسماً اندروید ۱۷ رونمایی شد! 🚀✨
این آغاز یک فصل نو و فرصتی استثنایی در مسیر تحول دیجیتال محسوب میشود که در آن، قابلیتهای MCP به اکوسیستم اندروید ادغام شده و این امکان را فراهم میآورد تا هوش مصنوعیها به صورت همسو و استراتژیک، از پتانسیلهای درون اندروید بهرهبرداری کنند. 💡🤖
همچنین، این حرکت به سمت یک چشمانداز جدید است؛ گوگل با معرفی مجموعهای از مدلهای آفلاین بسیار سبک، در حال بازتعریف نقش دستیار هوشمند در دستگاههاست. این رویکرد که شباهتهایی به تجربه SIRI اپل دارد، نشاندهنده تعهد ما به ارتقای عملکرد و ارائه ارزش در سطح جهانی، حتی در شرایط آفلاین است. 📱🌍
این قدم بزرگ، نشاندهنده هماهنگی کامل با اولویتهای ما در زمینه نوآوری و تجربه کاربری است. 🌟
(این متن توسط هوش مصنوعی تلگرام بازنویسی شده)
https://www.producthunt.com/products/android
1 188
Repost from Quera
+7
✔️ابزار Penpot یه جایگزین قدرتمند، متنباز و رایگان برای Figmaست که با استانداردهای وب و SVG ساخته شده و بهت اجازه میده بدون وابستگی به سرویسهای ابری، تیم طراحیت رو مدیریت کنی.
🐳 برای راحتی، یه مخزن داکرایز شده و آماده برای نصب Penpot تهیه کردیم که تمام سرویسهای مورد نیاز، از جمله پایگاه داده و وبسرور Caddy توی اون پیکربندی شده.
🔗 لینک مخزن:
https://github.com/Quera-Education/interanet-penpot-deployment
📝 فایل .env:
یه فایل نمونه موجوده، اسمش رو به env. تغییر بده و مقادیر رو با سرور خودت تنظیم کن. بخشهای مهم:
🌐 دامنه و آدرس – CADDY_SITE_ADDRESS و PENPOT_PUBLIC_URI برای مسیردهی درست سیستم.
🔒 امنیت – PENPOT_SECRET_KEY کلید رمزنگاری نشستهاست و باید طولانی و تصادفی باشه.
🗄️ پایگاه داده – نام کاربری و رمز Postgres برای اتصال Penpot به DB.
✉️ ایمیل (SMTP) – اگر میخوای ایمیل دعوت یا تایید بفرستی، اطلاعات سرور ایمیل رو وارد کن. (با PENPOT_FLAGS میتونی نیاز به تایید ایمیل رو غیرفعال کنی تا سریعتر شروع کنی).
⚡ بعد از تنظیم فایل، اجرای docker-compose همه سرویسها رو خودکار دانلود و اجرا میکنه.
1 188
Repost from Linuxor ?
داشتم سایت های telemetr و coinmarketcap رو مهندسی معکوس میکردم ببینم این چارت های زیباشون رو با چی میکشن که رسیدم به این لایبری :
www.highcharts.com
البته اگه شدیدا میخواید چارت رو کاستوم کنید باید خودتون با recharts ور برید
@Linuxor
1 188
Repost from Linuxor ?
اینو یادم رفت توضیحاتش رو بنویسم :
چهارتا گزینه در واقع ماتریکس BCG هستش، که به شرکت ها کمک میکنه محصولات مختلفشون رو بر اساس سهم بازار و نرخ رشد بازار دسته بندی کنن.
برای شرکت گوگل مثلا :
ستاره یعنی سهم بازار بالا، رشد سریع مثلا گوگل کلاد
گاو شیرده یعنی رشد کند سهم بازار بالا مثل موتور جستجوی گوگل و تبلیغاتش و شایدم یوتیوب
علامت سوال یعنی سهم بازار کم ولی رشد سریع مثل هوش مصنوعی Gemini
سگ یعنی سهم بازار کم و رشد کم مثل گوگل پلاس که به فنا رفت.
یکی از علت هایی که پروژه هاتون موفق نمیشه و پول در نمیآره اینه که چسبیدید به سگه ولش کن بره بابا😂
@Linuxor
1 188
Repost from Linuxor ?
یه سوال برنامه نویس کُش، کدوم گزینه با بقیه متفاوته؟ (اگه نتونستین جواب بدین خوبه یعنی فنی هستین نه پروداکتی)
