معرفی ۲ برنامه برای iPhone

دی ۲۹م, ۱۳۸۸ HFakhraei ۱ comment

برنامه LockDown:

iphone-app-lockdown-1شاید شما نیز دوست داشته باشید که بر روی بعضی از برنامه های iPhone خود رمز بگذارید تا هر کسی نتواند برنامه مورد نظر را اجرا کند، به عنوان مثال دوست ندارید، اگر کسی با گوشی شما بازی می کند بتواند وارد برنامه Messages شود. راه حل دانلود و نصب برنامه LockDown از طریق Cydia می باشد. این برنامه این امکان را برای شما فراهم می کند که بر روی تمامی برنامه های نصب شده بر روی گوشی خود رمز بگذارید و از اجرای آنها بدون رمز جلوگیری کنید.

  iphone-app-lockdown-5 iphone-app-lockdown-6

جهت اطلاعات بیشتر به سایت iphonehacks مراجعه کنید.

 

iphone-veency-1برنامه Veency:

اگر می خواهید از راه دور به گوشی iPhone خود متصل شوید و تصویر صفحه نمایش iPhone خود را بر روی صفحه کامپیوتر داشته باشید برنامه Veency یک VNC Server بر روی گوشی شما فعال کرده و امکان اتصال به گوشی شما را توسط برنامه VNC Client فراهم می کند. این برنامه از طریق Cydia به راحتی بر روی گوشی شما نصب می شود.

 

جهت اطلاعات بیشتر به سایت iphonehacks مراجعه کنید.

Categories: iPhone Tags: , ,

انواع جداول در MySQL

دی ۱۰م, ۱۳۸۸ HFakhraei ۱ comment

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

برای افرادی که تا کنون با پایگاه داده SQL Server کار کرده اند تعریف یک جدول کار بسیار راحتی است و هیچ وقت نگران نوع جداول خود نبوده اند ولی در MySQL وضعیت کمی متفاوت است در اینجا انواع مختلفی وجود دارد که در هنگام تعریف یک جدول می توان نوع مورد نظر را انتخاب کرد. شاید شما نیز اگر آشنایی مختصری با MySQL داشته باشید تا کنون نیازی به تعیین نوع جدول پیدا نکرده باشید و همیشه نوع جدول پیش فرض MySQL را استفاده کرده اید.

در MySQL جداول یکی از ۴ نوع زیر می باشد :

  • MyISAM
  • InnoDB
  • BerkeleyDB
  • Heap

هر کدام از این نوع جداول ویژگی های خاصی دارند که در زیر به بررسی آنها می پردازیم.

  • MyISAM

    در بیشتر MySQL های نصب شده MyISAM نوع پیش فرض برای جداول در نظر گرفته می شود و آنرا باید اولین و قدیمیترین نوع جدول در MySQL دانست. MyISAM جهت بهترین کارایی و سرعت در عملیات Select بهینه سازی شده است و بیشتر توصیه می گردد به عنوان نوع برای جداولی در نظر گرفته شود که عملیات اصلی بر روی آنها از نوع Select می باشد. این نوع جداول از کلید خارجی و Transaction پشتیبانی نمی کنند.

  • InnoDB

    این نوع جدول به خوبی از کلید های خارجی و ACID پشتیبانی می کند و قابلیت قفل گذاری در سطح رکورد را دارد و پیشنهاد می گردد در جداولی که بر روی آنها عملیات Update و Delete فراوانی انجام می شود از این نوع استفاده گردد.

  • ACID = Atomicity + Consistency + Isolation + Durability

    BerkeleyDB

  • این نوع جدول مانند InnoDB می باشد با این تفاوت که قفل گذاری را در سطح Page انجام می دهد و دیگر به ندرت از آن استفاده می شود.

  • Heap

    این ها جداولی می باشند که به صورت فیزیکی بر روی دیسک ذخیره نمی شوند و اطلاعات آنها در حافظه نگهداری می شود و در هر بار Restart شدن MySQL اطلاعات آنها پاک شده و از بین می رود و بیشتر درمواقعی استفاده می شوندکه نیاز به Performance بسیار بالا در بازیابی داده ها می باشد یا نیاز به نگهداری موقت محدوده ای از داده ها در حافظه می باشد.

Categories: MySQL Tags: , , ,

معرفی کتاب “لطفا گوسفند نباشید”

مهر ۱۶م, ۱۳۸۸ HFakhraei No comments

چند روز پیش برای خریدن چند کتاب به شهر کتاب رفته بودم که از میان انبوه کتاب ها، کتاب "لطفا گوسفند نباشید” نظرم را جلب کرد. این کتاب در مورد خودشناسی است و به زبان بسیار روانی نوشته شده است.

هنگام مطالعه این کتاب اولین چیزی که نظر شما را به خود جلب می کند عکسی روی جلد کتاب است که گوسفندی بقیه گوسفند ها را دور خود جمع کرده است و از آنها می خواهد که “لطفا گوسفند نباشید”.

در قسمت های بعدی کتاب به زبانی ساده راه های برقراری ارتباط، افزایش اعتماد به نفس، نقش دوست در زندگی، تعریف زندگی و … شرح داده است.

در زیر چند جملاتی از کتاب را برای شما نقل می کنم:

  • به خاطر بسپار:هرگاه ما چیزی را نفهمیم،آن را تصادفی یا اتفاقی می نامیم، در حالی که هیچ جز تصادفی در دنیا وجود ندارد!
  • به خاطر بسپار:ما،تار و پود بدبختی را خود می بافیم و نام آن را می گذاریم:سرنوشت!!
  • به خاطر بسپار:هرجا که ژرف ترین درد است،عظیم ترین آموزش را به همراه دارد!
  • به خاطر بسپار:کسی که راه غلطی را می رود،بیشتر شانس آن را دارد که به راه درست آید.تا کسی که راه درست را غلط می رود.
  • سوال از مایکل جردن ستاره بسکتبال سیاهپوست آمریکا علت موفقیت شما چیست؟ جواب: من حاضر نیستم در هیچ کاری به مقام دوم قناعت کنم!
  • به خاطر بسپار:هولناک ترین ناباوری،ناباوری نسبت به خودتان است!
  • با خود بخوان: در زندگی ام شکست وجود ندارد،تا زمانی که از چیزی درس گرفته باشم.
  • از اوقاتی که “بله” می گویید ولی در واقع منظورتان “نه” است آگاه باشید!
  • به خاطر بسپار: شکست، یا می شکند یا شکسته می شود..بستگی به شما دارد!
  • یادت باشد: دیگران را آزاد بگذار، آزاد در پذیرفتن تو ..آزاد در روی برگردانیدن از تو!
  • به خاطر بسپار: کسانی که نمی توانند گذشته را به یاد آورند،محکومند که آن را تکرار کنند!

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

مقایسه کارایی در NHibernate & Entity Framework

شهریور ۳۱م, ۱۳۸۸ HFakhraei No comments

NHibernate و Entity Framework دو تا از معروفترین ORM هایی هستند که در برنامه های نوشته شده به Net. قابل استفاده می باشند. شاید این سوال مانند من برای شما نیز پیش آمده باشد که از کدامیک از این ORM ها استفاده کنید. در زیر مقایسه ای کلی بین این دو ORM انجام شده است که نتیجه آن در جدول زیر خلاصه شده است.

Winner Entity Framework- 40K NHiberante – 40K Entity Framework – 4K NHiberante – 4K Operation \ Number of operations
Entity Framework 98 1500 9,19 37,37 Store
Entity Framework 4,18 10,13 0,54 1,01 Read over relations

NHibernate with smaller amount of objects

230 246 25,22 3,06 Read by ID
Both 72 77 7,34 6,61 Update
NHibernate 58 58 16,76 3,35 Delete

جهت کسب اطلاعات بیشتر به این آدرس مراجعه کنید.

Categories: .Net Tags:

کارهای نیک

شهریور ۱۹م, ۱۳۸۸ HFakhraei No comments

نوشته زیر مطالبی است که دالایی لاما برای سال ۲۰۰۸ افاده کرده است. خواندن و اندیشیدن در آن بیشتر از یکی دو دقیقه وقت نمی گیرد.

۱ـ به خاطر داشته باش که عشقهای سترگ ودستاوردهای عظیم، به خطر کردنها و ریسکهای بزرگ محتاجند.

۲ـ وقتی چیزی را از دست دادی، درس گرفتن از آن را از دست نده.

۳ـ این سه میم را از همواره دنبال کن:

۳ـ۱ـ محبت و احترام به خود را

۳ـ۲ـ محبت به همگان را

۳ـ۳ـ و مسئولیت پذیری در برابر کارهایی که کرده ای

۴ـ به خاطر داشته باش دست نیافتن به آنچه می جویی گاه یک شانس بزرگ است.

۵ـ اگر می خواهی قواعد بازی را عوض کنی اول قواعد را بیاموز.

۶ـ به خاطر یک مشاجرۀ کوچک، ارتباطی بزرگ را از دست نده.

۷ـ وقتی دانستی که خطایی مرتکب شده ای، گامهایی را پیاپی برای رفع آن خطا بردار.

۸ـ بخشی از هر روز خود را به تنهایی گذران.

۹ـ چشمان خود را نسبت به تغییرات بگشا، اما ارزشهای خود را به سادگی در برابر آنها وانده.

۱۰ـ به خاطر داشته باش گاه سکوت بهترین پاسخ است.

۱۱ـ شرافتمندانه بزی؛ که هر گاه بیشتر عمر کردی، با یادآوری زندگی خویش دوباره شادی را تجربه کنی…

۱۲ـ زیرساخت زندگی شما، وجود جوی از محبت و عشق در محیط خانه و خانواده است..

۱۳ـ در مواقعی که با محبوب خویش ماجرا می کنی و از او گلایه داری، تنها به موضوعات کنونی بپرداز و سراغی از گلایه های قدیم نگیر.

۱۴ـ دانش خود را با دیگران در میان گذار… این تنها راه جاودانگی است.

۱۵ـ با دنیا و زندگی زمینی بر سر مهر باش.

۱۶ـ سالی یک بار جایی برو که تا کنون هرگز نرفته ای..

۱۷ـ بدان که بهترین ارتباط آن است که عشق شما به هم، از نیاز شما به هم سبقت گیرد.

۱۸ـ وقتی می خواهی موفقیت خود را ارزیابی کنی، ببین چه را از دست داده ای که چنین را به دست آورده ای.

۱۹ـ در عشق و آشپزی، جسورانه دل را به دریا بزن.

Categories: Misc Tags:

استفاده مشترک از فایل ها در پروژه های Visual Studio

مرداد ۲۶م, ۱۳۸۸ HFakhraei ۲ comments

در برنامه نویسی زمانهایی لازم است که فایل هایی بین پروژه های مختلف به اشتراک گذاشته شود، مانند فایل App.Config که می خواهیم یکبار این فایل را تغییر دهیم و تاثیر آن در تمامی پروژه هایی که از این فایل استفاده می کنند دیده شود. به این منظور در Visual Studio امکانی به نام Solution Folder فراهم شده است که می توانیم فایل هایی را که می خواهیم به صورت مشترک استفاده شود در آنجا قرار دهیم. جهت ایجاد یک Solution Folder ابتدا باید بر روی نام Solution کلیک راست کرده و از منوی Add قسمت New Solution Folder را انتخاب کنیم.

image 

بعد از ایجاد Solution Folder بهتر است بر روی هارد دیسک در مسیری که پروژه در آنجا ایجاد شده است فولدری به همین نام ایجاد کنیک و فایل هایی را که قرار است به صورت مشترک در پروژه ها مورد استفاده قرار گیرند را به داخل این فولدر کپی کنیم.

در این مرحله باید فایل مورد نظر را به تک تک پروژه ها اضافه کنیم. فرق این مرحله با حالت عادی اضافه کردن فایل به یک پروژه این است که بجای اینکه در منوی Project –> Add Existing Item بعد از انتخاب فایل دکمه Add را انتخاب کنیم بر روی فلش موچکی که کنار دکمه Add وجود داد کلیک کرده و Add As Link را انتخاب می کنیم. در این حالت خود فایل به داخل پوشه اصلی پروژه کپی نشده و فقط لینکی از آن به پروژه ما اضافه می شود.

 imageimage

توجه شود بعد از اضافه شدن یک فایل به پروژه به عنوان Link کنار نام فایل آیکنی که نشان دهنده لینک است قرار خواهد گرفت.

 

Categories: .Net Tags:

ابزار های Open Source در Net.

مرداد ۲۲م, ۱۳۸۸ HFakhraei ۱ comment

شاید شما نیز مانند من دوستانی داشته باشید که به زبان Java برنامه نویسی می کنند و زمانی که شروع به صحبت در مورد برنامه هایی که نوشته اند می کنند، از ابزار های برنامه نویسی زیادی نام می برند که برای شما ناشناخته می باشد و بعضی اوقات شما را به این فکر فرو می برند که نکند شما نیز بهتر است به زبان برنامه نویسی Java مهاجرت کرده تا زیاد از آنها عقب نمانید.

البته زیاد نباید نگران بود زیرا اکثر ابزار و برنامه هایی که در زبان Java مورد استفاده قرار می گیرند به زبان #C نیز ترجمه شده اند و نسخه های بسیار قوی از آنها نیز برای برنامه نویسان Net. موجود می باشد. از این گونه برنامه های می توان موارد زیر را نام برد:

  • Sprint.Net که همان Spring سمت جاوا می باشد
  • NHibernate که همان Hibernate سمت جاوا می باشد.
  • iBATIS.Net که همان iBATIS سمت جاوا می باشد.

پس شاید بهتر باشد همین امروز آستین ها را بالا بزنیم و بیشتر با دنیای Open Source در Net. آشنا شویم.

Categories: .Net Tags:

Visual Studio Themes

اسفند ۱م, ۱۳۸۷ HFakhraei ۲ comments

شاید شما نیز مانند من از ظاهر محیط Visual Studio خسته شده باشید و دلتان بخواهد نمای سفید آنرا تغییر دهید. من سایت های بسیاری را جهت تغییر رنگ های Visual Studio جستجو کردم تا در نهایت ظاهر زیر به نظرم از همه بهتر آمد.

image

در زیرمراحل تغییر ظاهر برنامه Visual Studio به طور کامل توضیح داده شده است. جهت تغییر ظاهر Visual Studio مراحل زیر را دنبال نمایید.

  • ابتدا فایل تغییر ظاهر Visual Studio را از اینجا دانلود نمایید و آنرا در مسیر ..\Visual Studio 2008\Settings در My Documents کپی کنید.
  • در محیط Visual Studio از منوی Tools زیر منوی Import and Export Setting… را انتخاب کنید.

image

  • راهنمای نصب را دنبال کرده و وارد قسمت Select Import selected environment settings شوید.

image

  • در ادامه نصب Select Yes, save my current settings. را انتخاب کنید. این قسمت از تنظیمات فعلی شما نسخه پشتیبان تهیه کرده و این امکان را به وجود می آورد که  اگر تنظیمات جدید به درستی اعمال نشد به تنظیمات قبلی بازگشت نمایید.

image

  • راهنمای نصب تمام فایل های را که دارای پسوند vssettings می باشند را نمایش می دهد. جهت اعمال تنظیمات فایل مورد نظر خود را انتخاب نمایید.

image

  • راهنمای نصب این امکان را فراهم می کند که قسمتی از تنظیمات را اعمال کنید در این صفحه بهتر است All Settings را انتخاب کنید و جهت اعمال تنظیمات بر روی دکمه Finish کلیک نمایید.

image

حالا قسمت Editor با تنظیمات جدید نمایش داده می شود. از آن لذت ببرید.

منبع: Rhonda Tipton’s WebLog

از بین Viewstate, Session, Application, Cache, Cookies کدام را انتخاب کنیم؟

بهمن ۱۲م, ۱۳۸۷ HFakhraei ۲ comments

مشکل اصلی تمامی برنامه های وب

تمامی برنامه هایی که در محیط وب نوشته می شوند به طور ذاتی stateless می باشند، به این معنی که بعد از اینکه یک صفحه در سمت سرور برای کلاینت ایجاد گردید دیگر هیچ گونه اطلاعاتی از آن صفحه بر روی سرور باقی نمی ماند و هنگامیکه کاربر صفحه را Submit می کند شما مجبورید تمامی اطلاعات را از ابتدا بارگذاری کرده و صفحه را ایجاد نمایید.

ASP.Net برای حل این مشکل راه حل های متفاوتی ارائه نموده است:

  • Viewstate
  • Session Variables
  • Application Variables
  • Cache
  • Cookies

سوالی که در اینجا مطرح می شود این است که چه زمانی از چه راه حلی استفاده نماییم؟

۱- Viewstate

Viewstate یک فیلد اطلاعاتی مخفی در داخل صفحات ASP.Net است که اطلاعات تمامی کنترل های بر روی صفحه که خاصیت “EnableViewstate” آنها True می باشد را شامل می شود.

شما همچنین می توانید اطلاعات خاصی را مانند زیر به Viewstate صفحه خود اضافه نمایید:

Viewstate.Add( “TotalStudents”, “87″ );

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

به دلیل اینکه Viewstate ها در زمان ایجاد صفحه به کد تولید شده اضافه می شوند، حجم صفحات تولید شده را در زمان انتقال به کلایت افزایش می دهند، پس بهتر است در زمانهایی که با محدودیت bandwidth  رو به رو هستیم (مانند اتصال Dialup) در استفاده از Viewstate ها دقت نماییم.

۲- Session Variables

بیشتر برنامه نویس ها علاقه زیادی به استفاده از Session Variable ها دارند و Session Variable ها بسیار پر کاربرد می باشند.

هنگامی که کاربر از یک سایت دیدن می کند یک Session برای او باز می گردد و این Session زمانی از بین می رود که کاربر سایت را ترک کند یا برای مدت مشخصی Idle گردد. توجه گردد اطلاعات Session بین کاربران به اشتراک گذاشته نمی شود.

Session Variable ها بهتر است در زمان هایی استفاده گردند که اطلاعات خاصی لازم است در تمامی صفحات به اشتراک گذاشته شود و این اطلاعات را باید توان در صفحات مختلف ذحیره و یا به روز کرد.

Session Variables ها از حافظه رم سرور استفاده می کنند پس بهتر است در زمان هایی که سایت شما بازدید کننده های بسیار دارد در استفاده از آنها دقت شود و اطلاعات حجیم را در آنها نگهداری نکنید.

۳- Application Variables

Application Variables  ها اطلاعاتی می باشد که در میان تمامی کاربرانی که از یک سایت دیدن می کنند به اشتراک گذاشته می شود.

Application Variables ها را می توان به عنوان جانشینی برای Static Variable ها در محیط Stateless وب دانست. پس بهتر است فقط اطلاعاتی را که لازم ااست بین تمامی کاربران به اشتراک گذاشته شود در آنها قرار داد و به مجرد اینکه نیازی به آنها نبود آنها را از بین برد.

۴- Cache

شاید بتوان گفت Cache از کمترین درجه اهمیت در ASP.Net بر خوردار است.

Cache را می توان به  منبعی برای نگهداری حالت های اشیائی مانند Pages, Controls تشبیه کرد. که نیاز به تولید مجدد آنها نمی باشد (یا پس از یکبار تولید آنها تغییری در آنها ایجاد نمی شود) و همیشه ساختار و شکل یکسانی دارند و به صورت مداوم از آنها استفاده می شود.

۵- Cookies

Cookie ها اطلاعاتی می باشند که بر خلاف بقیه مدل ها بر روی Browser کاربر برای استفاده در آینده نگهداری می شوند.

بیشتر مواقع ازCookie ها در سایت های پریا برای شاناسایی خودکار کاربر و بازیابی اطلاعات و تنظیمات خاص آن کاربر استفاده می شود، مانند ورود خودکار (Automatic Login) به یک وب سایت.

به دلیل اینکه Cookie ها در سمت کاربر نگهداری می شوند ممکن است از نظر امنیتی دچار مشکل شوند و توسط Browser هک شوند. پس بهتر است اطلاعات مهم را در داخل Cookie ها ذخیره نکنیم.

در انتها بهتر است موارد زیر را در نظر بگیریم:

ViewState همیشه به Bandwidth زیادی نیاز دارد.

Session ها بسته به تعداد کاربران می توانند حافظه زیادی مصرف کنند.

Application Variable ها به صورت اشتراکی مصرف می شوند.

Cache بسته به تعداد کاربرانی که از سیستم استفاده می کنند می تواند منابع سیستم (مانند حافظه) را بسیار اشغال کند.

Cookie ها از امنیت کمی برخوردار هستند.

منبع: ArticleBase

Categories: .Net Tags:

حمایت نوکیا از مردم غره

بهمن ۶م, ۱۳۸۷ HFakhraei ۱ comment

پس از حمله به تعدادی از تابلوهای تبلیغاتی Nokia در تهران نمایندگی نوکیا "شرکت پارس ایراتل" تعدادی از تابلوهای تبلیغاتی خود را برای حمایت از مردم غزه اختصاص داده است.

 CC000040

 CC000041

Categories: Daily News Tags:

Switch to our mobile site