Forwarded from CleverDevs (Mammad)
Forwarded from Linuxor ?
اگه یه ماژول فقط مسئول محاسبه تخفیفها باشه (مثلا کلاس DiscountCalculator)، این ماژول یه ماژول High Cohesion هستش و خیلی خوبه باعث فهم بهتر کد و قابلیت نگهداری بالاتریه.
اگه یه ماژول وظایف مختلفی مثل محاسبه تخفیف، چاپ فاکتور و مدیریت مشتری رو انجام بده، انسجامش پایینه و میتونه باعث پیچیدگی و مشکلات در نگهداری شه.
@Linuxor
اگه یه ماژول وظایف مختلفی مثل محاسبه تخفیف، چاپ فاکتور و مدیریت مشتری رو انجام بده، انسجامش پایینه و میتونه باعث پیچیدگی و مشکلات در نگهداری شه.
@Linuxor
Forwarded from LearnPOV | لرن پی او وی
برای اینکه بفهمید چند خط کد توی ریپازیتوری گیت شما زده شده میتونید از دستور زیر استفاده کنید، نتیجش میتونه واقعا جالب باشه 🔥
دستور زیر هم لیست تمامی فایلهای ریپو رو به همراه تعداد خط کد هر کدوم لیست میکنه و در نهایت هم جمع کلشون رو نشون میده.
🚀 @coolycode
git ls-files | xargs wc -l | tail -n 1
دستور زیر هم لیست تمامی فایلهای ریپو رو به همراه تعداد خط کد هر کدوم لیست میکنه و در نهایت هم جمع کلشون رو نشون میده.
bash git ls-files | xargs wc -l
#git | #tricks
Forwarded from Go Casts 🚀
دو برنامه نویس کهنه کار و خفن ۲۵ سال پیش یه کتاب جمع و جور و خوب نوشتن که کلی نکته کوچیک و مفید در مورد practiceهای برنامه نویسی داره.
مثلا در فصل اول برای style همین یک پاراگراف کلی نکته داره
اولا اینکه style یه common sense هست، پس براش دنبال استاندارد و قانون نگردید.
کد باید واضح و ساده باشه و نباید clever tricks داشته باشه
خیلی Consistency مهمه که یک style در کل کد رعایت بشه
The principles of programming style are based on common sense guided by expe- rience, not on arbitrary rules and prescriptions. Code should be clear and simple- straightforward logic, natural expression, conventional language use, meaningful names, neat formatting, helpful comments- and it should avoid clever tricks and unusual constructions. Consistency is important because others will find it easier to read your code, and you theirs, if you all stick to the same style.
من چند تا از نکات فصل اول رو مینویسم اینجا
Use descriptive names for globals, short names for locals.
Programmers are often encouraged to use long variable names regardless of context. That is a mistake: clarity is often achieved through brevity.
نوشته شده که global variables باید اسم های طولانی و توصیف کننده داشته باشن و local variables ها باید short name داشته باشن.
نکته جالبی که میگه اینه که برنامه نویس ها علاقه دارن اسم های طولانی انتخاب بکنن بدون در نظر گرفتن context، در حالیکه clarity خیلی وقت ها با استفاده از اختصار بدست میاد.
Be consistent
در انتخاب اسم ها باید سیاست consistent داشته باشیم، اگه یه جا برای نامگذاری یه متغیر مرتبط با صف از Queue استفاده کردیم، برای یه متغیر دیگه از Q استفاده نکنیم…
Consistency and Idioms: Use a consistent indentation and brace style
این چیزیه که در گولنگ خیلی دغدغه ش رو نداریم، چون rob pike یکی از نویسندگان این کتاب خودش گولنگ رو نوشته 🙂
Give names to magic numbers
بهتره اگه تو کد مقادیر ثابت استفاده میکنید براشون constant تعریف کنید، مثلا اگه در گولنگ از لینتر استفاده کنید میتونید این لینتر رو نصب کنید go-mnd که بهتون بگه کجاها رعایت نکردید
خلاصه این کتاب کلی نکته مفید و کوچیک و خفن داره که هنوز هم خیلی هاش کاربردیه
The Practice of Programming (Addison-Wesley Professional Computing Series) 1st Edition
https://www.amazon.com/Practice-Programming-Addison-Wesley-Professional-Computing/dp/020161586X
by Brian Kernighan (Author), Rob Pike (Author)
@gocasts
مثلا در فصل اول برای style همین یک پاراگراف کلی نکته داره
اولا اینکه style یه common sense هست، پس براش دنبال استاندارد و قانون نگردید.
کد باید واضح و ساده باشه و نباید clever tricks داشته باشه
خیلی Consistency مهمه که یک style در کل کد رعایت بشه
The principles of programming style are based on common sense guided by expe- rience, not on arbitrary rules and prescriptions. Code should be clear and simple- straightforward logic, natural expression, conventional language use, meaningful names, neat formatting, helpful comments- and it should avoid clever tricks and unusual constructions. Consistency is important because others will find it easier to read your code, and you theirs, if you all stick to the same style.
من چند تا از نکات فصل اول رو مینویسم اینجا
Use descriptive names for globals, short names for locals.
Programmers are often encouraged to use long variable names regardless of context. That is a mistake: clarity is often achieved through brevity.
نوشته شده که global variables باید اسم های طولانی و توصیف کننده داشته باشن و local variables ها باید short name داشته باشن.
نکته جالبی که میگه اینه که برنامه نویس ها علاقه دارن اسم های طولانی انتخاب بکنن بدون در نظر گرفتن context، در حالیکه clarity خیلی وقت ها با استفاده از اختصار بدست میاد.
Be consistent
در انتخاب اسم ها باید سیاست consistent داشته باشیم، اگه یه جا برای نامگذاری یه متغیر مرتبط با صف از Queue استفاده کردیم، برای یه متغیر دیگه از Q استفاده نکنیم…
Consistency and Idioms: Use a consistent indentation and brace style
این چیزیه که در گولنگ خیلی دغدغه ش رو نداریم، چون rob pike یکی از نویسندگان این کتاب خودش گولنگ رو نوشته 🙂
Give names to magic numbers
بهتره اگه تو کد مقادیر ثابت استفاده میکنید براشون constant تعریف کنید، مثلا اگه در گولنگ از لینتر استفاده کنید میتونید این لینتر رو نصب کنید go-mnd که بهتون بگه کجاها رعایت نکردید
خلاصه این کتاب کلی نکته مفید و کوچیک و خفن داره که هنوز هم خیلی هاش کاربردیه
The Practice of Programming (Addison-Wesley Professional Computing Series) 1st Edition
https://www.amazon.com/Practice-Programming-Addison-Wesley-Professional-Computing/dp/020161586X
by Brian Kernighan (Author), Rob Pike (Author)
@gocasts
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰 گوگل قصد دارد ChromeOS را "متوقف کند" و اندروید را به دسکتاپ بیاورد
🔹گوگل قصد دارد ChromeOS را "متوقف کند" تا با آی پد اپل رقابت کند. جایی که توضیح داده میشود گوگل در حال کار بر روی یک لپتاپ high-end با نام رمز Snowy است.
🔹گزارش شده که گوگل تنها یک سیستم عامل خواهد داشت: اندروید
🔹رمز Snowy یک لپتاپ high-end خواهد بود که به سری مکبوک شباهت دارد، اما به جای استفاده از ChromeOS، از اندروید استفاده خواهد کرد. آنها اصرار دارند که هدف رقابت با آی پد است.
🔹 گوگل سابقه چندان درخشانی در مدیریت سیستمعاملها و محصولات خود ندارد. وبسایت "گورستان گوگل" نزدیک به ۳۰۰ نمونه از محصولات و خدمات متوقفشده گوگل را فهرست کرده است.گوگل ممکن است با اندروید موفق بوده باشد، اما سیستمعاملهای دیگر را بهدرستی مدیریت نکرده یا رها کرده است.گوگل در سال ۲۰۱۸ اقدام به بازسازی و بهبود این سیستمعامل کرد و نام آن را به Wear OS تغییر داد. سیستمعامل ظاهر جدیدی به خود گرفت و کمی سریعتر شد، اما بسیاری از مشکلات آن باقی ماندند و تعداد تولیدکنندگانی که از این پلتفرم استفاده میکردند کاهش یافت
🔹در ژانویه ۲۰۲۳، گوگل ۱۶٪ از کارکنان مشغول به کار روی Google Fuchsia را اخراج کرد. از آن زمان چیز زیادی درباره آن نشنیدهایم. این سیستمعامل به عنوان نسل بعدی اندروید و ChromeOS معرفی شد،
🔹نکته این است که آنها میخواهند ChromeOS به اندروید تبدیل شود، یا بهتر بگوییم ادغامی از هر دو سیستم عامل.
همچنین بر اساس این منبع داخلی ادعا شده، همه اینها به این دلیل است که آی پد پادشاه تبلتها است و هیچ کاری که گوگل تا به حال انجام داده نتوانسته این وضعیت را تغییر دهد. در ایالات متحده، به جایی رسیده که بسیاری از مردم به هر تبلتی "آی پد" میگویند.
📌نویسنده: حسین سیلانی
📌منبع : آکادمی کندوی دانش
https://learninghive.ir
🔹گوگل قصد دارد ChromeOS را "متوقف کند" تا با آی پد اپل رقابت کند. جایی که توضیح داده میشود گوگل در حال کار بر روی یک لپتاپ high-end با نام رمز Snowy است.
🔹گزارش شده که گوگل تنها یک سیستم عامل خواهد داشت: اندروید
🔹رمز Snowy یک لپتاپ high-end خواهد بود که به سری مکبوک شباهت دارد، اما به جای استفاده از ChromeOS، از اندروید استفاده خواهد کرد. آنها اصرار دارند که هدف رقابت با آی پد است.
🔹 گوگل سابقه چندان درخشانی در مدیریت سیستمعاملها و محصولات خود ندارد. وبسایت "گورستان گوگل" نزدیک به ۳۰۰ نمونه از محصولات و خدمات متوقفشده گوگل را فهرست کرده است.گوگل ممکن است با اندروید موفق بوده باشد، اما سیستمعاملهای دیگر را بهدرستی مدیریت نکرده یا رها کرده است.گوگل در سال ۲۰۱۸ اقدام به بازسازی و بهبود این سیستمعامل کرد و نام آن را به Wear OS تغییر داد. سیستمعامل ظاهر جدیدی به خود گرفت و کمی سریعتر شد، اما بسیاری از مشکلات آن باقی ماندند و تعداد تولیدکنندگانی که از این پلتفرم استفاده میکردند کاهش یافت
🔹در ژانویه ۲۰۲۳، گوگل ۱۶٪ از کارکنان مشغول به کار روی Google Fuchsia را اخراج کرد. از آن زمان چیز زیادی درباره آن نشنیدهایم. این سیستمعامل به عنوان نسل بعدی اندروید و ChromeOS معرفی شد،
🔹نکته این است که آنها میخواهند ChromeOS به اندروید تبدیل شود، یا بهتر بگوییم ادغامی از هر دو سیستم عامل.
همچنین بر اساس این منبع داخلی ادعا شده، همه اینها به این دلیل است که آی پد پادشاه تبلتها است و هیچ کاری که گوگل تا به حال انجام داده نتوانسته این وضعیت را تغییر دهد. در ایالات متحده، به جایی رسیده که بسیاری از مردم به هر تبلتی "آی پد" میگویند.
📌نویسنده: حسین سیلانی
📌منبع : آکادمی کندوی دانش
https://learninghive.ir
Forwarded from کانال اطلاعرسانی توزیع پارچ
ویژگیهای جدید، ظاهر جدید
کالامارس پارچ رو با ظاهری جدید و رنگبندی توکیو نایت بازطراحی کردیم، صدالبته این نتیجه نهایی نیست و تا روز عرضه نسخه جدید دستخوش تغییرات زیادی خواهد شد.
@ParchLinux
کالامارس پارچ رو با ظاهری جدید و رنگبندی توکیو نایت بازطراحی کردیم، صدالبته این نتیجه نهایی نیست و تا روز عرضه نسخه جدید دستخوش تغییرات زیادی خواهد شد.
@ParchLinux
Forwarded from ASafaeirad
Node.JS Typescript support (kinda) is now enabled by default.
https://github.com/nodejs/node/pull/56350
#nodejs #news
https://github.com/nodejs/node/pull/56350
#nodejs #news
GitHub
module: unflag --experimental-strip-types by marco-ippolito · Pull Request #56350 · nodejs/node
It's time to enable it by default to catch some more bugs, currently there are no open issues.
I think it's a semver minor change.
Fixes: nodejs/typescript#17
@nodejs/tsc for visibi...
I think it's a semver minor change.
Fixes: nodejs/typescript#17
@nodejs/tsc for visibi...
Forwarded from ASafaeirad
Forwarded from Laravel News
A Laravel Package for the Quickpay API https://laravel-news.com/quickpay-laravel
Laravel News
A Laravel Package for the Quickpay API - Laravel News
The Quickpay package for Laravel helps you quickly utilize the Quickpay API client using a fluent object and service Facade. Quickpay allows you to accept payments securely and reliably.
Forwarded from CleverDevs (Mammad)
خیلی اوقات برامون پیش میاد بخوایم یه فایلی رو بین لپ تاپ یا گوشی یا حتی بین دوتا گوشی به اشتراک بزاریم
یکی از بچه های کانال اومده یه برنامه باحال برای اینکار توسعه داده به اسم میزبان که میاد یه سرور کوچیک روی شبکه LAN میسازه و دستگاه هایی که به یه شبکه متصل باشن راحت میتونن فایل هاشون رو به اشتراک بزارن
میزبان از سیستم عامل های گنو/لینوکس و ویندوز پشتیبانی میکنه و استفاده ازش هم سادس که میتونید توی گیت هابش ببینید
https://github.com/aminupy/mizban/
اگه پیشنهادی داشتید میتونید توی کامنتا بفرستید یا خودتون توی برنامه مشارکت کنید و اگه خوشتون اومد استار بدید ⭐️
#openSource
@CleverDevs - @CleverDevsGp
یکی از بچه های کانال اومده یه برنامه باحال برای اینکار توسعه داده به اسم میزبان که میاد یه سرور کوچیک روی شبکه LAN میسازه و دستگاه هایی که به یه شبکه متصل باشن راحت میتونن فایل هاشون رو به اشتراک بزارن
میزبان از سیستم عامل های گنو/لینوکس و ویندوز پشتیبانی میکنه و استفاده ازش هم سادس که میتونید توی گیت هابش ببینید
https://github.com/aminupy/mizban/
اگه پیشنهادی داشتید میتونید توی کامنتا بفرستید یا خودتون توی برنامه مشارکت کنید و اگه خوشتون اومد استار بدید ⭐️
#openSource
@CleverDevs - @CleverDevsGp
Forwarded from Laravel News
Deep Array Manipulation with Laravel's replaceRecursive Method https://laravel-news.com/replacerecursive
Laravel News
Deep Array Manipulation with Laravel's replaceRecursive Method - Laravel News
Master Laravel's replaceRecursive method for elegant nested array updates. Learn to merge complex configurations and user preferences while preserving default values in your data structures.
Forwarded from کانال اطلاعرسانی توزیع پارچ
در راستای مهاجرت به سیستمدی بوت، کار بر روی بوتمنیجر توزیع پارچ آغاز شده که فرآیند این عمل یعنی تغییر بین توزیع/سیستمعامل های مختلف رو سادهتر میکنه.
@ParchLinux
@ParchLinux
Forwarded from PhiloLearn | فیلولرن
یه نگاهی بهش بندازید
پارچ یکی از پروژه های خفنیه که توسعه دهنده هاش دارن تمام تلاششون رو میکنن و یکم مشارکت از سمت جامعه خیلی براشون امید بخش میتونه باشه
به بداخلاقی توسعه دهنده هاش نگاه نکنید، چیزی تو دلشون نیست
پارچ یکی از پروژه های خفنیه که توسعه دهنده هاش دارن تمام تلاششون رو میکنن و یکم مشارکت از سمت جامعه خیلی براشون امید بخش میتونه باشه
به بداخلاقی توسعه دهنده هاش نگاه نکنید، چیزی تو دلشون نیست
Forwarded from محتوای آزاد سهراب
میخوام یک توضیح بدم درمورد معماریهای کامپیوتر و اینکه انگار توی بعضی گروهها خیلی هارو گیج کرده 🤔
اول از همه با amd64 و x86_64 شروع میکنیم.
- معماری x86_64 و اینکه چرا بهش میگن amd64؟
چون این معماری در ابتدا توسط شرکت amd مورد استفاده قرار گرفت و بعدش اینتل هم اومد استفاده کرد برای همین این معماری ۶۴ بیتی رو با این اسمها میشناسن، صرفاً amd64 رو هرجا دیدید گیج نشید و فکر کنید برای amd عه :))
- دوتا معماری دیگه i386 و i686 یا معماریهای ۳۲ بیتی اینتل هستن.
معماری i386 به نسل سوم پردازندههای ۳۲ بیتی اینتل و i686 به نسل ششم اونها اشاره میکنه.
- معماری aarch64 یا arm64
این معماری برای پردازندههای آرم ۶۴ بیتی هستش، خیلی دیدم که بعضیها این رو با amd64 اشتباه میگیرن و اشتباه دانلود میکنن :)))
@SohrabContents
اول از همه با amd64 و x86_64 شروع میکنیم.
- معماری x86_64 و اینکه چرا بهش میگن amd64؟
چون این معماری در ابتدا توسط شرکت amd مورد استفاده قرار گرفت و بعدش اینتل هم اومد استفاده کرد برای همین این معماری ۶۴ بیتی رو با این اسمها میشناسن، صرفاً amd64 رو هرجا دیدید گیج نشید و فکر کنید برای amd عه :))
- دوتا معماری دیگه i386 و i686 یا معماریهای ۳۲ بیتی اینتل هستن.
معماری i386 به نسل سوم پردازندههای ۳۲ بیتی اینتل و i686 به نسل ششم اونها اشاره میکنه.
- معماری aarch64 یا arm64
این معماری برای پردازندههای آرم ۶۴ بیتی هستش، خیلی دیدم که بعضیها این رو با amd64 اشتباه میگیرن و اشتباه دانلود میکنن :)))
یک پیام از سهراب
این پست رو خیلی خلاصه نوشتم که صرفاً توضیح بدم که چی به چی هستش، اگر بحث فنی این موضوع رو دوست داشته باشید توی پستهای بعدی درموردش صحبت کنیم
@SohrabContents