برای دریافت پوستر با در ابعاد بزرگتر اینجا را کلیک نمایید. |
به نقل از مطلب «تیم ملی ایران و ژاپن» منتشر شده در دیوار آزاد
|
مکانیسم نخکشی (Threading) در برنامهنویسی روشی است برای به پیش بردن همزمان (Multi-Task) چندین فرآیند مشابه و یا مرتبط بدون آنکه لزوماً نیاز به فراخوانیهای متعدد و یا ترتیبی از آن فرآیندها مطرح باشد. همچنین هنگامیکه مدیریت موقعیتهای خاص زمانی در اجرای برنامه ضرورت دارد استفاده از Threadها توسط برنامهنویسان در دستور کار قرار میگیرد. به طور کلی دو وضعیت کاری در توسعه برنامه نیاز به نخکشی دارد: 1- زمانی که مدیریت زمانی کارها در توسعه کلاس برنامهنویسی ضرورت دارد: در اینجا یک راهحل خوب پیادهسازی واسط Runnable در تعریف کلاس برنامهنویسی است تا با دسترسی به متدهایی که برای کار با Thread به آنها نیاز است، بتوان برنامهنویسی در سطح کلاس انجام داد. شکل سمت چپ نمونه ای از این پیادهسازی را نشان میدهد. 2- هنگامیکه کلاس برنامهنویسی قرار است مدیریت زمانی را برای اجزای دیگری مدیریت نماید. در این وضعیت میتوان مستقیماً از کلاس Thread نمونهسازی انجام داده و از نمونه ایجاد شده برای زمانبندی کارهای اشیای دیگر بهره برد. شکل سمت راست نمونه ای از این پیادهسازی را نشان میدهد. (برای نمایش تصویر با وضوح بیشتر اینجا و یا روی تصویر کلیک نمایید). هر Thread از لحظه ایجاد تا به انتها رسیدن چرخه حیات مشخصی را طی مینماید. در نسخههای پیشین Java برنامهنویسان امکان کنترل این چرخه حیات را به صورت دستی دارا بودند. اما از آنجا که مدیریت زمانی برنامهها در عملکرد کلی JVM تأثیرگذار است؛ امروزه استفاده از همه متدهای کار با Thread توصیه نمیشود. شکل بعدی چرخه حیات یک Thread را از لحظه ایجاد در سیستم تا به انتها رسیدن به نمایش میگذارد |
برای دریافت پوستر با جزئیات بیشتر اینجا را کلیک نمایید│حجم فایل: 2.95 مگابایت |
چرا داده باز؟ محسن معظمی گودرزی / ایده داده باز این موضوع را مطرح می کند که داده های معینی به صورت آزادانه به منظور نشر و استفاده در اختیار دیگران قرار گیرد، که در این فرایند بحث کپی رایت و حق مالکیت داده و یا سایر مکانیسم های کنترلی مطرح نباشد. اهداف مربوط به بحث داده باز، مشابه اهداف دنبال شده توسط موضوعاتی نظیر منابع باز، سختافزار باز، محتوی باز و نوآوری باز است. موضوع داده باز از دیرباز مطرح است اما اخیراً به دلیل گسترش استفاده از اینترنت، شبکه وب و همچنین راه اندازی داده باز دولتی شدت یافته است. مفهوم داده باز جدید نیست، اما تعریف رسمی از این موضوع جدید است. خلاصه تعریف داده باز در جمله زیر گنجانده شده است: داده باز داد های است که برای هر شخصی به منظور استفاده، نشر و توزیع مجدد آزاد است. داده ها باز اغلب در مورد داده های غیر متنی مانند نقشه ها، ژنوم، ترکیبات شیمیایی، فرمو لهای ریاضی و علمی، اطلاعات پزشکی و عمل، علوم زیستی و غیره می باشند. مسائل و مشکلات زمانی ایجاد می شود که داده ها دارای ارزش تجاری باشند لذا دسترسی به داده ها و استفاده مجدد از آ نها به دلیل تحت کنترل بودن توسط سازمانهای دولتی و خصوصی غیرممکن است. این کنترلها می تواند از نوع محدودیت های دسترسی، لایسنس، کپی رایت، حق مالکیت معنوی و یا مستلزم پرداخت کارمزد باشد. طرفداران نظریه داده باز مطرح می کنند که این محدودیت ها برخاف مصالح جمعی بوده و نبایستی محدودیتی در مورد دسترسی به داده ها وجود داشته باشد. همچنین مهم است که داده ها برای دسترسی دوباره نیازی به مجوز جدید نداشته باشند. ایجادکنندگان داده باز، اغلب به نحوه مالکیت داده ها، لایسنس و کپی رایت داده ها به منظور استفاده مجدد توجهی نمی کنند به همین دلیل است که بسیاری از دانشمندان به انتشار مقاله علمی خود در انتشارات عمومی پرداخته بدون اینکه نگران عواقب بعدی آن باشند. منابع مهم داده باز داده باز می تواند از هر منبعی حاصل شود اما در این بخش به سه نمونه از منبع داده باز اشاره می شود: ۱- داده باز در علم مفهوم دسترسی باز به داده های علمی با تشکیل سیستم مرکز داده جهانی ایجاد گردید، همچنین مرکز ژئوفیزیک در فاصله زمانی ۱۹ ۵۷ -۱۹ ۵۸ ایجاد گردید. همچنین شورای بین المللی اتحادیه های علمی به تأسیس چندین مرکز داد های جهان پرداخته است تا ریسک از دست دادن داده ها را به حداقل رسانده و همچنین قابلیت دسترسی به داده های علمی را به حداکثر رساند. درحالی که جنبش اطلاعات علمی باز، به قبل از ورود اینترنت به عرصه جهانی باز می گردد اما در حال حاضر موضوع داده باز در حوزه علمی به امکان دسترسی به داده ها با هزینه کمتر و سرعت بیشتر بر می گردد. پروژه ژنوم انسان یک ابتکار بزرگ از موضوع قدرت داده باز بود که بر اساس اصول برمودا بنا نهاده شده است: «همه اطلاعات توالی ژنومی انسان باید آزادانه در دسترس و در مالکیت عمومی بوده که به منظور تشویق تحقیق و توسعه و به حداکثر رساندن سود در جامعه استفاده شود. طرح های اخیر همانند کنسرسیوم ژنوم نشان می دهد که رویکرد داده باز نیز می تواند در چارچوب تحقیق و توسعه مورد استفاده عموم برای منفعت کلی جامعه باشد. » در سال ۲۰۰۴، وزیران علوم تمام کشورهای عضو سازمان همکاری اقتصادی و توسعه (OECD) که شامل بسیاری از کشورهای توسعه یافته جهان است، اعلام نمودند که تمامی اطلاعات آرشیو بودجه عمومی باید برای دسترسی عموم آزاد باشد. پس از درخواست و بحث شدید نهادهای تولید داده در کشورهای عضو OECD ، در سال ۲۰۰ هفت اصول OECD و راهنمایی برای دسترسی به داده های پژوهشی عمومی منتشر نمودند. ۲- داده باز در دولت منطق بحث داده باز در دولت را می توان به دو بخش تقسیم نمود. اول اینکه طرفداران داده باز در بخش های دولتی معتقدند که این امر باعث شفافیت و اطمینان به عملکرد دولت می شود، دوم اینکه داده باز، دیگر مؤسسات را قادر می سازد که با استفاده از داده باز حاصل شده از بخش دولتی، سرویسها و خدمات گسترده تری به بخشهای خصوصی و دولتی ارائه دهند. دولت های زیادی به ایجاد وب سایت برای توزیع داده های جمع آوری شده اقدام نموده اند، و در سرتاسر دنیا دولت های زیادی اقدام به استفاده از مفهوم داده باز نموده اند. ۳- داده باز در بانک ها و مؤسسات مالی مبحث داده باز در صنعت بانکی دارای منافع زیادی برای مشتریان است و شفافیت اطلاعات بانکی باعث رقابت بیشتر بانک ها با هم خواهد شد. وجود داده باز به مشتریان کمک خواهد نمود که بتوانند داده های بانک خود را با سایر بانک ها به منظور کسب اطمینان از صحت عملکرد آنها تجزیه وتحلیل نمایند. همچنین یکی از الزامات اجرای بانکداری باز، وجود داده باز به منظور رسیدن به این مقصود است، پروژه بانکداری باز یا open bank project ، در اصل یک زیرساخت با API به صورت باز (Open Source) و یک فروشگاه برنامه های کاربردی است که به بانک ها و مؤسسات مالی اجازه می دهد که به صورت امن و سریع و با همکاری مؤسسات سوم و دیگر توسعه دهندگان نرمافزار، قدرت ارائه محصولات دیجیتالی خود را افزایش دهند. یکی از الزامات و زیرساخت های ایجاد بستر بانکداری باز، بحث داده باز است که شرکت ها و توسعه دهندگان برنامه های کاربردی بتوانند با استفاده از بستر فراهم شده و داده های باز در اختیار، برنامه های کاربردی مورد نیاز شرکت ها و مشتریان را توسعه دهند. |
به نقل از گزارش تکاندهندهای با عنوان : تعمیر وسایل نقلیه توسط مهندسان کامپیوتر هرچند دهههای گذشته تعداد افراد دارای مدرک دانشگاهی افزایش یافته است اما بررسیها نشان میدهد اغلب فارغالتحصیلان در مشاغلی غیر از رشته تحصیلی خود مشغول فعالیت هستند.به گزارش خبرنگار تابناک اقتصادی، در بین رشتههای مختلف به نظرمیرسد رشته کامپیوتر با توجه به نیاز روز دنیا به این تکنولوژی از باقی رشتهها، درصد فعالیتهای مرتبط در آن بیشتر باشد اما نتایج گزارشهای مرکز آمار نشان میدهد تنها 7.4 درصد از تحصیلکردگان علوم کامپیوتر در حوزه اطلاعات و ارتباطات فعالیت دارند و 92.6 درصد از این فارغالتحصیلان در دیگر حوزه ها فعالیت میکنند. 5452 مهندس کامپیوتر در بخش حمل و نقل و انبارداری یکی از بخشهایی که بیشترین تعداد مهندسان کامپوتر در آن گزارش شده است بخش حمل و نقل و انبارداری است. از بین 86 هزار و 575 فارغ التحصیل علوم کامپیوتر 6.2 درصد در بخش حمل و نقل و انبارداری کار میکنند. بخش حمل و نقل نیز عبارت است از رانندگی تاکسی، اتوبوسهای شهری، اتوبوسهای بین شهری، قطار، مترو و حمل و نقل هوایی و دریایی که دو گزینه آخر درصد کمتری از جذب مهندسان کامپیوتر را دارد. تعمیر وسایل نقلیه موتوری توسط مهندسان کامپیوتر در بین بخشها پرترافیکترین فعالیت برای فارغ التحصیلان علوم کامپیوتر بخش خرده فروشی و تعمیر وسایل نقلیه موتوری است. البته این بخش پس از دو گروه تولیدات صنعتی و امور عمومی و تامین اجتماعی هر کدام با 13 هزار و 58 و 15 هزار و 206 نفر فارغالتحصیل کامپیوتر در مقام سوم قرار دارد. علاوه بر این، بخش ساختمان هم از آن دست گروههای شغلی است که توانسته تعداد سه هزار و 864 مهندس کامپوتر را به خود جذب کند. آمار بخش ساختمان جدای از قعالیت در گروه املاک و مستغلات است. در بخش املاک و مستغلات حدود 704 درسخوانده کامپیوتر مشغول فعالیت هستند. آمارهای ذکر شده مربوط به آخرین اطلاعات تحلیل شده و نهایی مرکز آمار در سال 1392 است. منبع: تابناک |
پیرو مباحث مطرح شده در درس اخلاق حرفهای هفته جاری پیرامون بحث چارچوب اخلاقی، در کلاس به مطلبی تحت عنوان «خطای تأیید خود» اشاره شد که جهت تشریح موضوع مطالعه لینک زیر به دانشجویان توصیه میشود. برای مشاهده مطلبی مفید در خصوص «خطای تأیید خود» اینجا را کلیک نمایید |
برای دریافت پوستر با ابعاد بزرگتر و وضوح بیشتر اینجا را کلیک نمایید│حجم فایل: 906KB |
بیت کوین (Bit Coin) نوعی پول دیجیتال بر پایه شبکه همتا به همتا (peer to peer) و در واقع یک امضای دیجیتال است که به کاربران این امکان را میدهد که بدون هیچ واسطهای انتقال پول غیرقابل برگشت (همانند خرج کردن اسکناس و سکه واقعی) انجام دهند. افراد در قالب گرههای یک شبکه (عموما مبتنی بر اینترنت) معامله مورد نظر خود را در شبکه اعلام میکنند و پس از تأیید در رویه انجام کار در یک محدوده زمانی به نام Chain Block بیت کوین قابل خرج کردن ایجاد میشود. این واحد پول آنلاین پروژهای نسبتا جدید و در حال توسعه است، به همین دلیل توسعهدهندگان آن به کاربران توصیه میکنند که به آن به عنوان یک نرمافزار آزمایشی نگاه کنند. بیت کوین را از دو طریق میتوان تهیه کرد:
همانند کالاهایی نظیر طلا و نقره مقدار کل بیت کوین موجود در دنیا محدود بوده و استخراج آن وقتی که عرضه کل به 21 میلیون واحد برسد متوقف خواهد شد. در حال حاضر مقدار کل عرضه بیت کوین 6.6 میلیون واحد است. ارزش بیت کوین در سال 2012 با رشد سریعی مواجه بوده و در اوایل ماه ژوئن 2012 به حدود 32 دلار در هر واحد رسیدهاست. برای ارسال و دریافت بیت کوین از سیستم نرمافزاری که کیف پول نامیده میشود استفاده میگردد. این کیف پول میتواند روی کامپیوتر خود شخص و توسط نرمافزار بیتکوین و یا روی یک سایت مستقل مدیریت شود. این کیف پول الکترونیکی تراکنشها را در شبکهای که از آدرسهای بیت کوینی استفاده میکند، ارسال و یا تراکنشهای دریافتی را تأیید میکند. آدرسهای بیت کوینی تأییدکننده هویت کاربران و در واقع چیزی شبیه شماره حساب بانکی اشخاص است. افراد با استفاده از این آدرس میتوانند به حسابهای یکدیگر پول (بیت کوین) واریز کنند. هر کیف پول شامل تعدادی کلید عمومی (public key) و اختصاصی (private key) است. کلیدهای عمومی به آدرسهای بیت کوین تبدیل میشوند برای دریافت بیت کوین به پرداخت کننده اعلام میگردد. ایجاد یک آدرس جدید فرآیندی کاملا محلی بوده و بینیاز از اتصال به شبکه p2p بیت کوین است. تراکنشهای این واحد پول، ترکیبی از امضاهای الکترونیک است. هر مالک پول، آنرا توسط ترکیبی از تراکنشهای قبلی و کلید عمومی صاحب بعدی پول به شخص دریافت کننده منتقل میکند. هر دریافت کننده نیز میتواند شناسایی زنجیره مالکیت را از طریق شناسایی امضاهای دیجیتال انجام دهد. انتقال پول از یک نقطه به نقطه دیگر در تمام شبکه اطلاعرسانی شده و تمام نقاط از آن آگاه خواهند شد. برای عرضه بیت کوین فروشندگان مختلفی اسکناسها و سکههای بیت کوین را ارائه میدهند. هر اسکناس و یا سکه شامل کلید خصوصی بیت کوین است و صحت آنرا تضمین مینماید |
الگوی MVC روشی در توسعه نرمافزار است که برای بهبود نگهداشت (Maintainability) سیستم قابل توصیه است. هدف MVC کاهش پیچیدگی طراحی الگوریتم و افزایش انعطافپذیری و نگهداشتپذیری Source Codeها است. همچنین از این Pattern برای ساده سازی طراحی در سیستمهای مستقل از پلتفرم و Self-Organize استفاده میشود. چرخه کاری در MVC به شرح زیر است:
توصیف MVC با مثال سادهتر از به کار بردن ادبیات فنی سنگین (نظیر آنچه در بالا ذکر شد) میباشد. یک عکاس را به همراه دوربینش در استودیوی عکاسی در نظر بگیرید که مطابق خواسته مشتری قرار است از یک جعبه عکس بگیرد. جعبه در اینجا نقش Model را بازی میکند؛ عکاس Controller است و دوربین نقش View را ایفا خواهد کرد. به دلیل آنکه جعبه هیچ درکی از عکاس و دوربین ندارد کاملا مستقل خواهد بود. این استقلال کاری به عکاس اجازه میدهد تا بتواند مطابق خواست خودش دور تا دور جعبه چرخ بزند و از هر چشمانداز و زاویهای که خواست عکس تهیه نماید. معماریهای Non-MVC تمایل دارند اجزای کاری را به صورت یکپارچه در نظر بگیرند. اگر جعبه، عکاس و دوربین اشیاء کاری مشابهی باشند، به ازای هر بار گرفتن عکس مجبورهستیم این اشیاء در کنار همدیگر قرار داده و Re-Build نماییم. همچنین خود پدیده گرفتن عکس در مثال مذکور مانند نقاشی است که تلاش دارد از چهره خودش پرتره بکشد؛ و لزوماً چنین کاری همیشه ساده نیست. منابع: http://st-www.cs.illinois.edu/users/smarch/st-docs/mvc.html http://programmers.stackexchange.com/questions/127624/what-is-mvc-really |