HQBrowser
benyblack
@
۷ شهريور ۱۳۸۹-۲۲:۳۳
با آرزوی قبولی طاعات و عبادات همه دوستان، این شب ها اساسا التماس دعا داریم.
HQBRowser نام یک برنامه تحت وب هست که اخیرا شروع کردم و سورس رو در
CodePlex گذاشتم. برنامه با MVC 2 نوشته شده و در اصل جهت مرور متن قرآن و ترجمه ها درست شده.
البته سعی شده که مفاهیم اصلی MVC به کار گرفته بشه و از امکانات CSS3 و در ادامه از HTML 5 استفاده بشود.
یک قسمت از برنامه هم به پیاده سازی API وب اختصاص پیدا کرده تا بشه از امکانات این سایت در وبلاگ ها و وب سایت های دیگه استفاده کرد.
در آخر هم این شعر آشنا حرف دل ماست:
اگر یادتان بود و باران گرفت
دعایی به حال بیابان کنید
123 |
T4 & MVC
benyblack
@
۲ شهريور ۱۳۸۹-۲۱:۴۷
اگر خواستید T4 Template های پیش فرض MVC رو ویرایش کنید، اینجا دنبالش بگردید:
Common7\IDE\ItemTemplates\CSharp\Web\MVC 2\CodeTemplates\
این هم ادیتور:
123 |
Ajax Request & MVC
benyblack
@
۲۸ مرداد ۱۳۸۹-۱۶:0۸
بعضی از مواقع پیش میاد که بخواهیم درخواست های معمولی و Ajax رو از طریق یک Action پاسخ بگیم اما در View های مختلف، برای مثال در Paging:
public ActionResult Archive(int pageindex = 1) {
EntitiesDNECM db = new EntitiesDNECM();
var list = db.Content.OrderByDescending(x => x.Id);
PaginatedList plist = new PaginatedList(
list, pageindex, pagesize,simplepath,ajaxpath,container);
if (Request.IsAjaxRequest()) {
return PartialView("aArchive",plist);
}
return View(plist);
}
این باعث میشه که لینک های قابل جستجو ساده تر تولید بشن.
123 |
LINQ To Saffari
benyblack
@
۱۴ مرداد ۱۳۸۹-۱۸:۲۶
نظر شما در باره این کد از برادر صفاری چیست!؟
private void cmdProcess_Click(object sender, EventArgs e) {
msg(new String('=', 40) + "[Process started]");
FileInfo[] fia = GetFileList();
msg("{0:N0} file found, totally.", fia.Length);
var l = fia.Select(
f => new
{
FileName = f.FullName,
FileHash = Encoding.UTF8.GetString(
(new SHA1Managed()).ComputeHash(
new FileStream(
f.FullName,
FileMode.Open,
FileAccess.Read
)
)
)
}
)
.GroupBy(f => f.FileHash)
.Select(g => new { FileHash = g.Key, Files = g.Select(z => z.FileName) })
.Select(f => f.Files.First());
//.ToList();
msg("{0:N0} unique files found.", l.Count());
msg(new String('=', 40) + "[Process finished]");
}
... |
OpenId & MVC
benyblack
@
۱۴ مرداد ۱۳۸۹-۱۷:۱۵
اما برای سریعتر انجام شدن کار میشه از سرویس هایی نظیر
janrain استفاده کنید. برای این کار اول این کلاس ها رو به پروژه اضافه کنید (
دانلود)
اما کنترلر:
public ActionResult Login(string token) {
if (string.IsNullOrEmpty(token)) {
return new EmptyResult();
} else {
IRpxLogin rpxLogin = new RpxLogin("your token");
try {
RpxProfile profile = rpxLogin.GetProfile(token);
//todo: validate username
string m = Membership.GetUserNameByEmail(profile.Email);
if (m == null)
return RedirectToAction("Register");
//else issue ticket and redirect to home or callback url
IssueAuthTicket(profile.Email, profile.DisplayName, false);
FormsAuthentication.SetAuthCookie(profile.DisplayName, false);
} catch (RpxException) {
return RedirectToAction("LogOn", "Account");
}
return RedirectToAction("Index", "Home");
}
}
... |
REST & MVC
benyblack
@
۱۳ مرداد ۱۳۸۹-۱۳:0۵
به این مثال ها دقت کنید :
http://api.twitter.com/statuses/home_timeline.xml
http://api.twitter.com/statuses/home_timeline.json
http://api.twitter.com/statuses/home_timeline.atom
برای ایجاد همچین ساختاری به طور ساده میشه از یه route به این شکل استفاده کرد
و اما Controller
context.MapRoute(
"Api",
"{controller}/{action}.{type}",
new { action = "Index" }
);
[HttpGet]
public ActionResult Gold(string type = "") {
Tala t = GetTalaService();
if (t != null) {
if (type == "json")
return new JsonResult() { Data = t, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
if (type == "xml") {
return new XmlResult(t);
}
return View(t);
}
return View();
}
این مدل کنتلر نوشتن باعث میشه با یه متد هم درخواست های API جواب داده بشه و هم در صورت لزوم به View سرویس داده شود.
بعد از مدت ها مطلب فنی نوشتیم، بسی از خودمان متشکریم ;)
ویرایش: در Routing برای type مقدار پیشفرض رو حذف کنید.
..123 |
اگه زندگی بــرام چشم تماشـا بذاره
benyblack
@
۱۱ مرداد ۱۳۸۹-0۰:۳۰
محمد جان نوری! از اون ور ابرها چه خبر؟!
"نمیشه غصه ما رو یه لحظه تنها بذاره
نمیشه این قافله ما رو تو خواب جا بذاره
دلم از اون دلای قدیمیه از اون دلاست
که می خواد عاشق که شد پا روی دنیا بذاره ... پا روی دنیا بذاره
دوست دارم یه دست از آسمون بیاد ما دو تا رو
ببره از اینجا و اونــور ابـــــرا بـــــذاره
تو دلت بوسـه می خواد من میدونم اما لبت
سر هر جمــله دلش میخواد یه امــــــا بـــــذاره
بی تو دنیا نمی ارزه تو با من باش و بذار
همه ی دنیام منو همیشــه تنهــا بذاره
نمیشه غصه ما رو یه لحظه تنها بذاره
نمیشه این قافله ما رو تو خواب جا بذاره
مارو تو خواب جا بذاره
دوست دارم یه دست از آسمون بیاد ما دو تا رو
ببره از اینجا و اونـور ابــرا بـــذاره
من می خوام تا آخر دنیا تماشات بکنم
اگه زندگی بــرام چشم تماشـا بذاره
بی تو دنیا نمی ارزه تو با من باش و بذار
همه ی دنیا منو همیشــه تنهـــا بذاره
دلم از اون دلای قدیمیه از اون دلاست
که می خواد عاشق که شد پا روی دنیا بذاره
پا روی دنیا بذاره"
... |
Life
benyblack
@
۱۳ تير ۱۳۸۹-۱۶:0۰
حدود دو هفته از مراسم میگذره و زندگی داره به شرایط عادی می رسه.

این روزها مشغول به همکاری با سام سرویس و کتاب اول هستم.
کد نویسی، پروژه، مطالعه و ... . البته مقادیر زیادی کار نصفه و نیمه باقی هست که باید تموم کنم.
این هم ازپست تلگرافی ما
ملالی نیست جز دوری شما
... |
2
عروسی
benyblack
@
۳۰ خرداد ۱۳۸۹-۱۳:۲۰
پنجشنبه 27 خرداد عروسی شدیم!
ممنون از همه دوستانی که قدم رنجه کردن.
... |
4
Just an Idea
benyblack
@
۲۴ ارديبهشت ۱۳۸۹-0۰:۵۰
حدود یک ماه به مراسم عروسی مونده و یه عالم کار و برنامه انجام نشده ... . شکر خدا خونه تهیه شد. اما اینقدر کار های جزیی هست که به هیچ کد نویسی نمی رسم. وسط همه این درگیری ها باید دنبال کار هم بگردم!! این چند وقت هم فقط تونستم ایده ها رو جمع کنم و پرورش بدم. ایکاش آدم بتونه در طی سال یک ماه رو به جای کار به ایده ها بپردازه.
... |
1
New Year, New Life, New Projects
benyblack
@
۱۰ فروردين ۱۳۸۹-۱۵:0۳
سال نو همه مبارک. امیدوارم که در سال جدید همگی در پرتو لطف های پروردگار موفق و پیروز باشید.
سال سختی پشت سر گذاشته شد. حداقل برای من. بعضی اتفاقات تلخ هرگز از ذهنم پاک نمیشه. آخر سال همزمان شد با خروج من از مجموعه ای که برای این روزهاش من سال های زیادی رو خون دل خوردم. رفتار، تهمت ها و سخنان سخیف دوستان قدیمی بعضا غیرقابل درک و غیرقابل پیش بینی بود. اما این ها برای من که بار ها از صفر شروع کردم پایان کار نیست.
اما تلخی همه این اتفاقات به شیرینی شروع زندگی مشترک می ارزید. امیدوارم به لطف خدا و فکر می کنم این لطف خدا بود تا من راه جدیدی رو برای زندگی انتخاب کنم.
و اما سال جدید! چند تا طرح خوب آماده کردیم با دوستان که بعضا سال ها براش فکر شده و الآن کارهای اجراییش هم شروع شده. فکر می کنم به زودی شاهد خبر های خوبی خواهید بود. برنامه نویس ها آماده باشن! ;)
... |
5
Model First & Entity Framework
benyblack
@
۲۲ اسفند ۱۳۸۸-۱۰:0۱
در این مقاله درباره روش Model First در طراحی صحبت شده. در این روش ابتدا مدل را می سازیم و سپس دیتابیس بر اساس مدل ساخته می شود. در EF 4 با استفاده از امکاناتی مانند
ComplexType می توان به راحتی دیتابیس را بر اساس طراحی تولید کرد.
123 |
ParsaSpace
benyblack
@
۱۱ اسفند ۱۳۸۸-۱۱:۱۶
... |
1
Job
benyblack
@
۵ اسفند ۱۳۸۸-۱۵:۳۴
دنبال کار می گردم، اگر کسی موردی سراغ داره ممنون می شم که یه خبری بده.
... |
2
StoredProcedures And Entity Framework
benyblack
@
۶ بهمن ۱۳۸۸-۱۹:۲۰
احتمالا پیش اومده که query ها در EFF کمی پیچیده شده باشه و ترجیح بدین که با همون SP ها کارتون رو انجام بدین. البته در مورد من مشکل اینه که وقتی query ها سنگین میشن خیلی به Performance اون اعتمادی ندارم.
ابتدا SP رو به مدلتون اضافه کنید
از Model Browser از لیست SP ها SP مورد نظر خودتون رو انتخاب کنید
کلیک راست کنید و گزینه "Create Import Function" رو انتخاب کنید
از کد Designer مدل جزئیات کد رو چک کنید
متدی با همین نام به Entity Container اضافه شده.
اخیرا خیلی از EFF استفاده می کنم اما هیچ وقت تمام و کمال خودم رو به یک فریم ورک وابسته نمی کنم.
... |