توی مهندسی نرم افزار و کلا ساخت نرم افزار باید مکانیزمی رو داشته باشید که شکست ها تاوان سختی نداشته باشن
اصل کلی:
Fail fast, fail safe, fail cheap.
قسمت اول یعنی شکست زود اتفاق بیفته، نه آخر پروژه.
قسمت دوم یعنی شکست باعث خرابی کل سیستم نشه.
قسمت سوم یعنی هزینهی زمانی، مالی یا ذهنی کمی داشته باشه
@Linuxor
اصل کلی:
Fail fast, fail safe, fail cheap.
قسمت اول یعنی شکست زود اتفاق بیفته، نه آخر پروژه.
قسمت دوم یعنی شکست باعث خرابی کل سیستم نشه.
قسمت سوم یعنی هزینهی زمانی، مالی یا ذهنی کمی داشته باشه
@Linuxor
2
اگه تا حالا برات سوال بوده که چجوری سایتهایی مثل Google Meet یا Discord بدون سرور مرکزی ویدیو و صدا رد و بدل میکنن، ریپوی Pion WebRTC دقیقاً همون جادوی پشت پردهست، فقط با زبان Go!
باهاش میتونی از صفر یه چت تصویری، استریم زنده، یا حتی یه برنامه ارسال دیتا بین دو تا دستگاه بسازی، اونم بدون اینکه به مرورگر وابسته باشی. یعنی خودت میشی سازندهی “مینی دیسکورد”!
توضیحات بیشتر و راهنما :
github.com/pion/webrtc
لیست چیزای جالبی که مردم باهاش ساختن:
github.com/pion/awesome-pion
@Linuxor
باهاش میتونی از صفر یه چت تصویری، استریم زنده، یا حتی یه برنامه ارسال دیتا بین دو تا دستگاه بسازی، اونم بدون اینکه به مرورگر وابسته باشی. یعنی خودت میشی سازندهی “مینی دیسکورد”!
توضیحات بیشتر و راهنما :
github.com/pion/webrtc
لیست چیزای جالبی که مردم باهاش ساختن:
github.com/pion/awesome-pion
@Linuxor
اگه تا حالا برات سوال شده «کامپیوترم توی شبکه دقیقاً داره با کی حرف میزنه؟» یا «کدوم برنامه داره نت میخوره؟»، یه ابزار خوب به اسم Sniffnet هست که اینو قشنگ بهت نشون میده
یه برنامه اوپنسورس و خوشظاهر که ترافیک اینترنتت رو لحظهای مانیتور میکنه؛ از اینکه با چه سرورهایی در ارتباطی تا اینکه هر اپ چقدر دانلود و آپلود داره. برای یاد گرفتن شبکه، دیباگ کردن برنامههات یا حتی فقط کنجکاوی دربارهی اینترنت، عالیه!
برخلاف وایرشارک که یهکم سنگین و فنیه، Sniffnet خیلی سادهست و فقط با چند کلیک نمودار و اطلاعات واضح بهت میده. هم برای ویندوز هست، هم لینوکس و مک، و با Rust نوشته شده، دانلود از اینجا :
sniffnet.net
@Linuxor
یه برنامه اوپنسورس و خوشظاهر که ترافیک اینترنتت رو لحظهای مانیتور میکنه؛ از اینکه با چه سرورهایی در ارتباطی تا اینکه هر اپ چقدر دانلود و آپلود داره. برای یاد گرفتن شبکه، دیباگ کردن برنامههات یا حتی فقط کنجکاوی دربارهی اینترنت، عالیه!
برخلاف وایرشارک که یهکم سنگین و فنیه، Sniffnet خیلی سادهست و فقط با چند کلیک نمودار و اطلاعات واضح بهت میده. هم برای ویندوز هست، هم لینوکس و مک، و با Rust نوشته شده، دانلود از اینجا :
sniffnet.net
@Linuxor
This media is not supported in your browser
VIEW IN TELEGRAM
رِنج اسلایدر ژله ای، یزیدتونو این چی بود من دیدم کل مشکلات زندگیم رو چند ثانیه فراموش کردم😂😂
@Linuxor
@Linuxor
🎉 20 هزار تایی شدنمون مبارک :)
هر کانالی با هر موضوعی بالاخره یه حداکثر عضوی داره و من فکر میکنم توی لینوکسور بهش رسیدیم و دیگه بیشتر از این حدودا نمیشیم. منم انصافا براتون وقت خوبی گذاشتم و شما هم همیشه لطف داشتید و به دوستاتون معرفی کردید که به اینجا رسیدیم و من فقط زحمت نکشیدم و شما هم توش دخیل بودین که به اینجا رسیدیم❤️
ممنون از همگی...
هر کانالی با هر موضوعی بالاخره یه حداکثر عضوی داره و من فکر میکنم توی لینوکسور بهش رسیدیم و دیگه بیشتر از این حدودا نمیشیم. منم انصافا براتون وقت خوبی گذاشتم و شما هم همیشه لطف داشتید و به دوستاتون معرفی کردید که به اینجا رسیدیم و من فقط زحمت نکشیدم و شما هم توش دخیل بودین که به اینجا رسیدیم❤️
ممنون از همگی...
80
این کد عجیب غریب رو ببینید، خروجیش شده Hello World به این کار میگن Obfuscate کردن کد به طوری که دیگه مبهم شده و دیگه خونده نمیشه.
مبهم سازی رو برای افزایش امنیت کد انجام میدن چون جاوا اسکریپت همیشه در معرض دید هستش، نکته جالبش اینه که اوپن سورسه، اما این به معنی این نیست که الگوریتم خودش معلومه و قابل بازگردانیه چون یه سری عملیات یه طرفه روش انجام میشه و تا حد خوبی کد رو مبهم میکنه، از اینجا میتونید کد خودتون رو تست کنید :
obfuscator.io
@Linuxor
مبهم سازی رو برای افزایش امنیت کد انجام میدن چون جاوا اسکریپت همیشه در معرض دید هستش، نکته جالبش اینه که اوپن سورسه، اما این به معنی این نیست که الگوریتم خودش معلومه و قابل بازگردانیه چون یه سری عملیات یه طرفه روش انجام میشه و تا حد خوبی کد رو مبهم میکنه، از اینجا میتونید کد خودتون رو تست کنید :
obfuscator.io
@Linuxor
3
خیلی از سایتها و پروژه های بزرگ مثل تلگرام و دیجی کالا برای بعضی از بخش های بکاندشون از PHP استفاده میکنن، چون PHP سادس و واقعا بعضی جاها نجات دهندس و محیط توسعهاش تقریبا همیشه فراهمه و هیچ دردسری نداره.
اما یادگیری فریم ورک های PHP کار زمان بریه، این فریم ورک که اسمش SLIM هست یه فریم ورک خیلی خیلی سبک و سادس برای کار های وبی، برای پروژه هایی که هزینه و زمان محدوده عالیه:
www.slimframework.com
@Linuxor
اما یادگیری فریم ورک های PHP کار زمان بریه، این فریم ورک که اسمش SLIM هست یه فریم ورک خیلی خیلی سبک و سادس برای کار های وبی، برای پروژه هایی که هزینه و زمان محدوده عالیه:
www.slimframework.com
@Linuxor
Media is too big
VIEW IN TELEGRAM
اگه خواستین برنامه گرافیکی با پایتون بسازید این سایته رو از دست ندید، به صورت گرافیکی توش میتونید پنجره هارو طراحی کنید فقط کافیه المنت هارو با موس drag & drop کنید
pyuibuilder.com
@Linuxor
pyuibuilder.com
@Linuxor
1
این hyperui هم کامپوننت های خوبی برای وب داره، بر پایه tailwindcss هستش و خوبیش هم اینه که زبان فارسی و RTL هم ساپورت میکنه
www.hyperui.dev
@Linuxor
www.hyperui.dev
@Linuxor
1
آیا برقی ها کلمه "نول" رو اشتباه تلفظ میکنن؟
Anonymous Quiz
37%
اره، باید بگن Null یا نال
41%
نه، نول از Neutral میآد همون نول درسته
22%
من خودم برقی ام، درباره ما پست نزار لطفا
کل علم مهندسی نرم افزار بر پایه تکامل تدریجی و تکرار برای بهبود ساخته شده، یعنی شما یه چیزی میسازین به مرور هی بهتر و سازگار ترش میکنید. (کل شرکت های بزرگ هم همینکارو میکنن)
حالا سوال پیش میآد، یکی میگه من علم مهندسی نرم افزار رو کلا قبول ندارم میخوام یه چیز ابرقهرمان بسازم که تکاملی نباشه و یهویی یه چیز قوی باشه آیا ممکنه؟ جواب بله ممکنه، چون مهندسی نرم افزار الزاما بهینه ترین مسیر رو نرفته یعنی این علمی که داریم الان بهترین مسیرش نیست، ولی اینکه شما بتونید رندوم یه چیز بهینه تر ازش پیدا کنید کار عملا سختیه، ولی ممکنه.
برای مثال یه تیم شاید 10 سال برای تولید یه برنامه آموزش زبان با چت کردن وقت گذاشته باشن و کلی الگوریتم براش نوشته باشن و یه چیز حرفه ای و قابلیت گفتگوی حرفه ای ساخته باشن، اما امروز یه نفر یه هفته ای همین کارو با LLM ها مشابهش رو بسازه. ولی دقت کنید همیشه شانس باهاتون یار نیست و LLM هم ممکنه وجود نداشته باشه.
@Linuxor
حالا سوال پیش میآد، یکی میگه من علم مهندسی نرم افزار رو کلا قبول ندارم میخوام یه چیز ابرقهرمان بسازم که تکاملی نباشه و یهویی یه چیز قوی باشه آیا ممکنه؟ جواب بله ممکنه، چون مهندسی نرم افزار الزاما بهینه ترین مسیر رو نرفته یعنی این علمی که داریم الان بهترین مسیرش نیست، ولی اینکه شما بتونید رندوم یه چیز بهینه تر ازش پیدا کنید کار عملا سختیه، ولی ممکنه.
برای مثال یه تیم شاید 10 سال برای تولید یه برنامه آموزش زبان با چت کردن وقت گذاشته باشن و کلی الگوریتم براش نوشته باشن و یه چیز حرفه ای و قابلیت گفتگوی حرفه ای ساخته باشن، اما امروز یه نفر یه هفته ای همین کارو با LLM ها مشابهش رو بسازه. ولی دقت کنید همیشه شانس باهاتون یار نیست و LLM هم ممکنه وجود نداشته باشه.
@Linuxor
اینجا یه لیست خیلی خوب از پادکست های برنامه نویسی و تکنولوژی جمع کردن، به زبان انگلیسی و آلمانی و روسی و... هستن، هم برای یادگیری زبان تخصصی خوبه هم خود اون تکنولوژی، فریم ورک یا زبان برنامه نویسی رو دنبال میکنید
github.com/rShetty/awesome-podcasts
@Linuxor
github.com/rShetty/awesome-podcasts
@Linuxor
مایکروسافت یه چیزی توسعه داده به اسم Swin Transformer که یه مدل بینایی کامپیوتریه که مثل Transformerهای NLP کار میکنه، ولی مخصوص تصویر طراحی شده. ایدهش اینه که تصویر رو به پنجرههای کوچیک تقسیم میکنه و هر پنجره با خودش تمرکز میکنه، بعد پنجرهها رو شیفت میده تا با هم ارتباط پیدا کنن در نتیجه یه مدل سریع، کارآمد و دقیق برای تشخیص تصویر، تشخیص اشیاء و حتی جداسازی اشیاءه.
این مدل خیلی خوبه وقتی میخواین پروژههای واقعی بینایی بسازین، مثل تشخیص شیء تو عکسهای دوربین، یا طبقهبندی و جداسازی تصویر. نسبت به CNNهای قدیمی میتونه جزئیات و مقیاسهای مختلف رو بهتر مدیریت کنه.
برای شروع میتونین با نسخه از پیشآموزشدیده Swin Transformer توی PyTorch کار کنین و مدل رو روی دادهٔ ها خودتون fine-tune کنین. کد هاش :
github.com/microsoft/Swin-Transformer
@Linuxor
این مدل خیلی خوبه وقتی میخواین پروژههای واقعی بینایی بسازین، مثل تشخیص شیء تو عکسهای دوربین، یا طبقهبندی و جداسازی تصویر. نسبت به CNNهای قدیمی میتونه جزئیات و مقیاسهای مختلف رو بهتر مدیریت کنه.
برای شروع میتونین با نسخه از پیشآموزشدیده Swin Transformer توی PyTorch کار کنین و مدل رو روی دادهٔ ها خودتون fine-tune کنین. کد هاش :
github.com/microsoft/Swin-Transformer
@Linuxor