پیاده سازی «من را بخاطر بسپار» در ASP.NET

اکثر وب سایت ها هنگام ورود کاربران یا همان Login کردن، برای راحتی کاربر قابلیتی دارند به نام «Remember me» یا «من را بخاطر بسپار» که با تیک زدن آن کاربر از آن به بعد می تواند بدون اینکه نام کاربری یا رمز عبور خود را وارد کند، از امکانات سایت استفاده کند. نمونه این قابلیت را حتماً هنگام وارد شدن در جی میل دیده اید. در این مطلب کوتاه آموزشی می خواهیم چنین قابلیتی برای یک وب سایت مبتنی بر ASP.NET پیاده سازی کنیم.
ابتدا باید بدانید که این قابلیت توسط کوکی ها پیاده سازی می شوند. Cookie یک فایل فایل متنی کوچک است که توسط مرورگر به درخواست یک صفحه وب ساخته می شود و برای استفاده های بعدی خوانده می شود. از آنجا که اطلاعات یک کوکی در هارد دیسک کاربر ذخیره می شوند، شما نباید اطلاعات حساس مانند رمزعبور کاربر را در آن نگهداری کنید. ASP.NET برای استفاده از کوکی ها کلاس هایی در نظر گرفته است. شما باید برای استفاده از کوکی ها ابتدا فضای نام System.Net را using کنید. در این مثال فرض می کنیم که شما با مباحث پایه ای ASP.NET آشنایی دارید.
صفحه لاگین خود را باز کنید و یک کنترل CheckBox به آن اضافه کنید و نام آن را به chkRemember تغییر دهید. در روال لاگین خود یعنی وقتی که کاربر درخواست ورود به سایت را می فرستد (مثلاً روی دکمه Login کلیک می کند) کدهای زیر را قرار دهید.

if (chkRemember.Checked)
{
HttpCookie cookie = new HttpCookie(«YourAppLogin»);
cookie.Values.Add(«username», txtUsername.Text);
cookie.Expires = DateTime.Now.AddDays(15);
Response.Cookies.Add(cookie);
}

کد بالا ابتدا چک می کند که آیا چک باکس توسط کاربر تیک خورده است یا خیر. اگر تیک خورده یعنی اینکه کاربر می خواهد وب سایت شما او را بخاطر بسپارد. سپس cookie را از کلاس HttpCookie نمونه سازی می کنیم و نام آن را YourAppLogin می گذاریم که در اینجا شما باید نام اپلیکیشن خود را به جای آن بگذارید (یا هر نام دلخواه دیگری) سپس Username کاربر را در این کوکی ذخیره می کنیم. txtUsername را به نام کامپوننتی که Username را از کاربر می گیرد تغییر دهید. در اینجا شما می توانید مقادیر دیگری را به همین شکل به کوکی اضافه کنید، به طور مثال ID کاربر را نیز برای هدف خاصی ذخیره کنید. در خط بعدی با Expires به مرورگر می گوئیم که پس از 15 روز این کوکی را به صورت خودکار حذف کند. این زمان را می توانید با تغییر عدد 15 عوض کنید. در خط آخر نیز باید این کوکی را به مجموعه کوکی های مرورگر اضافه کنیم.

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

if (Request.Cookies[«YourApLogin»] != null)
{
string username = Request.Cookies[«YourAppLogin»].Values[«username»]);
}

استفاده از کدهای بالا در صورتی است که شما Login را به صورت دستی کدنویسی کرده باشید. کسانی که از روش Forms Authentication و قابلیت Membership در ASP.NET استفاده می کنند به راحتی با یک خط کد زیر می توانند از این  قابلیت استفاده کنند :

FormsAuthentication.SetAuthCookie(txtUsername.Text, chkRemember.Checked);

farasun.wordpress.com

پ.ن : این مطلب هم تقدیم می شود به همکلاسی های عزیز!

آپلود تصاویر در ASP.NET (در فایل فیزیکی و در دیتابیس)

در این مطلب کوتاه آموزشی با نحوه آپلود تصاویر در یک وب سایت مبتنی بر ASP.NET آشنا خواهید شد. در اینجا ما یک برنامه کوچک به زبان سی شارپ می نویسیم که کاربر را قادر می سازد که یک فایل تصویری با پسوند JPG را انتخاب و آپلود کند. در این آموزش فرض بر این است که شما با سی شارپ و مباحث پایه ای دات نت آشنا هستید.
برای این کار ابتدا یک کنترل FileUpload را از Toolbox (موجود در قسمت Standard) به صفحه خود اضافه کنید. یا اینکه کد زیر را در محلی که می خواهید کنترل آپلود فایل نمایش داده شود، قرار دهید.

<asp:FileUpload ID="PicUpload" runat="server" />

قبل از هر چیز فضای نام System.IO را using کنید. حالا کدهای زیر را در روالی که می خواهید عمل آپلود فایل در آن انجام شود قرار دهید. به طور مثال اگر می خواهید وقتی روی دکمه Upload کلیک شد، تصویر کاربر بر روی سرور آپلود شود، این کدها را درون روال Upload_Click قرار دهید.

if (PicUpload.PostedFile != null)
{
HttpPostedFile Pic = PicUpload.PostedFile;
if (Pic.ContentLength == 0)
{
Response.Write("فایل شما هیچ محتوایی ندارد!");
return;

}
if (Path.GetExtension(Pic.FileName).ToLower() != «.jpg»)
{
Response.Write(«پسوند این فایل نامعتبر است.»);
return;
}
byte[] data = new Byte[Pic.ContentLength];
Pic.InputStream.Read(data, 0, Pic.ContentLength);
string SavePath = @»images/»;
FileStream newPic = new FileStream(Server.MapPath(SavePath + Pic.FileName), FileMode.Create);
newPic.Write(data, 0, Pic.ContentLength);
newPic.Close();
}

این کد چطور کار می کند؟

در خط اول ابتدا چک می کنیم که آیا کاربر فایلی را برای آپلود انتخاب کرده است یا خیر. یعنی خاصیت PostedFile اگر برابر null بود به این معنی است که کاربر هیچ فایلی را برای آپلود انتخاب نکرده است پس کدهای زیر آن نباید اجرا شوند. سپس متغیری به نام Pic از نوع HttpPostedFile می سازیم تا بتوانیم اطلاعاتی در مورد فایل انتخابی کاربر بدست آوریم. بعد از آن با یک شرط چک می کنیم که حجم فایل انتخابی کاربر برابر با صفر نباشد. در if بعدی هم چک می کنیم که اگر پسوند فایل برابر jpg نبود یک پیغام خطای مناسب به کاربر نشان بده. بدیهی است که در اینجا می توانید پسوندهای دیگری مثل pdf را چک کنید.

دو خط زیر هم اطلاعات فایل انتخابی توسط کاربر را می خوانند :

byte[] data = new Byte[Pic.ContentLength];
Pic.InputStream.Read(data, 0, Pic.ContentLength);

و خط های زیر نیز عمل ساختن فایل جدید از روی فایل کاربر بر روی سرور (عمل آپلود) را انجام می دهند :

FileStream newPic = new FileStream(Server.MapPath(SavePath + Pic.FileName), FileMode.Create);
newPic.Write(data, 0, Pic.ContentLength);

آپلود تصاویر در یک دیتابیس SQL Server

اگر بخواهید به جای آپلود فایل کاربر روی یک فایل فیزیکی موجود در سرور آن را در یک دیتابیس SQL Server آپلود کنید، می توانید از قطعه کد زیر به جای دو خط بالا استفاده کنید. ابتدا فضاهای نام System.Data و System.Data.SqlClient را using کنید و سپس کد زیر را در جای مناسب قرار دهید.

object objImage = data;
SqlConnection connection = new SqlConnection(connectionString);
string sql_insert = "INSERT INTO tblImage (picture) values (@img)";
SqlCommand command = new SqlCommand(sql_insert, connection);
SqlParameter parameter = new SqlParameter("@img", SqlDbType.Image);
parameter.Value = objImage;
command.Parameters.Add(parameter);
connection.Open();
command.ExecuteNonQuery();
connection.Close();

در کد بالا رشته اتصال دیتابیس خود را به جای connectionString قرار دهید و نام جدول و فیلدهای خود را در متغیر sql_insert بنویسید.

farasun.wordpress.com

پ.ن : این مطلب تقدیم می شود به همکلاسی های عزیز!

if (Path.GetExtension(Pic.FileName).ToLower() != «.jpg»)
{
Response.Write(«پسوند این فایل نامعتبر است.»);
return;
}

لینک به توییتر! راهی دیگر برای استفاده از توییتر در دات نت

من قبلاً هم مطلبی نوشته بودم و نحوه استفاده از API توییتر در دات نت را توضیح داده بودم +. اگر نمی دانید توییتر چیست به همان مطلب مراجعه کنید. در این مطلب به معرفی یک کتابخانه کدباز می پردازم که تمام امکانات API توییتر را به شما در قالب یک Linq Provider می دهد.

LinqToTwitter یک فراهم کننده LINQ برای استفاده از معروف ترین سرویس دهنده میکرو بلاگینگ یعنی توییتر در برنامه های مبتنی بر دات نت فریم ورک 3.0 به بعد است. LINQToTwitter از سینتاکس استاندارد LINQ برای ایجاد کوئری و انجام متدهایش استفاده می کند. این یعنی برای استفاده از آن در برنامه خود باید با قواعد LINQ آشنایی داشته باشید.

200xColor_2اگر با LINQ آشنایی داشته باشید به راحتی می توانید با استفاده از این کتابخانه با وب سایت توییتر ارتباط برقرار کنید و کوئری های خود را روی آن اجرا کنید و نتیجه را مشاهده کنید. این کتابخانه علاوه بر امکان برگرداندن PublicTiemLine و FriendsTimeLine، می تواند TimeLine یک کاربر خاص را نیز به شما تحویل دهد و متدهایی برای آپدیت کردن وضعیت، فرستادن دایرکت مسیج، بلاک کردن یک کاربر خاص، فالو کردن، تغییر در پروفایل کاربر وسرچ کردن در تایم لاین توییتر را در اختیارتان قرار میدهد تا بتوانید یک کلاینت بی نقص برای توییتر بسازید.

با این کتابخانه اوپن سورس شما می توانید از توییتر در وب سایت های مبتنی بر ASP.NET و ASP.NET MVC و برنامه های WinForms و دیگر نرم افزارهای تحت دات نت فریم ورک استفاده کنید. هیچکس نمی تواند منکر محبوبیت و تاثیر بسیار زیاد توییتر در دنیای امروز شود. به طور مثال می توانید کاری کنید که خبرهای وب سایت خودتان یا مشتری تان به محض انتشار در اکانت توییتر مخصوص به آن نیز توییت شود.

چطور از LinqToTwitter استفاده کنیم؟

ابتدا به وب سایت  LinqToTwitter بروید و آخرین نسخه آن را دریافت کنید. همانطور که گفتم این کتابخانه کدباز است، وقتی دانلود شما تمام شد، سورس کد کامل این پروژه را در اختیار دارید. برای استفاده از این کتابخانه در پروژه خود باید ابتدا آن را کامپایل کنید. سولوشن LinqToTwitter.sln را با ویژوال استادیو 2008 باز کنید. این سولوشن دارای چند دمو بسیار مناسب هم هست که نحوه استفاده از این کتابخانه را به شما نشان می دهند. روی پروژه LinqToTwitter در Solution Explorer کلیک راست کنید و گزینه Build را انتخاب کنید.الان فایل LinqToTwitter ساخته شده. در پروژه خودتان به فایل LinqToTwitter.dll ارجاع دهید. حالا برای استفاده از آن در هر جا که نیاز دارید فضای نام LinqToTwitter را using/Import کنید.

مانند LinqToSQL که یک DataContext وجود دارد، در این کتابخانه نیز یک TwitterContext وجود دارد. حداقل کاری که می توانید با آن بکنید این است که نام کاربری و زمز عبور حساب توییتر خود را ست کنید و یک توییت با آن انجام دهید. در زیر مثالی به زبان سی شارپ را برای انجام این کار می آورم.

var context = new TwitterContext("[myusername]", "[mypassword]");
var status = context.UpdateStatus("Tweeted via linq2twitter");

اگر می خواهید لیستی از توییت های خود را در وب سایت خود نمایش دهید می توانید به صورت زیر عمل کنید :

var context = new TwitterContext("[yourusernamehere]", "[yourpasswordhere]");
var MyTweets =
from tweet in context.Status
where tweet.Type == StatusType.User
&& tweet.ID == "[youruserid]"
&& tweet.Page == 1
&& tweet.Count == 10
select tweet;

در مثال بالا، شما باید نام کاربری و رمز عبور خود را ست کنید تا این کوئری 10 توییت آخر شما را برگرداند.

اگر عضو توییتر نیستید، می توانید برای امتحان کردن این کتابخانه از کد زیر استفاده کنید. این مثال آخرین توییت ها در تایم لاین عمومی توییتر را برمیگرداند (مثال موجود در وب سایت رسمی پروژه) :

var twitterCtx = new TwitterContext();
var publicTweets =
from tweet in twitterCtx.Status
where tweet.Type == StatusType.Public
select tweet;

LinqToTwitter مثال خوب دیگری است که نشان می دهد LINQ فقط برای دسترسی به داده های یک دیتابیس نیست، بلکه می توان از آن برای کار با داده های مختلف، اشیاء و حتی توییت ها استفاده کرد.

farasun.wordpress.com

مطالب مرتبط با این پست را بخوانید :

یادگیری ASP.NET با پروژه های کدباز

برای یادگیری هر تکنولوژی جدیدی، در کنار خواندن کتاب و مقاله، بهترین راه، مشاهده مثال های واقعی و قرار گرفتن در سناریوهای عملی است. در برنامه نویسی شما هر چقدر هم که کتاب بخوانید و آموزش ببینید اما تمرین نکنید و کد ننویسید هیچ پیشرفتی نخواهید کرد. ASP.NET فریم ورک رایگان و قدرتمند مایکروسافت برای تولید اپلیکیشن های تحت وب است. اگر هم اکنون در حال یادگیری ASP.NET هستید و یا حتی در آن حرفه ای شده اید، به شما توصیه میکنم حتماً به پروژه های کدباز جامعه ASP.NET نگاهی بیندازید. علاوه بر نکات و ترفندهای جدیدی که در این پروژه ها فرا خواهید گرفت، می توانید از آن ها به عنوان پایه پروژه های خود استفاده کنید.

پروژه های کدباز زیر توسط اجتماع کاربری ASP.NET تولید شده اند که مثال های عملی و بسیار مناسبی برای کسانی که می خواهند با فریم ورک ASP.NET برنامه نویسی کنند، فراهم کرده اند.

My Web Pages Starter Kit

My_Web_Pages یک CMS کوچک و جمع و جور برای راه اندازی یک وب سایت شخصی است. تغییر ظاهر آن ساده است. به راحتی می توانید امکانات آن را بر اساس نیازهای خودتان ارتفا دهید. با استفاده از ASP.NET 2.0 توسعه داده شده و برای ذخیره داده ها از روش مبتنی بر فایل های XML استفاده می کند و بیخود شما را درگیر پیچیدگی های SQL Server نمی کند. MasterPage, Themes, Data binding, Navigation, Custom Membership Provider از مفاهیمی هستند که در این پروژه مورد استفاده قرار گرفته اند. توسعه دهندگان این پروژه سعی کردند تا سادگی در استفاده برای کاربران نهایی و سادگی در توسعه برای توسعه دهندگان را حفظ کنند.

TheBeerHouse: CMS and E-commerce Starter Kit

TheBeerHouseاین پروژه به شما کمک می کند تا یک وب سایت تجارت الکترونیکی راه اندازی کنید و آن را به خوبی مدیریت کنید. با مشاهده کدها و مستندات این پروژه با قابلیت های کلیدی موجود در ASP.NET 2.0 آشنا خواهید شد. با نحوه استفاده از Master Page، Theme، Membership، WebParts و کنترل های GridView, FormView، DetailsView آشنا خواهید شد. این پروژه کدباز، مثال مورد استفاده در کتاب “ASP.NET 2.0 Website Programming / Problem – Design – Solution.” است.

Club Site Starter Kit

Clubاین پروژه می تواند نقطه شروعی برای ایجاد وب سایت باشگاه یا سازمان شما باشد. شامل سیستم اخبار، اعضاء، تقویم و آلبوم عکس است. ایجاد اخبار و مقالات و انتشار و به اشتراک گذاری تصاویر بسیار آسان انجام می گیرد. توسعه و اضافه کردن قابلیت های جدید به این پروژه کدباز بسیار آسان است. دو پروژه دیگر که بر اساس این پروژه کدباز شکل گرفته اند، اماکنات بیشتری را در اختیار شما و کاربران نهایی می گذارند.

CodePlex Club Site Starter Kit

نسخه گسترش داده شده پروژه اصلی Club Site است که شامل ابزار وبلاگ نویسی و قابلیت های مدیریتی بهتر است. امکانات نسخه اصلی بهبود یافته اند و امکانات جدیدی مثل نظرسنجی، مدیریت لیگ و فاروم به آن اضافه شده است.

Extended  Club Site Starter Kit

نسخه گسترش یافته دیگری از پروژه  Club Site است که صفحات مدیرتی جدیدی برای تعیین نقش های کاربران (User Roles) و ساختار نقشه سایت (Site Map) فراهم می کند. کاربران وب سایت با استفاده از WebParts می توانند صفحات خانگی خودشان را سفارشی کنند و به علت استفاده از قابلیت Theme در ASP.NET 2.0 کاربران می توانند ظاهر سایت را بر اساس سلیقه خود تغییر بدهند.

Job Site Starter Kit

Job

یک اپلیکیشن وب برای راه اندازی وب سایت های کاریابی است. کارفرمایان نیازهای شغلی خود را تعریف می کنند و کارجویان با جستجو میان این نیازها، شغل مورد نظر خود را پیدا می کنند. مفاهیم کلیدی ASP.NET 2.0 از جمله Master Page, Themes, Membership, Roles, Profiles و Data Controls در این پروژه استفاده شده اند. ساده طراحی شده و استفاده از آن برای کاربران ساده است اما امکانات خیلی زیادی ندراد.

Kigg

Kigg

یک وب سایت با کارکرد شبیه به Digg که با استفاده از ASP.NET MVC ، LINQ to SQL و ASP.NET AJAX توسعه داد شده است. کاربران می توانند لینک های خود را ارسال کنند و دیگر کاربران می توانند به آن ها امتیاز دهند.

FlexWiki

FlexWiki

اپلیکیشنی مناسب برای راه اندازی ویکی ها است که برای ذخیره داده هایش از فایل های معمولی استفاده می کند. البته می توانید از مخزن مبتنی بر SQL Server هم استفاده کنید.

YetAnotherForum

YetAnotherForum
یک اپلیکیشن قدرتمند برای راه انداری فاروم های بحث و گفتگو در دنیای دات نت است. YAF هم به صورت جداگانه می تواند نصب شود و هم می تواند به عنوان یک ماژول برای دات نت نیوک مورد استفاده قرار گیرد.

BlogEngine.NET

benlogo80
اپلیکیشن کدباز بسیار قدرتمند برای ایجاد و نوشتن وبلاگ که نصب و استفاده از آن بسیار آسان است. داده های وبلاگ می توانند بر اساس انتخاب کاربر در یک دیتابیس SQL Server یا در فایل های XML ذخیره شوند. این پروژه کدباز با C#x و ASP.NET 2.0 نوشته شده و با مهارتی که در دات نت دارید می توانید به راحتی آن را توسعه دهید.

nopCommerce

nopCommerce

اپلیکیشن تحت وب برای ایجاد وب سایت های تجارت الکترونیکی است که مبتنی بر ASP.NET 3.5 و SQL Server است. این پروژه راه حلی حرفه ای برای تجارت الکترونیکی در اختیار کاربران قرار می دهد و از آخرین تکنولوژی های مایکروسافت برای توسعه آن استفاده شده است.

JobPers

jobpers

یک پروژه کاملاً فارسی برای ایجاد وب سایت های کاریابی/نیرویابی است که با استفاده از ASP.NET 3.5 و LINQ to SQL ساخته شده است. با استفاده از معماری سه لایه و کاملاً شیء گرا توسعه داده شده است. من این پروژه را برای درس مهندسی نرم افزار خودم ارائه داده ام. قرار بود در تابستان کتابی در مورد ASP.NET 3.5 و LINQ to SQL چاپ شود و از این پروژه به عنوان مثال استفاده شود که متاسفانه به علت یکسری مشکلات، این اتفاق رخ نداد. به هر حال هنوز نمی توان با این پروژه یک وب سایت کاریابی و نیرویابی کامل راه اندازی کرد اما برای یادگیری مفاهیم مناسب خواهد بود. این پروژه کدباز بوده و تحت مجوز GPL نسخه 2 توزیع شده است.

farasun.wordpress.com

منبع : ASP.NET Starter Kits and Community Projects

مشترک فید فراسان شوید! نمی دانید فید چیست!؟

مطالب مرتبط :

Kaxaml یک ویرایشگر خوب برای فایل های xaml

اگر با WPF یا سیلورلایت آشنایی داشته باشید حتماً می دانید فایل های xaml به چه دردی میخورند! Xaml یک زبان بر مبنای XML است که برای طراحی رابط کاربری اپلیکیشن های WPF و Silverlight مورد استفاده قرار می گیرد. با استفاده از این زبان، می توانید رابط های کاربری بسیار زیبایی خلق کنید.

kaxaml

برنامه نویسانی که از WPF در پروژه هایشان استفاده می کنند حتماً از قابلیت های ویرایشگر های ویژوال استادیو و Expression Blend برای ویرایش فایل های Xaml باخبرند. نرم افزارهای فوق امکانات خوبی برای این کار در اختیار شما قرار می دهند. اما یک برنامه نویس همیشه به جز یک محیط توسعه خوب، یک ابزار سبک هم برای ویرایش فایل های برنامه اش کنار می گذارد. به طور مثال من از ویژوال استادیو استفاده میکنم اما برای ویرایش فقط یک فایل سورس سی شارپ هیچ وقت ویژوال استادیو رو باز نمی کنم، بلکه با Notepad++ کارم را انجام می دهم.

kaxaml-shot
برای ویرایش فایل های xaml نیز می توان از ابزارهای سبک تر از ویژوال استادیو و Expression Blend استفاده کرد. Kaxaml یک ویرایشگر بسیار مناسب و سبک برای این منظور است. Kaxaml هم رایگان است و هم اوپن سورس و هم خودش بر مبنای WPF و دات نت فریم ورک 3.0 توسعه یافته است. این برنامه امکانات خوبی همچون پیشنهاد عبارات مرتبط شبیه به Intellisense دارد. چندین فایل xaml را می توانید در تب های جداگانه ویرایش کنید. در حین تایپ کدهایتان می توانید پیش نمایش زنده ای از طرح تان ببینید.
یکی از ویژگی های خوب این برنامه، ویژگی Snippets است که شامل کدهای نمونه xaml است که با آن ها می توانید به یادگیری زبان xaml بپردازید. حتی می توانید قطعه کدهای خود را نیز به Snippets اضافه کنید. ویژگی مناسب دیگر آن، قابلیت ذخیره کردن طرح شما در قالب PNG است.

Kaxaml توسط یکی از اعضای اصلی تیم توسعه WPF مایکروسافت نوشته شده و سورس کد آن در سایت CodePlex در دسترس است.

Kaxaml در نسخه جدید و بتای خود از سیلورلایت 2 پشتیبانی می کند. نسخه بتا را از اینجا و نسخه 1.0 (قدیمی تر) را اینجا دریافت کنید. نسخه بدون نیاز به نصب را نیز از اینجا دریافت کنید.

farasun.wordpress.com

می خواهید مطالب این وبلاگ را دنبال کنید! مشترک فید فراسان شوید! نمی دانید فید چیست!؟

مطالب مرتبط :

به اشتراک گذاری قطعات کد در شبکه های اجتماعی

استفاده از خدمات شبکه‌های اجتماعی، روزبه‌روز محبوبیت بیشتری بین کاربران اینترنت پیدا می‌کند. شبکه های اجتماعی مثل فیس بوک و توییتر در حال تبدیل شدن به جزئی از زندگی ما کاربران اینترنت شده است. این حرف اشتباه نسیت اگر بگوییم بعد از جستجو و ایمیل، شبکه های اجتماعی از پر استفاده ترین خدمات اینترنتی هستند! اگر احساس می کنید هنوز شبکه های اجتماعی هیچ تاثیری روی زندگی شما نگذاشته اند، باید بدانید که در آینده این شبکه های اجتماعی بیش از حالا اهمیت پیدا خواهند کرد. فیس بوک یکی از بزرگترین و محبوب ترین شبکه های اجتماعی بیش از 200 میلیون کاربر در سرار دنیا دارد.

خب در این مطلب نمی خواهیم در مورد بدیهیات شبکه های اجتماعی بحث کنیم. به اشتراک گذاری اطلاعات یکی از ارکان اصلی شبکه های اجتماعی و البته وب 2.0 است. در شبکه های اجتماعی معروف مثل فیس بوک و توییتر تقریباً می توان همه محتوایی را به اشتراک گذاشت، از متن ساده گرفته تا عکس و ویدئو. ما برنامه نویسان یک مشکل کوچک با این شبکه های اجتماعی داریم، مخصوصاً با توییتر، اینکه چطور قطعه کدهایمان را به اشتراک بگذاریم! به طور مثال چطور چندخط کد را بوسیله توییتر با دوستانم به اشتراک بگذارم!؟ اگر بخواهم همین قطعه کد را به دوستی که در حال چت کردن در یک مسنجر هستیم نشان دهم چه کنم!؟

code-paste

راه حل این موضوع وب سایت CodePaste.Net است که به شما اجازه می دهد بدون نیاز به ثبت نام، به راحتی کد خود را به زبان های xC#, VB.NET, JavaScript, HTML, ASP.NET, JavaScript, XML, CSS, Sql, T-SQL, و FoxPro بنویسید و لینک آن را برای دوستانتان در شبکه های اجتماعی یا مسنجرها بفرستید. وقتی دوستانتان لینک مورد نظر را باز می کنند، قطعه کد شما را به صورت تمیز و با قابلیت شماره گذازی و Syntax Highlighting و توضیحات تکمیلی شما مشاهده خواهند کرد. به نظرتان این عالی نیست!

به طور مثال من میخواستم نحوه استفاده از PropertyGrid در سی شارپ را به یکی از دوستانم که در حال چت کردن بودیم یاد بدهم. اگر کدها را همینطور در مسنجر تایپ میکردم، هم ظاهر خوبی نداشت و هم دوستم سر در گم میشد. خیلی راحت کدم را در CodePaste.net نوشتم و به آن لینک دادم!

API این سرویس، اجازه دسترسی به قطعات کد را در سه فرمت XML, JSON و RSS به شما می دهد. به طور مثال با اضافه کردن x?format=xml به انتهای URL یک قطعه کد، می توانید اطلاعاتش را با فرمت XML دریافت کنید.

این پروژه بوسیله فریم ورک ASP.NET MVC نوشته شده و کد آن برای بررسی در اینجا قابل دسترسی است.

هرچند ایده این پروژه جدید نیست، و قبل از آن سایت Pastie با پشتیبانی از زبان های PHP, Perl. Python, Ruby و چندتای دیگر همین کار را برای برنامه نویسان و طراحان وب انجام میداد، اما CodePaste.net به طور مخصوص برای برنامه نویسان دات نت طراحی شده و زبان های دات نتی را که Pastie پشتیبانی نمی کند، پشتیبانی می کند. قابلیت برچسب گذاری و قرار دادن توضیحات که در CodePaste.net وجود دارد، در Pastie وجود ندارد.

بعضی مواقع هم می توانید با استفاده از CodePaste.net با دوستانتان شوخی کنید! +

CodePaste.Net

توضیحات Rick Strahl، نویسنده این پروژه

مشترک فید فراسان شوید! نمی دانید فید چیست!؟

farasun.wordpress.com

پ.ن 1 : نسخه جدید Granslator (کلاینت اوپن سورس برای سرویس مترجم گوگل) رو آماده کردم، تغییرات خوبی داشته، از اینجا دانلود کنید.

پ.ن 2 : عکس پرسنل پرواز هواپیمای توپولوفی که تازگی سقوط کرده. امیدوارم دیگه شاهد این اتفاقات تلخ نباشیم! + هر چند هیچ امیدی نیست!

آیا برنامه دات نت شما روی لینوکس اجرا می شود!؟

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

mono-logoچندسال پیش زمزمه های پروژه ای به گوش رسید که مژده اجرای نرم افزارهای مبتنی بر دات نت را بر روی سیستم عامل های دیگر میداد. پروژه مونو یک فریم ورک دات نت cross-platform و اوپن سورس است که به شما اجازه می دهد که برنامه های مبتنی بر دات نت خود را که تا به حال فقط روی ویندوز اجرا می شده را روی سیستم عامل های مبتنی بر لینوکس و حتی سیستم عامل شرکت اپل اجرا کنید. آخرین نسخه پایدار مونو از C# 3.0، VB 8، ASP.NET 2.0, ADO.NET و Windows Forms 2.0 پشتیبانی می کند. در واقع اگر برنامه خودتان را با دات نت فریم ورک نسخه 2.0 نوشته باشید و از APIهای ویندوز نیز استفاده نکرده باشید، به راحتی می توانید آن را روی لینوکس یا مک اجرا کنید. برای دریافت آخرین نسخه مونو برای پلت فرم های مختلف به این صفحه از سایت رسمی مونو مراجعه کنید.

خب فکر میکنم جواب تیتر سئوالی این مطلب مشخص شده باشد. در وب سایت مونو، برنامه سودمند کوچکی معرفی شده که با اسکن کردن اسمبلی های پروژه تحت دات نت شما، گزارشی تولید می کند که مشخص کننده قسمت هایی از کدهای پروژه شماست که با فریم ورک مونو سازگاری ندارند. با استفاده از این گزارش به راحتی می توانید قسمت های ناسازگار را اصلاح کنید و خروجی پروژه را برای اجرا روی مونو آماده کنید. نام این برنامه سودمند Mono Migration Analyzer یا MoMA است و از اینجا قابل دریافت است.

moma

برای توسعه برنامه های مبتنی بر مونو یک محیط توسعه مجتمع به نام MonoDevelop هم تولید شده که هرچند در حد ویژوال استادیو نیست اما نصافاً محیط خوبی برای توسعه برنامه های مبتنی بر مونوست. MonoDevelop بر اساس IDE موفق و اوپن سورس SharpDevelop توسعه یافته است.