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



👨‍💻 @imanborumand_ir


Website: https://pishroapp.net
Download Telegram
سلام بچه ها

💧 یه ریپوی مفید که میتونید کلی آموزش برنامه نویسی پیدا کنید البته آموزش به زبان فارسی هم هست

https://github.com/EbookFoundation/free-programming-books?tab=readme-ov-file


👾 @pishraopp
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
من بیش از ۱۵ سال هست برنامه نویسی میکنم، از فریلنسری و پروژه‌ای شروع کردم و الان هم دارم باهاش زندگی میکنم.

بدون شک برنامه نویسی یک شغل سخت و پر از چالش هست و هیچوقت متوجه نشدم که چرا یک عده برای کسب درآمد با تیترهای آنچنانی و وسوسه برانگیز فقط به فکر جیب خودشون هستند که بله با برنامه نویسی تمام دنیا رو بخر!


واقعا این درست نیست

شما وقتی برنامه نویس بشی باید مدام ورزش کنی، مدام مقاله بخونی، مدام ذهنت درگیر باشه، تا حدود زیادی از اجتماع دور میشی، مدام باید تکنولوژی های جدید رو یاد بگیری و هزار مدام دیگه که نیاز به ذهن بشدت خستگی ناپذیر داره اون هم توی ایران و شرایط کنونی که هیچ چیزی درست نیست

از اون طرف کارفرمای نامتوجه که واقعا فک میکنن کد زدن مثل علی بابا و چراغ جادو هست که میگی کنجد کنجد باز شو و یهو کد تولید میشه!

من مدتهاست به هرکی میخواد برنامه نویس بشه اول جنبه هایی رو میگم که متوجه بشه امثال محسن مدحج و... که با فروش آرزو پول حرام به جیب میزنن دروغ میگن.

واقعا نکنید اینکارو
آرزو نفروشید

بازارهای پردآمد دیگه ای هم هست که خیلی بهتر هست. و حتی نیاز به ساعتها مداوم نشستن نداره.



امیدوارم بزودی ریشه‌ی این تبلیغات فیک برچیده بشه


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍931
⭕️ جستجوی خطی (Linear Search) چیست؟ با Linear Search بیشتر آشنا شویم


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

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



🌐 https://pishroapp.net/article/169


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
2
سلام دوستان

🔤🔤🔤 یه ویژگی جدید تو 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
👍53
☄️2️⃣0️⃣0️⃣


۲۰۰ تا شدنمون مبارک😍
مرسی که بهم اعتماد میکنید
سعی میکنم روز به روز مطالب جدید تر و بهتری بذارم⭐️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍542
🔥 سلام دوستان تو ORM #لاراول یه متد هست بنام tap()

🔥 این متد به شما این امکان رو میده که بدون شکستن جریان عملیات زنجیره‌ای (chaining)، وضعیت یک کوئری یا کالکشن رو در وسط اون مشاهده و بررسی کنید.


برای مثال، ممکنه بخواید نتیجه یک کوئری رو تو یه نقطه خاص ببینید یا اون رو ثبت کنید، بدون اینکه روند اجرا رو متوقف کنید.

این کار به شما کمک می‌کنه تا راحت‌تر بتونید جریان کد و داده‌ها رو مشاهده کنید.

به صورت زیر هم میتونید از tap() استفاده کنید:

User::where('active', 1)
    ->tap(function ($query) {
        Log::debug($query->toSql(), $query->getBindings());
    })
    ->get();


🏴‍☠️ یه نکته هم بگم اینکه فرق tap() با enableQueryLog اینه که این متد فقط یک query خاص رو تو یه نقطه خاص لاگ میگیره و  لاگ گیری دقیق‌تری به شما میده


#laravel

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
آناتومی تابع

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#اوبونتو، توزیع محبوب لینوکس؛ بیست‌ساله شد.
این توزیع، در اکتبر ۲۰۰۴ توسط «مارک شاتلورث» و بر پایه «دبیان گنو/لینوکس» با هدف تبدیل شدن به یک سیستم‌عامل همگانی دسکتاپ، ارائه شد.
🔥 در حال حاضر این توزیع انتخاب اول بسیاری افراد هم برای دسکتاپ و هم برای سروره.

تولدش مبارک!

#ubuntu #linux

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
4
خوب دوستان همونطور که میدونید و با #git کار کردید مرج کردن و ریبیس کردن دو روش محبوب برای اعمال تغییرات از یک شاخه به شاخه دیگر هستن. که هر دوی آن‌ها در نهایت به یک نتیجه میرسن!

اما این دو تغییراتی دارند که گاهی وقتا ممکنه حتی توی سوالات مصاحبه از شما پرسیده بشه
اما این تفاوت ها چیه؟


وقتی شما از  Merge استفاده میکنید، تاریخچه تغییرات به همان شکلی که رخ داده حفظ میشه و یک کامیت مرج به تاریخچه اضافه میشه که نشان میده دو شاخه با هم ترکیب شده‌اند.

🧩 اما وقتی Rebase میکنید، تاریخچه تغییرات بازنویسی میشه و کامیت‌ها به صورت خطی و مرتب روی شاخه مقصد اعمال می‌شوند.


👶 بصورت کلی Merge تاریخچه شاخه‌ها رو حفظ میکنه که ممکن هست تاریخچه پروژه شامل چند شاخه و پیچیدگی باشه، اما Rebase تاریخچه رو تمیز و خطی نگه میداره که خواندن و دنبال کردن رو آسان‌تر میکنه.

👶 البته باید بگم که  Rebase به دلیل بازنویسی تاریخچه میتونه خطرناک باشه، به‌خصوص اگر روی شاخه‌های مشترک یا عمومی انجام بشه.
که ممکنه باعث ایجاد تناقضاتی بشه که حلشون مشکل باشه و اذیت کنه. والبته Merge این مشکل رو نداره چونکه تاریخچه رو  تغییر نمیده.


ما زمانی از Merge استفاده میکنیم که بخوایم تاریخچه کامل تغییرات رو حفظ کنیم. و زمانی از  Rebase استفاده میکنیم که یه تاریخچه تمیز و بدون شاخه‌های اضافی مد نظرمون باشه.


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
7
بعد از خواندن کتاب جاوا اسکریپت برای کودکان:


#خارج_از_کد

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
3😁3
نسخه جدید Next.js 15 اومده!

@next/codemod CLI
بهروز رسانی بدون دردسر!
به راحتی به آخرین نسخههای Next.js و React منتقل شو!

Async Request APIs (Breaking)
بیدردسرتر از همیشه!
گام به جلو در راستای یک مدل رندرینگ و کشینگ سادهتر.

Caching Semantics (Breaking)
کشینگ دیگه به عنوان پیشفرض نیست!
درخواستهای fetch، GET Route Handlers و روت کلاینت دیگه کش نمیشن!

React 19 Support
همیشه بهروز!
پشتیبانی از React 19 و بهبود هایدریشن!

Turbopack Dev (Stable)
دنده پنج رو بزن!
بهبود عملکرد و ثبات در زمان توسعه. ظاهرا توربو میخواد کار کنه اینبار

Static Route Indicato
چراغ سبز یا قرمز!
شناسایی مسیرهای استاتیک و داینامیک برای بهینهسازی سریعتر! اینم فیچر جذابی به نظر میرسه ولی باید تست بشه که چقدر عمل میکنه

unstable_after API (Experimental)
کارها رو بعد از دریافت رسپانس انجام بده!
با after() کارهای لازم رو بعد از ارسال پاسخ انجام بده و معطل نکن!

instrumentation.js API (Stable)
مشاهده بهتر چرخه عمر سرور.
برای نظارت بر عملکرد سرور از این API استفاده کن!

Enhanced Forms (next/form)
فرمهای هوشمند!
فرمهایی که خودشون کارها رو پیشدستی میکنن و بدون کد نویسی اضافه بهینه میشن!

next.config: TypeScript support for next.config.ts
تنظیمات با TypeScript!
حالا میتونی تنظیمات Next.js رو با TypeScript بنویسی.

Self-hosting Improvements
کنترل بیشتر!
کنترل بهتری روی هدرهای Cache-Control.

Server Actions Security
امنیت بهبود یافته!

Bundling External Packages (Stable)
مدیریت پکیج های خارجی راحتتر!
گزینه‌های جدید برای مدیریت پکیج ها در App و Pages Router.

ESLint 9 Support
پشتیبانی از ESLint 9 برای کدهایی با کیفیت بالاتر.


Development and Build Performance
زمان‌های بیلد و Fast Refresh سریعتر!

منبع: DevTwitter


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🔥 بدون شک یکی از مهمترین بخش های هر سیستمی بخش اعتبار سنجی داده ها هست
توی لاراول هم همونطور که میدونید شما میتونید درخواست ها رو به چندین روش اعتبار سنجی کنید

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

💡 حالا شما میتوانید با استفاده از دو روش زیر کاری کنید که در صورتی که اعتبارسنجی اولین خطا رو دریافت کرد خطا رو برگردونه


اگر از validate استفاده میکنید:

$request->validate([
'title' => 'bail|required|unique:posts|max:255',
'body' => 'required',
]);

با استفاده از bail میتونید به لاراول بگید اولین خطا رو دریافت کرد خطا رو برگردونه و اینطور دیگه لیستی از خطا ها برنمیگرده

اگر از FormRequest هم استفاده میکنید می تونید از خاصیت زیر توی FormRequest خودتون استفاده کنید:


protected $stopOnFirstFailure = true;


به اینصورت دیگه با دریافت اولین خطای اعتبارسنجی #لاراول نتیجه رو برمیگردونه


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
متأسفانه و در کمال ناباوری به دلیل تحریم‌های روسیه از سمت ایالات متحده آمریکا، لینوس تروالدز در اقدامی عجیب تمامی مشارکت کننده‌های روسی کرنل رو از لیست مشارکت‌کننده ها حذف کرد:

🔗 https://www.phoronix.com/news/Linus-Torvalds-Russian-Devs


اوپن سورسی که اوپن نیست!

منبع SohrabContents


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚4😁2
📲 خداحافظی هواوی با اندروید؛ سیستم‌عامل HarmonyOS Next معرفی شد

🔸#هواوی نسخه جدید سیستم‌عامل خود با نام HarmonyOS Next را معرفی کرد که رقیب سیستم‌عامل اندروید محسوب می‌شود. HarmonyOS Next در واقع اولین سیستم‌عامل هواوی است که به‌صورت کاملاً مستقل از اندروید توسعه داده شده است و از اپلیکیشن‌های اندروید پشتیبانی نمی‌کند.

🔸این نسخه از سیستم‌عامل اختصاصی هواوی روی طیف وسیعی از دستگاه‌ها اعم از گوشی‌های هوشمند، پوشیدنی‌ها، دستگاه‌های خانه هوشمند و خودروها قابلیت اجرا دارد. HarmonyOS Next از میکروکرنل اختصاصی هواوی براساس هسته منبع‌باز OpenHarmony استفاده می‌کند. همچنین از طریق کامپایلر هواوی آرک با سرویس‌های موبایل هواوی (HMS) پشتیبانی از اپلیکیشن‌ها را به دستگاه‌های هواوی می‌آورد.

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
1👎1
🔹تاریخچه‌ی هوش‌مصنوعی از زبان ChatGPT

🔹تاریخچه هوش‌مصنوعی (AI) به دهه 1950 برمی‌گردد، زمانی که محققان برای اولین بار شروع به کاوش در مفهوم ماشین‌هایی کردند که قادر به تفکر و یادگیری هستند.

🔹 در سال 1956، کنفرانسی در کالج دارتموث آغاز تحقیقات مدرن هوش مصنوعی بود.

🔹 در این دوره، محققان الگوریتم‌هایی را برای رایانه‌ها توسعه دادند تا مسائل را حل کنند و از تجربیات آن‌ها درس بگیرند.

🔹در دهه 1960، تحقیقات هوش مصنوعی بر روی توسعه برنامه‌هایی متمرکز شد که بتوانند زبان طبیعی را درک کنند و بازی‌هایی مانند شطرنج انجام دهند.

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

🔹 به دنبال آن سیستم‌های خبره در دهه های 1970 و 1980 توسعه یافتند که برای تقلید از فرآیندهای تصمیم گیری انسانی طراحی شده بودند.

🔹 در دهه 1990، تحقیقات هوش مصنوعی به سمت یادگیری ماشین و شبکه‌های عصبی تغییر یافت.

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

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

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
ویژگی جدید گوگل برای نمایش آپدیت‌های لحظه‌ای در نوار وضعیت اندروید

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

به گفته میشال رحمان، گوگل یه API جدید به اسم Rich Ongoing Notifications تو نسخه آزمایشی Android 15 QPR1 Beta 3 اضافه کرده که به اپ‌ها اجازه می‌ده اعلان‌هایی مثل وضعیت حمل‌ونقل یا زمان تخمینی تحویل رو به صورت خلاصه تو نوار وضعیت نشون بدن.

این اعلان‌ها می‌تونن مثل تایمر تماس تلفنی فعلی اندروید، اطلاعات مختصری تو یه حباب نشون بدن که با لمس کردنش می‌شه جزئیات بیشتر رو دید. این ویژگی احتمالاً با اندروید 16 عرضه می‌شه.رادیوبست

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
اولین مصاحبه کاری بشریت!😅


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
😁41
سلام دوستان، همونطور که میدونید در SQL،  از JOIN (جوین) برای ترکیب داده‌ها از چندین جدول استفاده می‌شه.

❤️ به عبارت ساده‌تر، join به شما این امکان رو می‌ده که اطلاعات مرتبط رو از جداول مختلف به هم پیوند بدین تا بتونید به داده‌ها به صورت یکپارچه دسترسی داشته باشید.

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

میخام در مورد دو نوع جوین برای شما توضیح بدم:

🧠 اینر جوین(INNER JOIN): این نوع جوین فقط ردیف‌هایی که تو هر دو جدول مورد نظر دارای مقادیر منطبق هستند رو برمی‌گردونه. برای مثال، اگه بخواید فقط سفارشات میشتریهایی که سفارش ثبت کرده‌اند رو ببینید، از INNER JOIN استفاده میکنید.

🧠 لفت جوین(LEFT JOIN): این نوع جوین همه‌ی ردیف‌ها رو از جدول چپ (اول) و ردیف‌های منطبق از جدول راست (دوم) رو برمیگردونه. اگر در جدول راست تطابقی وجود نداشته باشه، مقدار NULL در آن ستون‌ها نمایش داده می‌شود. این نوع جوین وقتی مفید هست که بخواید لیست کامل همه داده‌های جدول اول رو ببینید و فقط اطلاعات مرتبط از جدول دوم را اضافه کنید، حتی اگر بعضی از داده‌ها در جدول دوم وجود نداشته باشه.


فرض کنید دو جدول داریم:

جدول Customers (مشتریان) که اطلاعات مشتریان رو ذخیره میکنه.
جدول Orders (سفارشات) که سفارشات ثبت‌شده توسط مشتریان رو نگهداری میکنه.

با استفاده از INNER JOIN و LEFT JOIN میتونیم انتخاب کنیم که داده‌ها را فقط برای مشتریانی که سفارش دارند ببینیم (INNER JOIN)، یا اطلاعات تمام مشتریان را که حتی  سفارشی نداشته باشند با (LEFT JOIN) نمایش بدیم.



INNER JOIN:
SELECT a.ID, a.Name, b.OrderDate
FROM Customers a
INNER JOIN Orders b ON a.ID = b.CustomerID;

در query بالا، فقط مشتری‌هایی که سفارش دارند نمایش داده میشن.

LEFT JOIN:
SELECT a.ID, a.Name, b.OrderDate
FROM Customers a
LEFT JOIN Orders b ON a.ID = b.CustomerID;

در query بالا نیز، همه مشتری‌ها نمایش داده میشن؛ حتی اگر سفارشی نداشته باشند.



به طور خلاصه:

از JOIN برای ترکیب داده‌های مرتبط از جداول مختلف استفاده می‌شه و با INNER JOIN فقط داده‌های منطبق از هر دو جدول را می‌گیرید و با LEFT JOIN داده‌های کامل جدول اول را به همراه داده‌های منطبق از جدول دوم (و مقدار NULL برای موارد ناموجود) رو میتونید بگیرید


#mysql #sql #join


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🔥1
👨‍💻 وقتی یک برنامه روی کامپیوتر اجرا میشه دقیقا چه اتفاقی می افته؟

این سایت خلاصه و کوتاه در چند مرحله به این سوال جواب میده و یه دید خوبی بهتون میده 👇

https://cpu.land

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
❄️ کاربرد های #پایتون در هوش مصنوعی:

یادگیری ماشین و یادگیری عمیق: پایتون به عنوان یکی از زبان‌های اصلی برای پیاده‌سازی الگوریتم‌های یادگیری ماشین و یادگیری عمیق استفاده می‌شود. کتابخانه‌هایی مانند TensorFlow و PyTorch که ابزارهای قدرتمندی برای این حوزه ارائه می‌دهند، به زبان پایتون پیاده‌سازی شده‌اند.

پردازش زبان طبیعی (NLP): در حوزه پردازش زبان طبیعی، پایتون از طریق کتابخانه‌هایی مانند NLTK (Natural Language Toolkit) و SpaCy استفاده می‌شود. این کتابخانه‌ها برای تحلیل و پردازش متون به زبان انسانی، تشخیص انواع متن، ترجمه ماشینی و دیگر کاربردها به کار می‌روند.

پردازش تصویر و بینایی ماشین: برای پردازش تصویر و بینایی ماشین، پایتون از کتابخانه‌هایی مانند OpenCV و scikit-image استفاده می‌کند. این کتابخانه‌ها ابزارهایی برای تشخیص الگوها، تشخیص اشیا، تشخیص چهره، تشخیص اثر انگشت و سایر وظایف پردازش تصویر را فراهم می‌کنند.

سیستم‌های پیشنهادگی: در سیستم‌های پیشنهادگی (مانند سیستم‌های پیشنهاد محتوا)، پایتون به عنوان زبان اصلی برنامه‌نویسی مورد استفاده قرار می‌گیرد. از کتابخانه‌هایی مانند Surprise و LightFM برای پیاده‌سازی سیستم‌های پیشنهادگی در پایتون استفاده می‌شود.

🤔 تحلیل داده و انتقال آنها به اطلاعات مفید: پایتون به عنوان یکی از ابزارهای اصلی برای تحلیل داده و استخراج اطلاعات از داده‌های ساختار یافته و نا‌ساختاری (مانند داده‌های وب، داده‌های حسگرها و داده‌های مرتبط با IoT) به کار می‌رود. کتابخانه‌هایی مانند Pandas، NumPy و scikit-learn به این منظور استفاده می‌شوند.

پردازش گفتار: برای پردازش سیگنال‌های صوتی و تشخیص گفتار، پایتون از کتابخانه‌هایی مانند SpeechRecognition و librosa استفاده می‌کند.

☕️ همچنین، پایتون به عنوان یک زبان برنامه‌نویسی چندمنظوره، در سایر حوزه‌های هوش مصنوعی نیز مورد استفاده قرار می‌گیرد مانند رباتیک، تحلیل اعمال تصویری، تجزیه و تحلیل داده‌های بزرگ و غیره.منبع python_rd


#python

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
📱 اندروید 16 سه ماه زودتر منتشر می‌شود!

▪️بنا به گفته صاحب اندروید یعنی گوگل ، سال آینده باید زودتر از موعد ، یعنی در سه ماهه دوم سال 2025 منتظر انتشار نسخه نهایی اندروید 16 باشیم. همچنین قراره در این سال دو نسخه مجزا از سیستم عامل اندروید منتشر بشه...!

+ در واقع زمانی مابین ماه‌های آوریل تا ژوئن باید منتظر انتشار این سیستم عامل باشیم./RoidBest


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