Woland's Linux Journal
سازنده نئوفچ به کشاورزی روی آورده و تمام مخزنهاش رو آرشیو کرده. #fun #خبر
🔶 ممکن است این پیام را می رساند که وضعیت جهانی برنامه نویس اصلا خوب نیست.
با این وضعیت ممکنه برنامه نویسان تغییر شغل بدهند.
@TheRaymondDev
با این وضعیت ممکنه برنامه نویسان تغییر شغل بدهند.
@TheRaymondDev
👎2
Forwarded from Golden Code
وقتی یک کاربر پسوردش رو تغییر میده از لحاظ امنیتی خب قطعا بهتره api token هم برای کاربر تغییر کنه.
بطور خلاصه با استفاده از متود mutator میتونیم پیش از ذخیره سازی در دیتابیس همچین عملیاتی رو انجام بدیم . (ایجاد تغییراتی دلخواه در دیتای ورودی پیش از ذخیره سازی).🪴🌴
@GoldenCodeir
برای درک بهتر به منبع و مثالش دقت کنید👇🏾)
https://twitter.com/laravelbackpack/status/1785270384293802014?s=19
بطور خلاصه با استفاده از متود mutator میتونیم پیش از ذخیره سازی در دیتابیس همچین عملیاتی رو انجام بدیم . (ایجاد تغییراتی دلخواه در دیتای ورودی پیش از ذخیره سازی).🪴🌴
@GoldenCodeir
برای درک بهتر به منبع و مثالش دقت کنید👇🏾)
https://twitter.com/laravelbackpack/status/1785270384293802014?s=19
X (formerly Twitter)
Backpack for Laravel (@laravelbackpack) on X
#Laravel Tip
When a user updates their password, it's more secure to also change the API Token - right?
Here's how to quickly do it via mutator:
When a user updates their password, it's more secure to also change the API Token - right?
Here's how to quickly do it via mutator:
❤2👍1
Forwarded from CleverDevs (Mammad)
-اصل Command Query Separation در کلین کد
این اصل میگه تابع شما یا باید کاری انجام بده یه به سوالی جواب بده اگه هردوتاش رو میکنه بدون که اشتباه میزنی مثلا یه تابع باید یه چیزی رو تو ابجکتی تغییر بده یا یه اطلاعاتی بگیره ازش اگه جفت کار هارو بکنه یکم گیج کننده میشه
مثلا این مثال رو در نظر بگیرید
این کد میاد به یه اتریبیوتی مقداری رو ست میکنه و اگه موفقیت امیز بود ture بر میگردونه و اگه مشکل داشت false میده حالا اگه بیایم اینو توی شرط استفاده کنیم
از نگاه خواننده کد ببینید : «این الان چک میکنه که یوزر نیم unclebob از قبل ست شده یا داره چک میکنه »
کلمه set یه فعله ولی وقتی توی شرط استفاده شده قید بنظر میاد و باعث نامفهموم شدن کد میشه
میتونیم به جای set از setAndCheckIfExists استفاده کنیم اما بازم ممکنه برای if statement جالب نباشه بهترین کار اینه که یچیزی مث کد زیر بزنیم :
خلاصه این اصل این بود که تابعتون نباید هم کاری انجام بده هم چیزی بر گردونه
#CleanCode
@CleverDevs - @CleverDevsGp
این اصل میگه تابع شما یا باید کاری انجام بده یه به سوالی جواب بده اگه هردوتاش رو میکنه بدون که اشتباه میزنی مثلا یه تابع باید یه چیزی رو تو ابجکتی تغییر بده یا یه اطلاعاتی بگیره ازش اگه جفت کار هارو بکنه یکم گیج کننده میشه
مثلا این مثال رو در نظر بگیرید
public boolean set(String attribute, String value);
این کد میاد به یه اتریبیوتی مقداری رو ست میکنه و اگه موفقیت امیز بود ture بر میگردونه و اگه مشکل داشت false میده حالا اگه بیایم اینو توی شرط استفاده کنیم
if (set("username", "CleverDevs"))...از نگاه خواننده کد ببینید : «این الان چک میکنه که یوزر نیم unclebob از قبل ست شده یا داره چک میکنه »
کلمه set یه فعله ولی وقتی توی شرط استفاده شده قید بنظر میاد و باعث نامفهموم شدن کد میشه
میتونیم به جای set از setAndCheckIfExists استفاده کنیم اما بازم ممکنه برای if statement جالب نباشه بهترین کار اینه که یچیزی مث کد زیر بزنیم :
if (attributeExists("username")) {
setAttribute("username", "CleverDevs");
x...
}خلاصه این اصل این بود که تابعتون نباید هم کاری انجام بده هم چیزی بر گردونه
#CleanCode
@CleverDevs - @CleverDevsGp
❤1
Forwarded from DevTwitter | توییت برنامه نویسی
این خبر توی کامیونیتی کلاد مثل بمب ترکیده: بصورت فاجعهآمیز ومسخرهای آمازون طی یک روز ممکنه چند هزار دلار براتون صورتحساب صادر کنه بدون اینکه شما اصلا کاری بکنید! فقط کافیه سر انتخاب اسم برای یک باکت S3 خصوصی و خالی بدشانس باشید!
داستان از این قراره که یکی اومده یه باکت رو S3 با یه اسم متداول مثل example-backup-bucket ساخته (باکت شبیه یه فولدره که اسمش باید منحصر به فرد باشه). از شانس بد طرف، همین اسم توی یه ابزار بکاپگیری به عنوان نام پیشفرض باکت برای بکاپها استفاده شده بوده که باید قبل اجرای ابزار، به اسم واقعی تغییر داده بشه.
ولی خب میتونید حدس بزنید که خیلیا یادشون میره عوضش کنن و یا برای تست با همون کانفیگ و نام اولیه، ابزار رو اجرا میکنن. نتیجه این شده که طی یک روز بالای ۱۰۰ میلیون درخواست آپلود آبجکت (فایل) اومده رو باکت. از آنجایی که AWS برای درخواستهای نامعتبر و غیرمجاز هم از شما پول میگیره، با وجود خصوصی و خالی بودن باکت، باز طرف طی یک روز بالای ۱۳۰۰ دلار پیاده شده!
این یعنی صرفا با دونستن اسم یک باکت برای شخص یا شرکت دیگه و با یه کد چند خطی میتونید چندین هزار دلار بهشون ضرر بزنید و عملا هیچ کاری از دستشون بر نمیاد!
همیشه توصیه میشه از اسم باکتها محافظت بشه، ولی هیچوقت گفته نمیشه که باهاشون در حد داده خیلی حساس مثل پسورد رفتار بشه. در نتیجه پیدا کردن اسم باکت نسبتا راحته و سر پیادهسازی اشتباه یا ناقص، همین الان کلی اپ و وبسایت دارن اسم باکتاشون رو افشا میکنن.
این شخص این داستان رو توی مدیوم نوشته و به دلیل حساسیت موضوع، اسم اون ابزار بکاپگیری و باکت بدشانس رو ننوشته. ولی انقدر کامیونیتی شوکه شده و عکسالعمل نشون داده که توی توییتی که کوت کردم نایب رئیس AWS مجبور به توضیح دادن شده و گفته مشغول پیگیری موضوع هستن تا مشتریا بابت درخواستهای غیر مجاز مجبور به پرداخت هزینه نشن. که خب مسلما آمازون از وایرال شدن همچین موضوعی به هیچ وجه خوشحال نیست، چرا که همین تغییر کوچیک احتمالا چند میلیون دلار از درآمد (کاذب) آمازون کم کنه! بماند که همین الان ملت شروع کردن میگن سرویسهای دیگه AWS هم هزینههای کاذب مثل این داره که بعضا هیچ راهی برای کنترل کردنشون وجود نداره.
@DevTwitter | <Yashar/>
داستان از این قراره که یکی اومده یه باکت رو S3 با یه اسم متداول مثل example-backup-bucket ساخته (باکت شبیه یه فولدره که اسمش باید منحصر به فرد باشه). از شانس بد طرف، همین اسم توی یه ابزار بکاپگیری به عنوان نام پیشفرض باکت برای بکاپها استفاده شده بوده که باید قبل اجرای ابزار، به اسم واقعی تغییر داده بشه.
ولی خب میتونید حدس بزنید که خیلیا یادشون میره عوضش کنن و یا برای تست با همون کانفیگ و نام اولیه، ابزار رو اجرا میکنن. نتیجه این شده که طی یک روز بالای ۱۰۰ میلیون درخواست آپلود آبجکت (فایل) اومده رو باکت. از آنجایی که AWS برای درخواستهای نامعتبر و غیرمجاز هم از شما پول میگیره، با وجود خصوصی و خالی بودن باکت، باز طرف طی یک روز بالای ۱۳۰۰ دلار پیاده شده!
این یعنی صرفا با دونستن اسم یک باکت برای شخص یا شرکت دیگه و با یه کد چند خطی میتونید چندین هزار دلار بهشون ضرر بزنید و عملا هیچ کاری از دستشون بر نمیاد!
همیشه توصیه میشه از اسم باکتها محافظت بشه، ولی هیچوقت گفته نمیشه که باهاشون در حد داده خیلی حساس مثل پسورد رفتار بشه. در نتیجه پیدا کردن اسم باکت نسبتا راحته و سر پیادهسازی اشتباه یا ناقص، همین الان کلی اپ و وبسایت دارن اسم باکتاشون رو افشا میکنن.
این شخص این داستان رو توی مدیوم نوشته و به دلیل حساسیت موضوع، اسم اون ابزار بکاپگیری و باکت بدشانس رو ننوشته. ولی انقدر کامیونیتی شوکه شده و عکسالعمل نشون داده که توی توییتی که کوت کردم نایب رئیس AWS مجبور به توضیح دادن شده و گفته مشغول پیگیری موضوع هستن تا مشتریا بابت درخواستهای غیر مجاز مجبور به پرداخت هزینه نشن. که خب مسلما آمازون از وایرال شدن همچین موضوعی به هیچ وجه خوشحال نیست، چرا که همین تغییر کوچیک احتمالا چند میلیون دلار از درآمد (کاذب) آمازون کم کنه! بماند که همین الان ملت شروع کردن میگن سرویسهای دیگه AWS هم هزینههای کاذب مثل این داره که بعضا هیچ راهی برای کنترل کردنشون وجود نداره.
@DevTwitter | <Yashar/>
👍3😱1
نمایش اطلاعات سیستم Archey و Fastfetch : جایگزین Neofetch برای لینوکس
https://github.com/HorlogeSkynet/archey4
https://github.com/fastfetch-cli/fastfetch
#لینوکس
@TheRaymondDev
https://github.com/HorlogeSkynet/archey4
https://github.com/fastfetch-cli/fastfetch
#لینوکس
@TheRaymondDev
GitHub
GitHub - HorlogeSkynet/archey4: :computer: Maintained fork of the original Archey (Linux) system tool
:computer: Maintained fork of the original Archey (Linux) system tool - HorlogeSkynet/archey4
❤1
🔶 تا ۲۴ ساعت دیگه سایت subscene مجبوب ترین و بزرگترین سرویس ارائه زیرنویس فیلم و سریال جهان تعطیل خواهد شد.
آخرین زیرنویسی که از این سایت دانلود کردم گودزیلای منهای یک است. 💔
https://forum.subscene.com/topic/subscene-is-closing-so-sorry
دانلود بکاپ کل زیرنویس ها در ردیت :
https://www.reddit.com/r/DataHoarder/comments/1b5rxc2/subscenecom_full_dump/
@TheRaymondDev
آخرین زیرنویسی که از این سایت دانلود کردم گودزیلای منهای یک است. 💔
https://forum.subscene.com/topic/subscene-is-closing-so-sorry
دانلود بکاپ کل زیرنویس ها در ردیت :
https://www.reddit.com/r/DataHoarder/comments/1b5rxc2/subscenecom_full_dump/
@TheRaymondDev
❤2
Forwarded from Golden Code
ممکنه گاهی نیاز داشته باشین یه دسته از رکورد هارو آپدیت کنین یا در صورت عدم وجود ایجادشون کنین !
لاراول متودی تحت عنوان ()upsert در اختیارتون گذاشته که دقیقا همینکارو براتون انجام میده✔️
در مثال زیر قیمته همه رکوردهای اشاره شده برای مدل Flight بروزرسانی یا ساخته خواهند شد.
مثلن در آرایه اول توجهکنین، پرواز از مبدا و مقصد تعیین شده رو با قیمت ۹۹ دلار بروزرسانی میکنه(در صورت عدم وجود : میسازتش با مشخصاتی که مشخص کردیم)
📌 این uniqueBy چه نقشی داره؟
بطور خلاصه باعث میشه از پدید آمدن رکوردهای تکراری جلوگیری بشه. 🌴🪴
@GoldenCodeir
(به منبع و مثالش دقت کنین👇🏾)
https://twitter.com/OussamaMater/status/1785770546891768004?s=19
لاراول متودی تحت عنوان ()upsert در اختیارتون گذاشته که دقیقا همینکارو براتون انجام میده✔️
در مثال زیر قیمته همه رکوردهای اشاره شده برای مدل Flight بروزرسانی یا ساخته خواهند شد.
مثلن در آرایه اول توجهکنین، پرواز از مبدا و مقصد تعیین شده رو با قیمت ۹۹ دلار بروزرسانی میکنه(در صورت عدم وجود : میسازتش با مشخصاتی که مشخص کردیم)
📌 این uniqueBy چه نقشی داره؟
بطور خلاصه باعث میشه از پدید آمدن رکوردهای تکراری جلوگیری بشه. 🌴🪴
@GoldenCodeir
(به منبع و مثالش دقت کنین👇🏾)
https://twitter.com/OussamaMater/status/1785770546891768004?s=19
X (formerly Twitter)
OussamaMater (@OussamaMater) on X
Laravel Tip💡: The "upsert" Method
Sometimes you may wish to update a bunch of records or create them if they do not exist. Laravel ships with a cool method "upsert" to do exactly that 🚀
#laravel
Sometimes you may wish to update a bunch of records or create them if they do not exist. Laravel ships with a cool method "upsert" to do exactly that 🚀
#laravel
❤4
This media is not supported in your browser
VIEW IN TELEGRAM
🔶 یه کتابخانه کوچیک برای ایجاد صفحه وریفای کد نوشتم و توی گیت هاب به اشتراک گذاشتم.
برای استفاده کافیه فرم رو بنویسید و جاوا اسکریپت رو فراخوانی کنید.
https://github.com/Rayiumir/OTPJS
ستاره یادت نره ها ❤️🎉🥂
@TheRaymondDev
برای استفاده کافیه فرم رو بنویسید و جاوا اسکریپت رو فراخوانی کنید.
https://github.com/Rayiumir/OTPJS
ستاره یادت نره ها ❤️🎉🥂
@TheRaymondDev
❤🔥7
Forwarded from Python Everywhere
React or Vue ?
دو فریم ورک محبوب جاوا اسکریپت برای طراحی رابط کاربری و تعاملی Front-End؛
-تفاوت ها :
فریمورک React از قالب Jsx برای نوشتن کد های Html استفاده میکنه درحالی که Vue از کد های Html پشتیبانی میکنه و گزینه ای برای نوشتن بصورت Jsx هم داره.
🖼️ از طرف دیگه ریاکت از دقت و سرعت کمی بیشتری برخورداره و البته درک React برای کسی که به جاوا اسکریپت کامل مسلط نیست کمی سخت تره.
از طرف دیگه Vue یه فریم ورک کاملا سبک و با سرعت خوبه که با توجه به سیستم DOM که کاملا شبیه به فریمورک angular هستش و همچنین استفاده از کد های Html یادگیری خیلی سریع و آسون رو به همراه میاره.
-مفهوم DOM چیه؟
یک رابط برنامه نویسی (API) برای جاوا اسکریپت که برای تعامل توی وبسایت استفاده میشه.
بزارید ساده توضیح بدم، فرض کنید توی یه وبسایت میخواید با فشردن یه دکمه پیامی نمایش داده بشه و چیزی تغییر کنه.
تمام این تغییر ها نیازمند این هستن که تگ های Html و کد های Css بصورت مداوم بروزرسانی بشن و به عبارتی تغییر کنن.
درحالت عادی تغییر کد های html/css بصورت در لحظه و به دست کاربر ممکن نیست.
اینجاست که DOM با استفاده از یه سیستم درختی مانند، میاد و تمام عناصر (تگ ها) HTML رو تبدیل به اشیاء (Object) میکنه.
حالا عناصر سایتتون به راحتی قابل تغییر، حذف و اضافه شدن هستن!
بنابراین کاری که سیستم DOM انجام میده اینه که به شما اجازه میده کد های وبسایت تون در لحظه تغییر کنن و حذف یا اضافه بشن.
حالا میتونید درک کنید که چرا فریم ورک هایی مثل Vue.js و React.js از این سیستم استفاده میکنن تا رابط کاربری و تعامل بین سایت و کاربر ایجاد کنن.
🖼️ مزایای Vue.js :
• یاد گیری سریع و آسان
• سبک و سرعت بالا
• درحال رشد و دارای انجمن های مختلف
🖼️ معایب Vue.js :
• تجربه و حضور کمتر در عرصه
• چینی زبان بودن برخی افزونه و ابزار ها
• آیندهی نامشخص و متخصص های کمتر
🖼️ مزایای React.js :
• حضور قدرتمند و تقاضای زیاد
• سرعت بالای توسعه
• ابزار های بسیار زیاد
🖼️ معایب React.js :
• یادگیری سخت
• استفاده از Jsx
جمع بندی
درکل اگه طراح وبسایت تازه کار هستید میتونید برای پروژه های ساده/متوسط و حتی پیچیده از Vue.js استفاده کنید. چرا که یادگیری این فریم ورک خیلی آسون و سریع رقم میخوره درحالی که برای پروژه هایی با مقیاس بزرگ اطمینانی بهش نیست و بهتره که برید سراغ React
دو فریم ورک محبوب جاوا اسکریپت برای طراحی رابط کاربری و تعاملی Front-End؛
-تفاوت ها :
فریمورک React از قالب Jsx برای نوشتن کد های Html استفاده میکنه درحالی که Vue از کد های Html پشتیبانی میکنه و گزینه ای برای نوشتن بصورت Jsx هم داره.
از طرف دیگه Vue یه فریم ورک کاملا سبک و با سرعت خوبه که با توجه به سیستم DOM که کاملا شبیه به فریمورک angular هستش و همچنین استفاده از کد های Html یادگیری خیلی سریع و آسون رو به همراه میاره.
-مفهوم DOM چیه؟
یک رابط برنامه نویسی (API) برای جاوا اسکریپت که برای تعامل توی وبسایت استفاده میشه.
بزارید ساده توضیح بدم، فرض کنید توی یه وبسایت میخواید با فشردن یه دکمه پیامی نمایش داده بشه و چیزی تغییر کنه.
تمام این تغییر ها نیازمند این هستن که تگ های Html و کد های Css بصورت مداوم بروزرسانی بشن و به عبارتی تغییر کنن.
درحالت عادی تغییر کد های html/css بصورت در لحظه و به دست کاربر ممکن نیست.
اینجاست که DOM با استفاده از یه سیستم درختی مانند، میاد و تمام عناصر (تگ ها) HTML رو تبدیل به اشیاء (Object) میکنه.
حالا عناصر سایتتون به راحتی قابل تغییر، حذف و اضافه شدن هستن!
بنابراین کاری که سیستم DOM انجام میده اینه که به شما اجازه میده کد های وبسایت تون در لحظه تغییر کنن و حذف یا اضافه بشن.
حالا میتونید درک کنید که چرا فریم ورک هایی مثل Vue.js و React.js از این سیستم استفاده میکنن تا رابط کاربری و تعامل بین سایت و کاربر ایجاد کنن.
• یاد گیری سریع و آسان
• سبک و سرعت بالا
• درحال رشد و دارای انجمن های مختلف
• تجربه و حضور کمتر در عرصه
• چینی زبان بودن برخی افزونه و ابزار ها
• آیندهی نامشخص و متخصص های کمتر
• حضور قدرتمند و تقاضای زیاد
• سرعت بالای توسعه
• ابزار های بسیار زیاد
• یادگیری سخت
• استفاده از Jsx
جمع بندی
درکل اگه طراح وبسایت تازه کار هستید میتونید برای پروژه های ساده/متوسط و حتی پیچیده از Vue.js استفاده کنید. چرا که یادگیری این فریم ورک خیلی آسون و سریع رقم میخوره درحالی که برای پروژه هایی با مقیاس بزرگ اطمینانی بهش نیست و بهتره که برید سراغ React
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄 یک برنامه نویس تنبل
https://twitter.com/Prathkum/status/1777393342894198893 که اینطور ... @TheRaymondDev
دومین اتفاقی که افتاد ...
🔶 یکی از برنامه نویسان مایکروسافت که 22 سال در این شرکت کار کرده بود، حدود 10 ماه پیش به دلیل عملکرد ضعیف از مایکروسافت اخراج شد ولی به جای اینکه باز هم به عنوان برنامه نویس در شرکت دیگه ای مشغول بشه، کلا این حوزه رو رها کرده و به پرورش غاز مشغول شده است!
ترجمه از تک توب
https://economictimes.indiatimes.com/magazines/panache/fired-microsoft-engineer-takes-up-goose-farming-as-new-career-check-viral-linkedin-profile/articleshow/109771197.cms?from=mdr
#خبر
@TheRaymondDev
🔶 یکی از برنامه نویسان مایکروسافت که 22 سال در این شرکت کار کرده بود، حدود 10 ماه پیش به دلیل عملکرد ضعیف از مایکروسافت اخراج شد ولی به جای اینکه باز هم به عنوان برنامه نویس در شرکت دیگه ای مشغول بشه، کلا این حوزه رو رها کرده و به پرورش غاز مشغول شده است!
ترجمه از تک توب
https://economictimes.indiatimes.com/magazines/panache/fired-microsoft-engineer-takes-up-goose-farming-as-new-career-check-viral-linkedin-profile/articleshow/109771197.cms?from=mdr
#خبر
@TheRaymondDev
The Economic Times
Fired Microsoft engineer takes up goose farming as new career: Check viral LinkedIn profile
Feng Yuan's viral journey from a 22-year tenure at Microsoft to becoming a goose farmer has captivated social media. Initially shared by X user Smarika Malviya, Yuan's career shift reflects a desire for personal fulfillment. Despite his dismissal due to "low…
Forwarded from Golden Code
وقتی باید از whereIn استفاده میکنیم در پروژه و ورودی از کاربر نداریم درین شرایط میتونیم برای افزایش سرعت کوئری از یه متود دیگه با نام ()WhereIntegerInRaw هم استفاده کنیم.✔️
حالا چرا این متود باعث افزایش سرعت میشه؟؟
چون میاد و PDO bindings و اقدامات امنیتی که مربوط به خود لاراول هستن رو نادیده میگیره :)
@GoldenCodeir 💫
به منبع و مثالش دقت کنین👇🏾
https://twitter.com/OussamaMater/status/1785045623382610233?t=ytMU5-dp7lqeeqi1D9A47w&s=19
حالا چرا این متود باعث افزایش سرعت میشه؟؟
چون میاد و PDO bindings و اقدامات امنیتی که مربوط به خود لاراول هستن رو نادیده میگیره :)
@GoldenCodeir 💫
به منبع و مثالش دقت کنین👇🏾
https://twitter.com/OussamaMater/status/1785045623382610233?t=ytMU5-dp7lqeeqi1D9A47w&s=19
X (formerly Twitter)
OussamaMater (@OussamaMater) on X
Laravel Tip💡: Faster Queries with "whereIntegerInRaw"
When using a whereIn query with non-user input, opt for whereIntegerInRaw. This speeds up your query by skipping PDO bindings and Laravel's security measures against SQL injection 🚀
#laravel
When using a whereIn query with non-user input, opt for whereIntegerInRaw. This speeds up your query by skipping PDO bindings and Laravel's security measures against SQL injection 🚀
#laravel
👍2
Forwarded from APPXA free
OFGB • Oh Frick Go Back
GUI Tool To Remove Ads From Various Places Around Windows 11.
Download • Repo
ابزاری برای حذف تبلیغات از قسمتهای مختلف ویندوز ۱۱
#windows
GUI Tool To Remove Ads From Various Places Around Windows 11.
Download • Repo
ابزاری برای حذف تبلیغات از قسمتهای مختلف ویندوز ۱۱
#windows
🤣4