رفتن به مطلب
جامعهٔ برنامه‌نویسان ایران

تمامی فعالیت ها

این جریان به طور خودکار بروزرسانی می شود     

  1. هفته گذشته
  2. کامبیز اسدزاده

    اگه منظورتون رو درست متوجه شده باشم، بله.
  3. apland442

    قاعدتا امکان ساخت ایمیج از نرم افزار روی سیستم متصل به اینترنت و باز نمودن ویندوز ایمیج با vmVare روی سیستم آفلاین وجود داره؟ چه برای کیوت 6 و چه برای 5.15
  4. جدیدا
  5. کامبیز اسدزاده

    بله البته، به نظرم این لینک مرجع خودِ کیوت کافی باشه، تمامی دستورات و مسائل فنی داخلش هست. البته پیشنهاد من این هست صرفاً از روی کنجکاوی و برای آشنایی بیشتر با کیوت ۶ امتحانش کنید و نه برای ارتقاء محصولاتتون، برای این کار پیشنهادم اینه که منتظر حداقل کیوت ۶.۲ باشید.
  6. apland442

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

    سلام، خیر متأسفانه، نسخهٔ ۵.۱۵.۰ به بعد از کیوت تماماً بر پایهٔ نصابِ آنلاین قابل دریافت هستند. مگر اینکه منابع‌کدش رو دریافت و خودتون کامپایل کنید که قطعاً زمان‌بر و سخت‌ خواهد بود.
  8. apland442

    سلام. بنده به دلایلی امکان نصب آنلاین نرم افزار کیوت 6 را ندارم. روشی برای نصب آفلاین آن وجود دارد؟
  9. خالق لینوکس از اینتل به خاطر پشتیبانی نکردن از حافظه‌های ECC انتقاد کرده است. او به پشتیبانی غیررسمی از ECC در پردازنده‌های AMD به‌عنوان اتفاقی مثبت نگاه می‌کند. این ماجرا برای توسعه‌دهدنگان قطعاً بسیار مهم و کاربردی است، بنابراین به عنوان نماینده‌ای از جامعهٔ برنامه‌نویسان و یک فرد با تجربه در بحث برنامه‌نویسی و مشکلات آن در مدیریت حافظه نظرات توروالدز برای جامعهٔ ما اهمیت دارد. لینوس توروالدز، خالق لینوکس، به‌تازگی پست جدیدی در انجمن آنلاین Real World Tech با محوریت حافظهٔ کد تصحیح خطا (ECC) منتشر کرده است تا از اینتل انتقاد و از ای‌ام‌دی (AMD) تمجید کند. بر اساس گزارش تامز هاردور، توروالدز می‌گوید اینتل باید حافظه‌های ECC را به قطعاتی مین‌استریم تبدیل کند و پشتیبانی از این حافظه در پردازنده‌های سری رایزن ای‌ام‌دی اتفاق بسیار خوبی است. توروالدز با بیان اینکه «ECC کاملا پراهمیت است» اعلام کرد اینتل تأثیر به‌سزایی روی رونق نداشتن بازار حافظه‌ی ECC گذاشته است. خالق لینوکس می‌گوید: «بروید و به‌دنبال DIMM-های ECC بگردید؛ پیدا کردن آن‌ها واقعا سخت است. بله، احتمالا به لطف ای‌ام‌دی، وضعیت DIMM-های ECC اخیرا کمی بهتر شده و این دقیقا همان نکته‌ای است که می‌خواهم به آن اشاره کنم.» توروالدز بارها به ضررهایی که اینتل به صنعت ECC و حتی کاربران وارد کرده است اشاره می‌کند و صحبت‌هایش را با کلماتی توهین‌آمیز خطاب ‌به اینتل ادامه می‌دهد. توروالدز می‌گوید تیم آبی با پشتیبانی نکردن از ECC در مادربردها و پردازنده‌هایی که برای کاربران عادی عرضه می‌کند، باعث شده است استفاده از حافظه‌های ECC زیاد نباشد. خالق لینوکس به مشکلاتی با محوریت آسیب‌پذیری روهمر (Rowhammer) اشاره می‌کند و می‌گوید این دسته از مشکلات امنیتی جدی، از طریق حافظه‌های ECC به‌راحتی رفع می‌شوند. سلول‌های حافظه‌ی DRAM می‌توانند انرژی خود را به دیگر سلول‌های حافظه منتقل کنند. به‌طور معمول این اتفاق صرفا به خاطر نقص در حافظهٔ اصلی سیستم رخ می‌دهد و نهایتاً به بروز خطا در حافظه منتهی می‌شود؛ اما حملات مبتنی بر آسیب‌پذیری روهمر از این نقص به‌عنوان مکانیسمی برای دسترسی به سیستم بهره می‌گیرند. توروالدز می‌گوید هنگام توسعه دادن کد برای کرنل سیستم‌ عامل، دست‌و‌پنجه نرم کردن با حافظهٔ استاندارد بسیار سخت است. او به‌طور دقیق‌تر به این موضوع اشاره می‌کند که در اکثر اوقات نمی‌توان به‌طور دقیق فهمید خطای غیر قابل توضیح کرنل در کجا رخ داده است. در واقع این خطاها در اغلب اوقات ممکن است سخت‌افزاری باشند، نه نرم‌افزاری؛ خطاهایی که به‌راحتی توسط ECC قابل رفع هستند. توروالدز از ای‌ام‌دی به خاطر پشتیبانی غیررسمی از ECC تمجید می‌کند. او خوشحال است که ای‌ام‌دی تصمیم گرفته این پشتیبانی را به پردازنده‌های سری رایزن که در دسترس مشتریان عادی قرار می‌گیرند گسترش دهد. بدین ترتیب ای‌ام‌دی کاربران را قادر می‌سازد بدون پرداخت هزینه‌ی گزاف تهیهٔ قطعات سخت‌افزاری در سطح سرور، به ECC دسترسی داشته باشند. اینکه پشتیبانی غیررسمی از ECC به گسترش استفاده از آن کمک می‌کند، موضوعی است که نیاز به بحث دارد؛ زیرا در اغلب اوقات ECC به‌درستی کار نمی‌کند. اما خالق لینوکس می‌گوید حتی پشتیبانی غیررسمی، قدمی روبه‌جلو در جهت درست محسوب می‌شود.
  10. کامبیز اسدزاده

    سلام و خوش آمدید، قبل از هر چیز چون تازه کار هستید پیشنهاد می‌کنم در ویندوز به سراغ Mingw نرید، مگر مجبور باشید. با همون MSVC برنامه‌های خودتون رو کامپایل کنید و یا Clang. در کل، خطایی که گرفتین به خاطر عدم شناسایی تابع اصلی یعنی main() هستش. پیشنهاد می‌کنم تابع خودتون رو اصلاح کنید مطمئن بشید که main در برنامهٔ شما به درستی پیاده شده، سپس کامپایل و نتیجه رو ببینید. مثال صحیحی از تابع main در سی++ #include <iostream> int main() { std::cout << "Hello World!"; return 0; } همچنین با توجه به اینکه اشاره شده تازه شروع به یادگیری کردین، پیشنهاد می‌کنم مقالات زیر رو با دقت مطالعه کنید، در برخی از آن‌ها به لینک‌ها و مراجع آموزنده‌ای اشاره کردم. موفق باشید.
  11. با سلام من تازه برنامه نویسی ++c رو شروع کردم که از visual sudio و کامپایلر mingw استفاده میکنم. ولی در اولین کاری که شروع کردم با ارور زیر برخورد کردم undefined reference to `WinMain@16' collect2.exe: error: ld returned 1 exit status لطفاً من رو راهنمایی کنید که مشکل کجاست خیلی ممنون
  12. یک حرکت خوشحال کننده در آغاز سال ۲۰۲۱ با عنوان آزاد شدن خدمات گیت‌هاب برای کشور عزیزمان صورت گرفته است؛ ساعاتی پیش «نت فرایدمن»، مدیرعامل گیت‌هاب اعلام کرد که این شرکت مجوزی از دولت آمریکا دریافت کرده تا خدماتش را به توسعه‌دهندگان ایرانی ارائه دهد. این سرویس‌ها می‌تواند در اختیار افراد یا سازمان‌ها و به شکل رایگان یا اشتراکی قرار گیرد. به قول مدیر عامل گیت‌هاب، همهٔ توسعه‌دهنده‌ها باید در استفاده از گیت‌هاب آزاد باشند و مهم نیست که در کجا زندگی می‌کنند. البته، با توجه به سوابق تحریمی پیشنهاد می‌شود در زمان استفاده از این خدمات، از مخازن کد‌های خودتان نسخهٔ پشتیبان تهیه کنید تا در صورت اعمال محدودیت‌ با مشکل خاصی مانند از دست دادن مخازن و یا عدم دسترسی به مخازن مواجه نشوید. منبع خبر اصلی : https://github.blog/2021-01-05-advancing-developer-freedom-github-is-fully-available-in-iran/
  13. خب پوشهٔ نهایی بعد از make رو برای install کجا زدی؟ به چه روشی داری به پروژه اضافش می‌کنی؟ تحتِ چه ابزاری؟ QMake یا CMake؟ البته پیشنهاد من اینه که روی هر پلتفرمی که هستی، بوست رو تحت مخازن اصلی سیستم‌عامل نصب کن تا دیگه نیازی نباشه کامپایلش کنی.
  14. کامبیز اسدزاده

    سلام، سوأل شما بسیار کلی هستش، پاسخش می‌تونه بسیار متنوع باشه. کیوت در نسخهٔ کنونی و بعد از نسخه‌های ۵.۱۰ می‌تونه بر اساس سفارشی سازی و خودکار کاملاً بر پایهٔ GPU مواردِ گرافیکی را پردازش کنه مثل OpenGL و Direct3D و حتی در نسخه‌های جدید‌تر از Vulkan و Metal که بر اساس نوع پلتفرم پشتیبانی می‌کند. به طور کلی در حالت پیشفرض اگر سیستم مقصد دارای پردازندهٔ گرافیکی با پشتیبانی از Api‌هایی که نام بردیم باشد، تمامی بار پردازشیِ گرافیکی جهت رندر بر روی کارت گرافیکی (GPU) خواهد بود. در غیر این صورت اگر فاقد پردازندهٔ گرافیکی باشد، به صورت خودکار بر روی CPU اعمال می‌شود. اما نوع دیگری از سوأل شما مرتبط پردازش موازی هستش که پاسخش می‌تونه پیشنهادِ استفاد از مواردی چون سکو‌های Cuda و یا OpenCL است که به شما اجازه میده پردازش‌های لازم رو بر روی پردازندهٔ گرافیکی اعمال کنید.
  15. سلام چطوری می تونم اپلیکیشنی که با qt طراحی کردم رو روی GPU اجرا کنم ؟ آیا این امکان وجود داره که بخش دریافت داده ها از شبکه و پردازش اونها توسط CPU انجام بشه و بخش گرافیکی اون رو از طریق GPU اجرا کنم ؟ آیا qt این ویژگی رو پشتیبانی می کنه؟ ممنون
  16. kambiz behnia

    از CreateProcess برای اجرای برنامه استفاده کردم. و دیگر مشکلی ایجاد نشد. به نظر دوستان اجرای برنامه دوم از طریق کفته شده موجب وابسته شدن دو برنامه خواهد شد یا یامشکل جای دیگری است و ممکن است با استفاده از CreateProcess هم پیش بیاید. متشکرم.
  17. با سلام من DLLای دارم که با یک برنامه Win32 داده هایی را ردو بدل می کند لذا هنگام load شدن چک میکند تا اگر آن APPWin32 در حال اجرا نباشد آنرا از طریق دستور زیر اجرا کند. std::string cmd = "start APPWin32.exe"; system (cmd.c_str()); حال اگر برنامه APPWin32 بطور جداگانه اجرا شود. هر چند بار که آن DLL برای اجرا load شوند امکان مشکلی پیش مشاهده نمی شود. حتی اتمام کار آنها. حال فرض کنیم APWin32 در حال اجرا نباشد. وقتی DLL اول load میشود چون APPWin32 در حال اجرا نیست آنرا با روش گفته شده در با لا اجرا میکند و ادامه کار ... در ادامه وقتی DLL های بعدی load می شوند چون از قبل AppWin32 در حال اجرا بوده اقدام به اجرای آن نمیکنند و ادامه کار صورت میگیرد. وقتی dllهای دوم به بعد کارشان خاتمه پیدا میکند و از حافظه خارج میشوند مشکلی در ادامه حتی load شدن dllهای جدید نمیشود. حال اگر dll اول کارش خاتمه یابد و از حافظه خارج شود. دیگر dll ها نمیتوانند کارشان را به دستی انجام دهند حتی صفحه ui آنها به اصطلاح frezz میکنند و حتی اجازه Load شدن به Dll جدید داده نشده و آن هم Frezz می شود. برنامه را با VS2017 نوشته ام و روی Windows 10 مشکلی نیست ولی اگر آنرا روی Windows XP اجرا کنیم این مشکل مشاهده می شود "در VS2017 نوع SDK را نسخه 7.0 و Platform Toolset را Windows XP (v141_xp) تنظیم کرده ام ". بنظر شما مشکل چیست؟ لازم به ذکر است در حالتی که سیستم frezz شده آن APPWin32 را از حافظه خارج کنم برنامه ها از حالت frezz خارج می شوند!
  18. این یک نسخهٔ مفهومی هست، نسخه‌ای که در زمان ارسال پست بر روی وب‌سایت ساخته شده با استفاده از Qt و Cutelyst بود. نسخهٔ بعدی از اون باز به عنوان مفهومی بر اساس Drogon Framework ساخته شده، و نسخه‌ای هم بر اساس Boost در دست توسعه هست.
  19. استاد شما برای cms که ساختید از چه کتابخونه ای استفاده کردید؟
  20. Alireza4

    روزگار عجیبی ست زمانی در فکر برنامه نویس شدن بودم حالا طراح تجربه و رابط کاربری علاقه و شغلم شده!
  21. کامبیز اسدزاده

    سلام، برای این کار ابتدا سمت سی++ توابعی که باید مقادیر لحظه‌ای از مصرف منابع رو برای شما برگردونن رو پیاده‌سازی کنید، سپس برای ارسال و هماهنگی در سمت QML از WorkerScript استفاده کنید.
  22. سلام در صورتی که بخوام میزان حافظه و cpu که برنامه مصرف می کنه رو به صورت دوره ای در برنامه نمایش بدم، چه روشی پیشنهاد می کنید؟ ممنون
  23. zahra

    سلام با تعریف یک property در بدنه repeater به صورت زیر مشکل حل شد : Repeater { id: repeater model: 5 Rectangle { color : "transparent" id : myRectRepeater property int radius: 15 gradient: mygradient width: radius property var myColor: Global.Theme? "red" : "blue" Button { id:control x: 20 y : -25 Text { id : saveId// saveId text: qsTr(Global.textArray[index]) font : myFont color: myColor anchors.verticalCenter: parent.verticalCenter anchors.horizontalCenter: parent.horizontalCenter } } onClicked: { } } } } for(var idx1 =0; idx1 < 5; idx1++) { repeater.itemAt(idx1).myColor = Global.fontColor_gray ; repeater.itemAt(idx1).mygradient = myTheme }
  24. zahra

    سلام دسترسی به اعضای nested یک repeater به چه صورتی هست؟ من با استفاده از دستور زیر به جواب نرسیدم : repeater.itemAt(id).children[0].children[0].children[0].color = "red"; Repeater { id: repeater model: 5 Rectangle { property int radius: 15 gradient: Global.Theme width: radius Button { id:control x: 20 y : -25 Text { id : saveId// saveId text: qsTr(Global.textArray[index]) font : myFont color: Global.Theme ? Global.fontColor_gray : "red" anchors.verticalCenter: parent.verticalCenter anchors.horizontalCenter: parent.horizontalCenter } InnerShadow { //anchors.fill: parent cached: true visible: true horizontalOffset: 0 verticalOffset: 0 radius: 8 samples: 16 color: Global.Theme ? Global.innerShadowColor_gray : "red" smooth: true source: saveId } DropShadow { anchors.fill: saveId source: saveId verticalOffset: 4 //color: "#80000000" color: Global.Theme ? Global.dropShadowColor_gray : "red" radius: 30 samples: 300 } background: Rectangle { implicitWidth: 130 implicitHeight: 55 border.width: control.activeFocus ? 2 : 1 border.color: "darkgray" radius: 10 gradient: Global.Theme ? gradientProvider.gradientThem_1 : gradientThem_0 } onClicked: { } } } }
  25. الهه انصاری

    بررسی اثرات فناوری بلاکچین بر روی زنجیره‌‌‌ٔ تامین

    مقدمه این سری مقالات به بررسی نحوه‌ٔ اثرگذاری فناوری بلاکچین بر روی زنجیره‌های تامین می‌پردازند. دلیل اهمیت وجود این فناوری در زنجیره‌های تامین به ۴ عامل بستگی دارد: قابلیت ردیابی و دید گسترده، دیجیتال سازی و حذف واسطه‌ها، امنیت داده‌ٔ پیشرفته و قراردادهای هوشمند. در این مقالات چگونگی راه اندازی زنجیره‌ٔ تامین مبتنی بر بلاکچین از منظر طراحی نیز بیان شده است. از حوزه‌های حضور بلاکچین می‌توان به ارزهای دیجیتالی غیر متمرکز چون بیت کوین، قراردادهای دیجیتالی خودکار و دارایی‌های هوشمند اشاره کرد که قابل کنترل در سراسر فضای اینترنت هستند. پژوهش‌های اخیر انجام شده بیش‌تر بر روی تراکنش‌های مالی و سیستم‌های دفتر کل توزیع شده (distributed ledger systems) تمرکز دارند. این فناوری، که در واقع یک زیرساخت داده‌ٔ توزیع شده‌ٔ نظیر به نظیر است، از یک زیرساخت داده‌ٔ مشترک استفاده می‌کند که این داده‌ٔ مشترک خود را به صورت زمان واقعی (real-time) به روز رسانی می‌کند و قابلیت این را دارد که تراکنش‌ها را در عرض چندین دقیقه به کمک الگوریتم‌های کامپیوتری بدون نیاز به وجود تایید شخص سوم پردازش کند. برای مثال در حوزه‌ی تراکنش‌های مالی، بلاکچین قادر است تا تمام تراکنش‌ها را بدون نیاز به وجود بانک‌ها (واسطه‌ها) به انجام برساند بدین صورت که امکان تبادل امن داده‌ها را به صورت توزیع شده فراهم می‌کند. از طریق ادغام بلاکچین با سایر تکنولوژی‌ها از جمله اینترنت اشیاء، می‌توان سفر محصول را به طور کامل تحت نظر گرفت و رکوردهایی با ویژگی‌های خاص مانند قابلیت اشتراک گذاری را به طور دائم ثبت کرد و با این کار به کارایی اقتصاد جهانی کمک کرد. تکنولوژی بلاکچین از نظر فنی، بلاکچین به یک زیرساخت داده‌ٔ توزیع شده یا روشی برای ضبط و رکورد داده‌ها با استفاده از یک تابع هش رمزنگاری شده اشاره دارد. بلاکچین متشکل از نودها یا گره‌هایی است که بر روی یک شبکه‌ٔ ارتباطی قرار دارند و از چندین پروتکل‌های ارتباطی رایج بهره می‌برند؛ به گونه‌ای که هر گره یک نسخه از بلاکچین را در خود ذخیره می‌کند و یک عملکرد اجماع (consensus function) برای بررسی تراکنش‌ها در جهت حفظ تغییرناپذیری زنجیره اجرا می‌شود. در واقع تراکنش‌ها قابل تغییر نیستند. هر تراکنش که پردازش شد، در یک بلاک قرار داده می‌شود. هر بلاک به بلاک قبل و بعد از خود متصل است؛ به این صورت که هر بلاک در زنجیره‌ای برگشت ناپذیر به بلاک بعدی متصل است و این حالت برای تمام تراکنش‌ها صادق است. هنگامی که این بلاک‌ها در یک زنجیره در کنار هم جمع می‌شوند، امکان تغییر یا حذف آن‌ها توسط یک بازیگر وجود ندارد بلکه توسط پروتکل‌های حاکمیتی، تایید و مدیریت می‌شوند. در زنجیره‌ٔ بلوکی، یک بخش خاصی داده‌ها را کنترل نمی‌کند. کل زیرساخت داده برای تمام بخش‌ها قابل مشاهده است. به طوری که هر بخش می‌تواند تراکنش‌های شرکای خود را به صورت مستقیم و بدون هیچ گونه واسطه یا مکانیزم توافق توزیعی تایید کند. فرایند تایید به کمک روش‌های مدرن، امنیت داده‌ها را در مقابل هر گونه دسترسی غیر مجاز و دستکاری تضمین می‌کند. از آن جا که بلاک‌های موجود در زنجیره را نمی‌توان بازنویسی کرد، کاربران همیشه به یک دنباله‌ای از فعالیت‌های حسابرسی جامع دسترسی دارند. هر قدر که زنجیره‌ی بلوکی ما طولانی باشد، در مقابل دستکاری‌ها نیز به همان اندازه مقاوم‌تر است. ذخیره‌ی غیر متمرکز داده‌ها خطر بروز تک نقطه‌ی خرابی (SPoF) مرتبط با پایگاه‌های داده متمرکز را کاهش می‌دهد. دو نوع بلاکچین از منظر کنترل دسترسی (خواندن بلاکچین، ثبت تراکنش و شرکت در مکانیزم اجماع(روش‌هایی برای به توافق رسیدن اعضای یک شبکه)) قابل بحث است: بلاکچین عمومی (public): هر تراکنش به صورت عمومی رخ می‌دهد و نیازی به مجوز ندارد. کاربران می‌توانند ناشناس باقی بمانند. همچنین شبکه یک سری مکانیزم‌های خاص تشویقی دارد که به شرکت کنندگان برای پیوستن به شبکه انگیزه می‌دهد. رمزارزهای بیت کوین و اتریوم نمونه‌ای از بلاکچین‌های عمومی هستند. بلاکچین خصوصی (permissioned blockchain): در این نوع بلاکچین‌ها، شرکت کنندگان برای پیوستن به شبکه نیاز به اخذ کد دعوت یا مجوز دارند. دسترسی توسط کنسرسیومی از اعضا (consortium blockchain) و یا به کمک سازمان خاصی (private blockchain) کنترل می‌شود. کاربردهای جدید فناوری بلاکچین، فراتر از معاملات مالی، در بخش‌هایی مانند خدمات مالی، بیمه، مواد غذایی، سلامت است. در داخل زنجیره‌ٔ تامین نیز موارد جذابی از حضور بلاکچین دیده می‌شود. از آن‌ جا که بلاکچین یک موضوع نوظهور در حوزه‌ٔ زنجیره‌ٔ تامین است، مطالعه‌ٔ مقالات مهندسی، نوآوری، فناوری اطلاعات و سرمایه‌ گذاری خالی از لطف نیست تا اشراف بیش‌تری بر روی درک کاربرد این فناوری داشته باشیم. استقرار بلاکچین در عمل عمدتا در مرحله‌ٔ آزمایشی (pilot stage) است. در نتیجه، شواهد تجربی محدودی از چگونگی حضور بلاکچین در زنجیره‌ٔ تامین موجود است. یک مشاهده‌ٔ مهم حاصل از بررسی انواع کاربردهای مختلف بلاکچین در عمل، این است که بیش‌تر آن‌ها از بلاکچین‌های خصوصی (permissioned) استفاده می‌کنند. با توجه به حساسیت اطلاعات مربوط به زنجیره‌ٔ تامین، فاش کردن جزئیات اختصاصی مانند میزان تقاضا، ظرفیت، سفارشات و قیمت‌ها در تمام نقاط زنجیره‌ٔ تامین به شرکت کنندگان ناشناخته کار غیرعاقلانه‌ای است. علاوه بر این، بلاکچین‌های خصوصی در کنترل سازگاری و یکپارچگی داده‌های حساس برای تصمیم گیری موثرتر هستند. بسیاری از مقالات پایلوت بر پایه‌ی کنترل متمرکز هستند. اعضای بودجه معمولا کنسرسیومی تشکیل می‌دهند که ساختار اجتماعی شبکه و نحوه‌ٔ گرفتن تصمیمات مهم را تعیین می‌کند. یک هماهنگ کننده‌ٔ شبکه که احتمالا یکی از اعضای بودجه است، تسهیل هماهنگی و همکاری بین سهامداران مختلف در یک شبکه‌ٔ زنجیرهٔ تامین مبتنی بر بلاکچین را بر عهده دارد. هماهنگ کننده‌ٔ شبکه نقشی اساسی در خلق ارزش آینده گرا، تخصیص و توزیع میان اعضای شبکه دارد. همان طور که گفته شد، بلاکچین چندین ذینفع زنجیره‌ٔ تامین را قادر می‌سازد بدون نیاز به واسطه با یکدیگر معامله کنند. بنابراین حتی هنگامی که مشکلی در این بین پدید می‌آید، حل شدن آن مشکل به نفع تمامی طرفین خواهد بود. در واقع در این بین مفهومی به نام داده‌ٔ مشترک (shared value) رد و بدل می‌شود که افراد را مشتاق به مشارکت در زنجیره‌ٔ تامین می‌کند و رفتارهای مشارکتی را در آن‌ها تقویت می‌کند. همچنین فرصت رقابت برای سازمان‌های رقیب در شبکه ایجاد می‌شود؛ برای مثال IBM Food Trust دارای چندین خرده فروش است که در زنجیره‌ٔ تامین مربوط به این شرکت با هم رقابت می‌کنند. اعتماد یا اعتبار (Trust) اعتماد، تاثیرگذارترین عامل برای حضور و ایفای نقش بلاکچین در زنجیره‌ٔ تامین است. اعتبار به قابلیت اطمینان اطلاعات به دست آمده از شرکای تجاری یا مدیریت امنیت داده‌‌ها تحت یک مرجع مرکزی اشاره دارد. وقتی از اعتماد صحبت می‌شود یعنی این که تمام اتفاقات و تراکنش‌های انجام شده در زنجیره‌ٔ تامین به طور کامل در تمامی ابعاد بازتاب می‌شوند (shared source of truth, one data, one trusted source of data). برخی از محققان استدلال می‌کنند که پراکندگی امکانات و شرکای تجاری از نظر جغرافیایی، اغلب منجر به قطع و پیچیدگی ارتباط بین فعالان زنجیره‌ٔ تامین می شود. بنابراین، به دست آوردن و حفظ داده‌های قابل اعتماد بسیار حیاتی است. در این زمینه، بلاکچین با ارائه‌ٔ شبکه‌های یکپارچه، قابلیت دید کامل و فراهم آوردن اطلاعات متقارن برای تمام اعضا نقش بسزایی ایفا می‌کند. نکته‌ٔ مهم‌تر این که توجه مصرف کنندگان به اصالت و قانونی بودن کالاهایی که خریداری می‌کنند، بسیار بیش‌تر است. آن‌ها به طور فزاینده‌ای می‌خواهند بدانند که چگونه، چه موقع و از کجا منابع مورد نیاز محصولات تولید و فرآوری می‌شوند. یکی دیگر از محرک‌های انگیزشی برای استفاده از بلاکچین ایمنی عمومی و امنیت است‌. برای مثال برای جلوگیری از رفتارهای ضد اجتماعی، مانند حملات تروریستی به کشتی‌ها و کانتینرهای دریایی، با افزایش شفافیت از طریق راه‌اندازی سیستم‌های گمرکی مبتنی بر بلاکچین پیشنهاد می‌شود. براساس مطالعات انجام شده، بلاکچین به دلیل فراهم کردن قابلیت ردیابی و دید بیش‌تر برای زنجیره‌های تامین خلق ارزش می‌کند. ردیابی بلادرنگ با یکپارچه سازی بلاکچین و حسگرهای میدانی قابل پیاده سازی است. همچنین استفاده از برچسب زمانی که فرآیند ارائه‌ٔ یک ترتیب زمانی در میان مجموعهٔ وقایع است، اطلاعات مورد نیاز ما را کامل میکند. هنگامی که یک رویداد به صورت مداوم در زنجیره ثبت می‌شود، در هر گره فیلدی برای برچسب زمانی آن رویداد ایجاد می‌شود. بدین ترتیب می‌توان وجود داده‌ای خاص را در یک زمان مشخص به راحتی ثابت کرد. به کمک این منطق، برچسب زمانی با تهیه‌ی سابقه‌ای از رخدادها، از مدیریت موضوعات حساس به زمان پشتیبانی می‌کند. دیجیتالی شدن زنجیرهٔ تامین و واسطه زدایی (disintermediation) واسطه زدایی به این معنی است که یکپارچگی داده‌ها در یک بلاکچین توسط کل شبکه‌ تضمین می‌شود، نه توسط یک واسطه! در مورد تراکنش‌های مالی، انتقال دارایی همتا به همتا و تجارت یا پرداخت بین المللی بدون نیاز به احراز هویت شخص ثالث انجام می‌شود. به طوری که پژوهشگران معتقدند بلاکچین هزینه‌ٔ تراکنش‌ها و تاییدیه‌ها را با حذف واسطه‌ها کاهش می‌دهد. شبکه‌های نظیر به نظیر به ویژه برای روابط تجاری موقت به دلیل کاهش هزینه‌های اعتماد سازی اولیه بسیار موثر هستند. البته شبکه‌های تجارت بین المللی جزو پیچیده‌ترین زنجیره‌های تامین هستند زیرا شامل تعداد زیادی از ذینفعان (stakeholders) هستند. پیچیدگی موجود در این زنجیره‌های تامین اغلب به عدم دید کامل اطلاعات منجر می‌شود که می‌تواند به نقطه‌ی نفودی برای اعمال غیر اخلاقی یا غیر قانونی مبدل شود. بلاکچین با قابلیت شفافیت خود می‌تواند فسادهای به ویژه مالی جهان سوم را نشانه بگیرد. مزیت فوق العاده‌ٔ بلاکچین این است که هیچ یک از طرفین نمی‌توانند بدون توافق دیگران در شبکه، رکوردی را اصلاح، حذف یا حتی اضافه کند و همین ویژگی غیر متمرکز بودن بلاکچین یک مکانیزم امنیت داده‌ٔ منحصر به فرد است. تمامی این مزایا خبر از انتشار بسیار فراگیرتر فناوری بلاکچین را در زنجیره‌های تامین می‌دهد و دوران مراحل پایلوت و اثبات مفهوم به پایان می‌رسد. همان طور که گفته شد برخی کمبودها از جمله عدم یکپارچگی اطلاعات می‌تواند منجر به دستکاری‌، سواستفاده‌ و آسیب پذیری شبکه شود. اگرچه ممکن است عوامل مختلفی در ایجاد این آسیب پذیری نقش داشته باشند، اما استقرار سیستم غیر متمرکز می‌تواند احتمال این تهدید را کاهش دهد. بلاکچین یک روش جایگزین برای مدیریت دادهها به صورت امن و تغییرناپذیری ارائه می‌دهد و مقاومت بیش‌تری در برابر چنین هک‌هایی دارد. بلاکچین هیچ تک نقطه‌ی شکستی (SPoF) ندارد، به همین دلیل مقاومت بیش‌تری در برابر حمله دارد. اطلاعات مشابه برای تمام شرکت کنندگان در شبکه در دسترس خواهد بود، بنابراین اختلافات احتمالی بین شرکت کنندگان در مورد تراکنش‌ها کاهش می‌یابد. منطق قرارداد هوشمند را می‌توان برای تقویت هر چه بیش‌تر توافق نامه‌های قراردادی و کاهش اختلافات احتمالی در بلاکچین قرار داد. قراردادهای هوشمند (smart contracts) می‌توان گفت که مفهوم قرارداد هوشمند تحول پذیرترین کاربرد بلاکچین برای زنجیره‌های تامین است. قرارداد هوشمند یک پروتکل تراکنش رایانه‌ای است که به طور خودکار شرایط قرارداد را بر روی بلاکچین پیاده سازی می‌کند. اهداف کلی این قراردادها، تامین شرایط مشترک قراردادی است؛ در حالی که هزینه‌ها و تاخیرهای مربوط به قراردادهای سنتی را کاهش می‌دهند. یک قرارداد هوشمند مسائل مالی مربوط به عدم پرداخت به موقع را از بین می‌برد و با حذف مراحل ثبت قرارداد، نظارت و به روز رسانی کارایی را بهبود می‌بخشد. قرارداد هوشمند تعداد واسطه‌ها را کاهش می‌دهد و به مداخلات دستی کمتری نیاز دارد؛ در نتیجه هزینه‌های عملیاتی کاهش می یابند. قراردادهای هوشمند می‌توانند در بخش‌هایی که زنجیره‌ی تامین به صورت مقطعی شکل گرفته است و به چندین طبقه از تامین کنندگان و پیمانکاران فرعی تقسیم شده است، وارد عمل شوند. به دلیل وجود تعداد زیادی از سهامداران زنجیره‌ٔ تامین که در یک پروژه‌ٔ ساختمانی درگیر هستند، پیگیری وضعیت پیشرفت وظایف توافق شده و تسویه حساب مالی بر این اساس دشوار است. قراردادهای هوشمند می‌توانند فرآیندهایی مانند تحویل قرارداد توافق شده به اشخاص مشخص، به روز رسانی برنامه‌ها بر اساس تغییرات توافق شده یا رویدادهای جبران خسارت و انتشار اسناد برای طرف‌های مربوطه را خودکار کنند. ...منتظر بخش دوم مقاله باشید
  26. کامبیز اسدزاده

    سلام، شما می‌تونید با جاوا و یا کاتلین شروع کنید. در این باره جستجو کنید و آموزش‌های مرتبط با این حوزه را دنبال کنید.
  27. @کامبیز اسدزاده متاسفانه به این نسخه ها دسترسی ندارم مشکل اینه که بعد کامپایل شدن پوشه include وجود نداره وقتی میخوام داخل پروژه با #include هدر و وارد کنم میشناسه ولی بعد ارور میده
  1. نمایش فعالیت های بیشتر
×
×
  • جدید...