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

من قبلاً هم مطلبی نوشته بودم و نحوه استفاده از 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

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

Paint.NET، داستان موفقیت یک پروژه کدباز

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

paint.net logo

Paint.NET یک پروژه اوپن سورس و آزاد است. هر کس می تواند با رفتن به وب سایت رسمی Paint.NET (یا هرسایت دیگر +) نسخه ای از آن را دریافت و روی ویندوز خودش نصب کند و بدون پرداخت هیچ هزینه ای از آن برای هر کاری (چه شخصی و چه تجاری) استفاده کند. کد این پروژه در دسترس همه قرار دارد و هرکسی می تواند در پیشرفت این پروژه سهیم باشد.

در این مطلب کوتاه به تاریخچه ایجاد نرم افزار Paint.NET و داستان موفقیت آن می پردازیم. سپس در مورد اینکه چطور درآمدزایی می کند بحث می کنیم و در آخر نیز دلایل موفقیت این پروژه را از نظر خودم به صورت خیلی خلاصه بیان می کنم.

همه چیز از یک پروژه دانشجویی شروع شد…

Paint.NET در بهار سال 2004 به عنوان یک پروژه دانشجویی سال آخر رشته علوم کامپیوتر مقطع لیسانس از دانشگاه Washington State University شروع شد. Rick Brewster دانشجوی با سلیقه ای که روی طراحی رابط کاربری و گرافیک مسلط بود به عنوان رهبر توسعه تیم انتخاب شد. زبان سی شارپ به عنوان زبان برنامه نویسی و دات نت فریم ورک به عنوان پلت فرم توسعه برگزیده شدند. پس از طراحی نسخه اولیه  و پس از هماهنگی با شرکت مایکروسافت، Paint.NET به عنوان نام این پروژه انتخاب شد. پس از این اتفاق، توجه مایکروسافت به این پروژه معطوف شد.

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

نمایی از نسخه 3.5 بتا Paint.NET

نمایی از نسخه 3.5 بتا Paint.NET

در دسامبر 2004، نسخه 2.0 پایدار با امکانات قدرتمند و پشتیبانی از افکت های بیشتر عرضه شد. در می 2005 نسخه 2.1 در حالی که اکثر باگ های نسخه های قبل رفع شده بود و کارایی نرم افزار بالاتر رفته بود، عرضه شد. در نسخه 2.5 پشتیبانی از محلی سازی برای زبان های مختلف اضافه شد و در نسخه 2.6 پروژه به دات نت فریم ورک نسخه 2.0 منتقل شد و از معماری 64بیت به صورت کامل پشتیبانی شد. از این نسخه به بعد Rick Brewster و Tom Jackson توسعه دهنده های اصلی Paint.NET هستند. در می 2006 Paint.NET با دو میلیون دانلود خود را به عنوان یکی از بهترین نرم افزارهای ویرایش تصاویر دیجیتالی در سیستم عامل ویندوز معرفی کرد.

Rick Brewster

Rick Brewster

ریک بروستر شرکتی به نام dotPDN تاسیس کرد و لوگو و نشان تجاری Paint.NET را به نام خود ثبت کرد. dotPDN شرکتی است که تا الان تنها محصولش Paint.NET است و هزینه های خود را از راه Donation و تبلیغات اینترنتی تامین می کند. هم اکنون آخرین نسخه Paint.NET نسخه 3.5 بتا است که با استفاده از دات نت فریم ورک 3.5 توسعه پیدا می کند. (دریافت کنید) Paint.NET دارای اجتماع کاربری مناسبی است که در آن کاربران به یکدیگر در زمینه های مختلف نرم افزار Paint.NET کمک می کنند. (اینجا) هیچ سئوالی در این جامعه کوچک بی پاسخ نمی ماند.

Paint.NET چگونه درآمدزایی می کند؟

شاید این سئوال برای شما پیش بیاید که این نرم افزار که هم کدباز است و هم رایگان، چگونه درآمدزایی می کند و چه نفعی برای سازنده اش دارد. در پاراگراف بالا اشاره کردم که شرکت dotPDN از طریق Donation (هدیه نقدی کاربران) و تبلیغات اینترنتی هزینه های خود را تامین می کند. اگر به وب سایت Paint.NET مراجعه کنید، در بخش هایی از آن، حتماً تبلیغات گوگل را مشاهده خواهید کرد. بسیاری از کاربران Paint.NET نیز به صورت داوطلبانه به سازنده آن کمک نقدی کرده اند و می کنند. شرکت مایکروسافت هم که اسپانسر این پروژه است. Donation و استفاده از تبلیغات یکی از معمول ترین راه های درآمدزایی نرم افزارهای کدباز هستند. (اطلاعات بیشتر)

ریک بروستر توسعه دهنده اصلی Paint.NET در حال حاضر، در دنیای دات نت و اوپن سورس اسم و رسمی دارد. اینطور که به نظر میرسد در مایکروسافت نیز مشغول به کار است (البته برای این حرفم منبع معتبری پیدا نکردم). موقعیت های شغلی یکی از مزایای توسعه پروژه های نرم افزارهای کدباز است که برای ریک نیز بوجود آمده است.

دلایل موفقیت Paint.NET (از نظر من)

اولین و مهمترین دلیل موفقیت Paint.NET از نظر من اوپن سورس بودن این پروژه است. اگر کدباز نبود امکان این که توجه شرکت مایکروسافت را به خودش جلب کند بسیار پایین بود و اگر مایکروسافت از آن پشتیبانی نمی کرد، شاید هیچ وقت تا این حد موفق نمی شد. دلیل مهم دیگر موفقیت این پروژه، بی شک دانشگاه واشنگتن استیت واستاد راهنمای ریک بروستر آقای Jack Hagemeister بوده اند که با انجام چنین پروژه ای موافقت نموده اند و امکان همکاری با مایکروسافت را برای او فراهم کرده اند.

موقعیت ریک را در زمان دانشجویی با یک دانشجوی رشته کامپیوتر در ایران مقایسه کنید. آیا دانشگاه های ما به چنین پروژه هایی بها می دهند؟ آیا ارتباط دانشگاه و صنعت در ایران آنقدر قوی است که یک شرکت تجاری اسپانسر یک پروژه دانشجویی شود و به پیشرفت آن کمک کند؟

به نظر شما اگر آقای بروستر در یکی از دانشگاه های ایران دانشجو بود، می توانست چنین پروژه موفقی را به انجام برساند!؟

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

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

مطالب مرتبط :

چرا از گوگل کروم استفاده نخواهم کرد!؟

گوگل یک سال پیش در میان حیرت کاربران اینترنت، مرورگر وب خود را با نام کروم عرضه کرد.  برای خیلی ها از جمله من این سئوال بود که با وجود مرورگر اوپن سورس و قدرتمندی مثل فایرفاکس، چه نیازی به یک مرورگر جدید کدباز خواهد بود!؟
کروم خیلی سریع تر از آن چه فکر میکردیم پیشرفت کرد و توسعه آن بسیار سریع اتفاق افتاد. الان و پس از یک سال، کروم به نسخه  4 بتا رسیده است. همینطور ادامه بدهد سال دیگر به نسخه 10 هم می رسد! کروم مرورگر سبکی است، ظاهر زیبایی دارد، سرعت خیلی خوبی در اجرا و باز کردن صفحات وب دارد، اما با این حال مرورگر من نیست. من از گوگل کروم استفاده نخواهم کرد، به دلایل زیر :
مهمترین دلیل من برای استفاده نکردن از گوگل کروم سیاست های غلط شرکت گوگل در مورد کاربران ایرانی است. گوگل نمیخواهد من از مرورگرش استفاده کنم، پس من هم استفاده نخواهم کرد. به همین سادگی!

chrome

شرکت گوگل دانلود تمامی محصولاتش را بر روی IPهای ایران بسته است. وقتی از ایران میخواهید یکی از محصولات این شرکت را دانلود کنید با پیغام This product is not available in your country مواجه می شوید. گوگل خیلی محترمانه از علاقه شما به این محصول تشکر می کند و اجازه دریافت آن را به علت ایرانی بودنتان به شما نمی دهد! خدا را شکر میکنم که تا به حال هیچ نیاز حیاتی به محصولات این شرکت نداشته ام. من هنوز هم از جی میل و گوگل ریدر و دیگر سرویس های این شرکت که برایم قابل دسترس است استفاده خواهم کرد اما تا زمانی که گوگل نخواهد، من از محصولاتش استفاده نمیکنم.
شاید به خاطر قوانین دولت آمریکا و تحریم های علیه ایران به گوگل حق بدهید که این رفتار را با ما داشته باشد، اما مگر مایکروسافت یک شرکت آمریکایی نیست! تا به حال نشده بخواهم چیزی از سایت مایکروسافت دانلود کنم و مایکروسافت بخاطر جبر جغرافیایی و کشوری که در آن زندگی میکنم، اجازه دانلود ندهد. مایکروسافتی که این همه من و شما و خیلی های دیگه توی سرش میزنیم، از سیاست های غلطش حرف میزنم و محصولاتش را سرزنش میکنیم، هیچ وقت با ما اینطور رفتار نکرده!

google-is-not-availabe-in-your-country

گوگل کروم با مجوز BSD که یک مجوز اوپن سورس معروف است، توزیع می شود. IE مرورگر مایکروسافت یک نرم افزار کد بسته است. حالا با IP ایران، کدام یک از مرورگرهای فوق را می توانید از سایت رسمی آن دانلود کنید!
دلیل دیگرم برای استفاده نکردن از گوگل کروم، وجود مرورگر آزاد و قدرتمند فایرفاکس است. هر چقدر هم کروم از فایرفاکس ساده تر و زیباتر و سریع تر باشد، باز هم نمی تواند به این سادگی جای فایرفاکس را برای من بگیرد. من به فایرفاکس وابسته شدم. نمی توانم به این راحتی فایرفاکس را با این همه افزونه کارآمد و حیاتی رها کنم و با مرورگر دیگری کار کنم. وب گردی و انجام کارهای روزمره من بدون فایرفاکس غیر ممکن است!
گوگل باید توسعه یک مروگر آزاد و اوپن سورس را از موزیلا یاد بگیرد. به من به شما قول می دهم که هرگز کروم نمی تواند فایرفاکس را از نظر سهم تعداد کاربری و محبوبیت شکست بدهد. مگر اینکه یک روزی توسعه فایرفاکس متوقف شود که این هم گوگل فقط در خواب می بیند! این رقابت فقط فایرفاکس را قوی تر می کند!
جالب است بدانید که دولت آلمان در شبکه تلویزیون و روزنامه های رسمی خود مردم کشورش را به استفاده نکردن از گوگل کروم تشویق می کند! آن ها معتقدند نباید تمام اطلاعات مهم یک کاربر آلمانی اعم از ایمیل ها، جستجوها، چت ها و تاریخچه وب گردی او نزد یک شرکت آمریکایی باشد. البته دولت آلمان صفحه دریافت گوگل کروم را بلاک نکرده و به تصمیم کاربران اینترنت خود احترام می گذارد.
گوگل در حال حاضر مهمترین بخش های اینترنت را تحت پوشش قرار داده است. ایمیل های من نزد گوگل می ماند، مطالبی که می خوانم را گوگل می بیند، گوگل می داند دنبال چه چیزهایی در اینترنت می گردم، دیگر نمی خواهم تاریخچه وب گردی من را نزد خودش نگهداری کند!
من نمیخواهم به شما توصیه کنم که از کروم استفاده نکنید. اگر شما هم از کروم استفاده نمی کنید، دلایل خودتان را با ما به اشتراک بگذارید.

farasun.wordpress.com

پیشنهاد من به شما استفاده کردن از فایرفاکس (یک مروگر واقعاً آزاد) برای مرور وب است!

پ.ن : نرم افزارهای متن باز چگونه درآمد زایی می کنند؟ نوشته من به عنوان نویسنده مهمان در زنگوله وبلاگ بابک عزیز

This product is not available in your country

9+ منبع برای میزبانی پروژه های اوپن سورس و یافتن سورس کد

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

مسئله دیگری که در این مطلب به آن خواهیم پرداخت، یافتن سورس کدهای مورد نیازمان در وب است. اینترنت پر است از سورس کدهای آماده ای که توسط افراد محتلف به منظورهای مختلف نوشته شده اند. هر ایده ای که به نظر شما برسد، ممکن است کد آن قبلاً توسط دیگران نوشته شده باشد. در این چند ساله سرویس های خوبی برای یافتن کدهای موجود در وب ایجاده شده اند که در این مطلب به معرفی آن ها نیز خواهم پرداخت.

Sourceforge.net

featured-sourceforge-logo

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

CodePlex.com

logo-home

کد پلکس جامعه اوپن سورسی است که توسط مایکروسافت پشتیبانی می شود. بسیاری از پروژه های اوپن سورس مبتنی بر پلت فرم دات نت و حتی غیر دات نتی مانند PHP در این سایت میزبانی می شوند. کدپلکس برای مدیریت پروژه های اوپن سورس امکانات خوبی ارائه می کند و کار کردن با آن آسان است. برای یافتن پروژه ها و کدهای مورد نیازتان می توانید از جستجوی کدپلکس کمک بگیرید. پروژه های اوپن سورس معروف دنیای دات نت مانند دات نت نیوک در کدپلکس میزبانی می شوند.

Google Code

code_search_logo_lg

مگر میشود درباره «جستجو» نوشت و از گوگل حرفی نزد. سرویس جستجوی کد گوگل یکی از بهترین راهکارها برای یافتن سورس کد در وب است. متاسفانه این سرویس مانند بسیاری دیگر از سرویس های این شرکت برای کاربران داخل کشور ایران مسدود است. علاوه بر این سرویس جستجو، گوگل کد به توسعه دهندگان امکان میزبانی پروژه های اوپن سورس را در اینجا می دهد.

Launchpad

Launchpad_logo

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

GitHub

github_logo

اگر شما برای کنترل نسخه های کدهای پروژه خود از Git استفاده می کنید، این وب سایت بهترین انتخاب برای میزبانی پروژه شما خواهد بود. امکانات مدیریت پروژه و تیمی خوبی دارد و از امنیت بسیار مناسبی برخوردار است. GitHub به شما اجازه می دهد تا در مخزن کدهای عمومی پروژه های اوپن سورس موجود در این سایت جستجو کنید و به نتیجه دلخواه خود برسید.

CodeFetch.com

cofe

این سایت به شما امکان جستجو در میان کدهای نمونه کتاب های محتلف برنامه نویسی را بر اساس زبان برنامه نویسی مورد نظرتان می دهد. قدرت جستجوی خوبی دارد و از عبارات با قاعده می توانید در جستجوی کدها بهره ببرید.

Koders

logo_big_bd

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

Merobase

meroBaseLogo

این وب سایت خودش را Component Finder معرفی کرده است. فکر می کنم با همین دو کلمه کاربرد این سرویس را متوجه شده باشید. کامپوننت ها اجزای نرم افزاری آماده ای هستند که برنامه نویسان می توانند از آن ها برای سرعت بخشیدن به روند توسعه پروژه خود استفاده کنند. به طور مثال قبل از اینکه بخواهید یک کامپوننت «ساعت» برای خودتان بسیازید، ابتدا در این سرویس دنبالش بگردید، شاید یک نفر قبلاً این کار را انجام داده باشید!

DZone Snippets

dzlogo-tagline-small

کاربران DZone هر روز سورس کدهای جدیدی را در این وب سایت قرار می دهند. این سرویس پیشرفت فوق العاده ای از زمان تاسیس خود داشته و نسبت به سرویس های مشابه خود از کیفیت بهتری برخوردار است. در این سایت کدهای زبان های اوپن سورس مثل PHP, Python, Java, Ruby یافت می شود و از کدهای دات نتی خبری نیست!

farasun.wordpress.com

اگر شما هم منبعی برای یافتن پروژه های اوپن سورس و سورس کد سراغ دارید با من و خوانندگان وبلاگ در میان بگذارید.

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

مطالب مرتبط :

کلاینت اوپن سورس برای Google Translate

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

قرار نیست در این مطلب خبر دست چندم، اضافه شدن زبان فارسی به سرویس Google Translate، را بخوانید. به گفته خود گوگل، اضافه شدن زبان فارسی به علت اتفاقات اخیر در ایران بوده و قرار نبوده به این زودی ها زبان فارسی به این سرویس اضافه شود. بعد از معرفی این سرویس توسط گوگل و معرفی API آن، کلاینت های مختلفی بر اساس آن توسعه داده شده اند. این کلاینت ها جهت آسان تر شدن کار با این سرویس و اضافه کردن قابلیت های جانبی کوچک به آن ساخته شده اند. با داشتن یکی از این کلاینت ها دیگر لازم نیست برای ترجمه یک متن هر بار به وب سایت مترجم  گوگل سر بزنید.

مترجم گوگل برای برنامه نویسان

513171250_d2a4194703

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

من ابتدا فقط قصد نوشتن یک مثال با این API را داشتم که در این مطلب قرار بدهم، اما متاسفانه کسی که API این سرویس را برای دات نت توسعه داده، زبان فارسی را جزو زبان های مورد پشتیبانی این کتابخانه قرار نداده بود. من با یک تغییر کوچک در این کتابخانه، زبان فارسی را هم اضافه کردم. مثالی که برای این کتابخانه نوشتم بر اساس نیاز خودم گسترش پیدا کرد تا حالا که فکر میکنم بتواند نیاز خیلی ها را برطرف کند. خلاصه نتیجه این کلنجار رفتن ها برنامه کوچکی شد برای کار با سرویس Google Translate که به صورت اوپن سورس در اینجا قرارش داده ام.

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

مترجم گوگل برای کاربران ویندوز

granslator

برای استفاده از مترجم گوگل راهی جز رفتن به وب سایتش نیز وجود دارد. Granslator نام برنامه کم حجم و قابل حملی است که می توانید با استفاده از آن متون خود را از هر زبانی به هر زبانی که توسط سرویس ترجمه گوگل پشتیبانی می شوند، ترجمه کنید. با استفاده از این برنامه می توانید بدون مراجعه به سایت سرویس ترجمه گوگل، متون خود را ترجمه کنید. استفاده از آن بسیار آسان است، هر جای ویندوز که هستید می توانید با فشردن کلیدهای ترکیبی Ctrl+Shift+G این برنامه را صدا بزنید و متن خود را به عنوان ورودی به آن بدهید و پس از چند لحظه ترجمه اش را تحویل بگیرید. متن ترجمه شده را می توانید با یک کلیک به حافظه کلیپ برد کپی کنید یا در یک فایل متنی ذخیره کنید. اگر زبان یک کلمه یا یک پاراگراف برای شما قابل تشخیص نیست، کافیست آن را به این برنامه بدهید و تا با کلیک کردن روی گزینه «Detect Source Language» توسط شما، برنامه زبان متن را به صورت خودکار تشخیص دهد و آن را به زبان مطلوب شما ترجمه کند. تصویری از محیط برنامه را در زیر مشاهده می کنید.

granslator-screenshot

برای دریافت آن به اینجا (دریافت آخرین نسخه) مراجعه کنید و روی گزینه  )granslator-0-1-beta-portable (در نسخه جدید granslator-setup) کلیک کنید تا دانلود شما شروع شود. حجم آن بسیار کم و فقط 320 کیلوبایت است. فقط توجه داشته باشید که این نسخه از Granslator آزمایشی است و در نسخه بتا به سر می برد و هیچ نیازی هم به نصب ندارد. فقط کافیست برنامه را از حالت فشرده خارج کنید و آن را اجرا کنید. نظر یا پیشنهادی داشتید در قسمت نظرات همین مطلب با من در میان بگذارید.

این نرم افزار کاملاً رایگان و کدباز است و شما مجاز به کپی و تغییر کد منبع آن بر اساس مندرجات مجوزنامه GPL نسخه 2.0 خواهید بود.

نکته مهم : وقتی برنامه را Minimize می کنید، برنامه بسته نمی شود، فقط در System Tray (آیکون های کنار ساعت ویندوز شما) قرار می گیرد که با دابل کلیک روی آن می توانید دوباره پنجره برنامه را مشاهده کنید.

sys-tray

همانطور که در تصویر بالا مشاهده می کنید، آیکون Granslator به شکل G در میان آیکون های System Tray قرار می گیرد.

نکته مهم دیگر در استفاده این برنامه این است که برای ترجمه یک متن حتماً باید به اینترنت وصل باشید!

پیش نیاز این برنامه نصب بودن x.NET framework 2.0 به بالا در ویندوز شماست.

دریافت Granslator

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

پ.ن 1: این برنامه بر اساس نیاز خودم نوشته شده، اگر امکان دیگری لازم دارید در نظرات همین مطلب ذکر کنید.

پ.ن 2: اگر تغییری در برنامه ایجاد کردید، حتماً به من خبر بدین تا در وب سایت اصلیش قرار بدم. با توجه به اینکه مجوز استفاده و نشر این برنامه GPL نسخه 2 هست، شما بایستی نسخه های تغییر داده خودتان را هم به صورت آزاد تحت این مجوز یا مجوزهای سازگار با آن منتشر کنید.

پ.ن 3: نام برنامه ابتدا قرار بود G Translate باشه، اما گنوم یک برنامه ای به همین نام داره و قبلاً در کدپلکس پروژه ای به همین نام و با همین ایده ثبت شده بود. این نام هم یکدفعه به ذهنم خطور کرد.

SQLite Wrapper برای دلفی 2009 و دات نت 2 و 3.5

برای انجام پروژه ای نیاز به استفاده از بانک اطلاعتی SQLite در دلفی 2009 و دات نت فریم ورک 2 دارم، همانطور که می دانید به صورت پیش فرض RAD Studio و دات نت فریم ورک کلاسی برای کار با SQLite ندارند. پس از کمی جستجو در وب سایت ها و همچنین پیشنهاداتی که در سایت رسمی SQLite داده شده (اینجا) بود یکسری Wrapper را مورد بررسی قرار دادم. برای دلفی 2009 کامپوننت RemObjects AnyDAC 2.0 راه حل خوبی است اما متاسفانه رایگان نیست. البته نسخه شخصی و رایگان DISQLite3 هم می تواند نیاز من را برطرف کند. اما در این میان با کلاس ساده و مناسبی برخورد کردم که هم رایگان است و هم ساده. برای دات نت فریم ورک من قصد دارم از این در پروژه ام استفاده کنم.

SQLite for Microsoft .NET framework and Delphi 2009

برای دلفی 2009

آقای Tim Anderson برای استفاده خودش Wrapper مناسب و ساده ای نوشته و آن را در اختیار عموم قرار داده است. این Wrapper شامل سه کلاس پایه است که اعمال درج, حذف، به روز رسانی و واکشی داده ها از یک دیتابیس SQLite را انجام می دهند. این Wrapper همچنین از تراکنش های بانک اطلاعاتی (Commit, RollBack) پشتیبانی می کند اما متاسفانه از قابلیت هایی مثل Full-text search پشتیبانی نمی کند. این کلاس ها را نمی توان در حالت طراحی (Design Time) استفاده نمود و بایستی برای استفاده از این Wrapper از کلاس های مورد نیاز خود نمونه سازی کنید. در واقع شما از دو کلاس TSQLiteDatabase و TSQLIteTable برای دستیابی به فایل دیتابیس و اعمال تغییرات در آن استفاده می کنید. نکته ای که باید در نظر داشته باشید این است که این Wrapper را نمی توانید با کامپوننت های دیگر همچون Dataset ارتباط دهید، در نتیجه نمی توانید از کامپوننت های DBAware مثل DBText استفاده کنید و یا داده ها را به یک DBGrid بایند کنید.

برای دریافت این Wrapper به این صفحه از سایت Tim Anderson مراجعه کنید. همراه با کلاس های فوق، یک برنامه نمونه ساده هم موجود است که نحوه ی استفاده از آن را به سادگی توضیح داده است.

برای دات نت فریم ورک 2 و 3.5

ADO.NET 2.0 Provider for SQLite دارای یک فایل اسمبلی است که شامل موتور دیتابیس SQLite و کلاس های ADO.NET مورد نیاز برای دسترسی و استفاده از SQLite می باشد. به سادگی فایل اسمبلی این Wrapper را به Referenceهای پروژه خود اضافه می کنید و از فضای نام System.Data.SQLite به کلاس های داخل آن دسترسی پیدا می کنید. اسمبلی دیگر این Wrapper به شما اجازه استفاده از LINQ به SQLite را می دهد. نحوه استفاده از کلاس های این Wrapper دقیقاً مشابه استفاده از کلاس های دیگر Data Providerها مانند OleDb و Sql است. این Wrapper از .NET Compact Framework نیز پیشتبانی می کند، پس می توانید از SQLite در برنامه های مبتنی بر ویندوز موبایل بهره ببرید.

این Wrapper را می توانید از اینجا دریافت کنید. در زیر مثالی از ایجاد یک جدول در یک فایل دیتابیس SQLite با استفاده از این Wrapper به زبان سی شارپ را مشاهده می کنید.

SQLiteConnection con = new SQLiteConnection("Provider=System.Data.SQLite;Data Source=C:\\data.db");
con.Open();
SQLiteCommand cmd = new SQLiteCommand(con);
cmd.CommandText = "CREATE TABLE farasun (post_id INT, title TEXT(150), post VARCHAR)";
cmd.ExecuteNonQuery();

فقط توجه داشته باشید که بایستی فضای نام System.Data.SQLite را using کرده باشید. اگر نیازی به توضیح بیشتر و مثالی واضح تر بود، در نظرات اعلام کنید.

به یاد داشته باشید که SQLite یکی از مناسب ترین راه حل ها برای ذخیره داده های محلی است. نرم افزارهای معروفی مثل Firefox و Google Gears از SQLite به صورت توکار (Built-in) استفاده می کنند.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :