تشکر
benyblack
@
۳۱ خرداد ۱۳۹۰-۲۱:۲۷
یک سال و چند ماه پیش بود که به لطف دوستان سابق مشکلات زیادی بابت کار برام ایجاد شد. واقعا اوضاع بدی داشتم. توی اون شرایط
مهدی خان صفاری با یک پیشنهاد خوب من رو به سامسونگ برد و بعد از چند وقت هم با ارتباط با دوستان، موقعیت های خوبی برام پیش آورد. شاید اگر این لطف ها نبود مراسم ازدواج من هم سر نمی گرفت. امروز بعد از 16 ماه از دوست عزیزم در سامسونگ جدا شدم تا به موقعیت های دیگری که برام پیش آمده فکر کنم. خیلی دوست دارم در مورد این مدت همکاری مطلب بنویسم. از سختی ها و شیرینی ها، از موفقیت ها و شکست ها و ... اما بهترین قسمتش اینه که از اون روز ها فقط خاطره های قشنگ برام مونده. این پست رو برای این نوشتم که تشکری کرده باشم از این رفیق همیشگی.
مهدی جان ممنون.
این رو هم اضافه کنم که ما با هم روی یک سرویس جدید کار می کنیم که البته برادر
شاهو هم در این پروژه حضور دارن. خبراش بزودی میرسه ان شااله.
... |
3
سال نو
benyblack
@
۱۵ فروردين ۱۳۹۰-0۱:۱۱
سال نو مبارک
فعلا همین تا بعد ;)
... |
2
MVC dynamic action
benyblack
@
۲ دي ۱۳۸۹-۱۵:۱۷
بعضی وقت ها نیاز است که با یک Action بتوانیم انواع ویو و Object رو مدیریت کنیم. فکر می کنم مثال زیر گویاست:
[HttpPost]
public ActionResult Create(BaseContent model) {
ModelBindingContext md = new ModelBindingContext();
string assemblyName = typeof(Link).Assembly.FullName;
string fullTypeName = "DNE.CM.Centers.Data.Virt." + model.Type.UpperFirst();
var obj = Activator.CreateInstance(assemblyName, fullTypeName);
Type T = typeof(Link).Assembly.GetType(fullTypeName);
var center = obj.Unwrap();
// Bind model
ModelMetadata modelMetadata = ModelMetadataProviders.Current.GetMetadataForType(() => center, T);
md.ModelMetadata = modelMetadata;
md.ValueProvider = new FormValueProvider(ControllerContext);
dynamic bindResult = ModelBinders.Binders.DefaultBinder.BindModel(ControllerContext, md);
bindResult.Save();
return RedirectToAction("Edit", new { id = bindResult.Id });
}
123 |
Hummmm
benyblack
@
۲۴ آبان ۱۳۸۹-۱۱:۲۰
یه خورده خسته ام و حوصله وبلاگ نویسی ندارم! خوب چیه؟!

اگر همه چیز خوب پیش بره تا دو ماه آینده یه کم سرم خلوت میشه و بیشتر می نویسم. فعلا زنده هستیم
این هم اکانت های توئیتر و فیسبوک (رخنامه!) ما
... |
Anzali
benyblack
@
۱۸ مهر ۱۳۸۹-۱۲:۳۲
هفته پیش بعد از حدود 5 ماه به
انزلی رفتم. چه هوایی بود. واقعا به این مسافرت احتیاج داشتم.
این روزها مشغول مراحل پایانی پروژه کتاب اول هستیم و سخت مشغول کار.
چند روز پیش هم سالگرد عقد ما بود. یک سال گذشت. خیلی سخت اما پربار.
شکر
این اخبار تلگرافی چند وقت اخیر!
... |
1
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