Boplo.ir
rss

من در Facebook


جستجو


مطالب همینجوری

بر و بچ

MyView Tween

دوستشون دارم

بیلبورد

دامین برای فروش: CleanCode.ir
FastFeed.ir
Fonvi.com

تماس


انواع و اقسام سفارشات طراحی و برنامه نویسی سایت پذیرفته میشه. از سایت حمایت از خرگوشهای صورتی گرفته تا سایت قاچاق اعضای بدن!
تماس

 

از بيماران سرطاني حمايت كنيم

A new begining
AHHP presents

 

کسی صدای منو میشنوه؟
۲۰ فروردین ۱۳۹۲ ساعت ۱۰:۳۸

رابینسون هنوز زندست

سلام
یه چند میلیون سالی میشه که اینجا در خدمت بشریت (اوناث و ذکور) نیستم و پیدام نیست!
دلیلش خیلی ساده‌ست. هاستینگ عزیز تنظیمات سرور رو تغییر داد و CMS من باهاش مشکل پیدا کرد و دیگه نمیتونم وارد بخش مدیریتش بشم و پست بذارم یا کامنت‌ها رو جواب بدم :/ همین پست رو هم از تو دیتابیس با کلی زحمت نوشتم.
باید CMS رو آپگرید کنم یا هاستینگ رو عوض کنم که بعد از تنبلی، مشکل زمان دارم و فرصت نمیکنم.

تصمیم دارم بزودی CMS رو دور بریزم، یه فریم‌ورک لاغر PHP بنویسم (مخصوص همین بلاگ) به همراه یه قالب لاغرتر، سایت جدید رو اجرا کنم. تو این مدت جاوا و Objective-C اینا یاد گرفتم که میتونم آموزش بذارم با هم صفا کنیم D:

خلاصه رابینسون کروزوئه تو جزیره گم شده ولی هنوز زندست.
شاد و پیروز باشید.
۹۲ رو هم با delay بهتون تبریک میگم ;)

برچسب ها:

 

فرهنگ چیست؟
۲ تير ۱۳۹۱ ساعت ۱۱:۲۳

چرا ۹۹٪ مواقع صفت بی‌فرهنگ و با فرهنگ بی‌پایه‌ست؟

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

وقتی هیج معیاری و مقایسه‌ای وجود نداشته باشه پس هیـــچ صفتی قابل تعریف نیست. یعنی نمیشه گفت این دیدگاه، از اون دیدگاه بهتر یا بدتر یا هر چیز دیگه‌ای.

با این توضیح، فرهنگ که یک مجموعه دیدگاهه، شامل همین قانونه. یعنی نمیشه فرهنگ رو مقایسه کرد. فرهنگ زمانی قابل مقایسه است که از درون جامعه با اعضای جامعه باشه نه بیرون جامعه!!!
یعنی صفتهای بی فرهنگ و با فرهنگ حرف مفت و بی پایه‌ایه مگــــــر زمانی که از شخصی داخل یک جامعه به شخصی دیگه‌ای داخل همون جامعه اطلاق شه. و نمیشه برای فرهنگ یک جامعه‌ی دیگه صفت استفاده کرد.
تو جامعه‌ی A که همه دزدن، دزدی یک ارزش و فرهنگه. کسی که دزدی نکنه بـــی فرهنگ محسوب میشه.
تو جامعه‌ی B که هیچکس دزدی نمیکنه، دزدی یک ضد ارزش و بی فرهنگیه. کسی که دزدی نکنه بــــا فرهنگ محسوب میشه.
آدمهای جامعه‌ی A فقط اعضای جامعه‌ی خودشونو میتونن بی فرهنگ یا با فرهنگ خطاب کنن نه جامعه‌ی B رو. چرا که معیاری برای جوامع A و B تعریف نشده! معیار فقط داخل خود هر کدوم از جوامع است.

معیارهای انسانی و مذهبی (الهی) همه درونی هستند یعنی خود به خود از داخل روی فرهنگ تاثیر میذارن! یعنی مثلا آزادی خواهی و صداقت و غیره که همه انسانی میدونیم و تو همه‌ی دینها هست از یه فرهنگ معیار جهانی نیست، اینها باور ذاتی انسانهاست که به رفتار آرمانی تبدیل میشه و فرهنگ بالای جامعه هم با رفتار آرمانی اعضاش تعریف میشه. یعنی در جامعه‌ای که مردمش دروغ رو بد میدونن پس دروغ در فرهنگ اون جامعه ضد ارزشه.
جالب اینجاست که این قانون نقض نمیشه. یعنی یا مردم جامعه باطنا یه کار زشتی رو بد میدونن و انجام نمیدن یا اگه انجام میدن یعنی باطنا بد نمیدوننش. مث دروغ گفتن در ایران!

خلاصه اینکه هیچکس نمیتونه افراد جامعه‌ی دیگه‌ای رو بی فرهنگ یا با فرهنگ خطاب کنه و اگه این کار رو بکنه یا خیلی ناآگاهه یا خیلی تعطیل!

برچسب ها:

 

فلسفه‌ی توهم بدون مرز
۲۶ خرداد ۱۳۹۱ ساعت ۰۶:۱۵

چطور من وجود ندارم. تصور یک دنیای کاملا خالی.

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

ذهن این اجازه رو به آدم میده تا هر چیزی رو با هر خصوصیاتی که میخواد تصور کنه و وقتی که این تصورات رو باور کنه، دیگه راهی برای تشخیصش از دنیای واقعی وجود نداره. مثل خواب و رویا که آدم کاملا باورش میکنه با اینکه اغلب خیلی با دنیای واقعی متفاوته.

بنابراین اگر من مثلا درختی رو تصور و باور کنم، تنها راهی که میتونم بفهمم واقعی نیست اینه که کس دیگه‌ای اینو بهم بگه یعنی بفهمم فقط منم که دارم این درخت رو می‌بینم و نکته اینجاست که اگر من بتونم یک درخت با تمام جزییاتش رو تصور و باور کنم، میتونم همین کار رو با یک انسان انجام بدم! یعنی از کجا معلوم اون کسی که دارم ازش میپرسم دوست خیالی من نباشه؟ برای فهمیدن واقعی بودن اون شخص، به فرد سومی مراجعه میکنم ولی اون هم مثل دوستم میتونه خیالی باشه! یعنی میشه به همه‌ی انسانها شک کرد و راه قطعی برای تشخیص وجود نداره.

پس با اینکه باورش سخته ولی من میتونم ادعا کنم که همه‌ی انسانهایی که میشناسم تماما در ذهن من هستند. اگر انسانها بتونن تصور باشند پس طبیعت و اشیا و تاریخ و غیره هم میتونند تصور و در ذهن من باشند تا جایی که من ادعا کنم همــــــــه چیز ۱۰۰٪ توهم و تصوره و در اون حالت تنها چیزی که قطعا وجود داره: یک فکـــر (من) است که داره این نمایش رو میسازه و میبینه و کسی که خود این فکر رو خلق کرده یعنی خدا.

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

حالا با تکیه با این صحبتها، نظر جدید من به این ترتیبه:

empty

مشکل نظریه‌ی قبلی این بود که به همه چیز شک کرد بر پایه‌ی یک قانون طبیعی یعنی علت و معلول! یعنی من چطور میتونم همه چیز رو نقض کنم حتی خود دنیا رو ولی این قانونِ دنیا رو نه؟! حتی کل صحبتها بر پـــــایه‌ی این اصل بوده!
مشکل اینجاست که نقض این قانون واقعا در مخیله‌ی ما نمیگنجه! چون همه چیز داره با اون کار میکنه. عباراتی مثل اگر.....پس....، چون.....پس....، ....بنابراین.... و غیره همه از همین قانون استفاده میکنن. ۲+۲ با این قانون میشه ۴! ما نمیتونیم تصور کنیم که ۵=۲+۲ منطقی باشه...
نکته اینجاست که چند صد سال پیش هیچ انسانی نمیتونست تصور کنه که مثلا یک سیب رو رها کنه و به زمین نخوره. کاملا غیرمنطقی بود! ولی وقتی مفهوم جاذبه درک شد، معلق شدن در فضا و یا احساس سبکی و سنگینی در کرات دیگه هم منطقی شد. تصور سفر در زمان همیشه تخیل و غیرقابل باور بود تا اینکه انیشتین حرفای جدید زد و با واقعیت نزدیکتر شد.
پس این قانون رو چون نمیتونیم خلافش رو تصور کنیم معنیش این نیست که ردش هم نمیتونیم بکنیم.

حالا با در نظر گرفتن این حرف، من که گفته بودم فقط خودم و خالقم وجود داره، از آخر به اول اینجوری میگم:

  • فرض وجود خالق، بر پایه‌ی نیاز به یکی به عنوان سازنده‌ی منه. اگر علیت نقض شه، پس وجود سازنده الزامی نیست.
  • فرض وجود من، بر پایه‌ی نیاز به یک ماهیت متفکر بوده (راوی یک دنیای تصورشده) و اگر علیت نقض شه پس برای وجود توهم هم لزوما خود شخص متوهم نیاز نیست.
  • فرض عدم وجود دنیای مادی و انسانها و تاریخ و غیره بر پایه‌ی قابل تصور بودنشون توسط من بوده و اگر علیت مطلق نباشه پس اونها لزوما تصور نیستند و این منم که تصورم! و وجود مادی دنیا باعثِ این تصور شده.
از این بیشتر نمیشه وارد شد چون این دنیا (فضا، مکان، انسان و ...) یک مجموعه است و علیت هم عضوی از این مجموعه است و همیشه درش صادقه. علیت رو فـــــقـــــط میشه خارج از این مجموعه نقض یا تغییر داد.

پس اینجا با سه ماهیت طرف هستیم:

  1. دنیای مادی، حاوی همه‌ی چیزهایی که ما میشناسیم.
  2. من به عنوانِ
    • راوی متفکر: سازنده‌ی این تصورات.
    • تماشاگر: بیننده جهانی که من تصور نکردم ولی تصوره و فقط برای من وجود داره.
    • کارگردان: گرداننده‌ی تصوری که مال من نیست.
    • مفرد: هیچکاره. شخصی که هیچی نیست فقط وجود داره. به هیچ دنیا یا منبعی هم وصل نیست.
    • یا هر حالت مشابه دیگه‌ای...
  3. خالق بزرگ که سازنده و گرداننده‌ی بزرگتری از منه.

در نهایت هر کدوم از این سه ماهیت توسط قانون علیت ثابت میشه و به هم ربط پیدا میکنه و اگر علیت رو نپذیریم پس هر کدوم از این سه تا میتونه وجود نداشته باشه حتی هر سه تاشون!!!! و این خیلی باحاله! یعنی جهانی که وجود نداره ولی وجود داره!
یعنی صفر تا صد مقاله‌ی قبل اینطور توسعه پیدا میکنه که در حالت صفر همه چیز هست همونجوری که میشناسیم سر جای خودش و در حالت صد، هیـــــــــچ چیــــــــــــز وجود نداره.
هیچ چیز یعنی واقعا هیچ چیز! تهی‌ترین ماهیتی که بشه در ذهن دید.

و مجددا برای بیان همین عقاید از خود قانون علیت استفاده شده یعنی این حرفا زمانی منطقی و شدنیه (حداقل از نظر خودم) که علیت نقض نشه! ولی همونجور که گفتم علیت در مجموعه‌ی این دنیا با قدرت وجود داره و من میتونم ازش استفاده کنم. یعنی همه‌ی این حرفها با یک فکر زمینی قابل بیانه و در حیطه‌ی غیر زمینی هی رجوع میکنه به قوانین زمینی و میتونه بی‌پایه و چرت و پرت باشه!
امـــــا در نهایت این اصل سر جاشه که هیچ چیز میتونه وجود نداشته باشه. شاید یه روزی علت دقیقش قابل تصور بشه.
در کل، من این فکر رو دوست دارم چون هیچ مرزی برای تصور توش وجود نداره. هیچ دیواری تهش نیست.


پی‌نوشت: استفاده از این مقاله بصورت تکه تکه کاملا محکوم میشه. مثلا دوستانی که پتانسیل الحاد و توحیدگریزی دارند از این پست سوء استفاده نکنن چون همچین چیزی درش نیست اگر درست مفهومش درک شه.

پست مرتبط: فلسفه توهم بزرگ

برچسب ها:

 

سایت آموزش فارسی LESS
۱۳ خرداد ۱۳۹۱ ساعت ۱۱:۳۰

معرفی و یادگیری ابزار سودمند CSS

LESS یک ابزار جاوااسکریپته که امکانات CSS رو توسعه داده. در واقع امکانات ابتدایی زبانهای برنامه‌نویسی مثل متغیر و تابع و محاسبات رو در CSS شبیه‌سازی کرده.

از نظر من، استفاده از فریم‌ورکها و این قبیل ابزارها داره اجتناب ناپذیر میشه چرا که تاثیر بالایی تو سرعت کار داره!
LESS یه نمونه‌ی خوب از ابزارهاست که کار رو راحت میکنه. برای نمونه:

@boxBorderColor: pink;

.box {
    display: block;
    color: #333;
    margin: 0;
}

#box1 {
    .box;
    padding: 0;
}

#box2 {
    #box1;
    border: 1px solid @boxBorderColor;
}
اینجا همه‌ی مشخصات box. برای box1 هم کپی میشه و همه‌ی مشخصه‌های box1 برای box2 و اون boxBorderColor@ هم مثل یه متغیر معمولی عمل میکنه.
که این قابلیت رو میشه توسعه هم داد تا مثل تابع عمل کنه...

یا قابلیت خوب دیگه‌ش هم شیوه‌ی تودرتوی کدهاست. مثلا کد زیر:

body {
    direction: rtl;
    #content {
        float: left;
        color: #444;
        section {
            margin: 10px;
            &.quote {
                background-color: #4657F0;
            }
        }
    }
    #footer {
        height: 100px;
        & > a {
            color: #AAA;
        }
    }
}
به کد زیر تبدیل میشه:
body {
    direction: rtl;
}
body #content {
    float: left;
    color: #444;
}
body #content section {
    margin: 10px;
}
body #content section.quote {
    background-color: #4657F0;
}
body #footer {
    height: 100px;
}
body #footer > a {
    color: #AAA;
}
و خب نوشتن به روش اول هم خیلی راحتتر و قابل فهم‌تره و هم خیلی سریعتره!

مشکل مهمی که این سیستمها برای ما تو ایران داره، حجم کدهای جاوااسکریپته که صفحه رو سنگین میکنه. برای حل این مشکل، دو تا نرم افزار تو این سایت معرفی کردم (سازنده همچین کاری نکرده بود) که میتونیم کدهای LESS بدیم و فایل CSS نهایی بگیریم یعنی در اون حالت دیگه نیازی به فایل با پسوند less. و جاوااسکریپت نداریم.
در واقع ما از LESS سوء استفاده کردیم و فقط برای توسعه ازش استفاده کردیم و سرعت رو بالا بردیم. این نرم‌افزارها قابلیت فشرده‌سازی کدها رو هم دارند.

من آموزش و مستندات LESS CSS .org رو ترجمه کردم و تحت دامین ir. آپلود کردم که اگر کسی خواست ازش استفاده کنه، بتونه مثل یه مقاله‌ی معمولی فارسی، بخونه:

« LESS CSS فارسی »

LESS امکانات خوب بیشتری داره که اگه وقت بذاری بخونی حتما واست مفیده. با NodeJS هم کار میکنه.

برچسب ها: ,

 

پادکست اول: معرفی
۷ فروردین ۱۳۹۱ ساعت ۰۲:۳۲

خبر شروع پادکست

podcast

من میخوام شروع کنم به ضبط پادکست برای پست‌ها.
این اولینش هست و از هدف و موضوع پادکست‌ها گفتم. در آخرش هم خودم رو معرفی کردم.
در ادامه‌ی این حرکت (اگه ادامه پیدا کنه)، به امید خدا اسکرین‌کست هم ضبط می‌کنم برای آموزش‌ها.
امیدوارم مفید باشه



لینک دانلود برای این پادکست یکم بی‌معنیه چون حرف خاصی توش زده نشده ولی جهت یکنواخت‌سازی: دریافت

برچسب ها: ,

 

آغاز سال یک هزار و سیصد و نود و یک خورشیدی
۱ فروردین ۱۳۹۱ ساعت ۱۰:۲۰

بـــــــــــــــــــوم

سال ۹۱ شروع شد.
راستش کلی داستان نوشته بودم از اینکه سال ۹۰ چه اتفاقات خوب و بدی واسم اتفاق افتاد ولی دیدم حتی خودمم حوصله‌ی شنیدنش رو ندارم چه برسه به تویی که اومدی وقت گذاشتی داری یه مطلب غیرتخصصی از یه بلاگ گمنام نیمچه تخصصی می‌خونی!

خلاصه بهتر دیدم حسم رو بگم، اصل مطلب رو بگم. عید یک حسه. یه حس که انقدر قوی بوده که چند هزار سال عمر کرده و امروز هم بیشتر مردم رو با همه‌ی مشکلاتی که دارند شاد می‌کنه.
سال ۹۰ برای من خوب بود، اتفاقات کاری و تحصیلی خوبی افتاد. سال ۹۰ بد هم بود، پر از احساسات تلخی که ولم نمیکنه ولی خب چون این تلخی‌جات همیشه هستند، روزمره محسوب میشن پس کلا ۹۰ خوب بود.
بدترین چیزی که پارسال تجربه کردم ناامیدی بود! ناامیدی مطلق که از احساساتم شروع شد، از روال زندگیم رد شد و به جسمم رسید و هنوز ادامه داره راستش این از اون صورت مسئله‌هاییه که همه جا رو برای جوابش زیر و رو کردم و تنها دارویی که براش پیدا کردم نگاه به آینده بود!
یعنی امید به اینکه زمان، ناامیدی رو درمان کنه. آره، امید تو ناامیدی! مسخره نیست، این حال و روز منه! اینجوریه که من امروز هم یه آدم همیشه گریان تو خودم دارم هم خیلی خوب و خوشحالم! و این از معجزات عیده! همون حسی که حرفشو زدم. (اگه یکم از روانشناسی بدونی میتونی تشخیص بدی که اینها مشخصات چه آدمهاییه ولی خب نمی‌گم که جو پست تلختر از این نشه....)

در هر صورت سال ۹۱ اومده. من یه ۱۰ فرمان امیرحسین دارم که در نظر دارم در سال جدید ادامه‌اش بدم:

  • فرمان اول: بیشتر تلاش کن.
  • فرمان دوم: شاد باش.
  • فرمان سوم: از برنامه‌های کرک شده کمتر استفاده کن!
  • فرمان چهارم: گاهی گریه کن!
  • فرمان پنجم: ورزش کن.
  • فرمان ششم: کمتر گوشت بخور بیشتر سبزیجات بخور.
  • فرمان هفتم: چیزی که خودت نمی‌خوای رو برای دیگران هم نخواه!
  • فرمان هشتم: مطالعه کن، فکر کن، تقلید نکن و باز هم فکر کن و تقلید نکن!
  • فرمان نهم: دروغ نگو!
  • فرمان دهم: دروغ نگو!
اینها مواردی هستند که من رو اجراشون فوق‌العاده حساسم. غیر از مورد دوم، چهارم و پنجم، بقیه رو با جدیت دارم انجام میدم. امیدوارم جدی‌تر شه و اون سه تا هم اضافه شه. به نظرم چیز بدی نیست تو هم بهشون فکر کن.
این دروغ به نظر من خیلی مهمه. اگه از هر ۱۰ نفر، دو نفر فقط یکم کمتر دروغ بگن زندگی کلی گـــــود میشه!


خلاصه من در سال جدید برای همه آرزوی موفقیت می‌کنم (آرزوی موفقیـــــت نه آرزوی موفقیت. آرزوی موفقیـــــــــت!) برای همه،
اونهایی که زنده هستند‌ (موجودات زنده‌ی زمین: انسان، حیوان، گیاه)،
اونهایی که در طول تاریخ تا قبل از این لحظه فوت کردند (لحظه‌ای که تو داری این نوشته رو میخونی، نه لحظه‌ای که من نوشتمش)،
اونهایی که هنوز وجود ندارند (آیندگان)،
اونهایی در کرات دیگه زندگی می‌کنند (فضاییون)،
اونهایی که وجود ندارند ولی در فکر ما وجود دارند (توهمات)،
اونهایی که وجود دارند ولی وجود ندارند (متوهمان)،
خودم (درخت دانش و آگاهی، فلسفه و دانایی)،
و از همه مهمتر شخص شخیص جنابعالی که از میون اون همه مورد که عرض کردم فقط تویی که داری Boplo رو میخونی! (آفرین) راستش برای تو نمیتونم آرزوی موفقیت بیشتری کنم چون همشو بالا مصرف کردم یعنی واسه همه ته تهش رو گفتم دیگه بیشتر نداره ولی خب تو یه نوشابه‌ی تگری پیش من داری! اگه این دنیا منو دیدی حتما یادم بنداز (جدی) اگه ندیدی اون دنیا بیا سراغم، چاکرتم هستم....


7sin

سربلند و پیروز باشی و ۹۱ خوبی داشته باشی :)

برچسب ها:

 

استخدام برنامه‌نویس و طراح وب
۶ اسفند ۱۳۹۰ ساعت ۰۴:۱۲

We're hiring
  • آیا باهوش و خفن هستید؟
  • آیا دنبال کار برنامه‌نویسی پاره‌وقت، تمام‌وقت، پروژه‌ای یا Open Source هستید؟
  • آیا PHP را بصورت حرفه‌ای یا متوسط بلدید و جاوااسکریپت هم؟
  • آیا برنامه‌نویس آیفون یا آندرویید هستید؟
  • آیا میکس طراح وب هستید؟ (میکس طراح وب = گرافیک + HTML + CSS + JS)
  • آیا از برنامه‌نویسی لذت می‌برید؟
  • آیا برنامه‌نویسی از شما لذت می‌برد؟
  • آیا مثل من، متوهم و ذهن آزاد هستید؟
  • آیا ترجیحا در تهران هستید؟
  • آیا قر و فر یا ادا اطوار ندارید؟ آیا از دماغ فیل نیافته‌اید؟
  • آیا توقع دستمزد نجومی ندارید؟
  • آیا آدم خوبی هستید؟

ما از استخدام یا کار کردن با شما کیفور میشویم!

آیا رزومه‌ی جذابی دارید؟
پس برای ما ارسال کنید: amir.hossein [@] boplo.ir

آیا رزومه‌ی جذابی ندارید؟
پس با ما تماس بگیرید: 65 98 98 3 0912

آیا جواب اغلب آیاهای بالا را منفی داده‌اید؟
پس اینجا چکار می‌کنید؟ وقت خود را در جای دیگری تلف کنید!


توضیحات تکمیلی:
شرکتی که من توش کار میکنم برای پروژه‌هاش به برنامه‌نویس PHP نیاز داره بصورت پاره‌وفت یا تمام‌وقت. برنامه‌نویس حرفه‌ای یا متوسط PHP که جاوااسکریپت هم کار کنه و خفن هم باشه.
سطح کار بالاست برای بر و بچ Geek لذت‌بخش هم هست چون کار طراحی سایت واسه مردم نیست. محوریت روی پروژه‌ها و اپلیکیشنهای اختصاصی خود شرکت هست.
همچنین برنامه‌نویس آیفون و آندرویید بدون قر و فر هم نیازمندیم.
این رو هم بگم که فعالیت اصلی شرکت IT نیست ولی از شرکتهای IT که تو ایران خودشون رو حرفه‌ای میدونند قوی‌تره! Promise!

غیر از اون، در تیمی که من عضوش هستم هم برای پروژه‌های طراحی سایت و برنامه‌نویسی به همکار نیاز داریم. برنامه‌نویس PHP و جاوااسکریپت، و میکس طراح وب (گرافیک، HTML5، CSS3)
بصورت پروژه‌ای یا فعالیتهای Open Source.
بخشی از پروژه‌ها طراحی سایت برای مشتری و کلاینت هست، بخشی برای توسعه اپلیکیشن‌های اختصاصی‌مون و بخشی هم فعالیتهای Open Source که تو هر مدل که علاقه داشتی میتونی شرکت داشته باشی.

اگر تهران باشی تعامل بهتری خواهد بود و اگر تهران نیستی باید بررسی بشه. سن و سال و جنسیت هم اهمیت نداره، آقا یا خانم یا مثل خودم درخت....
ما هوش و علاقه هم خیلی دوست داریم.


در آخر،

آیا آره؟ پس با ما تماس بگیرید!

برچسب ها:

 

کاربرد کلمه‌ی کلیدی Static در PHP
۲۴ آبان ۱۳۹۰ ساعت ۰۳:۲۶

مکتب‌خانه‌ی استاتیکیه

منابع استاتیک خواصی داره که در شرایط خاص میتونه بهینگی ایجاد کنه و گاهی نجاتبخش باشه.
منابع استاتیک رو میشه به یک متغیر داخل تابع اختصاص داد و یا در کلاسها استفاده کرد با مدل اول کاری ندارم چون به نظرم به درد نمی‌خوره.

در برنامه‌نویسی شی‌گرا و در کلاسها، براساس توضیح سایت PHP، منابع استاتیک امکان فراخوانی بدون نمونه‌گیری رو فراهم میکنه.
یعنی فقط با استفاده از نام کلاس می‌تونیم به یک مقدار استاتیک اون کلاس دسترسی داشته باشیم.
در زیر نکات مربوط به این کلمه‌ی کلیدی بصورت خلاصه آورده شده:

تعریف مشخصه‌های استاتیک: در مقدار فقط میشه از مقادیر ثابت استفاده کرد.

class A {
    static public $name = 'Amir Hossein'; // Correct!
    static public $family = touppercase('hp'); // Wrong!
    static public $zone = 'Asia'.'/'.'Tehran'; // Wrong!
}
فراخوانی خارج از کلاس:
class B {
    static public $name = 'Amir Hossein';
}
echo B::$name; // Amir Hossein
فراخوانی متد استاتیک خارج از کلاس و تعریفش:
class C {
    static public function hello($name){
        echo 'Hello '.$name;
    }
}
echo C::hello('Amir Hossein'); // Hello Amir Hossein
مقادیر استاتیک یک مقدار بیشتر نیستند اگر تغییر کنند همه‌جا تغییر می‌کنند. در نمونه‌ی زیر یک مشخصه خارج از کلاس مقدارش تغییر کرده و میبینی که مقدار قبلیش دیگه وجود نداره:
class D {
    static public $name = 'Amir';
    
    static public function hello($greeting){
        echo $greeting .' '. self::$name;
    }
}
D::hello('Hello'); // Hello Amir
D::$name = 'Hossein';
D::hello('Hello'); // Hello Hossein
در متدهای استاتیک نمیشه از کلمه‌ی کلیدی this$ استفاده کرد چون this$ یک مقدار داینامیکه.
class A {
    static public $name;
    public $gender;
    
    public function correct(){
        self::$name = 'Hossein';
        $this->gender = 'Male';
    }
    
    static public function wrong(){
        self::$name = 'Amir Hossein';
        $this->gender = 'Male'; // Wrong!
    }
}
تفاوتی نمی‌کنه کلمه‌ی کلیدی static قبل یا بعد از public/protected/private قرار بگیره یا بعدش. یه سری اول میذارند تا سریع بتونند منابع استاتیک رو تشخیص بدند و یک سری ترجیح میدند برعکس عمل کنند تا سطح دسترسی رو اول ببینند. کاربرد استانیک به این صورته که، در کلاسها وقتی تابعی نوشته میشه واقعا با جریان اطلاعات در کلاس درگیر نیست رو استاتیک می‌کنند تا در کارکرد PHP بهینگی ایجاد شه. مثلا در یک کلاس یک تابع Validator داریم که متغیرش رو چک می‌کنه که معتیر باشه. از اونجاییکه این تابع ربطی به روند کلاس نداره میتونه استاتیک باشه:
class A {
    public function __construct($phone){
        if( self::validate($phone) )
            echo 'Valid';
        else
            echo 'Invalid';
    }
    
    static public function validate($int){
        return is_numeric($int);
    }
}
$a = new A(567); // Valid
$b = 'Boplo';
if( A::validate($b) )
    echo 'OK';
کاردبرد دیگه‌ی استانیک اینه که میتونیم از کپی شدن منابع جلوگیری کنیم. مثلا در الگوی Singleton ما کاری می‌کنیم تا فقط یکبار بشه از یک کلاس نمونه‌گیری کرد و این نمونه رو همه‌جا در دسترس داشت:
class A {
    static public $instance;
    public $name;
    
    private function __construct(){
        $this->name = 'Amir Hossein';
    }
    
    static public function getInstance(){
        if(!isset(self::$instance))
            self::$instance = new self;
        return self::$instance;
    }
}
$name = A::getInstance()->name;
echo $name; // Amir Hossein

$a = A::getInstance();
echo $a->name;

$a = new A; // ERROR
از اونجاییکه متد construct از نوع private هست نمیشه مستقیم اجراش کرد تنها راه دسترسی بهش، یک تابع درون خود کلاس هست. با این کار فقط یک نمونه از کلاس تولید میشه و همه‌جا در دسترسه. که البته این الگو نکاتی هم داره.

نکته‌ی مهم و جدید، ارث‌بری در منابع استاتیک هست. همونجور که میبینی با کلمه‌ی کلیدی self به منابع استاتیک در درون کلاس دسترسی داریم:

class Father {
    static public $name = 'Father';
    
    static public say(){
        echo self::$name;
    }
}

class Son extends Father {
    static public $name = 'Son';
}

class Baby extends Son {
    static public $name = 'Baby';
}

Father::say(); // Father
Son::say(); // Father
Baby::say(); // Father

همونجور که میبینی self در اینجا معلوم نیست کدوم مقدار رو باید استفاده کنه و خب از مقدار واقعی خودش استفاده میکنه! برای این مشکل در نسخه‌ی 5.3 قابلیتی با عنوان Late Static Binding ایجاد شد که میگه در چنین حالتی بجای self از کلمه‌ی static استفاده کنید تا PHP بره مقدار متتاظر رو استفاده کنه:

class Father {
    static public $name = 'Father';
    
    static public say(){
        echo static::$name;
    }
}

class Son extends Father {
    static public $name = 'Son';
}

class Baby extends Son {
    static public $name = 'Baby';
}

Father::say(); // Father
Son::say(); // Son
Baby::say(); // Baby
همونجور که میبنی در تابع say بجای self از static استفاده کردم که باعث میشه PHP هوشمندانه‌تر عمل کنه.

موفق باشید

برچسب ها: ,

 

۴۴ نکته‌ی طلایی در PHP
۱۵ خرداد ۱۳۹۰ ساعت ۰۱:۵۴

یه مشت حرف به دردبخور

من صندوقچه‌ی فهم‌و‌شعور PHP‌ی خودم رو تکوندم یه سری نکته ازش ریخت بیرون. نکاتی که برای پیدا کردن بعضی‌هاش باید اینترنت رو زیر و رو کنیم یا نکاتی ساده‌ای که ازشون خبر نداشتیم. خیلی سعی کردم هر چی به ذهنم میرسه لیست کنم. یه لیست ۴۴تایی شد که ممکنه بعدا باز هم بهش اضافه کنم.!

مقاله برای سطح دانش خاصی نیست. از نکات خیلی ساده و ابتدایی درش هست تا نمونه‌های تخصصی.
برای مطالعه‌ی این نکات، به ادامه‌ی مطلب مراجعه بفرمایید.

همچنین فهرست عناوین هم در زیر قرار گرفته:

برچسب ها: ,,

 

بچه‌ها، رافائل. رافائل، بچه‌ها
۵ فروردین ۱۳۹۰ ساعت ۰۳:۵۴

فی الاحوالات مرجع المراجع جاوااسکریپت فی الجیرافیک

واندر باب اشکال الجیرافیکی و نمودارات جاوااسکریپتی وکتور، سبکتر و سهلتر از پیر فرزانه شیخ رافائل نتوان یافت.
شیخ ما از SVG و VML اشکالی بس وکتور و جذاب خلق میکند که همگی DOM هستند و قابل الکنترل فی الجاوااسکریبت. و بسی پر ساپورت فی المرورجرات الکثیر از جمله +IE6.

رسم اشکال گرافیکی بس باحال در رافائل بی اختیار ذهن آدمی را عطف سلطان جنگل شیر در بین میوه‌جات یعنی هلوی معظم می‌کند. او که با افعالی بس ساده چنین هفت رنگ قوس و قزح وار بر بوم اسکرین میفشاند،‌ افعالی برای کنترل و جذابیت بخشیدن به آنها نیز دراست کرده افعالی برای متحرک سازی، این جادوی امروزه. افعالی برای کشش و رها یا به قول اجنبی کافر Drag and Drop. افعالی در باب سهولت در کدنگاری چون رویدادها و افعال جانبخش دیگر.
از جالبات و سودمندیات ایشان، DOM بودن این رسوم قابلیت الدسترسی فی کدات جاوااسکریپت و سی‌اس‌اس است که میتوان ایشان را با بقیة الالمنت صفحه ترکیب و استفاده کرد.
از کاربردات الاصلی این مرجع المراجع، رسم تصاویر بدون دخالت العکس و رسم نمودارات خطی،‌ میله‌ای، قرص نانی و امثالهم است.

فی الاهداف تشکیل این نگاشته همانا آموزش این شیخ طاهر بود که خود بهتر دیدم که تو رهجوی راه حق در وب را به آموزشات بس کامل و به‌روز خود این شیخ رهنمود کنم که آنجا مثالهای کثیر و اطلاعات السودمندی یافت می‌گردد.

« Raphaël—JavaScript Library »

باشد که خداوند به نگارنده‌ی این اثر یعنی میرزا دیمیتری خان بارانووسکی خیر کثیر مرحمت کند و شیخ ما را قرین التوسعه!

برچسب ها: ,

 

< قبلیبعدی >

123456789

 

me

امیرحسینم. اسمم رو دوست دارم، خودم رو دوست دارم. تهران زندگی می کنم. فارغ التحصیل مهندسی صنایع هستم. برنامه‌نویسی و طراحی وب می کنم. در واقع Web Developer محسوب میشم. برنامه نویسی و وقت گذرونی با وب تنها کاریه که خسته ام نمی کنه.
آدم خیلی سردی هستم، اینو دور و وری هام میگن. ولی به نظر خودم سرد نیستم در واقع گرمای خودم رو کم بروز می دم! آدما رو اغلب دوست دارم غیر از اون مواقعی که اونا من رو نادیده میگیرن!

این سایت رو بعد از کلی اینور اونور دوباره راه انداختم تا هرچی دوست دارم توش بنویسم، چه کسی بخونه چه نخونه.
خلاصه اینجا خونه منه،

به خونه امیرحسین خوش اومدی...

MODx | Template World

Powered by MODx