بایگانی ماهیانه: جولای 2012

کمی به خود استراحت دهید!

بسیاری از ما روزانه مدت زیادی را پای کامپیوتر خود می‌نشینیم. البته توصیه می‌شود که مدت زمان خیره شدن ما به نمایشگر در روز از ۲ ساعت بیشتر نشود، اما بسیاری به سبب کار یا علاقه، نمی‌توانند چنین کاری را انجام دهند.

اگر شما هم جزو این دسته از افراد هستید، توصیه می‌کنم کمی به خود استراحت دهید! در صورتی که پس از هر چند وقت (بین نیم تا یک ساعت)، دقایقی را به نقطه‌ای دور خیره شوید، یا بلند شوید و کمی قدم بزنید، کمک شایانی به خود کرده‌اید. نرم‌افزاری که می‌خواهم معرفی کنم، در همین رابطه است.

نرم‌افزار BreakTaker می‌تواند در بازه‌های زمانی مشخص، به شما یادآوری کند که بهتر است چند دقیقه استراحت کنید.

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

این برنامه به زبان سی‌شارپ و با استفاده از فناوری WPF نوشته شده است. برای نصب این برنامه، باید دات‌نت‌فریم‌ورک نسخه‌ی ۳.۵ را روی کامپیوتر خود داشته باشید. (ویندوز ویستا به بعد، این نسخه از دات‌نت را به طور پیش‌فرض دارا می‌باشند)

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

فایل نصب این برنامه‌ی ۲ مگابایتی را می‌توانید از این‌جا دانلود کنید. برای اطلاعات بیشتر هم به سایت سازنده‌ی آن  (از سایت سازنده حذف شده!) مراجعه کنید.

و کلام آخر این‌که، مراقب سلامتی خود باشید! ;-)

هر ویروسی، «ویروس» نیست!

همه‌ی ما، دیده‌ایم ویروس‌هایی را در جا‌هایی که اصلاً انتظارشان را نداشته‌ایم. احتمالاً پس از آن هم ناسزایی نثار سازنده یا آن فایل کرده‌ایم و بعد بی‌درنگ آن‌را پاک کرده‌ایم… اما همیشه چنین نیست. گاهی ویروسی، ویروس نیست؛ گاهی هم ویروسی، بد جوری ویروس است!

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

ابتدا نگاهی اجمالی به هر یک از این بدافزار‌ها داشته باشیم:

ویروس، یک نرم‌افزار است که می‌تواند خودش را در کامپیوتر بازتولید کند و از کامپیوتری به کامپیوتر دیگر سرایت کند. ویروس‌ها معمولاً (همانند ویروس‌های دنیای زیست‌شناسی) به یک میزبان (مثلاً یک فایل ورد) می‌چسبند و کار خود را انجام می‌دهند.

کرم‌ها، به میزبان (فایل ورد، یا فایل اجرایی دیگر) نمی‌چسبند و خودشان یک برنامه‌ی مستقل هستند. هدف کرم‌ها معمولاً استفاده از منابع می‌باشد و می‌تواند در دسترسی شما به منابع تاخیر بیاندازد. آن‌ها هم می‌توانند خود را تکثیر کنند و از کامپیوتری به کامپیوتر دیگر منتقل شوند.

تروجان‌ها، همانگونه که از نامشان بر می‌آید (این نام از اسب تراوا گرفته شده است)، در قالب یک نرم‌افزار یا فایل مفید وجود دارند، در حالی که کاربر با استفاده از آن‌ها، در واقع به هکر اجازه‌ی نفوذ به کامپیوترش را داده است. برخی از تروجان‌ها، قادرند بدافزار‌های دیگر را نیز دانلود و روی کامپیوتر قربانی اجرا کنند…
روت‌کیت، مجموعه‌ای از نرم‌افزارهاست که کنترل یک سیستم رایانه‌ای را به دست می‌گیرد. در این نوع حمله، کاربر سیستم متوجه حضور روت‌کیت نخواهد شد و هکر رایانه توانایی تغییر تمامی تنظیمات رایانه را دارد.

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

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

خب، تا این‌جا دیدیم که بدافزار‌ها انواع مختلفی دارند، اما مثلاً ممکن است فایلی که ضدویروس شما در مورد آن به شما اخطار می‌دهد، تنها یک آگهی‌افزار باشد…

پس بد نیست به پیامی که نرم‌افزار ضد ویروس می‌دهد هم دقت کنید.

اما قضیه به همین‌جا ختم نمی‌شود! هر ضد ویروسی می‌تواند اشتباه کند. (False Positives) ممکن است فایل شما سالم باشد در حالی که ضدویروس آن‌را به عنوان یک ویروس بشناسد. این می‌تواند ناشی از فیلتر‌های کلی باشد، یا واقعاً اشتباه نرم‌افزار.

منظورم از فیلتر‌های کلی، مثلا بلاک کردن کی‌لاگرهاست. مثلاً نرم‌افزار ارقام پارسی، نرم‌افزاری است که به دلیل ماهیت کار خود، از روش Keylogging بهره می‌گیرد. در حالی که بنابر گفته‌ی سازنده‌اش، به هیچ عنوان ویروسی نیست. (این نرم‌افزار متن‌باز است. اگر حوصله دارید، سورس آن را دانلود کنید، بخوانید و نتیجه را به من هم اطلاع دهید!) در وبگاه سازنده‌ی این نرم‌افزار گفته شده که آنتی‌ویروس آویرا این نرم‌افزار را به اشتباه، ویروس می‌شناسد.

اشتباه نرم‌افزار هم که واضح است…

دو سه سال پیش که آنتی‌ویروس‌ها را بررسی می‌کردم و آمار‌های معتبر را می‌خواندم، دیده بودم که آنتی‌ویروس کسپرسکی تعداد اشتباه بیشتری نسبت به Eset دارد. پس لزوماً آنتی‌ویروسی که بیشتر ویروس تشخیص دهد هم آنتی‌ویروس بهتری نیست!

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

البته به نظرم راهی جز اعتماد کردن به نتیجه‌ی آنتی‌ویروس خود نیست! ولی می‌توان دست‌کم ناسزایی که پس از مشاهده‌ی یک ویروس می‌گوییم را کمی با تأمل بیشتر، و کمی رقیق‌تر بگوییم!

پی‌نوشت: احتمالاً به زودی نوشته‌ای هم در مورد مقایسه‌ی آنتی‌ویروس‌ها خواهم نوشت.

پی‌نوشت ۲: از تأخیر طولانی مدت در ارسال نوشته عذرخواهی می‌کنم. در حال حاضر در حال کار روی پروژه‌ای هستیم و سرمان بسیار شلوغ است. امیدوارم کار این پروژه هر چه زودتر به پایان برسد!

شروعی برای یک برنامه‌نویس خوب

هر روزه آدم‌ها بیشتری جذب دنیای فناوری‌ اطلاعات (یا همان آی‌تی) می‌شوند. آدم‌هایی که اکثرا به فکر استفاده از امکانات آن هستند و نه به فکر تولید امکانات. بعضی مواقع هم آدم‌هایی پیدا می‌شوند که می‌توانند ابزار تولید کنند. ابزار‌هایی که می‌تواند بهینه و به‌صرفه باشد و شاید هم ابزارهایی برای تخریب. این آدم ها برنامه‌نویس نام گرفته‌اند و ابزار تولیدشان هم زبان‌های برنامه‌نویسی است. از زمانی که زبان‌های برنامه‌نویسی معدود و جان‌فرسا بودند مدت‌ها گذشته‌است و در زمان حال، زبان‌های برنامه‌نویسی مختلفی برای استفاده‌های مختلف موجود است. زبان‌های آموزشی مثل پاسکال و یا زبان همه‌کاره‌ای مثل C++ (که از استفاده‌اش برای نوشتن سیستم‌عامل گرفته تا محاسبات دانشگاهی کاربرد دارد)

اما این همه‌چیز نیست. این ابزار نیاز به راهکاری دارد، نیاز به دستورالعملی دارد که آن را الگوریتم(گرفته شده از اسم خوارزمی یکی از دانشمندان ایرانی) می‌نامند. الگوریتم مشخص‌کننده‌ی کارایی و بهینه‌بودن نرم‌افزار است و نقش اصلی را به‌عهده دارد. البته الگوریتم هم تا حدودی به زبان برنامه‌نویسی وابسته است، مثلا اگر بخواهیم به یک روبات بفهمانیم که دربی را باز کند باید دستورات زیادی برای کنترل اجزای مختلف آن و حرکت هماهنگ آن‌ها در قالب کد به روبات داده شود تا بتواند درب را باز کند. اما برای یک حیوان خانگی این تعداد دستورات بسیار کم‌تر است و برای انسان در حد یک دستور. در این مثال دستورات روبات را می‌توان به کدهای اسمبلی(یا زبان ماشین) تشبیه کرد، حیوان خانگی را به زبان‌های سطح بالاتری(زبان‌های سطح بالا زبان‌هایی هستند که دستور زبان آن‌ها به زبان انگلیسی نزدیک‌تر است) مثل C++ و انسان را می‌توان به زبان‌هایی مثل C#.Net و VB.Net تشبیه کرد.

البته این که به زبان ساده‌تری برسیم نیاز‌مند فدا کردن میزان قابل‌توجه‌ای از منابع سیستم است. مثلا ساختن یک انیمیشن به صورت همزمان(یعنی با کمک کد تصاویر را در لحظه بسازیم) با زبان‌های سطح بالا میزان زیادی از منابع سیستم را می‌گیرد، اما نمونه‌هایی جالب با حجم حداکثر ۶۴کیلوبایت که با زبان اسمبلی نوشته‌شده‌است به‌خوبی نشانگر فدا شدن میزان قابل‌توجه‌ای از منابع سیستم در زبان‌های برنامه‌نویسی سطح بالاتر است.

در ادامه بخشی از مقاله خود‌آموز برنامه‌نویسی در ۱۰ سال نوشته Peter Norvig ترجمه مهدی عسگری را برایتان نقل می‌کنم:

 محققان نشان دادند که برای متخصص شدن در بسیاری از زمینه ها (از شطرنج گرفته تا آهنگ سازی ، اپراتوری تلگراف ، نقاشی ، نواختن پیانو ، شنا ، تنیس ، عصب شناسی ، …) حدود 10 سال زمان لازم است. نکته ی مهم انجام کار پیوسته و با توجه است ، نه صرفا کاری را مدام تکرار کردن ، بلکه به چالش کشیدن خودتان با کارهایی که فراتر از توانایی فعلی تان است و تحلیل کارایی تان قبل و بعد از انجام ان کار و اصلاح اشتباهاتتان. و بعد تکرار کنید. و دوباره تکرار کنید. هیچ میانبری وجود ندارد: حتی موزارت که در 4 سالگی اعجوبه ای در موسیقی بود ، 13 سال طول کشید تا بتواند اولین کار حرفه ای و جهانیش را بسازد.

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

مرحله به مرحله یاد بگیرید و تمرین کنید. فراموش نکنید گوگل دوست شماست. هرآنچه مشکل شماست، فقط مشکل شما نیست. اگر در منابع فارسی نتوانستید راه‌حلی برای مشکل خود بیابید، مطمئن باشید که می‌توانید در منابع انگلیسی زبان جواب خود را بیابید و اگر هم نیافتید می‌توانید مشکل خود را  با برنامه‌نویسان خبره تر درمیان بگذارید. اگر در زبان انگلیسی مشکل دارید بهتر است هر چه زودتر مشکل خود را حل کنید. بیش از ۹۰ درصد منابع به زبان انگلیسی هستند و آموختن زبان انگلیسی برای یک برنامه‌نویس(و می‌توان گفت برای هر دانش‌جویی) تقریبا اجتناب ناپذیر است.

پس از اینکه با مفاهیم برنامه‌نویسی آشنا شدید پیشنهاد می‌کنم سراغ C++ بروید. به غیر از بیش‌از حد کاربردی بودن این زبان دلیل دیگر پیشنهاد من این است که بیشتر زبان‌های پرکاربرد چه در وب مثل PHP و JavaScript و چه در ویندوز مثل Java و C#.Net ساختاری بسیار مشابه به این زبان دارند و این به شما کمک می‌کند برای یادگیری زبان‌ها تخصصی‌تر وقت کم‌تری صرف کنید.

اما این‌ها فقط ابزارند! مهم‌ترین بخش هر نر‌م‌افزار الگوریتم آن است. بدون الگوریتم ابزار‌ها به‌ هیچ دردی نمی‌خورند. درکنار یادگیری زبان‌های برنامه‌نویسی مقدار کمی هم الگوریتم یاد می‌گیرید ولی این کافی نیست. برای نوشتن کدهای بهینه‌تر نیاز به الگوریتم‌های بهتر و پیش‌رفته‌تری دارید. Introduction of algorithms که سومین ویرایش از ترجه‌ی آن از بیان رسا و ترجمه‌ی خوبی برخوردار است منبع خوبی برای شما به‌حساب می‌آید. در کنار آن با توجه زمینه‌ی کاری‌تان به دنبال الگوریتم‌های مناسب باشید.

فرآیند تولید نر‌م‌افزار فرآیندی است که اگر بخواهید نرم‌افزاری بهینه تولید کنید زمان‌بر است ولی زمانی که برای تولید آن می‌کنید خیلی کمتر از زمانی است(که اگر ترم‌افزاری غیر بهینه تولید کنید) صرف اشکال‌یابی و رفع‌اشکال نرم‌افزار می‌کنید. بعضی مواقع باید کار‌های سخت انجام داد تا بعدا راحت‌تر بود(إِنَّ مَعَ الْعُسْرِ يُسْرًا-سوره شرح آیه ۶ +) به نوعی می‌توان گفت برنامه‌نویسی هم مثل ساختن دیوار می‌ماند اگر راه را درست بروید نرم‌افزار خوبی خواهید داشت در غیر این‌صورت نرم‌افزاری ناپایدار و پر از اشکال خواهید داشت.

سیستم‌‏عامل 32 بیتی یا 64 بیتی، کدام یک برای من مناسب‏‌تر است؟

سیستم‌‏عامل‏‌های مطرح، از جمله ویندوز و بسیاری از نسخه‏‌های لینوکس، در دو نسخه‏‌ی 32 بیتی و 64 بیتی عرضه می‏‌شوند. هر یک از این نسخه‏‌ها مزیت‏‌ها و عیب‏‌هایی دارند. اما برای شما کدام یک ‏مناسب‏‌تر است؟

اصلاً این 32 بیتی و 64 بیتی چیست؟ این «بیت» که می‏‌گویند چیست و به چه درد می‏‌خورد؟!

تفاوت عمده در نحوه‏‌ی آدرس‏ده‌ی به RAM است… در سیستم‏‌عامل‏‌های 32 بیتی، نشانی هر خانه از حافظه با یک عدد 32 بیتی مشخص می‏‌شود. بنابراین این روش حداکثر 2 به توان 32 خانه از رم را می‏تواند آدرس‏‌دهی کند. (تقریباً برابر با 4 گیگابایت)

اما در سیستم‏‌عامل‏‌های 64 بیتی، ظرفیت آدرس‏‌دهی به RAM در حدود 18 میلیون ترابایت است! (2 به توان 64)…

البته جالب است بدانید که در گذشته در سیستم‏‌عامل داس از معماری 16 بیتی استفاده می‏‌شد. یعنی آن زمان حداکثر حافظه‏‌ی رم قابل تصور، چیزی در حدود 65 کیلوبایت بوده است!! (2 به توان 16)

برای استفاده از سیستم‏‌عامل 64 بیتی، باید پردازنده‏‌ی 64 بیتی داشته باشید. البته پردازنده‏‌های 64 بیتی می‏‌توانند سیستم‏‌عامل 32 بیتی را هم اجرا کنند، ولی پردازنده‏‌های 32 بیتی، نمی‏توانند سیستم‏عامل 64 بیتی را اجرا کنند.

اما چگونه می‌توان بررسی کرد که آیا پردازنده‌ی شما از سیستم‌عامل ۶۴ بیتی پشتیبانی می‌کند یا خیر؟ برای این‌کار، در ویندوز‌های ویستا/۸/۷، در منوی استارت این عبارت را جست‌و‌جو کنید: Performance Information and Tools . سپس، روی View and print‌ کلیک کنید. در بخش 64-bit capable می‌توانید ببینید که آیا کامپیوتر شما از سیستم‌عامل ۶۴ بیتی استفاده کنند. (لینوکسی‌ها هم که خودشان می‌دانند که پردازنده‌شان ۶۴ بیت است یا خیر! کاربران ویندوز اکس‌پی هم، گوگل دوست شماست!!)

اما برتری‏های یک سیستم‏عامل 64 بیتی چیست؟

نخستین برتری یک سیستم‏عامل 64 بیتی، سرعت آن است. سیستم‏عامل‏های 64 بیتی به طور متوسط 10 درصد سریع‏تر از سیستم‏عامل‏های 32 بیتی کار می‏کنند. دلیل آن هم به معماری 64 بیتی بر می‏گردد. (سیستم‏عامل‏های 32 بیتی، حتا اگر روی پردازنده‏ی 64 بیتی سوار باشند، نمی‏توانند از این ظرفیت ارزشمند این معماری بهره بگیرند)

بد نیست به بنچ‌مارک زیر نگاهی بیندازید:

نکته‏ی دوم، بیشتر برای کاربران حرفه‏ای مطرح است. در سیستم‏عامل 32 بیتی، شما حداکثر می‏توانید از 4 گیگابایت حافظه (مجموع حافظه‏های رم، کارت گرافیک و هر قطعه‏ای که برای کار کردن به آدرس‏دهی اختصاصی نیاز داشته باشد) بهره بگیرید. اما در سیستم‏عامل‏های 64 بیتی، شما عملاً محدودیت رم ندارید…

در مورد نرم‏افزار‏ها هم، جای نگرانی چندانی نیست! برخی برنامه‏ها نسخه‏ی 64 بیتی دارند. به علاوه، ویندوز می‏تواند حالت 32 بیتی را برای نرم‏افزار‏های 32 بیتی شبیه‏سازی کند؛ که در بیشتر اوقات مشکلی در این روند پیش نمی‏آید و ویندوز کار خود را به خوبی انجام می‏دهد.

اما برخی از سخت‏افزارها، به خصوص انواع قدیمی‏تر، درایور‏های 64 بیتی ندارند؛ و درایور‏های 32 بیتی معمولاً روی سیستم‏عامل‏های 64 بیتی کار نمی‏کنند. اما اگر کامپیوتر شما نسبتاً جدید است، با احتمال خوبی می‏توانید درایور‏های مورد نیاز خود برای سیستم‏عامل 64 بیتی را پیدا کنید. به علاوه، ویندوز 7 و 8 بیشتر درایور‏های لازم را در خود دارند…

البته به یاد داشته باشید که در مورد درایور پردازنده، کارت گرافیک و این‏گونه سخت‏افزار‏ها تقریباً جای نگرانی نیست. مشکل اصلی در دستگاه‏های خارجی مثل چاپگر، اسکنر، کارت شبکه و این‏گونه دستگاه هاست. بد نیست سری به وبگاه سازنده‏ی این دستگاه‏ها بزنید و مطمئن شوید که آن‏ها درایور 64 بیتی دستگاه را نیز آماده کرده و برای دانلود قرار داده‏اند. همچنین درایور دکمه‌های اضافی لپ‌تاپ و این‌گونه چیزها هم ممکن است به درایور مخصوص نیاز داشته باشند.

سخن آخر این‌که، اگر به دنبال دردسر نمی‌گردید(!)، به این موضوع اصلاً فکر نکنید! منظورم این است که سیستم‌عامل ۶۴ بیتی چنان آش دهان سوزی هم نیست…

اگر با مواردی کار دارید که رم بالا (یا مقدار حافظه‌ی کارت گرافیک بالا) مورد نیاز شماست (مثلاً تدوین فیلم، ساخت انیمیشن یا اگر به معنای واقعی کلمه Gamer هستید!) بی‌شک سیستم‌عامل ۶۴ بیتی انتخاب مناسب‌تری است.

اگر هم مثل من رم بالا مورد نیاز شما نیست و به نظر شما (مثل من) این ۱۰ درصد افزایش سرعت هم جایی را نمی‌گیرد، ولی دنبال دردسر می‌گردید هم، باز سیستم‌عامل ۶۴ بیتی مناسب‌تر است!

 

منابع: +، +، +، + و +

 

«دو برنامه‌نویس» در آینده… شما چی دوست دارید؟

«دو برنامه‌نویس» در نخستین سال تولد خود قرار دارد، و در این مدت خوانندگانی پیدا کرده است. رشد «دو برنامه‌نویس» به لطف همین بازدیدکنندگان و خوانندگان این وب‌نوشت میسر شده است.

نویسندگان این وب‌نوشت تاکنون سعی داشته‌اند که با به اشتراک گذاشتن تجربیات، اطلاعات و نتایج وبگردی‌های خود با سایر کاربران، به آن‌ها کمک کنند و حتا مشکلی را برطرف کنند. البته در آینده هم همین روال ادامه خواهد داشت.

اما برای بهبود کیفیت مطالب وبگاه، «دو برنامه‌نویس» به کمک شما نیازمند است و روی کمک شما حساب کرده است!

سرتون رو درد نیاورم! از شما درخواست می‌کنیم که نظر خودتون در مورد رویکرد آینده‌ی «دو برنامه‌نویس»‌ رو با ما در میان بگذارید! دوست دارید چه مطالبی در دو برنامه‌نویس منتشر شوند؟ آیا به تحلیل اخبار آی‌تی علاقه دارید؟ آیا فکر می‌کنید مطالب آموزشی مفیدتر است؟ یا شاید رویکرد وردپرس را ترجیح می‌دهید؟! شاید هم به برنامه‌نویسی علاقه دارید؟ یا …؟!؟

پاسخ‌های شما به این نوشته، تأثیر به‌سزایی در ادامه‌ی مسیر «دو برنامه‌نویس» خواهد گذاشت…

منتظر شما در بخش دیدگاه‌ها هستم! ;-) (حتا اگر مشترک فید «دو برنامه‌نویس» هم هستید، خوشحال می‌شوم وارد سایت بشید و در این باره دیدگاه بگذارید…)

در پایان، از این که وقت شما رو با این نوشته گرفتم، عذرخواهی می‌کنم. (F)

وبلاگ‌نویسی از گذشته تا کنون…

وب‌نویسی در وبلاگستان فارسی فراز و نشیب‌های بسیاری بوده است. اما به هر صورت، در هر دوره عده‌ای از افراد به وب‌نویسی پرداخته‌اند، سپس عده‌ای از آن‌ها این‌کار را رها کرده‌اند و دسته‌ای از افراد هم به وب‌نویسی ادامه دادند…

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

آن‌ها در اثر تمرین، به تدریج در وب‌نویسی حرفه‌ای تر شدند و خوانندگان بیشتر و بیشتری به دست آوردند. پس به نوعی می‌توان گفت آن‌ها راه وب‌نویسی را خود فرا گرفتند. (اگر پست‌های قدیمی (مثلاً سال‌های ۸۴ و ۸۵ یک‌پزشک را بخوانید و آن‌ها را با پست‌های اکنون یک‌پزشک مقایسه کنید، متوجه منظورم می‌شوید)

در مصاحبه‌ی وبلاگینا با دکتر علیرضا مجیدی، بخشی از پاسخ آقای مجیدی به این پرسش که «فرمول وبلاگ نویسی موفق چیست؟»‌ جالب توجه است (دقیقه‌ی ۵۰)، مضمون سخن ایشان چنین است:

اگر برای بازدید یا Hit بالا می‌خواهید وبلاگ بنویسید، بهتر است این‌کار را نکنید و به جای آن به فعالیت در شبکه‌های اجتماعی بپردازید… با شبکه‌های اجتماعی می‌توانید در مدت زمان کوتاه‌تری تبدیل به فرد شناخته شده‌ای شوید.

اما اگر نوشتن را دوست دارید، یا فکر می‌کنید شما را تسکین می‌دهد، بهتر است از همین امروز نوشتن را شروع کنید…

اما وب‌نویس‌های جدید، وب‌نویسی را خود فرا نمی‌گیرند؛ آن‌ها بیشتر از وبلاگ‌های دیگر الگو می‌گیرند. به زبان دیگر، آن‌ها وب‌نویسی را از وب‌نویسان قدیمی‌تر می‌آموزند.

ساده‌ترین برهان، همین نام وبلاگ‌هاست… یک‌پزشک و یک‌فتحی از وبلاگ‌های با سابقه در وبلاگستان فارسی هستند. اما در حال حاضر، تعداد زیادی وبلاگ با پیشوند «یک» در وبلاگستان موجود است (و البته «دو» در دو برنامه‌نویس!) که بی‌شک نتیجه‌ی الگو گرفتن و تقلید از وبلاگ‌های با سابقه است.

اما اشکال این‌جاست که بیشتر کسانی که با این روش شروع به وب‌نویسی می‌کنند، حتا اگر نوشتن را دوست داشته باشند، بر اثر این تقلید، حس زودهنگام نیاز به بازدید یا Hit بالا هم، همانگونه که وبلاگ‌های باسابقه چنین چیزی دارند، در آن‌ها پدید می‌آید… چیزی که در کوتاه مدت دستیابی به آن تقریباً غیرممکن است… این حس می‌تواند موجب سرخوردگی وب‌نویسان تازه‌کار شود. شاید این موضوع به رکود در وبلاگستان نیز دامن بزند… (درباره‌ی رکود در وبلاگستان فارسی، بد نیست این دو مقاله را هم بخوانید: + و +)

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

اما مشکل به رکود ختم نمی‌شود! مشکل دیگر، کم‌شدن خلاقیت در وب‌نویسی است. بگذارید با یک مثال توضیح دهم. فرض کنید وبلاگ تازه تأسیس X، در حال الگوگیری از وبلاگ موفق Y است. خب، در این صورت ممکن است نویسنده‌ی وبلاگ X به خود جرأت ورود به حوزه‌های دیگر را ندهد و بیش‌تر به حوزه‌هایی بپردازد که Y به آن می‌پردازد. در حالی که شاید موضوعات بسیاری باشد که جای کار داشته باشد و حتا احتمال موفقیت X را بیشتر کند…

همچنین، وب‌نویس‌های جدید ممکن است دچار سردرگمی در موضوع وبلاگ خود شوند. چرا که کمی عجولانه وارد بازی شده اند…

خب، تا اینجا به جنبه‌های منفی این شیوه پرداختیم. اما باید توجه داشت که وبلاگ‌های بسیاری نیز با این روش توانسته‌اند خود را مطرح کنند…

اما بحث این‌جاست که تفاوت وبلاگ‌های موفق جدید و وبلاگ‌های ناموفق جدید در چیست؟ وبلاگ‌های موفق چه کرده‌اند که توانسته‌اند با الگو گرفتن از وبلاگ‌های با سابقه‌تر، خود را مطرح کنند و به جمع وب‌نویسان مطرح وبلاگستان فارسی بپیوندند؟ آیا وبلاگ‌های جدید می‌توانند همانند وبلاگ‌های قدیمی‌تر، پر خواننده شوند؟ در ادامه به این موضوع خواهم پرداخت…


بدون شک مهم‌ترین قانون موفقیت در وب‌نویسی تولید محتوای مفید است. محتوای مفید و ناب، چیزی است که همه، از خواننده‌ها گرفته تا گوگل و بینگ، از آن خوششان می‌آید…

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

گذاشتن کامنت در وبلاگ‌های دیگر از جمله کار‌هایی است که باید انجام شود. با این کار، وب‌نویس به تدریج در وبلاگستان مطرح می‌شود. البته باید توجه داشت که کامنت‌های بی‌محتوا مثل «ممنون جالب بود» یا چیز‌هایی از این دست، نه تنها تأثیر مثبت ندارد، بلکه می‌تواند تأثیر معکوس هم داشته باشد.

نویسندگی مهمان در وبلاگ‌های باسابقه‌تر هم کاری است که می‌تواند وبلاگ‌های جدید را به کاربران بشناساند. البته توجه کنید که باید نام و لینک وبلاگ شما در آن پست مهمان درج شود… (شما می‌توانید در «دو برنامه‌نویس» هم بنویسید. «اطلاعات بیشتر»)

در این راستا، پراب منبع فارسی خوبی برای مرور و آموختن نکات مفید برای بهبود وبلاگ‌ها است.

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

اگر شما یک وب‌نویس یا صاحب یک وبگاه هستید، بد نیست دست‌کم با راه‌اندازی یک «لینکدونی» (منظورم چیزی مانند بخش «لینک‌های خوشمزه» در فوتر «دو برنامه‌نویس» است) به وب‌نویس‌های تازه‌کار کمک کنید! (پیش‌تر درمورد چگونگی راه‌اندازی یک لینکدونی پستی نوشته بودم)


خب، دیدیم که شیوه‌ی کار وب‌نویس‌های جدید با وب‌نویس‌های گذشته تفاوت دارد و چند نکته‌ی کلیدی برای احتمال موفقیت بیشتر در وب‌نویسی را نیز بررسی کردیم.

اما نکته‌ی آخر این است که دیگران را هم به وب‌نویسی تشویق کنید. در میان دوستان و آشنایان ما، کسانی هستند که می‌توانند وب‌نویس موفقی باشند، ولی بنا به دلایلی، تا کنون اقدام به داشتن یک وبلاگ و انجام وب‌نویسی نکرده‌اند. (ممکن است از وب‌نویسی بترسند، فکر کنند وب‌نویسی کار بیهوده‌ای است یا …) سعی کنید که با تشویق ایشان و حمایت از آن‌ها، زمینه را برای پیوستن آنها به وبلاگستان فراهم کنید…

بهترین نرم‌افزار فشرده‌ساز کدام است؟!

فشرده‌سازها از نرم‌افزار‌های پر کاربرد در زندگی روزمره هستند. از این رو تقریباً هر کسی، دست‌کم یک نرم‌افزار فشرده‌ساز روی کامپیوتر خود دارد. در میان نرم‌افزار‌های مطرح فشرده‌سازی، نرم‌افزاری هست که نه تنها رایگان و متن باز‌ است، بلکه کارایی بهتری هم نسبت به سایر نرم‌افزار‌ها دارد… (قبلاً در نوشته‌ای جایگزین‌های ویندوز را هم بررسی کرده‌ایم)

نرم‌افزار 7zip، نرم‌افزاری رایگان و متن‌باز است که برتری‌هایی نسبت به سایر نرم‌افزار‌ها، از جمله WinRAR دارد!

با سون‌زیپ، می‌توانید فایل‌های فشرده با فرمت‌های 7z, XZ, BZIP2, GZIP, TAR, ZIP و WIM ایجاد کنید! همچنین در استخراج فایل‌ها، سون‌زیپ از بیش از ۲۰ فرمت دیگر هم پشتیبانی می‌کند!

فشرده‌سازی فرمت 7z در بسیاری از موارد از ZIP، RAR و سایر فرمت‌ها برتر است. در جدول زیر، مقایسه‌ی فشرده سازی دو دسته از فایل‌ها را با چند نرم‌افزار مطرح فشرده‌سازی مشاهده می‌کنید:

سرعت فشرده سازی و استخراج 7z، به خصوص در تعداد فایل زیاد، تفاوت قابل توجهی با دیگر برنامه‌ها از جمله WinRAR دارد…

سون‌زیپ برای راحتی کار، در منوی راست‌کلیک، گزینه‌هایی را می‌افزاید تا استخراج و ساخت فایل‌های فشرده در کم‌ترین زمان ممکن انجام شود.

قابلیت رمزگذاری فایل‌های فشرده و ساخت Self Extracting Archive هم برای فرمت 7z در این نرم‌افزار موجود است.

می‌توانید فهرست کاملی از ویژگی‌های این نرم‌افزار را در وبگاه آن بخوانید. لینک‌های دانلود نرم‌افزار هم در اینجا موجود است.

با توجه به حجم کم این نرم‌افزار، به نظرم امتحان کردن آن هیچ ضرری ندارد… من پس از آشنایی با سون‌زیپ، بیشتر اوقات از آن برای فشرده‌سازی و استخراج فایل‌های فشرده استفاده می‌کنم!

شما چه نرم‌افزار فشرده‌سازی‌ای را ترجیح می‌دهید؟ آیا نرم‌افزار بهتری برای این‌کار می‌شناسید؟ آیا سون‌زیپ نیاز‌های شما را برآورده نمی‌کند؟ پاسخ این پرسش‌ها را در بخش دیدگاه‌ها با ما در میان بگذارید!

پی‌نوشت: در مورد معایب استفاده از کرک‌ها هم پیش‌تر چیزی نوشته بودم.

در چند دقیقه هاست رایگان مورد نیاز خود را پیدا کنید!

شاید برای شما هم پیش آمده باشد که به دنبال هاست رایگان باشید، اما به این راحتی‌ها نتوانید هاست مناسبی پیدا کنید.

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

وبگاه Free Webhosts از برترین و کامل‏ترین دایرکتوری‏های مرجع هاستینگ‏های رایگان است که نزدیک 200 سرویس هاستینگ را به همراه اطلاعات کامل از جمله امکانات، میزان تبلیغات در سایت، بررسی و رتبه‏بندی این سرویس‏ها در بر دارد.

همچنین به روز بودن سرویس Free Webhosts، از ویژگی‏های مهم آن است. با توجه به این ویژگی، شما می‏توانید با دقت بالایی احتمال دهید که بهترین هاستینگ رایگان مورد نیاز خود را به راحتی یافته‏اید.

در سمت راست این وبگاه، می‌توانید دسته‌بندی بر اساس ویژگی‌های گوناگون را مشاهده کنید. اما از آن مهم‌تر، صفحه‌ی جست‌و‌جو است که از طریق آن می‌توانید ویژگی‌های مورد نیاز خود را انتخاب کنید و به راحتی هر چه تمام‌تر، مناسب‌ترین سرویس هاستینگ رایگان را بیابید!

برای نمونه، جست‌و‌جوی من برای هاستی که تبلیغ نداشته باشد و از ASP/ASP.NET پشتیبانی کند، تنها چهار نتیجه را در بر داشت:

البته دلیل این امر، کم بودن سرویس‌هایی است که از ASP و ASP.NET پشتیبانی می‌کنند. برای اثبات این امر، می‌توانید تعداد سرویس‌های رایگان که از PHP پشتیبانی کنند و تبلیغ نداشته باشند را مشاهده کنید! جست‌و‌جوی من برای سرویس‌های هاستینگ رایگان که از PHP پشتیبانی کنند و تبلیغ نداشته باشند، ۶۷ نتیجه در بر داشت!

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

با کلیک بر روی نام هر یک از این سرویس‌های هاستینگ رایگان، اطلاعات بیشتری در مورد آن، به همراه رتبه بندی سایت و رتبه بندی کاربران نمایش داده می‌شود. توجه کنید که برخی از هاستینگ‌ها محدودیت‌هایی دارند که در صفحه‌ی اطلاعات بیشتر نوشته می‌شود. (مثلاً محدودیت بیشینه‌ی حجم فایل، یا لزوم فعالیت در فروم آن سرویس)

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

پی‌نوشت: سرویس‌های هاستینگ ایرانی خوبی هم هستند که ممکن است در دایرکتوری معرفی شده حضور نداشته باشند. جست‌و‌جویی به دنبال آن‌ها هم شاید بد نباشد!

ابزار جالب نسخه‌های جدید فایرفاکس برای توسعه‌دهندگان وب

از مدتها پیش، از زمانی که اجرا‌ی فایرفاکس در سیستم‌ من با مشکل مواجه می‌شد؛ مثلا گاه و بی‌گاه کرش می‌کرد تا الان سراغ فایرفاکس نیامده بودم. شاید نسخه‌های ۹ و ۱۱ را برای تست روی سیستم نصب کرده باشم ولی مرورگر پیش‌فرض من کروم بوده و هنوز هم هست! اما امروز که برای تست یک افزونه به فایرفاکس رجوع کردم و گش‌وگذار کوچکی در آن می‌زدم متوجه دکمه‌ای جالب در بخش Inspect Element این مرورگر شدم: 3D View!  برای تست آن دو برنامه‌نویس را باز کردم و این دکمه را زدم، نتایج را خودتان ببینید:

و این یکی هم جالب است:

 

و نمونه‌های دیگر رو هم میتونید اینجا ببینید. این ابزار جز زیبایی می‌تواند کاربردهایی هم داشته باشد. مثلا ساختار چندلایه دکمه‌های +۱ و اشتراک گذاری حرف‌‌های زیادی برای گفتن دارند…

 

اوایل این نوشته رو سعی کردم با فایرفاکس بنویسم ولی به نظرم رسید(حداقل توی سیستم من) سرعت‌ش هنوز به پای کروم نمی‌رسه. یکی از بد‌ترین کندی‌هاش هم وقتی بود که می‌خواستید یه حرفی رو که تایپ کردید رو حذف کنید. البته تنها مشکل سیستم من هم سرعت کم هاردم هست. یعنی پردازشگر i7 چهار هسته‌ای و ۴ گیگ رم، حریف سرعت کم هارد ۵۴۰۰ دور در دقیقه نشدند :(

به نظر شما این امکان نمایش سه بعدی چه کاربردی دارد؟ آیا شما امکانات جالب دیگری در مرورگر فایرفاکس می‌شناسید؟ دیدگاه‌های خود را در دو برنامه‌نویس بیان کنید…