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 Linuxor ?
مایکروسافت چیزای خوبش رو واسه لینوکس نمیده لعنتی Microsoft Edge رو خودتون هم استفاده میکنین؟

🐧 @Linuxor
اون پست رو یادتون هست ؟

حالا ماکروسافت امروز اومد کلی ابزار رو open-source کرد که مهم‌ترین مورد مربوط به این کانال

BitNet.cpp

هست که با efficiency بالا مدل‌ها رو می‌بره روی 1bit برای inference داستان اونجایی قشنگ میشه که خیلی‌ها دارن مدل‌های 70B رو باهاش می‌برن روی لوکال و CPU اجرا می‌کنند.

https://github.com/microsoft/BitNet

متأسفانه فرصت تست نداشتم و امشب هم فکر نکنم بتونم
ولی حتماً برای فردا روی مدل‌های سایز مختلف سعی می‌کنم تست کنم و نتایج رو منتقل کنم.
ابزار VPNfail Config collector این‌امکان رو فراهم آورده تا کانفیگ‌های رایگان v2ray منتشر شده در وب‌سایت VPNfail (که در بازه زمانی ۳۰ دقیقه گذشته فعال‌بودن) رو جمع‌آوری کرده و در قالب لینک ساب ارائه کنه.

💡 برای اسکن کافیه از hiddify, v2rayN, v2rayNg, NikaNG, Streisand یا سایر برنامه‌های مشابه استفاده کنین

👉 github.com/itsyebekhe/vpnfail
© yebekhe

🔍 ircf.space/software
@ircfspace‏⁧
Forwarded from کدنویس یکروزه (𝕻𝖊𝖉𝖗𝖆𝖒 𝕽𝖆𝖍𝖎𝖒𝖎)
کتابخانه‌ی جالب HTMX

    تصور کنید که HTML اون قدر پیشرفته شده که برای ساخت سایت تک صفحه یا همون سینگل پیج اپ SPA که با کلیک در هر بخش یا انتخاب منو، بدون رفرش کامل صفحه، فقط بخش های مورد نیاز در گوشه و کنارش عوض می‌شن، دیگه نیازی به نوشتن کد JavaScript برای صدا زدن اطلاعات و نمایش اون اصطلاحاً به صورت Ajax  نباشه!
   یعنی در خود کدهای HTML پارامترهایی بیاریم که برن به یک آدرس و اطلاعات رو پشت پرده دریافت کنن و بیارن و در سکشن یا یک div با نام مشخص قرار بدن!
کار به اینجا ختم نشه و حتا فرم های ورود اطلاعات رو هم بشه با همین آسانی و فقط معرفی آدرس گیرنده‌ی اطلاعات در کنار متد post بدون نوشتن یک دستور جاوااسکریپت بدون رفرش کامل صفحه بفرستیم!
    معلومه که با چنین قابلیتی دیگه به لود کردن کتابخانه های سنگین مثل React هم عملاً نیاز نخواهد بود!
    خوب پس به سایت HTMX.org حتماً سر بزنید و از ویدیوهای فارسی و انگلیسی هم که به وفور در یوتیوب پیدا میشن در این مورد لذت ببرین.

https://HTMX.org
Forwarded from Anophel | آنوفل
در جاوااسکریپت، مفاهیم "Execution Context"و "Execution Stack"و "Variable Object" و "Scope Chain" به ترتیب با مکانیزم‌های اجرایی و مدیریت متغیرها و توابع در کد ارتباط دارند.

خب این مفاهیم برای درک چگونگی اجرای کدهای جاوااسکریپت و مدیریت فضای حافظه اهمیت دارند. بیاید بیشتر باهاش آشنا شیم:


1. Execution Context:
این مفهوم به معنای فضاییه که کدهای جاوااسکریپت توش اجرا میشن. وقتی یه اسکریپت یا تابع اجرا میشه، یه "بافت اجرایی" براش ساخته میشه که مرورگر بهش نیاز داره تا کد رو درست اجرا کنه.

سه نوع کلی داریم:
- Global Execution Context: وقتی کد برای اولین بار اجرا میشه، این بافت ساخته میشه و همه کدهای خارج از توابع توش قرار میگیرن.
- Function Execution Context: هر بار که یه تابع فراخوانی میشه، یه بافت اجرایی جدید برای اون ساخته میشه.
- Eval Execution Context: وقتی کدها از طریق تابع eval() اجرا میشن، یه بافت اجرایی خاص برای اون ساخته میشه.

هر Execution Context سه بخش اصلی داره:
1.Variable Object: جایی که متغیرها و توابع تعریف‌شده توش ذخیره میشن.
2. Scope Chain: برای دسترسی به متغیرها و توابع در دامنه‌های دیگه استفاده میشه.
3. this: به آبجکت فعلی یا محیط اجرایی خاص در زمان اجرا اشاره داره.

2. Execution Stack:
اینو بهش Call Stack هم میگن. یه جور ساختار داده‌ای از نوع استک (LIFO: Last In, First Out) که بافت‌های اجرایی رو مدیریت میکنه. هر بار که یه تابع فراخوانی میشه، بافت اجرایی اون تابع به استک اضافه میشه و بعد از اتمام اجرا، از استک خارج میشه.

3. Variable Object:
فضایی که تو هر بافت اجرایی ایجاد میشه و متغیرها، توابع و پارامترهای مربوط به اون رو ذخیره میکنه.

دو نوع اصلی داره:
- Global Execution Context: آبجکت متغیر به عنوان Global Object عمل میکنه (معمولاً window تو مرورگر).
- Function Execution Context: شامل پارامترهای تابع، متغیرهای داخل تابع و توابع درونی اون.

۴. Scope Chain:
مکانیزمیه که جاوااسکریپت برای دسترسی به متغیرها و توابع ازش استفاده میکنه. هر بافت اجرایی یه زنجیره‌ای از دامنه‌ها داره که تو اون به دنبال متغیرها و توابع میگرده. وقتی جاوااسکریپت دنبال مقدار یه متغیره، اول از دامنه فعلی شروع میکنه و اگه اونجا پیدا نکرد، میره سراغ دامنه‌های بالاتر (مثلاً دامنه گلوبال).

این مفهوم اجازه میده که متغیرها و توابع تو جاوااسکریپت به طور سلسله‌ مراتبی و براساس مکان تعریفشون تو کد دسترسی‌پذیر باشن.


ANOPHEL I آنوفل

#جاوااسکریپت #javascript #stack #react #vue
Forwarded from Gopher Academy
🔵 عنوان مقاله
Distributed Metrics in PHP with Go and Gob

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفت، به بررسی بسته "Gob" در زبان برنامه‌نویسی Go می‌پردازد. بسته Gob از طراحی بهینه‌ای برای کدگذاری و کدگشایی داده‌ها بین برنامه‌های نوشته‌شده در Go بهره می‌برد. هدف این است که ارتباط میان برنامه‌های مختلف را ساده‌تر و سریع‌تر سازد. این بسته به گونه‌ای طراحی شده است که تبادل داده‌ها بین برنامه‌های Go با حداقل تأخیر و بیشترین سرعت صورت گیرد. در این مقاله، نحوه کارکرد Gob، مزایای استفاده از آن و برخی از کاربردهای عملی که می‌توان به راحتی در برنامه‌های مختلف اجرا کرد، توضیح داده شده است. خلاصه اینکه، Gob یک ابزار قدرتمند برای توسعه‌دهندگان Go است که به آن‌ها اجازه می‌دهد داده‌ها را به صورت کارآمد در میان برنامه‌های مختلف جا به جا کنند.

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


👑 @gopher_academy
This media is not supported in your browser
VIEW IN TELEGRAM
مایکروسافت یک فریمورک 1bit LLM inference داده به اسم bitnet.cpp. که باهاش میشه انواع مدلها مثلا یک ۱۰۰ میلیارد پارامتری را روی CPU و به صورت لوکال ران کرد. با سرعت 6x بیشتر و تا 82% مصرف انرژی کمتر، همه اینها بدون GPU!
https://github.com/microsoft/BitNet

@DevTwitter | <Mehdi Allahyari/>
Forwarded from Linuxor ?
بجای اینکه به یه ابزار یا سرویس به عنوان سرویس ماهیانه پول بدید اونو روی سرور خودتون اجرا کنید، برای مثال بجای خریدن سرویس استریم، فایل ترنسفر، مانیتوریتگ، تیکتینگ، مدیریت داکیومنت و ... میتونید اونارو خودتون روی سرورتون پیاده کنید

این ریپو تمام جایگزین های SaaS رو به صورت رایگان یجا جمع آوری کرده :


https://github.com/awesome-selfhosted/awesome-selfhosted


🐧 @Linuxor
Forwarded from Python Hints
لایک، سابسکرایب و کامنت رو فراموش نکنید
بهمون انرژی میده ...
Forwarded from Geek Alerts
فیسبوک (متا) به کارمندهاش غذای رایگان میده، اینجوری که هر وعده ۲۵ دلار اعتبار غذا میگیرن، یه چیزی مثل اسنپ‌فود که میتونن سفارش بدن.
بعد قوانین سختی داره که این اعتبار فقط برای غذاست ولی بعضی از کارمندها مخفیانه ازش برای خریدهای خونه استفاده میکردن، مثل شوینده، شراب و ...
پیداشون میکنن و اخراج میشن، یکی از این کارمندها که به خاطر زیر پا گذاشتن قوانین شرکت و سر ۲۵ دلار اخراج میشه سالی ۴۰۰ هزار دلار حقوق میگرفته.
ft
@geekalerts
‏اگر با VSCode حال می‌کنین
یه نگاهی به Cursor بکنین
اینکه یه دستیار ai دارین که همه فایل هاتون رو میتونه بررسی کنه و بهتون کمک کنه جذابش کرده

@DevTwitter | <Ali Palvane/>
Forwarded from Go Casts 🚀
خیلی performance برات مهمه؟ پس احتمالا خوندن این مطلب برات جذاب باشه.

بخشی از کتاب «Efficient Go» رو میخوندم، دقت کنید به کلمه «Efficient» که به معنی «کارآمد» یا «اثربخش» هست. کارآمد بودن لزوما به معنی سریع بودن نیست، لزوما به معنی کمترین مصرف منابع نیست، لزوما به معنی مقیاس پذیر بودن نیست.

خیلی از دیدگاه نویسنده خوشم اومد که تلاش میکنه مخاطب رو تشویق کنه که «نرم افزار کارآمد» بنویسه.


نویسنده معنای software performance رو «how well software runs» یا «به چه میزان نرم افزار خوب کار میکنه» میدونه و سه تا آیتم اصلی رو در نظر میگیره به عنوان اجزای performance که یکی «accurace» هست، یکی «speed» و یکی هم «efficiency».

که accuracy رو میشه نسبت به میزان خطاهای سیستم سنجید. و speed هم میتونه latency یا throughput باشه.
نویسنده efficiency رو نسبتی از بهینگی مصرف منابع در مقایسه با منابع اختصاص یافته میدونه. مثلا فرض کنید که برای خوندن ۶۴ بایت دیتای ارزشمند، نرم افزار شما ۴۲۰ بایت از حافظه RAM رو اشغال کنه، در این صورت بهینگی شما ۱۵ درصد هست.

البته نویسنده اشاره میکنه که efficiency یا کارآمدی تک بعدی نیست و میزان زمان cpu و ابعاد دیگه هم بسته به نوع تسک و کار انجام شده باید در نظر گرفت.


همچنین نویسنده میزان performance رو چنین فرمولی در نظر میگیره:
performance = (accuracy * efficiency * speed)

و میگه که بهبود هر کدوم از آیتم های ذکر شده به بهبود performance کمک میکنه و میتونه reliability, availability, resiliency, overall latency رو بهبود بده.


Efficient Go
https://www.oreilly.com/library/view/efficient-go/9781098105709/



توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://t.iss.one/gocasts/515

@gocasts

#golang #performance #efficiency
اتفاقی پیش آمد که مجبور شدم پس از چند سال لینوکس‌ام را عوض کنم و دوباره خیلی از configهایی که داشتم را مجدد بازبینی کنم. از اونجایی که استفاده زیادی از cli داشتم رسیدم به جایگزین کردن ls.
بعد از استفاده از برنامه‌های مختلف، آخر LSDeluxe انتخاب کردم.
github.com/lsd-rs/lsd

یکی از ویژگی‌های برجسته‌ی این برنامه، سازگاری کامل آن با سوئیچ‌های ls است. علاوه بر این، به‌خوبی ساختار پوشه‌ها و فایل‌ها را تشخیص می‌دهد و آیکون‌های متناسب با هر کدام را نمایش می‌دهد. این برنامه قابلیت شخصی‌سازی گسترده‌ای دارد؛ به‌طوری که می‌توان با استفاده از فایل پیکربندی (config) تنظیمات موردنظر را برای هر بخش دلخواه اعمال کرد.

نکته‌ی جذاب‌تر این است که LSDeluxe از Theme پشتیبانی می‌کند، به این معنا که می‌توان برای آن رنگ و آیکون‌های اختصاصی تعریف کرد. همچنین، می‌توان برای برنامه‌های خاص مانند git یا هر نرم‌افزاری که نیاز دارید، پیکربندی‌های ویژه‌ای برای نمایش تنظیم کرد.

@DevTwitter | <Vahid Nameni/>
اولین نسخه از کی‌یونیفایدپوش عرضه شد.


https://blogs.kde.org/2024/10/19/kunifiedpush-1.0.0-is-out/



@SohrabContents
با توجه به عرضه شدن نگارش اولیه کی‌یونیفایدپوش (سرویس کی‌دی‌ای برای پوش نوتیفیکیشن) به زودی این ابزار در پارچ به صورت پیشفرض نصب خواهد شد.


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

https://blogs.kde.org/2024/10/19/kunifiedpush-1.0.0-is-out


@ParchLinux
Forwarded from Gopher Academy
🔵 عنوان مقاله
Reduce Your Data Streaming and Kafka Costs by 80+%

🟢 خلاصه مقاله:
مقاله مربوط به فناوری WarpStream می‌پردازد که مزایای معماری بدون دیسک و بدون حالت خود را به همراه مدل BYOC (آوردن مؤلفه‌هات به سرور) به نمایش می‌گذارد. این ساختار جدید، هزینه‌های استفاده از Kafka را تا بیش از ۸۰٪ کاهش می‌دهد، استریم داده‌ها را آسان‌تر می‌کند و امنیت داده‌ها را افزایش می‌دهد. WarpStream با پیشنهاد افتتاح حساب رایگان و ارائه ۴۰۰ دلار اعتبار که هرگز منقضی نمی‌شود، سعی در جذب کاربران جدید و نشان دادن توانایی‌های برتر خود در مقایسه با رقبا دارد. این پلتفرم، با ارائه راهکارهای نوآورانه در زمینه پردازش و انتقال داده‌ها، می‌کوشد راهکاری مقرون به صرفه و کارآمد برای شرکت‌ها و توسعه‌دهندگان فراهم آورد.

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


👑 @gopher_academy
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
💠 گوشی موبایل OpenSource و ماژولار قابل برنامه ریزی با Arduino
با نام wiphone

آموزش برنامه نویسی OS
وقتی firmware گوشی Open Source است یعنی شما میتوانید یک سیستم عامل تلفن واقعی را کاوش کنید تا نحوه عملکرد آن را یاد بگیرید یا آن را هر طور که دوست دارید سفارشی کنید.

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

🔥 شبکه ارتباطات خصوصی خود را اجرا کنید 😎
یک سرور VoIP راه اندازی کنید و شبکه ارتباطی خصوصی خود را اجرا کنید. از طریق WiFi به هر نقطه از جهان متصل شوید و تماس‌ها و پیامک‌ها را از طریق سروری که کنترل می‌کنید هدایت کنید.

قیمت حدود سفارش اماده ۱۵۰ دلار

⁉️سوالی داشتید در بخش کامنت بپرسید با هم برسی کنیم 😎

https://www.wiphone.io/
https://www.wiphone.io/docs/WiPhone/latest/
برنامه نویس وب و طراح وب
دو مفهوم کاملا مجزا

@DevTwitter | <Amir/>
Forwarded from Pishro App
سلام دوستان

🔤🔤🔤 یه ویژگی جدید تو php8.4 اضافه شده بنام Instance Method Chaining Without Parentheses

اما هدف این ویژگی چیه؟

⚡️  هدف این ویژگی ساده کردن نوشتن کد هست وقتی که داریم از method chaining استفاده میکنیم.

این یعنی چی؟

ببینید همونطور که میدونیم تا قبل از PHP 8.4، برای ایجاد یک نمونه از یک کلاس و فراخوانی متدهای آن، باید از پرانتزها برای شیء تازه‌ساخته‌شده استفاده می‌کردید تا متدها را زنجیره‌سازی کنید.

مثال:
$name = (new ReflectionClass($objectOrClass))->getShortName();

ولی حالا تو php 8.4 به این صورت میشه:
$name = new ReflectionClass($objectOrClass)->getShortName();


و دیگه نیازی به استفاده از پرانتر نیست

🔥 خوب این ویژگی به سادگی و خوانایی کد اضافه میکنه و پیچیدگی رو کمتر میکنه

#php


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM