یک برنامه نویس تنبل
🔸پستهایی درباره نکات پروداکشن-نکاتی که جونیورها رعایت نمیکنن-کدهایی که اسیبپذیر هستن و توی اسکیل بالا جوابگو نیستن و... با این هشتگ گذاشته میشه: #ProductionTips @TheRaymondDev
مشکل این کوئری چیه؟
#ProductionTips
@TheRaymondDev
SELECT * FROM products WHERE LOWER(name) = 'iphone';
#ProductionTips
@TheRaymondDev
👍3❤1
یک برنامه نویس تنبل
نه اقا اینکارا چیه بزار پروژه رو با معماری تمیز و پیازی و رویکرد ddd و بصورت tdd بالا بیاریم تا Clean و Maintainable و Scalable باشه و Readabilityو Extensibility خوبی داشته باشه و ازین طرف DRY هم راحت رعایت بشه چون داریم Separation of Concerns رو رعایت میکنیم…
هیشکی کامل و بینقص نیست از کمالگرایی دست بکشید که عقب میمونید
الان چند ماهه سایت chatgpt این باگو توی بعضی مرورگرا داره و فعلا فیکس نشده
چند ماه پیش سایت ایکس(توییتر) اگه یه پستی تند تند چندبار لایک میکردی باگ میخورد و لایک اضافی ثبت میکرد
چند سال پیش هم توی اینستا اگه apiیی که برای لایک پستا بود تکرار میکردی لایک بینهایت میزد برات
این باگای ساده از شرکتای تازه تاسیس نیست! هر کودوم چندسال سابقه با بودجه میلیارد دلاری دارن!!
همون اول کار نگید که میخوام یه چیز بینقص و کامل و همه چیز تمام بالا بیارم! برای مشکلی که فعلا نیست راه حل نچینید میشه overengineering
فقط سریع یه چیز بساز که کار کنه بعد اجزای جدیدو اضافه کن
https://t.me/TheRaymondDev/5255
@TheRaymondDev
الان چند ماهه سایت chatgpt این باگو توی بعضی مرورگرا داره و فعلا فیکس نشده
چند ماه پیش سایت ایکس(توییتر) اگه یه پستی تند تند چندبار لایک میکردی باگ میخورد و لایک اضافی ثبت میکرد
چند سال پیش هم توی اینستا اگه apiیی که برای لایک پستا بود تکرار میکردی لایک بینهایت میزد برات
این باگای ساده از شرکتای تازه تاسیس نیست! هر کودوم چندسال سابقه با بودجه میلیارد دلاری دارن!!
همون اول کار نگید که میخوام یه چیز بینقص و کامل و همه چیز تمام بالا بیارم! برای مشکلی که فعلا نیست راه حل نچینید میشه overengineering
فقط سریع یه چیز بساز که کار کنه بعد اجزای جدیدو اضافه کن
https://t.me/TheRaymondDev/5255
@TheRaymondDev
👍20❤4❤🔥2🔥2
🔶 با اینکه نرم افزار Hive خصوصی هست اما این نرم افزار به روز رسانی جدید دریافت کرده است.
قابلیت های جدیدی برای مدیریت پروژه ها و پشتیبانی از WordPress به Hive اضافه شده است.
ویژگیهای اصلی:
ایجاد پروژههای WordPress از GitHub (Clone یا دانلود ZIP)
دریافت خودکار نسخههای WordPress از GitHub API
پشتیبانی از مخازن GitHub سفارشی
تولید خودکار فایلهای
تنظیمات پایگاه داده MySQL/MariaDB
مدیریت پروژهها:
نمایش فهرست تمام پروژهها
حذف پروژهها همراه با امکان پاکسازی فایلها از دیسک
نمایش اطلاعات پروژه شامل نوع، نسخه، مدیر بسته و تاریخ ایجاد آن
پروژههای پشتیبانیشده:
Laravel، WordPress، Next.js، Node.js، React، Vue، Vite، PHP و Static HTML.
@TheRaymondDev
قابلیت های جدیدی برای مدیریت پروژه ها و پشتیبانی از WordPress به Hive اضافه شده است.
ویژگیهای اصلی:
ایجاد پروژههای WordPress از GitHub (Clone یا دانلود ZIP)
دریافت خودکار نسخههای WordPress از GitHub API
پشتیبانی از مخازن GitHub سفارشی
تولید خودکار فایلهای
wp-config.php و .envتنظیمات پایگاه داده MySQL/MariaDB
مدیریت پروژهها:
نمایش فهرست تمام پروژهها
حذف پروژهها همراه با امکان پاکسازی فایلها از دیسک
نمایش اطلاعات پروژه شامل نوع، نسخه، مدیر بسته و تاریخ ایجاد آن
پروژههای پشتیبانیشده:
Laravel، WordPress، Next.js، Node.js، React، Vue، Vite، PHP و Static HTML.
@TheRaymondDev
❤2💩2🔥1🦄1
در آینده، یک تریلیون برابر یک تریلیون دلار برای ساخت پادماده برای سفر به منظومه های ستاره ای دیگر هزینه می شود.
در آن زمان چیزها با دلار اندازه گیری نمی شوند، فقط جرم و انرژی
@TheRaymondDev
🤨9💩4❤1👍1👏1🤯1🕊1
سلام دوستان 👋
کسانی که تجربه کار با PaaS / DevOps / مدیریت و مانیتورینگ سرور و یا تجربه کلی با پچیم رو داشتن، مخصوصاً دوستانی که در اصل برنامهنویس بودن ولی برای نیاز پروژه یا بهعنوان مهارت مکمل وارد این حوزه شدن، خوشحال میشم تجربهتون رو به اشتراک بذارید.
میخوام بدونم در مسیر مدیریت سرور، دیپلوی، مانیتورینگ، لاگها، بکاپ، CI/CD و موارد مشابه، چه چالشهایی داشتید و چه ابزارهایی براتون مفید بودن؟
چندتا سؤال مشخص:
وقتی بهعنوان برنامهنویس وارد کارهای DevOps یا مدیریت سرور شدید، سختترین بخش برای شما چی بود؟
از ابزارهایی مثل PaaSها، پنلهای مدیریت سرور، Docker، GitHub Actions، GitLab CI، Kubernetes، Prometheus، Grafana یا ابزارهای مشابه استفاده کردید؟ تجربهتون چطور بود؟
چه چیزی داخل این ابزارها براتون خیلی کاربردی بود؟
چه چیزی کم داشتند یا باعث سردرگمیتون میشد؟
اگر یک نرمافزار وجود داشته باشه که مدیریت سرور، دیپلوی، مانیتورینگ، لاگها، هشدارها، بکاپ و CI/CD رو یکجا ارائه بده، انتظار دارید چه امکاناتی داشته باشه؟
برای یک برنامهنویس که DevOps تخصص اصلیش نیست، چه چیزی میتونه این فرایندها رو سادهتر و قابلاعتمادتر کنه؟
هدفم اینه که نیازها و تجربههای واقعی برنامهنویسهایی که با DevOps و مدیریت سرور درگیر شدن رو بهتر بشناسم.
ممنون میشم تجربههاتون، مشکلاتی که داشتید، ابزارهایی که استفاده کردید و ایدههایی که برای بهتر شدن چنین نرمافزاری دارید رو بگید 🙏
@TheRaymondDev
کسانی که تجربه کار با PaaS / DevOps / مدیریت و مانیتورینگ سرور و یا تجربه کلی با پچیم رو داشتن، مخصوصاً دوستانی که در اصل برنامهنویس بودن ولی برای نیاز پروژه یا بهعنوان مهارت مکمل وارد این حوزه شدن، خوشحال میشم تجربهتون رو به اشتراک بذارید.
میخوام بدونم در مسیر مدیریت سرور، دیپلوی، مانیتورینگ، لاگها، بکاپ، CI/CD و موارد مشابه، چه چالشهایی داشتید و چه ابزارهایی براتون مفید بودن؟
چندتا سؤال مشخص:
وقتی بهعنوان برنامهنویس وارد کارهای DevOps یا مدیریت سرور شدید، سختترین بخش برای شما چی بود؟
از ابزارهایی مثل PaaSها، پنلهای مدیریت سرور، Docker، GitHub Actions، GitLab CI، Kubernetes، Prometheus، Grafana یا ابزارهای مشابه استفاده کردید؟ تجربهتون چطور بود؟
چه چیزی داخل این ابزارها براتون خیلی کاربردی بود؟
چه چیزی کم داشتند یا باعث سردرگمیتون میشد؟
اگر یک نرمافزار وجود داشته باشه که مدیریت سرور، دیپلوی، مانیتورینگ، لاگها، هشدارها، بکاپ و CI/CD رو یکجا ارائه بده، انتظار دارید چه امکاناتی داشته باشه؟
برای یک برنامهنویس که DevOps تخصص اصلیش نیست، چه چیزی میتونه این فرایندها رو سادهتر و قابلاعتمادتر کنه؟
هدفم اینه که نیازها و تجربههای واقعی برنامهنویسهایی که با DevOps و مدیریت سرور درگیر شدن رو بهتر بشناسم.
ممنون میشم تجربههاتون، مشکلاتی که داشتید، ابزارهایی که استفاده کردید و ایدههایی که برای بهتر شدن چنین نرمافزاری دارید رو بگید 🙏
@TheRaymondDev
❤3✍2
🔶 این پکیج با npx ران میشه و کل دایرکتوری فعلی رو میخزه تا یه فایل txt کلی درست کنه از فایل های پروژه بعلاوه ی یدونه متن ابتدایی و یه متن انتهایی (با ران شدن پکیج دریافت میشن) و ساختار درختی پروژه است.
یه پرامپت تمیز برای تحویل به AI
در واقع نیاز نیست یکی یکی فایل هارو کپی کنیم تو چت بات. هر بار که پکیج رو ران کنیم پرامپت رو برامون میسازه
میتونیم هم یدونه فایل کانفیگ تو دایرکتوری پروژه براش تعریف کنیم به نام prompties.json که چه فایل هایی include یا exclude بشن
https://github.com/devmrsad/Prompties
</Mohammadreza Sa.>
@TheRaymondDev
یه پرامپت تمیز برای تحویل به AI
در واقع نیاز نیست یکی یکی فایل هارو کپی کنیم تو چت بات. هر بار که پکیج رو ران کنیم پرامپت رو برامون میسازه
میتونیم هم یدونه فایل کانفیگ تو دایرکتوری پروژه براش تعریف کنیم به نام prompties.json که چه فایل هایی include یا exclude بشن
https://github.com/devmrsad/Prompties
</Mohammadreza Sa.>
@TheRaymondDev
GitHub
GitHub - devmrsad/Prompties: Context packer for AI Chatbots | No more countless agent tokens needed
Context packer for AI Chatbots | No more countless agent tokens needed - devmrsad/Prompties
Forwarded from Ashia
توی Hive میتونید برنامه های لوکال رو تونل کنید به خارج!
وقتی میخواید به کارفرما خروجی کار رو نشون بدید ولی فعلا هاست و سرور نگرفتید
میتونید با expose به یه دامنه تبدیل کنید!
باور نمیکردم بشه انقد راحت پیاده ش کرد
مرسی از expose
وقتی میخواید به کارفرما خروجی کار رو نشون بدید ولی فعلا هاست و سرور نگرفتید
میتونید با expose به یه دامنه تبدیل کنید!
باور نمیکردم بشه انقد راحت پیاده ش کرد
مرسی از expose
❤9👍1
Ashia
توی Hive میتونید برنامه های لوکال رو تونل کنید به خارج! وقتی میخواید به کارفرما خروجی کار رو نشون بدید ولی فعلا هاست و سرور نگرفتید میتونید با expose به یه دامنه تبدیل کنید! باور نمیکردم بشه انقد راحت پیاده ش کرد مرسی از expose
🔶 این ابزار یک کلاینت کاملاً سبک و قابل نصب روی سیستمعاملهای مختلفه. این کلاینت کارش اینه که یک تونل امن از نوع SSH Reverse Tunnel بین ماشین لوکال شما و سرورهای expose برقرار میکنه. یعنی برعکس حالت عادی که سرور باید به شما دسترسی داشته باشه، اینجا خود شما از داخل شبکهتون (حتی با NAT و بدون آیپی ثابت) به سرورهای expose متصل میشید. سرور expose هم در ازای این اتصال، یک دامنهی موقت و عمومی به شما اختصاص میده و تمام درخواستهایی که به اون دامنه میاد رو از طریق همون تونل به برنامهی در حال اجرا روی پورت محلی شما (مثلاً localhost:3000) هدایت میکنه. نتیجهاش اینه که با یک دستور ساده مثل expose 3000، خروجی کارتان در اختیار کارفرما یا هر کاربر دیگری در سراسر جهان قرار میگیره.
نکته بسیار مهم اینه که این روش هیچ وابستگی به تحریمها یا محدودیتهای شبکهای که برای ابزارهایی مثل ngrok پیش اومده نداره، چون شما امکان این رو دارید که سرور expose را روی یک VPS شخصی خودتان هم نصب و راهاندازی کنید. اما اگر از سرویس عمومی خود expose استفاده کنید، کافیه کلاینت را نصب کنید و کارتان را راه بیندازید.
خود expose راههای نصب مختلفی رو پوشش داده که میتونید توی مستنداتش ببینید. اگر از Laravel Herd استفاده میکنید، expose از قبل در ترمینال شما موجوده و آماده به کاره. اگر هم از PHP استفاده میکنید، میتونید فایل PHAR را مستقیماً از گیتهاب دانلود کرده و اجرایی کنید، یا از طریق Composer به صورت سراسری نصبش کنید. همچنین دستور expose self-update هم برای بهروزرسانی کلاینت به آخرین نسخه وجود داره.
پس دیگه نیازی به منتظر موندن برای تهیه هاست و سرور یا نگرانی از تحریمها نیست. یک بار کلاینت را نصب کنید و هر زمان که خواستید یک نمونه کار یا خروجی را به کارفرما نشان دهید، با یک خط فرمان ساده این کار را انجام بدید.
حتماً یک نگاه به مستندات نصبش بندازید تا با تمام امکانات و روشهای نصب آن آشنا بشید.
https://expose.dev/docs/
@TheRaymondDev
نکته بسیار مهم اینه که این روش هیچ وابستگی به تحریمها یا محدودیتهای شبکهای که برای ابزارهایی مثل ngrok پیش اومده نداره، چون شما امکان این رو دارید که سرور expose را روی یک VPS شخصی خودتان هم نصب و راهاندازی کنید. اما اگر از سرویس عمومی خود expose استفاده کنید، کافیه کلاینت را نصب کنید و کارتان را راه بیندازید.
خود expose راههای نصب مختلفی رو پوشش داده که میتونید توی مستنداتش ببینید. اگر از Laravel Herd استفاده میکنید، expose از قبل در ترمینال شما موجوده و آماده به کاره. اگر هم از PHP استفاده میکنید، میتونید فایل PHAR را مستقیماً از گیتهاب دانلود کرده و اجرایی کنید، یا از طریق Composer به صورت سراسری نصبش کنید. همچنین دستور expose self-update هم برای بهروزرسانی کلاینت به آخرین نسخه وجود داره.
پس دیگه نیازی به منتظر موندن برای تهیه هاست و سرور یا نگرانی از تحریمها نیست. یک بار کلاینت را نصب کنید و هر زمان که خواستید یک نمونه کار یا خروجی را به کارفرما نشان دهید، با یک خط فرمان ساده این کار را انجام بدید.
حتماً یک نگاه به مستندات نصبش بندازید تا با تمام امکانات و روشهای نصب آن آشنا بشید.
https://expose.dev/docs/
@TheRaymondDev
Expose
Expose - Introduction
Expose - Create public URLs for your local applications and test webhooks with ease. Use these URLs to inspect sites on mobile devices and share them with colleagues.
❤5👎1
شما ide debugger پرسن هستین یا
stdout (print / log / echo/...)
پرسن؟
stdout (print / log / echo/...)
پرسن؟
Final Results
24%
ide debugger
49%
stdout
27%
پرسن هستم
🐳8🍌4👍1
Forwarded from Milwad Khosravi | میلاد خسروی
در PostgreSQL میتوانید با اجرای کوئری زیر، لیست جداول را به همراه حجم واقعی آنها مشاهده و بر اساس بیشترین مصرف فضا مرتب کنید:
SELECT
relname AS table_name,
pg_size_pretty(pg_total_relation_size(relid)) AS size
FROM pg_catalog.pg_statio_user_tables
ORDER BY pg_total_relation_size(relid) DESC;
این کوئری برای موارد زیر بسیار کاربردی است:
✅ شناسایی جداول حجیم
✅ بررسی رشد دادهها در طول زمان
✅ برنامهریزی برای آرشیو یا پارتیشنبندی دادهها
✅ تحلیل مصرف فضای ذخیرهسازی دیتابیس
گاهی یک کوئری ساده میتواند دید بسیار خوبی از وضعیت دیتابیس به شما بدهد و به تصمیمگیریهای بهتر در زمینه Performance و Capacity Planning کمک کند.
#PostgreSQL #Database #Postgres
Please open Telegram to view this post
VIEW IN TELEGRAM
🔶 دوستان، چند دلیل وجود دارد که ما تاکنون در Kick و Twitch فعالیت نداشتهایم.
- مهم ترین موضوع، بحث حمایت مالی است. استریم کردن زمان و انرژی زیادی میگیرد و برای ادامهدار بودن آن، حداقل باید امکان دریافت حمایت های اختیاری مخاطبان وجود داشته باشد. متأسفانه در حال حاضر درگاه پرداخت خارجی مناسبی که کاربران ایرانی بتوانند به راحتی از آن استفاده کنند، در دسترس نیست.
- برای دسترسی پایدار به پلتفرم ها، به یک VPN یا سرویس عبور از تحریم باکیفیت و معمولاً پولی نیاز است. البته بخش اتصال OBS به Kick و Twitch معمولاً مشکلی ندارد، اما سایر بخش های پلتفرم ممکن است محدود باشند.
- استریم به اینترنت پایدار و باکیفیت نیاز دارد. هرگونه قطعی، نوسان یا افت سرعت میتواند کیفیت پخش را تحت تأثیر قرار دهد.
- در ماه های ابتدایی معمولاً پیدا کردن مخاطب بسیار دشوار است. برای مثال، خودم چند بار در Kick استریم کردم، اما عملاً بازدید کننده ای نداشتم. رشد در این پلتفرم ها زمان بر است و نیاز به استمرار دارد.
- علاوه بر موارد بالا، هزینه تجهیزات، زمان تولید محتوا و مدیریت هم زمان چند پلتفرم نیز از چالشهای دیگر هستند.
به همین دلیل فعلاً تمرکز ما روی پلتفرم هایی است که دسترسی، پشتیبانی و ارتباط بهتری با مخاطبان فارسی زبان دارند.
@TheRaymondDev
- مهم ترین موضوع، بحث حمایت مالی است. استریم کردن زمان و انرژی زیادی میگیرد و برای ادامهدار بودن آن، حداقل باید امکان دریافت حمایت های اختیاری مخاطبان وجود داشته باشد. متأسفانه در حال حاضر درگاه پرداخت خارجی مناسبی که کاربران ایرانی بتوانند به راحتی از آن استفاده کنند، در دسترس نیست.
- برای دسترسی پایدار به پلتفرم ها، به یک VPN یا سرویس عبور از تحریم باکیفیت و معمولاً پولی نیاز است. البته بخش اتصال OBS به Kick و Twitch معمولاً مشکلی ندارد، اما سایر بخش های پلتفرم ممکن است محدود باشند.
- استریم به اینترنت پایدار و باکیفیت نیاز دارد. هرگونه قطعی، نوسان یا افت سرعت میتواند کیفیت پخش را تحت تأثیر قرار دهد.
- در ماه های ابتدایی معمولاً پیدا کردن مخاطب بسیار دشوار است. برای مثال، خودم چند بار در Kick استریم کردم، اما عملاً بازدید کننده ای نداشتم. رشد در این پلتفرم ها زمان بر است و نیاز به استمرار دارد.
- علاوه بر موارد بالا، هزینه تجهیزات، زمان تولید محتوا و مدیریت هم زمان چند پلتفرم نیز از چالشهای دیگر هستند.
به همین دلیل فعلاً تمرکز ما روی پلتفرم هایی است که دسترسی، پشتیبانی و ارتباط بهتری با مخاطبان فارسی زبان دارند.
@TheRaymondDev
👎3👍1