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

هر روزه آدم‌ها بیشتری جذب دنیای فناوری‌ اطلاعات (یا همان آی‌تی) می‌شوند. آدم‌هایی که اکثرا به فکر استفاده از امکانات آن هستند و نه به فکر تولید امکانات. بعضی مواقع هم آدم‌هایی پیدا می‌شوند که می‌توانند ابزار تولید کنند. ابزار‌هایی که می‌تواند بهینه و به‌صرفه باشد و شاید هم ابزارهایی برای تخریب. این آدم ها برنامه‌نویس نام گرفته‌اند و ابزار تولیدشان هم زبان‌های برنامه‌نویسی است. از زمانی که زبان‌های برنامه‌نویسی معدود و جان‌فرسا بودند مدت‌ها گذشته‌است و در زمان حال، زبان‌های برنامه‌نویسی مختلفی برای استفاده‌های مختلف موجود است. زبان‌های آموزشی مثل پاسکال و یا زبان همه‌کاره‌ای مثل 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 چهار هسته‌ای و ۴ گیگ رم، حریف سرعت کم هارد ۵۴۰۰ دور در دقیقه نشدند :(

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

روز مردگان!

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

این جشن در سه روز (یکم تا سوم نوامبر) انجام می‌پذیرد و در هر روز، مردم رسم‌های خاص آن روز را انجام می‌دهند. این رسم‌ها بسیار جالب توجه است:

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

روز دوم مربوط به کسانی است که در تصادفات یا ماجرای جنایی به قتل رسیده‌اند،

در روز سوم نیز دیگر مردگان می‌آیند. در این روز گورستان‌های مکزیک پر از جمعیت می شود…

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

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

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

در پایان هم، دو عکس زیر را ببینید بد نیست! اولی از محبوب‌ترین شخصیت‌های عروسکی این جشن است، دومی هم رسیدگی مردم در گورستان‌ها را نشان می‌دهد…

پی‌نوشت: مثل این‌که در جایی از ایران هم رسم مشابهی داریم! این نوشته را هم بخوانید بد نیست!

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

Collusion

در وب چه کسانی رفتار آنلاین شما را زیر نظر دارند؟!

احتمالاً شما هم می‏‏ دانید که ثبت اطلاعات شخصی و ردیابی رفتار آنلاین کاربران برای بسیاری از شرکت ها از نان شب هم واجب تر است و بسیار پیشCollusion آمده که شرکت های اینترنتی به خاطر افراط در این کار، دچار رسوایی شوند. امّا چیری که احتمالاً نمی دانید، شمار زیاد سایت هایی است که به ردیابی و ثبت اطلاعات شخصی شما به شکل مستقیم و غیرمستقیم می پردارند و بدون اطلاع شما، رفتار آنلاینتان را بررسی می کنند.

 

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

با دریافت و اجرای این افزونه در فایرفاکس، محیطی مانند شکل زیر را مشاهده خواهید کرد:

Collusion

به تدریج که به وبگردی و مشاهده سایت ها و وبلاگ های گوناگون می پردازید، گرافی در این صفحه رسم می شود. در فیلم معرفی این افزونه، نشان داده می شود که چگونه در یک روز عادی، این گراف دارای بیش از 100 رأس می شود! در این گراف، رئوس آبی سایت هایی را نشان می دهند که از آن ها بازدید کرده اید و رئوس خاکستری سایت هایی را نشان می دهند که شما را ردیابی می کنند، ولی شما از آن ها بازدید نکرده اید. برای به دست آوردن اطلاعات بیشتر در مورد یک سایت می توانید روی رأس مربوط به آن کلیک کنید. برای مثال، هنگامی که پس از نصب این افزونه از 2برنامه نویس بازدید می کنید، این گراف به این شکل در می آید:

Collusion

 

برای آشنایی بیشتر، می توانید فیلم معرفی این افزونه توسط گری کُواکس (مدیرعامل موزیلا) را تماشا یا دریافت کنید:

تماشا در تد

دریافت فیلم (سرور تد)

 

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

هوای تازه…

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

نمی‌دانم در آن بیرون، خورشید چقدر می‌درخشد…

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

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

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

شما می‌گید چه کنم؟