سایت بیت باکت یکی از بهترین سایتهای مخزن گیت رایگان است که تا 5 نفر میتوان به صورت خصوصی از آن بهره برد ولی به دلیل مشکلاتی که در isp ما بود، استفاده آن بدون پروکسی ممکن نبود، بدین جهت به سراغ گیت لب رفتم. کار کردن با آن آسان، دارای امکانات متنوع و قابلیت انتقال مخازن از گیت هاب، بیت باکت ، گوگل کد و ... را نیز داراست.
چک لیست تهیه یک هاست خوب برای تازه کاران
هزینهی سنگین ترافیک : این مورد آن قدر به وضوح پیداست که شما را به کل برای هر نوع خریدی پشیمان میکند؛ مگر اینکه پولتان از جایی تامین میشود. ادارات دولتی عموما این نوع هاست را بر میدارند و یا سایتهای اشتراکی که منابع زیادی را مصرف نمیکنند و یا شرکتها یا اشخاصی که پول تامین را دارند.
// for Google var urlReferrer = Request.UrlReferrer.ToString(); var query = HttpUtility.ParseQueryString(urlReferrer); var searchQuery = query["q"];
- در مورد موضوع بحث جاری، در فایل jquery.validate.js سه متد minlength ، maxlength و rangelength برای بررسی طول حروف وارد شده، مورد استفاده قرار میگیرند. بازنویسی آنها جهت اعمال متد removeAllTagsAndTrim، دقیقا شبیه به بازنویسی متد required است که در بحث جاری ملاحظه کردید.
آشنایی و بررسی ابزار Glimpse
وبپارت اسلاید متحرک در شیرپوینت 2010
«اگر کپی مطابق اصل خطای مشاهده شده را در جستجوی گوگل paste کنید و بر روی دکمه جستجو کلیک نمائید، در همان صفحه اول به جواب خواهید رسید»
این خطاها و این جملات بارها در سایتهای مختلف تکرار شدن. چون تغییری هم نخواهند کرد، به عنوان یک مرجع رفع اشکال مورد استفاده قرار میگیرند.
مثلا همین عبارت بالا را که جستجو کنید به این راه حل خواهید رسید.
OpenID چیست؟
چون Active Directory با Domain تنظیم میشه
اما این حالت احراز هویت روی فرم تنظیم میشه
برای SSO مطلب توی همین سایت هست در واقع توی اون روش ما با یک اکانت که توی یک سایت داریم از سایتهای دیگه روی همون سرویس استفاده میکنیم و میشه گفت حالت اختصاصی داره
اما توی این حالت شما با هر سایتی که این قابلیت داشته باشه میتونی کار کنی
اندکی به روز رسانی
لیست وبلاگهای آی تی ایرانی را به روز کردم که فایل OPML آن از اینجا و همچنین از طریق لینک آن در منوی سمت راست سایت قابل دریافت است.
این لیست بر اساس یافتههای من از سایتهای به اشتراک گذاری لینکهای ایرانی است مانند : idevcenter.com و mohand.es . اگر آدرس وبلاگ شما در این لیست قرار ندارد لطفا یکبار در یکی از این دو سایت آدرس مطالب خود را منتشر کنید. با تشکر
دارید اطلاعات یک فرم داخل صفحه رو به سمت سرور میفرستید و پس از اتمام عملیات، صفحه دوباره نمایش داده میشه. در این حالت اگه دکمه F5 یا دکمه Refresh مرور گر رو بزنید، با این پنجره مواجه میشید که میگه دارید اطلاعات قبلی رو دوباره به سمت سرور میفرستید. بعضی وقتها کاربران به هر دلیل دوباره صفحه رو Refresh میکنند و با این پنجره روبرو میشن بدون اینکه بدونن جریان از چه قراره، دوباره اطلاعات رو به سمت سرور میفرستن و این کار باعث ثبت اطلاعات تکراری میشه. برای جلوگیری از این کار الگویی به نام Post/Redirect/Get هست که راه حلی رو برای اینکار پیشنهاد میده.
راه حل به این صورت هست که پس از پست شدن فرم به سمت سرور و انجام عملیات، بجای اینکه صفحه، دوباره با استفاده از متد GET به کاربر نشون داده بشه، کاربر Redirect بشه به صفحه. برای توضیح این مسئله به سراغ AccountController که بصورت پش فرض وقتی یک پروژه ASP.NET MVC رو از نوع Internet ایجاد میکنید، وجود داره.
[HttpGet] [AllowAnonymous] public ActionResult Register() { return View(); }
[HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { // Attempt to register the user try { WebSecurity.CreateUserAndAccount(model.UserName, model.Password); WebSecurity.Login(model.UserName, model.Password); ViewBag.Message = "Successfully Registered!"; // PRG has been maintained return RedirectToAction("Index", "Home"); } catch (MembershipCreateUserException e) { ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } } // If we got this far, something failed, redisplay form return View(model); }
[HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { // Attempt to register the user try { WebSecurity.CreateUserAndAccount(model.UserName, model.Password); WebSecurity.Login(model.UserName, model.Password); ViewBag.Message = "Successfully Registered!"; // PRG has been maintained return RedirectToAction("Register"); } catch (MembershipCreateUserException e) { ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } } // If we got this far, something failed, redisplay form return View(model); }