تو دنیای برنامه نویسی یکسری قرارداد های نامگذاری وجود داره برای اینکه بتونیم کدهای خوانایی بزنیم و ازونجایی که در دنیای برنامه نویسی چیزهای زیادی مانند متغیرها، توابع، کلاس ها، متد ها و ... وجود داره توسعه دهنده ها تصمیم گرفتن تا از کیس تایپ های مختلفی استفاده کنند برای نامگذاری.
اکثر ( اگر نگیم همه ) زبان های برنامه نویسی هر کلمه رو یک چیز کاملا جدا و منحصر فرد در نظر میگیرند. مثال زیر رو برای نامگذاری یک متغیر در نظر بگیرید
Number of donuts = 34
سه کلمه ی (number, of, donuts) در یک زبان برنامه نویسی به صورت مستقل باهاشون رفتار میشه به علت اینکه کارکتر اسپیس بین انها قرار گرفته است. برای اینکه برنامتون به درستی کار بکنه باید کارکتر های اسپیس رو حذف بکنید و اونرو به یک استرینگ واحد به شیوه خاصی تبدیل کنید.
4 نوع تایپ کیس داریم که جلوتر بهتون توضیح میدم ولی در همین ابتدا بگم هیچ جواب قاطعی برای اینکه کدوم بهتره وجود نداره.
شما باید با توجه به بست پرکتیس های زبان پروژتون انتخاب کنید که قراره از کدوم تایپ کیس استفاده کنید.
—————————————————————-
1- snake_case
- تمام حروف باید کوچک باشند.
- هر کلمه با استفاده از _ به هم وصل میشود.
بیشتر در زبان پایتون این قابل مشاهده هست و در زبان هایی مثل جاوا، جاوااسکریپت کمتر دیده میشه.
● کاربرد ها :
- ساختن متغیر ها، نام متد ها
- اسامی جدول و ستون های یک دیتابیس
همچنین یک ورژن دیگه از snake case وجود داره که از حروف بزرگ استفاده میشه و معمولا در زبان های برنامه نویسی مواقعی استفاده میشه که نشان دهنده داده ای است که در طول برنامه تغییر نخواهد کرد.
—————————————————————-
2- kebab-case
- تمام حروف باید کوچک باشند.
- هر کلمه با استفاده از – به هم وصل میشود.
● کاربرد ها :
- در یو ار ال ها (URLs) مشاهده میشود.
—————————————————————-
3- camelCase
- حرف اول کلمه اول کوچک و حرف اول بقیه کلمات بزرگ است.
● کاربرد ها :
- در زبان های جاوا، جاوااسکریپت واسه ساخت متغیر ها و توابع و اسامی متد ها استفاده میشود
—————————————————————-
4- PascalCase
- حرف اول تمام کلمات بزرگ نوشته میشود.
● کاربرد ها :
- در نامگذاری کلاس ها در اکثر زبان ها کاربرد دارد.
—————————————————————-
منبع
👾 @pishroapp
اکثر ( اگر نگیم همه ) زبان های برنامه نویسی هر کلمه رو یک چیز کاملا جدا و منحصر فرد در نظر میگیرند. مثال زیر رو برای نامگذاری یک متغیر در نظر بگیرید
Number of donuts = 34
سه کلمه ی (number, of, donuts) در یک زبان برنامه نویسی به صورت مستقل باهاشون رفتار میشه به علت اینکه کارکتر اسپیس بین انها قرار گرفته است. برای اینکه برنامتون به درستی کار بکنه باید کارکتر های اسپیس رو حذف بکنید و اونرو به یک استرینگ واحد به شیوه خاصی تبدیل کنید.
4 نوع تایپ کیس داریم که جلوتر بهتون توضیح میدم ولی در همین ابتدا بگم هیچ جواب قاطعی برای اینکه کدوم بهتره وجود نداره.
شما باید با توجه به بست پرکتیس های زبان پروژتون انتخاب کنید که قراره از کدوم تایپ کیس استفاده کنید.
—————————————————————-
1- snake_case
- تمام حروف باید کوچک باشند.
- هر کلمه با استفاده از _ به هم وصل میشود.
بیشتر در زبان پایتون این قابل مشاهده هست و در زبان هایی مثل جاوا، جاوااسکریپت کمتر دیده میشه.
● کاربرد ها :
- ساختن متغیر ها، نام متد ها
- اسامی جدول و ستون های یک دیتابیس
همچنین یک ورژن دیگه از snake case وجود داره که از حروف بزرگ استفاده میشه و معمولا در زبان های برنامه نویسی مواقعی استفاده میشه که نشان دهنده داده ای است که در طول برنامه تغییر نخواهد کرد.
—————————————————————-
2- kebab-case
- تمام حروف باید کوچک باشند.
- هر کلمه با استفاده از – به هم وصل میشود.
● کاربرد ها :
- در یو ار ال ها (URLs) مشاهده میشود.
—————————————————————-
3- camelCase
- حرف اول کلمه اول کوچک و حرف اول بقیه کلمات بزرگ است.
● کاربرد ها :
- در زبان های جاوا، جاوااسکریپت واسه ساخت متغیر ها و توابع و اسامی متد ها استفاده میشود
—————————————————————-
4- PascalCase
- حرف اول تمام کلمات بزرگ نوشته میشود.
● کاربرد ها :
- در نامگذاری کلاس ها در اکثر زبان ها کاربرد دارد.
—————————————————————-
منبع
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
اگه به لینکی مشکوک هستید میتونید اول رو این مرورگر مجازی بازش کنید
browser.lol
منبع DevTwitter
👾 @pishroapp
browser.lol
منبع DevTwitter
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2 2❤1
این روشها به برنامهنویسان این امکان را میدهند که با استفاده از درخواستهای HTTP ، منابع مختلفی مانند پروفایلهای کاربری، محتواهای دیجیتال، و دادههای پایگاهداده را مدیریت و بهروزرسانی کنند.
#http #restful #api
Please open Telegram to view this post
VIEW IN TELEGRAM
pishroapp.net
با تفاوت درخواست های PUT و PATCH در HTTP آشنا شویم
هرچند که PUT و PATCH هر دو برای بهروزرسانی منابع استفاده میشوند، اما از لحاظ عملکرد و کاربرد تفاوتهای اساسی با یکدیگر دارند.
👍2 2
بچه ها با این دستور میتونید سابقه گیت رو بر اساس تاریخ از جدید به قدیم داشته باشین
برا من که تو شرکت رو برنچ هام خیلی جابجا میشم خوب به کارم میاد و میتونم برنچ ها رو بر اساس تاریخ داشته باشم
#git
👾 @pishroapp
git branch --sort=-committerdate
برا من که تو شرکت رو برنچ هام خیلی جابجا میشم خوب به کارم میاد و میتونم برنچ ها رو بر اساس تاریخ داشته باشم
#git
Please open Telegram to view this post
VIEW IN TELEGRAM
تابع LENGTH توی mysql وجود داره که میتونید با اون طول یک رشته رو برگردونید
با این تابع شما می تونید طول رشته رو داشته باشید، مثلا نمونه ی زیر رو ببیند
این کوئری لیست تمام کاربران به همراه طول نام کاربری آنها (به بایت) را نمایش میدهد.
اگر بخواهید تعداد کاراکترها (نه بایتها) را محاسبه کنید، میتوانید از CHAR_LENGTH() استفاده کنید:
#mysql
👾 @pishroapp
با این تابع شما می تونید طول رشته رو داشته باشید، مثلا نمونه ی زیر رو ببیند
SELECT username, LENGTH(username) AS username_length
FROM users;
این کوئری لیست تمام کاربران به همراه طول نام کاربری آنها (به بایت) را نمایش میدهد.
اگر بخواهید تعداد کاراکترها (نه بایتها) را محاسبه کنید، میتوانید از CHAR_LENGTH() استفاده کنید:
SELECT username, CHAR_LENGTH(username) AS username_length_in_chars
FROM users;
#mysql
Please open Telegram to view this post
VIEW IN TELEGRAM
یه مقاله خوب و ساده که توش ۱۰۱ نکته و pest practice رو برای React توضیح داده
اگه فرانت میزنید و با ری اکت هم کار میکنید اینو حتما بخونید پس
101 React Tips & Tricks For Beginners To Experts
https://dev.to/_ndeyefatoudiop/101-react-tips-tricks-for-beginners-to-experts-4m11
#react
👾 @pishroapp
اگه فرانت میزنید و با ری اکت هم کار میکنید اینو حتما بخونید پس
101 React Tips & Tricks For Beginners To Experts
https://dev.to/_ndeyefatoudiop/101-react-tips-tricks-for-beginners-to-experts-4m11
#react
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
هوش مصنوعی جذاب استارتاپ Exists: خلق بازیهای سهبعدی از روی دستورات متنی
استارتاپ هوش مصنوعی Exists از پلتفرم هوش مصنوعی مولد خود رونمایی کرد که با آن میتوانید یک ویدیوگیم سهبعدی را تنها از طریق پرامپتهای متنی ایجاد کنید. برای ایجاد بازیهای مختلف، شما نیاز به هیچ مهارت برنامهنویسی نخواهید داشت.
با پلتفرم مبتنی بر هوش مصنوعی این استارتاپ، فرایند تولید ویدیوگیم کاملاً خودکار انجام میشود. با کمک هوش مصنوعی این شرکت، شما میتوانید اکوسیستم ویدیوگیم خود مانند محیط، شخصیتها و سبک بازی را تعیین کنید.DevTwitter
👾 @pishroapp
استارتاپ هوش مصنوعی Exists از پلتفرم هوش مصنوعی مولد خود رونمایی کرد که با آن میتوانید یک ویدیوگیم سهبعدی را تنها از طریق پرامپتهای متنی ایجاد کنید. برای ایجاد بازیهای مختلف، شما نیاز به هیچ مهارت برنامهنویسی نخواهید داشت.
با پلتفرم مبتنی بر هوش مصنوعی این استارتاپ، فرایند تولید ویدیوگیم کاملاً خودکار انجام میشود. با کمک هوش مصنوعی این شرکت، شما میتوانید اکوسیستم ویدیوگیم خود مانند محیط، شخصیتها و سبک بازی را تعیین کنید.DevTwitter
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
اگه رو پروداکشن میخواید یه مایگریشن سریع ران بشه می تونید از دستور زیر توی #لاراول استفاده کنید
👾 @pishroapp
php artisan migrate --force
Please open Telegram to view this post
VIEW IN TELEGRAM
بچه ها میدونید توی استاتوس کدهای Http یه کد وضعیتی وجود داره به معنی I’m a Teapot – من قوری هستم!
اما داستان استاتوس کد 418 چیه؟
استاتوس کد HTTP 418 "I'm a teapot" در اصل بخشی از یک شوخی است که به عنوان قسمتی از یک پروتکل طنز به نام "Hyper Text Coffee Pot Control Protocol" (HTCPCP) در سال 1998 توسط گروه IETF مطرح شد.
این پروتکل برای کنترل دستگاههای قهوهساز طراحی شده بود، و استاتوس کد 418 به این معناست که سرور به جای یک دستگاه قهوهساز، یک قوری چای است و قادر به دم کردن قهوه نیست!
این کد هیچ کاربرد واقعی در شبکههای وب ندارد و فقط به عنوان یک شوخی در میان توسعهدهندگان و جامعه تکنولوژی شناخته میشود.
در واقع، سرور اعلام میکند که یک "قوری چای" است و بنابراین نمیتواند درخواست دم کردن قهوه را انجام دهد.
این استاتوس کد به نوعی نمادی از طنز و شوخی در میان توسعهدهندگان اینترنتی است.
👾 @pishroapp
اما داستان استاتوس کد 418 چیه؟
استاتوس کد HTTP 418 "I'm a teapot" در اصل بخشی از یک شوخی است که به عنوان قسمتی از یک پروتکل طنز به نام "Hyper Text Coffee Pot Control Protocol" (HTCPCP) در سال 1998 توسط گروه IETF مطرح شد.
این پروتکل برای کنترل دستگاههای قهوهساز طراحی شده بود، و استاتوس کد 418 به این معناست که سرور به جای یک دستگاه قهوهساز، یک قوری چای است و قادر به دم کردن قهوه نیست!
این کد هیچ کاربرد واقعی در شبکههای وب ندارد و فقط به عنوان یک شوخی در میان توسعهدهندگان و جامعه تکنولوژی شناخته میشود.
در واقع، سرور اعلام میکند که یک "قوری چای" است و بنابراین نمیتواند درخواست دم کردن قهوه را انجام دهد.
این استاتوس کد به نوعی نمادی از طنز و شوخی در میان توسعهدهندگان اینترنتی است.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔰 مایکروسافت چندین نقص امنیتی جدی در نرمافزار OpenVPN پیدا کرده است که مهاجمان میتوانند از آنها برای نفوذ به سیستمها و سرقت اطلاعات استفاده کنند.
کاربران OpenVPN باید هر چه سریعتر نرمافزار خود را بهروزرسانی کنند.
مهمترین نکات:
- آسیبپذیریها به مهاجمان اجازه میدهد تا کنترل کامل سیستم را به دست بگیرند.
- این نقصها در نسخههای قدیمیتر OpenVPN وجود دارند.
- برای جلوگیری از این حملات، باید نرمافزار را به آخرین نسخه بهروزرسانی کنید.
👾 @pishroapp
کاربران OpenVPN باید هر چه سریعتر نرمافزار خود را بهروزرسانی کنند.
مهمترین نکات:
- آسیبپذیریها به مهاجمان اجازه میدهد تا کنترل کامل سیستم را به دست بگیرند.
- این نقصها در نسخههای قدیمیتر OpenVPN وجود دارند.
- برای جلوگیری از این حملات، باید نرمافزار را به آخرین نسخه بهروزرسانی کنید.
Please open Telegram to view this post
VIEW IN TELEGRAM
کدوم دستور زیر برای ایجاد تگ جدید توی GIT استفاده میشه؟ (کدوم دستور صحیح هست؟)
Anonymous Quiz
27%
git tag new v1.0.0
27%
git tag v1.0.0
8%
git tags v1.0.0
38%
git tag add v1.0.0
-اصل Avoid disinformation در کلین کد
این اصل توی کلین کد میگه که باید از دادن اطلاعات غلط یا سرنخ ها ناقص و مبهم که معنی کد رو به خوبی نشون نمیده تو اسم متغیر ها استفاده نکنیم
برای مثلا
یا مثلا برای نشون دادن گروهی از اکانت ها از accountList استفاده نکنید مگه اینکه واقعا یه لیست باشه
اگه کانتیرنتون یه سری اکانت رو نگهداری میکنه در واقع یه لیست نیست و ممکنه خواننده کد اشتباه متوجه بشه پس accountGroup یا bunchOfAccounts یا حتی accounts میتونه گزینه بهتری باشه/CleverDevs
#CleanCode
👾 @pishroapp
این اصل توی کلین کد میگه که باید از دادن اطلاعات غلط یا سرنخ ها ناقص و مبهم که معنی کد رو به خوبی نشون نمیده تو اسم متغیر ها استفاده نکنیم
برای مثلا
hp , aix , و sco متغیر های ضعیفی محسوب میشن چون که اونا اسم های پلتفرم های یونیکس هستن . حتی اگه شما یه hypotenuse مینویسید و hp بنظر متغیر خوبی میاد اما باز هم این میتونه یه متغیری باشه که اطلاعات غلط میدهیا مثلا برای نشون دادن گروهی از اکانت ها از accountList استفاده نکنید مگه اینکه واقعا یه لیست باشه
اگه کانتیرنتون یه سری اکانت رو نگهداری میکنه در واقع یه لیست نیست و ممکنه خواننده کد اشتباه متوجه بشه پس accountGroup یا bunchOfAccounts یا حتی accounts میتونه گزینه بهتری باشه/CleverDevs
#CleanCode
Please open Telegram to view this post
VIEW IN TELEGRAM
فرقی نداره #بک_اند باشی یا #فرانت
PHP, Laravel, Golang, React Js, Docker, Git
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
19%
__call()
38%
__construct()
25%
__invoke()
19%
__callStatic()
👍2 1
#نکته #داکر
یکی از نکاتی که موقع ایجاد داکر فایل برای پروژه هاتون باید بهش توجه کنید عدم استفاده مکرر از دستور RUN برای هر بخش هست.
🔥 هر دستور RUN در Dockerfile یک لایه اضافی در تصویر نهایی ایجاد می کند.
پس بهترین روش این است که تعداد لایه ها را محدود کنید تا تصویر سبک بمونه.
برای نمونه به جای این:
به این صورت استفاده کنید:
🧠 پس موقع نوشتن داکر فایل سعی کنید از دستور RUN بصورت بهینه استفاده کنید
👾 @pishroapp
یکی از نکاتی که موقع ایجاد داکر فایل برای پروژه هاتون باید بهش توجه کنید عدم استفاده مکرر از دستور RUN برای هر بخش هست.
پس بهترین روش این است که تعداد لایه ها را محدود کنید تا تصویر سبک بمونه.
برای نمونه به جای این:
RUN curl -SL "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz" --output nodejs.tar.gz
RUN echo "$NODE_DOWNLOAD_SHA nodejs.tar.gz" | sha256sum -c -
RUN tar -xzf "nodejs.tar.gz" -C /usr/local --strip-components=1
RUN rm nodejs.tar.gz
RUN ln -s /usr/local/bin/node /usr/local/bin/nodejsبه این صورت استفاده کنید:
RUN curl -SL "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz" --output nodejs.tar.gz \
&& echo "$NODE_DOWNLOAD_SHA nodejs.tar.gz" | sha256sum -c - \
&& tar -xzf "nodejs.tar.gz" -C /usr/local --strip-components=1 \
&& rm nodejs.tar.gz \
&& ln -s /usr/local/bin/node /usr/local/bin/nodejsPlease open Telegram to view this post
VIEW IN TELEGRAM
برای نمونه دستور زیر فایل هایی که تو ده دقیقه اخیر تغییر کردن. و لیست میکنه
find . -type f -mmin -10
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
دوستان Eloquent #لاراول متدهای زیر رو برای کار با تاریخ و تایم داره، میتونید با استفاده از این متدها query های خودتون رو بهتر بنویسید
whereDay()
whereMonth()
whereYear()
whereDate()
whereTime()
روش استفاده از هرکدوم هم بصورت زیر هست:
👾 @pishroapp
whereDay()
whereMonth()
whereYear()
whereDate()
whereTime()
روش استفاده از هرکدوم هم بصورت زیر هست:
Product::whereDate('created_at', '2023-01-31')->get();
Product::whereMonth('created_at', '12')->get();
Product::whereDay('created_at', '31')->get();
Product::whereYear('created_at', date('Y'))->get();
Product::whereTime('created_at', '=', '14:13:58')->get();Please open Telegram to view this post
VIEW IN TELEGRAM