شنبه ۲۸ فوریهٔ ۲۰۰۹

Cascading Aborts

این تاپیک به معرفی سریع اتفاقی به نام Cascading Abort میپردازه.
یعنی حالتی که Abort کردن یک تراکنش، باعث Abort شدن تراکنشهای وابسته به اون میشه.

با یک مثال شرح میدهیم:

فرض کنید مقدار اولیه داده های x , y برابر 1 باشه.
فرض کنید تراکنشهای T1 , T2 ، اعمالی به این صورت و ترتیب انجام داده باشند :

Write1 ( x, 2) , Read2 (x) , Write 2 (y,3)
اینحا اندیس 1 مثلا در Write1 یعنی عمل write توسط تراکنش اول انجام شده ...

حالا فرض کنید T1 رو Abort کنیم. پس مقدار x باید به مقدار اولیه خودش یعنی 1 برگردد.
بسیار خب ، حالا مقدار y ، چند هست ؟ توجه کنید که y رو تراکنش دوم دستکاری کرده و ما تراکنش اول رو ابورت کرده ایم.... آیا مقدارش 3 هست؟

جواب : در صورتی که دیتابیس بصورت cascaded عمل کند، y هم مقدارش به مقدار اولیه 1 برمیگردد.
علت ؟ توجه کنید که Read2(x) داریم. یعنی تراکنش دوم دارد x ی رو میخواند که توسط تراکنش اول نوشته شده . پس تراکنش دوم به تراکنش اول وابسته هست. پس وقتی تراکنش اول رو abort میکنیم، تراکنش دوم هم بصورت casecade وار!! ، abort میشود و این همان مفهموم cascading abort هست!

شنبه ۲۱ فوریهٔ ۲۰۰۹

نصب Visual Basic 6.0 در ویندوز ویستا

از چند هفته آینده بخاطر یک پروژه جدید، مجبورم روی برنامه های ویژوال بیسیک ( که بلدش هم نیستم!) کار کنم. به همین دلیل میبایستی اون رو روی دستگاهم نصب میکردم تا کمی با همدیگه آشنا بشیم.
مشکل این بود که Visual Studio 6.0 با ویندوز ویستا سازگاری لازم رو نداشت و در هنگام نصب به حال Not Responding میرفت.
برای حل این مشکل بطور کلی از خیر نصب Visual C++ 6.0 بگذرید و در هنگام انتخاب option های نصب VB 6.0 ، گزینه OLE / COM viewer رو غیر فعال کرده و نصب نکنید.
در اینصورت VB 6.0 بدون مشکل در ویستا اجرا خواهد شد.

پ.ن: از آقای وحید نصیری که بزرگواری کردند و امکان سورس کد نویسی رو در وبلاگ من فعال کردند، بسیار تشکر میکنم. نوشته های بی نظیر و روزانه ایشون در مورد تازه های برنامه نویسی رو از دست ندهید.

سه‌شنبه ۱۰ فوریهٔ ۲۰۰۹

test



return this.each(function(){
...

});