Forwarded from Laravel News
Check Env Variables Across All .env Files https://laravel-news.com/laravel-env-keys-checker
Laravel News
Check Env Variables Across All .env Files - Laravel News
The Laravel Env Keys Checker package checks if all keys are available across all .env files. This is useful if you have multiple .env files and want to ensure that all values are present.
Forwarded from کانال اطلاعرسانی توزیع پارچ
چینش ها به پارچ گنوم میآیند!
به زودی در پارچ گنوم قادر خواهید بود تا میان ۴ چینش پیشفرض انتخاب کنید.
این چینش ها عبارتند از:
- Windows 11 Style
- Unity Style
- Parch Style
- Stock Gnome
@ParchLinux
به زودی در پارچ گنوم قادر خواهید بود تا میان ۴ چینش پیشفرض انتخاب کنید.
این چینش ها عبارتند از:
- Windows 11 Style
- Unity Style
- Parch Style
- Stock Gnome
@ParchLinux
Forwarded from Laravel News
Laravel performance monitoring in Honeybadger https://laravel-news.com/honeybadger-laravel-performance-monitoring
Laravel News
Laravel performance monitoring in Honeybadger - Laravel News
Learn how to improve the performance of your Laravel applications in Honeybadger Insights—our new logging and performance monitoring tool.
Forwarded from IRCF | اینترنت آزاد برای همه
اپ Purlite که اخیرا برای سیستمعامل اندروید عرضه شده، یک فیلترشکن ساده و رایگان برای دورزدن فیلترینگ هست، که از مخازن کانفیگ رایگان استفاده کرده و از امکان تعریف لیستسیاه برنامهها برخورداره.
اینفیلترشکن بهطور متنباز منتشر شده و با گیتهاباکشنز بیلد گرفته میشه.
👉 github.com/davudsedft/purlite/releases/latest
🔍 ircf.space/software
@ircfspace
اینفیلترشکن بهطور متنباز منتشر شده و با گیتهاباکشنز بیلد گرفته میشه.
👉 github.com/davudsedft/purlite/releases/latest
🔍 ircf.space/software
@ircfspace
Forwarded from DevTwitter | توییت برنامه نویسی
یه اسکریپت پایتون نوشتم که خیلی سریع و راحت میشه سایز queue ها و topicهای روی سرویس باس Azure روی ترمینال مانیتور کرد.
راه های دیگه هم داره، ولی من یه چیز ساده و مخصوص ترمینال میخواستم تا توی کارم ازش استفاده کنم.
https://github.com/imaun/servicebus-size-monitor
@DevTwitter | <imun/>
راه های دیگه هم داره، ولی من یه چیز ساده و مخصوص ترمینال میخواستم تا توی کارم ازش استفاده کنم.
https://github.com/imaun/servicebus-size-monitor
@DevTwitter | <imun/>
Forwarded from LearnPOV | لرن پی او وی
💻 #مسابقه 🎮
فکر کن بهت این اجازه رو دادن که با هر زبان، فریمورک و لایبرری که میخوای خونه خودت رو بسازی 🏠
بین بهترین جواب ها رای گیری میزارم ببینم خونه کی درست حسابی تره 😎🔥
فکر کن بهت این اجازه رو دادن که با هر زبان، فریمورک و لایبرری که میخوای خونه خودت رو بسازی 🏠
استفاده از هر زبان و یا فریمورکی آزاده توی هر حوزه ای ؛)
ترکیب درست و منطقی از ابزارها و لایبرریها امتیاز بالاتری داره 🔥
توضیح در مورد جذئیات و دلیل ترکیبی که چیدید هم امتیاز مثبت داره ✅
بین بهترین جواب ها رای گیری میزارم ببینم خونه کی درست حسابی تره 😎🔥
#️⃣ #question #fun
🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟 | 𝗚𝗥𝗢𝗨𝗣
Forwarded from DevTwitter | توییت برنامه نویسی
در لاراول، به جای اینکه خودمون بیایم و شناسههای مدلها رو دستی مقایسه کنیم، بهتره از روابطی که بین مدلها تعریف کردیم استفاده کنیم. اینجوری هم کدمون تمیزتر و خواناتر میشه، هم استانداردتر و حرفهایتر!
مثلاً فرض کن میخوایم یه پست رو بر اساس دستهبندی و نویسندهاش پیدا کنیم. به جای اینکه شناسهها رو اینطوری چک کنیم:
میتونیم از متدهای خفن لاراول مثل
یا مثلاً برای اینکه ببینیم نویسنده یه پست همون کاربری هست که ما میخوایم، به جای اینکه شناسهها رو مستقیم مقایسه کنیم:
خیلی راحت میتونیم از رابطه استفاده کنیم:
اینجوری کدمون سادهتر و شیکتر میشه و از امکانات قوی لاراول هم به بهترین شکل ممکن استفاده میکنیم!
@DevTwitter | <Firoozeh Daeizadeh/>
مثلاً فرض کن میخوایم یه پست رو بر اساس دستهبندی و نویسندهاش پیدا کنیم. به جای اینکه شناسهها رو اینطوری چک کنیم:
Post::where('category_id', $category->id)
->where('author_id', $user->id)
->first();میتونیم از متدهای خفن لاراول مثل
whereBelongsTo استفاده کنیم که خودش باهوشه و از روابط تعریفشده استفاده میکنه:Post::whereBelongsTo($category)
->whereBelongsTo($user, 'author')
->first();
یا مثلاً برای اینکه ببینیم نویسنده یه پست همون کاربری هست که ما میخوایم، به جای اینکه شناسهها رو مستقیم مقایسه کنیم:
$post->author_id == $user->id;
خیلی راحت میتونیم از رابطه استفاده کنیم:
$post->author()->is($user);
اینجوری کدمون سادهتر و شیکتر میشه و از امکانات قوی لاراول هم به بهترین شکل ممکن استفاده میکنیم!
@DevTwitter | <Firoozeh Daeizadeh/>
Forwarded from Python BackendHub (Mani)
خیلی وقت پیش یکی تو گروه پرسید چطور با زبونای دیگه مثل rust برای پایتون لایبری مینویسن.
منم جوابشونو دادم ولی یادم رفت بفرستم تو کانال. برای همین پست بعدیو به این موضوع اختصاص میدم.
منم جوابشونو دادم ولی یادم رفت بفرستم تو کانال. برای همین پست بعدیو به این موضوع اختصاص میدم.
Forwarded from Python BackendHub (Mani)
ما یک لایبری داریم تو راست به اسم pyo3 که بهت اجازه میده تو راست کد binding بزنی بدون اینکه بخوای یک عالمه بویلرپلیت بنویسی. اما چطور؟ core پایتون expose شده تحت لایبری C به اسم libpython
لایبری مثل Pyo3 که اجازه میده با راست برای پایتون کد binding بزنی اینطوری کار میکنه که میاد اون لایبری libpython رو wrap میکنه ولی به صورت تایپ سیف و مموری سیف. من الان یکم داکشو خوندم فکر کنم بخوام یک ادد ساده بنویسم این شکلی میشه:
و ظاهرا خوده PyO3 برام فایل stub هم میسازه که مشخص شه اینترفیس پکیجم چطوری شده.
بعد با این لایبری میام کد rustمو کامپایل میکنم. میزنم maturin develop که پکیج رو کامپایل میکنه به فایل so یا dll. و خودش هم میفرسته رو pypi همون فایلو با دستور maturin publish.
بعدش پکیجمو نصب میکنم نویسم
و جوابش میاد میشه ۳. اما تو ران تایم چطوری اجرا میشه؟
فایل .so بهش میگن shared object.
وقتی داری یک چیزی رو کامپایل میکنی دو حالت داره:
۱. یا اینکه بیای static linking انجام بدی. یک executable میدی بیرون که اونو اجرا میکنی درجا اجرا میشه.
۲. یا اینکه بیای dynamic loading انجام بدی. یعنی نمیای executable بدی که قابل اجراست و و همه چیز داخلش هست. به جاش میای باینری کد برنامتو کمپایل میکنی به همراه یک سری symbol و executable نیست دیگه مستقیم.سیمبل میشه function ها و variable هات.و یک برنامه دیگه اونوقت میتونه بیاد با استفاده از اون سیمبل ها, به صورت داینامیک از ماشین کدت استفاده کنه.
حالا چطوری؟ تو سیستم عامل یک چیزی وجود داره به اسم dynamic loader که وظیفش اینه دقیقا همین فایل های .so رو ران کنه. اینم رفرنس لینوکیسش.
در نهایت مفسر پایتون میتونه تو ران تایم کد rust ای که تحت فایل .so داری رو با داینامیک لودر ران کنه. و اون کد so دقیقا توابعی که تو راست نوشتی ماشین کدشو به صورت callable پایتون داره و از اون جایی که libpython هم wrap شده میتونی از api های libpython استفاده کنی. مثل گرفتن GIL و ریلیز کردنش. بقیه extension های C هم همینطوری کار میکنند.
@PyBackendHub
لایبری مثل Pyo3 که اجازه میده با راست برای پایتون کد binding بزنی اینطوری کار میکنه که میاد اون لایبری libpython رو wrap میکنه ولی به صورت تایپ سیف و مموری سیف. من الان یکم داکشو خوندم فکر کنم بخوام یک ادد ساده بنویسم این شکلی میشه:
use pyo3::prelude::*;
#[pyfunction]
fn add(a: i32, b: i32) -> i32 {
a + b
}
#[pymodule]
fn my_module(_py: Python, m: &PyModule) -> PyResult<()> {
m.add_function(wrap_pyfunction!(add, m)?)?;
Ok(())
}
و ظاهرا خوده PyO3 برام فایل stub هم میسازه که مشخص شه اینترفیس پکیجم چطوری شده.
def add(a: int, b: int) -> int
بعد با این لایبری میام کد rustمو کامپایل میکنم. میزنم maturin develop که پکیج رو کامپایل میکنه به فایل so یا dll. و خودش هم میفرسته رو pypi همون فایلو با دستور maturin publish.
بعدش پکیجمو نصب میکنم نویسم
from my_module import add
add(1,2)
و جوابش میاد میشه ۳. اما تو ران تایم چطوری اجرا میشه؟
فایل .so بهش میگن shared object.
وقتی داری یک چیزی رو کامپایل میکنی دو حالت داره:
۱. یا اینکه بیای static linking انجام بدی. یک executable میدی بیرون که اونو اجرا میکنی درجا اجرا میشه.
۲. یا اینکه بیای dynamic loading انجام بدی. یعنی نمیای executable بدی که قابل اجراست و و همه چیز داخلش هست. به جاش میای باینری کد برنامتو کمپایل میکنی به همراه یک سری symbol و executable نیست دیگه مستقیم.سیمبل میشه function ها و variable هات.و یک برنامه دیگه اونوقت میتونه بیاد با استفاده از اون سیمبل ها, به صورت داینامیک از ماشین کدت استفاده کنه.
حالا چطوری؟ تو سیستم عامل یک چیزی وجود داره به اسم dynamic loader که وظیفش اینه دقیقا همین فایل های .so رو ران کنه. اینم رفرنس لینوکیسش.
در نهایت مفسر پایتون میتونه تو ران تایم کد rust ای که تحت فایل .so داری رو با داینامیک لودر ران کنه. و اون کد so دقیقا توابعی که تو راست نوشتی ماشین کدشو به صورت callable پایتون داره و از اون جایی که libpython هم wrap شده میتونی از api های libpython استفاده کنی. مثل گرفتن GIL و ریلیز کردنش. بقیه extension های C هم همینطوری کار میکنند.
@PyBackendHub
GitHub
GitHub - PyO3/maturin: Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages
Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages - PyO3/maturin
Forwarded from Linuxor ?
اگه دارین برای اکوسیستم اپل یا مایکروسافت برنامه مینویسین بهتره سیستم عامل هم متناظر با همون انتخاب کنید در غیر این صورت لینوکس بهترین گزینه برای برنامه نویسی با اکثر زباناست.
لینوکس بهتون قوی ترین خط فرمان ممکن رو میده، رایگان و متن بازه، اگه برنامه سمت سرور مینویسین خیالتون از بابت خطا های احتمالی روی سرور راحت تره، نصب ابزار ها و کتابخونه ها توی لینوکس راحت تره.
البته به این توجه داشته باشین که کوچ کردن به لینوکس کمی زمان بره و ممکنه اوایل زیادی دستتون برای کار کردن با سیستم عامل باز نباشه ولی شما رو محدود نمیکنه، و برعکس آزادی عمل بیشتری هم حتی بهتون میده.
🐧 @Linuxor
لینوکس بهتون قوی ترین خط فرمان ممکن رو میده، رایگان و متن بازه، اگه برنامه سمت سرور مینویسین خیالتون از بابت خطا های احتمالی روی سرور راحت تره، نصب ابزار ها و کتابخونه ها توی لینوکس راحت تره.
البته به این توجه داشته باشین که کوچ کردن به لینوکس کمی زمان بره و ممکنه اوایل زیادی دستتون برای کار کردن با سیستم عامل باز نباشه ولی شما رو محدود نمیکنه، و برعکس آزادی عمل بیشتری هم حتی بهتون میده.
🐧 @Linuxor
Forwarded from PhiloLearn | فیلولرن
بچه ها اگر از توان سیستمتون یا قدرت اینترنتتون اطمینان ندارید، نرید سراغ fne-tune کردن مدلی
آخرش مثل من دچار سر درد حاد میشید
اول مواد اولیه رو تامین کنید بعد از این کارا بکنید
آخرش مثل من دچار سر درد حاد میشید
اول مواد اولیه رو تامین کنید بعد از این کارا بکنید
Forwarded from Yasha
بچهها اخیرا توی تلگرام یه بازی به نام گوبلین اومده که میشه امتیازات بازی رو به TON تبدیل کرد. توی این ویدیو ۱۰ دقیقهای یکم دربارهاش صحبت کردم و آموزش دادم که چطوری میشه انجامش داد.
https://youtu.be/BBKNgwiiTaQ
@Yasha
https://youtu.be/BBKNgwiiTaQ
@Yasha
Forwarded from Code Module | کد ماژول (𔓙)
Forwarded from Rust for Python developers
سر یک موضوع احمقانه ۱ ساعت وقتم رفت.
توی تصویر میبینید که خط رو شکونده دقیقا باید توی rust همینکارو بکنید وگرنه
چیزی که بدون مشکل هست:
خلاصه که حواستون باشه؛ من حتی توی کدهای دیگران هم دیدم این مورد رو.
توی تصویر میبینید که خط رو شکونده دقیقا باید توی rust همینکارو بکنید وگرنه
query درست نیست و بدتر از اون خطایی هم دریافت نمیکنید.r#"--sql SELECT name FROM users;"
چیزی که بدون مشکل هست:
r#"--sql
SELECT name FROM users;
"
خلاصه که حواستون باشه؛ من حتی توی کدهای دیگران هم دیدم این مورد رو.
Forwarded from Rust for Python developers
#Quick
توی پایتون (باقی زبانها) وقتی کسی بهم میگفت سریعترین راه برای پیشرفت کردن جیه میگفتم یاد بگیر خطاهارو خیلی زود بفهمی.
توی
توی
https://docs.rs/
به راحتی داخلش بچرخی و به راحتی بخونی و درک کنی (چیزی که ندیدم جایی آموزش بده) این موضوع رو توی سنیورهای
ولی برای جونیورها خیلی خیلی سخت هست انگار و اکثرا سمت داکیومنت نمیرن (خیلی دیر این سمتی میروند)
توی پایتون (باقی زبانها) وقتی کسی بهم میگفت سریعترین راه برای پیشرفت کردن جیه میگفتم یاد بگیر خطاهارو خیلی زود بفهمی.
توی
Rust این موضوع صادق نیست چون کامپایلر خیلی دقیق خطارو میکوبه تو صورتت اما یک چیز معادل داریم که توی تجربه این مدت بهش رسیدم.توی
Rust برای پیشرفت سریعتر باید یادبگیری داکیومنت اون crate ایی که داری باهاش کار میکنی رو توی سایت https://docs.rs/
به راحتی داخلش بچرخی و به راحتی بخونی و درک کنی (چیزی که ندیدم جایی آموزش بده) این موضوع رو توی سنیورهای
Rust به خوبی میشه دید سریعا متدهای struct, enum, ... رو پیدا میکنند trait هایی که باید پیادهسازی بشه و نحوه استفاده و ... ولی برای جونیورها خیلی خیلی سخت هست انگار و اکثرا سمت داکیومنت نمیرن (خیلی دیر این سمتی میروند)