مطالب وبلاگ

حل مشکلات SSL در اتصال به HP iLO با استفاده از مرورگر

سرویس iLO که قبلا نیز در مطلبی به بررسی آن پرداخته بودم، یکی بهترین و کاراترین روشهای مدیریت سرور از راه دور است که برای سرورهای HP ارائه شده است.

ilo

اگر که در سرورهای نسل ششم و هفتم HP این سرویس را فعال کرده باشید، عمدتا در سالهای اخیر برای اتصال به آن با استفاده از مرورگرهای معمول IE، Firefox و Chrome مشکل خواهید داشت.

دلیل مشکل این است که cert های تولید شده در این سرورها با توجه به زمان ساختشان بسیار قدیمی هستند و همچنین سرور SSL موجود بر روی آنها از نسخه های جدید TLS استفاده نمیکند.

در نتیجه بدون ایجاد تغییرات اساسی در تنظیمات security مرورگر و صرفا با اکتفا به ایجاد exception یا کار در حالات compatibility view یا trusted sites به هیچ وجه نمیتوان به آنها متصل شد.

راه حل اول این موضوع این است که از یک مرورگر ساده مانند Midori استفاده کنید که هر نوع خطای ssl را بپذیرد. البته ممکن است که به این روش از برخی امکانات موجود ماند Remote Manager نتوان استفاده کرد.

راه حل دوم، غیر فعال کردن TLS 1.2 در مرورگر است.

  • برای انجام این کار در Mozilla Firefox:

به صفحه تنظیمات about:config مراجعه کرده و مقدار security.tls.version.max را برابر با 1 و مقدار پارامتر security.tls.version.min را برابر با صفر تنطیم کنید. سپس مرورگر را ریستارت کنید.

  • برای انجام این کار در Internet Explorer:

به صفحه Internet Options و قسمت Advanced مراجعه کرده و گزینه Use TLS 1.2 را غیر فعال کنید.

پس از انجا تنظیمات فوق، خطاهای ناشی از SSL در اتصال به سرور نادیده گرفته میشوند.


حل مشکلات Gradle در اندروید استودیو پس از بروزرسانی

تصور میکنم که اگر از کاربران اندروید استودیو در مورد بزرگترین مشکل در کار با این IDE کارا و جذاب سوال شود، همگی به یک مورد اشاره خواهند کرد: Gradle

gradlephant-291x300_light

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

مخزن پیش فرضی که gradle جهت دانلود فایلها و dependency ها از آن استفاده میکند، JCenter است که به دلیل بسته شدن دسترسی ip های ایران به این پایگاه، انواع مشکلات مربوط به sync و دانلود پیش می آید. اما با تغییر repo پیش فرض به Maven این مسائل حل میشوند.

مشکل جدیدی که با بروز رسانی gradle به نسخه 2.14.1 خودنمایی میکند، عدم تطابق آن با قابلیت Instant Run در اندروید استودیو است.

در واقع اگر خطای ذیل در زمان اجرای برنامه مشاهده شد:

this version of android studio is incompatible with the gradle plugin used 2.14.1

راه حل آن غیر فعال کردن instant run در Settings/Preferences > Build, Execution, Deployment option > Instant Run میباشد.

 

پ.ن: این قابلیت باعث تسریع فرآیند اجرای برنامه بر روی emulator یا گوشی متصل به دستگاه در زمان اجراهای متوالی میگردد.


مقایسه سرعت اجرای دستورات شرطی در Android

  • فکر میکنید سرعت اجرای دستورات شرطی در android چه تفاوتی با یکدیگر دارد؟!
  • کدام دستور بیشترین و کدامیک کمترین زمان را مصرف خواهند کرد؟!

در این پست میخواهیم مقایسه ای بین سرعت اجرای سه دستور شرطی If، Switch و عملگر سه گانه (Ternary) داشته باشیم. البته با توجه به استفاده از جاوا در اندروید، شاید بهتر بود که عنوان این پست را مقایسه دستورات شرطی در جاوا، نامگذاری کنیم، اما از آنجا که کل عملیات برای اجرا در موبایل و در محیط Android Studio اتفاق افتاده است، نام فعلی را انتخاب نمودم.

Android (ادامه مطلب…)


روش استفاده از کتابخانه های AAR در Android

با ارائه سیستم Gradle در Android Studio، پیشرفتهای زیادی در روش build پروژه ها بوجود آمده که تا حد زیادی در زمان مورد نیاز صرفه جویی میشود. از جمله این موارد میتوان به Build Flavor ها اشاره کرد که در آینده مطالبی در مورد آنها خواهم نوشت.

اما، موضوع این پست استفاده از کتابخانه های AAR است.

gradle (ادامه مطلب…)


بررسی جایگاه root و stage در Flash و AS3

stage شئ واحدی است که در هر فایل swf، به عنوان دربرگیرنده اصلی محسوب شده و تمام اشیاء و تصاویر دیگر، درون لیست نمایش آن ترسیم خواهند شد.
اما شئ دیگری به نام root نیز وجود دارد که مستقیماً به Timeline اصلی انیمیشن اشاره دارد. به عبارت ساده‌تر، شئ root که در AS2.0 به صورت _root مورد ارجاع قرار می‌گرفت، یک DisplayObjectContainer است که به صورت پیش‌فرض در عمق صفر از شئ stage قرار دارد.
به صورت پیش‌فرض، تمام ترسیماتی که بر روی صفحه انیمیشن فلش صورت می‌گیرد، به جای اینکه مستقیماً در لیست نمایش stage باشد، در شئ root انجام می‌شود. به عبارتی تمامی اشیاء و محتوای انیمیشن فلش، زیر مجموعه شئ root هستند که یک DisplayObjectContainer پیش‌فرض و در عمق صفر از شئ دربرگیرنده stage قرار دارد.
مثال:

trace(stage,  root);    
// Output: [ object Stage] [ object MainTimeline]

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

مثال 1: دستور اول منجر به بروز خطا می‌گردد، اما دستورات بعدی به درستی اجرا خواهند شد.

root.addChild(sh);     //error

Object(root).addChild(sh);
MovieClip(root).addChild(sh);
DisplayObjectContainer(root).addChild(sh);

مثال2 : تفاوت شئ root و stage:

trace(stage is Object, root is Object);		
// Output: true    true
trace(stage is MovieClip, root is MovieClip);		
// Output: false  true
trace(stage is Sprite, root is Sprite);			
// Output: false  true
trace(stage is DisplayObject, root is DisplayObject);	
// Output: true    true
trace(stage is DisplayObjectContainer, root is DisplayObjectContainer);	
// Output: true   true

دستور is در مثال بالا، نوعی عبارت منطقی به وجود آورده که تعلق یک شئ را به یک کلاس والد، بررسی می‌نماید.



  • آرشیو:

  • .
    Copyright (c) 2010 www.mshams.ir