Tip Code
78 subscribers
13 photos
2 videos
4 links
تیپ هایی (Tip) از زبان های برنامه نویسی، فریمورک‌ها، پلتفرم‌ها، IDEs و ...

اکانت ما روی توئیتر:
Twitter.com/TipCode_ir
Download Telegram
Channel created
با سلام

توضیحاتی مختصر در مورد کانال

محتوای کانال @TipOverflow در مورد تیپ هایی (Tip) هستند که در طول عمر کار فنی (برنامه نویسی) یاد می گیرید و استفاده می کنید و بعضا باعث بالابردن خوانایی برنامه، کوتاه کردن کد، بهبود Performance و موضوعاتی از این قبیل هستند.

در صورتی که علاقه دارید کاربران کانال از تیپ های شما استفاده کنند، برای ما ارسال کنید تا با نام کاربری شما روی کانال فوروارد کنیم.

همچنین در صورتی که در توئیتر از تگ #TipOverflow استفاده کنید و یا اکانت TipOverflow را منشن کنید، Retweet می کنیم تا دوستان علاقه مند بتوانند استفاده کنند.

اکانت ما در توئیتر
TipOverflow

چند نکته:
1- جهت مختصر نویسی در پست ها، تمام مباحث و Syntaxهای ES6+ با #javascript تگ می شوند.

2- هر جا تفکیک بر اساس platform صورت نگرفته یعنی در کلیه زیرشاخه های Platform قابل استفاده هستند (بعنوان مثال تگ #react هم در #react_native و هم #react_js قابل استفاده هست).

3- تیپ ها (Tip) بر اساس سطح آنها در سه دسته #سطح_مبتدی ، #سطح_متوسط ، #سطح_پیشرفته آورده شده است.

#about
بدست آوردن آدرس IP کاربر در #PHP

if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}

#بک‌اند #IP #سطح_متوسط
جمع اعداد به هر تعداد در #javascript


function sum(...args) {
return args.reduce((p, c) => {
return p + c;
});
}

sum (1,2,3); // Output: 6

sum (20, 30, 40 , 50, 60) // Output: 200

sum(...[20,30,40,50,60]); // Output: 200


#سطح_مبتدی
👍1
بدست آوردن نوع فایل تصویر (MIME Type) در #PHP

function getImageType($imageFile)
{
$info = getimagesize($imageFile);
return $info['mime'];
}

getImageType('a.png');
// Output: 'image/png'

#بک‌اند #image #کار_با_تصاویر #MIME_TYPE #سطح_متوسط
👍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

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

#سطح_متوسط
روش تشخیص اینکه کاربر از #HTTP یا #HTTPS استفاده میکند، در #PHP

if (!empty($_SERVER['HTTPS'])
&& $_SERVER['HTTPS'] !== 'off'
|| $_SERVER['SERVER_PORT'] == 443) {
// HTTPS
} else {
// HTTP
}

#بک‌اند #سطح_مبتدی
بازگرداندن چند مقدار از یک متد در #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>
)
};

#سطح_پیشرفته
‏تفاوت while و do while به زبان خیلی ساده
#طنز