بدست آوردن نوع فایل تصویر (MIME Type) در #PHP
function getImageType($imageFile)#بکاند #image #کار_با_تصاویر #MIME_TYPE #سطح_متوسط
{
$info = getimagesize($imageFile);
return $info['mime'];
}
getImageType('a.png');
// Output: 'image/png'
👍1
نحوه استفاده از مقادیر enum بصورت بیتی در #c_sharp
#سطح_متوسط
[Flags]
enum Colors
{
Red = 2,
Green = 4,
Blue = 8,
Black = 16
}
قطعه کد پایین، رشته "Red Green Blue" را چاپ می کند. در صورتی که [Flags] از کد حذف شود عدد 14 چاپ می شود.int Purple = 14;
Console.WriteLine((Colors)Purple);#سطح_متوسط
غیرفعال کردن راست کلیک در صفحه با #jQuery
$(document).ready(function(){
$(document).bind("contextmenu", function(e){
return false;
});
});
#فرانتاند #javascript #سطح_مبتدیالحاق دو آرایه با استفاده از Spread Syntax در #javascript
#spread_syntax #سطح_متوسط
let firstArray = [1, 2],
secondArray = [3, 4];
[...thirdArray] = [...firstArray, ...secondArray];
console.log(thirdArray); // [1, 2, 3, 4]#spread_syntax #سطح_متوسط
👍1
سه نقطه گذاشتن در آخر متنها طولانی با #CSS
این کلاس را به هر المنتی در صفحه بدهید، در صورتی که متن آن بیشتر از یک خط باشد و داخل آن جا نشود، در انتهای متن سه نقطه ... قرار میدهد
این کلاس را به هر المنتی در صفحه بدهید، در صورتی که متن آن بیشتر از یک خط باشد و داخل آن جا نشود، در انتهای متن سه نقطه ... قرار میدهد
.text-ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#فرانتاند #javascript #سطح_مبتدی👍1
در #javascript برای مقدار دهی پیش فرض به یک متغیر در صورتی که property با همون نام روی object تعریف نشده باشه
let node = {
name: "foo",
parent: { }
};
let {parent:{name:parentName='bar'}}= node;
console.log(parentName); // bar
#سطح_متوسطبازگرداندن چند مقدار از یک متد در #c_sharp با استفاده از Tuple
public Tuple<int, int> MultipleValue()
{
return Tuple.Create(1,2);
}
#سطح_پیشرفتهبعضی کدهای #CSS سرعت اجرای بالاتری نسبت به مشابه آنها دارد. به عنوان مثال کد زیر:
.cls1 > .cls2 > .cls3 {
...
}
سرعت اجرای بالاتری نسب به کد زیر دارد:.cls1 .cls2 .cls3 {
...
}
#فرانتاند #performance #سطح_مبتدیخواندن مقادیر آرایه ها و حذف آنها در یک زمان بدون استفاده از حلقه for در #javascript
let colors = ['first', 'second', 'third'];
while ( ( [item,...colors ] = colors ).length ) {
console.log(item);
}
#spread_syntax #سطح_متوسطاعتبار سنجی مقادیر داخل متغییرها در #PHP
استفاده از تابع
استفاده از تابع
filter_var
مثال: چک میکند که داده ورودی از نوع عددی است یا خیر:if (filter_var(10, FILTER_VALIDATE_BOOLEAN))مثال: چک میکند که داده ورودی یک آدرس ایمیل معتبر میباشد یا خیر:
{ ... }
if (filter_var('info@gmail.com', FILTER_VALIDATE_EMAIL))
{ ... }
#بکاند #سطح_مبتدیدر #react برای استفاده از شرط ها در #JSX می تونید از do expression که به تازگی در ECMAScript اضافه شده استفاده کنید. این ویژگی هنوز در stage-1 هست و در حال حاضر فقط در صورتی که از یک transpiler (مثل babel) استفاده می کنید قابل اجراست.
const aComponent = () => {
return (
<div>
{
do => {
if (condition && condition2 && !consition3) {
if (consition4) {
<p>foo</p>
} else if (condition5) {
<p>bar</p>
} else {
<p>baz</p>
}
} else {
<p>qux</p>
}
}
}
</div>
)
};
#سطح_پیشرفتهGitHub
GitHub - tc39/proposal-do-expressions: Proposal for `do` expressions
Proposal for `do` expressions. Contribute to tc39/proposal-do-expressions development by creating an account on GitHub.
در #Javascript از این راه برای کوتاه کردن کد بدون نوشتن صفرهای متوالی در اعدا استفاده کنید
for (let i = 0; i < 1e7; i++) { ... }
تمام این موارد true برمی گردونه1e0 === 1;
1e7 === 10000000;
2e1 === 20;
2e2 === 200;
#سطح_متوسطکپی گرفتن از یک جدول در #SQL
توسط دستور زیر میتوانید، ساختار یک جدول را کپی کرده و یک جدول جدید مانند جدول قبل خواهید داشت.
توسط دستور زیر میتوانید، ساختار یک جدول را کپی کرده و یک جدول جدید مانند جدول قبل خواهید داشت.
-- Copy structure and data#بانک_اطلاعاتی #mssql #سطح_مبتدی
SELECT * INTO NewTbl FROM Tbl1
-- Copy structure only
SELECT * INTO Tbl1_Copy FROM Tbl1 WHERE 1=0
-- Copy structure only
SELECT TOP(0) * INTO Tbl1_Copy FROM Tbl1
در #javascript از نحوه دستوری Destructuring assignment برای ذخیره مقادیر ایندکس های موردنظر از یک آرایه در چند متغیر طی یک دستور استفاده کنید:let colors =
['red', 'green', 'blue', 'black', 'purple'];
const [ , , thirdColor, , fifthColor] = colors;
console.log(thirdColor); // blue
console.log(fifthColor); // purple#destructuring_assignment #سطح_متوسط
👍1
تبدیل آرایه به CSV در #PHP
function array2csv($input, $delimiter = ',', $enclosure = '"')#بکاند #آرایه #CSV #سطح_پیشرفته
{
$fp = fopen('php://temp', 'r+');
fputcsv($fp, $input, $delimiter, $enclosure);
rewind($fp);
$data = fread($fp, 1048576);
fclose($fp);
return rtrim($data, "\n");
}
در #Javascript برای پیداکردن بیشترین مقدار در یک آرایه لازم نیست حتما از حلقه استفاده کنید. فقط آرایه رو با استفاده از spread operator ها به تابع ()Math.max پاس بدید:
#سطح_متوسط #spread_syntax
let values = [1, 999, 2];می تونید اعداد دیگه رو هم برای مقایسه با مقادیر آرایه اضافه کنید
Math.max(...values);
Math.max(...values, 1000, 998);یکی از کاربردهای این ترفند می تونه تعیین مقدار پیش فرض برای متغیرها باشه. در این مثال اگر عدد مثبت پیدا نشد مقدار پیش فرض صفر داده میشه
let negatives = [-123, -456, -789];
const aValue = Math.max(...negatives, 0);#سطح_متوسط #spread_syntax
👍1
در #CSS با این روش میتوانید هر جایی از صفحه را کاری کنید که با ماوس قابل انتخاب کردن نباشد:
.no-select {
-moz-user-select: -moz-none;
-moz-user-select: none;
-o-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
}
#فرانتاند #سطح_متوسط👍1
تابع ()setState در #react بصورت ناهمگام (asynchronous) اجرا می شود و باعث مشکلاتی می شود بعنوان مثال:
this.setState({count: this.state.count + 1});
this.setState({count: this.state.count + 1});
this.setState({count: this.state.count + 1});
// this.state.count === 1, not 3
برای حل این مشکل یک تابع به ()setState پاس بدید:this.setState(prevState => ({ count: prevState.count + 1 }));
#سطح_متوسطتبدیل اعداد فارسی به انگلیسی در #javascript
const digits = '۰۱۲۳۴۵۶۷۸۹';
digits.replace(/[\u0660-\u0669\u06f0-\u06f9]/g,
function(c) {
return c.charCodeAt(0) & 0xf;
});
#کار_با_اعداد #سطح_متوسط❤1