یوشا

دست نوشته ها و تجربیات شخصی

یوشا

دست نوشته ها و تجربیات شخصی

شهید دکتر مصطفی چمران: می گویند تقوا از تخصص لازمتر است، آنرا می پذیرم، اما می گویم آنکس که تخصص ندارد و کاری را می پذیرد بی تقواست!

طبقه بندی موضوعی
۰۲
۱۳۹۲/۰۵

/**
 * A hack to support __construct() on PHP 4
 * Hint: descendant classes have no PHP4 class_name() constructors,
 * so this constructor gets called first and calls the top-layer __construct()
 * which (if present) should call parent::__construct()
 *
 * @return Object
 */
function object()
{
    $arguments = func_get_args();

    if (method_exists($this, '__destruct')) register_shutdown_function(array(&$this, '__destruct'));

    call_user_func_array(array(&$this, '__construct'), $arguments);
}

https://github.com/felixge/raleigh-workshop-08/blob/master/application/cake/libs/object.php

  • یوشا آل ایوب
۱۱
۱۳۹۲/۰۴

 

مقایسه سرعت بین توابع is_array / is_string / is_integer... در مقابل تابع getype

سرعت بیشتر:

$variable = array(1, 2, 3, 4, 5);

if (is_array($variable))
{
    # ...
}

0.00079393386840820
0.00079488754272461
0.00080204010009766
0.00080204010009766
0.00080204010009766
0.00080204010009766
0.00081205368041992
0.00093293190002441
0.00111198425292970
0.00123190879821780

سرعت کمتر:

$variable = array(1, 2, 3, 4, 5);

if (gettype($variable) == 'array')
{
    # ...
}

0.0013110637664795
0.0013110637664795
0.0013139247894287
0.0013139247894287
0.0013179779052734
0.0013198852539062
0.0013239383697510
0.0013329982757568
0.0014750957489014
0.0018458366394043

 

x64 Hardware
32bit OS
PHP 5.4 CLI

  • یوشا آل ایوب
۲۹
۱۳۹۲/۰۳

 

این پس زمینه رو برای لینوکس Slackware طراحی کردم... دوسش دارید؟

 

لینک دانلود.

  • یوشا آل ایوب
۲۰
۱۳۹۲/۰۲

قدیمیترین توزیع لینوکسی که کماکان زنده است:

 

Slackware یکی از قدیمیترین و معتبرترین توزیع‌ های لینوکس است که همچنان به صورت فعال توسعه می‌یابد. این توزیع در سال 1993 توسط پاتریک فولکردینگ (Patrick Volkerding) ایجاد شد و به دلیل سادگی، پایداری و وفاداری به فلسفه یونیکس/لینوکس مشهور است.

Slackware یک توزیع تاریخی و محبوب برای علاقه‌ مندان به لینوکس سنتی است که ارزش‌ های سادگی و کنترل manual را حفظ کرده است. اگرچه برای کاربران عادی توصیه نمی‌ شود، اما برای یادگیری عمیق لینوکس و سیستم‌ های قدیمی گزینه‌ای عالی است.

 

وبسایت: www.Slackware.com

سازنده: پتریک وولکردینگ

دانلود: http://mirrors.slackware.com/slackware/slackware-iso یا ftp://ftp.slackware.com/pub/slackware-iso

لیست خبرنامه: majordomo@slackware.com

مستندات: docs.slackware.com

انجمن سوال/جواب: http://linuxquestions.org/questions/f14

تاریخ اولین انتشار: 1993/1372

مناسب برای: Desktop و Server

پروانه: گنو جی پی ال

معماری سخت افزاری: arm, i486, s390, x86_64

محیط های دسکتاپ: Blackbox, Fluxbox, FVWM, KDE, WMaker, Xfce

مدیر بسته: slackpkg

زبان: همه زبانها

نصاب: text UI

مجموعه آفیس: Calligra

سیستم فایل: Ext2, Ext3, Ext4, JFS, ReiserFS, BTRFS, XFS

  • یوشا آل ایوب
۱۱
۱۳۹۲/۰۲

 

۱. دبیان اولین توزیع لینوکس است!؟

پاسخ به این سؤال افتخاری که هر Slacker اون رو با غرور تمام به شما خواهد داد و قطعاً به ادعای شما درباره دبیان خواهد خندید. واقعیت امر بدین شرح که قبل از اینکه ایان مورداک دست به کار Debian و عرضه ی اون بزنه Slackware مدتی از زمان تولید و عرضه خودش رو پشت سر گذاشته بود. Slackware نزدیک به یک ماه قبل از تاریخ عرضه خودش حتی آماده بوده اما پاتریک به دلیل نگاه به عکس‌العمل پتر مکدونالد دست نگه داشت. Slackware در ۱۷ جولای ۹۳ به عنوان یک انشقاق کامل از لینوکس پتر مکدونالد در اختیار علاقه‌مندان قرار داده شده بود و حتی در چهارم آگوست اولین اپگرید رو هم پشت سر گذاشت بود، وقتی که Debian در ۱۶ آکوست برای اولین بار منتشر شد. lol

  • یوشا آل ایوب
۰۵
۱۳۹۲/۰۱

 

1- هرگز فایل های PHP ضمیمه شده رو با پسوند inc. ذخیره نکنید. یعنی name.class.inc رو به name.class.php تغییر بدید. و یا از .HTAccess یا HT برای تعیین سطح دسترسی inc. استفاده کنید.

با اینکار از دسترسی مستقیم و خوندن محتوای فایل توسط URL/Address bar جلوگیری می کنید.

 

2- حتاًالمکان تگ های اضافی و فضاهای خالی رو حذف و از باز و بسته کردن بیش از حد تگهای <?php ?> سرور خودداری کنید. (مخصوصاً در پروژه های سنگین)

اینکار به مقدار قابل توجهی در سرعت پردازش سورس PHP تون تاثیر میزاره.

 

3-  کلاس را با متد __construct یا نام کلاس شروع کنید و با متد __destruct پایان بدید. اگر هم از ارث بری کلاس استفاده نمی کنید، کلاس و متدها رو با کلمه کلیدی final آغاز کنید.

  • یوشا آل ایوب
۰۱
۱۳۹۱/۱۲

یکسری تصاویر و Wallpaper های گرافیکی برای لینوکس Slackware طراحی کردم (با فتوشاپ)، گفتم اینجا هم بزارم تا بقیه فیض ببرن

(بعضی هاشونو از طرح های موجود در اینترنت الگو گرفتم)

 

             

 

           

 

           

 

 

(برای بزرگنمایی کلیک کنید)

  • یوشا آل ایوب
۱۹
۱۳۹۱/۱۱

مقایسه سرعت بین متغیر عدد و متغیر رشته عدد...
برای افرادی که اعداد رو هم داخل ' یا " قرار میدن!

 

صحیح:
سرعت بیشتر در استفاده و تعریف متغیر عدد:

$intTest = 1234567890;
$dblTest = 123.45;

0.000204086303711
0.000205993652344
0.000207185745239
0.000207185745239
0.000208139419556
0.000208139419556
0.000210046768188
0.000285148620605
0.000363111495972
0.000482082366943

غلط:
سرعت کمتر در استفاده و تعریف متغیر رشته عدد:

$strInteger = '1234567890';
$strDouble = "123.45";

0.000639200210571
0.000640153884888
0.000641107559204
0.000646114349365
0.000653028488159
0.000655174255371
0.000657081604004
0.000658988952637
0.000684976577759
0.000693798065186

 

x64 Hardware
32bit OS
PHP 5.4 CLI

  • یوشا آل ایوب
۱۶
۱۳۹۱/۱۱

مقایسه سرعت بین * count و count FIELD در MySQL با موتور MyISAM:
در مواقعی که قصد شمارش رکورد ها/سطر رو دارید. (در اینجا fld_test از نوع عدد هستش و ایندکس نشده.)

 

سرعت بیشتر:

"SELECT COUNT(`fld_test`) FROM `tbl_data`;"

0.0561680068970
0.0578269958496
0.0581769943237
0.0587110519409
0.0590591430664
0.0594940185547
0.0598769953438

 

سرعت کمتر:

"SELECT COUNT(*) FROM `tbl_data`;"

0.0602030754089
0.0607211589813
0.0607681274414
0.0608351230621
0.0610001087189
0.0623991489410
0.0629029273987

Config:

x64 hardware
64bit OS
PHP 5.4 CLI

  • یوشا آل ایوب
۲۵
۱۳۹۱/۱۰

 

مقایسه سرعت دستور settype با Type-Casting...

سرعت کمتر با دستور settype:

$variable = settype($variable, 'string');
$variable = settype($variable, 'integer');
...

0.000537157058716
0.000538110733032
0.000538110733032
0.000538110733032
0.000540018081665
0.000542163848877
0.000542163848877
0.000543117523193
0.000550985336304
0.000910043716431

سرعت بیشتر با Type-Casting:

$variable = (string)$variable;
$variable = (int)$variable;
...

0.000250101089478
0.000252008438110
0.000259160995483
0.000259160995483
0.000261068344116
0.000263929367065
0.000263929367065
0.000265121459961
0.000269174575806
0.000270128250122

 

x64 Hardware
32bit OS
PHP 5.5 CLI

  • یوشا آل ایوب