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

آموزش های نوین ترفند های و رازهای مخفی ویندوز و اندروید

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

آموزش های نوین ترفند های و رازهای مخفی ویندوز و اندروید

متخصص اندروید شوید

ماشین مجازی Dalvik چیست ؟ نرم افزار Dalvik یک ماشین پردازش مجازی در سیستم عامل اندروید می باشد. نرم افزاری است که برنامه های اندروید را روی گوشی اندرویدی اجرا می کند. Dalvik یک بخش جدای ناپذیر از اندروید است که معمولا در گوشی های موبایل یا تبلت ها مورد استفاده قرار می گیرد. برنامه ها معمولا به صورت جاوا نوشته می شوند و به بایت کد کامپایل می شوند. سپس آن ها از فایل های .class سازگار با ماشین مجازی جاوا به فایل های .dex سازگار با dalvik قبل از نصب روی گوشی تبدیل می شوند. فرمت قابل اجرای dalvik طراحی شده است تا برای سیستم هایی که محدودیت پردازش و رم دارند، مناسب باشند. dalvik یک نرم افزار متن باز می باشد. این برنامه توسط Dan Bornstein نوشته شده است. او این نام را از یک روستای ماهیگیری با همین نام در ایسلند گرفته است. معماری برخلاف Java VM ، که ماشین های توده ای هستند، Dalvik VM دارای یک معماری براساس ثبت است. ابزاری به اسم dx برای تبدیل بعضی از فایل های Java .class به .dex استفاده می شود. کلاس های چندگانه در یک فایل .dex ذخیره می شوند. بایت کد های جاوا نیز به یک دستورکار جایگزینی که توسط dalvik استفاده می شود، تبدیل می شوند. یک فایل غیر فشرده .dex معمولا چند درصد از یک فایل فشرده جاوا کم حجم تر است. فایل های قابل اجرای dalvik ممکن است دوباره بعد از نصب روی گوشی اصلاح شوند. برای دستیابی به بهینه سازی بهتر، ممکن است ترتیب بایت ها در بعضی دیتاها جابه جا شود، ساختار داده ها و کتابخانه های توابع به صورت خطی در ارتباط قرار بگیرند. همان طور که می دانید در اندروید 2.2، dalvik یک کامپایلر لحظه ای دارد. علاوه بر بهینه بودن برای احتیاج به رم کم، dalvik تعدادی مشخصه های ویژه ای دارد که آن را از سایر ماشین های مجازی دیگر متفاوت می کند: VM محدود شده است که از فضای کمتری استفاده کند. constant pool اصلاح شده است تا تنها از شاخص های 32-bit برای ساده سازی ترجمه استفاده کند. ماشین مجازی استاندارد جاوا تنها دستورات توده ای 8-bit را اجرا می کند. متغییرهای محلی باید با دستورات مجزا انتقال یابند. در عوض dalvik دستورکار 16-bit مخصوص خود را دارد که مستقیما روی متغییرهای محلی کار می کند. کارایی عموما ماشین های توده ای باید از دستورات کار برای بارگذاری دیتا احتیاج دارند که در نتیجه در مقایسه با ماشین های براساس ثبت به دستورات بیشتری نیاز دارند. اما دستورات در یک ماشین براساس ثبت باید منبع و مقصد ثبت را کدگذاری کنند که باعث بزرگتر شدن آن ها می شود. این تفاوت ها برای مترجم ها بسیار مهم است. اما نتایج بنچمارک های جاوا غیرگرافیکی اوراکل نشان داد که اندروید 2.2 عموما 2 تا 3 برابر کندتر از سیستم های Java SE می باشد. ماشین مجازی dalvik چگونه کار می کند؟ به عنوان بخشی از اندروید ، گوگل زمان زیادی را صرف تفکر در مورد بهینه کردن طراحی برای دستگاه ها کم قدرت کرده است. این دستگاه معمولا دچار لگ هستند. علاوه براین آن ها توان محدودی برای محاسبات دارند، ممکن است مقدار رم کل یک گوشی 64 مگابایت باشد و فضای در دسترس آن برای برنامه ها تنها حدود20 مگابایت باشد. احتیاج به کارایی در یک گوشی، شدید است و درنتیجه احتیاج دارد که طراحان گوشی همه چیز را بهینه کنند و بهبود ببخشند. اگر به لیست بسته ها در اندروید نگاهی بیاندازید، می بینید که آن ها قابلیت های زیادی دارند و همچنین بسیار گسترده هستند. براساس گوگل این فایل ها می توانند حدود 10 تا 20 مگابایت فضای رم را اشغال کنند. این مشکلات باعث شد که گوگل در مورد قرار دادن JVM در بیشتر زمینه ها تجدید نظر کند. اولا ماشین مجازی dalvik فایل تولید شده جاوا را گرفته و آن ها را به یک یا چند فایل قابل اجرا توسط dalvik تبدیل می کند. آن از اطلاعات تکراری فایل های چندگانه .class مجددا استفاده می کند، به همین دلیل به طرز موثری فضای مورد نیاز را کاهش می دهد. دوما، گوگل به خوبی زباله روبی در ماشین مجازی dalvik را بهبود بخشیده است، اما در نسخه اولیه باید توسط کامپایلر JIT انتخاب به حذف می شدند. کدبیس 2 به نظر می رسد که منابع لازم برای کامپایلر JIT را دارد، اما در نسخه نهایی فعال نیست. پیش بینی شده است که در نسخه های آینده ارائه شود. شرکت می تواند این انتخاب را توجیه کند، زیرا بسیار از library های هسته اندروید، شامل lib های گرافیکی به صورت C یا C++ اجرا می شوند. متشابها، اندروید یک libraryاصلی بهینه شده براساس C را برای دسترسی به دیتابیس SQL فراهم می کند، اما این lib در یک API جاوا سطح بالا محصور شده است. در اخر، ماشین مجازی dalvik از یک تولید کد مونتاژ متفاوت استفاده می کند که از ثبت به عنوان واحد اصلی ذخیره دیتا به جای توده ای استفاده می کند. گوگل امیدوار است که از این طریق 30% میزان دسورات را کاهش دهد. باید اشاره کنیم که شما نمی توانید به صورت مستقیم بایت کدهای جاوا را اجرا کنید، شما باید با فایل .class جاوا شروع کنید و آن ها را به فایل های .odex تبدیل کنید.

رازهای سری اول

صورتت را نشان بده دستگاه‌های مجهز به سیستم‌عامل اندروید به‌طور پیشفرض از 4 روش مختلف برای قفل‌کردن دستگاه و باز‌کردن آن استفاده می‌کنند. فاقد رمز عبور، محافظت با رمز، محافظت با پین کد و محافظت با الگوی رمز این 4 حالت به‌شمار می‌رود. دوست دارید علاوه بر این چهار روش، یک روش دیگر نیز در اختیار داشته باشید؟ اگر از دستگاه‌های مجهز به اندروید 4 نسخه بستنی حصیری استفاده می‌کنید، روش پنجمی نیز در اختیار شما قرار خواهد گرفت. این روش که با عنوان Face Unlock شناخته می‌شود، به شما این امکان را می‌دهد تا با نشان دادن صورت خود به دستگاه‌تان، قفل صفحه آن را باز کنید. استفاده از این روش برای افرادی که حوصله وارد‌کردن رمز عبور یا الگوی رمز را ندارند، بسیار مناسب است؛ اما این نکته را فراموش نکنید که براحتی می‌توان عکس شما را مقابل دوربین دستگاه موردنظر گرفت و قفل آن را باز کرد! برای استفاده از این روش باید مراحل زیر را دنبال کنید: 1‌‌ـ‌ در دستگاه مجهز به سیستم‌عامل اندروید نسخه 4، به بخش Settings مراجعه کرده سپس Security را فشار دهید. 2‌‌ـ‌ روی Screen lock فشار دهید. 3‌‌ـ‌ در این مرحله حالت‌های مختلفی جهت فعال‌سازی قفل صفحه در اختیار شما قرار می‌گیرد. برای فعال‌سازی قفل تشخیص چهره باید Face Unlock را انتخاب کنید. ‌‌ـ‌ اکنون مراحل فعال‌سازی قفل تشخیص چهره آغاز شده است و در دو مرحله اول نکاتی در رابطه با میزان امنیت این روش و چگونگی قرارگرفتن مقابل دوربین و محیط مناسب برای انجام این کار به شما نمایش داده می‌شود. با انتخاب گزینه‌های Set it up و Continue این دو مرحله را طی کنید. 5‌‌ـ‌ حالا وقت آن رسیده است که دوربین دستگاه را مقابل صورتتان بگیرید و صورتتان را در نقطه‌چین‌های مشخص شده جای دهید. به محض جایگیری صحیح صورت در فضای مشخص شده، رنگ نقطه‌چین‌ها به سبز تغییر کرده و می‌توانید با انتخاب گزینه Continue مراحل کار را ادامه دهید. 6‌‌ـ‌ از آنجا که ممکن است این روش در محیط‌های تاریک بدرستی عمل نکند و در چنین شرایطی نخواهید توانست قفل صفحه را باز کنید، این امکان در اختیار شما قرار گرفته است که یک روش جایگزین نیز برای این روش حفاظتی درنظر بگیرید. در این مرحله ‌باید روش جایگزین را از میان دو حالت Pattern Pin انتخاب کنید و با تکمیل مراحل مرتبط با فعال‌سازی آنها، عملیات فعال‌سازی تشخیص چهره را به‌اتمام برسانید. 7‌‌ـ‌ دستگاه شما آماده استفاده است و می‌توانید با نشان دادن صورتتان در مقابل دوربین، قفل صفحه آن را باز کنید.

آموزش Linux

در سال ۱۹۸۳ میلادی ‏ریچارد استالمن که رئیس بنیاد نرم‌افزارهای آزاد بود پروژه گنو (GNU) را آغاز کرد. در این پروژه که یک جنبش نرم‌افزاری محسوب می‌شد برنامه‌نویسان با یکدیگر همکاری می‌کردند که این همکاری تا به حال نیز ادامه دارد. لینوکس (به انگلیسی: Linux)‏ به خانواده‌ای از سیستم‌عامل‌های شبه یونیکس اطلاق می‌شود که از هستهٔ لینوکس استفاده می‌کنند که معروف‌ترین نمونه از نرم‌افزار آزاد و متن‌باز شناخته می‌شود. دراصل تنها باید هستهٔ لینوکس را لینوکس نامید، اما به طور معمول این واژه به سیستم‌عامل‌های شبه یونیکس اطلاق می‌شود که بر مبنای هستهٔ لینوکس و کتاب‌خانه‌ها و ابزارهای پروژه گنو ساخته شده‌اند. لینوکس قابل نصب بر روی انواع سخت‌افزارهاست، از ساعت (Linux Watch)، تلفن‌های همراه، تبلت‌ها، مسیریاب‌ها، و کنسول‌های بازی گرفته تا رایانه‌های رومیزی، رایانه‌های بزرگ و ابررایانه‌ها. به مجموعه‌ای از نرم‌افزارهای بنا شده بر اجزای گفته شده توزیع لینوکس (linux distribution) می‌گویند که به طور معمول شامل ابزارهای گسترش نرم‌افزار، پایگاه‌های داده، سرویس دهنده‌های وب مثل آپاچی، محیط‌های رومیزی مانند گنوم و کی‌دی‌ای و اکس‌اف‌سی‌ای و مجموعه‌های اداری مانند اُپن آفیس هستند. در ابتدا لینوکس برای استفادهٔ ریزپردازنده‌ها با معماری ۸۰۳۸۶ اینتل طراحی شده بود؛ اما امروزه انواع گوناگون معماری‌ها را پشتیبانی می‌کند و در انواع و اقسام وسایل از کامپیوترهای شخصی گرفته تا ابررایانه‌ها و تلفن‌های همراه به کار می‌رود. این سیستم‌عامل که در ابتدا بیشتر توسط افراد مشتاق گسترش پیدا می‌کرد و به کار گرفته می‌شد، توانسته است پشتیبانی شرکت‌های سرشناسی چون آی‌بی‌ام و هیولت-پاکارد را به دست آورد و با بسیاری از نسخه‌های خصوصی یونیکس رقابت کند. طرفداران لینوکس و بسیاری از تحلیل‌گران این موفقیت را ناشی از استقلال از فروشنده، کم‌هزینه بودن پیاده‌سازی، سرعت بالا، امنیت و قابلیت اطمینان آن می‌دانند. کاربردهای سیستم‌عامل‌های شکل گرفته بر پایه لینوکس در گذشته یک کاربر لینوکس برای پیکربندی و نصب سیستم خود، نیازمند دانش بالایی از رایانه بود. این دلیل به علاوه جذاب بودن دسترسی به درون سیستم، باعث شده بود که به طور سنتی کاربران لینوکس را (بر خلاف کاربران ویندوز یا مَک‌اواِس) کسانی شکل بدهند که با تکنولوژی بیشتر دمخور هستند. افرادی که معمولاً با القاب «هَکِر» و «گیک» شناخته می‌شوند. این نگرش در سال‌های اخیر با افزایش راحتی کار در لینوکس و گسترده شدن استفاده از بسیاری از توزیع‌ها، اعتبار خود را از دست داده‌است. لینوکس در بازار سرورها و کاربردهای ویژه (مانند پردازش تصویر و سرویس‌های وِب) پیشرفت قابل ملاحظه‌ای کرده و در حال ورود به بازار بزرگ رایانه‌های رومیزی است. لینوکس اساس مجموعه نرم‌افزار سرور موسوم به ل.آ.م.پ ((ل)ینوکس، (آ)پاچی، (م)ای‌اس‌کیوال, (پ)رل/(پ)ی‌اچ‌پی/(پ)ایتون) را تشکیل می‌دهد که میان گسترش‌دهندگان وب محبوبیت گسترده‌ای کسب کرده‌است. بدلیل پایداری و انعطاف لینوکس، این سیستم‌عامل حضور پررنگی به عنوان سیستم‌عاملی برای کامپیوترهای کارساز دارد. بر اساس آمار در سال ۲۰۰۸، از میان ۱۰ تا از معتبرترین شرکت هاستینگ دنیا، ۵ شرکت سیستم‌عامل لینوکس را در کارسازهای وب خود بکار می‌گیرند. توزیع های لینوکس به طور گسترده ای به عنوان سیستم عامل در ابر رایانه ها استفاده می شود : از نوامبر سال ۲۰۱۰، از ۵۰۰ سیستم برتر ، ۴۵۹ مورد (۹۱٫۸ ٪)تحت اجرای توزیع های لینوکس هستند. لینوکس همچنین به عنوان سیستم عامل برای سکویا آی بی ام قوی ترین ابر رایانه جهان که در سال ۲۰۱۱ به بهره برداری می رسد، به کار خواهد رفت . از لینوکس همچنین بیشتر در سیستم‌های کارگذاشته استفاده می‌شود. قیمت اندک آن باعث می‌شود انتخابی ایده‌آل برای ابزارهایی مانند سیمپیوتر (رایانه‌ای که برای جمعیت کم درآمد کشورهای در حال گسترش طراحی شده) باشد. لینوکس با داشتن محیط‌های رومیزی مانند گنوم و کی‌دی‌ای، رابط کاربری همچون اپل مکینتاش و مایکروسافت ویندوز را در کنار دیگر محیط‌های گرافیکی و رابط خط فرمان یونیکس-مانند سنتی‌اش، عرضه می‌کند. هرچند نرم‌افزارهای گرافیکی لینوکس برای بسیاری از مصارف وجود دارند، در بسیاری زمینه‌ها نرم‌افزارهای خصوصی هنوز از گستره و میزان محبوبیت بیشتری برخوردارند. نرم‌افزارهای کارسازِ تحت لینوکس کارساز (به انگلیسی: Server)‏ به سیستم رایانه‌ای پرتوانی گفته می‌شود که در یک شبکه برای وظیفه‌ای خاص، نقشی را بر عهده می‌گیرد. سیستم‌های کامپیوتری کارساز معمولاً از سخت‌افزاری پرقدرت و نرم‌افزاری منعطف و پایدار برای ارائهٔ خدمت مورد نظر به مشتریان زیاد استفاده می‌کنند. سیستم‌عامل‌های شکل گرفته بر پایه لینوکس، به دلیل پایداری و انعطاف، گزینه‌های خوبی برای نصب بر روی سیستم‌های کارساز هستند. نمونه نرم‌افزارهای مشهوری که معمولاً تحت لینوکس به عنوان نرم‌افزار کارساز استفاده می‌شوند: اسکوئید (SQUID) کارساز پروکسی-کش (Proxy-Cache) بایند (بایند) کارساز سامانه نام دامنه (DNS) آپاچی (APACHE) کارساز وب پست‌فیکس(Postfix) کارساز پست الکترونیکی مای‌اس‌کیوال (MySQL) کارساز پایگاه داده نصب در ابتدا مشکل بودن نصب سیستم‌های بر پایه لینوکس مانعی برای پذیرش آن بود؛ اما در سال‌های اخیر نصب لینوکس بسیار آسان شده‌است. بسیاری از توزیع‌ها دارای نصبی آسان و قابل مقایسه با نسخه‌های ویندوز هستند؛ به‌گونه‌ای که توزیع اوبونتو با چند کلیک نصب می‌شود. علاوه بر این، رایانه‌های شخصی که با توزیع‌های لینوکس وارد بازار شده‌اند و به آسانی از بسیاری از فروشنده‌های اصلی، همچون دل، هیولت-پاکارد و وال-مارت قابل تهیه است. بیشتر شیوه‌های عمومی نصب لینوکس، توسط همه توزیع‌های مهم پشتیبانی می‌شود که شامل اجرا از طریق لوح فشرده، حاوی برنامه‌های نصب و راه‌اندازی نرم‌افزارهاست. این لوح فشرده می‌تواند از طریق تصویر استاندارد (ISO image) بارگذاری شده باشد، به تنهایی و به قیمت بسیار پایین خریداری شود، یا می‌تواند در مجموعه نرم‌افزارهای تجاری اضافی ارائه شود. برخی توزیع‌ها همچون دبیان (Debian) با فلاپی دیسک نیز قابل نصب هستند. پس از نصب ابتدایی، بیشتر نرم‌افزارها از طریق اینترنت و لوح فشرده قابل بارگذاری و نصب هستند. بسیاری از توزیع‌ها می‌توانند بی‌درنگ از طریق دیسک‌های زنده بسیار سریع‌تر از نصب بر روی دیسک سخت اجرا شوند. به این صورت که یکبار از لوح فشرده راه‌اندازی می‌شود و می‌توان از لینوکس بدون هیچگونه تغییری در محتویات دیسک سخت استفاده کرد. به همین نحو برخی توزیع‌های حداقل، همچون تامزروت‌بوت (Tomsrtbt)، بدون نیاز به تغییر محتویات دیسک سخت از طریق فلاپی دیسک قابل اجرا هستند. همچنین بسیاری توزیع‌ها از راه انداری بر روی شبکه پشتیبانی می‌کنند، پس همه مراحل نصب و پیکربندی دستگاه می‌تواند بر روی شبکه انجام شود.

سری رازهای عمومی دوم

آگاه سازی قبل از برقرای تماس امروز ترفندی را برای شما آموزش می دهیم که قبل از رسیدن اس ام اس شما را آگاه میسازد.این ترفند را می توانید در ادامه مطلب مشاهده کنید. در موبایل بازهای حرفه ای ، دو اصطلاح "تک زدن" و "تک گرفتن" وجود دارد. تک زدن رونق زیادی دارد اما تک گرفتن یک هنر هست که هر کسی از داشتن آن عاجز است! به زبان ساده تر ، شما نیز احتمالأ تاکنون با مزاحم هایی برخورد داشته اید که گاه و بی گاه با زدن تک زنگ آسایش را از شما سلب میکنند. یا شاید دوست داشته باشید هنگامی که شخصی با شما تماس میگیرد ، زودتر از آنکه گوشی شما زنگ بخورد و شماره فرد روی گوشی تان ظاهر شود ، به تماس وی پی ببرید. با ترفندی ساده میتوانید 1 الی 2 ثانیه قبل از زنگ خوردن گوشی تان متوجه شوید که هم اکنون گوشی تان زنگ میخورد و یا SMS دریافت خواهید کرد! ابتدا لازم به ذکر است این ترفند بر روی سیم کارتهای دارای سرویس GPRS عمل میکند. قابل اجراست. همچنین برای انجام این ترفند شما نیازمند گوشی با سیستم عامل سیمبین هستید. برای اینکار: از منوی اصلی به مسیر زیر بروید: Settings > Connection > GPRS سپس مطمئن شوید گزینه GPRS Connection بر روی When Available تنظیم شده باشد. در این صورت شما در زیر قسمت نمایشگر میزان آنتن ، لوگوی کوچکی به شکل حرف G خواهید داشت (در بعضی گوشی ها حرف E و یک مثلث برعکس). با فعال بودن این گزینه ، شما از اینترنت استفاده نخواهید کرد ، تنها سرویس GPRS شما فعال است و طبعأ هزینه ای هم نخواهد داشت. اما اکنون در صورتی که فردی با شما تماس بگیرد ، چند ثانیه قبل از زنگ خوردن گوشی و همچنین دریافت SMS ، روی علامت G یک خط کشیده میشود. (در اصل در فاصله بین فشردن دکمه سبز توسط فرستنده و زنگ خوردن در گوشی گیرنده). به همین سادگی شما زودتر از زنگ خوردن گوشی میتوانید دریابید که به زودی تماس یا پیامکی خواهید داشت.

سری رازهای عمومی دوم

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