از امروز به صورت رسمی به گنو لینوکس مهاجرت میکنم هرچند قبلاً تجربه کار با لینوکس رو داشتم ولی بنا به دلایلی که در ادامه پاسخ تمام آنها گفته شده مجدداً به ویندوز برگشتم.
چنتا از این دلایل رو که خودم زمانی به اونها اعتقاد داشتم رو همراه با دلیل منطقی قرار دادم .
نرم افزار انحصاری یا آزاد
من توی ایران زندگی میکنم چه لزومی داره بیام از لینوکس استفاده کنم ایران تحریم و تا ابد هم تحریم میمونه پس چرا باید بیام وقتمو برای یادگیری استفاده از یه سیستم عامل باز متن بذارم. به راحتی با 1500 تومن میرم یه پک ویندوز با شونصدتا نرمافزار می خرم و استفاده میکنم؟
یکی از دلایلی که واقعا از نرم افزارهای انحصاری (یا شبه آزاد - مثلا با همین tivo کردن و...) بدم میاد اینه که اول باید کلی وقت بذارید تا یه برنامه رو برای کاربر بنویسید و امکاناتش رو زیاد کنید وبعد کلی وقت بذارید و تکنیکها و تکنولوژی های مختلف رو به کار بگیرید تا کاربر رو محدود کنید! حتی در بعضی موارد بعد از کلی کار کردن روی یک برنامه بیاید و از عمد روش باگ بندازید که چی؟ که کاربران اون نرم افزار رو آپدیت کنن!
پس حالا چرا نباید وقت گذاشت و طرز استفاده از یه سیستم عامل متن باز رو یاد گرفت چرا باید بذاریم یه افراد سود جو و بیزینس من که فقط به فکر جیب خودشون و پول درآوردن هستن باید و نباید ها رو برامون بر اساس مصلحت خودشون مشخص کنند. من محال موقعه ای که پشت پی سی بشینم گذرم به ویکی پدیا نیفته.حالا چرا نباید سایتی که یکی از پرترافیک ترین وبگاههای جهان بیاد و مثله سایت های دیگه بنر تبلیغاتی اضافه کنه چرا نباید برای استفاده شما پول نگیره و خیلی چیزای دیگه؟
در ادامه ابتدا ترجمه ای از کنفرانس 2007 ریچارد استالمن که به بررسی اهمیت استفاده از مجوز GPL 3 و فلسفه آزادی آورده شده و در ادامه سعی کردم در چند اپیزود مطالبی رو روشن کنم .
بابت به روز نشدن عذر میخوام .سعی من ارائه مطالب با کیفیت هست امیدوارم همه کیفیت رو فدای کمییت نکنیم.
همونطور که اطلاع دارید برای نوشتن تحت پرل نیاز به نصب Active Perl داریم .
با مطالعه چند وبگاه متوجه شدم که علاوه بر kit بالا یه SDK دیگه ای هم وجود داره با اسم , چی:
تــوت فرنـگـی
strawberryperl
جالبه نه راستی سخن پرچم دارمون رو هم داشته باشید ^
این توزیع با مجوز GPL و صرفاً برای ویندوز تهیه شده و به خوبی با ویندوز های 32 و 64 سازگاری داره.
فرقی که توت فرنگی با پسر عموی خودش داره وجود کامپایلر زبان C++یعنی MinGW
البته اگر قصد استفاده تجاری از پرل رو دارید مسلماً همه نظرشون Active Perl
شما میتونید با پرداخت چند دلار نسخه تجاری پرل رو تهیه نمایید و خیالتون بابت پشتیبانی هم راحت باشه. اینجا رو ببینید.
علاوه بر تمام نکات بالا استفاده از CPAN و PPM برای نصب ماژول در توت فرنگی فراهمه به نظر من برای نوشتن تحت کلاینت بهتر از Active Perl ه.
سایت رسمی توت فرنگی: http://strawberryperl.com
اطلاعات بیشتر : http://en.wikipedia.org/wiki/Strawberry_Perl
قصد دارم در مورد رمز نگاری در پرل مطلبی بنویسم.بنده از رمز نگاری یک رشته شروع میکنم و مبحث رو در رمزنگاری فایل ها اعم از باینری و متنی به پایان می رسونم.
رمزگذاری عملیاتی است که طی آن اطلاعات اولیه (که به آن متن آشکار گفته میشود) با استفاده از یک الگوریتم (که الگوریتم رمز نامیده میشود) و یک کمیت محرمانه (که به آن کلید رمز گفته میشود) به متن غیر قابل فهم دیگری (که به آن متن رمز گفته میشود) تبدیل میشود به نحوی که بدون دسترسی به کلید رمز، دستیابی به اطلاعات اولیه از روی متن رمز شده غیرممکن باشد.
به عملیات معکوس رمزگذاری، رمزگشایی گفته میشود که به معنای بازیابی متن آشکار با دانستن و استفاده از کلید رمز میباشد. اگر بازیابی متن آشکار بدون دانستن کلید رمز انجام گیرد، به آن تجزیه و تحلیل رمز گفته میشود. امروزه مسائل مربوط به رمزگذاری توسعهٔ زیادی یافته است و در حوزهٔ دانش رمزنگاری مورد بررسی قرار میگیرد.
استفاده از عملیات رمزگذاری دارای سابقهٔ چند هزار ساله است و مدت زیادی است که توسط دولتها و سیستمهای نظامی برای رد و بدل اطلاعات به صورت امن مورد بهرهبرداری قرار گرفته است. اما امروزه با هدف محافظت از اطلاعات در بسیاری از کاربردها و سیستمهای مدرن انسانی مانند موارد زیر نیز به کار گرفته میشود:
ارتباطات امن در شبکههای رایانهای
سیستمهای تلفن همراه و ماهوارهای
انواع سیستمهای بیسیم
دستگاههای خودپرداز بانکها
انواع سیستمهای تجاری و مالی
مدیریت حقوق دیجیتالی
و رمزنگاری برنامه های آلوده به بدافزار
ماژولهای اختصاصی زیادی در پرل وجود دارند که هر کدام در جهت نیاز کاربران در یک حوزه خاص نوشته شدند.کافی عبارت Crypt- رو در ppm یا cpan سرچ کنیم.
برای شروع من با نحوه رمزنگاری یک رشته شروع میکنم رشته ای که رمز می شه با استفاده از روش رمزنگاری base64 می باشد.
ماژول Base64 دارای 2 متد و یک برای رمزنگاری encode و دیگری برای رمز گشایی decode .
اگر تمایل دارید که از سابروتین برای رمز نگاری استفاده نکنید می تونید از این روش استفاده کنید:
این مبحث ادامه دارد...