بایگانی

Archive for ژوئیه 2010

بیش از 40 کلاس و کتابخانه برای PHP

سلام دوستان….

همون طور که از عنوان این پست پیداست مطلب در مورد کلاس ها و کتابخانه های با کیفیتی است که برای توسعه دهندگان و برنامه نویسان PHP وجود داره.
برخی از موضوعات این کلاس ها:

  • good looking charts
  • form validation
  • parsing feeds
  • better image or database handling
  • File Uploads, Images & Colors
  • and so on

لینک مطلب

دسته‌ها:PHP برچسب‌ها: ,

ایجاد یک Hash امن برای پسوردها

سلام دوستان…

برای Hash کردن پسوردها شاید از ترفندهای متفاوتی استفاده کنید.یا اینکه به الگوریتم های Hashing تعبیه شده در خود PHP اکتفا کنید.در این صورت شما قادر به استفاده از SHA1 و MD5 خواهید بود که البته از دست ک.ر.کر ها که یکی از معروفترین آنها این سایتهست در امان نخواهید ماند….

این مطلب روشی جالب در این زمینه ارائه میکند که از دو تابع uniqid (برای تولید salt ) و crypt برای برای encryption آن استفاده میکند…

موفق باشید/

دسته‌ها:PHP برچسب‌ها: , ,

Optional Parameters and Named Parameters in .NET 4.0

یکی از کمبودهایی که در C#‎ احساس میشد استفاده از Optional Parameters در تعریف یک تابع بود که معمولا با استفاده از Overloading قابل پیاده سازی بود.اما همانطور که میدانید، در NET 4.0. این امکان وجود دارد که شما بتوانید در تعریف پارمتهای یک تابع Optional Parameters را هم داشته باشید.

private void Foo(int x = 10)
{
   //Do Something
}

اما هدف اصلی معرفی Named Arguments هست که به نظر من بهترین نحوه استفاده از آن همراه با استفاده از Optional Parameters هست.
[بدون شرح]
فرض کنید یک تابع دارید با یک Required Parameter و دو Optional Parameter:

private void Foo(int x, int y = 20, int z = 30)
{
   //Do Something
}

برای اینکه این تابع را فراخوانی کنید، سه Prototype در اختیار شما قرار خواهد گرفت:
مثال *

Foo(10); // x = 10
Foo (10, 40); // x = 10, y = 40
Foo(10, 40, 50); // x = 10, y = 40, z = 50

ملاحظه میکنید که برای مقدار دهی z باید از حالت سوم استفاده بشه.شما با Named Arguments قادر خواهید بود متغیر خود رو برای مقداردهی مشخص کنید.در حالت کلی میتوانید به این صورت بنویسید(فراخوانی به صورت دو صورت زیر یک نتیجه مشابه دارد):

<

Foo(x: 10, y: 50, z: 20);
Foo(y: 50, z: 20, x: 10);

خوب با این وجود، شما برای مقدار دهی به z لزومی ندارد که از حالت سوم در مثال قبل(مثال *) استفاده کنید.یعنی شما به این صورت کار خود را انجام خواهید داد:

Foo(10, z: 50); // like: Foo(10, 20, 50);
دسته‌ها:C#.Net برچسب‌ها: , , , ,

عدم استفاده از GET_$ جهت دسترسی به متغیرهای ارسالی

ژوئیه 12, 2010 3 دیدگاه

چندوقتی هست که وقت نکردم به PHP سری بزنم.ولی این مطلب رو دیدم و چون دیدم قبلا هم در این مورد بحث شده بود بگذارم….

تاحالا خیلی در مورد استفاده از GET_$ و POST_$ برای دسترسی به متغیرهای ارسالی یک فرم و امنیت اونها بحث شده.شاید اصلا استفاد از GET_$ پیشنهاد نشه(در حقیقت پیشنهاد نمیشه).اما امکانی که در PHP 5.2 اضافه شده جهت اعتبار سنجی و اصولی سازی این دسترسی تابع filter_input هستش که این امکان رو با پارامترهای گوناگون برای شما فراهم خواهد کرد.

Never Use $_GET Again عنوان همین مطلب در این سایت است که این مطلب رو تشریح کرده…

دسته‌ها:PHP برچسب‌ها:

داشتن بیش از یک مقدار بازگشتی از یک تابع

ژوئیه 11, 2010 ۱ دیدگاه

چندوقتی هست که Nutshell رو میخوام مطالعه کنم، اما به علل گوناگون قادر به این کار نیستم.داشتم فصل دو این کتاب رو جهت Persistance نگاه می انداختم، به نکته ای که چندوقت در جواب دوستم بهش دادم(در اصرار عدم استفاده از Property) برخوردم.گفتم بگذارم دوستان هم استفاده کنند.راستش این روش زیاد به کار من هم نیومده ولی خوب در بعضی جاها میشه به طور موثر از اون استفاده کرد:

The out modifier is most commonly used to get multiple return values back from a method. For example:
class Test
    {
        static void Split(string name, out string firstNames,
        out string lastName)
        {
            int i = name.LastIndexOf(' ');
            firstNames = name.Substring(0, i);
            lastName = name.Substring(i + 1);
        }
        static void Main()
        {
            string a, b;
            Split("Stevie Ray Vaughn", out a, out b);
            Console.WriteLine(a); // Stevie Ray
            Console.WriteLine(b); // Vaughn
        }
    }
دسته‌ها:C#.Net برچسب‌ها: , ,

5 عادت خوب برای اینکه کدنویس بهتری باشید

سلام…

مطلب رو اینجا نمیذارم.میتونید از این لینک مطلب رو بخونید.
از این تیکه اش خوشم اومد:

While there is a ton of awesome information on various blogs out here on the web (like right here on Six Revisions), there is still nothing quite like reading a good book on a subject. Blogs are great for articles and tutorials on specific subjects and can work wonders for quick tips, but in my view, nothing beats a good book for helping to build a strong foundational understanding of a larger subject.

دسته‌ها:Uncategorized