برنامه‌نویسی را از کجا آغاز کنم؟ (2)

احساس کردم که مطلب "برنامه نویسی را از کجا آغاز کنم؟" به کمی بررسی بیشتر نیاز دارد، لذا تصمیم به بازنویسی این مطلب گرفتم.

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

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

ادامه مطلب...
مجوز مطالب و محتوا ۱۵ ارديبهشت ۹۸ ، ۲۰:۰۶ ۳ نظر موافقین ۲ مخالفین ۰
BSimjoo

آیا مشکل Y2K برای ایرانی ها تکرار خواهد شد؟

در سال 2000 (که سال تولد من هست) یک خطای نرم افزاری تمام کامپیوتر ها را تهدید می کرد.

موضوع از آنجا شروع شد که در آستانه سال 2000 میلادی برنامه نویسان متوجه خطایی شدند که به Y2K یعنی Y2000 معروف است. در آن زمان سیستم هایی مانند سیستم کارت های بانکی و... وجود داشتند که سال را تنها با دو رقم آخر (مثلا به جای 1999 از 99) نشان می دادند؛ ولی مشکل اینجا بود که نرم افزار ها نمی توانستند بین سالها 2000 و 1900 و... فرقی قائل شوند.

حال آیا این اتفاق باری دیگر و در سال 1400 شمسی برای ما رخ خواهد داد؟

     تابلو اعلاناتی که به اشتباه سال 2000 را 1900 نشان می دهد
 منبع تصویر: ویکی‌مدیا
مجوز مطالب و محتوا ۱۵ فروردين ۹۸ ، ۱۸:۰۸ ۳ نظر موافقین ۲ مخالفین ۰
BSimjoo

پیست‌بین در خط‌فرمان(استفاده از apaste.info در خط فرمان با curl)

در حال نوشتن چند خط کد بودم و نیاز داشتم که هربار کد را در یک کانال آی‌آر‌سی بفرستم تا کد بازبینی و اشتباهاتم گوشزد شود. از یک پیست‌بین(pastebin) استفاده میکردم و هربار پیوند نسخه جدید کد را به کانال میفرستادم اما این پروسه دردناک و آزار دهنده بود:

  • تغییر کد
  • کپی آن به بریده‌دان(clipboard) سیستم پنجره‌ی اکس
  • وارد شدن به apaste.info با مرورگر وب
  • وارد کردن کد و گرفتن پیوند کد
  • فرستادن کد به کانال

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

ادامه مطلب...
مجوز مطالب و محتوا ۱۶ اسفند ۹۷ ، ۱۶:۲۴ ۱ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

namebench - ابزاری برای محک زدن سرور‌های DNS + مقایسه‌ی سرور های جهانی با سرور شرکت زیرساخت


namebench با استفاده از تاریخچه مرورگرتان یا دیگر منابع، سرور‌های DNS را محک زده و برای شما مشخص میکند که کدام سرور برای رایانه‌ی شما سریعتر هست.

ادامه مطلب...
مجوز مطالب و محتوا ۱۱ بهمن ۹۷ ، ۱۰:۲۳ ۰ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

پوشه ای با نام فاصله! (white space folder name)

همونطور که می دونید ویندوز اجازه ساخت یک پوشه (یا Directory) با نام فاصله (white space) رو نمیده ولی میشه این کار رو با خط فرمان انجام داد. کد های زیر رو حتما امتحان کنید (به جای X هر حرفی می تواند باشد):

md "X:\ \"

و سپس

md "X:\ \test"

این دو کد در خط فرمان باعث ایجاد یک پوشه به اسم فاصله می شود. حالا برید و ببینید ویندوز چه باگهایی سر این پوشه می ده. اول که  پوشه رو باز می کنید چون کارکتر فاصله در آخر آدرس هست مرورگر فایل ویندوز (Windows Explorer) دچار یک اشتباه لپی شده و فاصله را در نظر نمی گیرد. پس به جای نشان دادن محتویات این پوشه که پوشه ای دیگر به نام test است، محتویات X:\ می دهد و اگر یک بار دیگر  روی این پوشه با نام فاصله کلیک کنید پیغام هشداری می بینید که می گوید نمی تواند آدرس X:\ \ \ را پیدا کند. تنها راه دسترسی به پوشه test تایپ آدرس آن (X:\ \test) در نوار آدرس است.

توجه: برای پاک کردن پوشه حتما از خط فرمان و دستور rmdir /s "X:\ \" استفاده کنید در غیر این صورت امکان دارد کل فایل ها پاک شوند.

مجوز مطالب و محتوا ۲۴ دی ۹۷ ، ۱۹:۲۱ ۱ نظر موافقین ۰ مخالفین ۰
BSimjoo

چطور user agent string خود را در فایرفاکس تغییر دهیم؟

 user agent string  به طور خلاصه رشته‌ای است که توسط مرورگر کاربر به کارساز(سرور) ارسال میشود و اطلاعات رایانه‌ی کاربر را مشخص میکند. این اطلاعات شامل سیستم‌عامل و نسخه‌ی آن، مرورگر و نسخه‌ی آن یا برای یک بات تنها نام و نسخه‌ی آن است.البته این رشته در قرارداد(پروتکل) های دیگر نیز استفاده میشود.

ادامه مطلب...
مجوز مطالب و محتوا ۱۳ دی ۹۷ ، ۰۶:۲۰ ۰ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

botters: جامعه توسعه‌ی بات‌های آی‌آر‌سی

botters یک جامعه قدیمی و نسبتا کوچک از توسعه‌دهندگان بات‌های آی‌آر‌سی هست. آنها یک ویکی که شامل مطالب فنی و غیر فنی راجب بات‌ها و همچنین چند کانال IRC(کانال #botters روی فری‌نود کانال اصلی آنهاست)  در این مورد دارند. اگر به ساخت بات آی‌آر‌سی علاقه دارید، این جامعه میتواند به شما کمک کند.

مجوز مطالب و محتوا ۲۲ آذر ۹۷ ، ۱۴:۳۱ ۰ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

تابع qsort برای مرتب کردن یک آرایه با الگوریتم مرتب‌سازی سریع در سی/سی‌پلاس‌پلاس

تابع qsort از کتاب‌خانه‌ی استاندارد(stdlib.h) از توابع مفید و البته استاندارد هست.این تابع با دادن آدرس آرایه، تعداد اعضا، اندازه‌ی هر عضو و یک تابع برای مقایسه‌ی دو عضو،آرایه  را بصورت صعودی مرتب میکند.

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

void qsort(void *base, size_t nmemb, size_t size,
            int (*compar(const void *, const void *)))

ادامه مطلب...
مجوز مطالب و محتوا ۰۳ آبان ۹۷ ، ۱۶:۳۴ ۰ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

کلاس توکار complex برای کار با اعداد مختلط در پایتون

complex(real_part=0, imag_part=0)
complex(str)

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

ادامه مطلب...
مجوز مطالب و محتوا ۱۲ مهر ۹۷ ، ۱۹:۱۸ ۱ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

چطور از طریق خط‌فرمان مکان جغرافیایی یک IP را پیدا کنیم؟

اگر بخواهید مکان فیزیکی یک IP را پیدا کنید، ابزار های آنلاینی برای اینکار وجود دارند اما شاید مثل من پیرو راه بزرگ یونیکس باشید و  خط‌فرمان سریغ‌تر و کم‌هزینه‌تر هم هست.
اینجا دو روش را معرفی میکنم که از طریق خط‌فرمان بتوانید مکان جغرافیایی یک IP را پیدا کنید. روش اول از یک برنامه استفاده میکند که بر اساس یک پایگاه داده و بصورت آفلاین کار میکند و برای شبه یونیکس‌ها شامل گنو/لینوکس،بی‌اس‌دی ها و ... در دسترس هست. روش دوم که از curl و یک API استفاده میکند، نیازمند دسترسی به اینترنت هست و روی اکثر سیستم‌عامل ها قابل استفاده در دسترس هست.
ادامه مطلب...
مجوز مطالب و محتوا ۲۹ شهریور ۹۷ ، ۱۲:۱۲ ۱ نظر موافقین ۲ مخالفین ۰
فاروق کریمی زاده

تابع os.urandom در پایتون

os.urandom(n)

تابع os.urandom تعداد n بایت تصادفی برمیگرداند که برای مصارف رمزنگاری و دیگر کاربرد‌ها که اعداد تصادفی با کیفیت‌تر نیاز دارند مناسب است

ادامه مطلب...
مجوز مطالب و محتوا ۱۸ مرداد ۹۷ ، ۱۹:۰۹ ۰ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

مروری بر پست «برنامه‌نویسی را از کجا آغاز کنیم؟»

مطمئن نبودم که باید این پست را بنویسم یا نه. بعد از اندکی فکر کردن، دیدم بهتر است این حرف‌ها را به گوش بقیه رسانده و عقیده‌ی خود را ابراز کنم! شاید دلیل نوشتن حداقل بخشی از این پست یک تعصب پنهان به بعضی زبان‌ها و سیستم‌عامل‌ها باشد.بخشی دیگر هم مطالبی بودند که فکر کردم پست بهنام سیمجو به اندازه کافی به آنها نپرداخته یا مبهم نوشته و ... .پیشنیاز مطالعه‌ی این مطلب، مطلب بهنام سیمجو است.
ادامه مطلب...
مجوز مطالب و محتوا ۱۴ تیر ۹۷ ، ۱۴:۴۶ ۱ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

برنامه‌ی look در یونیکس

look [-bdf] [-t termchar] string [file]
look [-f] string [file]

این برنامه که ریشه‌اش BSD هست، تمام خطوط پرونده‌ی file را که با رشته‌ی string شروع میشوند،به خروجی میفرستد.

ادامه مطلب...
مجوز مطالب و محتوا ۱۷ خرداد ۹۷ ، ۰۷:۳۲ ۱ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

دریافت netcat برای ویندوز

برای ویندوز های ۳۲ و ۶۴ بیتی


حجم: 107 کیلوبایت

مجوز مطالب و محتوا ۲۰ ارديبهشت ۹۷ ، ۱۰:۲۵ ۰ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

توابع hex،bin و oct در پایتون

این توابع از توابع توکار پایتون هستند و همانطور که از اسمشان مشخص است، یک عدد مبنای ده را به یک رشته که حاوی آن عدد در مبنای ۸،۱۶ یا ۲ است تبدیل میکند. فکر نمیکنم نیاز به توضیح زیادی داشته باشند اما توجه کنید که این توابع یک رشته برمیگردانند. چند مثال:

>>> hex(10)
'0xa'
>>> oct(13)
'0o15'
>>> bin(12)
'0b1100'

مطالب مرتبط:

مجوز مطالب و محتوا ۰۱ ارديبهشت ۹۷ ، ۱۲:۱۷ ۰ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده