سوال و جواب بیت‌کوینی

نوشته شده توسط رامین در ۲۰ خرداد ۱۳۹۸

اولین بار که نامِ بیت کوین  icon-bitcoin  را شنیدم بر می‌گردد به سال‌ها قبل در جلساتِ گروه‌ِ کاربرانِ لینوکسِ مشهد، در حد یک خبرِ کوتاه در ابتدایِ جلسه در این مورد صحبت شد. بعدها سر کلاسِ درسِ «سیستم‌هایِ توزیعی» می‌خواستم پروژه‌ای مبتنی بر بلاک‌چین ارائه کنم که خب به دلیلِ اسمِ عجیب و غریب‌اش موافقت نشد و از دو سال پیش به شکلِ جدی‌تری تصمیم گرفتم در موردِ بلاک‌چین مطالعه کنم و یادبگیرم.

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

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

در این پست بنا دارم تا به سؤالاتی که عموما پرسیده می‌شود پاسخ دهم، این نوشته ممکن است در طولِ زمان گسترش یافته و یا تغییر کند.

در این قسمت به هر سؤال به ۵ طریق پاسخ داده می‌شود:

پاسخِ خیلی خیلی کوتاه: به صورتِ یک تعریف حداکثر یک جمله‌ای

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

پاسخِ غیرِ فنیِ کوتاه: این پاسخی است که خیلی‌ها انتظار آن را دارند، اگر خیلی بی حوصله هستید فقط به خواندن این پاسخ اکتفا کنید.

پاسخِ فنیِ حوصله سر بر: واقعاً دلیلِ وجودِ این پاسخ را نمی‌دانم! یعنی دلیلی برای بیانِ این پاسخ نیست ولی اگر به جزئیاتِ فنی علاقه‌مند هستید این پاسخ می‌تواند برایِ شما جذاب باشد، در غیرِ اینصورت از آن عبور کنید.

پاسخِ حقیقی: شاملِ چیزی است که شاید دوست نداشته باشید بدانید!

 

ادامه مطلب …

مار خوش خط و خال در ردایِ جاوا اسکریپت

نوشته شده توسط رامین در ۱۹ شهریور ۱۳۹۳

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

wallpaper_rayman_raving_rabbids_2_04_800

ادامه مطلب …

دانلودِ فایل از صفحاتِ مختلفِ یک سایت

نوشته شده توسط رامین در ۲۳ بهمن ۱۳۹۱

امشب بنا به دلایلی تصمیم گرفتم یک تعداد فایل را از سایتِ آپا مشهد دانلود کنم، برایِ این کار یک اسکریپتِ بسیار ساده نوشتم و سعی کردم از دستوراتِ ساده‌تر استفاده کنم و در عینِ حال کامل و کارآمد باشد. شما می‌توانید این اسکریپت را صدها مدلِ دیگر بنویسید و مثلا بجای curl از w3m استفاده کنید و یا بجایِ wget از axel و یا بقیه چیزها.
اسکریپت بسیار ساده است، اول باید ببینیم لینکِ صفحاتی که فایل ها در آنها قرار دارد به چه شکل است:

http://cert.um.ac.ir/index.php?r=articles/view&id=4

خب خیلی راحت می‌توان فهمید که با عوض کردن id می‌توانیم به صفحات مشابه دیگر برویم. بعد باید به دنبال لینکِ فایل‌ها در صفحات بگردیم:

Screenshot from 2013-02-11 23:32:11

معلوم است دیگر، لینک‌ها چیزی شبیه به این است:

/index.php?r=File/getFile&fileName=FFeCjweIoA8PtXT9

حالا می‌خواهییم فایل ها با عنوانِ مرتبط ذخیره شوند، اگر نگاهی به سورسِ صفحات بیاندازیم به سرعت می‌فهمیم از تگ h3 تنها برایِ عنوانِ مقالات استفاده شده ولی گرفتن این تگ چند اضافه دارد که باید حذف شود و من از آسانترین روش موجود استفاده کردم. head و tail در عینِ حال وقتی نامِ فایل را می‌گیریم در خروجی یک amp; داریم که باید حذف شود و برایِ این کار از sed استفاده شده.

 

این اسکریپت بسیار ساده و ابتدایی است و ده‌ها کار جهتِ بهبودِ آن می‌توان انجام داد ولی احتیاجی نیست. چیزی را که درست کار می‌کند بگذارید کارش را بکند!