برنامه نویسی

پیاده سازی رمز سزار یا همان Caesar cipher با زبان سی پلاس پلاس

سلام
در روش رمزنگاری سزار از چرخش حروف الفبا استفاده می شود. بنابراین نمادها و ارقام بدون تغییر خواهند بود. این روش در زمان باستان جهت رمزنگاری پیام های محرمانه استفاده می شد اما امروزه صرفا بیشتر شبیه اسباب بازی رمزنگاری است!
هدف این مقاله ارتقا و توسعه روش رمزنگاری سزار نیست اما به شما نشان خواهد داد که چگونه این روش را برای زبان انگلیسی و به وسیله ++C پیاده سازی کنید.

دورۀ آموزشی طراحی صفحات وب به زبان پایتون 3 فریم ورک جنگو نسخۀ 1.11

سلام

همونطور که قبلاً هم در مطلب «موانع برنامه نويسى براى پياده سازى ايده هاى بزرگ» گفتم:

شاید حتی خود تو! ایده ای داری كه فكر می كنی می تونی با اون دنیا رو فتح كنی. ایده هایی كه وقتی خودت رو بعد از انجام اون می بینی احساس رضایت می كنی. ایده هایی كه می تونن تو رو تبدیل به رهبر یك گروه (مثل لینوس توروالدز) كنه یا تبدیل بشی به مدیر سرشناس یك شركت بزرگ (مثل استیو جابز) یا محبوب دل ها بشی (مثل گیت هاب) كه البته به احتمال زیاد همه ی این موارد تو رو به پول بزرگ می رسونه (واقعا قصد ندارم بیل گیتس رو مثال بزنم!!)

حالا این که من جزو کدوم دسته هستم مسئله نیست. مسئله اینه که ما هم یک ایده ای داریم که فکر می کنیم می تونه پروژۀ خوبی از آب در بیاد. پروژه ای که حتی اگر هیچکس در هیچ جای دنیا ازش استفاده نکنه خودم بهش نیاز دارم و بنابراین برای خودم هم که شده این کار رو شروع می کنم. ممکنه در طول آموزش ها با واژۀ لیبوگرام یا Libogram آشنا بشید. درسته!! این اسم پروژۀ مخفی و سری ماست :)

لینک ورود به بخش آموزش  Python3 Django 1.11

چرا رفتم سراغ جنگو؟

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

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

ادامه را بخوانید...

نکتۀ سادۀ امنیتی در برنامه نویسی وب: اعتبارسنجی سمت کاربر

سلام

بدون مقدمه: هیچ چیزی به اسم client-side validation یا اعتبارسنجی سمت کاربر وجود نداره! ممکنه بعضی از سایت ها برای این کار (اعتبارسنجی سمت کاربر) از جاوا اسکریپت و ... استفاده کنند و بهانۀ اون ها هم کاهش بار سرور یا زیبایی و کاربری سریعتر و آسانتر باشه اما مسئله اینه که این کار به راحتی قابل دور زدن و Bypassـه و کاربر ممکنه داده های مخرب را به سرور ارسال کند.

نکته اینجاست که جاواسکریپت سمت کاربر اجرا می شه و بالاخره این کاربره (یا سیستم عاملشه) که داره دیتا رو به سرور شما ارسال میکنه و بنابراین به راحتی می تونه با نرم افزارهای ساده این داده ها رو tamper یا دستکاری کنه.

client side validation

نهایت کاری که میشه انجام داد اینه که...

(سوء)استفاده از یونیکد برای ساخت تراژدی

سلام

mimicبرنامه‌ی mimic برای اهداف زیر ساخته شده:

  • سرگرمی
  • دهن طرف مقابل رو سرویس‌کردن
  • کنجکاوی
  • جنون مرگبار

 

ایده‌ی اصلی این برنامه از توییت پیتر ریچی گرفته شده که در اون پیتر می‌گه:

در سورس‌کد برنامه‌ی دوست‌تون که به زبان #C نوشته‌شده، مقدار نقطه‌ویرگول (;) رو با علامت سوال در زبان یونانی (;) جابجا (replace) کنید تا برنامه پُر بشه از خطاهای سینتکسی

کلا به چیزهایی که شکل اون‌ها شبیه همه اما یکی نیستند می‌گن هوموگراف(Homograph). مثل بیت زیر که همه‌مون شنیدیم...

پایتون ۳، پایتون را نابود می کند.

سلام

Python 3 is killing Python
The Python community should fork Python 2
اجتماع پایتون باید پایتون ۲ را انشعاب دهد...

دیروز پادکستی از رادیوبوت رو گوش می دادم که در اون، از مقاله ای به قلم آقای Stephen A. Goss می گفتند که مربوط به صحبت ها و بحث هایی می شد که مربوط به چالش های بین پایتون ۲ و ۳ بود. معمولا برای خیلی ها که تازه دنبال یادگیری پایتون اند این موضوع سواله که چرا با توجه به انتشار نسخه ی جدید پایتون (پایتون ۳) هنوز خیلی از برنامه نویس ها از پایتون ۲ استفاده می کنند و ... به نظرم این مقاله، نوشته ی خوبی اومد و اون رو ترجمه کردم. البته من در پایتون صاحب نظر نیستم و یادتون باشه که این نظر شخصی یکی از برنامه نویسان پایتون است و ممکن است خیلی جنبه های دیگر هم وجود داشته باشد که در این مقاله به اون ها اشاره نشده باشد:

خلاصه ی مقاله برای آن هایی که وقت خواندن ندارند:
//خلاصه توسط خودم انجام شده و ممکن است کامل نباشد.

  1. پایتون ۳ بلایی خانمان سوز بود و جلوی رشد پایتون ۲ را نیز گرفت.
  2. مزیت پایتون به داشتن کتابخانه های مختلفی است که برای آن -یعنی پایتون ۲- نوشته شده است. امکان انتقال تمام کتابخانه های پایتون ۳ وجود ندارد و به جز کتابخانه های اصلی بقیه ی کتابخانه ها در پایتون ۳ وجود ندارند.
  3. برای سازگار کردن نرم افزاری که به زبان پایتون ۲ نوشته شده با نسخه ی پایتون ۳ نیازمند هزینه ی بالایی هستیم و این کار برای شرکت ها صرفه نخواهد داشت و ممکن است به صورت کامل به زبان برنامه نویسی دیگری نقل مکان کنند.
  4. استفاده از کتابخانه های عمومی تفاوتی نمی کند و از جذابیت پایتون می کاهد.
  5. با به وجود آمدن پایتون ۳، پایتون ۲ مطرود شده است. پایتون ۳ ویژگی خاصی را به پایتون اضافه نکرده است اما کار انتقال را سخت و کتابخانه ها را محدود کرده است و این موضوع باعث مهاجرت برنامه نویسان به زبان های برنامه نویسی دیگر می شود.
  6. یکی از راه حل های این است که پایتون ۳ را فراموش کنیم و انشعاب جدیدی از پایتون ۲ با نام پایتون ۲.۸ را منتشر کنیم.
  7. پایتون ۲ را باید از نو احیاء کنیم و این کار باید توسط اجتماع پایتون صورت پذیرد. در غیر این صورت پایتون نابود می شود.

 

python 3 is killing python