Forwarded from DevTwitter | توییت برنامه نویسی
بازآفرینی یا Refactoring بدون Business Insight، فقط Code Cleanup است!!!
در طراحی مبتنی بر دامنه (DDD)، هر بار که درک ما از واقعیت کسبوکار تغییر میکند، مدل هم باید تغییر کند.
همانطور که Eric Evans در کتاب آبی معروفش میگوید:
"The model must change because our understanding has changed."
اگر تغییرات ما صرفاً در سطح کد و معماری باشد و مدل همچنان همان مدل قبلی بماند، در واقع فقط ظاهر سیستم را مرتب کردهایم، بدون آنکه ریشهی مشکل را حل کنیم.
و Refactoring وقتی ارزشمند است که همراه با کشف مفهومهای تازه در دامنه و بازتعریف مدل باشد.
وگرنه همان legacy code با ظاهر تمیزتر است.
@DevTwitter | <Mostafa Hosseinkhani/>
در طراحی مبتنی بر دامنه (DDD)، هر بار که درک ما از واقعیت کسبوکار تغییر میکند، مدل هم باید تغییر کند.
همانطور که Eric Evans در کتاب آبی معروفش میگوید:
"The model must change because our understanding has changed."
اگر تغییرات ما صرفاً در سطح کد و معماری باشد و مدل همچنان همان مدل قبلی بماند، در واقع فقط ظاهر سیستم را مرتب کردهایم، بدون آنکه ریشهی مشکل را حل کنیم.
و Refactoring وقتی ارزشمند است که همراه با کشف مفهومهای تازه در دامنه و بازتعریف مدل باشد.
وگرنه همان legacy code با ظاهر تمیزتر است.
@DevTwitter | <Mostafa Hosseinkhani/>
Forwarded from محتوای آزاد سهراب
این هم از ترجمه فارسیش.
https://opencontent.ir/online-book/linux-user-group-howto/
با تشکر از آقای نوتاش حقیقت که این وبسایت زیبا رو آماده کردن برای نرمافزار آزاد:)
@SohrabContents
https://opencontent.ir/online-book/linux-user-group-howto/
با تشکر از آقای نوتاش حقیقت که این وبسایت زیبا رو آماده کردن برای نرمافزار آزاد:)
@SohrabContents
محتوای باز
راهنمای گروه کاربری لینوکس (لاگ) - محتوای باز
Forwarded from LearnPOV | لرن پی او وی
⚒️ معرفی ابزارها و تکنولوژیها
🎨 ترفند ها و نکات برنامه نویسی
📊 سوالات و چالشهای برنامهنویسی
❤️ آشنایی با برنامهنویسان حوزه خودتون
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DevTwitter | توییت برنامه نویسی
دیتاست کامل کانال «دِوتوییتر»
بالاخره کل تاریخچه پیامهای کانال دِوتوییتر به صورت JSON منتشر شد!
این دیتاست شامل تمام پیامها از ابتدای شکلگیری کانال در سال ۱۳۹۹ تا الان هست.
مناسب برای:
- تمرین دیتاساینس و NLP روی محتوای فارسی برنامهنویسی
- تحلیل روند تکنولوژیها در جامعه توسعهدهندگان ایرانی
- استخراج منابع آموزشی و لینکهای مفید
- تحلیل واکنشها و محبوبیت محتوا
لینک دسترسی:
github.com/devtwitter/devtwitter-data
یادتون نره ستاره بدین :))
@DevTwitter
بالاخره کل تاریخچه پیامهای کانال دِوتوییتر به صورت JSON منتشر شد!
این دیتاست شامل تمام پیامها از ابتدای شکلگیری کانال در سال ۱۳۹۹ تا الان هست.
مناسب برای:
- تمرین دیتاساینس و NLP روی محتوای فارسی برنامهنویسی
- تحلیل روند تکنولوژیها در جامعه توسعهدهندگان ایرانی
- استخراج منابع آموزشی و لینکهای مفید
- تحلیل واکنشها و محبوبیت محتوا
لینک دسترسی:
github.com/devtwitter/devtwitter-data
یادتون نره ستاره بدین :))
@DevTwitter
Forwarded from جادی | Jadi
خب خب فارسی این هم آپلود شد:
https://youtu.be/d6RzGhpV1Vg
https://youtu.be/d6RzGhpV1Vg
YouTube
n8n رو روی سرور خودتون نصب کنین و با کریپتو و تلگرام یه اتوماسیون ساده بسازین
این روزها از n8n زیاد میشنویم؛ سیستمی برای ساخت فلوهای اتوماسیونی با کلی اتصال به چیزهای مختلف. ولی روی سایت خودش برای استفاده ازش لازمه ۲۵ دلار در ماه بدیم که کار رو سخت میکنه.
توی این ویدئو نگاهی داریم به این ابزار خیلی باحال و میبینین که اولا چطوری…
توی این ویدئو نگاهی داریم به این ابزار خیلی باحال و میبینین که اولا چطوری…
Forwarded from Linuxor ?
اکثر کسایی که تازه وارد Node.js میشن نمیدونن توش چطوری و با چه استایل و الگویی کد بزنن این ریپو اومده و Best Practice های Node.js رو جمع کرده واستون :
github.com/goldbergyoni/nodebestpractices
@Linuxor
github.com/goldbergyoni/nodebestpractices
@Linuxor
Forwarded from Linuxor ?
فکر میکنین این دونیت هاتون بی پاسخ میمونه؟ اشتباه فکر کردین قطعا نه! یه سری پست ویژه براتون آماده کردم اختصاصی و خفن مثل خودتون، یکم بیشتر برسی کنمشون به زودی میزارمشون
این کار جدیدمم اوکیه شه هم تبلیغاتو از کانال حذف میکنم هم میآم از کارای فنی که توش کردم بهتون توضیح میدم :)
@Linuxor
این کار جدیدمم اوکیه شه هم تبلیغاتو از کانال حذف میکنم هم میآم از کارای فنی که توش کردم بهتون توضیح میدم :)
@Linuxor
Forwarded from جادی | Jadi
الان دوستی اشاره کرد که لایسنس این نرم افزار کاملا آزاد نیست. دیگه لازمه حتما در مورد لایسنس ها ویدئوی مورد نظر رو بسازم. شما اجازه دارین این رو دانلود و استفاده کنین؛حتی برای بیزنس داخلی خودتون ولی نمی تونین بفروشینش و این یعنی لایسنس کاملا آزاد نیست. اشتباه از من بود و ببخشید (:
Forwarded from CleverDevs (Arian)
✳️ وبسایت اتومیشن سازی حرفه ای و مدرن!
وبسایت n8n که به تازگی خیلی ترند و بولد شده یک ابزاری هستش که بدون نیاز به برنامه نویس یا نیروی انسانی خاصی و بصورت No code یا Low code میتونید کارهای مجازیتون رو بهش بسپارید و حتی آسونترش کنید.
برای آشنایی بیشتر با محیط و نحوه کار کردن n8n میتونید ویدیو جادی رو از یوتیوب مشاهده کنید.
#n8n #AI #tools
@CleverDevs - @CleverDevsGp
وبسایت n8n که به تازگی خیلی ترند و بولد شده یک ابزاری هستش که بدون نیاز به برنامه نویس یا نیروی انسانی خاصی و بصورت No code یا Low code میتونید کارهای مجازیتون رو بهش بسپارید و حتی آسونترش کنید.
برای مثال استخراج هر نوع دیتا از وبسایت های مختلف و دریافت اونا از طریق ربات تلگرامی، یا اتوماتیک سازی بعضی از امور که تحت وب انجام میدین برای مثال پیدا کردن پروژه از تمام سایت های فریلنسینگ ایرانی؛ دریافت کد ورود به برنامه یا سایت از طریق ربات با استفاده از کانکت کردن ایمیل و ربات و هوش مصنوعی به هم.
برای آشنایی بیشتر با محیط و نحوه کار کردن n8n میتونید ویدیو جادی رو از یوتیوب مشاهده کنید.
#n8n #AI #tools
@CleverDevs - @CleverDevsGp
Forwarded from Syntax | سینتکس (Mahyar)
انواع لایسنسهای اپنسورس
1. MIT License
- ویژگیها:
- بسیار ساده و خلاصه است.
- به کاربران اجازه میدهد که کد را بدون محدودیت برای هر هدفی (تجاری یا غیرتجاری) استفاده کنند.
- نیازی نیست که تغییرات یا منبع کد به اشتراک گذاشته شود، هرچند که ذکر لایسنس اصلی اجباری است.
- مناسب برای: پروژههایی که میخواهند بیشترین آزادی را به کاربران بدهند.
2. Apache License 2.0
- ویژگیها:
- به کاربران اجازه استفاده، تغییر، و توزیع کد را میدهد، حتی برای اهداف تجاری.
- از کاربران میخواهد که حقوق مالکیت معنوی (patents) را تضمین کنند.
- تغییرات باید با ذکر لایسنس اصلی منتشر شوند.
- مناسب برای: پروژههایی که میخواهند کاربران آزادی زیادی داشته باشند و در عین حال از کد در برابر مشکلات مربوط به پتنت محافظت کنند.
3. GPL (GNU General Public License)
- ویژگیها:
- بسیار محافظهکار است.
- اگر کسی از کد شما استفاده کند و تغییراتی ایجاد کند، موظف است این تغییرات را نیز اپنسورس کند.
- مناسب برای پروژههایی که میخواهند مطمئن شوند که کدشان همیشه آزاد باقی میماند.
- مناسب برای: پروژههایی که نمیخواهند کسی از کد آنها در پروژههای اختصاصی (proprietary) استفاده کند.
4. LGPL (Lesser General Public License)
- ویژگیها:
- مشابه GPL است، اما انعطافپذیرتر.
- اگر از کتابخانه شما (SDK یا API) در یک پروژه دیگر استفاده شود، نیازی نیست که کل پروژه اپنسورس شود؛ فقط تغییرات روی کتابخانه شما باید اپنسورس شوند.
- مناسب برای: پروژههایی که شامل کتابخانهها یا SDKها هستند و میخواهند کاربران بتوانند آنها را در پروژههای اختصاصی استفاده کنند.
5. BSD License
- ویژگیها:
- شبیه MIT است، اما کمی محدودتر.
- نیازمند ذکر اعتبار (attribution) است و نمیگذارد نام نویسندگان اصلی برای تبلیغات استفاده شود.
- مناسب برای: پروژههای ساده که به محدودیتهای اندکی نیاز دارند.
6. Creative Commons Licenses (CC)
- ویژگیها:
- بیشتر برای محتوا (مثل اسناد، تصاویر، یا طراحیها) استفاده میشود.
- معمولاً برای کد کاربرد ندارد، اما اگر پروژه شما شامل مستندات یا محتوای غیرکدی است، میتواند مناسب باشد.
#Licence #open_source
@Syntax_fa
1. MIT License
- ویژگیها:
- بسیار ساده و خلاصه است.
- به کاربران اجازه میدهد که کد را بدون محدودیت برای هر هدفی (تجاری یا غیرتجاری) استفاده کنند.
- نیازی نیست که تغییرات یا منبع کد به اشتراک گذاشته شود، هرچند که ذکر لایسنس اصلی اجباری است.
- مناسب برای: پروژههایی که میخواهند بیشترین آزادی را به کاربران بدهند.
2. Apache License 2.0
- ویژگیها:
- به کاربران اجازه استفاده، تغییر، و توزیع کد را میدهد، حتی برای اهداف تجاری.
- از کاربران میخواهد که حقوق مالکیت معنوی (patents) را تضمین کنند.
- تغییرات باید با ذکر لایسنس اصلی منتشر شوند.
- مناسب برای: پروژههایی که میخواهند کاربران آزادی زیادی داشته باشند و در عین حال از کد در برابر مشکلات مربوط به پتنت محافظت کنند.
3. GPL (GNU General Public License)
- ویژگیها:
- بسیار محافظهکار است.
- اگر کسی از کد شما استفاده کند و تغییراتی ایجاد کند، موظف است این تغییرات را نیز اپنسورس کند.
- مناسب برای پروژههایی که میخواهند مطمئن شوند که کدشان همیشه آزاد باقی میماند.
- مناسب برای: پروژههایی که نمیخواهند کسی از کد آنها در پروژههای اختصاصی (proprietary) استفاده کند.
4. LGPL (Lesser General Public License)
- ویژگیها:
- مشابه GPL است، اما انعطافپذیرتر.
- اگر از کتابخانه شما (SDK یا API) در یک پروژه دیگر استفاده شود، نیازی نیست که کل پروژه اپنسورس شود؛ فقط تغییرات روی کتابخانه شما باید اپنسورس شوند.
- مناسب برای: پروژههایی که شامل کتابخانهها یا SDKها هستند و میخواهند کاربران بتوانند آنها را در پروژههای اختصاصی استفاده کنند.
5. BSD License
- ویژگیها:
- شبیه MIT است، اما کمی محدودتر.
- نیازمند ذکر اعتبار (attribution) است و نمیگذارد نام نویسندگان اصلی برای تبلیغات استفاده شود.
- مناسب برای: پروژههای ساده که به محدودیتهای اندکی نیاز دارند.
6. Creative Commons Licenses (CC)
- ویژگیها:
- بیشتر برای محتوا (مثل اسناد، تصاویر، یا طراحیها) استفاده میشود.
- معمولاً برای کد کاربرد ندارد، اما اگر پروژه شما شامل مستندات یا محتوای غیرکدی است، میتواند مناسب باشد.
#Licence #open_source
@Syntax_fa
Forwarded from Linuxor ?
اگر به دنیای هک و امنیت سایبری علاقهمند هستی، ریپوی Awesome Hacking توی گیتهاب یه منبع بینظیره. این ریپو توش کلی از ابزارها، دورههای آموزشی، چالشهای CTF، منابع تست نفوذ، مقالات فنی، و کلی لینک مفید توی دسته بندی های مختلف مثلا اندروید، وب DevSecOps ،IoT و ... هستش که برای شروع خیلی میتونه مفید باشه
github.com/Hack-with-Github/Awesome-Hacking
چند روز پیش هم بهش AI Security اضافه کردن
@Linuxor
github.com/Hack-with-Github/Awesome-Hacking
چند روز پیش هم بهش AI Security اضافه کردن
@Linuxor
Forwarded from Linuxor ?
مصاحبه فنی گاهی میتونه استرسزا باشه، ولی با ریپوی awesome-interview-questions خیلی از سوالهای احتمالی رو جلوت داری و خیالت راحتتر میشه. هرچی لازم داری از سوالات مصاحبه زبانهای مختلف و چالشهای کدنویسی اینجا هست.
github.com/DopplerHQ/awesome-interview-questions
@Linuxor
github.com/DopplerHQ/awesome-interview-questions
@Linuxor
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱)
🔶 در سایت هایی که ورود پیامکی دارد و هنگامی که شماره موبایل وارد می کنید و یک پنجره کد OTP نشان می دهد و یک کلیک فرم کد ورود را پر می کند که به آن متد navigator.credentials.get می گویند.
در اینجا یه متد
نمونه کدی که در افزونه وردپرس Authora بکار بردیم.
با این روش وقتی فرم کد OTP پر می کند و خودکار تایید می کنند و به صفحه مثلا ادمین هدایت می کند.
@TheRaymondDev
در اینجا یه متد
navigator.credentials.get() داریم که کد OTP رو خودکار در فرم پر می کند یا یک لمس فرم رو پر کنید. این برای اندروید است.نمونه کدی که در افزونه وردپرس Authora بکار بردیم.
if ('OTPCredential' in window) {
const ac = new AbortController();
$('#authora-verify').submit(function (e) {
ac.abort();
});
navigator.credentials.get({
otp: { transport: ['sms'] },
signal: ac.signal
}).then(process_otp);
}با این روش وقتی فرم کد OTP پر می کند و خودکار تایید می کنند و به صفحه مثلا ادمین هدایت می کند.
@TheRaymondDev
web.dev
SMS OTP form best practices | web.dev
Asking a user to provide a one-time password is a common way to confirm a user's identity. Learn best practices to build an SMS OTP form, with great user experience.
Forwarded from Gopher Academy
🔵 عنوان مقاله
Centralize HTTP Error Handling in Go
🟢 خلاصه مقاله:
مقاله به بررسی روش نوآورانهای برای مدیریت بهینهتر HTTP handlers با استفاده از تابع wrapper و خطای سفارشی میپردازد. این روش با ایجاد نوع خطای سفارشی و تابع wrapper که دور HTTP handlers پیچیده میشود، کمک میکند تا خطاها به طور موثرتری مدیریت شوند و ساختار کد نظیفتر و قابل نگهداریتری داشته باشد. با اعمال این الگو، توسعهدهندگان میتوانند پاسخها را استاندارد کرده و کدهای تکراری را کاهش دهند.
🟣لینک مقاله:
https://golangweekly.com/link/169217/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Centralize HTTP Error Handling in Go
🟢 خلاصه مقاله:
مقاله به بررسی روش نوآورانهای برای مدیریت بهینهتر HTTP handlers با استفاده از تابع wrapper و خطای سفارشی میپردازد. این روش با ایجاد نوع خطای سفارشی و تابع wrapper که دور HTTP handlers پیچیده میشود، کمک میکند تا خطاها به طور موثرتری مدیریت شوند و ساختار کد نظیفتر و قابل نگهداریتری داشته باشد. با اعمال این الگو، توسعهدهندگان میتوانند پاسخها را استاندارد کرده و کدهای تکراری را کاهش دهند.
🟣لینک مقاله:
https://golangweekly.com/link/169217/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Alexisbouchez
Centralize HTTP Error Handling in Go
Learn a simple pattern to centralize error handling in your Golang HTTP handlers and keep your code clean and maintainable.
Forwarded from Linuxor ?
میدونستین یه لایه پایین تر داکر یه چیزی به اسم Moby هستش ؟
شرکت های بزرگ باهاش سیستم مدیریت کانتینر اختصاصی خودشونو میسازن (مثلاً یه نسخه خاصسازیشده از Docker برای یک سیستمعامل خاص یا دیتاسنتر اختصاصی).
بعضی پروژه ها مثل Balena (برای IoT) هم از اجزای Moby برای ساخت سیستم کانتینری مخصوص دستگاههای کوچک استفاده میکنن که کنترل بیشتری نسبت به داکر داشته باشن.
@Linuxor
شرکت های بزرگ باهاش سیستم مدیریت کانتینر اختصاصی خودشونو میسازن (مثلاً یه نسخه خاصسازیشده از Docker برای یک سیستمعامل خاص یا دیتاسنتر اختصاصی).
بعضی پروژه ها مثل Balena (برای IoT) هم از اجزای Moby برای ساخت سیستم کانتینری مخصوص دستگاههای کوچک استفاده میکنن که کنترل بیشتری نسبت به داکر داشته باشن.
@Linuxor
Forwarded from Linuxor ?
این ریپو پر ایده های پروژه برنامه نویسیه که به عنوان رزومه یا تمرین میشه ازشون استفاده کرد
github.com/florinpop17/app-ideas
@Linuxor
github.com/florinpop17/app-ideas
@Linuxor
Forwarded from DevTwitter | توییت برنامه نویسی
توی vs code حالا میتونید از ollama و مدل های لوکال خودتون تو copilot استفاده کنین
کافیه Command Palette (F1) رو باز کنین و از بخش Configure Models فعال کنین
@DevTwitter | <Shojaei/>
کافیه Command Palette (F1) رو باز کنین و از بخش Configure Models فعال کنین
@DevTwitter | <Shojaei/>