Pishro App
145 subscribers
258 photos
50 videos
5 files
215 links
از دنیای صفر و یک



👨‍💻 @imanborumand_ir


Website: https://pishroapp.net
Download Telegram
📱 هوش مصنوعی جمنای به‌زودی به پیام‌های واتساپ و Google message پاسخ میده!

▪️تو نسخه‌ی بتای اپلیکیشن گوگل یه سری دکمه‌های جدید اضافه شده که افزونه‌های جمنای رو برای واتساپ، پیام‌رسان گوگل و اعلان‌های سیستم اندروید فعال کنیم.

📨 ظاهراً افزونه‌ی Messages (SMS) عملکرد ساده‌ای داره و فقط امکان خوندن و پاسخ‌دادن به پیام‌ها با استفاده از اپلیکیشن Google Messages رو فراهم می‌کنه.

🌐 ازطرفی افزونه‌ی واتساپ هم اضافه شده که به کاربر اجازه میده به وسیله اون پیام ارسال کنه، اونارو بخونه و حتی تماس‌های واتساپ رو برقرار کنه و همه‌ی اینا فقط با یک فرمان صوتی امکان‌پذیر است!
RoidBest

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
1
اگر به دنبال ابزاری هستین که بتونید فایل‌های صوتی رو به متن تبدیل کنید، سایت زیر برای شماست.
تو این سایت میتونید هم فایل صوتی ضبط شده آپلود کنید و هم اینکه به صورت لایو صحبت کنید و متن مدنظرتونو بگیرید.
من برای فارسی رو امتحان کردم کیفیت خوبی داشت.DevTwitter

https://www.speechmatics.com/

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 سلام دوستان، دوتا Query زیر رو ببینید:



SELECT DISTINCT department_id FROM employees;



SELECT department_id FROM employees GROUP BY department_id;




این دوتا Query میان و مقادیر یکتای department_id رو برمیگردونن

اما کدوم یکی بهینه تر هست بنظر شما؟


کوئری اول همه مقادیر یکتای department_id رو ز جدول employees انتخاب میکنه. اما DISTINCT برای انجام این کار نیاز داره که داده‌ها رو مرتب (sort) کنه که این عملیات برای مجموعه‌های داده بزرگ ممکنه بسیار سنگین و زمان‌بر باشه.

کوئری دوم هم همه ی مقادیر یکتای department_id رو انتخاب می‌کنه اما بدون نیاز به مرتب‌سازی.

به طور معمول، استفاده از GROUP BY به جای DISTINCT در چنین مواردی میتونه سریع‌تر باشه چونکه روش‌های پیاده‌سازی متفاوتی دارند که میتونه کارآمدتر باشه.

😃 پس بطور خلاصه :
استفاده غیرضروری از DISTINCT ممکنه باعث کاهش سرعت اجرای کوئری‌ها بشه و در برخی موارد، استفاده از GROUP BY میتونه راه حل بهتری باشه.


#sql


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
⭐️پروتکل gRPC، REST و GraphQL
کدام یک را انتخاب کنیم؟



🙏 انتخاب پروتکل مناسب برای API یکی از تصمیمات کلیدی است که میتونه تأثیر قابل توجهی بر عملکرد و کارایی برنامه‌ها و زیرساخت‌ها داشته باشه. سه پروتکل پرکاربرد در این زمینه gRPC، REST و GraphQL هستند که هر یک ویژگی‌ها و مزایای منحصر به فرد خود را دارند.

🔗 https://pishroapp.net/article/164


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
🔰فریم ورک Aurelia:


Aurelia یک فریم‌ورک مدرن برای توسعه وب است که بر پایه استانداردهای وب بنا شده و به برنامه‌نویسان این امکان را می‌دهد تا برنامه‌های کاربردی پیچیده و مقیاس‌پذیر بسازند. این فریم‌ورک به دلیل سادگی، قابلیت انعطاف‌پذیری و استفاده از تکنولوژی‌های مدرن مانند ES6 و TypeScript شناخته شده است.


🌀ویژگی‌های کلیدی Aurelia:

1⃣مدل‌سازی داده: Aurelia از الگوی MVVM (Model-View-ViewModel) استفاده می‌کند که به جداسازی منطق تجاری از رابط کاربری کمک می‌کند.

2⃣قابلیت استفاده مجدد: کامپوننت‌ها در Aurelia به راحتی قابل استفاده مجدد هستند و می‌توانند در پروژه‌های مختلف به کار روند.

3⃣تست‌پذیری: طراحی Aurelia به گونه‌ای است که تست کردن کدها را آسان می‌کند.

4⃣مدیریت وضعیت: Aurelia ابزارهای مناسبی برای مدیریت وضعیت برنامه ارائه می‌دهد.


اگر شما به دنبال یک فریم‌ورک سبک و مدرن برای توسعه وب هستید، Aurelia می‌تواند گزینه مناسبی
باشد. studio_amozesh

#فریم_ورک


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
یک بار برای همیشه فرق Emulator و Simulator رو یاد بگیر

ایمولیتور "دقیقا" اون سیستم رو شبیه سازی میکنه مثل VirtualBox یا شبیه سازی بازی های کنسول.

اما سیمولیتور "تقریبی" اون سیستم رو شبیه سازی میکنه، مثلا شبیه ساز های مدار الکتریکی، یا شبیه ساز پرواز هواپیما


توی شبیه ساز VirtualBox شما دقیقا دارید یه سیستم عامل رو شبیه سازی میکنید یعنی اگه یه عملی توی شبیه ساز انجام بدید دقیقا توی واقعیت هم همون عمل انجام میشه. اما توی شبیه ساز مدار الکتریکی به صورت ریاضی این عمل انجام میشه و تا حد ممکن توی واقعیت هم همین رفتار رو داره ولی ممکنه رفتارش متفاوت باشه. Linuxor

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
⭐️ ریفکتورینگ «Refactoring» مجموعه‌ای از تکنیک‌هاست که به منظور اصلاح و بهبود کدهای قبلی بدون تغییر در عملکرد و رفتارشان جهت خوانایی، کارامدی و قابلیت نگهداری بیشتر انجام می‌شود.


‼️ یک نرم‌افزار برای ادامه حیات خود همواره نیاز به نگهداری، رفع مشکلات و بروزرسانی دارد. اغلب این بروزرسانی‌ها روی کدهای قبلی انجام می‌شود. کد کثیف و افزایش بدهی فنی، توسعه نرم‌افزار را کند و هزینه‌های آن را بالا خواهد برد.


ریفکتورینگ یک سرمایه‌گذاری و راه حلی برای مقابله با کد کثیف و بدهی فنی است که باعث کاهش هزینه‌های توسعه نرم‌افزار در آینده خواهد شد

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


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3😐1
دوستان متد  rawValue() توی #لاراول به شما این امکان رو میده که مقادیر رو مستقیماً از عبارات SQL دریافت کنید.
این متد زمانی مفیده که بخواید از توابع یا عبارات SQL# خاصی برای استخراج داده‌ها، بدون نیاز به اجرای یک کوئری کامل و گرفتن یک آبجکت مدل استفاده کنید

مثال زیر رو ببینید:
$fullname = UserModel::where('id', $id)
    ->rawValue('CONCAT(first_name, " ", last_name)');

توی این مثال، متد rawValue() برای ترکیب دو ستون first_name و last_name با استفاده از تابع CONCAT در SQL به کار رفته.

یا نمونه ی زیر:

فرض کنید ما یه جدول محصولات داریم که شامل قیمت‌هاست و می‌خوایم قیمت رو با تخفیف محاسبه کنیم. برای این کار از rawValue() و یک عبارت SQL برای محاسبه استفاده می‌کنیم.

$discountedPrice = ProductModel::where('id', $productId)
    ->rawValue('price - (price * discount / 100) AS discounted_price');


بصورت کلی متد rawValue() به شما این امکان رو می‌ده که مستقیماً مقادیر خام از یک کوئری SQL دریافت کنید، بدون نیاز به اجرای کامل یک کوئری و برگرداندن آبجکت مدل.

این روش زمانی مفید هست که شما تنها یک مقدار خاص از یک عبارت SQL نیاز دارید و نمی‌خواید زمان یا منابع بیشتری برای پردازش اضافی صرف کنید.

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🔰 حمله هکری به ۲۰ بانک کشور و دریافت باج ۳ میلیون دلاری برای عدم انتشار داده های مشتریان بانک‌ها

مجله آمریکایی پولیتیکو به نقل از منابع مطلع گزارش داده است که نظام بانکی ایران در ماه گذشته میلادی هدف یک حمله سایبری قرار گرفته است.

پولتیکو به نقل از منابع مطلع گزارش داده که حمله سایبری ماه گذشته که تهدیدی برای ثبات سیستم بانکداری ایران بود موجب شد که شرکت تامین کننده خدمات الکترونیکی برای بانک‌های ایران (شرکت توسن) به هکرها میلیون‌ها دلار باج پرداخت کند.

پولیتیکو در گزارش خود اظهارات متخصصان و مقامات مطلع غربی را بازتاب داده است که می‌گویند یک شرکت ایرانی در ماه گذشته دست‌کم ۳ میلیون دلار به یک گروه ناشناس از هکرها باج پرداخت کرد تا از انتشار اطلاعات حساب‌های شخصی در بیش از ۲۰ بانک داخلی ایران صرف‌نظر کند .

این گزارش تاکید می‌کند که به نظر می‌رسد این حمله، بدترین حمله سایبری باشد که در کشور ایران رخ داده است.

به گفته مقامات آگاه، گروهی به نام «آی‌آر لیکس» که سابقه هک شرکت‌های ایرانی را در پرونده دارد، احتمالاً پشت این نفوذ بوده است. گفته می‌شود هکرها ابتدا تهدید کرده بودند که داده‌های به سرقت رفته را که شامل اطلاعات حساب شخصی و کارت اعتباری میلیون‌ها ایرانی می‌شود، در «وب تاریک» بفروشند، مگر اینکه ۱۰ میلیون دلار ارز دیجیتال دریافت کنند، اما بعداً با دریافت مبلغ کمتری موافقت کردند.

این گروه هکری از طریق شرکتی تحت عنوان «توسن» که به بخش مالی ایران خدمات دیجیتال ارایه می‌کند، وارد سرورهای بانک‌ها شدند. آنها توسن را به عنوان اسب تراوا (Trojan horse) استفاده کردند و اطلاعات بانک‌های خصوصی و دولتی را استخراج کردند. از ۲۹ موسسه مالی فعال، ۲۰ بانک هدف حمله قرار گرفتند. در بین این بانک‌ها نام بانک توسعه و معادن، بانک مهر، پست‌بانک ایران، بانک ایران زمین، بانک سرمایه، بانک ایران ونزوئلا، بانک دی، بانک شهر، اقتصاد نوین، بانک سامان و شعبه‌هایی در ایتالیا و آلمان به چشم می‌خورد.

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

با وجود این تنش‌ها میان تهران، واشینگتن و تل‌آویو، افراد مطلع از این واقعه به پولتیکو گفتند که «آی آر لیکس» نه به ایالات متحده و نه به اسرائیل وابسته است، و نشان می‌دهد که این حمله ممکن است کار هکرهای آزاد بوده باشد که عمدتاً انگیزه‌های مالی دارند.

منبع

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
😐3
‼️ کدوم یکی از متدهای جادویی زیر در PHP برای فراخوانی متدهای استاتیک تعریف‌نشده توی یه کلاس استفاده می‌شه؟
Anonymous Quiz
14%
__call()
43%
__callStatic()
24%
__invoke()
19%
__setStatic()
3
الفبای باینری!

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
🛸 خوب دوستان بدون شک با قابلیت transaction ها توی #لاراول آشنا هستید

فرض کنید میخواید پس از اینکه کاربر عضو شد و توی جدول user ذخیره سازی با موفقیت انجام شد برای کاربر پیام خوش آمد بفرستید

⚡️ خوب چندین روش وجود داره اما تو این پست من میخام در مورد DB::afterCommit صحبت کنم.

🔥 این متد به شما این قابلیت رو میده که حتما بعد از اینکه ذخیره سازی با موفقیت انجام شد عملیات بعدی مثل ارسال ایمیل خوش آمد گویی ارسال بشه

فرض کنید بصورت زیر داریم یک کاربر جدید ایجاد میکنیم
DB::transaction(function () {
$user = User::create([...]);
$user->teams()->create([...]);
});

خوب حالا میتونیم توی متد booted خوده مدلمون یا توی یه Observer کد زیر رو قرار بدیم

class User extends Model
{
protected static function booted()
{
static::created(function ($user) {
// Will send the email only if the
// transaction is committed
DB::afterCommit(function () use ($user) {
Mail::send(new WelcomeEmail($user));
});
});
}
}

خوب اینجا ما گفتیم وقتی یه کاربر ایجاد شد، و توی جدول هم کامیت خورد اونوقت مثلا ایمیل خوش آمد گویی ارسال کنید

اینطور شما میتونید به راحتی به خیلی از اکشن ها دسترسی داشته باشید و کد تمیزتری هم داشته باشید

اگه دوس دارین مطالب اینجوری بیشتر بذارم بکوبین لایک رو ببینم چندنفر علاقمند داریم🥳


#laravel


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53
🔰 آمریکا از غول‌های فناوری خواست تا به دسترسی به VPN در ایران ، روسیه کمک کنند

کاخ سفید از شرکت‌های بزرگ فناوری مانند گوگل، مایکروسافت و آمازون خواسته است تا به فراهم کردن دسترسی به سرویس‌های VPN در روسیه، ایران و سایر کشورها کمک کنند.

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

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

منبع
👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁1
🔰 ایمیل‌های بین آی‌آر لیکس و آرش بابایی (مدیرعامل شرکت توسن) که توسط شخص ثالث به‌دست آمده، با CyberScoop به اشتراک گذاشته شده و توسط منبع جداگانه‌ای آشنا به این موضوع تأیید شده است، دو طرف را در حال مذاکره برای پرداخت از ۸ آگوست نشان می‌دهد.

توسن ۱ بیت کوین را به آدرسی که آی‌آر لیکس ارائه کرده بود ارسال کرد و آی‌آر لیکس دریافت آن را تأیید کرد. 
دو طرف با پرداخت اولیه ۱ بیت کوین و پس از آن برنامه پرداخت ۳ بیت کوین در هفته تا زمانی که مجموعاً ۳۵ بیت کوین پرداخت شود، موافقت کردند. این کیف پول تاکنون تقریباً ۱۰ بیت کوین به ارزش حدود ۵۶۱۰۰۰ دلار دریافت کرده است.

جکی برنز کوون، رئیس اطلاعات تهدیدات سایبری در Chainalysis، به CyberScoop گفت که کیف پول مورد نظر حداقل از دو صرافی مختلف ایرانی پرداخت‌هایی دریافت کرده است که «می‌تواند با پرداخت‌های قربانیان ایرانی مطابقت داشته باشد». 
این کیف پول در مجموع ۱.۱ میلیون دلار بین ۳ سپتامبر ۲۰۲۳ و ۲ سپتامبر ۲۰۲۴ از طریق ۶۰ سپرده دریافت کرده بود.این کیف پول همچنین برای خرید زیرساخت‌های فناوری اطلاعات از جمله دامنه‌ها و خدمات میزبانی استفاده شده است.

لینک مقاله

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
😁31🌚1
Pishro App
🛸 خوب دوستان بدون شک با قابلیت transaction ها توی #لاراول آشنا هستید فرض کنید میخواید پس از اینکه کاربر عضو شد و توی جدول user ذخیره سازی با موفقیت انجام شد برای کاربر پیام خوش آمد بفرستید ⚡️ خوب چندین روش وجود داره اما تو این پست من میخام در مورد DB::afterCommit…
🛸 خوب دوستانِ عزیز بدون شک با soft-deletes #لاراول آشنا هستین

‼️ حالا فرض کنید، تمام پست های یه کاربر رو بصورت soft حذف کردید و حالا میخواید بازیابی کنید

بصورت زیر میتونید همه پست های مربوط به اون کاربر رو بصورت یکجا بازیابی کنید

Post::onlyTrashed()->where('author_id', 1)->restore();



کد بالا میاد و همه پست هایی که مربوط به author_id برابر یک هست رو بازیابی میکنه


#laravel

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍21
🧠 جایگزینی بافت مغز برای جلوگیری از پیری

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

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

#پیری #مغز #تحقیقات #علم #کلون #پزشکی

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍211
⭐️ اگه دوست دارید کامیت های جذاب تر بزارید و هم تیمی های خودتون رو شاد کنید و کلا جو خشک کامیت های گیت رو عوض کنید! میتونید از سایت زیر استفاده کنید

https://gitmoji.dev


🩵 این سایت (Gitmoji) یه سیستم استفاده از ایموجی‌ها برای نوشتن کامیت‌های معنی‌داره.

هر ایموجی یه مفهوم خاص داره و به شما کمک می‌کنه تا پیام‌های کامیت خودتون رو جذاب‌تر و معنی‌دارتر کنید.

می‌توانید از gitmoji-cli هم استفاده کنید تا به‌راحتی ایموجی‌ها را به پیام‌های کامیت خود اضافه کنید.


#git

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Pishro App
🛸 خوب دوستانِ عزیز بدون شک با soft-deletes #لاراول آشنا هستین ‼️ حالا فرض کنید، تمام پست های یه کاربر رو بصورت soft حذف کردید و حالا میخواید بازیابی کنید بصورت زیر میتونید همه پست های مربوط به اون کاربر رو بصورت یکجا بازیابی کنید Post::onlyTrashed()->w…
⭕️ دوستان #لاراول 11.22 منتشر شد

تو این نسخه، یه ویژگی جدید به نام رابطه "inverse/chaperone" توی Eloquent معرفی شد.

💫 این ویژگی به نحوی عمل می‌کنه که از بروز N+1 queries ناخواسته در روابط بین مدل‌ها جلوگیری می‌کنه.


فرض کنید شما یک مدل پست (Post) و یک مدل کامنت (Comment) دارید. رابطه بین این دو مدل به این صورته که هر پست میتونه چندین کامنت داشته باشه.

توی لاراول، معمولاً این رابطه را بصورت زیر تعریف میکنیم:
public function comments(): HasMany
{
    return $this->hasMany(Comment::class);
}


حالا با این قابلیت جدید chaperone()، میشه رابطه را اینطور بنویسیم:
public function comments(): HasMany
{
    return $this->hasMany(Comment::class)->chaperone('post');
}


💫 خوب اما چه اتفاقی می افته؟

با استفاده از chaperone('post')، لاراول به‌طور خودکار اطمینان پیدا میکنه که وقتی رابطه کامنت‌ها از دیتابیس لود میشه، هر کامنت به درستی به مدل پست اصلی‌اش لینک شده باشه.
این کار باعث می‌شه که کوئری‌های اضافه (N+1 Queries) ایجاد نشه و سرعت و کارایی برنامه بهبود پیدا میکنه.

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


مزایای این متد:

جلوگیری از کوئری‌های اضافی (N+1)

لینک خودکار مدل فرزند به مدل والد

حفظ صحیح محدودیت‌ها (Scopes)

#laravel

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ کاربرهای #لینکدین چطوری شغل هاشون رو معرفی میکنند؟

#fun

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6👍2
Pishro App
🔰 ایمیل‌های بین آی‌آر لیکس و آرش بابایی (مدیرعامل شرکت توسن) که توسط شخص ثالث به‌دست آمده، با CyberScoop به اشتراک گذاشته شده و توسط منبع جداگانه‌ای آشنا به این موضوع تأیید شده است، دو طرف را در حال مذاکره برای پرداخت از ۸ آگوست نشان می‌دهد. توسن ۱ بیت کوین…
🔰 آیا دسترسی هکرها به داده‌های بیست بانک ایرانی پس از باج خواهی محدود شده است؟

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

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

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

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3🌚1