۱۳۹۰/۰۱/۱۱

مكان اصلي يافتن آخرين نگارش‌هاي Fluent NHibernate


اگر علاقمند باشيد كه به آخرين نگارش‌هاي Fluent NHibernate دسترسي داشته باشيد، مكان اصلي نگهداري و Build آن‌ها در سايت teamcity.codebetter.com مي‌باشد. ثبت نام در آن رايگان است و سپس در آدرس ذيل مي‌توانيد آخرين Build ها را مشاهده و دريافت كنيد:





براي نمونه:

تفاوت‌هاي نگارش‌هاي مختلف ويندوز از لحاظ امنيتي


اخيرا مايكروسافت گزارش پيشرفت امنيتي مجموعه‌ي خودش رو از سال 2004 تا 2010 منتشر كرده كه از اينجا قابل دريافت است. يكي از سؤالات مهمي كه در اين گزارش به صورت دو جدول ساده و زيبا پاسخ داده شده، مقايسه تمهيدات امنيتي موجود در نگارش‌هاي مختلف ويندوز است و ... يك تصوير بهتر است از هزار گفتار.





۱۳۹۰/۰۱/۱۰

به روز رساني ارجاعات يك اسمبلي داراي امضاي ديجيتال بدون كامپايل مجدد


سؤال: امروز NHibernate به روز شده اما Fluent NHibernate خير! چكار بايد كرد؟!

Fluent NHibernate كتابخانه‌اي است جهت رهايي برنامه نويس‌ها از نوشتن فايل‌هاي XML نگاشت كلاس‌ها به جداول به همراه قابليت‌هاي ديگري مانند نگاشت خودكار و غيره. بنابراين اين كتابخانه بدون NHibernate اصلي بدون كاربرد است. تيم توسعه آن هم با تيم اصلي NHibernate يكي نيست. عموما NHibernate به روز مي‌شود اما Fluent NHibernate ممكن است تا دو ماه بعد از آن هم به روز نشود. در اين مواقع چه بايد كرد؟

دو كار را مي‌توان انجام داد:

الف) سورس Fluent NHibernate را دريافت كنيم و سپس ارجاعات قبلي به NHibernate قديمي را حذف و ارجاعاتي را به اسمبلي‌هاي جديد آن اضافه و پروژه را كامپايل كنيم.
Fluent NHibernate در طي اين مدت به اندازه كافي رشد كرده و به قولي پخته است. كاري را هم كه ادعا مي‌كند به خوبي انجام مي‌دهد. اما چون اسمبلي‌هاي اصلي NHibernate و همچنين Fluent NHibernate داراي امضاي ديجيتال هستند، نمي‌توان از اسمبلي‌هاي جديد NHibernate به همراه Fluent NHibernate قديمي‌ استفاده كرد. خطاي حاصل شبيه به عبارات ذيل خواهد بود:

System.IO.FileLoadException: Could not load file or assembly ‘nameOfAssembly’,
Version=specificVersion, Culture=neutral, PublicKeyToken=publicKey’ or one of it's dependencies.
The located assembly’s manifest definition does not match the assembly reference.
(Exception from HRESULT: 0x80131040)

حذف ارجاعات به NHibernate قديمي و افزودن مجدد ارجاعات به فايل‌هاي جديد و كامپايل نهايي پروژه يك راه حل است.

ب) راه حل ديگر استفاده از ويژگي bindingRedirect است بدون دريافت سورس، حذف و افزودن ارجاعات و كامپايل مجدد:
  <runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NHibernate"
publicKeyToken="aa95f207798dfdb4"
culture="neutral" />
<bindingRedirect oldVersion="3.0.0.4000"
newVersion="3.1.0.4000"/>
</dependentAssembly>
</assemblyBinding>
</runtime>


در اين مثال، پس از افزودن تعاريف فوق به فايل config برنامه، به سادگي مي‌توان از اسمبلي اصلي NHibernate داراي نگارش 3.1.0.4000 به جاي اسمبلي قديمي‌تر 3.0.0.4000 آن استفاده كرد (همان نگارشي كه Fluent NHibernate ما بر اساس آن كامپايل شده) و ديگر نيازي هم به كامپايل مجدد پروژه‌اي كه از يك اسمبلي قديمي Fluent NHibernate استفاده مي‌كند، نخواهد بود.

۱۳۹۰/۰۱/۰۹

استفاده وسيع مايكروسافت از Silverlight در پروژه‌هاي جديد خود


برخلاف محصولات دهه قبل مايكروسافت، در تعداد زيادي از محصولات جديد سرور آن (خصوصا در كنترل پنل‌هاي تحت وب اين محصولات)، استفاده وسيعي از Silverlight مشاهده مي‌شود كه ليستي از آن‌ها را در ادامه مشاهده خواهيد كرد:

Lync Server 2010 (يا همان communication server قديم) محصولي است جهت مديريت ارتباطات پيشرفته: (+)



ويندوز Azure كه يكي از محصولات استراتژيك مايكروسافت محسوب مي‌شود: (+)



Windows Intune جهت بررسي و به روز رساني وضعيت شبكه، سرورها و كامپيوترهاي آن بكار مي‌رود: (+)



System Center براي مديريت سرورهاي مايكروسافت كاربرد دارد: (+)



پروژه جديد Crescent از تيم SQL Server جهت data visualization پيشرفته اطلاعات: (+)



در تكميل مثال‌هاي فوق مي‌توان به Visual Studio LightSwitch نيز اشاره كرد. هدف اصلي اين محصول فراهم آوردن امكان توليد برنامه‌هاي بانك اطلاعاتي مبتني بر سيلورلايت جهت افرادي با تجربه‌ي كمتر برنامه نويسي مي‌باشد: (+)

اين نوع محصولات ويژه سرور عموما جهت Windows platform تهيه مي‌شوند و زمانيكه بازه‌ي سيع‌تري از كاربران مدنظر باشند همانند Office web apps كمتر از Silverlight استفاده شده است و اينجا شايد اين سؤال مطرح شود كه چرا Silverlight ؟ در اين مورد مطلب مفصلي را اينجا مي‌توانيد مطالعه كنيد: (+)

فايرفاكس 4 و غيرفعال كردن قابليت تنظيم دستي اندازه جعبه‌هاي متني آن


احتمالا فايرفاكس 4 رو تازه نصب كرديد:


يكي از موارد جالب توجه آن منهاي مورد فوق، امكان تغيير سايز TextArea در آن به صورت "سر خود" مي‌باشد (همانند مرورگر كروم) :


براي غيرفعال كردن اين قابليت بايد css سايت يا عنصر مورد نظر را به صورت ذيل تغيير داد:
<style type="text/css">
textarea {
resize:none;
}
</style>

۱۳۹۰/۰۱/۰۸

بلاگر و دومين سفارشي


سلام؛ نوروز مبارك!
اميدوارم در اين سال جديد برقرار به مانند سيسكو، محبوب مثل گوگل، پايدار همانند اينتل، به دور از گزند مثل ويندوز 7 و موفق همانند مايكروسافت باشيد!

يك دامنه‌ي جديد به نام dotnettips.info براي وبلاگ تهيه و تنظيم كردم كه شرح انجام آن براي علاقمندان به صورت زير است:

الف) خريد يك دامنه (براي مثال من از اينجا تهيه كردم)
ب) تنظيمات CNAME و A Records آن دامنه
براي مثال ممكن است كنترل پنل دامنه‌ي شما به صورت زير باشد. در اين حالت به قسمت DNS مراجعه كرده:



و در ادامه تغييرات ذيل را اعمال نمائيد:
در قسمت A Records چهار آدرس IP مربوط به گوگل بايد وارد شوند:



4 ركورد جديد را بايد ايجاد كنيد:



سپس CNAME مربوط به بلاگر بايد وارد شود:



ج) اكنون به تنظيمات بلاگ خود مراجعه كرده و نام دامنه جديد را وارد نمائيد:



اعمال اين تغييرات بين 7 ساعت تا 24 ساعت طول خواهد كشيد (مدتي طول مي‌كشد تا گوگل آدرس شما را فعال كند؛ مدتي هم طول خواهد كشيد تا اطلاعات DNS شما در سراسر سرورهاي مرتبط در دنيا به روز شود). بنابراين در اين بين، انجام اين تنظيمات و رها كردن سايت به حال خود كفايت مي‌كند.

ماخذ IP ها و همچنين CNAME فوق مستندات رسمي گوگل است: (+)

اگر هم براي سايت خود يك فيد از نوع feedburner ثبت كرده باشيد، خوانندگان فيد وبلاگ شما نياز به هيچ نوع تغيير و تنظيمي نخواهند داشت.

۱۳۸۹/۱۲/۱۲

هديه نوروزي وبلاگ


اين آخرين مطلب ارسالي بنده در سال 1389 است. اميدوارم مطالب آن براي شما مفيد بوده باشد. خبر باز شدن سايت tekPub را حتما در اين سايت مطالعه كرده‌ايد كه با مشكلاتي همراه بود و بعيد مي‌دونم كسي از داخل كشور تونسته باشه از اين فرصت كوتاه مهيا استفاده‌ كنه. دو سري از اين ويديوها، براي شما روي 14 سرور mirror گرفته‌ شده كه فارغ از هر گرايش و صنفي به درد تمام دست اندركاران اين صنعت‌ مي‌خورد:



سال خوبي داشته باشيد،
خدانگهدار