Xenical
 
Xenical
بنر

مطالب آموزشی

نمایش درختی در کنترل های دات نت

  • مشاهده در قالب پی دی اف

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

نمایش درختی در ListBox و TreeView

قبل از اینکه توضیح بدیم چطور این دسته ها رو باید نشون بدیم لازمه بدونیم که روش خاصی برای این کار نیست. همون طوری که برای یک مسئله ممکنه هزاران راه حل وجود داشته باشه، برای این مسئله هم راه های زیادی وجود داره. هر برنامه نویسی، بسته به کارش و طرز تفکرش یه جور این کارو انجام میده. ممکنه یک نفر بخواد دسته هاش رو به صورت XML در یه فایل درختی XML ذخیره کنه و بعدا بازیابیشون کنه یا ممکنه یه نفر به ازای تمام دسته هاش یک جدول توی پایگاه دادش به وجود بیاره! (دیدم که می گما!)

موضوع اینه که اکثر کسانی که این دسته بندی رو انجام میدن، از یه روش معمول و ساده به نتیجه می رسند. بزارید توضیح بدم روش معمول برای ذخیره کردن دسته های تو در تو در پایگاه داده چی هست. در پایگاه داده (Data Base) یک جدول بسازید به نام Category یا Categories. این جدول باید دارای حداقل 3 فیلد باشه. فیلد های ID، Name و ParentID رو توش بسازید. بعد از اون داده هاتون رو به این صورت وارد می کنید که اگر دسته ی شما در شاخه ی اصلی درخت (root) قرار داشت، ParentID اون باید صفر یا null باشه. حالا اگر دستتون، زیر مجموعه ی دسته ی دیگه ای بود، ParentID اون، میشه ID شاخه ای که والد اون مجموعه حساب میشه. برای شکل بغل دست همین مطلب چنین چیزی رو داریم :

آخرین بروز رسانی مطلب در يكشنبه ، 4 دی 1390 ، 10:23

ادامه مطلب...

نقشه های گوگل چیستند و چطور به ما در پیدا کردن راهمان کمک می کنند؟

  • مشاهده در قالب پی دی اف

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

گوگل مپ (Google Maps) یا سرویس نقشه ی آنلاین گوگل یکی از دهها خدمات رایگان گوگل در وب است. سرویس گوگل مپ زیر بنای خدمات بزرگ دیگری نظیر Google Maps website, Google Ride Finder, Google Transit و دیگر سایت های بنا شده با کمک Google Maps API است. (API    یا Application Programming Interface به معنی رابط برنامه نویسی کاربردی در واقع ابزار هایی است که به برنامه نویسان کمک می کنند تا از کدهای در دسترس یک سرویس دیگر به راحتی استفاده کنند. به عبارتی برنامه نویس برای استفاده از یک سرویس احتیاجی به بازنویسی کل آن سرویس ندارد و از کدهای در دسترس قرار داده شده آن سرویس استفاده می کند. )

گوگل مپس از استاندارد Mercator projection برای محاسبه ی مختصات نقشه های خود استفاده می کند. (این استاندارد در سال 1569 میلادی توسط جغرافیدان بلژیکی Gerardus Mercator ارائه شد . در این استاندارد با محاسباتی که انجام می شود، می توان سطح یک کره را به طور دقیق و با حفظ مختصات به روی یک صفحه کاغذ آورد.)به همین خاطر گوگل مپس فاقد نقشه ها و تصاویر محیط دو قطب کره ی زمین است. (برای دیدن تصاویر از قطب ها باید از نرم افزار Google Earth استفاده کنید. )نمونه ی استفاده شده از این استاندارد را در تصویر زیر و در تمام نقشه هایی که تا بحال دیده اید مشاهده می کنید.

Mercator Projection

 

آخرین بروز رسانی مطلب در سه شنبه ، 10 شهریور 1394 ، 06:38

ادامه مطلب...

مثل برنامه نویس ها فکر کنید!

  • مشاهده در قالب پی دی اف

"هدف این کتاب آموزش فکر کردن مثل یک خبره ی کامپیوتری است. این روش فکر کردن چند تا از بهترین خصوصیات ریاضیات، مهندسی و علوم طبیعی را در هم می آمیزد. همانند ریاضیدانان، مهندسین کامپیوتر از زبان خاصی برای پیاده سازی نظراتشان استفاده می کنند. مهندسین کامپیوتر چیزهایی طراحی می کنند، قطعات مجزایی را (کامپوننت) را به هم متصل می کنند و در آخر از میان مواد خام، چیزهای جدیدی بیرون می کشند. درست مانند مهندسین. و مانند دانشمندان شاهد رفتارهای سیستم های پیچیده هستند، نظریاتی شکل می دهند و پیشبینی هایشان را تست می کنند.
تنها مهارت مهم یک کامپیوتریست، مهارت حل کردن مشکلات است! حل کردن مشکلات یعنی توانایی نظم بخشیدن به مشکلات، تفکر خلاقانه درباره راه حل های ممکن و ارائه کردن یک راه حل تمیز و دقیق. به همین خاطر، فرآیند یادگیری برنامه نویسی فرصتی بسیار عالی برای تمرین مهارت حل کردن مشکلات است. "
این ها جملات بخش اول کتاب "Think Python : How to Think Like a Computer Scientist" بود که اینجا آوردم. نصب کامپایلر پایتون و شروع کدنویسی به این زبان سطح بالا بهانه ای شد برای معرفی کتابی که همراه با آموزش زبان پایتون، به گفته ی نویسنده ی کتاب نحوه ی تفکر برنامه نویسی را هم آموزش می دهد. البته اعتقاد من این نیست که نحوه ی تفکر چیزی باشد که بتوان به کسی آموزش داد. باید آنقدر خواند و تمرین کرد تا بتوان حرفی برای گفتن داشت.

نویسنده ی کتاب، داستان انتشار این کتاب را اینگونه شرح می دهد که ابتدا در سال 1991 کتابی به نام How to Think Like a Computer Scientist می نویسد که البته در آن به آموزش زبان نوپای جاوا پرداخته. همچنین کتاب را برای استفاده ی آزاد تحت مجوز GNU Free Documentation License منتشر کرده است. بعدها یکی از دوستان نویسنده، یک معلم اهل ویرجینیا، نسخه ی پایتون کتاب خود را برای نویسنده کتاب، آقای Allen Downey ارسال می کند و این نیز به انتشار کتاب Think Python : How to Think Like a Computer Scientist با دو نویسنده می انجامد.

شاید بدانید که زبان برنامه نویسی پایتون تقریبا زبان جدیدی است و یک زبان سطح بالا محسوب می شود. زبان سطح بالا یعنی گرامر و سینتکس آن راحت، ولی کامپایل و زمان اجرای آن طولانی تر از زبان های سطح پایین است. با این وجود، پایتون توانسته جای خودش را به خوبی میان برنامه نویسان باز کند. شاید بهترین استفاده را گوگل از این زبان با توسعه ی پایتون و ارائه ی زبان اختصاصی خودش Google Go برده که با استفاده از آن اکثر برنامه های خودش را پیش می برد. گوگل حتی در بخشی از برنامه خود، مدرسه ای مجازی به نام Google's Python Class راه اندازی کرده که خیلی زیبا این زبان را آموزش می دهد. پایتون را همچنین در یکه تاز بودنش در لینوکس می شناسند. زبان برنامه نویسی سیستم عامل سیمبین هم پایتون است. اگر کتابخانه های نوشته شده برای پایتون از جاوا بزرگتر و بیشتر نباشد چیزی کم از آن ندارد. خلاصه که با یادگیری این زبان فرصت های بی نظیری برای یادگیری حل مشکلات به دست می آورید!

کتاب Think Python : How to Think Like a Computer Scientist را در بخش دانلود سایت قرار دادم. برای دانلود آن کافیست اینجا را کلیک کنید یا روی عکس روبرو را.

بد نیست نگاهی هم به لینک های مرتبط زیر بیندازید :

آخرین بروز رسانی مطلب در جمعه ، 19 فروردين 1390 ، 07:54

کمی بازی با Java یا جلوه های ویژه به سبک اوراکل

  • مشاهده در قالب پی دی اف

سلام.

Java FX

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

از اینها که بگذریم، داشتن تکنولوژی در کنار خلاقیت و مهارت یه اصل انکار ناپذیره. دهها تکنولوژی و نرم افزار طراحی برای هر کاری توی دنیا موجوده. تکنولوژی هایی مثل WPF از مایکروسافت، Flash از Adobe و JavaFX از سان که حالا دیگه شده Oracle. در بین اینها، JavaFX یک تکنولوژی با ابزار رایگان هست که قول 100% می دم بار ها و بارها باهاش برخورد داشتید. این JavaFX به خاطر رایگان بودنش تونسته محبوبیت زیادی در بین برنامه نویس ها پیدا بکنه. توی سرچی که توی گوگل زدم، یکی از کاربران سایت برنامه نویس متنی رو نوشته بودن که بدون تصرف اینجا می زارمش :

  • javaFx تکنولوژی جدید سان هست که برای ایجاد برنامه های کاربردی وب داده شده است . اگر از j2ee و یا فناوری AJAX آشنایی داشته باشین نسل جدید برنامه نویسی RIA که نوع تکمیل شده این فناوریها هستند رو JAVA FX یدک خواهد کشید . یکی از برترین و بهترین تکنولوژی هایی هست که در عرض 1 یا 2 ماه بسیار فراگیر خواهد شد (البته نه تو ایران) ساختار این تکنولوژی هم یه جوری هست که همه سیستمهای موجود چه موبایل و یا TV ها و سرویس دهنده های وب و ... با اون سازگاری کامل دارند .Java FX script معمولا در برنامه های تحت وب استفاده میشه و نسخه دیگر آن javafxmobile هم در سیستم های موبایل استفاده میشه .در ضمن این تکنولوژی بسیار جا افتاده در سان میباشد و یکی از محصولات سر سبد این شرکت هست .
    محیط توسعه پیشنهادی Netbeans هستش.
    اطلاعات بیشتر
    http://www.sun.com/software/javafx/index.jsp

برای یادگیری این تکنولوژی بهترین روش به نظر من خوندن کتاب هست. البته این روزا روش های خوب دیگه ای هم مثل Video Tutorial ها روی کار اومدن که طرفدارای خاص خودشون رو دارن. کتاب هایی در رابطه با JavaFX نوشته شدن که بعضی هاشون به خاطر سنگینی مطالب گفته شده مخاطبان خاص خودشون رو خواهند داشت. یکی از کتاب ها که متعلق به انتشارات Apress هست، کتاب JavaFX™ Special Effects ه که به خاطر نثر روان و مثال های کاربری و آموزش پله به پله به نظر من بهترینه. ترجمه ای از یک پاراگرافش رو براتون می زارم بخونیدش :

Sample JavaFX

  • رابط های کاربری گرافیکی (GUI) این روزها یک چیز معمول هستند. خیلی سخته که به مردم بفهمونیم که رابط های کاربری همیشه اینجوری نیستن و نمی مونن. یک صفحه نمایش، کیبورد، و موس چیزایی هستن که اکثر مردم با اونا کامپیوتر رو میشناسن. اما گرافیک، به صورت گسترده و در راههای مختلفی استفاده میشه. ساده ترین راه اینه که یه چیزی رو روی کامپیوتر کاربر نشون داد. این نشون دادن می تونه فقط نشون دادن یه عکس یا یه نقاشی روی صفحه نمایش باشه.  اما GUI ها چیزهایی فراتر از نشان دادن ساده ی یک عکس یا نقاشی هستند. GUI ها به یوزر امکان برقراری ارتباط با صفحه نمایش رو می دن. برای اینکه کاربر بتونه به کامپیوتر یه دستور بده، باید دقیقا بتونه منظورش رو با کنترل های روی صفحه نمایش برسونه. هر کنترلی روی صفحه نمایش باید نشون داده بشه و نحوه این نمایش دادن می تونه یک سورپرایز بزرگ برای کاربر محسوب بشه! طراح باید توجه زیادی به کیفیت، ثبات، اجرای بدون دردسر render و شمای کلی برنامه خودش داشته باشه. معمولا برای ساخت یک GUI خوب به نکاتی مثل دوره تماس کاربر با نرم افزار و احساس اون کاربر از کار با نرم افزار توجه زیادی می کنند. مجموعه ی کنترل ها و اینکه آنها چه جوری قراره با هم یه کار رو برای کاربر انجام بدن، باید نگاه یک طراح رو شکل بده. به محضی که کاربر به استفاده از نرم افزار روی آورد، احساس راحتی کار با نرم افزار چیزیه که برای طراح مهمه.

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

برای دانلود کتاب روی عکس اون کلیک کنید یا از اینجا برید دانلودش کنید. دانلود مستلزم داشتن حساب کاربری در این سایته که ایجاد اون کاملا رایگان و بدون دردسره. از اینجا عضو شوید!

چند لینک مرتبط :

یک گالری از مثال های آماده در JavaFX متعلق به شرکت Oracle

توضیحاتی جامع و کامل در مورد JavaFX از ویکی پدیا

آخرین بروز رسانی مطلب در دوشنبه ، 2 اسفند 1389 ، 15:01

تماس با ما

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

مطالب شما

شما دانشجوی محترم می توانید مطالب مفید خود را به ایمیل ما ارسال کنید تا با نام خودتان در سایت قرار داده شود. لطفا قید فرمایید که مطلب حاضر جهت قرارگیری در سایت فرستاده شده است.

  • ایمیل : info@jpcs.ir

درباره ما

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

هم اکنون اینجایید : آموزشی