انتقال تجربیات در حوزه برنامه نویسی دات نت

Happy Programmer's Day

۲۲ شهریور ۹۶ ، ۱۰:۲۷ ۱ نظر موافقین ۰ مخالفین ۰
احسان احسانی اطهر

رفع خطای Gradle در Android Studio

اگر در حین راه اندازی Android Studio به خطای

Error:Failed to open zip file. Gradle's dependency cache may be corrupt

برخورد داشتید مراح زیر را دنبال کنید:

1- دانلود Gradle از لینک:

https://services.gradle.org/distributions/gradle-3.3-bin.zip

2- وارد محل نصب برنامه Android studio شوید مثلا آدرس :

C:\Program Files\Android\Android Studio\

3- وارد فولدر gradle شوید

4- فولدر دانلود شده را اینجا Extract کنید (یعنی داخل این فولدر Gradle باید یک فولدری با نام مثلا Gradle 3.3 که Extract کردید ایجاد گردد)

5- در Android Studio مراحل زیر را انجام دهید:

File->Settings->Build, Exectution, Deployment->Gradle and set "Gradle home" to point your new gradle-3.3 folder.


۱۹ شهریور ۹۶ ، ۱۴:۳۰ ۰ نظر موافقین ۰ مخالفین ۰
احسان احسانی اطهر

مشاهده تکنولوژی های مورد استفاده یک وب سایت

با افزونه WhatRuns مرورگر Chrome به راحتی با یک کلیک تمام تکنولوژی های مورد استفاده هر وب سایتی را مشاهده کنید.

لینک دانلود:
https://www.whatruns.com

۰۷ شهریور ۹۶ ، ۱۱:۱۳ ۱ نظر موافقین ۰ مخالفین ۰
احسان احسانی اطهر

گارانتی خوب آیفون

چند وقت پیش مشکلی برای گوشی 6s که داشتیم پیش اومد و بدون دلیل روشن نشد! هرکاری هم کردیم دیگه روشن نشد.

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

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

فقط مشکلی که بود توو انبار از مدل گوشی من با ظرفیت شبیه گوشی قبلی موجود نبود و قرار شد پولش رو بدن خلاصه دیروز رفتیم و پول رو تمام و کمال پرداخت کردن حتی

یک مقدار هم بیشتر از اون چیزی که خریده بودیم.

واقعا گارانتی خوبی بود این مدیاپردازش دستشون درد نکنه .اینقدر هم نگین گارانتی توو ایران معنی نمیده!

یعنی واقعا دیگه تصمیم گرفتم به حرف همه مردم الکی گوش ندم و دنبال تحقیق و دلیل و مدرک باشم.

۰۴ شهریور ۹۶ ، ۱۳:۱۹ ۰ نظر موافقین ۰ مخالفین ۰
احسان احسانی اطهر

سیستم مناسب تدوین

چند روز پیش شخصی ازم خواست تا یک سیستم مناسب نرم افزارهای تدوین از جمله after effect جمع کنم و من هم تحقیق کردم و اطلاعاتی رو که بدست آوردم رو اینجا میزارم شاید به درد دوستان بخوره.

CPU

نرم افزار after effects به فرکانس بالا نیاز داره تا به core های بیشتر یکی از پیشنهاد های مناسب intel Core i7 7700K با یک فن خنک کننده مناسب هست. (فن رو باید جدا تهیه کنید)

RAM

RAM حداقل 32 گیگ (خداییش خیلی زیاده ما که کارمون برنامه نویسیه با یه سیستم ذغالی هم کارمون راه میوفته این بنده خداها چقدر باید هزینه کنن!!!) و ترجیحاً با فرکانس بالا. سراغ فرکانس های 2400 و پایین تر نرید از 3000 به بالا شروع کنید و از نوع DDR4 (فراموش نکنید که مادربردتون هم باید ساپورت کنه) اگه مادربرتون دو کاناله هست و چهارتا اسلات داره فعلا دوتا 16 گیگ دوکاناله بخرید تا بعدا هم بتونید دوتا 16 دیگه اضافه کنید.

Motherboard

ترجیاً ASUS باشه مثلا من z270 رو مناسب دیدیم. چون هم با CPU های نسل هفتم اینتل سازگاری داشت و هم 4 تا اسلات DDR4 با قابلیت پشتیبانی از 64 گیگ رم رو داشت. (دوکاناله)

HDD

یک هارد SSD از نوع M.2 برای درایو C و نصب ویندوز و after effects

یک هارد SSD با کیفیت بالاتر  برای درایو D به عنوان Cache Time Line افترافکت. که از تنظیمات باید فعالش کنید. (این گزینه اختیاری است و اگر فعلا هزینه نکنید مشکلی پیش نمی آید به شرط آنکه گزینه یک را خوب انتخاب کنید)

یک هارد معمولی هم مثلا با ظرفیت 2 ترابایت برای ذخیره سازی و آرشیو کردن فایلهاتون.

در مورد SSD هم به نظرم سامسونگ خوبه. اگرم نمیخواید فعلا زیاد هزینه کنید همون یک عدد برای درایو C رو samsung Evo 960 با حجم ٥١٢ یا ٢٥٦ بگیرید

Graphic

بازهم فرکانس بالا بسیار موثره. ترجیحا از asus 1070 یا 1080 استفاده کنید. افترافکت هم برای مسائل زیر از کارت گرافیک استفاده میکنه:

  • Brightness & Contrast
  • Find Edges
  • Gaussian Blur
  • Glow
  • Hue/Saturation
  • Invert
  • Lumetri Color
  • Mosaic
  • Sharpen
  • Tint

البته هزینه بیشتر برای کارت گرافیک به معنی سرعت بالاتر در افترافکت نیست.



۱۹ تیر ۹۶ ، ۰۸:۴۰ ۱ نظر موافقین ۰ مخالفین ۰
احسان احسانی اطهر

آموزش Bundling and Minification


Bundling and Minification

دو تکنیکی هستند که در ASP.NET 4.5 میتوانید از آنها جهت بهبود زمان بارگذاری در وب سایت استفاده نمایید. این دو تکنیک باعث کاهش تعداد درخواست ها به سرور و همچنین کاهش حجم فایل ها (مانند CSS و JavaScript) میگردد.

Minification

باعث حذف کامنت ها و دستورات بلا استفاده میگردد، که در نتیجه باعث کاهش حجم فایل شده. (تأثیری در نتیجه اجرای برنامه نخواهد داشت)

ادامه مطلب...
۲۰ خرداد ۹۶ ، ۰۹:۵۰ ۰ نظر موافقین ۰ مخالفین ۰
احسان احسانی اطهر

نکات کاربردی در ویژوال استدیو

افزودن Bookmark:

اگر در حین نوشتن کد میخواهید قسمتی را مشخص کنید که در آینده دوباره به آنجا برگردید و آن قسمت را به یاد داشته باشید میتوانید از bookmark استفاده کنید:
Ctr + K + K (Press K Twice)
برای نمایش Bookmark ها :
Ctr + K + W (=> View > Bookmark Window)
با دوبار کلیک بر روی نام Bookmark به محل مورد نظر میروید. ضمنا با کلیک راست کردن روی نام Bookmark و انتخاب گزینه Rename میتوانید نام آن را تغییر دهید تا مدیریت بهتری رو آنها داشته باشید.

ادامه مطلب...
۱۷ خرداد ۹۶ ، ۰۹:۱۸ ۰ نظر موافقین ۰ مخالفین ۰
احسان احسانی اطهر

استفاده از Resharper

Ctr + T : جستجو در بین تمامی فایل ها و محتوای آنهای

Ctr + Shift + T : جستجوی فایل

ُShift + Alt + T : جستجو در کل یک Solution

, + Ctr : آخرین فایلهایی که باز بودند

, + Ctr + Shift : بازگشت به محل قبلی که در حال ادیت بودید

Ctr + Click : پنجره Navigate to

F12: با زدن F12 بر روی کلاسهای دات نت میتوان به Source آنها دسترسی پیدا کرد.

Alt + Enter : اصلاح خطا

Ctr + Shift + R: جهت Refactor کردن

روی Solution میتوان کلیک راست کرد و گزینه Refactor و سپس گزینه adjust name spaces را کلیک کرد تا تمامی namespace ها را اصلاح کند.

و یا remove unused references باعث حذف reference های اضافه بدون استفاده خواهد شد.

Ctr + Alt + Insert: جهت ساختن کلاس، اینترفیس، صفحه ،و ... بدون نیاز به کلیک راست کردن روی solution و انتخاب new item

Ctr + E + U: نوشتن بدنه برخی دستورات: مثل try..catch یا while و ...

Resharper همچنین از سایر framework ها مثل jQuery یا MVC پشتیبانی میکند. مثلا به راحتی در MVC میتوانید نام PartialView های موجود را مشاهده کنید و یا مثلا در jQuery میتوانید لیست عناصر صفحه را با توجه به id و یا css کلاس آنها مشاهده و به راحتی آیتم مورد نظر را انتخاب کنید:

$("#createmenu").

همچنین resharper امکانات خوبی در css به شما میدهد.

resharper را میتوان در پروژه های Unit test نیز استفاده کرد.


نکته: اگر برخی از دستورات بالا به درستی کار نکرد مراحل زیر را انجام دهید:

  1. Reset current keyboard configuration (Tools | Options | Environment | Keyboard | Reset).
  2. Go to ReSharper | Options | Environment | Keyboard & Menus | "Visual Studio" | Apply Scheme.
  3. Click Ctrl+T
  4. Choose "Use ReSharper command" in the opened popup(check "Apply to all ReSharper shortcuts")

اگر این روش جواب نداد از روش زیر استفاده کنید:


Setting to Resharper / Options / KeyBoard & Menus / None / Apply and Save

and then

Resharper / Options / KeyBoard & Menus / Set to Visual Studio / Apply and Save

۱۰ خرداد ۹۶ ، ۰۶:۵۰ ۰ نظر موافقین ۰ مخالفین ۰
احسان احسانی اطهر

استانداردهای کدنویسی و قواعد نام گذاری در سی شارپ

  • در نام گذاری کلاسها و متدها از روش PascalCasing استفاده میکنیم:
    public class ClientActivity
    {
        public void ClearStatistics()
        {
            //...
        }

        public void CalculateStatistics()
        {
            //...
        }
    }

    • برای نام گذاری آرگومان های ورودی توابع و همچنین متغیر های Local از camelCasing استفاده میکنیم:
    public class UserLog
    {
        public void Add(LogEvent logEvent)
        {
            int itemCount = logEvent.Items.Count;
            // ...
        }
    }
    
    ادامه مطلب...
    ۰۲ خرداد ۹۶ ، ۰۸:۱۳ ۰ نظر موافقین ۰ مخالفین ۰
    احسان احسانی اطهر

    مفهوم RESTful در Web API 2

    قبل از اینکه به توضیح این قسمت بپردازم لازم میدونم که دو مفهوم رو توضیح بدم : Loosely Coupled و Tightly Coupled

    تفاوت Loosely Coupled و Tightly Coupled

    1- Loosely-Coupled به معنای اتصال و وابستگی ضعیف دلالت دارد. یعنی Client به Server وابستگی ضعیفی دارد و با حداقل دانش از نیازمندی های سرور میتواند با سرور کار کند. (در ادامه مثال را بررسی کنید.)

    2- Tightly-Coupled به معنای اتصال و وابستگی قوی میباشد. و کلاینت جهت کار با سرور باید اطلاعات زیادی از سرور داشته باشد.

    یک مثال ساده در دنیای واقعی از اتصال ضعیف رو میتونید در مادربرد تصور کنید، که شکاف های اتصال RAM به صورت Loosely Coupled تعبیه شده است و کاربر به راحتی میتواند RAM مادربرد خود را تعویض کند اما مثلا خازن ها به صورت اتصال قوی یا همان Tightly Coupled طراحی شده است و کاربر نهایی به راحتی نمیتوان آن ها را تعویض کند.

    حال فرض کنید اگر تمامی قطعات در مادربرد به صورت اتصال قوی ساخته میشد برای تعویض RAM,CPU,Graphic Card و سایر قطعات میبایست کل مادربرد تعویض گردد.

    ادامه مطلب...
    ۲۴ ارديبهشت ۹۶ ، ۱۱:۴۵ ۰ نظر موافقین ۰ مخالفین ۰
    احسان احسانی اطهر