بایگانی دسته: فناوری

مباحث آی‌تی ما!

به اضافه شدن کارکتر نیم‌فاصله در نتایج جست‌وجوی گوگل کمک کنید!

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

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

پیشاپیش از همکاری‌تان متشکرم!

در گوگل کروم، صفحه‌ها را نرم بپیمایید!

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

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

فعال‌سازی آن نیز تنها چند گام ساده و یکی دو دقیقه وقت می‌طلبد!

برای شروع، گوگل کروم را باز کنید.

در Address Bar، عبارت زیر را وارد کنید:

chrome://flags

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

در پایین این صفحه، دکمه‌ای به نام Relaunch Now ظاهر می‌شود، روی آن کلیک کنید.

مرورگر بسته و دوباره باز می‌شود، اما این بار با پیمایش نرم صفحه‌های وب!

* این قابلیت در نسخه‌های ویندوز، لینوکس و کروم‌او‌اس قابل استفاده است.

* اگر این گزینه را در صفحه‌ی chrome://flags نیافتید، احتمالاً نسخه‌ی گوگل کروم شما قدیمی است. برای استفاده از این قابلیت (و البته مزایای دیگری مثل امنیت) باید مرورگر خود را به روز رسانی کنید.

(من در زمان نگارش این نوشته، از گوگل کروم ۲۳ بر روی ویندوز استفاده می‌کنم، این نسخه قابلیت Smooth Scrolling را دارا می‌باشد)

دست‌رسی آسان‌تر به Google Translate با افزونه‌ی GTranslate گوگل کروم

اگر شما هم مثل من اهل وب‌گردی در وبگاه‌های خارجی به هر دلیلی مثلا خواندن مقالات خارجی یا سایت‌های پرسش‌وپاسخ (مثل StackOverFlow) باشید خیلی برایتان پیش می‌آید که نیاز به یافتن ترجمه‌ی واژه‌ی ناآشنایی داشته باشید و من به شخصه سرویس Google Translate را ترجیح می‌دهم.

چند روز پیش درحال خواندن مقاله‌ای بودم که کلمات ناآشنای زیادی داشت و من مجبور بودم که همین‌طور پشت‌سر‌هم ترجمه‌ی کلمات مختلف را بیابم و این ایده به ذهنم رسید که را انتخاب‌کردن و راست‌کلیک کردن روی کلمه‌ی مورد نظر بتوان وارد Google Translate شد و ترجمه‌ی کلمه را مشاهده کرد.

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

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

و نتیجه‌ی نهایی افزونه‌ی در کروم‌استور است که در حال حاضر نسخه‌ی ۱.۰.۰.۵ آن منتشر شده‌است و به‌زودی به نسخه‌ی ۱.۰.۱ به‌روزرسانی می‌شود.

حالا که افزونه را معرفی کردم بد نیست توضیح کوچکی هم بدهم (البته همه‌چیز واضح است!):

پس از نصب افزونه باید به بخش تنظیمات افزونه بروید و زبان پیش‌فرض برای ترجمه را در آن‌جا انتخاب کنید.

و در هر جایی که نیاز به ترجمه داشتید فقط کلمه یا متن موردنظر را انتخاب کنید و روی آن راست‌کلیک کنید و Translate را بزنید تا وارد صفحه‌ی Google Translate شوید.

پی‌نوشت: در نسخه‌ی ۱.۰.۱ امکان ترجمه‌ی وب‌سایت اضافه می‌شود و سعی می‌کنم طراحی صفحه‌ی تنظیمات را بهتر کنم.

پی‌نوشت ۲: اگر انتقاد، پیشنهاد، ایده‌ای برای این افزونه دارید و اگر خدای نکرده باگی مشاهده کردید در همین نوشته در دیدگاهی آن را بیان کنید. متشکرم!

پی‌نوشت۳: اگر ایده‌ای برای افزونه‌ای دارید می‌توانید با من در میان بگذارید. ایمیل من ahmadallishafiee در جی‌میل، یاهو و لایو.

اپلیکیشن‌های ویندوز ۸: تازه نفس،‌ پیش به سوی نقاشی!

شمار اپلیکیشن‌های ویندوز ۸ روز به روز افزایش می‌یابد، تا جایی که می‌دانیم هر روز حدود ۵۰۰ اپلیکیشن جدید به این گنجینه افزوده می‌شود، و تعداد کل اپلیکیشن‌های ویندوز ۸ از مرز ۲۰ هزار گذر کرده است. مسلماً آزمودن همه‌ی این اپلیکیشن‌ها برای ما میسر نیست، البته همه‌ی این اپلیکیشن‌ها هم لزوماً برای ما کاربردی نیستند…

از این رو، قصد دارم هر هفته در «دو برنامه‌نویس»، یکی از اپلیکیشن‌های برتر و جالب توجه را به شما معرفی کنم.

برای هفته‌ی نخست، اپلیکیشنی را برگزیده‌ام که تجربه‌ی جدیدی از نقاشی در کامپیوتر (یا شاید تبلت) برای شما به ارمغان می‌آورد: Fresh Paint.

برای نصب این برنامه، کافیست وارد Windows Store شده، و بعد نام Fresh Paint را جستجو کنید:

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

و پس از کلیک روی نام آن، در صفحه‌ای که باز می‌شود، روی Install کلیک کنید.

***

پس از باز کردن برنامه، با صفحه‌ای مشابه این مواجه می‌شوید:

همانطور که پیداست، برنامه امکانات بسیار جالبی در مورد نقاشی در اختیارتان قرار می‌دهد. می‌توانید از میان ۴ قلم‌مو، ۲ پاستل یا یک مداد، یکی را انتخاب کنید؛ اگر قلم‌مویی را برگزینید، می‌توانید روی پالت رنگ‌ها را با هم مخلوط کنید و رنگ جدیدی بسازید، یا این‌که با فشردن دکمه‌ی رنگارنگی که روی پالت هست، پالت را بچرخانید و رنگ مورد نظر خود را از طیف رنگ برگزینید.

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

همچنین تعدادی بسته‌ی طراحی موجود است، که در لحظه‌ی نگارش این نوشته، به جز بسته‌ی Fun Pack همگی پولی و قابل خرید هستند.

 

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

پی‌نوشت: اگر در دسترسی به ویندوز استور مشکلی سر راه شماست، این دو نوشته را بخوانید: + و +

پی‌نوشت ۲: اگر برنامه‌ی جالبی برای ویندوز ۸ می‌شناسید، می‌توانید آن را به من معرفی کنید، یا خودتان درباره‌اش بنویسید!

آموزش برنامه‌نویسی – بخش صفرم: برنامه‌نویسی چیست!


سری جدیدی از آموزش‌های برنامه‌نویسی آغاز شده است. این سری منقضی شده است. پیشنهاد می‌کنیم این سری را ادامه ندهید!


بنابر وعده‌ای که داده بودیم آموزش برنامه‌نویسی را آغاز می‌کنیم. دوست دارم در ابتدا در مورد برنامه‌نویسی و زبان‌های برنامه‌نویسی و نکاتی این‌چنینی توضیح دهم و سپس وارد بخش فنی کار شوم.

 کارت‌پانچ از اولین ابزارهایی بوده که دانشمندان به وسیله‌ی آن با پردازنده ارتباط برقرار می‌کردند. با توجه به این‌که راحت‌ترین واحد ارتباط با یک مدار الکترونیکی قطع یا وصل کردن جریان است مبنای شمارش و دستورات در پردازنده هم بر پایه ۰ (قطع‌بودن جریان) و ۱ (وصل‌بودن جریان) تعریف شده است و تا امروز هم مبنای شمارش در کامپیوتر بیت (۰ یا ۱) است و به همین ترتیب واحد‌های بایت (۸ بیت) کیلوبایت(۱۰۲۴ بایت در مبنای ویندوز و ۱۰۰۰ بایت در مبنای لینکوس) و … تعریف می‌شود.

 کارت‌پانچ نیز برای ارتباط با پردازنده از وجود سوراخ در مکان‌های مشخص استفاده می‌کند و وجود آن ۱ و وجود‌نداشتن آن ۰ را معنی می‌دهد. هر پردازنده می‌تواند تعداد دستورات مشخصی (که معمولا توان ۲ هستند) را انجام دهد و اجتماع این دستورات می‌تواند نتیجه‌ی مخصوصی داشته باشد. اما برای یک هدف مشخص تعداد زیادی از این دستورات لازم است و به همین دلیل استفاده از کارت‌پانچ کار سختی بوده و درصد خطا را به شدت افزایش می‌داده.

 

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

 مثلا پردازشگرهای عادی قابلیت پردازش مستقیم ۲۵۶ دستور را دارند که البته جز در حالت بیتی (یا همان صفر و یکی) می‌توان از دستورات نوشتاری مثل ADD نیز برای برنامه‌نویسی اسمبلی استفاده کرد ولی در هر حال ریسک بالایی دارد چون دستورات اسمبلی مستقیما در پردازشگر پردازش می‌شوند و قدرت تخریب صد درصد هریک از منابع سیستم را نیز دارا می‌باشند.‌

 پردازنده‌ها فقط توانایی پردازش داده‌ها به‌صورت ۰ و ۱ را دارند و در واقع هریک از دستورات متنی اسمبلی هم به کد ۸ بیتی متناظر خود تبدیل و در نهایت ذخیره‌ می‌شود تا در زمان لازم اجرا شود و به همین دلیل است که در زبان اسمبلی تنها ۲۵۶ (۲۸) دستور داریم و مسلما نوشتن یک نرم‌افزار فقط به زبان اسمبلی تقریبا غیرممکن است و سرمایه بسیار عظیم و دقت بسیار زیادی نیاز دارد! و به همین دلیل زبان‌های برنامه‌نویسی متولّد شدند.

 پردازشگر نمی‌تواند مستقیما کدهایی را که به زبان یکی از زبان‌های برنامه‌نویسی است را پردازش کند (در بالا توضیح دادم که کدهای متنی اسمبلی هم به ۰ و ۱ تبدیل می‌شوند و مستقیما به صورت متنی در فایل‌های اجرایی ذخیره نمی‌شوند بعلاوه ساختار نوشتاری کدهای برنامه‌نویسی به زبان‌های غیر اسمبلی به زبان معمول ما نزدیک‌تر است و تعداد دستورات بیش‌تری دارند) به همین دلیل نیاز به برنامه‌ای داریم که کدهای نوشته‌شده را به ۰ و ۱ تبدیل و ذخیره کند تا قابل اجرا شدن باشند. به این نرم‌افزار کامپایلر (Compiler) گفته می‌شود و کدهای نوشته‌شده کامپایل (Compile) می‌شوند.

 البته یک‌سری از کدهایی که به برخی از زبان‌ها مانند JavaScript ، PHP، Flash(البته زبان برنامه‌نویسی فلش ActionScript است و در نسخه‌های جدیدتر فلش کامپایل می‌شوند) و … به‌جای کامپایل، تفسیر (Interpret) می‌شوند. به این معنی که به جای این‌که مستقیما به فایل‌های بیتی (صفر و یکی) تبدیل شوند، در قالب نرم‌افزاری دیگر اجرا می‌شوند. به این‌ نرم‌افزارها تفسیرگر (Interpreter) گفته می‌شود. و اجراشدن این کدها به این صورت است که برنامه‌ی اجرا کننده آن‌ها را خط‌به‌خط می‌خواند و اجرا می‌کند و به همین دلیل هم اجرا شدن آن‌ها کندتر از برنامه‌هایی است که کامپایل می‌شوند. (به همین دلیل هم PHP و ASPکلاسیک کندتر از ASP.Net هستند – این‌ها موضوعاتی است که در آینده به آن‌ها خواهیم پرداخت)

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

زبانی‌که تفسیر می‌شود زبانی است که نرم‌افزار به‌صورت «غیر مستقیم» توسط تفسیرگر اجرا می‌شود («تفسیر» می‌شود) این زبان با زبانی که کامپایل می‌شود در تضاد است چون زبانی که کامپایل می‌شود ابتدا به کدماشین (کد اسمبلی) تبدیل می‌شود و سپس در پردازشگر میزبان اجرا می‌شود.

از لحاظ تئوری هر زبانی هم می‌تواند زبانی باشد که کامپایل می‌شود و هم زبانی که تفسیر می‌شود بنابراین این‌که زبانی کامپایل می‌شود یا تفسیر صرفا با استفاده‌ی معمول‌ای که از یک زبان می‌شود تأیین می‌شود و نه هویت آن زبان.  در واقع از نظر عملکرد تفاوت‌هایی در تفسیرشدن یا کامپایل‌شدن یک زبان خاص از نظر روش و کارایی وجود دارد.

زبان‌های زیادی توسط کامپایلر‌ها و تفسیرگرها اجرا شده‌اند. مثل بیسیک، سی، Lisp، پاسکال و پایتون در حالی که جاوا به شکلی تبدیل می‌شود که در نظر گرفته‌شده تا تفسیر شود. اغلب کامپایل در لحظه (Just-In-Time compilation یا JIT) برای تولید کد ماشین (یا همان کد اسمبلی) استفاده می‌شود. زبان‌های برنامه‌نویسی دات‌نت‌فریم‌ورک مایکروسافت همیشه به زبان سطح میانی (Common Intermediate Language، IL یا CIL) کامپایل می شوند و سپس این کدها در زمان اجرا، در لحظه کامپایل می‌شوند.

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

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

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

دور دوم مسابقات برنامه‌نویسی بیان

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

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

این مسابقات به صورت‌ برخط در مرحله‌ی اول و دوم و به صورت حضوری در مرحله‌ی سوم صورت می‌گیرد. برخط بودن مسابقات به جذب بیش‌تر برنامه‌نویسان سراسر کشور کمک می‌کند. برای اطلاع بیش‌تر و ثبت‌نام می‌توانید به contest.bayan.ir مراجعه کنید. اگر سال قبل در این مسابقات شرکت نکرده‌اید بهتر است این نوشته را مطالعه کنید. برای اطلاعات بیش‌تر می‌توانید به این صفحه مراجعه کنید.

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

مایکروسافت: کیفیت نمایشگر سرفیس از آی‌پد بهتر است!

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

همانطور که احتمالاً می‌دانید، Surface for Windows RT دارای رزولوشن ۱۳۶۶ در ۷۶۸ پیکسل می‌باشد. در حالی که New iPad، که از بزرگ‌ترین رقبای سرفیس است، دارای رزولوشن ۲۰۴۸ در ۱۵۳۶ پیکسل می‌باشد.

اما «استیون بسیک»، مدیر تحقیقاتی گروه Applied Sciences مایکروسافت، می‌گوید که کیفیت صفحه‌ی نمایش سرفیس بهتر از آی‌پد است. او می‌گوید:

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

میزان بازتاب نور در سرفیس بین ۵.۵ تا ۶.۲ درصد می‌باشد. اما آی‌پد ۹.۹ درصد نور را بازتاب می‌کند.

آقای بسیک می‌گوید:

ما در یک اتاق روشن، آی‌پد و سرفیس را آزمایش کردیم، و بسیاری از مردم جزئیات بیشتری را در Surface RT نسبت به iPad مشاهده می‌کردند.

اما یکی از افراد حاضر، پرسش جالبی را مطرح کرد: «اگر این طور است، پس چرا مایکروسافت برای Surface Pro رزولوشن بالاتری در نظر گرفته است؟»

آقای بسیک ظاهراً با شنیدن این پرسش کمی دستپاچه شده است. او پاسخ می‌دهد: «شاید مایکروسافت به عمر باتری تا این حد دقت نکرده است.» سپس می‌افزاید: «از آنجایی که سرفیس پرو برای کار حرفه‌ای ساخته شده است، این فضای اضافه ممکن است برای پرزنتیشن‌ها مورد استفاده قرار گیرد.»

***

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

منبع

آزاد شدن دسترسی به سرویس جیمیل

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

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

امیدواریم جرکات خودجوش بعدی باعث به انحراف کشیده‌شدن افراد دیگری نشود!

نگاهی به وبگاه picresize.com، وبگاهی برای ویرایش غیرحرفه‌ای عکس‌های شما!

برای ما زیاد پیش می‌آید که نیاز به ویرایش عکس در حد محدود مثلا جداکردن بخش‌هایی از آن یا تغییرسایز داشته‌باشیم. مخصوصا برای وب‌نویسان که قراردادن تصویر برای آن‌ها یکی از شیوه‌های جذب بیش‌تر کاربران است (البته هر چیزی اعتدال‌ش خوب است!). تعدادی از کاربران از نرم‌افزارهای پیش‌رفته (مثل فتوشاپ) و یا نه‌چندان پیش‌رفته (مثل Microsoft Office Picture Manager) استفاده می‌کنند. البته این نرم‌افزارها رایگان نیستند و متاسفانه کاربران ایرانی از نسخه‌های تقلبی این نرم‌افزارها استفاده می‌کنند درصورتی که جایگزین‌های سبک‌تر و رایگان نیز برای این نرم‌افزارها وجود دارد.

امروز می‌خواهم به شما وبگاه PicResize را معرفی کنم که ابزار رایگان و مناسبی برای ویرایش غیرحرفه‌ای عکس‌ها است. ویرایش عکس  در این وبگاه چند مرحله دارد که با جزئیات آن را به شما نشان می‌دهم:

مرحله‌ی اول: انتخاب عکس.

برای انتخاب عکس شما دو انتخاب در اختیار دارید؛ می‌توانید عکس را از کامپیوتر خودتان آپلود کنید یا لینک مستقیم عکسی را به سیستم بدهید. پس از انتخاب عکس روی Countinue کلیک کنید تا به مرحله‌ی بعد هدایت شوید.

مرحله‌ی دوم: ویرایش عکس

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

ابزار اول: جداسازی و چرخاندن بخشی از عکس.

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

ابزار دوم: تغییر اندازه‌ی عکس.

با کمک این ابزار می‌توانید اندازه‌ی عکس را به کمک انتخاب‌های پیش‌فرض تغییر دهید یا با انتخاب گزینه‌ی Custom Size اندازه‌ای که مورد نظرتان است را دستی وارد کنید.

ابزار سوم: افکت‌گذاری روی تصویر.

این ابزار که کمی پیش‌رفته‌تر است امکان افکت‌گذاری روی تصویر را به شما می‌دهد. برای این‌که تاثیر هر افکت را مشاهده کنید ابتدا موس خود را روی گزینه‌ی None نگه‌دارید تا تصویر پیش‌فرض ظاهر شود سپس موس را روی هر افکت دیگر نگه‌دارید تا تاثیر آن افکت را متوجه شوید.

ابزار چهارم: انتخاب فرمت ذخیره‌سازی عکس.

در نهایت شما می‌توانید فرمت ذخیره‌سازی عکس را از بین فرمت‌های JPG، PNG، GIF و BMP انتخاب نمایید.

و پس از آن روی دکمه‌ی I’m Done, Resize My Picture! کلیک کنید تا به مرحله‌ی نهایی وارد شوید.

مرحله‌ی نهایی: چه بر سر فایل نهایی می‌آورید!

این مرحله مرحله‌ی نهایی است و به شما امکان دیدن عکس ویرایش‌شده، ادامه‌دادن ویرایش عکس، دانلود عکس و اشتراک‌گذاری آن را می‌دهد!

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

کره زمین

کاربرانتان را بیابید – قسمت نخست: تشخیص موقعیت جغرافیایی به کمک HTML 5

هم زمان با توسعه استاندارد HTML 5، گوشی های هوشمند و تبلت مدرن نیز در حال گسترش هستند. یکی از ویژگی های این گجت ها این است که تقریباً تمامی آن ها مجهز به GPS (و در برخی موارد GLONASS) جهت یافتن مکان دستگاه، و کاربر، هستند. به همین دلیل، یکی از کاربردی ترین ویژگی هایی که در HTML 5 معرفی شده، تشخیص موقعیت جغرافیایی است که کاربرد آن را می توان در سایت هایی مانند Google Maps و Foursquare دید. در این مقاله روش یافتن موقعیت جغرافیایی کاربر به کمک HTML 5 مورد بررسی قرار می گیرد.لوگوی HTML 5

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

برای دستیابی به موقعیت کاربر در جاوااسکریپت از شئ navigator.geolocation استفاده می شود. برای اطمینان از این که مرورگر کاربر از Geolocation پشتیبانی می کند، می توانید کد زیر را به کار ببرید:

 

if (navigator.geolocation)
{
 //دریافت مختصات کاربر
}
else
{
 alert ("مرورگر شما از مختصات جغرافیایی پشتیبانی نمی کند. لطفاً مرورگر را به روز نمایید.");
}

فهرستی از مرورگرهایی که از geolocation پشتیبانی می کنند را می توانید در اینجا بیابید. به طور کلی، بیشتر مرورگرهای جدید از این ویژگی پشتیبانی  می کنند.

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

function showGeolocation (position)
{
   // position.coords.latitude = عرض جغرافیایی کاربر
   // position.coords.longitude = طول جغرافیایی کاربر
   alert (position.coords.latitude + ", " + position.coords.longitude);
}

if (navigator.geolocation)
{
   navigator.geolocation.getCurrentPosition(showGeolocation);
}
else
{
   alert ("مرورگر شما از مختصات جغرافیایی پشتیبانی نمی کند. لطفاً مرورگر را به روز نمایید.");
}

برای آزمایش این ویژگی در مرورگر خودتان می توانید روی این دکمه کلیک نمایید:

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

کره زمین

مسئله دیگری که وجود دارد، این است که با وجود گسترش تبلت ها، گوشی های هوشمند و دیگر دستگاه های مجهز به GPS، هنوز هم دستگاه های بسیاری (مانند رایانه های شخصی و لپتاپ ها) هستند که می توانند از سایت شما بازدید کنند، در حالی که GPS ندارند. در این گونه مواقع، با استفاده از موارد مانند IP و گاهی شبکه های Wifi، رایانه موقعیت جغرافیایی اش را تخمین می زند، ولی خطای این روش بسیار بالا است (در حدّ چندین کیلومتر). در این مواقع، با استفاده از این روش می توانید شهری که کاربر در آن قرار دارد را بیابید. (البته ممکن است در مورد شهرهای کوچک و روستاها، به دلیل خطای بالا، نتیجه حتی در این حد نیز قابل اعتماد نباشد!)

احتمالاً برای شما این پرسش پیش آمده است که داشتن طول و عرض جغرافیایی کاربر به شکل 2 عدد خام چه کاربردی می تواند داشته باشد. پاسخ این است که با کمک APIهای موجود شما می توانید نام محل کنونی کاربر (مثل تهران – خیابان کارگر شمالی) را بیابید، محل کاربر را روی نقشه علامت بزنید و …   در این زمینه منتظر مقالات بعدی این سری باشید.

شما چه کاربردی را برای مختصات جغرافیایی کاربر پیشنهاد می دهید؟