فقط خودم

نه تخت جم نه ملک سلیمانم آرزوست ، راهی به خلوت دل جانانم آرزوست

فقط خودم

نه تخت جم نه ملک سلیمانم آرزوست ، راهی به خلوت دل جانانم آرزوست

سابلایم خودم

پکیج هایی که استفاده می کنم :
Package Control  : جهت کنترل پکیج ها (بعد از نصب این پکیج بسیاری از پکیج های سابلایم به راحتی در اختیارم قرار میگیره ، فقط کافیه ctrl+shift+p رو بزنم و برای نصب اونجا کلمه install رو تایپ کنم و برای حذف remove)

SublimeLinter : برای اینکه متوجه بشیم کدام خط دارای اشتباه است از این پکیج استفاده می کنم. اول باید SublimeLinter رو نصب کنم و پس از اون SublimeLinter-php رو نصب کنم. ( آموزش تکمیلی برای بهتر نشان دادن خطاها با استفاده از این ابزار)

PHP Completions Kit : تکمیل کننده اتوماتیک کد های php

و ...

BracketHighlighter-ColorHighlighter

قالب (برنامه نویسی) :

قالب های زیادی برای سابلایم در این سایت : http://www.colorsublime.com

نحوه اضافه کردن قالب : http://colorsublime.com/how-to-install-a-theme

قالب (نرم افزار) :

در این صفحه اون قالب هایی که جلوش علامت ST3  شده شده :

https://packagecontrol.io/browse/labels/theme


کلید های میانبر برنامه :

از قسمت منوی بالا گزینه ی Edit همه ی میانبر های ادیتور رو به صورت کامل وجود دارد که خیلی مفید هستند.

اما اینجا فقط میانبر های خیلی کاربردی رو لیست میکنم.

Ctrl+d : انتخاب کلمه (معمولا کلمات داخل کوتیشن را به این صورت انتخاب میکنن)

Ctrl+Shift+Space :  مثل بالایی عمل میکنه فقط مقدار بیشتری از متن رو انتخاب میکنه.برای انتخاب یک قسمت به کار میره.

Ctrl+F : میتونید در کادری که باز میشه کلمه ی مورد نظرتون رو تایپ کنید . مثلا می خواهید هر چی تو صفحه تون کلاسی با نام bar دارید رو به foo تبدیل کنید؛ از همون سمت راست گزینه ی find All رو انتخاب کنید ...

Ctrl+H : جایگزینی

Ctrl+L: خطی که روی اون هستید رو انتخاب میکنه.

End : نشانگر تایپ رو به آخر خط میبره.

Home: نشانگر تایپ رو به اول خط میاره.


اضافه کردن گزینه ویرایش سابلایم به کلیک راست ویندوز :

با ایمپورت این کد در ریجستری ویندوز :

@echo off
SET st2Path=C:\Program Files\Sublime Text 3\sublime_text.exe

rem add it for all file types
@reg add "HKEY_CLASSES_ROOT\*\shell\Edit with Sublime Text 3"         /t REG_SZ /v "" /d "Edit with Sublime Text 3"   /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Edit with Sublime Text 3"         /t REG_EXPAND_SZ /v "Icon" /d "%st2Path%,0" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Edit with Sublime Text 3\command" /t REG_SZ /v "" /d "%st2Path% \"%%1\"" /f

rem add it for folders
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Edit with Sublime Text 3"         /t REG_SZ /v "" /d "Edit with Sublime Text 3"   /f
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Edit with Sublime Text 3"         /t REG_EXPAND_SZ /v "Icon" /d "%st2Path%,0" /f
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Edit with Sublime Text 3\command" /t REG_SZ /v "" /d "%st2Path% \"%%1\"" /f
pause

مقالات فارسی مفید در رابطه با سابلایم :

http://farnabaz.ir/sublime-text-3

http://7learn.com/tutorials/fast-coding-in-html-css-part-1-emmet

انتخاب Sublime text بین بقیه گزینه ها

با توجه به کمی سنگین بودن Dreamweaver در نسخه های نهایی، مجبور به نصب Dreamweaver نسخه های پیشین شدم. دو سه ماهی با دریم ویور قدیمی کار کردم و تصمیم به تغییر ادیتور گرفتم. با تحقیقی که انجام دادم متوجه شدم یکی از 10 گزینه زیر رو باید انتخاب کنم. این تصمیم رو به قرعه گذاشتم تا ببینم علایق برنامه نویسان PHP داخلی کدوم یکی هست و نتایج زیر حاصل شد:


Dreamweaver : 2

Netbeans : 8

Bluefish : 0

PhpStorm : 8

RapidPHP : 0

Eclipse : 1

Zend Studio : 2

Notepad++ : 8

Aptana : 1

Sublime Text : 8


با این حال بعضی از نرم افزار ها رو نصب کردم و باهاشون مقداری کار کردم، اول از همه Notepad++ رو انتخاب کردم چون خیلی طرفدار داشت خودم هم باهاش کار هایی مثل جستجو برای یک واژه بین چند فایل و همچنین بدلیل سبکی باز کردن فایل های حجیم انجام میدادم، اما حین انجام تست بین ادیتور ها متوجه شدم  Sublime Text هم خصوصیات Notepad++ رو داره و خیلی هم طرفدار داره، نا گفته نماند بسیار روان بود و من از محیطش خیلی خوشم اومد. با همکاری دوست خوبم گوگل در موردش تحقیق کردم و دیدم بله چه امکانات جالبی داره، بهترین مطلب فارسی که در این رابطه یافتم از وبلاگ بسیار خوب /* Farnabaz */ بود ، که با رعایت کپی رایت مطلب رو به صورت pdf کردم و برای دانلود قرار دادم.
نمایش مطلب روی وبلاگ Farnabaz
دانلود از پیکو فایل
دانلود از پرشین گیگ

امنیت آپلود تصاویر با استفاده از کتابخانه GD

با استفاده از توابع GD در واقع تصویر آپلود نمیشود بلکه تصویر بازخوانی میگردد. نمونه ای که برای آپلود تصاویر JPG آزمایش کردم و امنیتش برقرار بود رو در زیر نمایش میدم.

( با این حال توصیه می شود حتما تایپ و فرمت فایل چک گردد )


$picpfile = $_FILES['uploadimage']['tmp_name'];
$realsize = getimagesize($picpfile);
$image_p = imagecreatetruecolor($realsize[0], $realsize[1]);
$image = imagecreatefromjpeg($picpfile);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $realsize[0], $realsize[1], $width, $height);
imagejpeg($image_p,"./jpeg/".time()."_".rand(0,9999).".jpg", 100);


گورستان کرم های شب تاب

Grave of the Fireflies

نام انیمه ی زیبای ژاپنی است که همین الان دیدم و منو شدیدا تحت تاثیر قرار داد.

خلاصه داستان: داستان در مورد خانواده ای ژاپنی است که درگیر جنگ و بمباران هوایی آمریکا می شوند. پدر خانواده که افسر نیروی دریایی ارتش ژاپن هست در جنگ کشته و مادر نیز در بمباران به صورت وحشتناکی میسوزد و جان می سپارد. از این به بعد داستان اصلی فیلم شروع می شود پسر جوان تلاش می کند از خود و خواهر کودک خود مراقبت کند که مشکلات زیادی سر راه اوست.

این انیمه از سایت IMDB رنک 8.5 را دریافت کرده اما از لحاظ داستانی به نظرم رنک 8 برایش کافیست. اما در فیلم ریزه کاری های کارگردان بسیار دلنشین است. مطمئنا کاربران زیادی به دلیل تحت تاثیر قرار گرفتن رنک 9 یا حتی 10 به این فیلم داده اند که من هم از این قائده مستثنا نیستم. من هم رنک 9 ثبت کردم.

و در نهایت لعنت بر ستیز انسان علیه انسان !

نمایش نتایج مشترک چند کوئری

برای ساخت مشاوره هوشمند سایت بازار الکترونیک ایرانیان که در واقع یه نوع جستجوی پسشرفته ی فروشگاهی هست نیاز به یک کوئری خاص داشتم ، بعد از کمی جستجو و سوال به جواب رسیدم. البته با کمک از سایت بسیار خوب و مفید stackoverflow.com.

از این مقاله کمک گرفتم و کوئری مورد نظرم رو ساختم :

MySQL Get Matching Results From two queries?

طرح سوال :

ما دو تا کوئری با نتایج متفاوت داریم ، ممکنه بعضی نتایج شبیه هم بشه ، من می خوام نتایجی که توی هر دو مشترک هست رو نمایش بده

select productid from smart_data where levelid=7;
select productid from smart_data where levelid=11;

راه حل :

select pow
from (select productid pow from smart_data where levelid=7) T1
INNER JOIN
(select productid pow from smart_data where levelid=12) T2
USING (pow);