bobz بدون دیدگاه

سخن سردبیر

با درود خدمت شما همراهان همیشگی قبیله گیک ها در اردیبهشت ماه سال ۱۳۹۶ و با شماره ۳۰ مجله قبیله گیک ها درخدمت شما هستیم.

در این ماه از میان دوستان عضو کانال رسمی قبیله گیک ها در پیام رسان تلگرام بصورت تصادفی چند نفر را بصورت شخصی مخاطب قرار دادیم و از آنها خواستیم که نظرشان را نسبت به فعالیت قبیله گیک ها در ۳۰ ماه گذشته را بیان کنند که در زیر چکیده بعضی از این نظرات را با هم مرور میکنیم…

 

 

 

 

 

محمد مهدی خلعت بری بدون دیدگاه

KVM Linux – قسمت اول

معرفی:

KVM یا Kernel-based Virtual Machine از محصولات شرکت Red Hat Enterprise است. یک ابزار کامل برای امور مجازی سازی روی لینوکس با سخت افزار x86 معماری سخت افزار AMD64 و Intel64 می باشد که برای اجرا باید Extension های مجازی سازی AMD-V و Intel VT را دارا باشند و برای کرنل Red Hat Enterprise Linux 6 ساخته شده بود. KVM شامل ماژول کرنل kvm.ko است، که زیرساخت مجازی سازی کرنلی و ماژول پردازنده kvm-intel.ko و kvm-amd.ko را دربر دارد. می تواند چندین سیستم عامل مهمان یا ماشین مجازی ویندوزی و لینوکسی را راه اندازی نماید که هرکدام برای خود کارت شبکه، دیسک، آداپتور گرافیک و .. را می توانند داشته باشند.

kvm به عنوان یک ماژول کرنل قابل بارگذاری است که وقتی اجرا شود کرنل لینوکس را به عنوان یک hypervisor bare metal تبدیل می کند. دو اصل مهم در طراحی kvm اتفاق افتاد تا این hypervisor به سرعت به عنوان پایدار ترین hypervisor متن باز قرار گرفت.اول این که kvm بعد از ظهور hardware assisted به وجود آمد واین امر kvm را مجبور پشتیبانی از ویژگی های hardware assisted کرد تا hypervisor kvm دستور هایی که پردازنده های intel VT-Xi و AMD-V پشتیبانی می کند را پیاده سازی کند.دوم اینکه تیم kvm در ادامه از ضرب مثل “don’t  reinvent the wheel”  استفاده کردند به این معنی که به دنبال اختراع روش جدید نبودند و بهترین روش های موجود برای حل مسئله استفاده کردند. در یک hypervisor اجزای بسیاری وجود دارد که علاوه بر مجازی سازی CPU و Memory اجزای دیگری هم وجود دارد برای مثال: memory manager, process scheduler, I/O stack, device drivers, securit manager ، network stack و غیره. در حقیقت یک hypervisor واقعا یک سیستم عامل خاصی است که هدف آن به جای بالا اوردن یک برنامه بالا آوردن یک ماشین مجازی است.

 

معماری kvm :

در معماری kvm ماشین مجازی به عنوان یک پروسس منظم است که توسط زمانبند استاندارد لینوکس اجرا می شود.در حقیقت هر CPU مجازی به عنوان یک پروسس منظم به نظر می رسد.این کار به kvm اجازه می دهد که از تمام ویژگی های کرنل لینوکس بهره مند شود.

 

مدیریت حافظه :

KVM ویژگی هایی از مدیریت حافظه قدرتمند لینوکس را به ارث برده است.حافظه ای از یک ماشین مجازی به عنوان حافظه ذخیره می شود و این حافظه برای هر فرایند دیگری در لینوکس می تواند جابه جا شود . پشتیبانی از صفحه های بزرگ large pages عملکردی بهتر و امکان پشتبانی یا اشتراک گذاری فایل دیسک‌ها را فراهم می‌کند. NUMA SUPPORT به یک ماشین مجازی اجازه دسترسی موثر به مقدار بزرگی از حافظه را می دهد. صفحات مشترک حافظه از طریق یکی از ویژگی های کرنل به نام Kernel Same-page Merging(KSM) پشتیبانی می شود.ksm حافظه هر ماشین مجازی را اسکن می کند و صفحات حافظه یکسان این ماشین های مجازی را باهم ادغام می کند و این یک صفحه باقیمانده را بین ماشین ها به اشتراک می گذارد.و اگر یک مهمان بخواهد صفحه مشترک بین ماشین های را تغییر بدهد به اویک کپی محافظت شده از صفحه مشترک رامی دهیم.در بسیاری از مواقع امکان یکپارچه سازی بین ماشین های مجازی بروی یک هاست وجود دارد برای مثال در یک ماشین مجازی ویندوز از حافظه در DLL رایج ، کتابخانه ها، کرنل های یا دیگر اجزای مشترک بین ماشین مجازی استفاده نمی شود .با KSM بیشتر ماشین های مجازی می توانند بر روی یک هاست مستقر شوند و این امر باعث کاهش سخت افزار، هزینه هاو بهبود مصرف سرور می شود.

ذخیره سازی :

KVM قادر به استفاده از هر گونه ذخیره سازی پشتیبانی شده توسط لینوکس برای ذخیره Image های ماشین مجازی است، که شامل دیسک های محلی با IDE, SCSI و SATA ،شبکه های متصل ذخیره سازی NAS  که شامل NFS و SAMBA/CIFS یا SAN با پشتیبانی برای iSCSI و Fiber Channel می باشد. ممکن است از چندمسیر I / O به منظور بهبود توان ذخیره سازی و تولید افزونگی مورد استفاده قرار گیرد. KVM، ایمیج ماشین های مجازی مشترک در فایل سیستم ها را پشتیبانی می کند برای مثال (Global File System (GFS2 به ایمیج ماشین مجازی اجازه می دهد بین چندین هاست به طور مشترک یا چندین logical volumes مشترک استفاده شود. فرمت محلی (native) ایمج KVM به نام QCOW2 است که شامل پشتیبانی از snapshots ،اجازه دادن snapshots از سطوح مختلف ، فشرده سازی و رمزنگاری می باشد.

مهاجرت زنده live migration :

KVM از مهاجرت زنده پشتیبانی می کند که امکان انتقال یک ماشین مجازی در حال اجرا را بین میزبانان فیزیکی، بدون هیچ وقفه در خدمات، فراهم می سازد.مهاجرت زنده برای کابر نهایی ناپیدا است ،ماشین مجازی روشن باقی می ماند،‌اتصالات شبکه فعال باقی می ماند و کاربر برنامه در حالیکه ماشین مجازی در حال انتقال به میزبان جدید است در حال اجرا است .

هایپرویژن Hypervisor چیست و چه کاربردی دارد ؟

 

یک هایپرویژن Hypervisor   یکی از دو روش برای مجازی سازی یک محیط محاسباتی است ، منظور ما از virtualize ، تقسیم منابع مانند RAM , CPU از یک محیط محاسبات فیزیکی ( شناخته شده به عنوان سرور اصلی میزبان ) به چند ماشین مجازی کوچکتر ( شناخته شده به عنوان مهمان ) . هر مهمان می تواند سیستم عامل مورد نیاز خود را نصب کند و هر ماشین مجازی منابع خود  RAM  و CPU  خود را دارد ، در واقع سرور مجازی درست مانند یک سرور فیزیکی رفتار می کند ، این امکان نیازمند پشتیبانی قابلیتی به نام VT-x در سی پی یو های اینتل و AMD-V در سی پی یو های AMD است.

یکی از وظایف کلیدی که Hypervisor فراهم می کند جداسازی است ، این به این معنی است یک مهمان امکان دسترسی به سرور میزبان و همچنین دسترسی به سایر مهمان ( ماشین های مجازی ) ایجاد شده در سرور ندارد و رفتار های سرور مهمان روی آنها تاثیری نداشته باشد ، حتی اگر ماشین مهمان با مشکلاتی مانند کرش شدن مواجه شود. بنابراین هایپرویژن باید به دقت مانند یک سخت افزار ماشین فیزیکی تقلید کند و از دسترسی مهمان به سخت افزار واقعی جلوگیری کند ، از آنجایی که این عمل به شدت سرعت را کاهش می دهد از یک روش paravirtualized یا PV drivers استفاده می شود. این امکان تمام سخت افزار ها را به صورت مجازی در اختیار ماشین مجازی قرار می دهد و  درایور های آن توسط Hypervisor دریافت می شود ، با استفاده از این روش سرعت بالا می رود و همچنین امکان دسترسی مستقیم به سخت افزار های اصلی سرور و کنترل آنها توسط مهمان دیگر وجود ندارد.

 

Hypervisors دو نوع است Type 1 و Type 2

Type 1  : در این نوع از Hypervisors که به اصطلاح به آن “برهنه فلزی” گفته می شود ، Hypervisors به طور مستقیم برای کنترل سخت افزار و سیستم عامل های مهمان اجرا می شود. بنابراین مجازی ساز های VMware ESXi و Xen از نوع Type 1 می باشد. تصویر زیر مثالی type 1 است :

 

Type 2  : در این نوع از Hypervisors که به اصطلاح به آن “میزبانی شده” گفته می شود ، Hypervisors در داخل یک سیستم عامل اجرا می شود و پس از آن سیستم عامل عامل های مهمان ایحاد می شود. سیستم های مجازی ساز دسکتاپ اغلب از این روش استفاده می کنند. بنابراین مجازی ساز های  OpenVZ و KVM از نوع Type 2 هستند.تصویر زیر مثالی type 2 است :

با تصاویر بالا نتیجه می گیریم Hypervisors تایپ 1 بهتر از تایپ 2 است زیرا در تایپ 1 Hypervisors هنگام دسترسی به منابع فیزیکی از سیستم عامل میزبان استفاده نمی شود. پیدا کردن نوع Hypervisors کاری بسیار ساده است ، برای مثال مجازی ساز KVM که به عنوان یک پردازش در سیستم عامل میزبان لینوکس نصب می شود از نوع TYPE-2 است. در واقع فرایند راه اندازی صرفا دسترسی به تعداد محدودی منابع از طریق سیستم عامل میزبان و بسیاری از وظایف حساس توسط ماژول کرنل انجام می شود که دسترسی مستقیم به سخت افزار را دارد.

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

محمد مهدی خلعتبری

bobz ۱ دیدگاه

صفر و یک

01000101 01111000 01110100 01101001 01101110 01100011 01110100 01101001 01101111 01101110 00100000 01101001 01110011 00100000 01110100 01101000 01100101 00100000 01110010 01110101 01101100 01100101 00101110 00100000 01010011 01110101 01110010 01110110 01101001 01110110 01100001 01101100 00100000 01101001 01110011 00100000 01110100 01101000 01100101 00100000 01100101 01111000 01100011 01100101 01110000 01110100 01101001 01101111

bobz بدون دیدگاه

سخن سردبیر

بهار با همه زیبایی‌های خود نرم نرمک در جان طبیعت حلول می‌کند و شروعی تازه را نوید می‌دهد.

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

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

این شما و این مجله قبیله گیک های فروردین ۱۳۹۷

Saeid بدون دیدگاه

ساخت بازی با Unity

بازی سازی با یونیتی

یونیتی یک موتور بازی سازی چند سکویی است که میتوان به وسیله آن بازی های ۲بعدی و ۳بعدی ساخت، همچنین با استفاده از یونیتی میتوان انیمیشن هم ساخت، interface یونیتی بسیار ساده و دلنشین تر از موتور های بازی سازی همچون unreal4 هستش البته هر دو در خصوص بازی سازی بسیار قدرتمند هستند ولی یونیتی برای افراد مبتدی بسیار راحت تر و بهتره، unity از قابلیت (VR(VirtualReality پشتیبانی میکند که میتوان بازی برای VR هم ساخت برای پیشتیبانی کردن از VR نیاز به یک Asset هستش که یک افضونه برای خود unity است.

ویژگی های منحصربفرد unity میتوان از امکان ساخت بازی برای سیستم عامل های گوناگونی همچون:

Android-IOS-Windows-Xbox 360-linux-playstation3-Wii  نام برد.

همچنین برای کد نویسی، unity از زبان های #C و JavaScript پیشتیبانی میکند.

در این دوره (بازی سازی با Unity) میخواهیم ابتدا با مفاهیم اولیه unity و محیط unity آشنا بشیم و یک بازی رکوردی را با هم بسازیم.

محمد مهدی خلعت بری بدون دیدگاه

اهمیت راه اندازی سرویس در web application

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

قبل از اینکه به سراغ مفاهیم اصلی برم، میخوام در مورد برخی از مفاهیم Cloud برای شما توضیحاتی را بدهم. تمامی دنیا یه سمت استفاده از Cloud رفته و این تکنولوژی در سال های اخیر پیشرفت بسیار زیادی داشته است. حال به توضیحات مختصری در مورد این تکنولوژی میپردازیم :

رایانش ابری(Cloud Computing)ﻳﻚ ﻭﺍژﻩ ﭘﺮ ﺯﺭﻕ ﻭ ﺑﺮﻕ ﺑﺎﺯﺍﺭﻳﺎﺑﻲ ﺍﺳﺖ ﻛﻪ این ﺭﻭﺯﻫﺎ ﺑﻪ ﺁﻥ ﺑﺴﻴﺎﺭ ﺑﻬﺎ ﺩﺍﺩﻩ میﺷﻮﺩ. ﻳﻚ ﺗﻌﺮﻳﻒ ﻣﺒﻬﻢ ﺍﻣﺎ ﻣﻔﻴﺪ ﺍﺯ ﻭﺍژﻩ ﻣﺬﻛﻮﺭ ﺍﻳﻦ ﺍﺳﺖ ﻛﻪ ﻣﺤﺎﺳﺒﺎﺕ ﺍﺑﺮﻱ، ﺩﺍﺩﻩﻫﺎ، ﭘـﺮﺩﺍﺯﺵ ﻳﺎ ﺗﺠـﺮﺑﻴﺎﺗﻲ ﺍﺳﺖ ﻛﻪ ﻳﻚ ﺟﺎﻳﻲ ﺩﺭ ﺍﺑﺮ که ﺍﻳﻨﺘﺮﻧﺖ ﻧﺎﻣﻴﺪﻩ میﺷـﻮﺩ، ﻭﺟﻮﺩ ﺩﺍﺭﻧﺪ. ﺍﻛﺜﺮ ﻛﺎﺭﺑﺮﺍﻥ، ﺍﻳﻦ ﺭﻭﺯﻫﺎ ﻛﺎﺭﻫﺎﻱ مانندﻛﻨﺎﺭ ﻫـﻢ ﻗﺮﺍﺭ ﺩﺍﺩﻥ ﻳﺎ میزبانی ﺍﺯ ﺳـﺮﻭﺭﻫﺎﻱ ﻭﺏ ﻳﺎ ﭘﺴﺖ الکترو نیکی ،شبکه‌های اجتماعی ،نرم‌افزارها به عنوان خدمت(SaaS) و تجهیزات به عنوان خدمات ،توسط محاسبات ابری انجام می‌شود. امروزه، به دلیل  مقرون به صرفه بودن محاسبات‌ابری، به شهرت آن افزوده می‌شود. ﺩﻟﻴﻞ ﻣﻘﺮﻭﻥ ﺑﻪ صرفه ﺑﻮﺩﻥ ﻣﺤﺎﺳﺒﺎﺕ ﺍﺑﺮﻱ ﺍﻳﻦ ﺍﺳـﺖ ﻛﻪ ﺧـﺪﻣﺎﺕ ﺁﻥ ﻧﻴﺎﺯﻱ ﺑﻪ سخت افزارها ﻭ نرم‌افزارهای ﮔﺮﺍﻥﻗﻴﻤﺖ ﺧﺎﻧـﮕﻲ ﻧﺪﺍﺭﻧـﺪ. ﻋﻼﻭ ﻩﺑﺮ ﺍﻳـﻦ، ﺭﻭﺵ ﻣـﺬﻛﻮﺭ ﺑﺎ ﭘـﺮﺩﺍﺧﺖ ﻳﻚ ﻣﺒﻠـﻎ ﻣﺎﻫﻴﺎﻧﻪ ﺩﺭ ﺩﺳـﺘﺮﺱ ﺍﺳـﺖ ﻭ ﺩﻳﮕﺮ ﻧﻴﺎﺯﻱ ﺑﻪ ﭘـﺮﺩﺍﺧﺖ هزینه های هنگفت نمی‌باشد ﻛﻪ ﻫﻤﻴﻦ ﻣﺴﺌﻠﻪ ﺍﺯ ﺩﻳﺪﮔﺎﻩ ﻣﺎﺩﻱ، ﺑﺮ ﺟﺬﺍﺑﻴﺖ ﺁﻥ می‌افزاید.

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

پردازش ابری چیست؟

در حال حاضر پردازش ابری یکی از پربحث‌ترین موضوعات در دنیای مجازی فناوری اطلاعات می‌باشد.اما پردازش ابری چیست؟

چون پردازش ابری هر روز در حال پیشرفت است،پس تعاریف آن نیز در حال توسعه و تغییر هستند.اما تعریفی که پیش از همه می‌توان از آن استفاده کرد،توسط موسسه ملی استاندارد و تکنولوژی NIST ارائه شده‌است:

((پردازش ابری،یک مدل فعال کردن بهینه بر حسب تقاضا برای دسترسی به منابع مشترکی است که برای پردازش اختصاص یافته‌اند (برای مثال شبکه، سرورها و سرویس های مختلف اینترنتی و … ) که می‌تواند به سرعت و با کمترین تلاش مدیریتی با تعامل یا تامین کننده سرویس، مهیا گردد.))

ساده ترین تعریف از رایانش ابری، به معنای توسعه و به کاربری فناوری کامپیوتر می‌باشد; در واقع قابلیت های کامپیوتری به صورتی که سرویس اینترنتی به کاربر ارائه می‌شود و فضای کاربر روی اطلاعات، از کامپیوترهای شخصی به ابر منتقل می‌شود. در ابر ارائه خدمات از طریق virtual service می‌باشد که امکان مدیریت پویای منابع فیزیکی را خواهیم داشت.

طبقه بندی رایانش ابری :

اولین فناوری ابر ( ابر 1.0) : از تجمیع لایه های Tcp/ip که در آن یک شبکه بوسیله پروتوکل Tcp/ip با شبکه ای دیگر که از جزئیات آن آگاهی ندارد،ارتباط دارد.

ابر 2.0 : داده‌های موجود در شبکه جهانی اینترنت که کاربران از اسناد و اطلاعاتی استفاده می‌کنند که نمی‌دانند از کجا آمده و توسط چه کسی انتشار یافته است.

ابر 3.0 : تجمیع و ترکیبی از زیرساخت های شامل سرورها، نرم‌افزارهای کاربردی،داده‌ها و سکوهای سخت‌افزاری است.

معماری و مدل‌های سرویس :

یک معماری مبتنی بر سرویس Multi-tenate (چند مستاجره) است.در این مدل مصرف‌کنندگان را به عنوان Front-End و تامین‌کننده ابر را به عنوان  Back-End که سرویس را برای چند مصرف کننده محیا می‌کند، مجزا می‌سازند.

3مدل سرویس اصلی در پردازش ابری:

مدل‌های خدمات ابری، به صورت نرم‌افزار به عنوان یک سرویس (Saas)، سکو به عنوان یک سرویس (Paas) و زیرساخت به عنوان یک سرویس (Iaas) طبقه بندی می‌شوند.

SaaS : استفاده از نرم‌افزارهای کاربردی است که به منظور ارائه خدمات به کاربران نهایی در یک زیرساخت ابری ایجاد می‌گردد.Saas می‌تواند نرم‌افزارهایی همچون مدیریت ارتباط بامشتری(CRM) ویا Microsof office365 باشد، برای مثال Microsof office365 یک بسته نرم‌افزاری است که به صورت انلاین در دسترس است و از طریق هر devive چه pc باشد و چه Mac و چه موبایل،می‌توان به راحتی به ابزار office دسترسی داشت.در سرویس SaaS دقدقه فروش نرم‌افزار و ارائه لایسنس را برای ارائه‌دهندگان نرم‌افزار از بین برده است.

Paas : استفاده از ابزارها و منابعی است که به منظور ارائه خدمات به کاربران نهایی در یک زیرساخت ابری اجرا می‌گردد. مشتری امکان دارد که برنامه‌کاربردی ساخته شده توسط خود را  بر روی  زیرساخت ابری قرار دهد. این برنامه  با استفاده از زبان‌های برنامه‌نویسی و ابزارهایی که توسط فراهم‌کننده پشتیبانی می‌شوند (مثل: جاوا، پایتون، دات‌نت) ساخته شده است.

Iaas : استفاده از منابع محاسباتی زیر ساختی از قبیل تجهیزات ذخیره سازی، شبکه‌ها و سرورهاست که به منظور ارائه خدمات به کاربران نهایی استفاده می‌شود.کاربران نهایی می‌توانند نرم افزار های دلخواه از قبیل سیستم عامل و نرم‌افزار های کاربردی را پیاده‌سازی و اجرا کنند.

اما تجارب شخصی من 

طی همکاری که من با سازمان های بزرگ و کوچک در ایران داشتم، با بسیاری از سیستم های برنامه نویسی شده این  سازمان ها همچون اتوماسیون اداری، اتوماسیون مالی و … آشنایی دارم.

در این سازمان ها سعی شده است که بسیاری از این Application های برنامه نویسی شده، کاملا بصورت مجزا از یکدیگر باشند، به اینصورت که هر کدام از Application ها دارای سروری مجزا، دیتا بیس مجزا و قابلیت ها مجزا نسبت به یکدیگر می باشند.

اما آیا این روش ساخت Application ها درست می باشد؟

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

تا حدی بسیار زیادی جواب شما درست است. اما من قصد دارم با ذکر یک مثال کمی بیشتر به جواب سوال بالا بپردازیم.

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

  • اطلاعات پرسنلی
  • اطلاعات و قوانین اداری
  • اطلاعات مشاغل سازمانی
  • اطلاعات کلیه فعالیت های بخش های مختلف سازمان
  • و …

اتوماسیون مالی یک سازمان شامل چه اطلاعاتی و قابلیت هایی هستند؟

  • اطلاعات پرسنلی
  • اطلاعات مالی (شامل پیش فاکتور ها، فرصت های تجاری، فاکتورهای نهایی و …)
  • اطلاعات کلیه تجهیزات و کالا های ورودی و خروجی به انبار شرکت
  • و …

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

  • اطلاعات مالی (شامل پیش فاکتور ها، فرصت های تجاری، فاکتورهای نهایی و …)
  • اطلاعات کلیه تجهیزات و کالا های ورودی و خروجی به انبار شرکت
  • کالاهای امانی
  • حواله های ورود و خروج کالاها
  • و …

در نهایت تمامی اتوماسیون های بالا قابلیت هایی همچون جستجو، تهیه گزارش و … را در بخش های مختلف را دارند.

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

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

که تمامی موارد بالا دارای هزینه های زمانی و مالی بسیار بالایی می باشند.

حال اینجاست که به اهمیت سرویس SaaS پی میبریم. سرویس نویسی یک از پایه های سیستم های CloudBase می باشد. اما مزیت استفاده از سرویس نویسی در چیست؟

برای مثال همان اطلاعات پرسنلی سازمان را فرض کنید. یک سرویس به عنوان Person Service می سازیم. اما این سرویس چه ویژگی هایی دارد؟

  • تمامی اطلاعات پرسنل یک بار و در DataBase این سرویس قرار می گیرد.
  • تمامی قابلیت های نرم افزاری در مورد که در مورد پرسنل نیاز است، در این Service قرار می گیرد. (همچون قابلیت های جستجو بر اساس فیلد های خاص، گزارش گیری، ثبت، حذف، ویرایش اطلاعات و …)
  • قابلیت انعطاف پذیری برنامه و اطلاعات و قابلیت های مورد نیاز در این حالت بسیار زیاد است و در زمان و هزینه نیز صرفه جویی می گردد.
  • بعد از آماده سازی این سرویس، بقیه سسیستم ها از این سرویس استفاده می نمایند. به این صورت که برای مثال اتوماسیون اداری کلیه درخواست های خود سمت پرسنل را برای Person Service ارسال می نماید و اطلاعات مورد نیاز خود را دریافت میکند.

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

من الله توفیق

محمد مهدی خلعتبری

salar بدون دیدگاه

روند پادکست و میکس‌تیپ قبیله گیک‌ها

درود بر همراهان قبیله گیک‌ها، اُمیدوارم اوقات پایانی سال را به خوبی سپری کنید.

در چند ماهی که گذشت یک پادکست منتشر کردیم و چندین قسمت میکس‌تیپ که رونده خوبی هم داشته است.
تا اینجای کار شش قسمت میکس‌تیپ منتشر کردیم که آخرین آن موسیقی کلاسیک بوده است، انتظاری که از دوستان و همراهان قبیله گیک ها داریم این است که لطفاً با نظرات، پیشنهادات و انتقادات خود، ما را برای بهتر شدنِ میکس‌تیپ ها و انتخاب موسیقی ‌های مورده علاقه‌تان در چهارچوب گیک و موسیقی، یاری کنید؛ قطعاً نظرات شما همراهان تأثیر بسزایی در بهتر شدن کاری که می‌شنوید خواهد داشت.

فعلاً پادکست موسیقی نخواهیم داشت به دلیلِ مشکلات فنی، سخت افزاری و همچنین زمانی، اُمیدواریم این مشکلات به زودی حل شوند تا بتوانیم با سری های جدید و موضوعات متفاوت پیرامونِ موسیقی همراه شما باشیم، اما خبر خوب اینکه همچنان میکس‌تیپ ها به قوت خود باقی هستند و در روندِ ساخت میکس‌تیپ و پادکست، پادکست های دیگه‌ای را هم معرفی می‌کنیم : ) در قسمتِ پادکست ها تا به اینجا سخن سر دبیر و همچنین پادکستی پیرامون اتفاقات مجله با نام “پادکست شگفت انگیز” داشته‌ایم که در راستای تکمیل پادکست سخن سردبیر به این مجموعه اضافه شد و تلاش می‌کنیم که این روند ادامه داشته باشد. در اینجا، لازم می‌دانم از دوستِ خوبم خانم ابراهیمی قدردانی نمایم برای همراهی این سری پادکست ها.
از توجه شما دوستان و همراهان عزیز سپاسگزارم.

پایدار باشید. 🌲

bobz ۱ دیدگاه

صفر و یک

01010011 01100011 01101001 01100101 01101110 01100011 01100101 00100000 01101001 01110011 00100000 01101110 01101111 01110100 00100000 01101111 01101110 01101100 01111001 00100000 01100001 00100000 01100100 01101001 01110011 01100011 01101001 01110000 01101100 01100101 00100000 01101111 01100110 00100000 01110010 01100101 01100001 01110011 01101111 01101110 00100000 01100010 01110101 01110100 00101100 00100000 01100001 01101100 01110011 01101111 00101100 00100000 01101111 01101110 01100101 00100000 01101111 01100110 00100000 01110010 01101111 01101101 01100001 01101110 01100011 01100101 00100000 01100001 01101110 01100100 00100000 01110000 01100001 01110011 01110011 01101001 01101111 01101110 00101110

Saeid 2 دیدگاه

آموزش ساخت بازی با Unity (بخش دوم)

آموزش ساخت بازی با Unity

(بخش دوم)

در این قسمت برای از بین بردن دشمن گلوله برای بازیکن میسازیم

 

-آشنا شدن با متود IEnumerator

-آشنا شدن با prefab

-آشنا شدن با اصطلاح spawn

 

تهیه شده توسط سعید در قبیله گیک‌ها

Youtube / Telegram / Torrent / Aparat

bobz بدون دیدگاه

سخن سردبیر

نرم نرمک می رسد اینک بهار     خوش به حال روزگار

با درودی دوباره خدمت شما دوستان عزیز و همراهان همیشگی قبیله گیک‌ها و با تبریک سال نو به شما عزیزان و آرزوی ایامی خوش توام با کامیابی، با شماره ۲۸ مجله گیک‌ها در آخرین ماه سال ۱۳۹۶ در خدمت شما هستیم و امیدواریم که بتوانیم باز هم مثل همیشه در کنار شما عزیزان موضوعات جدیدی را فرا بگیریم.

ابتدا از طرف تک تک اعضای قبیله گیک‌ها در گذشت پدربزرگ محترم گرافیست خلاق قبیله گیک‌ها دوست عزیزمان آنانموس دراسفند ماه ۱۳۹۶ را به ایشان و خانواده محترمشان تسلیت عرض می کنیم و برایشان آرزوی صبر و بردباری می نماییم.

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

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

در انتها باید به خبری اشاره کنیم که شنیدن آن هر گیکی را غمگین میکند. فوت دانشمند بزرگ استیون هاوکینگ فیزیکدان، ستاره شناس و نویسنده مشهور و برجسته بریتانیایی ضربه ای بزرگ بر پیکر جامعه علمی جهان وارد کرد و همه دوستداران علم و دانش را مبهوت کرد. هاوکینگ که زندگی بسیار مفیدی در زمینه علمی داشت و با نظریات خود باعث رشد روزافزون جامعه علمی شد در حالی در روز عدد پی (ماه سوم روز ۱۴ میلادی) چشم از جهان بست که گنجینه ای عظیم از خود بجا گذاشت که تا سالهای سال میتواند خوراک جوامع علمی و دانشمندان مختلف باشد.

امیدواریم که در سال ۱۳۹۷ خبررسان اخبار خوب و شادی بخش برای شما دوستان و همراهان همیشگی قبیله گیک‌ها باشیم.

در پایان مانند همیشه از شما خواشمندیم تا با ارائه نظرات، پیشنهادات و انتقادات خود ما را در هر چه بهتر شدن یاری نمايد.

این شما و این شماره ۲۸ مجله گیک‌ها…