دوره‌ها
آموزش #F
#F یک زبان برنامه نویسی تابع گرا است و گزینه ای بسیار مناسب برای حل مسایل کامپیوتری. اما استفاده از زبان برنامه نویسی تابعی محض برای نوشتن و تولید پروژه‌های نرم افزاری مناسب نمی‌باشد. به همین دلیل نیار به استفاده  از این زبان‌ها در کنار سایر زبان‌های شی گرا احساس می‌شود. #F یک زبان همه منظوره دات نت است که برای حالت اجرا به صورت همه منظوره استفاده می‌شود. در این دوره قصد بر معرفی این زبان داریم و چگونگی کد نویسی  و استفاده از آن را خواهیم آموخت.
مطالب
استفاده از Luke برای بهبود کیفیت جستجوی لوسین
به صورت خلاصه اگر نیاز به جستجوی سریع و پیشرفته‌ای بر روی حجم عظیمی از اطلاعات دارید، روش متداول select * from table where field like something توصیه نمی‌شود. بسیار کند است؛ مصرف CPU بالایی دارد. از ایندکس استفاده نمی‌کند.
راه حل توصیه شده جهت برخورد با این نوع مسایل استفاده از full text search است. نگارش کامل SQL Server حاوی یک موتور FTS توکار هست . اگر از بانک اطلاعاتی خاصی استفاده می‌کنید که دارای موتور FTS نیست یا ... FTS مخصوص SQL Server به درد کار شما نمی‌خورد یا نیاز به سفارشی سازی دارد (مثلا امکان تعریف stop words فارسی (کلماتی مانند به، از، تا و امثال آن))، از موتور FTS جانبی دیگری به نام لوسین نیز می‌توان استفاده کرد.

در کنار این‌ها ابزاری برای آنالیز و کوئری گرفتن از فایل‌های ایندکس تهیه شده توسط لوسین نیز وجود دارد به نام Luke. برای نمونه اگر بانک اطلاعاتی سایت جاری را با لوسین به نحو متداولی ایندکس کنیم، در صفحه اول این برنامه، top ranking terms آن به شکل زیر ظاهر می‌شود:


در اینجا چون متون تهیه شده از نوع HTML هستند، تگ br در آن‌ها زیاد است و یا یک سری حروف و کلمات فارسی هم در صدر قرار دارند که بهتر است از لیست ایندکس حذف شوند. برای اینکار تنها کافی است یک hash table را به نحو زیر تعریف و به StandardAnalyzer لوسین ارسال کنیم:
var stopWords = new Hashtable();
stopWords.Add("br","br");
// ...
var analyzer = new StandardAnalyzer(Version.LUCENE_29, stopWords);

یا آقای عرب عامری برای حروف و کلمات فارسی که نباید ایندکس شوند، یک لیست نسبتا جامع را در اینجا تهیه کرده‌اند.
اینبار اگر stop words یاد شده را اعمال و مجددا ایندکس‌ها را تهیه کنیم به خروجی بهتری خواهیم رسید.
در کل حداقل از این لحاظ، لوسین نسبت به FTS توکار SQL Server مناسب‌تر به نظر می‌رسد.

 
نظرات اشتراک‌ها
سری برنامه نویسی ویندوز 8 با سی‌شارپ
ممنون . ایا این سری اموزشی شامل Windows Phone 8 هم میشه ؟ یعنی با این متدی که در این اموزش دنبال شده برای موبایل‌ها و تبلت‌های win 8 هم میشه برنامه ایجاد کرد ؟
اگه مرجعی برای شروع برنامه نویسی برای iphone هم سراغ دارید لطفا معرفی کنید . با تشکر
اشتراک‌ها
بدهی فنی – Technical debt

برنامه نویس تمام تلاش خود را می‌کند تا بهترین کد را از ابتدا بنویسد. احتمالاً هیچ برنامه نویسی نیست که عمداً کد ناخوشایند و به ضرر پروژه بنویسد. اما در چه مرحله ای کد تمیز، کثیف می‌شود؟ استعاره “بدهی فنی” در مورد کد بد در ابتدا توسط Ward Cunningham پیشنهاد شده. اگر از یک بانک وام دریافت کنید، به شما این امکان را می‌دهد  ...

بدهی فنی – Technical debt
اشتراک‌ها
آموزش برنامه نویسی در 10 سال!
هر چند این توصیه‌ها و توصیه‌های مشابه کسی را برنامه نویس نکرده و نخواهد کرد؛ لیکن حتی اگر ایده کوچکی راجع به برنامه نویسی به شما بدهد، خواندن آن خالی از لطف نیست بخصوص اگر این توصیه‌ها از طرف شخصی چون پیتر نوریگ -سرپرست واحد تحقیقات گوگل- باشد.
آموزش برنامه نویسی در 10 سال!