تنظیم کردن Reference Path برای تمامی پروژه‌های موجود در Solutionهای Visual Studio

علی بهرامی‌نژاد - - زمان تقریبی مطالعه: 1 دقیقه

Sample Solution

وقتی Solution بزرگی داخل Visual Studio داشته باشیم ممکنه با مشکل تنظیم کردن Reference Path برای تمای پروژه‌های موجود مواجه بشیم، برای اینکور مجبوریم به صفحه Properties پروژه‌ها بریم و Reference Path رو تنظیم کنیم که این خودش کار بسیار زمان بر و اعصاب خوردکنی هست.

Define Reference Path

با اسفتاده از Powershell می‌تونیم به راحتی مسیر Reference Pathها رو برای تمامی پروژه‌ها ست کنیم. برای اینکار کافیه Package Manager Console رو از منو Tools->Nuget Package Manager->Package Manager Console باز کنیم.

Package Manager Console

و اسکریپت Powershell زیر و داخل اون اجرا کنیم.

$path = [System.IO.Path]; 
foreach ($proj in get-project -all) {   $proj.Properties.Item("ReferencePath").Value="$($path::GetDirectoryName($proj.filename))\..\libs" }


نمونه اجرا شده :

Package Manager Console


اسکریپت بالا مناسب برای مسیرهای نسبی هستند، اگر مسیر مستقیم برای پروژه میخواید تنظیم کنید کافیه به جای

$($path::GetDirectoryName($proj.filename))\..\libs

مسیر مستقیم خودتون رو بنویسد.

منبع

Adding Reference Paths to all Projects in Solution Visual Studio


معرفی نرم افزار KTOP، برنامه‌ای جهت بهینه‌سازی کتاب‌های فارسی و عربی برای Amazon Kindle

علی بهرامی‌نژاد - - زمان تقریبی مطالعه: 3 دقیقه

این پروژه متوقف شده است و به جای آن پروژه KiPEO آغاز شده است. اطلاعات بیشتر

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

در پست قبلی به این اشاره کردیم که با استفاده از Calibre می‌توان به راحتی هر نوع فونت دلخواهی رو به کتاب epub یا azw3 مورد علاقمون اضافه کنیم. اما متاسفانه Kindle به خوبی نوشته‌ها رو نشون نمیده و مثل تصویر زیر کارکترها و بصورت مجزا از هم نشون میده.

برای رفع این مشکل، من برنامه‌ای نوشتم که کتاب‌های epub رو به شکلی بهینه‌سازی می‌کنه که به راحتی داخل Kindle قابل خوندن باشن، مثلاً به دو عکس زیر توجه کنید:

فونت سفارشی فونت سفارشی - بهینه‌سازی شده با KTOP
Custom font Optimized font

برنامه KTOP

کلاً پروسه اسم گذاری برای یه برنامه خیلی سخته، من اسم KTOP رو از روی جمله Kindle Text Optimization for Persian eBooks انتخاب کردم، شاید یه دلیلش این بود که دوست داشتم برنامه رو به اسم کتاپ صدا کنم.

قابلیت‌های برنامه

  1. اصلاح ی و ک عربی
  2. اصلاح نیم‌فاصله‌ها و اشتباه‌های این‌چنینی
  3. بهنیه‌سازی کتاب‌ها جهت مشاهده در Amazon Kindle

این نکته رو لازم هست که بگم، برنامه و سورس اون با مجوز GNU برروی سایت github در آدرس زیر قرار گرفته:

https://github.com/al1b/KTOP

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

ادامه ...

تنظیم فونت سفارشی برای کتاب‌های epub و azw3 در دستگاه Amazon Kindle با استفاده از Calibre

علی بهرامی‌نژاد - - زمان تقریبی مطالعه: 2 دقیقه

Sample Books

کتاب‌خوان آمازون کیندل پس از ارائه فرمت KF8 امکان پشتیبانی از کتاب‌های فارسی رو فراهم آورده، اما فونت پیشفرض دستگاه علاوه بر اینکه خیلی ناخوشایند هست، اشکالات زیادی داره که بخشی از اون تو تصویر بالا می‌تونید ببیند.

تو این مطلب مواردی که بررسی میشن:

  1. نحوه اضافه کردن فونت سفارشی به کتاب‌هایی با فرمت epub یا azw3 با استفاده از نرم افزار Calibre
  2. نحوه فرمت و اصلاح CSS کتاب‌ها برای نمایش بهتر داخل Kindle
  3. معرفی برنامه KTOP جهت بهینه سازی کتاب‌های فارسی یا عربی

در صورتی که کتاب‌خوان Kindle دارید یا علاقه‌مند هستید که کمی درباره اون بدونید ادامه مطلب رو مطالعه کنید.

جهت اسفتاده از فونت سفارشی؛ حتماً پس ازا اضافه کردن فونت باید با برنامه KTOP نسبت به بهینه سازی کتاب اقدام کنید.

ادامه ...

فعال‌سازی intellisense/autocomplete کد برای فایل‌های axml اندروید در Visual Studio

علی بهرامی‌نژاد - - زمان تقریبی مطالعه: 1 دقیقه

برای ویرایش فایل‌های axml اندروید در Xamarin For Visual Studio دو راه وجود دارد:

  1. استفاده از ابزار ابزار طراحی گرافیکی
  2. ویرایش متنی فایل axml

در حالت اول به راحتی با استفاده از ابزار GUI که Xamarin تهیه کرده است عمده تغییرات قابل اعمال است، اما اگر قصد این را داشته باشیم که مستقیم فایل‌ها را در حالت متنی ویرایش کنیم مشاهده خواهیم کرد که هیچ intellisense یا autocomplete کد، به کاربر ارائه نمی‌شود.

Visual Studio - Xamarin - intellisense won't work

همانطور که در شکل بالا نیز مشخص است؛ هیچ پیشنهاد کد یا راهنمایی برای تکمیل کردن کد در xml editor نمایش داده نمیشود. خوشبختانه این مورد توسط Xamarin پشتیبانی میشود و تنها باید آنرا فعال کنیم. در ادامه مطلب نحوه فعال سازی آن شرح داده خواهد شد.

ادامه ...

رفع مشکل عدم وجود حافظه خالی 2048 مگابایتی RAM در اجرای Visual Studio Emulator For Android

علی بهرامی‌نژاد - - زمان تقریبی مطالعه: 2 دقیقه

یکی از Emulatorهای خوب عرضه شده جهت تست و توسعه برنامه‌های اندروید برروی سیستم عامل ویندوز؛ ابزار Visual Sudio Emulator For Android می‌باشد.

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

  • کاملاً رایگان
  • هماهنگی کامل با Visual Studio
  • امکان استفاده در Android Studio، Eclipse یا هر ابزار دیگری که از ADB پشتیبانی می‌کند
  • کارایی خوب بدلیل استفاده از Hyper-V ویندوز

Microsoft Visual Emulator For Android - 2048 MB Error

کاربران در استفاده از این ابزار ممکن است با خطای Not enough memory is available in the system to start an emulator that uses 2048 MB of startup RAM مواجه شوند. بصورت کلی دو راه برای رفع این مشکل وجود دارد:

  1. افزایش حافظه RAM
  2. بستن برنامه‌های در حال اجرا جهت کاهش حافظه مصرفی

اما اگر هیچ یک از دو راه بالا امکان پذیر نبود، چه باید کرد؟ در ادامه مطلب به بررسی و رفع این مشکل می‌پردازیم.


ادامه ...

چرا باید به استک مایکروسافت بیشتر از گذشته توجه کرد؟

علی بهرامی‌نژاد - - زمان تقریبی مطالعه: 4 دقیقه

Microsoft Stack

اگر به دلایل زیر توجه کنید:

  • SQL Server برروی لینوکس
  • توسعه و اجرای برنامه‌های .Net برروی لینوکس، مک
  • توسعه برنامه‌های Native موبایل با استفاده از Xamarin
  • متن باز شدن .Net Framework و Xamarin
  • ارائه ابزارهای رایگان و متن باز برنامه‌نویسی

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


ادامه ...

استخراج لینک‌ها و زیرنویس‌های دوره‌های آموزشی سایت Microsoft Virtual Academy با یک اسکریپت پایتون

علی بهرامی‌نژاد - - زمان تقریبی مطالعه: 3 دقیقه

Microsoft Virtual Academy

اگر تا به حال به دنبال محتوای آموزشی حرفه‌ای و البته رایگان در اینترنت بوده باشید حتماً با Microsoft Virtual Academy آشنایی دارید، در این وب‌سایت، مایکروسافت دوره‌های آموزشی بسیار عالی تهیه کرده که اگر بخواهیم معادل همین دوره‌ها رو در موسسات آموزشی ایرانی بگذرونیم n صدهزار یا n میلیون تومان هزینه کنیم. به لطف مایکروسافت تمامی این دوره‌ها بصورت رایگان ارائه شده؛ اما دانلود کردن تک به تک درس‌ها برای ما ایرانی‌ها که اینترنت مناسبی نداریم کمی تا قسمتی آزار دهنده است.

اخیراً من اسکریپتی با Python 3 نوشتم که با گرفتن URL درس Microsoft Virtual Academy لینک‌های دانلود فیلم‌های آموزشی رو به تفکیک کیفیت استخراج و اگر کاربر تمایل داشته باشد حتی زیرنویس‌ها را نیز استخراج و دریافت کند. این نکته لازم به ذکر هست که زیرنویس‌های مذکور را به راحتی می‌توان به پسوندهای رایج مانند srt تبدیل کرد.

اگر مایل به استفاده از این اسکریپت کاربردی هستید حتماً ادامه مطلب رو مطالعه کنید.

ادامه ...

رمزنگاری اطلاعات در SQL Server 2016 با استفاده از امکان Always Encrypted - به همراه مثال در ADO.Net و EntityFramework

علی بهرامی‌نژاد - - زمان تقریبی مطالعه: 6 دقیقه

SQL Server 2016 - Always Encrpted

رمزنگاری دیتا در بانک اطلاعاتی همواره از مشکلات بزرگ برنامه‌نویسان است؛ اینکه بتوانند علاوه بر رمزنگاری مناسب دیتا؛ روی دیتای رمزنگاری شده Query اجرا کنند، Index بسازند.

مدت زیادی نیست که نسخه نهایی SQL Server 2016 توسط مایکروسافت ارائه شده؛ یکی از قابلیت‌های منحصربفرد و هیجان انگیز آن Always Encrypted است که امکان رمزنگاری ستون‌های بانک اطلاعاتی فراهم میکند.

رمز نگاری بدین شکل هست که دیتا در دیتابیس و مسیر ارتباطی با برنامه به شکل رمزنگاری شده است و تنها در برنامه شماست که رمزگشایی دیتا انجام می‌شود.

اگر علاقه‌مند هستید که چطور میشه ستون‌هارو رمزنگاری کرد و چطور میشه در دات نت (ADO.Net و Entity Framework) از اون بهره برد حتماً ادامه مطلب را بخونید.

ادامه ...