<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>پست‌های انتشارات جامعه سالیدیتی ایران</title>
        <link>https://virgool.io/Solidity/feed</link>
        <description>هدف از ایجاد این انتشارات کنارهم جمع کردن و آشنا شدن با علاقه مندان تکنولوژی بلاک چین و همچنین توسعه دهندگان سالیدیتی در ایران است.
   --------------------
در کانال تلگرامی به ما بپیوندید
t.me/ir_solidity
   ----------------------



صفحه من در ویرگول :
 https://virgool.io/@HShah</description>
        <language>fa</language>
        <pubDate>2026-06-16 02:32:19</pubDate>
        <image>
            <url>https://files.virgool.io/upload/publication/sof3to4chiu6/vcjchd.jpg</url>
            <title>جامعه سالیدیتی ایران</title>
            <link>https://virgool.io/Solidity</link>
        </image>

                    <item>
                <title>آموزش ساخت توکن ERC20 شخصی در بلاکچین اتریوم</title>
                <link>https://virgool.io/Solidity/tutorial-on-making-personal-erc20-token-in-ethereum-blockchain-xbzwsoe85vzk</link>
                <description>ساختن یک توکن (Token) در بلاکچین به شما این امکان را می‌دهد که یک رمزارز خودساخته با نام و نماد خودتان را ایجاد کنید. این کار می‌تواند برای پروژه‌هایی که به دنبال جمع‌آوری سرمایه هستند، مفید باشد. در ادامه، مراحل ساخت یک توکن در بلاکچین را شرح می‌دهیم:1. ایجاد یک کیف پول (Wallet):قبل از هرچیز، برای ذخیره توکن‌های خود باید یک کیف پول بلاکچین بسازید. برای این کار، می‌توانید از کیف پول‌های سخت‌افزاری یا نرم‌افزاری مانند MyEtherWallet یا MetaMask استفاده کنید.2. انتخاب بلاکچین:باید تصمیم بگیرید که بر روی کدام بلاکچین قصد ساخت توکن خود را دارید. برای مثال، می‌توانید بر روی بلاکچین Ethereum یا Binance Smart Chain (BSC) توکن خود را ایجاد کنید.3. طراحی توکن:حال باید توکن خود را طراحی کنید. برای این کار، باید از یک قالب استاندارد مانند ERC-20 برای Ethereum و BEP-20 برای BSC استفاده کنید. این قالب‌ها برای ساخت توکن‌های قابل تعامل با دیگر توکن‌ها و دارایی‌های بلاکچین طراحی شده‌اند.4. ایجاد کد توکن:بعد از طراحی توکن، باید کد توکن را برای بلاکچین خود ایجاد کنید. برای این کار، می‌توانید از زبان‌های برنامه‌نویسی مانند Solidity برای Ethereum وابسته به BSC استفاده کنید. این کد شامل جزئیاتی مانند نام توکن، نماد، مقدار سهامداری، توکن‌های اولیه، توکن‌های قابل تبدیل و قیمت توکن می‌باشد.5. مستندات توکن:بعد از ایجاد کد توکن، باید مستندات توکن را برای کاربران خود ایجاد کنید. این مستندات شامل جزئیاتی مانند نحوه خرید و فروش توکن، موجودی کیف پول، قیمت و نمودارهای توکن است.6. انتشار توکن:بعد از تکمیل مراحل بالا، کد توکن را برای بلاکچین خود ارسال کنید و توکن خود را منتشر کنید. برای این کار، می‌توانید از سرویس‌های مانند Remix و Truffle برای Ethereum و PancakeSwap برای BSC استفاده کنید.7. توزیع توکن:حالا که توکن شما منتشر شده است، می‌توانید آن را به افراد دیگری توزیع کنید. برای این کار، می‌توانید از روش‌هایی مانند فروش توکن در صرافی‌های رمزارز، توزیع توکن به صورت رایگان به کاربران جامعه و یا استفاده از ابزارهای تبلیغاتی برای جذب سرمایه‌گذاران استفاده کنید.در نهایت، باید توجه داشت که ساخت یک توکن در بلاکچین نیاز به دانش فنی و تخصصی دارد و برای جلوگیری از خطرات امنیتی و مشکلات قانونی، بهتر است با کارشناسان بلاکچین و رمزارزها همراه باشید.آموزش ساخت توکن ERC20 در بلاکچین اتریمبرای ساخت یک توکن در بلاکچین، ما در این آموزش از استاندارد ERC-20 در شبکه Ethereum استفاده می‌کنیم. ERC-20 یک استاندارد توکن برای شبکه‌های مبتنی بر Ethereum است که به شما این امکان را می‌دهد تا توکنی با قوانین و توابع مشخص خود بسازید.1. نصب کیت توسعه Truffle:برای شروع، ابتدا باید کیت توسعه Truffle را نصب کنید. این ابزار به شما امکان می‌دهد تا قراردادهای هوشمند را به راحتی بسازید و تست کنید. برای نصب Truffle، دستور زیر را در ترمینال یا کامند پرامپت وارد کنید:npm install -g truffle2. ایجاد پروژه Truffle:پس از نصب Truffle، یک پروژه جدید ایجاد کنید:mkdir MyToken
cd MyToken
truffle init3. نصب OpenZeppelin:برای ساخت توکن ERC-20، ما از کتابخانه OpenZeppelin استفاده می‌کنیم. OpenZeppelin شامل قراردادهای هوشمند قابل اعتماد و امن است که برای ساخت توکن‌ها و دیگر برنامه‌های بلاکچینی استفاده می‌شود. برای نصب OpenZeppelin، دستور زیر را وارد کنید:npm install @openzeppelin/contracts4. ایجاد قرارداد هوشمند توکن ERC-20:پس از نصب OpenZeppelin، یک فایل جدید به نام &#x60;MyToken.sol&#x60; در پوشه &#x60;contracts&#x60; ایجاد کنید و کد زیر را در آن قرار دهید:soliditypragma solidity ^0.8.0;

import &amp;quot@openzeppelin/contracts/token/ERC20/ERC20.sol&amp;quot

contract MyToken is ERC20 {
    constructor(uint256 initialSupply) ERC20(&amp;quotMyToken&amp;quot, &amp;quotMTK&amp;quot) {
        _mint(msg.sender, initialSupply);
 }
}5. تنظیم فایل truffle-config.js:فایل &#x60;truffle-config.js&#x60; را تنظیم کنید تا به شبکه‌ی توسعه (development network) متصل شود. می‌توانید از شبکه‌ی Ganache یا شبکه‌ی پیشفرض Truffle استفاده کنید.javascriptmodule.exports = {
    networks: {
        development: {
              host: &amp;quot127.0.0.1&amp;quot,
              port: 7545, // برای Ganache یا پورت دیگری که شبکه‌ی توسعه شما در آن قرار دارد
              network_id: &amp;quot*&amp;quot,
        },
    },
    compilers: {
        solc: {
              version: &amp;quot0.8.0&amp;quot,
        },
    },
};6. استقرار قرارداد هوشمند:فایل جدیدی به نام &#x60;2_deploy_contracts.js&#x60; در پوشه‌ی &#x60;migrations&#x60; ایجاد کنید و کد زیر را در آن قرار دهید:javascriptconst MyToken = artifacts.require(&amp;quotMyToken&amp;quot);

module.exports = function (deployer) {
deployer.deploy(MyToken, &amp;quot1000000000000000000000000&amp;quot); // 1 میلیون توکن با 18 رقم اعشار7. استقرار قرارداد هوشمند:ترمینال یا کامند پرامپت را باز کرده و دستور زیر را وارد کنید تا قرارداد هوشمند را استقرار دهید:truffle developپس از اتصال به شبکه‌ی توسعه، دستور زیر را وارد کنید:migrate8. تست کردن توکن:در ترمینال Truffle، می‌توانید توکن خود را تست کنید. برای مثال، می‌توانید تعداد توکن‌های اولیه را چک کنید:let instance = await MyToken.deployed()
let balance = await instance.balanceOf(accounts[0])
console.log(balance.toString())اگر همه چیز به درستی کار کرده باشد، می‌بینید که تعداد توکن‌های اولیه در حساب کاربری اول شما قرار دارد.تبریک! شما به‌طور موفقیت‌آمیز یک توکن ERC-20 در بلاکچین ایجاد کردید. می‌توانید با استفاده از قرارداد هوشمند خود توکن‌ها را به دیگران انتقال دهید، تعداد توکن‌های کاربران را بررسی کنید و دیگر عملیات‌های مربوط به توکن را انجام دهید.چگونه می‌توانم توکن خود را به صرافی‌های رمزارز اضافه کنم؟برای اضافه کردن توکن خود به صرافی‌های رمزارز، باید ابتدا مطمئن شوید که توکن شما قابل تبادل است و برای آن یک عنوان (Ticker) و یک آدرس قرار داده شده است.سپس برای اضافه کردن توکن خود به صرافی‌های رمزارز، می‌توانید از دو روش زیر استفاده کنید:1. درخواست از صرافی:شما می‌توانید با ارسال یک درخواست به صرافی مورد نظر، توکن خود را برای اضافه کردن به صرافی ارائه دهید. برای این کار، بهتر است به وب سایت صرافی مورد نظر بروید و فرم درخواست اضافه کردن توکن را پر کنید. درخواست شما به دلیل بارگذاری بالای صرافی و همچنین بررسی‌های امنیتی، ممکن است زمان بر باشد.2. اضافه کردن توکن به صرافی‌های دارای پشتیبانی از توکن‌های خودکار:بسیاری از صرافی‌ها از تکنولوژی توکن‌های خودکار (ERC-20 برای Ethereum و BEP-20 برای Binance Smart Chain) پشتیبانی می‌کنند. این یعنی صرافی‌ها به صورت خودکار توکن‌هایی که توسط کاربران بر روی بلاکچین آن‌ها ایجاد شده‌اند، شناسایی و به کیف پول کاربران اضافه می‌کنند. بنابراین، برای اضافه کردن توکن خود به صرافی، اگر صرافی شما از توکن‌های خودکار پشتیبانی می‌کند، کافی است که آدرس توکن خود را به کیف پول صرافی اضافه کنید و توکن خود به صورت خودکار به کیف پول شما اضافه خواهد شد.در هر صورت، برای اطمینان از اضافه شدن توکن شما به کیف پول صرافی، بهتر است با صرافی مورد نظر تماس بگیرید و از ایجاد توکن در صرافی اطمینان حاصل کنید.</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>Hossein Shahmohammadi</author>
                <pubDate>Sat, 17 Jun 2023 18:27:01 +0330</pubDate>
            </item>
                    <item>
                <title>بررسی ارتباط بلاکچین و هوش مصنوعی</title>
                <link>https://virgool.io/Solidity/blockchain-and-artificial-intelligence-i8kv0pr3xw4u</link>
                <description>ارتباط بین بلاکچین و هوش مصنوعی از دو جهت قابل بررسی است. از یک سو، این دو فناوری می‌توانند با هم ترکیب شوند و یکپارچه شوند و از طرف دیگر، هر کدام از این فناوری‌ها می‌تواند به توسعه و بهبود دیگری کمک کند.در مورد ترکیب بلاکچین و هوش مصنوعی، استفاده از بلاکچین می‌تواند به بهبود عملکرد هوش مصنوعی منجر شود. به طور مثال، کاربرد بلاکچین در جمع‌آوری و ذخیره داده‌ها، به هوش مصنوعی کمک می‌کند تا به داده‌های بیشتری دسترسی پیدا کند و از آنها برای آموزش خود استفاده کند. همچنین، با استفاده از بلاکچین، می‌توان بهبود امنیت و حفاظت از داده‌ها در هنگام استفاده از هوش مصنوعی را فراهم کرد.از سوی دیگر، هوش مصنوعی می‌تواند به بهبود عملکرد بلاکچین کمک کند. به طور مثال، با استفاده از هوش مصنوعی، می‌توان الگوریتم‌های بهینه‌سازی برای پردازش تراکنش‌های بلاکچین طراحی کرد و از آنها برای بهبود کارایی و سرعت بلاکچین استفاده کرد. همچنین، با استفاده از هوش مصنوعی، می‌توان بهبود فرآیندهای تشخیص تغییرات در بلاکچین و تشخیص تراکنش‌های مشکوک به کمک الگوریتم‌های یادگیری ماشینی فراهم کرد.بنابراین، با توجه به اینکه بلاکچین و هوش مصنوعی هر کدام دارای مزایا و معایب خود هستند، ترکیب این دو فناوری می‌تواند به بهبود عملکرد و کارایی سیستم‌ها و برنامه‌های مختلف منجر شود.با توجه به مزایایی که بلاکچین و هوش مصنوعی دارند، از ترکیب این دو فناوری می‌توان در بسیاری از صنایع و بخش‌ها بهره برد. به عنوان مثال، در صنعت بیمه، از بلاکچین برای ذخیره سازی داده‌های بیماری‌ها و محاسبه بیمه‌ها و از هوش مصنوعی برای تحلیل این داده‌ها و پیش‌بینی محتمل‌ترین بیماری‌ها و روش‌های پیشگیری استفاده می‌شود. از طرفی، با استفاده از بلاکچین، اطلاعات بیمه‌ای بیماران به صورت امن و مطمئن ذخیره می‌شود و با استفاده از هوش مصنوعی، می‌توان بهبود پویایی و کارایی این سیستم‌ها را فراهم کرد.همچنین، در حوزه تجارت الکترونیک، ترکیب بلاکچین و هوش مصنوعی می‌تواند به بهبود امنیت و کارایی پرداخت‌های آنلاین کمک کند. با استفاده از بلاکچین، تراکنش‌های مالی به صورت شفاف و امن ذخیره می‌شوند و با استفاده از هوش مصنوعی، می‌توان الگوریتم‌هایی را برای تحلیل این داده‌ها و تشخیص تراکنش‌های مشکوک طراحی کرد.در حوزه حمل و نقل هم، با استفاده از بلاکچین، اطلاعاتی مانند تاریخچه وضعیت و موقعیت بارها به صورت دقیق و شفاف ذخیره می‌شوند و با استفاده از هوش مصنوعی، می‌توان الگوریتم‌هایی را برای بهینه سازی مسیر حمل بار و جلوگیری از تأخیرهای ناشی از ترافیک طراحی کرد.بنابراین، ترکیب بلاکچین و هوش مصنوعی می‌تواند در بسیاری از صنایع و بخش‌ها به بهبود کارایی، امنیت و کاربردی بودن سیستم‌ها و برنامه‌ها کمک کند.آیا بلاکچین و هوش مصنوعی می‌توانند در حوزه‌های دیگری به کار گرفته شوند؟بله، بلاکچین و هوش مصنوعی قابلیت کاربرد در حوزه‌های بسیاری را دارند و می‌توانند در صنایع مختلفی از جمله بهداشت، حمل و نقل، کشاورزی، مالی، مدیریت زنجیره تأمین، امنیت و غیره به کار گرفته شوند. در ادامه، برخی از کاربردهای بلاکچین و هوش مصنوعی در حوزه‌های دیگر را ذکر می‌کنیم:1- بهداشت: بلاکچین و هوش مصنوعی می‌توانند در جمع‌آوری و تحلیل داده‌های پزشکی، تشخیص بیماری‌ها، تحلیل داده‌های ژنتیکی و تشخیص سریع بیماری‌ها و موارد دیگر به کار گرفته شوند.2- حمل و نقل: بلاکچین و هوش مصنوعی می‌توانند به منظور بهبود امنیت و کیفیت حمل و نقل، پیش‌بینی ترافیک، بهینه سازی مسیرها و کاهش هزینه‌های حمل و نقل به کار گرفته شوند.3- کشاورزی: بلاکچین و هوش مصنوعی می‌توانند در بهبود کیفیت محصولات کشاورزی، رصد محصولات و تشخیص بیماری‌ها و آفات، مدیریت منابع آبی و بهبود سیستم‌های زراعی به کار گرفته شوند.4- مدیریت زنجیره تأمین: بلاکچین و هوش مصنوعی می‌توانند به منظور بهبود شفافیت، ردیابی و کنترل کیفیت محصولات، بهبود مدیریت زنجیره تأمین و کاهش هزینه‌های زنجیره تأمین به کار گرفته شوند.5- امنیت: بلاکچین و هوش مصنوعی می‌توانند در پیشگیری از جرائم سایبری، تشخیص تقلب و تهیه اسناد تقلبی، بهبود امنیت شبکه‌های ارتباطی و کاهش هزینه‌های مرتبط با امنیت به کار گرفته شوند.به طور کلی، بلاکچین و هوش مصنوعی به دلیل قابلیت‌هایی که دارند، می‌توانند در حوزه‌های بسیاری از جمله بهداشت، حمل و نقل، کشاورزی، مدیریت زنجیره تأمین، امنیت و غیره به کار گرفته شوند و بهبود قابل توجهی در عملکرد و کارایی این صنایع ایجاد کنند.آیا استفاده از بلاکچین و هوش مصنوعی، هزینه‌های بالایی دارد؟استفاده از بلاکچین و هوش مصنوعی ممکن است در برخی موارد هزینه‌های بالایی داشته باشد، اما در بسیاری از موارد، می‌تواند به توفیر هزینه‌های قابل توجهی برای سازمان‌ها و شرکت‌ها منجر شود.در مورد بلاکچین، استفاده از آن می‌تواند به کاهش هزینه‌های واسطه‌های مالی، بهبود امنیت تراکنش‌ها، کاهش هزینه‌های مربوط به تایید تراکنش‌ها و غیره منجر شود. همچنین، به دلیل استفاده از پایگاه داده توزیع شده، امکان دسترسی به اطلاعات در سطح جهانی بدون نیاز به واسطه‌های مالی وجود دارد که می‌تواند هزینه‌های مربوط به واسطه‌ها را به طور قابل ملاحظه‌ای کاهش دهد.در مورد هوش مصنوعی، استفاده از آن ممکن است به دلیل نیاز به سرمایه‌گذاری در تحقیق و توسعه، طراحی سیستم‌های مختلف و آموزش الگوریتم‌ها هزینه‌هایی داشته باشد. اما در عوض، استفاده از هوش مصنوعی می‌تواند به بهبود کارایی و کاهش هزینه‌های مربوط به تصمیم‌گیری‌های انسانی، بهبود دقت تصمیم‌گیری و پیش‌بینی، بهبود برنامه‌ریزی و مدیریت منابع منجر شود.بنابراین، در کل، استفاده از بلاکچین و هوش مصنوعی ممکن است در برخی موارد هزینه‌های بالایی داشته باشد، اما با توجه به بهره‌هایی که این فناوری‌ها دارند، می‌توانند به توفیر هزینه‌های منابع، بهبود عملکرد و افزایش سودآوری سازمان‌ها و شرکت‌ها منجر شوند.</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>Hossein Shahmohammadi</author>
                <pubDate>Sat, 17 Jun 2023 17:10:32 +0330</pubDate>
            </item>
                    <item>
                <title>علم پرایس اکشن چیست؟ (Price Action)</title>
                <link>https://virgool.io/Solidity/%D8%B9%D9%84%D9%85-%D9%BE%D8%B1%D8%A7%DB%8C%D8%B3-%D8%A7%DA%A9%D8%B4%D9%86-%DA%86%DB%8C%D8%B3%D8%AA-price-action-oybod3pktvhg</link>
                <description>علم پرایس اکشن چیست؟ (Price Action)در دنیایی پیچیده، همۀ ما در معرض آن قرار داریم که گاه چنان روی نقشه‌ها متمرکز شویم که از چشم‌انداز اصلی پیش‌روی خود غافل شویم. در بازارهای مالی، معیارهای تحلیل تکنیکال مثل همان نقشه هستند. در حالی که به محیط پرنوسان و پویای بازارها فرم می‌دهند و قیمت به‌ظاهر تصادفی را قابل تفسیر می‌کنند، اما ممکن است بیش از حد ساده‌سازی کنند یا از چیزی که سعی در تحلیلش دارند، چشم‌پوشی کنند.شاید برای همین است که عده‌ای از معامله‌گران ترجیح داده‌اند با اتخاذ یک رویکرد مینیمالیسم، اغلب یا همۀ معیارهای تکنیکال را دور اندازند و فقط به خودِ حرکت قیمت توجه کنند. این بزرگ‌ترین وجه تمایز استفاده از روش‌های مبتنی بر علم پرایس اکشن در تحلیل بازارهای مالی و انجام معاملات است.علم پرایس اکشن چیست؟پرایس اکشن به زبان ساده علم بررسی چگونگی تغییر قیمت یا حرکت قیمت است. تریدر با استفاده از ابزار و مفاهیم پرایس اکشن سعی می‌کند در درجۀ نخست با چهار دادۀ اصلی حرکت قیمت را رمزگشایی کند و به یک نتیجه دربارۀ حرکت بعدی آن برسد. این داده‌های قیمت معمولا در چارت‌ OHLC یا نمودار شمعی نمایش داده می‌شوند که ابزار اصلی یک تریدر پرایس اکشن است.پرایس اکشن علمی است که بدون استفادۀ پیچیده از معیارهای تکنیکال و تنها با استفاده از تحلیل حرکت‌ قیمت، سیگنال‌های معاملاتی قابل اطمینانی برای ورود و خروج سرمایه‌گذاران می‌دهد. علم پرایس اکشن نوعی تحلیل تکنیکال است و بنیانی برای تمام تحلیل‌های تکنیکال روی نمودار قیمت هر چیزی است که آزادانه در بازار معامله می‌شود.در واقع، از این منظر می‌گوییم گونه‌ای از تحلیل تکنیکال است که عوامل فاندامنتال را در نظر نمی‌گیرد. به هر حال پرایس اکشن با سایر روش‌های تحلیل تکنیکال تفاوت دارد زیرا فقط بر قیمت فعلی دارایی و رابطۀ آن با گذشته‌اش تمرکز دارد.پرایس اکشن چند عنصر اصلی دارد: روند، سطح قیمت (مقاومت/ حمایت) و پاسخ بازار که به تریدر کمک می‌کنند الگوهایی برای پیش‌بینی حرکت بعدی قیمت کشف کند و موقعیت‌های خرید و فروش را شناسایی کند.تفاوت پرایس اکشن با تحلیل تکنیکال در چیست؟معیارهای تحلیل تکنیکال برای پیش‌بینی حرکت قیمت یک دارایی، محاسبات و داده‌های مختلفی را به کار می‌گیرند. بر خلاف باور عموم، تحلیل تکنیکال فراتر از محاسبۀ صرفِ یک سری معیار روی نمودار است. هر چیزی که مربوط به قیمت و معاملات یک دارایی باشد در تحلیل تکنیکال می‌گنجد.بر عکس، روش پرایس اکشن فقط از حرکت قیمت یک دارایی در طول زمان و دنبال کردن فعالیت‌های معاملاتی روی چارت قیمت استفاده می‌کند. مزیت پرایس اکشن در سادگی آن است.کدام یک بهتر است؟ تحلیل تکنیکال یا پرایس اکشن؟به بیان صریح، هیچ‌‌کدام بر دیگری برتری ندارد و انتخاب به ترجیحات تریدر بستگی دارد. برخی از افراد می‌توانند با استفاده از روش‌های پرایس اکشن نمودار قیمت را مثل کتاب rwi بخوانند و در طرف دیگر، عده‌ای با استفاده از معیارهای تحلیل تکنیکال می‌توانند فرصت‌های پرسود سرمایه‌گذاری را شکار کنند.پیشنهاد ما این است که مدتی از داشبوردهای دمو استفاده کنید تا بفهمید کدام رویکرد مناسب شماست. البته بسیاری از معامله‌گران موفق، ترکیب پرایس اکشن با برخی معیارهای تکنیکال را توصیه کرده‌اند.چرا به علم پرایس اکشن نیاز داریم؟بسیاری از سرمایه‌گذاران در بازارهای مالی قسم می‌خورند که تنها بر اساس پرایس اکشن (رفتار قیمت و سابقۀ قیمتی آن) ترید می‌کنند. به عقیدۀ آن‌ها، تحلیل تکنیکال نیز به عنوان یک تکنیک عملی از پرایس اکشن گرفته شده زیرا هدف آن در نهایت استفاده از قیمت‌های پیشین در محاسبات خود و پیشنهادِ یک تصمیم برای سرمایه‌گذاری است.هر معیار تحلیل تکنیکال ساخته شده‌ تا شکلی از ابعاد فنی خاصی از بازارها مثل حجم معاملات، روند و نیروهای بازار نشان دهد. معیارها اما در انجام این کار، از ابعاد دیگری صرف نظر می‌کنند. برای همین است که معامله‌گران اغلب معیارهای تکنیکال مختلف را با هم ترکیب می‌کنند. به هر حال با تمام اطلاعات وسیعی که از آن‌ها به دست می‌آید، ممکن است نقاط کوری ایجاد کنند.برخی حتی گام فراتر نهاده و می‌گویند معیارهای تکنیکال فایده‌ای ندارند و تنها خودِ حرکت قیمت است که تصویر واقعی را نشان می‌دهد. به نظر آن‌ها، تمام معیارهای دیگر به سادگی تفسیرهایی همراه با تأخیر از داده‌های اساسی نمودار قیمت هستند و توجه را از شرایط در حال شکل‌گیری بازار، منحرف کنند.از طرفی، معیارهای تک‌منظوره از جزئیات مهمی چشم‌پوشی می‌کنند و از طرف دیگر تنوع و ترکیب معیارها می‌تواند سناریوهای بازار را تا حدی پیچیده کند که به تفسیرهای متناقض منتج شود و تریدر را به عجز در تحلیل (Analysis Paralysis) برساند.اما در چارچوب روش‌های پرایس اکشن چنین نیست. الگوهای حرکت قیمت در لحظه خود را آشکار می‌کنند و وضعیت تعادل میان عرضه و تقاضا را نشان می‌دهند. هر حرکت قیمت رابطه بین خریدار و فروشنده را نشان می‌دهد. افزایش عرضه قیمت را کاهش و افزایش تقاضا آن را افزایش می‌دهد. یک تریدر پرایس اکشن همزمان حرکت قیمت را با عوامل مختلف مثل روندها، الگوهای شمعی و سطوح قیمت ارزیابی می‌کند تا نگرشی کارساز از حرکت بعدی قیمت به دست آورد.مفاهیم و ابزار اصلی علم پرایس اکشن کدامند؟علم پرایس اکشن عناصر مفهومی و تجربی گوناگونی دارد. خطوط روند، سطوح حمایت/ مقاومت، پاسخ بازار و الگوهای قیمت روی نمودار شمعی (OHLC) برخی از این عناصر هستند که در ادامه یک به یک بررسی می‌شوند. اجازه دهید ابتدا مختصر با نمودار شمعی آشنا شویم که این یکی از مهم‌ترین قدم‌ها در جهت فهم پرایس اکشن است.نمودار OHLCنمودار OHLC یا نمودار شمعی چیزی جز اطلاعات حرکت قیمت در طول زمان ارائه نمی‌دهد، برای همین به آن نمودار «لخت» می‌گویند. چارت OHLC با ثبت پیوستۀ 4 دادۀ قیمت (گشایش، بالا، پایین، خاتمه) در تایم‌فریم مشخص تولید می‌شود. نمودار OHLC یک دارایی برای هر تایم‌فریم ممکن وجود دارند. برای مثال تصویر یک نمودار شمعی BTC/USDT در تایم فریم 5 دقیقه دیده می‌شود.نمودار OHLC هر میلۀ (کندل) سبز و قرمز روی این نمودار OHLC نشان‌دهندۀ حرکت صعودی و نزولی قیمت در طول تایم‌فریم است. جدا از این که تایم‌فریم چه‌مقدار باشد، هر میله به یک بازه تعلق دارد و 4 دادۀ اصلی دارد: قیمت گشایش (O)، بالاترین قیمت (H)، پایین‌ترین قیمت (L) و قیمت خاتمه (C)هر کندل از دو قسمت تشکیل شده است. یک بدنۀ مستطیلی که محدودۀ بین دو قیمت گشایش و خاتمه را نشان می‌دهد. بدیهی است که برای کندل سبز (صعودی، گاوی) ضلع بالایی قیمت خاتمه و ضلع پایین، قیمت گشایش است. یک کندل همچنین دو دسته (سایه) در بالا و پایین دارد که بالاترین و پایین‌ترین قیمت را در کندل نشان می‌دهند. سایه‌ها، محدودۀ حرکت‌ قیمت و شدت این صعود و نزول‌ها را به تصویر می‌کشند.تایم فریمقواعد و اصول پرایس اکشن در هر تایم فریم دلخواه کار می‌کنند چون درون خود، قانون فراگیر عرضه و تقاضا دارند. این اصول محدود به زمانی که در آن تحقق می‌یابند نیستند و همچنین تنها به بازار خاصی تعلق ندارند. شاید از یک تایم فریم به تایم فریم دیگر نیاز به برخی تنظیمات وجود داشته باشد اما قواعد علم پرایس اکشن به همان اندازه که در بازار فارکس قابل اجرا هستند در بازارهای سهام، آتی، کالا، اوراق و ارز دیجیتال نیز کار می‌کنند.روندهاروش عمومی توصیف رفتار قیمت در طول زمان، بررسی روند‌هاست. روند به بیان ساده، جهت حرکت قیمت در یک پنجرۀ زمانی مشخص است. در کل، یک روند صعودی با بالاترین قیمت بالاتر و پایین‌ترین قیمت بالاتر توصیف می‌شود و روند نزولی شامل پایین‌ترنی قیمت پایین‌تر و بالاترین قیمت پایین‌تر است. در نمودار روزانۀ زیر، قیمت در بازۀ 5 ماهه یک روند صعودی آشکار داشته است. به هر حال، این روند صعودی خود از قسمت‌هایی با روندهای صعودی و نزولی کوتاه‌مدت تشکیل شده است.وقتی قیمت در یک محدودۀ قطری بین دو خط موازی باقی بماند، به اصطلاح با کانال‌های روند محدود شده است که حدود بالا و پایین روند را نشان می‌دهد. هر زمان هم که در یک محدودۀ افقی بدون یک روند جهت‌دار حرکت کند، معروف است که پرایس اکشن در محدودۀ معاملات است. در ترسیم خطوط روند این دو قاعده را به یاد داشته باشید:یک خط روند قطری که بازار برای دو مرتبه از آن بازگردد یک خط روند موقت (tentative) است. این خطوط روندهای بالقوه را نشان می‌دهند اما هنوز مورد تایید و قابل اقدام نیستند.خطوط روند مورد تایید (confirmed) سه مرتبه در مقابل عبور قیمت مقاومت کرده‌اند که این نشانه‌ای از حقیقی بودن روند و واکنش احتمالی بازار به آن خواهد بود.زمانی که قیمت از یک خط روند مورد تایید بار دیگر باز می‌گردد، بهترین فرصت برای ترید است. برای مثال، مقدار پایین یک کندل از حد پایین محدودۀ روند اندکی پایین‌تر رفته و سپس بازگشت کرده است. این یک موقعیت ورود است. البته در رابطه با ترسیم خطوط از اضلاع مستطیل یا ترسیم آنها از دو انتهای دسته‌ها نظرات متفاوتی وجود دارد. به هر حال، تریدر موفق از هر دو روش استفاده می‌کند.سطح حمایت و مقاومتسطوح حمایت و مقاومت پدربزرگ تمام تحلیل‌های تکنیکال نمودار قیمت هستند. ایدۀ کلی این است که سطوحی قبلی قیمت، که به آن رسیده و از آن بازگشت کرده، مقاومت خود را دوباره نشان خواهند داد. به هر حال در نقطه‌ای، قیمت از سد آن‌ها خواهد گذشت. این یعنی بازار حافظه دارد.یک ویژگی این سطوح قیمتی این است که وقتی قیمت از آن‌ها عبور می‌کند به قوت خود باقی می‌مانند فقط نقش عوض می‌کنند. برای مثال، با کاهش قیمت و شکست سطح حمایت، انتظار داریم که این قیمت تبدیل به سطح مقاومت شود.قیمت با توجه به سطوح خاصی که در حرکت تاریخی، نقاط بازگشت آن بوده‌اند رفتار خاصی دارد و اعضای دیگر بازار با لحاظ کردن این موضوع ترید می‌کنند. زمانی که قیمت دارایی به این سطوح نزدیک می‌شود، تریدرها منتظر می‌مانند تا این سطوح تست شوند و قبل از این که به ترید وارد شوند، از جهت حرکت آن مطمئن می‌شوند.سطح حمایت و مقاومت الگوهای پرایس اکشندر کل می‌توان الگوهای نموداری پرایس اکشن را به دو قسمت تقسیم کرد:اول، الگوهای ادامه‌دهندۀ روند (Continuation) هستند که نشان می‌دهند یک الگوی چارت در مسیر صعودی یا نزولی خود ادامه می‌یابد. الگوهای مثلث‌های صعودی یا نزولی، فنجون و دسته، پرچم‌های گاوی یا خرسی، پرچم‌های سه‌گوش گاوی یا خرسی برخی از مثال‌های این دسته هستند.دوم، الگوهای بازگشتی (Reversal) هستند که نشان می‌دهند قیمت دارایی به احتمال زیاد روند جدیدی را در مسیری جدید آغاز خواهد کرد. الگوهای صعودی و نزولی کنج (Wedge)، الگوهای کف و سقف دوقلو و سه‌قلو (Double and Triple Top/ Bottoms) و الگوهای سر و شانه (Head and Shoulders) برخی از این موارد هستند. مطابق تصویر، الگوی سر و شانه یک الگوی بازگشتی است.الگوهای نموداری پرایس اکشنهمچنین یک راه دیگر برای شناسایی الگوهای ادامه و بازگشت استفاده از الگوهای شمعی است. این‌ها کندل‌هایی تک، دوتایی و سه‌تایی هستند که سیگنالی از تغییر جهت یا ادامۀ روند پرایس اکشن می‌دهند. برخی از محبوب‌ترین الگوهای شمعی، الگوی چکش، چکش وارونه، مرد حلق‌آویز، ستارۀ دنباله‌دار، ستارۀ صبح، سه سرباز سفید، الگوی کندلی پوشا (Engulfing)، الگوی نافذ (Piercing) نام دارند.الگوهای پرایس اکشن اگر می‌خواهید به تعاریف مختصر و اشکال تمام الگوهای شمعی به صورت یکجا دست یابید می‌توانید از این صفحۀ ویکی پدیا استفاده کنید. همچنین پلتفرم تریدینگ ویو (TradingView) یک ابزار رایگان برای جستجوی خودکار انواع الگوی شمعی روی نمودار دارد. کافیست به حساب کاربری خود وارد شوید و از قسمت Technicals و سپس Candlestick patterns الگوی مورد نظر خود را انتخاب کنید. رخدادهای تکنیکال بازارقیمت‌ها ممکن است در یک مقطع تکنیکال حساس، مانند نزدیکی سطح حمایت و مقاومت، خط روند، یا الگوی اصلی، مطابق یا عکس انتظار تریدر حرکت کنند. برای تریدر پرایس اکشن، این رویدادها و نتایج آن‌ها اهمیت فراوان دارند. این‌ها نقاط تاریخی مهم هستند که باید در تنظیمات و تصمیمات معاملاتی آینده لحاظ شوند.تریدر پرایس اکشن چه کاری انجام می‌دهد؟پرایس اکشن با استفاده از نمودارهایی که حرکت قیمت را در به صورت پیوسته در تایم فریم مشخص نمایش می‌دهند، تفسیر می‌شود. چارت کندل استیک (نمودار شمعی) ابزاری محبوب برای معامله‌گران است که در شناسایی فرصت‌های خرید و فروش به آن‌ها کمک می‌کند.از آن‌جا که کندل‌ها واحدهای اساسی در نمودار شمعی هستند، شناخت نقش آن‌ها در داستان کلی قیمت برای یافتن بهترین نقاط ورود و خروج ضروری است. رابطۀ بین 4 دادۀ قیمتی که هر کندل را می‌سازند و نحوۀ قرارگیری کندل‌ها در کنار هم، سیگنال‌های مهمی از مسیر آتی قیمت می‌دهد.تریدر پرایس اکشن با کمک الگوهای شمعی، روندهای فعلی را تایید می‌کنند و نقاط تغییر روند را شناسایی می‌کند. آن‌ها پرایس اکشن را ارزیابی می‌کنند و با کمک سایر الگوها و معیارهای تکنیکال تصمیم می‌گیرند.برای مثال، تصویر زیر یک تحلیل تکنیکال مبتنی بر علم پرایس اکشن را نشان می‌دهد. این نمودار چندین رخداد روی نمودار را به تصویر کشیده که از یک فرصت سرمایه‌گذاری ناب خبر می‌دهند. خط روند (خط آبی رنگ)، سطح مقاومت (خط زرد رنگ)، الگوی نموداری «کف دوقلو» و الگوی شمعی چکش (Hammer) اجزای این تحلیل بوده‌اند.تریدر پرایس اکشنکندل‌ها و الگوهای شمعی نگرش مفیدی از احساسات بازار و فرصت‌های بالقوه می‌دهند اما نباید سیگنال خرید و فروش تلقی شوند. همواره باید آن‌ها را با توجه به زمینه (Context) بنگرید و با سایر معیارها و الگوهای نموداری تکنیکال تاییدشان کنید.این «زمینه» می‌تواند هر چیزی باشد. از تحلیل چرخه‌های بازار گرفته تا الگوهای تکنیکال نموداری مثل روش وایکوف، تئوری امواج الیوت و معیارهای تکنیکال نظیر محدوده‌های روند، معیار RSI و ابرهای ایچیموکو، هدف کلی، یافتن یک نظم و قاعده در حرکت به‌ظاهر تصادفیِ قیمت است.مزایا و معایب پرایس اکشن چیست؟مزایای Price Actionپرایس اکشن اجازه می‌دهد بدون اتکا به اخبار فاندامنتال، معیارهای گیج‌کننده و سیگنال‌های نامعلوم، تریدر سودآوری باشید.قیمت به عنوان معیار اصلی تحلیل پرایس اکشن در لحظه الگو می‌سازد و تفاسیر پرایس اکشن همراه با تأخیر نیستند. به‌عبارتی، پرایس اکشن تفسیر مستقیم قیمت است، جای این‌که تفسیر یک تفسیر باشد.بدون قیمت، چیزی در بازار مالی قابل تحلیل نیست؛ پس بهتر است فهم عمیق از اساس حرکت و رفتار قیمت پیدا کرد.استفاده از علم پرایس اکشن و اصول آن مانعی در برابر سایر روش‌ها و تکنیک‌های تحلیل نیست.در صورت تسلط بر علم پرایس اکشن می‌تواند به آسانی و به سرعت شرایط در حال شکل‌گیری بازار را بفهمید و موقعیت‌های ورود و خروج را شناسایی کنید.کمک به شناسایی نقاط شکست (Breakout)، بازگشت (Reversal)، سقف و کف (Tops/Bottoms)، حرکت‌های انگیزشی و اصلاحی (impulsive/corrective) و محیط کلی بازار که شما را از قرار گرفتن در طرف اشتباه بازار باز می‌دارد.معایب (محدودیت‌ها) Price Actionتریدر پرایس اکشن ممکن است به سادگی برخی از الگوهای قیمت را نادیده بگیرد و در شناسایی موقعیت‌های ترید به عجله افتد.سیگنال‌ها ممکن است درست قبل از انتشار یک خبر تاثیرگذار صادر شوند و موجب زیان شوند.همۀ الگوها در هر مرتبه با یک شکل ظاهر نمی‌شوند. ممکن است تریدر پرایس اکشن زودتر از موعد اقدام کند یا مدام در جستجوی یک موقعیت ورود یا خروج منتظر بماند.پرایس اکشن تا حدودی ذهنی است، یعنی دو تریدر ممکن است یک حرکت قیمت را به گونۀ متفاوتی تفسیر و نتیجه‌گیری کنند.عملکرد پرایس اکشن یک دارایی در گذشته تضمینی برای عملکرد آیندۀ آن نمی‌دهد. این علم به هیچ عنوان عوامل اقتصاد کلان ، فاندامنتال یا غیرمالی را شامل نمی‌شود.پیش‌بینی حاصل از ابزار علم پرایس اکشن، سوداگرانه است و هر چه از سایر ابزارها برای تصدیق نتایج آن بکار بگیرید، بهتر است.جمع‌بندیبازارهای مالی جایی برای  مبادله هستند و این مبادله ردپایی بر جا می‌گذارد که علم پرایس اکشن به دنبال آن است: قیمت. الگوهای پرایس اکشن شکل می‌گیرند چون قیمت‌های بازار، تمایل به تکرار دارند. از آن‌جا که وقتی صحبتِ «پول» در میان باشد، احساسات انسانی قابل پیش‌بینی است، اقدامات اعضای بازار مرتبا به وقوع الگوهای پرایس اکشن می‌انجامد که تکرار می‌شوند.بنابراین، مهم نیست از چه سیستم تحلیلی یا استراتژی ترید استفاده می‌کنید، برای تریدر موفقی شدن یا باید علم پرایس اکشن را یاد بگیرید و یا از ربات‌های دستیار ترید هوشمند که طبق علم پرایس اکشن سیگنال می‌دهند و معامله انجام می‌دهند کمک بگیرید. در این ویدیو توضیح می‌دهیم که ربات‌های تریدر چگونه سیگنال می‌دهند: https://www.aparat.com/v/3S9N6 </description>
                <category>جامعه سالیدیتی ایران</category>
                <author>RamzArz</author>
                <pubDate>Sat, 10 Jun 2023 15:50:47 +0330</pubDate>
            </item>
                    <item>
                <title>5 ابزار رایگان مدیریت و نگهداری از رمز عبور</title>
                <link>https://virgool.io/Solidity/5-%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D9%88-%D9%86%DA%AF%D9%87%D8%AF%D8%A7%D8%B1%DB%8C-%D8%A7%D8%B2-%D8%B1%D9%85%D8%B2-%D8%B9%D8%A8%D9%88%D8%B1-jsvr92tb76bx</link>
                <description>پانزده سال پیش حدوداً صدهزار تومن پول داشتم و تصمیم داشتم با آن یک هارد دیسک اکسترنال بخرم. اما به جای آن به توصیه دوستی که خیلی با تکنولوژی روز و بازارهای مالی ارتباط خوبی داشت، یک بیت کوین خریدم که خیلی هم باورش نداشتم. کسی آن روزها از کیف پول دیجیتالی سردر نمی‌آورد. من هم! بنابراین اطلاعات بیت کوینم را در یک ایمیل نه چندان معتبر ذخیره کردم.حالا چندسالی است که دربه در به دنبال رمز عبور آن ایمیل می‌گردم تا آن بیت کوین چندصد میلیونی را زنده کنم. اما دریغ و درد که هرکاری می‌کنم رمز عبور ایمیلم را به خاطر نمی‌آورم و هیچ روش جایگزینی که با آن بتوانم ایمیل را دوباره بازیابی کنم هم تا به حال جواب نداده است!داستان بالا کاملاً واقعی است. احتمالاً شما هم حداقل یک بار با آن مواجه شده‌اید. فراموشی رمز عبور می‌تواند در مورد هر نرم‌افزاری که نیاز به لاگین کردن دارد، رخ دهد. هیچ ربطی هم به سن و سال و میزان استفاده از نرم‌افزارها ندارد. بنابراین بد نیست با ابزارهایی که کار کرک رمز عبور را انجام می‌دهند آشنا شویم.1- NordPass· می‌تواند تعداد نامحدودی رمز عبور را ذخیره کند.· رابط کاربری بسیار زیبایی دارد.· می‌توانید با آن رمزهای عبور قوی را به طور خودکار و با یک کلیک ایجاد کنید.· امکان همگام سازی حساب‌ها در چندین دستگاه در این ابزار فراهم است.· نسخه رایگان دارد.تنها نکته مهم در استفاده از این ابزار نگهداری رمز عبور این است که از دست دادن رمز عبور اصلی به این معنی است که حساب خود را نیز از دست می‌دهید. پس باید مراقب رمز عبور خود این نرم‌افزار باشید.2- Dashlane· رابط کاربری آسان و جذاب این نرم افزار واقعاً چشمگیر است.· زیرساخت امنیتی منحصر به فرد و بسیار قوی دارد.· مجهز به تولید کننده رمز عبور رایگان است.· اگر هر یک از رمزهای عبور شما به خطر بیفتد، سیستم به سرعت به شما هشدار می دهد.· نسخه رایگان دارد.به یاد داشته باشید که در نسخه رایگان این ابزار فقط 50 رمز عبور را می‌توانید ذخیره کنید.3- Bitwarden· رابط کاربری این ابزار هم بسیار جذاب است و گزینه‌های زیادی برای استفاده دارد.· می‌توانید از آن به صورت رایگان در چندین دستگاه استفاده کنید.· نرم افزار منبع بازی که دائماً پشتیبانی می‌شود و به طور منظم برای خطاهای احتمالی بررسی می‌شود.· نسخه رایگان دائمی دارد.برخی از استفاده‌کنندگان از این نرم‌افزار نگهداری از رمز عبور معتقدند که رابط کاربری نسخه رایگان آن زیادی ابتدایی است. ضمن آنکه اگر رمز عبور خود نرم‌افزار را از یاد ببرید دیگر هیچ راه بازگشتی برای آن وجود ندارد.4- KeePass· این ابزار رمز نگاری به صورت کلی و برای همیشه رایگان است.· نسخه‌های غیر رسمی مختلف آن را با اکثر سیستم عامل‌ها، مرورگرها و دستگاه‌های هوشمند بسیار سازگار است.· می‌توانید آن را سفارشی کنید.ممکن است رابط کاربری این ابزار کمی قدیمی به نظر برسد. اما به هرحال ابزار شناخته شده و بسیار ایمنی است.5- LastPass· می‌تواند به تعداد نا محدود رمز عبور ایجاد کند.· به صورت کلی رایگان است اما می‌توانید از نسخه پریمیوم آن به مدت 30 روز به صورت رایگان استفاده کنید.· مجهز به سیستم ذخیره و تکمیل خودکار رمز عبور است.· ابزار رایگان تولید رمز عبور دارد.احتمالاً دیگر بهانه خاصی برای فراموشی رمزهای عبور خود نخواهید داشت. چون به کمک این ابزارهای امن و رایگان می‌توانید هر رمز عبوری را برای همیشه ذخیره کنید. فقط به یاد داشته باشید که تنها چیزی که نباید فراموش شود رمز عبور خود این برنامه است.فارغ از این که از چه نرم‌افزاری استفاده می‌کنید، حتی اگر این نرم‌افزارها اداری باشند مثل نرم‌افزار اتوماسیون اداری، نرم افزار بایگانی اسناد، نرم افزار دبیرخانه، نرم افزار مدیریت مستندات EDMS یا نرم افزار صندوق قرض‌الحسنه، به هر حال برای مراقبت بهتر از اطلاعات خود نیاز به یکی از این ابزارهای کمکی خواهید داشت.</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>شرکت نرم افزاری یگانه</author>
                <pubDate>Sat, 10 Jun 2023 10:38:27 +0330</pubDate>
            </item>
                    <item>
                <title>رمزنگاری داده‌ چیست؟</title>
                <link>https://virgool.io/Solidity/%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB%8C-%D8%AF%D8%A7%D8%AF%D9%87-%DA%86%DB%8C%D8%B3%D8%AA-ypnnwvljiuo0</link>
                <description>در دنیای امروزی که حفاظت از اطلاعات حساس و جلوگیری از دسترسی غیرمجاز به آنها از اهمیت بسیار بالایی برخوردار است، رمزنگاری داده‌ها به عنوان یکی از مفاهیم اساسی در حفظ امنیت اطلاعات نقش مهمی را ایفا می‌کند. رمزنگاری داده‌ها به معنای تبدیل داده‌های قابل خواندن به شکلی که فقط با داشتن کلید مورد نیاز قابل خواندن و فهمیدن هستند. در این مقاله، به مفاهیم رمزنگاری داده‌ها، الگوریتم‌های رمزنگاری معروف و کاربردهای آنها خواهیم پرداخت.بخش اول: مفاهیم رمزنگاری داده‌هارمزنگاری داده‌ها به معنای تبدیل داده‌های قابل خواندن به یک شکل خاص به نام رمز با استفاده از یک کلید مخصوص است. این فرآیند شامل دو مفهوم اصلی است: رمزنگاری و رمزگشایی. رمزنگاری به معنای تبدیل داده‌ها به شکل رمز شده است و رمزگشایی به معنای بازگرداندن داده‌ها به شکل قابل خواندن است. در این بخش، فرآیند رمزنگاری و رمزگشایی به تفصیل توضیح داده می‌شود.بخش دوم: الگوریتم‌های رمزنگاریالگوریتم‌های رمزنگاری به عنوان ابزارهای کلیدی در رمزنگاری داده‌ها استفاده می‌شوند. در این بخش، به معرفی و توضیح الگوریتم‌های رمزنگاری معروف می‌پردازیم. دو نوع اصلی الگوریتم رمزنگاری عبارتند از رمزنگاری تقارنی و رمزنگاری ناقص تقارنی. الگوریتم‌های معروف در هر دسته به تفصیل توضیح داده می‌شوند و مثال‌هایی از استفاده عملی آنها ارائه می‌شود.بخش سوم: کاربردهای رمزنگاری داده‌هارمزنگاری داده‌ها در بسیاری از زمینه‌ها و کاربردها استفاده می‌شود. در این بخش، به بررسی کاربردهای رمزنگاری داده‌ها می‌پردازیم. این شامل حوزه‌هایی مانند ارتباطات برخط، امنیت شبکه، حفاظت از اطلاعات شخصی، امنیت فایل‌ها و سند‌ها، پرداخت‌های امن و بسیاری موارد دیگر است. هر کاربرد را به صورت جداگانه توضیح می‌دهیم و نکات مهم را برجسته می‌کنیم.بخش چهارم: رمزنگاری داده‌ها و قوانین قانونیاستفاده از رمزنگاری داده‌ها در برخی کشورها ممکن است تحت قوانین خاصی قرار داشته باشد. در این بخش، به بررسی قوانین قانونی مرتبط با رمزنگاری داده‌ها می‌پردازیم. مطالعه و رعایت این قوانین اهمیت بسیاری در حفظ حریم خصوصی و امنیت اطلاعات دارد. قوانین مرتبط با حفاظت اطلاعات، حریم خصوصی و استفاده از رمزنگاری در کشورهای مختلف را مورد بررسی قرار می‌دهیم.بخش پایانی: آینده رمزنگاری داده‌هادر این بخش، به بحث درباره آینده رمزنگاری داده‌ها می‌پردازیم. با پیشرفت فناوری‌ها و رشد روزافزون تهدیدهای امنیتی، نیازمندی‌ها و روندهای جدید در زمینه رمزنگاری بروز می‌کنند. برخی از موضوعاتی که مورد بررسی قرار می‌گیرند عبارتند از رمزنگاری کوانتومی، رمزنگاری چندجانبه، رمزنگاری در اینترنت اشیا و سایر تحولات مرتبط با آینده رمزنگاری.نتیجه‌گیری:در نهایت، اهمیت رمزنگاری داده‌ها به عنوان یک ابزار قدرتمند در حفظ امنیت و جلوگیری از دسترسی غیرمجاز به اطلاعات حساس برجسته می‌شود. با شناخت مفاهیم و الگوریتم‌های رمزنگاری و استفاده درست از آنها در کاربردهای مختلف، می‌توان به طراحی سیستم‌های امنیتی قوی‌تر و حفاظت بهتر از اطلاعات دست یافت. همچنین، نیازمندی‌ها و روندهای جدید در زمینه رمزنگاری نشان از آینده روشن و پرامید رمزنگاری داده‌ها می‌دهد.</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>Sedali</author>
                <pubDate>Thu, 08 Jun 2023 18:04:59 +0330</pubDate>
            </item>
                    <item>
                <title>کدام ارزهای دیجیتال در سال‌های 2023 و 2024 کاهش خواهند یافت؟</title>
                <link>https://virgool.io/Solidity/%DA%A9%D8%AF%D8%A7%D9%85-%D8%A7%D8%B1%D8%B2%D9%87%D8%A7%DB%8C-%D8%AF%DB%8C%D8%AC%DB%8C%D8%AA%D8%A7%D9%84-%D8%AF%D8%B1-%D8%B3%D8%A7%D9%84-%D9%87%D8%A7%DB%8C-2023-%D9%88-2024-%DA%A9%D8%A7%D9%87%D8%B4-%D8%AE%D9%88%D8%A7%D9%87%D9%86%D8%AF-%DB%8C%D8%A7%D9%81%D8%AA-ldzyhuvwwxob</link>
                <description>فهرست مطالب• معرفی• عوامل موثر بر قیمت ارزهای دیجیتال• ارزهای دیجیتالی که ممکن است در سال 2023 دچار رکود شوند• ارزهای دیجیتالی که ممکن است در سال 2024 دچار رکود شوند• دلایل رکود• آیا رکود دائمی است؟• نتیجهمعرفیعوامل موثر بر قیمت ارزهای دیجیتال کریپتوکارنسی یک دارایی دیجیتالی است که به عنوان یک وسیله مبادله طراحی شده است که از رمزنگاری قوی برای ایمن سازی تراکنش های مالی، کنترل ایجاد واحدهای اضافی و تأیید نقل و انتقال دارایی استفاده می کند. اگرچه مفهوم ارز دیجیتال برای مدت طولانی وجود داشت، اما پس از راه اندازی بیتکوین در سال 2009، محبوبیت زیادی به دست آورد. در دهه گذشته، بازار ارزهای دیجیتال شاهد چندین جهش و افت شدید بوده است.عوامل موثر بر قیمت ارزهای دیجیتالسیاست ها و مقررات دولتی، شرایط اقتصادی جهانی، و نرخ پذیرش توسط مشاغل و صنایع، عوامل اصلی تاثیرگذار بر قیمت ارزهای دیجیتال هستند.بازار ارزهای دیجیتال به شدت مستعد سیاست ها و مقررات دولتی است. به عنوان مثال، یک کشور ممکن است استفاده از ارزهای دیجیتال خاص را ممنوع یا محدود کند، که می تواند منجر به کاهش تقاضای ارز و در نتیجه کاهش ارزش آن شود.شرایط اقتصادی جهانی نیز نقش مهمی در تعیین قیمت ارزهای دیجیتال دارد. عدم قطعیت های اقتصادی می تواند باعث افزایش تقاضا برای ارزهای دیجیتال مانند بیتکوین شود که به عنوان یک دارایی امن در نظر گرفته شود. از سوی دیگر، شرایط اقتصادی باثبات ممکن است منجر به کاهش تقاضا برای ارزهای دیجیتال شود که می تواند قیمت آنها را کاهش دهد.نرخ پذیرش توسط مشاغل و صنایع نیز یک عامل اساسی است که بر قیمت ارزهای دیجیتال تأثیر می گذارد. اگر شرکت‌ها و کسب‌وکارهای بزرگ شروع به پذیرش ارزهای دیجیتال به عنوان نوعی پرداخت کنند، تقاضا و متعاقباً ارزش آن‌ها افزایش می‌یابد.به طور خلاصه، قیمت ارزهای دیجیتال تحت تأثیر عوامل خارجی مختلفی قرار می گیرد که می تواند بسیار غیرقابل پیش بینی باشد. بنابراین، نظارت دقیق بر روندهای بازار برای اتخاذ تصمیمات آگاهانه سرمایه گذاری بسیار مهم است.ارزهای دیجیتالی که ممکن است در سال 2024 دچار رکود شوندارزهای دیجیتال بسیار نوسان هستند و پیش بینی عملکرد آینده آنها یک کار چالش برانگیز است. با این حال، بر اساس روندهای فعلی و تجزیه و تحلیل بازار، به نظر می رسد که Cardano، Dogecoin و Polygon از جمله ارزهای رمزپایه ای هستند که ممکن است در سال 2024 دچار رکود شوند.ارز Cardano یک پلتفرم قرارداد هوشمند مشابه اتریوم است، اما ادعا می کند که مقیاس پذیری و ویژگی های امنیتی بهتری دارد. علیرغم اینکه یک پروژه امیدوارکننده است، برخی از کارشناسان معتقدند که کاردانو ممکن است به هیاهوی خود نپردازد و در سال های آینده با کاهش تقاضا مواجه شود. علاوه بر این، از آنجایی که کاردانو هنوز در مرحله توسعه است، هرگونه تاخیر در راه‌اندازی پروژه می‌تواند بر احساسات سرمایه‌گذاران تأثیر بگذارد و منجر به افت ارزش آن شود.دوج کوین که به عنوان یک ارز میم شروع به کار کرد، در سال 2021 با تایید افراد مشهوری مانند ایلان ماسک مورد توجه رسانه ها قرار گرفت. اگرچه طرفداران اختصاصی دارد، کارشناسان معتقدند که Dogecoin هیچ مورد استفاده واقعی ندارد و صرفا یک دارایی سوداگرانه است. با کم شدن سر و صدای Dogecoin، ممکن است جذابیت خود را از دست بدهد و منجر به کاهش تقاضا و ارزش شود.ارز Polygon که قبلا با نام Matic شناخته می شد، یک راه حل مقیاس پذیری لایه 2 برای اتریوم است. هدف آن حل مشکلات مقیاس پذیری اتریوم و تبدیل آن به یک پلتفرم قوی تر و کارآمدتر است. علیرغم داشتن یک مورد استفاده امیدوارکننده، کارشناسان بر این باورند که ارزش گذاری Polygon ممکن است از اصول اولیه آن فراتر رفته باشد و آن را برای اصلاح در آینده آماده کند.رکود این ارزهای دیجیتال می تواند به دلیل عوامل مختلفی مانند ارزش گذاری بیش از حد، افزایش رقابت یا عدم وجود نوآوری باشد. با این حال، مهم است که توجه داشته باشید که این ها پیش بینی های صرف هستند و عملکرد واقعی بازار ممکن است متفاوت باشد.با وجود رکود، همیشه توصیه می شود که از روندهای بازار به روز بمانید و تصمیمات آگاهانه بگیرید. همانطور که ضرب المثل قدیمی می گوید: &quot;همه تخم مرغ های خود را در یک سبد قرار ندهید&quot;، تنوع بخشیدن به سبد سهام می تواند به شما کمک کند تا ریسک ها را کاهش دهید و از سرمایه گذاری خود نهایت استفاده را ببرید.دلایل رکودآیا رکود دائمی است؟ارزهای دیجیتال در چند سال گذشته سهم نسبتاً بالایی از فراز و نشیب خود را داشته اند. اما آیا رکود فعلی قیمت ها دائمی است؟ با نگاهی به عملکرد گذشته، واضح است که بازار به شدت نوسان است و می تواند در عرض چند روز تغییر کند. همین چند ماه پیش بیت کوین بیش از 60000 دلار ارزش داشت، اما اکنون در تلاش است تا بالای 30000 دلار باقی بماند. آیا این بدان معناست که ارزهای دیجیتال سرمایه گذاری بدی هستند؟ لازم نیست.پیش بینی های آینده فقط همین هستند - پیش بینی ها. هیچ کس نمی تواند به طور دقیق آینده را پیش بینی کند، به خصوص وقتی صحبت از بازار ارزهای دیجیتال باشد. در حالی که برخی از کارشناسان بر این باورند که رکود ادامه خواهد داشت، برخی دیگر پیش‌بینی می‌کنند که برخی ارزهای دیجیتال در نهایت بهبود یافته و حتی از ارزهای قبلی خود پیشی می‌گیرند.اوج ما همه اینها به عوامل مختلفی مانند سیاست های دولت، مقررات مالی، پذیرش توسط مشاغل و شرایط اقتصادی جهانی بستگی دارد.بنابراین اگر در ارزهای رمزپایه سرمایه گذاری کرده اید که در حال حاضر دچار رکود شده اند، چه کاری باید انجام دهید؟ پاسخ ساده است - مراقب روندهای بازار باشید. در حالی که می‌تواند وسوسه انگیز باشد که سرمایه‌گذاری‌های خود را بفروشید، اما مهم است که به یاد داشته باشید که بازار می‌تواند به سرعت تغییر کند. با نظارت بر روند بازار و مطلع ماندن، می توانید تصمیمات آگاهانه ای در مورد سرمایه گذاری خود بگیرید.در نتیجه، رکود فعلی ارزهای دیجیتال ممکن است دائمی باشد یا نباشد. عملکرد گذشته و پیش بینی های آینده هر دو نشان می دهد که هر چیزی ممکن است رخ دهد. نکته کلیدی این است که در مورد سرمایه گذاری خود آگاه باشید و صبور باشید. و چه کسی می داند، ممکن است حتی بتوانید در بلندمدت به سود خود برسید.نتیجهخوب، این همه برای امروز است، مردم! ما در مورد ارزهای رمزنگاری شده احتمالی که ممکن است در سال های 2023 و 2024 به دلیل عوامل مختلفی مانند ارزش گذاری بیش از حد، عدم نوآوری و افزایش رقابت دچار رکود شوند، بحث کرده ایم. با این حال، توجه به این نکته ضروری است که این پیش‌بینی‌ها به هیچ وجه انجام نمی‌شوند و ممکن است در آینده شاهد تغییر سرنوشت باشیم.یکی از نکات کلیدی این وبلاگ، اهمیت نظارت بر روندهای بازار هنگام برخورد با ارزهای دیجیتال یا هر فرصت سرمایه گذاری دیگری است. بازار بی ثبات است و هر چیزی ممکن است در هر زمانی اتفاق بیفتد، بنابراین نظارت دقیق بر تحولات و اقدام سریع در صورت لزوم بسیار مهم است.خب، بعدش چی؟ اخبار و روندهای بازار کریپتو را دنبال کنید و هنگام سرمایه گذاری پولی که به سختی به دست آورده اید، تصمیمات آگاهانه بگیرید. مثل همیشه، برای شما آرزوی موفقیت در تمام تلاش های آینده را داریم.</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>karim amir</author>
                <pubDate>Tue, 30 May 2023 13:15:14 +0330</pubDate>
            </item>
                    <item>
                <title>معرفی فینوبیت و بررسی تاریخچه آن</title>
                <link>https://virgool.io/Solidity/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%81%DB%8C%D9%86%D9%88%D8%A8%DB%8C%D8%AA-%D9%88-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE%DA%86%D9%87-%D8%A2%D9%86-dfbxvcffgezq</link>
                <description>فینوبیت یک صرافی ارز دیجیتال واقع در ایران است که بیشتر بخاطر تعداد رمزارزهای بالایی که پشتیبانی میکند شناخته شده است، پیش از اینکه در ادامه مطلب به بررسی چگونگی عملکرد و همچنین مزایای این صرافی بپردازیم به بررسی تاریخچه این صرافی و شرکت تاسیس کننده آن خواهیم پرداخت.در سال 1397 برای اولین بار صرافی ارز های دیجیتال نیل توسط شرکت نوآوران آینده خلاق راد که در منطقه آزاد ارس واقع شده است طراحی شد و در اختیار کاربران قرار گرفت، این صرافی فعالیت خود را تا سال 1401 ادامه داد تا جایی که پای فینوبیت توسط موسسان اولیه نیل به عرصه رقابت باز شد، در آن زمان با تصمیم مدیران شرکت صرافی تازه تاسیس فینوبیت که با هدف بهبود امکانات و ارائه خدمات بهتر طراحی شده بود، با صرافی نیل ادغام شد؛ در حال حاضر فینوبیت به صورت کامل تحت مالکیت شرکت مذکور بوده و اداره می شود.صرافی فینوبیت نیز مانند تمامی صرافی های موجود در ایران تلاش کرده است امکانات و مزایای متنوعی را برای معامله گران ارزهای دیجیتال در داخل کشور ارائه کند که در ادامه به بررسی دقیق تر این مزایا خواهیم پرداخت.پشتیبانی بیش از 1500 بازار معاملاتیدر این صرافی بیش از 1500 رمزارز مطرح دنیا لیست شده و قابل معامله است که به شما کمک میکند تا هر ارزی را که نیاز دارید بدون نیاز به استفاده از صرافی های مختلف در لحظه خرید و فروش کنید، این صرافی بروز نگه داشتن لیست رمزارزهای قابل معامله در بازار معاملاتی خود را در دستور کار خود قرار داده است.واریز و برداشت آنیدر فینوبیت شما می توانید دارایی رمزارزی خود را در لحظه به کیف پول خود واریز نموده و یا از کیف به صرافی منتقل کنید، همچنین علاوه بر واریز و بردشت رمزارزی که در این صرافی به صورت آنی صورت میپذیرد برداشت ریالی نیز در فینوبیت برای بانک های موجود در لیست زیر به صورت آنی میباشد.سامان، آینده، ملی، صادرات، خاورمیانه، پاسارگاد، کشاورزی، پارسیان، رسالت و اقتصاد نوینهمچنین تیم فینوبیت در تلاش است جهت سهولت استفاده کاربران در ادامه دیگر بانک ها را نیز به این لیست اضافه کند.پشتیبانی 24 ساعتهیکی دیگر از مهم ترین مزایای این صرافی که میتوان به آن اشاره کرد پشتیبانی 24 ساعته فینوبیت میباشد، تمامی معامله گران بزرگ میدانند که نحوه و ساعات پاسخ گویی یک پلتفرم معاملاتی یکی از مهم ترین فاکتورهای آن سیستم به حساب می‌آید، تیم فینوبیت با ارائه پشتیبانی آنلاین ۲۴ ساعته از طریق چت آنلاین در ۲۴ ساعت شبانه روز و هفت روز هفته پاسخگوی تمامی کاربران گرامی می باشد.پشتیبانی از بازار معاملاتی ETFهاشاید پیش از این کلماتی همچون پوزیشن های شورت و لانگ و یا لوریج به گوش شما خورده باشد، در این نوع از معاملات شما نه تنها میتوانید بر روی بالا رفتن قیمت یک ارز سرمایه گذاری کنید، بلکه حتی در بازارهای ریزشی نیز توانایی سرمایه گذاری روی ارز های دیجیتال را دارید، در اصل شما در این بازار میتوانید از ریزش و افزایش قیمت برخی ارزها سود کسب نمایید؛ پلتفرم معاملاتی فینوبیت با ارائه امکان معامله ETF ها این بستر را نیز برای معامله گران خود فراهم می کند.</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>فینوبیت</author>
                <pubDate>Mon, 17 Apr 2023 03:40:41 +0330</pubDate>
            </item>
                    <item>
                <title>چرا یوان چین همیشه ثابت است؟</title>
                <link>https://virgool.io/Solidity/%DA%86%D8%B1%D8%A7-%DB%8C%D9%88%D8%A7%D9%86-%DA%86%DB%8C%D9%86-%D9%87%D9%85%DB%8C%D8%B4%D9%87-%D8%AB%D8%A7%D8%A8%D8%AA-%D8%A7%D8%B3%D8%AA-gspg0ujfjmmq</link>
                <description>یوان چین از سال ۱۹۹۴ همواره یک ارز ثابت بوده است.این رویکرد دولت باعث شده که این ارز همیشه نسبت به سایر رقبای خود کم ارزش تر باشد. چنین سیاستی دست آویز جذابیت چین برای واردات شده، زیرا در نگاه سایر کشور ها کم بها تر می‌باشد. چین با ایجاد گیرایی برای کالاهای خود در بازار جهانی رشد اقتصادی را تضمین می کند.تا زمانی که یوان در مقام مقایسه با ارز های دیگر ارزش پایین تری داشته باشد کشورها می توانند مقدار کالای بیشتری از چین بخرند.به طور خاص، اگر بانک خلق چین ، یوان را در مقایسه با دلار آمریکا ضعیف نگه دارد، تاجرانی که از دلار آمریکا استفاده می‌کنند می‌توانند کالاهای بیشتری از چین خریداری کنند.صادرات محرک اصلی هر اقتصادی است زیرا موجب ایجاد جریان نقدینگی به داخل کشور می شود. برای پایین نگه داشتن مصنوعی یوان و حمایت از فعالیت های صادراتی ، بانک خلق چین اقدام به خرید ارز های خارجی می کند.در ده سال گذشته از دسامبر ۲۰۰۴ تا دسامبر ۲۰۱۴ صندوق ذخایر ارزی چین، ذخایر خود را از ۶۰۰میلیارد دلار به ۳.۶تریلیون دلار افزایش داده است.(برای درک بهتر این عدد بد نیست بدانید تولید ناخالص داخلی ایران حدود۳۶۰میلیارد دلار است).رونق اقتصادی چین.این سیاست به چین کمک کرده که در بیست سال اخیر رشد اقتصادی فوق العاده بیش از ده درصد را بارها تجربه کند. طبق گزارش کنگره ملی آمریکا چین در سال ۲۰۱۰ به بزرگترین تولید کننده جهان تبدیل شده است. تولید ناخالص داخلی سرانه چین از ۴۷۳ دلار در سال ۱۹۹۴ به ۱۰۱۶۷ دلار در سال ۲۰۱۹ افزایش یافت( که نشان می‌دهد تنها در ۲۵ سال ۲۰۰ برابر شده است). رشد سریع چین باعث شده که طبق گزارش سازمان ملل درسال ۲۰۱۴، % ۲۵از کل تولیدات زمین در چین تولید شده باشد.مزایا و معایببانک مرکزی خلق چیندرحالی که این سیاست موجبات بالندگی و پیشرفت چین را فراهم آورده، اما برای همه این گونه نیست! تولیدکنندگان و کارگران آمریکایی از مازاد تجاری چین شکایت کرده اند و مدعی شده‌اند که پیوند یوان به شرکت‌های چینی مزیتی ناعادلانه داده است. در نتیجه، قانونگذاران آمریکایی، بر آن شده اند ارزش این ارز چینی را تغییر دهند .ممکن است این خواسته تولیدکنندگان شما را به اشتباه بیاندازد که ارزان بودن کالای چینی به ضرر همه است.اما اینطور نیست، درحقیقت ضعیف بودن یوان در مقابل دلار باعث می‌شود شرکت های آمریکایی که از مواد اولیه چینی استفاده می‌کنند بتوانند کالای نهایی ارزان تر تولید کنند و درنهایت سود بیشتری عاید آید؛ یا مصرف کننده نهایی با هزینه کمتری از خدمات و تولیدات مورد نیاز خود بهره مند شود. آنگاه این سود هم برای مصرف کننده نهایی است و هم برای تولید کننده ای با کالای وارداتی.استراتژی برنده چینتثبیت یوان یک حرکت سیاسی - استراتژیک است که مزایای مهمی را برای اقتصاد چین فراهم کرده. با استفاده از این رویکرد، بانک خلق چین جذابیت صادرات چین را در بازار جهانی افزایش داده و به شکوفایی بیشتر چین نیز مدد رسانده‌است. در حالی که بسیاری از دولت‌ها از سیاست‌های انبساطی استفاده می‌کنند به این امید که اینسان سیاست‌ها به نتیجه برسند. چین کارآمدی سیاست گذاری ارزی خود را طی سال‌ها ثابت کرده است.منابع :Why Is the Chinese Yuan Pegged?https://sgp.fas.org/crs/row/IF10139.pdfارتباط با من:zil.ink/omidabrishami1</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>امید ابریشمی | Omid Abrishami</author>
                <pubDate>Thu, 23 Mar 2023 01:22:15 +0330</pubDate>
            </item>
                    <item>
                <title>Enums در Solidity سالیدتی</title>
                <link>https://virgool.io/Solidity/enums-in-solidity-tew4kagg10km</link>
                <description>سلام، ممکنه در حین یادگیری زبان برنامه نویسی Solidity و یا توسعه قرارداد های هوشمند، اصطلاح Enums به گوشتون خورده باشه و کنجکاو شده باشید، اگر علاقه دارید بیشتر در مورد Enum ها در سالیدتی بدونید،‌ تا آخر این مقاله آموزشی همراه من باشید!آرین حسینی - Arian Hosseini - مفهوم Enums در Solidity - مفهوم Enum ها در سالیدتی Enum ها چی هستند و چه کاربردی دارند؟کلمه Enum در زبان انگلیسی مخفف Enumeration هست و به زبان خیلی ساده،‌ Enum ها به شما این امکان رو میدن که برای متغیر هاتون، مقادیر از پیش تعریف شده (predefined values) ایجاد کنید،یعنی یک متغیر رو فقط محدود به داشتن یکسری مقادیر خاص و از پیش‌تعریف شده بکنید،که در نتیجه باعث جلوگیری از به وجود اومدن باگ های احتمالی در کدتون میشه و همچنین برای مدیریت خطاها و ارور ها هم بسیار کاربردی هست.به صورت فنی،‌ شما یک Enum رو تعریف میکنید و یک لیست مشخصی از مقادیری که میخواید همیشه ثابت باشه رو مینویسید که بهشون میگیم Member یا اعضای اون Enum، بعد میتونید یک variable تعریف کنید از نوع اون Enum به خصوص که ساخته بودید، درواقع data type اون متغیر رو شما به جای string, boolean و... برابر با enumی که ساخته بودید، قرار میدید و دیگه اون متغیر فقط محدود به داشتن یکی از اون Member ها یا مقادیر از پیش‌تعریف شده‌ میشه،جلوتر مثال هایی رو باهم میبینیم و کامل درک خواهید کرد، نگران نباشید!ساختار تعریف یک enum در سالیدتی به شکل زیر هست:enum &lt;enumName&gt;  { member1, member2, member3, ... }نکته: شما میتونید enum ها رو حتی خارج از بلاک کد یک contract و یا library هم تعریف کنید.همونطور که مشاهده میکنید، ساختار تعریف یک enum بسیار ساده هست، با کلمه کلیدی enum همراه با یک نام تعریف میشن و بعد داخل { ... } تمامی مقادیر دلخواه‌‌تون رو تعریف میکنید که ما به عنوان یک Member می‌شناسیم، همچنین نیازی به قراردادن سمی کالن ; هم نیست!بریم چندتا Enum واقعی رو با هم ببینیم:enum Color { BLUE, GREEN, RED }
enum LightMode { OFF, ON }
enum frenchFriesSize { LARGE, MEDIUM, SMALL }
enum Status { Finished, Pending, Failed }مثلا frenchFries (سیب زمینی سرخ کرده) رو در نظر بگیرید، اینطور تصور کنید که شما میخواید سفارش سیب‌زمینی سرخ کرده بگیرید، حالا میخواید سه تا اندازه و سایز مشخص برای french fries ها تون مشخص بکنید و اجازه ندید مشتری هر سایزی که میخواد بخره، پس شما میاید حق انتخاب و گزینه های مشتری رو محدود میکنید فقط به سه گزینه Large, Medium, Small که میتونه فقط از بین این موارد یکی رو انتخاب کنه و سفارش بده.یا مثلا به مثال دوم LightMode توجه کنید، در دنیای واقعی کلید روشن و خاموش کردن لامپ ها، ۲ حالت بیشتر نداره، یا چراغ خاموشه یا روشنه! شما نمیخواید این وسط کلی حالت دیگه هم وجود داشته باشه، درنتیجه اینجا از enum ها استفاده میکنید که میگید چراغ یا میتونه ON باشه یا OFF، حالت دیگری نداریم.اینها‌ صرفا چندتا مثال بودن که مفهوم Enums رو بهتر درک کنید.پس تا الان متوجه شدید که Enum ها صرفا یک متغیر رو محدود به داشتن یکسری مقادیر از پیش‌تعریف شده و ثابت میکنند و اون متغیر هر مقداری نمیتونه داشته باشه. (مثال لامپ ها:‌ یا ON یا OFF، تمام!)نحوه استفاده از Enum ها در سالیدتیخب بعد از اینکه شما یک enum رو تعریف کردید،‌ میخواید یک متغیر از نوع (data type) اون enum بسازید، (چون با توجه توضیحات بالا میدونید دیگه enum ها به تنهایی کار خاصی نمیکنند)همونطور که احتمالا در جریان هستید، Solidity یک زبان برنامه نویسی statically-typed هست، به این معنا که حین تعریف یک متغیر شما باید Data Type اون مقداری که قرار داخل متغیر ذخیره بشه رو از قبل تعیین کنید،‌ به طور مثال اگر قراره داخل متغیر name شما یک string ذخیره کنید، باید دیتا تایپ اون متغیر رو از قبل برابر با یک string قرار بدید؛حالا اگر شما بخواید داخل یک متغیر از مقادیر پیش‌فرض یک enum استفاده کنید،‌ قاعدتا نیاز دارید از قبل نوع اون متغیر رو برابر با نام enumی که تعریف کرده بودید، قرار بدید، به مثال زیر توجه کنید:contract Arian {
    enum Color { Red, Blue, Green }
    
    Color myFavoriteColor = Color.Blue;
}در اسمارت کانترکت بالا، من یک متغیر ساختم با نام myFavoriteColor که قرار مقدار رنگ مورد‌علاقم رو داخلشم ذخیره کنم، همچنین من از enum ها استفاده کردم چون به طور مثال داخل این کانترکت فقط میخوام همین ۳ تا رنگ موجود باشه و باهاش کار کنم (محدود کردم به استفاده از همین ۳ گزینه)حالا چطور باید به Member ها یا آیتم های یک Enum دسترسی داشت؟خیلی ساده شما فقط کافیه بعد از نام enumتون و دات (نقطه)، اسم آیتم رو بنویسید.پس من یک متغیر تعریف کردم با نام myFavoriteColor و مقدار Color.Blue رو داخلش ذخیره کردم، خب حالا آیا میتونم دیتا تایپ این متغیر رو بزارم string؟‌ یا int؟ مشخصه که نه! چرا؟ چون من یک enum داخلش ذخیره کردم پس نوع داده این متغیر باید Color باشه، دقیقا نام همون enumی که ساخته بودم.دقت کنید که Member های Enum شما نمیتونن دیتا تایپ هایی مثل string یا boolean و یا uint باشند، اگر هم چند کلمه‌ای بودن باید با underscore (_) اون هارو تعریف کنید، درغیر این صورت به ارور برمیخورید.خیلی راحت بود، نه؟!نکته: Solidity در پشت صحنه (یا به قول انگلیسی ها under the hood)، میاد و enum ها رو به unsigned integer یا uint تبدیل میکنه.جلو تر متوجه خواهید شد، این نکته یعنی چی.حالا شما میتونید به همین روش، فانکشن هایی رو تعریف کنید که با این enum ها کار میکنند، مقادیرشون رو تغییر میدن، یا return میکنند، به مثال انتخابات آمریکا توجه کنید :) https://gist.github.com/RyanHosseini/af42aa3c1ca7117183206d2edead65bc خب، یک Smart Contract ساختم با نام USAElection که میخوایم‌ داخلش کامل Enum ها رو یاد بگیریم و باهاشون حسابی کارکنیم،داخل این قرارداد هوشمند من یک enum تعریف کردم با نام Candidates که قرار لیست نامزد های انتخابی ریاست جمهوری ایالات متحده آمریکا رو داخلش از پیش‌ تعریف کنیم و به افراد رای دهنده بگیم، آقا کلا ۳ تا نفر کاندید ریاست جمهوری هستند، از بین این ۳ تا میتونی یکی رو بهش رای بدی، همینطوری نیست که بری دست یکی رو بگیری بیاری و بگی من میخوام ایشون رییس جمهور باشه، کامل جا افتاد؟ ?کاندید ها کیا هستند؟‌ ایلان ماسک، جو بایدن، دانلد ترامپنکته حاشیه‌ای: ایلان ماسک نمیتونه رئیس جمهور آمریکا بشه، به این دلیل که در آمریکا متولد نشده، حالا ما اینجا صرفا مثال آموزشی زدیم، درگیرش نشید! ?خب حالا من چند تا متغیر تعریف کردم با نام myChoice که کاندید محبوب و مدنظر من هست، AshkanChoice که کاندید دوستم اشکان، VahidChoice کاندید مدنظر وحید و ArminChoice انتخاب آرمین هست، همچنین یک currentPresident هم داریم که از نوع constant هم تعریف شده و رئیس جمهور فعلی رو شامل میشه.نکته:‌ زمانی که شما برای یک متغیر از کلمه کلیدی constant به معنای ثابت استفاده میکنید،‌ مقدار اون متغیر در ادامه کد ها و برنامه‌تون نمیتونه تغییر کنه، صرفا همون مقداری همیشه خواهد بود که اول براش تعریف کردید و در واقع همیشه ثابت هست.خیلی هم عالی، کاندید های مدنظر آرمین، اشکان و وحید رو که از قبل مشخص کردیم، سه تا فانکشن با نام های setElonMusk, setJoeBiden, setDonaldTrump هم تعریف کردم که قراره مقدار myChoice (انتخاب من) رو تغییر بدن، یعنی من هرکدوم رو call کنم، کاندید مدنظر من تغییر میکنه،مثلا اگر من تابع setElonMusk رو صدا بزنم، مقدار myChoice میشه Candidates.ELON_MUSK.همچنین همونطور که مشاهده میکنید، یک فانکشن دیگه هم وجود داره با نام setMyChoice که از شما یک id میگیره و بسته به اون id، مقدار enum متغیر myChoice رو تغییر میده، اگر صفر رو پاس بدید، myChoice میشه Joe Biden، اگر ۲ رو پاس بدید، تغییر میکنه به ایلان ماسک و به همین ترتیب، اگر هم آی دی‌ای رو پاس بدید که وجود نداره، مقدار برابر میشه با currentPresident یا رئیس جمهور فعلی که در اینجا برای مثال آقای دانلد ترامپ هست،فانکشن دیگری که ما داریم، getMyChoice هست که میبینید مقدار بازگشتیش (returns) برابر با Candidates هست، یعنی قرار یک enum با نام Candidates ریترن کنه، در واقع الان سالیدیتی، Candidates رو یک DATA TYPE می‌شناسه، شما میتونید با این نوع داده، یک متغیر تعریف کنید، یا برای یک فانکشن مشخص کنید که قرار یک مقدار از نوع Candidates برگردونه!❌  پس دقت داشته باشید در قسمت (.......) returns تابع شما به هیچ عنوان نمیتونید بنویسید &#x60;&#x60;&#x60;returns (enum)&#x60;&#x60;&#x60; و به جاش باید نام اون enum رو قرار بدید.اگر تابع getMyChoice رو کال کنید، میبینید که بهتون یک عدد برمیگردونه و نه مقدار ایلان ماسک و...، چرا؟ دلیلش چیه؟ دلیلش این هست که همونطور که بالاتر اشاره کردم، سالیدتی در پشت صحنه، enum ها رو به یک uint تبدیل میکنه،در نتیجه شما اگر مقدار myChoice رو return کنید،‌ صرفا index اون آیتم یا ممبر رو داخل enum بهتون نشون میده (دقیقا مشابه index در آرایه ها)به طور مثال، اگر مقدار Elon Musk باشه، به شما ایندکس 2 رو نشون میده، درسته؟ Joe Biden ایندکس شماره صفر هست در نتیجه بعدی 1 و ایلان ماسک میشه 2.در نهایت، داخل تابع getArminChoice که قرار کاندید مدنظر آرمین رو برگردونه هم میبینید که ما اومدیم enum رو تبدیل به یک uint کردیم و بعد return کردیم که بازم فرقی نمیکنه، چون درنهایت شما Member های اون enum رو به صورت یک uint میبینید، این رو صرفا خواستم دیده باشید.نتیجه گیری نهایی:Enum ها در سالیدتی بسیار سادست و با چندبار تمرین کردن و مثال زدن برای خودتون، قطعا به خوبی بهش مسلط خواهید شد.امیدوارم که این مقاله آموزشی بهتون در درک مفهوم Enum ها کمک کرده باشه! خوشحال میشم نظراتتون رو بدونم، قطعا این مقاله به مرور زمان به کمک شما عزیزان تکمیل تر و اشکالاتش رفع خواهد شد!مرسی از اینکه تا آخر با من همراه بودید! ☕</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>سید آرین حسینی</author>
                <pubDate>Sun, 15 Jan 2023 01:14:33 +0330</pubDate>
            </item>
                    <item>
                <title>ViaBTC｜بهترین ایردراپ هایی که در سال 2023 باید تحت نظر داشته باشیم</title>
                <link>https://virgool.io/Solidity/viabtc%EF%BD%9C%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%D8%A7%DB%8C%D8%B1%D8%AF%D8%B1%D8%A7%D9%BE-%D9%87%D8%A7%DB%8C%DB%8C-%DA%A9%D9%87-%D8%AF%D8%B1-%D8%B3%D8%A7%D9%84-2023-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%AA%D8%AD%D8%AA-%D9%86%D8%B8%D8%B1-%D8%AF%D8%A7%D8%B4%D8%AA%D9%87-%D8%A8%D8%A7%D8%B4%DB%8C%D9%85-pmmlq78cigip</link>
                <description>سال گذشته‌ی 2022 برای جامعه‌ی کریپتو پر حادثه بود. یک بازار نزولی از سقوط لونا شروع شد، که روند نزولی را برای سال تعیین کرد. اما این اتفاق فرصت‌های مطلوبی را برای ساخت پروژه ها ارائه کرد. برای کاربران عادی، تجربه عمیق این پروژه ها یکی از بهترین راه ها برای مشارکت کردن است. برای جلب مشارکت، بیشتر و بیشتر صاحبان پروژه شروع به تشویق شرکت‌کنندگان عادی در جامعه کرده‌اند و «ایردراپ‌ها» را برای پاداش دادن به آن دسته از پذیرندگان اولیه که در پروژه مشارکت دارند، ارائه می‌کنند.ایردراپ‌های سودآور در DYDX، ENS و 1inch در سال 2021 و پروژه‌های درخشانی مانند Optimism و Aptos در سال 2022 مشاهده شد. بهترین ایردراپ‌ها برای تماشا در جامعه کریپتو در سال 2023 کدامند؟01. زنجیره عمومیزنجیره های عمومی، به عنوان زیرساخت های کلیدی صنعت بلاک چین، نقشی ضروری ایفا می کنند. از آنجایی که زنجیره های عمومی به طور مداوم در حال ظهور هستند، رقابت سخت تر می شود. اما فرصت های سرمایه گذاری امیدوارکننده ای وجود دارد. پروژه های زنجیره عمومی زیر که هنوز کوین‌های خود را صادر نکرده اند، مواردی هستند که کاربران باید روی آنها تمرکز کنند.1) شبکه سوئیSui یک زنجیره عمومی جدید لایه 1 است که با Move ساخته شده است (Aptos که در سال گذشته جوایز ایردراپ زیادی را به کاربران اهدا کرد نیز، همچنین با Move ساخته شده است). Sui امیدوار است یک پلت فرم قرارداد هوشمند نسل بعدی با توان عملیاتی بالا، تاخیر کم و مقیاس پذیری برای استقرار برنامه های کاربردی در مقیاس بزرگ ارائه دهد.مجموع عرضه SUI، توکن بومی، 10 میلیارد است که به تیم موسس، سرمایه‌گذاران و بنیاد Sui و برای فروش عمومی اختصاص داده می‌شود. دارای پیشینه قوی و سرمایه گذاران برتری است. تیم توسعه Mysten Labs زمانی در Meta، یکی از رسانه‌های اجتماعی پیشرو در جهان خدمت می‌کرد و شبکه Sui اعلام کرد که بودجه 300 میلیون دلاری سری B را در سپتامبر 2022 به پایان می‌رساند.2) شبکه SeiSei، اولین بلاک چین لایه 1 که برای DeFi بهینه شده است، دارای یک موتور تطبیق سفارش داخلی، حفاظت پیشرو، و سریع ترین پایان تراکنش های زنجیره ای (600 میلی ثانیه) در حال حاضر در بازار است. ترکیب این بهینه سازی ها امکان ظهور انواع جدیدی از محصولات مالی را فراهم می کند.دور تأمین مالی 5 میلیون دلاری به رهبری Multicoin Capital در آگوست 2022 تکمیل شد و پلتفرم معاملاتی دارایی های کریپتو MEXC صندوق اکوسیستم 20 میلیون دلاری را برای حمایت از توسعه پروژه های کلیدی در شبکه Sei در ژانویه امسال راه اندازی کرد.02. لایه 2 (L2)بسیاری از پروژه های لایه 2 برای حل تراکم و هزینه های گران در شبکه اصلی اتریوم متولد شدند. کل ارزش قفل شده (TVL) لایه 2 4.23 میلیارد دلار است که 17.8 درصد از TVL اتریوم را تشکیل می دهد. همانطور که پروژه Star Layer 2 Optimism برنامه توزیع توکن حاکمیتی خود را در نیمه اول سال گذشته اعلام کرد، بسیاری از کاربران یک شبه ثروتمند شدند. کدام پروژه لایه 2 ممکن است ایردراپ در سال 2023 توزیع کند؟1) zkSynczkSync که توسط Matter Labs در سال 2019 راه اندازی شد، یک راه حل مقیاس پذیری لایه 2 اتریوم است که بر روی ZK Rollup ساخته شده است. zkSync 2.0 شبکه اصلی خود را راه اندازی کرده است. در مقایسه با شبکه اصلی اتریوم، zkSync 2.0 سازگار با EVM دارای هزینه تراکنش کمتری است.مجموع بودجه برای zkSync به 458 میلیون دلار رسید که شامل سرمایه‌گذاران معروفی مانند a16z، Blockchain Capital و Dragonfly می‌شود. نوامبر گذشته، zkSync در توییتر اعلام کرد که دو سوم توکن‌های بالقوه آینده به اکوسیستم zkSync اختصاص خواهد یافت که ممکن است شامل ایردراپ‌های آینده نیز باشد.2) StarkNetStarkNet یک لایه ZK-Rollup بدون مجوز و غیرمتمرکز است که برای مقیاس‌بندی اتریوم از طریق پروتکل‌های STARKs در نظر گرفته شده است. با حفظ تمرکززدایی، شفافیت، فراگیر بودن و امنیت اتریوم، توان عملیاتی بالاتر و هزینه های کمتری را ارائه می دهد.این پروژه پیشنهاد توکن خود را رسما اعلام کرده است (انتشار صریح سکه). StarkNet با جمع آوری ۱۰۰ میلیون دلار در دور سرمایه گذاری سری D در می ۲۰۲۲ با ارزش ۸ میلیارد دلار (تقریباً پنج برابر Optimism)، برتری زیادی نسبت به سایر راه حل های مقیاس پذیری اتریوم دارد.3) آربیترومArbitrum، یک راه حل لایه 2 با استفاده از فناوری Optimistic rollup، شبکه اصلی خود را Arbitrum One در سپتامبر 2021 منتشر کرد. این راه حل امنیت اتریوم را به ارث می برد و در عین حال ظرفیت شبکه را تا حد زیادی افزایش می دهد و هزینه های تراکنش را کاهش می دهد. در میان تمام پروژه های لایه 2، Arbitrum با TVL خود 2.25 میلیارد دلار در رتبه اول قرار گرفت. Arbitrum همراه با سهم بازار بیش از 50٪، بسیار رقابتی است.در میان چهار پروژه اصلی لایه 2، Optimism ایردراپ صادر کرده است و zkSync و StarkNet تایید کرده اند که توکن ها را منتشر می کنند. ما معتقدیم که طرح رمز آربیتروم در سال 2023 منتشر خواهد شد و تنها کاری که باید انجام دهیم این است که آماده شویم.03. نام دامنهپس از اینکه شرکت پیشرو Ethereum Name Service (ENS) سال گذشته ویروسی شد، سایر پروژه‌های نام دامنه Web3 برای زنجیره عمومی شروع به رشد انفجاری کردند.1) SPACE IDSPACE ID در حال ایجاد یک شبکه خدمات نام جهانی است که افراد، اطلاعات و دارایی ها را در همه بلاک چین ها و برنامه ها به هم متصل می کند. این به هر کسی اجازه می دهد تا یک نام دامنه .bnb را برای جایگزینی آدرس زنجیره ای سنتی BNB ثبت کند. بایننس Labs دور اولیه SPACE ID را رهبری کرد و این پروژه اکنون نزدیک به 337000 حساب ثبت شده و 146000 کاربر دارد.2) بیتبیت یک استسیستم حساب متقابل زنجیره‌ای غیرمتمرکز مبتنی بر بلاک چین، منبع باز، سیستم نام‌گذاری منحصربه‌فرد در سراسر جهان با پسوند بیتی ارائه می‌کند که می‌تواند در سناریوهای مختلف مانند انتقال رمزنگاری، وضوح نام دامنه، احراز هویت و غیره استفاده شود. این سیستم به کاربران اجازه می‌دهد. برای ثبت و مدیریت حساب های بیت خود با هر آدرس زنجیره ای عمومی یا حتی ایمیل..bit با پشتیبانی از یک اکوسیستم قوی، سال گذشته 13 میلیون دلار از بودجه سری A جذب کرد. اکنون نزدیک به 287000 اکانت ثبت شده و 109000 کاربر دارد.04. حریم خصوصیافزایش حجم تراکنش، تقاضا برای حفاظت از حریم خصوصی تراکنش ها را افزایش می دهد. معاملات حریم خصوصی زنجیره ای ضروری شده است و سرمایه داران بیشتری به این حوزه نگاه می کنند. بازیکن سرشناس سکویا کاپیتال قبلا حرکتی انجام داده است.1) آلئوAleo اولین پلتفرم زنجیره عمومی حفظ حریم خصوصی است که برنامه های کاملا خصوصی را ارائه می دهد. با استفاده از رمزنگاری دانش صفر (Zexe) برای محافظت از داده‌های کاربر در وب، به کاربران و توسعه‌دهندگان برنامه‌ها محاسبات نامحدود با حریم خصوصی مطلق را ارائه می‌دهد.این پروژه برتر حریم خصوصی، در مجموع 298 میلیون دلار از VCهای برتر بلاک چین مانند a16z و Coinbase و VCهای سنتی از جمله SoftBank و Tiger Global جمع آوری کرد.2) شبکه توسیماTusima یک شبکه حریم خصوصی لایه 2 مبتنی بر zk-rollup است که اثبات دانش صفر و قابلیت همکاری چند زنجیره ای را برای محافظت از حریم خصوصی هویت، تعادل و محتوای تراکنش در بلاک چین ها یکپارچه می کند. این پروژه در سپتامبر 2022 در Goerli Testnet اجرا شد و هدف آن زیرساخت مالی حریم خصوصی Web3 است.05. ایمیل Web3Web3 Email در حال تغییر شکل نحوه ارتباط جامعه بلاک چین است.1) DmailDmail اولین برنامه ایمیل مبتنی بر فناوری Web3.0 و Dfinity است که NFT و توابع ذخیره سازی توزیع شده را ادغام می کند. هر نام دامنه Dmail یک NFT است و از ایمیل غیرمتمرکز پشتیبانی می کند. این امکان انتقال غیرمتمایز اطلاعات بین نامه سنتی و ایمیل بلاک چین را فراهم می کند. در عین حال، می تواند DID را در Web3 بسازد.2) Mail3Mail3 یک پروتکل ارتباطی کاملاً جدید Web3 است که ارتباط کیف به کیف و ارتباط کیف به قرارداد را برای پروژه ها و اعضای جامعه با امکان بی حد و حصر و سازگاری رو به جلو را امکان پذیر می کند. از حساب مبتنی بر بلاک چین و سرویس غیرمتمرکز برای تضمین امنیت، حریم خصوصی و خودمختاری استفاده می‌کند و به کاربران کمک می‌کند یک هویت منحصر به فرد Web3 ایجاد کنند.مزایای:سازگار با چندین زنجیره: Mail3 از تمام شبکه های زنجیره ای عمومی و همه کیف پول ها و DID های مربوطه پشتیبانی می کند.ذخیره سازی دائمی: داده های رمزگذاری شده کاربران به طور دائم در سرویس غیرمتمرکز ذخیره می شود.سازگار با سرویس های سنتی: کاملاً با زیرساخت های ایمیل مستقر مانند Gmail و Outlook سازگار است.اگر شما نیز می خواهید با هزینه صفر در پروژه های بلاک چین شرکت کنید، می توانید پروژه های ذکر شده در بالا را دنبال کنید. نمونه‌های گذشته زیادی وجود دارد که نشان می‌دهد کاربران واجد شرایط ایردراپ اغلب فراتر از انتظاراتشان پاداش دریافت می‌کنند.*سلب مسئولیت: محتوای این مقاله هیچ گونه توصیه سرمایه گذاری ندارد.</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>ViaBTC_official</author>
                <pubDate>Thu, 12 Jan 2023 02:25:58 +0330</pubDate>
            </item>
                    <item>
                <title>ViaBTC｜ سال ۲۰۲۲: سالی سخت برای استخراج کنندگان کریپتو</title>
                <link>https://virgool.io/Solidity/viabtc%EF%BD%9C-%D8%B3%D8%A7%D9%84-%DB%B2%DB%B0%DB%B2%DB%B2-%D8%B3%D8%A7%D9%84%DB%8C-%D8%B3%D8%AE%D8%AA-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A7%D8%B3%D8%AA%D8%AE%D8%B1%D8%A7%D8%AC-%DA%A9%D9%86%D9%86%D8%AF%DA%AF%D8%A7%D9%86-%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA%D9%88-c6k2n9xbogiq</link>
                <description>استخراج ETH که دهها میلیارد دلار ارزش داشت، به مدت هشت سال ادامه داشت تا اینکه در سال 2022 پایان یافت.قانونی در ایالت نیویورک یک تعلیق دو ساله برای مجوزهای جدید برای استخراج کنندگان ارز دیجیتال با روش اثبات کار وضع کرد.Core Scientific، یکی از بزرگترین شرکت های استخراج و ماینینگ در آمریکای شمالی، در ماه دسامبر اعلام ورشکستگی کرد. در سال 2022، ورشکستگی شرکت های ماینینگ به شدت اطمینان موجود در بازار را تحت تاثیر قرار داد.طبق گزارش TheBlock، ماینرهای بیت کوین در سال 2022 تنها 9.47 میلیارد دلار درآمد داشته اند که نسبت به سال گذشته نزدیک به 7.3 میلیارد دلار کاهش یافته است. با کاهش قیمت رمزارزها، ماینینگ سود کمتری پیدا کرده است. این امر، همراه با مقررات سختگیرانه و حوادث قو سیاه، سال 2022 را به سال سختی برای استخراج کنندگان کریپتو تبدیل کرد. همانطور که گفته شد، ماینرها هنوز باید به بقای خود ادامه دهند. امروز، مجموعه‌ای از حوادثی را که در صنعت ماینینگ کریپتو در سال 2022 رخ داده است، مرور خواهیم کرد که ممکن است شرایط سرمایه‌گذاری‌های آینده در کریپتو را روشن کند.01. در سال 2022، هش ریت بیت کوین تقریباً 98 درصد افزایش یافت.هش بیت بیت کوین به بالاترین حد خود رسید و به بیش از 310EH/s رسید.داده‌های گلاس‌نود نشان می‌دهد که تحت تأثیر فدرال رزرو، بحران نقدینگی جهانی و درگیری‌های ژئوپلیتیکی، بیت کوین در سال 2022 نزولی باقی مانده است و قیمت بیت کوین در مقایسه با ارقام ثبت شده در سال 2021 به شدت کاهش یافته است. علیرغم این موضوع هشریت متوسط بیتکوین در تمام طول سال روندی صعودی را داشت که این امر تا حدودی به این علت بود که گاو ارز دیجیتال در سال 2021 تعداد زیادی از سرمایه گذاران را به این فضا جذب کرد. در همین حال، تعداد زیادی از شرکت‌های استخراج رمزارز در بازار سهام عرضه شدند که مقیاس استخراج بیت کوین را گسترش داد. طبق تحقیقات Arcane، شرکت‌های ماینینگ عرضه شده تقریباً 20٪ از کل هش بیت بیت کوین را در اختیار دارند.در ژوئیه 2021، سلسیوس، غول وام‌دهی کریپتو، اعلام ورشکستگی کرد و بخش ماینینگ آن ماشین‌های استخراج زیادی را به حراج گذاشت که قیمت ماشین‌های استخراج بیت کوین را به پایین‌ترین سطح در نزدیک به دو سال اخیر رساند. در همان زمان، هش ریت BTC نیز کاهش یافت و میانگین هش ریت در 13 ژوئیه 2021 به 160.31EH/s کاهش یافت.به طور کلی، هش بیت بیت کوین در 1 ژانویه 2022 به 137.67EH/s رسید و در اواخر سال 2022 تقریباً 98 درصد افزایش یافت.02. سختی بیت کوین در نوامبر با افزایش سالانه 31.36 درصد از 36 ترا تجاوز کرد.با افزایش هش ریت شبکه، سختی استخراج بیت کوین نیز رو به افزایش بود. پس از آخرین تعدیل سختی که در 19 دسامبر 2022 انجام شد، سختی بیت کوین به 35.36T رسید که 31.36 درصد نسبت به سال گذشته افزایش داشته است.داده های ارائه شده توسط BTC.com نشان می دهد که در سال 2022، میزان سختی بیت کوین 26 بار تنظیم شده است که 15 مورد آن افزایش سختی ماینینگ را نشان می دهد.03. ماینرهای BTC در سال 2022 9.47 میلیارد دلار درآمد کسب کردندبر اساس گزارش TheBlock، درآمد سالانه استخراج کنندگان بیت کوین در سال 2021، 16.77 میلیارد دلار بوده است. در سال 2022، این رقم به 9.47 میلیارد دلار کاهش یافت که نسبت به سال قبل 43.5 درصد کاهش داشت.کل درآمد ماینرها شامل جوایز بلوک و کارمزد تراکنش است. به طور خاص، پاداش های بلاک منبع درآمد اصلی استخراج کنندگان است و بیش از 96٪ از درآمد آنها را تشکیل می دهد. در ماه مه 2020، بیت کوین سومین هاوینگ خود را پشت سر گذاشت و پاداش بلاک را از 12.5 بیت کوین به 6.25 بیت کوین کاهش داد که یک افت قابل توجه است. در همین حال، سال 2021 شاهد افزایش قیمت ارزهای دیجیتال بود که تراکنش های مکرر ارزهای دیجیتال را تشویق می کرد. با توجه به این عوامل، کارمزد تراکنش امروزه سهم بیشتری از کل درآمد استخراج را تشکیل می دهد.04. مقررات سختگیرانه فزاینده کریپتو: جهان به حرکت به سمت انرژی‌های پاک گرایش داردسنای ایالت نیویورک در 3 ژوئن 2022 یک تعلیق دو ساله برای استخراج ارزهای دیجیتال تصویب کرد. کتی هوچول، فرماندار نیویورک، مهلت قانونی استخراج PoW را در تاریخ 22 نوامبر امضا کرد و این شهر را به اولین ایالت در آمریکا تبدیل کرد که هرگونه فعالیت استخراج رمزنگاری PoW را برای مدت دو سال ممنوع می کند.تعلیق ماینینگ PoW نه تنها هرگونه عملیات ماینینگ جدید را ممنوع می کند، بلکه تمدید مجوزها را برای کسانی که در حال حاضر در ایالت نیویورک مشغول به فعالیت هستند، منع می کند. بعلاوه، هر عملیات جدید استخراج PoW در این ایالت تنها در صورتی قانونی خواهد بود که 100% از انرژی تجدیدپذیر استفاده کند.در طرح دیجیتالی کردن سیستم انرژی - برنامه اقدام اتحادیه اروپا که در 18 اکتبر منتشر شد، کمیسیون اروپا از کشورهای عضو اتحادیه اروپا خواست تا با توجه به بحران انرژی فعلی و افزایش خطرات برای زمستان آینده، برای پایان دادن به استخراج کریپتو آماده باشند.تحت تأثیر چنین قانون و مقررات و برخی سیاست‌ها، برخی مؤسسات ماینینگ در حال گسترش استفاده از انرژی پایدار هستند. در حال حاضر، استفاده از انرژی‌های پایدار در استخراج بیت کوین در حال افزایش است. بر اساس گزارش منتشر شده توسط شورای استخراج بیت کوین برای سه ماهه سوم 2022، این موسسه اکنون 45.4 درصد از کل هش بیت بیت کوین را به خود اختصاص داده است و اعضای BMC و شرکت کنندگان در نظرسنجی در حال حاضر از برق با ترکیب 67.8 درصدی توان پایدار استفاده می کنند که نسبت به سال قبل حدود 3 درصد افزایش یافته است. با اعمال سیاست های بیشتر کشورها، استخراج کریپتو به تدریج از انرژی سنتی به انرژی پاک تغییر خواهد کرد.آیا استخراج کریپتو می‌تواند ادامه‌ی روند نزولی را معکوس کند و به دوران اوج خود بازگردد؟ ممکن است به زودی در سال 2023 به پاسخ این سوال پی ببریم.</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>ViaBTC_official</author>
                <pubDate>Fri, 06 Jan 2023 18:53:15 +0330</pubDate>
            </item>
                    <item>
                <title>ViaBTC ｜سه پیشبینی برای اتریوم در سال 2023</title>
                <link>https://virgool.io/Solidity/viabtc-%EF%BD%9C%D8%B3%D9%87-%D9%BE%DB%8C%D8%B4%D8%A8%DB%8C%D9%86%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A7%D8%AA%D8%B1%DB%8C%D9%88%D9%85-%D8%AF%D8%B1-%D8%B3%D8%A7%D9%84-2023-e9ezwlkdbgkk</link>
                <description>اگرچه سال 2022 سال وحشتناکی برای ارزهای دیجیتال بوده است، اما اتریوم امید را به فضا آورده است و یکی از بزرگترین شگفتی‌هایی که این شبکه در سال 2022 برای ما ارائه کرد، اجرای موفقیت آمیز Merge است. اتریوم در وایت پیپر خود که در سال 2014 منتشر شد، اعلام کرد که به PoS تغییر خواهد کرد، اما هیچ‌کس فکر نمی‌کرد که اجرای این انتقال هشت سال طول بکشد. در نهایت، ادغام در 15 سپتامبر سال جاری تکمیل شد و اتریوم نیز از PoW به PoS تغییر مکان داد و پایه‌ای برای مقیاس‌بندی آینده آن ایجاد کرد.اگرچه اتریوم این انتقال را انجام داد، اما شبکه همچنان با مشکلات متعددی مواجه است. به عنوان مثال، Merge گس را کاهش نداده است، به این معنی که کاربران هنوز باید هزینه های گزافی بپردازند. علاوه بر این، با یا بدون ادغام، کاربران فقط می توانند ETH را واریز کنند و نمی توانند دارایی ETH خود را برداشت کنند. اینها همه نگرانی هایی هستند که اتریوم باید در آینده با آنها مقابله کند. امروز، بیایید نگاهی اجمالی به آن آینده بیندازیم و تغییراتی را که ممکن است اتریوم در سال 2023 با رشد و تکامل خود تجربه کند، بررسی کنیم.انتظار 1: ارتقاء شانگهایآخرین AllCoreDevs اتریوم در سال 2022 در 8 دسامبر برگزار شد. در جلسه، توسعه دهندگان هسته اتریوم در مورد دامنه ارتقاء شبکه بعدی، یعنی ارتقاء شانگهای توافق حاصل شد. به عنوان اولین ارتقای بزرگ اتریوم از زمان ادغام، این ارتقا در ماه‌های آینده نشان دهنده‌ی رفتارهای آتی سرمایه‌گذاری خواهد بود.محتوای ارتقاء شانگهای با آنچه قبلاً شایعه شده بود متفاوت است. در درجه اول، EIP-4844 به تعویق افتاده است و EIP-1153 و EIP-2537 در ارتقاء گنجانده نشده است. در حال حاضر، 9 EIP مطمئناً بخشی از ارتقاء شانگهای خواهد بود که شامل برداشت سهام، فرمت شیء EVM (EOF) و برخی بهینه‌سازی‌ها می‌شود. در اینجا، ما بر روی برداشت استیکینگ تمرکز خواهیم کرد، که دغدغه اصلی اکثر کاربران است.برداشت استیکینگ، که در مرکز ارتقای شانگهای قرار دارد، مطابق با EIP-4895 است، که بر اساس اطلاعات اجماع در زنجیره Beacon، یک &quot;عملیات&quot; در سطح سیستم را برای پشتیبانی از برداشت های اعتبارسنجی که از آنها &quot;پس زده می شود&quot; معرفی می کند. Beacon Chain به EVM. با EIP-4895، اعتبار سنجی ها می توانند برداشت های جزئی یا کامل (بدون تفاوت در اولویت) انجام دهند، اما برای پوشش نگرانی های امنیتی، سقفی در مبلغ برداشت وجود دارد. در ماه‌های آینده، اعتبارسنجی‌ها می‌توانند کل فرآیند برداشت سهام را در چندین شبکه آزمایشی آزمایش کنند و اگر علاقه دارید می‌توانید آنها را زیر نظر داشته باشید.طبق آخرین اطلاعات ارائه شده توسط توسعه دهندگان اصلی، ارتقاء شانگهای احتمالاً در مارس 2023 تکمیل می شود، اولین آزمایشی که اتریوم باید در سال آینده انجام دهد.انتظار 2: نقل و انتقالات خصوصی در شبکه اصلیدر واقعیت، هیچ کس حاضر نیست دارایی های خود را افشا کند یا سوابق انتقالی خود را افشا کند، اما با دفتر کل توزیع شده باز و شفاف ارائه شده توسط بلاک چین ها، ما به راحتی می توانیم هر حرکت یک آدرس را نظارت کنیم. در همین حال، بسیاری از هکرها در فضای بلاک چین تمایل به سوء استفاده از اطلاعات کاربران دارند. هر روز، صدها هزار تراکنش در اتریوم، یکی از بزرگترین شبکه‌های پرداخت ارز دیجیتال در جهان، انجام می‌شود و برای برخی از کاربران اتریوم، انتقال خصوصی خیلی فوری، مورد نیاز است. علاوه بر این، تیم بیکو، توسعه‌دهنده اتریوم نیز پیشنهاد کرد که امیدوار است اتریوم L1 بتواند با عملکردهای حفظ حریم خصوصی همراه باشد.\اگرچه از منظر فنی آسان است، اما مشکل در سیاست ها نهفته است. پیش از این، پروتکل ترکیبی رمزنگاری Tornado Cash توسط OFAC تحریم شده بود. در عین حال، فقدان مقررات آشکار شده توسط سقوط FTX، تنظیم‌کننده‌های کشوری را تشویق می‌کنند تا نظارت بر کریپتو خود را بهبود بخشند. چنین عوامل سیاستی بزرگترین مانع برای شبکه اصلی اتریوم برای پیگیری حفظ حریم خصوصی خواهد بود.ویتالیک بوترین در مصاحبه ای با Bankless در اکتبر 2022 اشاره کرد که توسعه دهندگان اتریوم قصد دارند در سال 2023 به چهار هدف اصلی دست یابند که عبارتند از: مقیاس پذیری، حفظ حریم خصوصی، مقاومت در برابر سانسور لایه پایه و انتزاع حساب، و ما مشتاقانه منتظر ویژگی های حفظ حریم خصوصی اتریوم هستیم.انتظار 3: لایه 3 اتریوملایه 3 (L3) را می توان به عنوان یکی دیگر از لایه های ساخته شده در بالای L2 در نظر گرفت. در روزهای اولیه، دو راه برای مقیاس‌بندی یک زنجیره عمومی وجود داشت: 1) مقیاس‌بندی L1: مقیاس‌گذاری روی زنجیره موجود انجام می‌شد. 2) مقیاس بندی L2: ساختن یک لایه دیگر در بالای زنجیره به طوری که برخی از تراکنش ها هش شده و روی آن لایه اضافی اجرا شوند.با وجود شناخت بازار، راه‌حل‌های L2 در معرض نقص‌های ظاهری هستند، از جمله قابلیت ترکیب‌بندی محدود، نقدینگی غیرمتمرکز، و زمان لازم برای انتقال کریپتوها بین L2‌های مختلف. در همین حال، برای پروژه‌های آینده که ممکن است به سناریوهای کاربردی بسیار قابل تنظیم نیاز داشته باشند، بهتر است یک لایه مستقل جدید برای ارائه خدمات مربوطه وجود داشته باشد، که وظیفه L3 است.در حال حاضر، هیچ محصول واحدی با تأثیر فوق‌العاده وجود نداشته است، اما با بلوغ راه‌حل‌های L3، این فضا ممکن است بتواند برنامه‌های موفقی مانند TikTok را ارائه دهد.به طور خلاصه، برای اتریوم، سال 2023 هم چالش ها و هم فرصت ها را به همراه خواهد داشت.</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>ViaBTC_official</author>
                <pubDate>Wed, 04 Jan 2023 21:59:01 +0330</pubDate>
            </item>
                    <item>
                <title>چگونه یک تحلیلگر کسب و کار شویم - راهنمای کامل</title>
                <link>https://virgool.io/Solidity/%DA%86%DA%AF%D9%88%D9%86%D9%87-%DB%8C%DA%A9-%D8%AA%D8%AD%D9%84%DB%8C%D9%84%DA%AF%D8%B1-%DA%A9%D8%B3%D8%A8-%D9%88-%DA%A9%D8%A7%D8%B1-%D8%B4%D9%88%DB%8C%D9%85-%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C-%DA%A9%D8%A7%D9%85%D9%84-qlcnwv0bs51u</link>
                <description>یک تحلیلگر کسب و کار مسئول درک نیازهای یک کسب و کار است که به طور مداوم در حال تحول است و در عین حال راه‌حل‌‌هایی برای بهبود فرآیندها و سیستم‌های آن کسب و کار ارائه می‌دهد. به این ترتیب، یک تحلیلگر کسب و کار اغلب به عنوان رابط بین بخش‌های تجاری و فناوری اطلاعات در نظر گرفته می‌شود.تحلیلگران کسب و کار قادر به استخراج داده‌های بزرگ برای درک رفتار مشتری و شناسایی ناکارآمدی‌های یک سیستم هستند.چرا باید حرفه‌ تحلیل کسب و کار را دنبال کنید؟به عنوان یک تحلیلگر کسب و کار، این فرصت را خواهید داشت که از طریق بینش‌های مبتنی بر داده، از موفقیت سازمان خود حمایت کنید. این شغلی است که در آن هر روز چالش‌های جدید و راه‌های جدیدی برای به‌کارگیری مهارت‌هایتان به ارمغان می‌آورد. اگر از کمک به مردم، پرسیدن سوال، حل مشکلات و کار مستقل لذت می‌برید، شغلی به عنوان «تحلیلگر کسب و کار» می‌تواند مناسب شما باشد.حقوق تحلیلگران کسب و کارمتوسط حقوق سالانه برای تحلیلگران کسب و کار در که در دسامبر 2021 اعلام شد، در ایالات متحده 85,259 دلار است. حقوق دقیق شما بسته به شرکت، مکان و میزان تجربه شما متفاوت خواهد بود. به عنوان مثال اگر بیش از 10 سال سابقه کار در حوزه تحلیل کسب و کار داشته باشید، این میزان به 95,521 خواهد رسید.چشم انداز شغلیتقاضا برای تحلیلگران کسب و کار در سال‌های اخیر افزایش یافته است و پیش‌بینی می‌شود که ادامه یابد. اداره آمار کار ایالات متحده (BLS) رشد شغلی را بین سال‌های 2020 و 2030 برای نقش‌های مشابه از هفت درصد (تحلیل‌گران سیستم‌های رایانه‌ای) تا 25 درصد (تحلیل‌گران تحقیق در عملیات) پیش‌بینی می‌کند. سایر عناوین شغلی مرتبط شامل تحلیلگر مدیریت و تحلیلگر عملیات است که هر دو وظایفی شبیه به تحلیلگران کسب و کار دارند.از آنجا که معمولا در کشورهای جهان سومی، بعد از مدتی اتفاقاتی مشابه کشورهای جهان اولی رخ می‌دهد، پیش‌بینی می‌شود به زودی در ایران نیز شاهد رشد چشم‌گیر تقاضای این حرفه باشیم. همانطور که تا کنون نیز اینطور بوده است و این را می‌شود در صنعت مشاهده کرد.چگونه تبدیل به یک تحلیلگر کسب و کار موفق شویم؟بیایید دریابیم که چگونه می‌توانیم در حوزه تحلیلگری کسب و کار پیشروی کنیم:1. هدف خود را تعیین کنیددرست کردن اصول اساسی، حیاتی‌ترین نیاز برای موفقیت در زمینه‌های دیگر و همچنین تحلیل کسب و کار است. ممکن است با یادگیری بیشتر در مورد مفاهیم اساسی تحلیل کسب و کار شروع کنید. اول، شما باید به وضوح بدانید که یک تحلیلگر کسب و کار چه می‌کند. شما می‌توانید با مشاوره با افراد فعال در این حوزه متوجه بشوید آیا می‌خواهید حرفه تحلیلگری کسب و کار را یاد بگیرید یا خیر.2. تحصیل در رشته‌ای مشابهبه طور معمول، اخذ مدرک لیسانس شرط اولیه برای کار به عنوان یک تحلیلگر کسب و کار در سطح ابتدایی است. ممکن است برای دنبال کردن حرفه‌ای در این حوزه، در سطح مدیریت یا حتی بالاتر، نیاز به یک مدرک و یا گذراندن یک دوره در زمینه تحلیل کسب و کار را در رزومه خود داشته باشید.به همین منظور، مجموعه پیشرو مدیریت پیران (PMPiran) دوره‌ای جامع در زمینه تحلیلگر کسب و کار (Business Analyst) برگزار می‌کند که در ادامه مختصری از شرایط و مزایای شرکت در این دوره را برای شما بازگو می‌کنیم.دوره جامع تحلیلگر حرفه‌ای کسب و کاردوره تحلیلگر کسب و کار با هدف آموزش مفاهیم و ایجاد مهارت‌های مورد نیاز در زمینه تحلیل کسب و کار برای افراد علاقه‌مند به فعالیت و موفقیت در این حوزه طراحی شده است.به شرکت‌کنندگان در این دوره جامع تمامی مهارت‌های مورد نیاز برای ارائه راه حل‌های مناسب در جهت پاسخگویی به نیارمندی‌ها و دستیابی سازمان به اهداف تعیین شده آموزش داده خواهد شد.اهداف این دوره شامل موارد زیر می‌شود:آموزش تکنیک‌ها و ابزارهای کاربردیراهکارهایی برای شناسایی مشکلات و فرصت‌هاآموزش، شناسایی و نحوه برخورد با اتلاف‌های زمانی و هزینه‌ایاجرای تحلیل کسب‌وکار در یک کیس واقعیآموزش کار تیمی موثر در جهت موفقیت و کسب دستاوردهای بیشتر برای تیم و سازمانبا شرکت در این دوره شما مزایای زیر را بدست می‌آورید:اصول اساسی مدیریت پروژه و چگونگی کاربرد آن برای حل مسائل کسب و کار را خواهید آموختهر تیم موارد آموزش داده شده در دوره را روی پروژه واقعی انجام می‌دهدپشتیبانی از تمامی شرکت‌کنندگان تا پایان دورهآموزش توسط اساتیدی مجرب که دارنده مدارک بین‌المللی حرفه‌ای در زمینه تحلیل کسب و کار هستندجهت کسب اطلاعات بیشتر و یا ثبتنام در این دوره، اینجا کلیک کنید.3. مهارت‌های تحلیل کسب و کار خود را توسعه دهیداگر می‌خواهید به عنوان یک تحلیلگر کسب و کار موفق شوید، باید مهارت‌های خود را توسعه دهید. لیست زیر شامل پنج مهارت مهم و الزامی برای تحلیلگران کسب و کار است:تحلیل کسب و کار: تحلیلگران کسب و کار باید قادر به انجام تحلیل‌های آماری و احتمالات اساسی باشند.حل مسئله: تحلیلگران کسب و کار باید نتایج را پیش‌بینی کنند و دارای توانایی‌های تخصصی باشند که سازمان‌ها را قادر می‌سازد بر موانع غلبه کنند.مهارت‌های ارتباطی: برای کار با همه تیم‌ها، مشتریان و ذی‌اثران، آنها باید مهارت‌های ارتباطی قوی داشته باشند. فعالیت‌های روزانه یک تحلیلگر کسب و کار به شدت حول محور ارتباطات می‌چرخد. بنابراین، توسعه توانایی‌های کلامی و نوشتاری خود هنگام شروع کار بسیار مهم است.تحلیل ذی‌اثران: تحلیل ذی‌اثران با شناسایی و حذف چندین مانع به شفاف‌سازی و توسعه پروژه کمک می‌کند.مهارت‌های فنی: تحلیلگران کسب‌وکار باید با قابلیت‌های فنی خود همگام باشند، زیرا تحلیلگران به‌عنوان پلی بین کارشناسان و تجار عمل می‌کنند.4. به دست آوردن تجربه عملی در زمان واقعیهنگامی که به طور کامل با اصول، تکنیک‌ها و مهارت‌های مورد نیاز برای تحلیل کسب و کار آشنا شدید، با کار بر روی برخی از پروژه‌های دنیای واقعی بر اساس تحلیل کسب و کار، مهارت‌های عملی خود را ایجاد کنید. با دانستن بیشتر در مورد ابزارها و فناوری‌های موجود و نحوه استفاده مشاغل از آ‌ن‌ها، بهتر می‌توانید درک کنید که چگونه تبدیل به یک تحلیلگر کسب و کار بشوید.5. برای شغل مرتبط با حوزه تحلیل کسب و کار درخواست دهیدبا گنجاندن تمام پروژه‌های عملی، تکالیف و غیره که روی آنها کار کرده‌اید، یک نمونه کار خوب و کامل برای خود درست کنید.اگر تمام آموزش‌ها و تجربه‌های لازم را داشته باشید، واجد شرایط درخواست موقعیت تحلیلگر کسب و کار خواهید بود. فراموش نکنید قبل از درخواست برای یک شرکت، رزومه خود را به روز کنید. از رزومه خود برای جلب توجه مصاحبه‌کننده استفاده کنید زیرا برداشت اولیه بسیار مهم است.آیا آماده هستید که یک تحلیلگر کسب و کار شوید؟اکنون که می‌دانید یک تحلیلگر کسب‌وکار کیست، چه نقش‌ها و مسئولیت‌هایی دارد و باید چه مهارت‌هایی بیاموزد، همه آماده‌اید تا حرفه‌ی تحلیلی کسب‌وکار خود را شروع کنید.برای همه مشتاقان به حوزه تحلیل کسب و کار، دوره جامع تحلیلگر حرفه‌ای کسب‌ و کار که همانطور که گفته شد توسط مجوعه پیشرو مدیریت یپران برگزار می‌شود، با حضور مدرسان مجرب، انجام کامل یک پروژه واقعی در کنار مباحث تئوری وفعالیت‌های عملی در هر کلاس دوره تحلیل کسب و کار به شما کمک می‌کند تا یک تحلیلگر کسب و کار موفق شوید.</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>Modiran Blog</author>
                <pubDate>Thu, 08 Dec 2022 13:12:55 +0330</pubDate>
            </item>
                    <item>
                <title>آیا می توان با یوتیوب برنامه نویس حرفه ای شد؟</title>
                <link>https://virgool.io/Solidity/%D8%A2%DB%8C%D8%A7-%D9%85%DB%8C-%D8%AA%D9%88%D8%A7%D9%86-%D8%A8%D8%A7-%DB%8C%D9%88%D8%AA%DB%8C%D9%88%D8%A8-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%B4%D8%AF-bel7er3trnrk</link>
                <description>آموزش برنامه نویسییوتیوب یکی از قابل اعتمادترین پلتفرم ها برای یادگیری در هر زمینه ای  از جمله برنامه نویسی است. می‌توانید شهاب‌سنگ‌ها و کارشناسان برتر هر زمینه را در این پالتفرم حرفه ای بیابید و تجربیات ارزشمند خود را در اختیار افراد دیگر قرار دهید.اما بهتر است که برای شروع حرفه ای و قدرتمند در دوره های آموزش برنامه نویسی یک آموزشگاه برنامه نویسی معتبر ثبت نام نمایید و از ویدئوهای آموزشی یوتیوب در کنار آموزشهایی که در کلاس دریافت می کنید استفاده نمایید.1. CS DojoCS Dojo یک کانال است که توسط YK Sugi هدایت می شود. در آن زمان، او یک توسعه‌دهنده نرم‌افزار در گوگل بود و اکنون یک یوتیوبر محبوب است که تجربه و دانش خود را با مخاطبانش به اشتراک می‌گذارد. کانال او 1.85 میلیون مشترک دارد که روزانه از ویدیوهای او مباحث آموزش برنامه نویسی را یاد می گیرند.در حال حاضر، YK Sugi در مجموع 9 لیست پخش را در کانال یوتیوب خود نگهداری می کند. از طریق این ویدیوها، او چندین موضوع مانند نحوه یادگیری کدنویسی، آموزش برنامه نویسی پویا و بسیاری از مسائل فنی دیگر را پوشش می دهد.برنامه نویسی دینامیک چیست و چگونه از آن استفاده کنیم؟مجموعه آموزش پایتون برای مبتدیان مطلق5 زبان برنامه نویسی برتر برای گرفتن شغل در گوگل، فیس بوک، مایکروسافت و غیره.چگونه کدنویسی را یاد گرفتم و در گوگل مشغول به کار شدمنمونه‌های بالا فقط چند ویدیو هستند که برای مبتدیان مفید هستند. CS Dojoهمچنین ویدیوهای زیادی دارد که شما را برای فرصت های شغلی بهتر و مهارت های مصاحبه آماده می نماید.2. Academindاین دوره که به زیبایی توسط Maximilian Schwarzmüller و Manuel Lorenz طراحی شده است، یکی از موفق ترین کانال های YouTube برای آموزش برنامه نویسی و برنامه نویسان است. مکس و مانوئل که در سال 2015 تأسیس شده اند، هر چیزی که مربوط به توسعه وب است را از طریق دوره های خود در این کانال آموزش می دهند.چه به دنبال یک زبان برنامه نویسی، زمان اجرا NodeJS، جاوا اسکریپت یا هر زبان فنی دیگری باشید، Academind نیازهای همه را برآورده می کند. این کانال برای مبتدیان و برنامه نویسان حرفه ای مناسب است که به دنبال یادگیری مباحث جدید یا تقویت مهارت های قدیمی هستند.برخی از دوره های محبوب در Academindتوابع خالص و عوارض جانبی چیست؟Git Tutorials برای مبتدیان - The BasicsDeno چیست و آیا جایگزین Node.js می شود؟مکس و مانوئل از آموزش‌های کوتاه گرفته تا دوره‌های پرطرفدار، درباره همه چیز در کانال خود بحث می‌کنند. علاوه بر این، آنها همچنین در مورد روندهای اخیر در صنعت کدنویسی مانند مهارت ها، نرم افزارها و ... صحبت می کنند. برای دوره ها و اطلاعات بیشتر، می توانید به وب سایت Academind آنها نیز مراجعه کنید.3. Derek Banasاگرچه درک باناس همیشه آماده بحث در مورد هر موضوعی در کانال یوتیوب خود است، حوزه اول تخصص او برنامه نویسی، موبایل و توسعه وب است. درک باناس رویکردی خلاقانه و جذاب برای مربیگری یا راهنمایی فراگیران خود دارد.درک باناس با 1.19 میلیون دنبال کننده، یکی از محبوب ترین کانال های یوتیوب برای برنامه نویسی است. مردم ویدیوهای او را دوست دارند زیرا او رویکرد آموزشی نسبتاً غیر متعارف و سرگرم کننده ای دارد و باعث می شود مردم به سرعت یاد بگیرند.برخی از ویدیوهای عالی برای برنامه نویسان در درک بناس عبارتند از:برنامه نویسی C++برنامه نویسی پایتونریاضیات یادگیری ماشینیچگونه بازی های ویدیویی بسازیمدرک همچنین چند ویدیوی خارق العاده برای پاک کردن اصول اولیه برنامه نویسی برای کسی که از ابتدا شروع می کند دارد. برای درک بهتر، او موضوعات مختلفی مانند جبر، مثلثات، پیش حساب و ... را پوشش داده است.4. LevelUpTutsLevelUpTuts مخفف Level Up Tutorials است و توسط Ben Schaaf و Scott Tolinski رهبری می شود. بن و اسکات آموزش هایی را برای جنبه های مختلف برنامه نویسی و توسعه وب در این کانال ارائه می دهند.این کانال دارای چندین دوره برنامه نویسی مبتدی و پیشرفته و ویدیوهای کوتاه با بینش مفید است. همچنین دارای بیش از 1000 ویدیو رایگان در مورد موضوعات همه کاره، از جمله توسعه وب و آموزش نرم افزارهای مختلف نیز می باشد.برخی از دوره های ضروری در LevelUpTutsچگونه می توانم معرفی ویدیوی 4k بدون افترافکت ایجاد کنمMeteor 1.4 + React for EveryoneReact چیست؟وب پک چیست؟5. freeCodeCampfreeCodeCamp در اصل یک سازمان غیرانتفاعی است که آموزش رایگان در موضوعات کدنویسی ارائه می دهد. آنها همچنین یک کانال یوتیوب دارند که در آن ویدیوهایی را در مورد زبان های برنامه نویسی و کدنویسی پست می کنند.freeCodeCamp در مجموع 6.01 میلیون مشترک در کانال یوتیوب خود دارد که آن را به یکی از کانال های با رتبه برتر برای برنامه نویسان و توسعه دهندگان وب تبدیل می کند. همچنین این کانال دوره های متعددی برای مبتدیان و حرفه ای ها در زمینه فناوری دارد.6. Life of LubaLife of Luba توسط Luba Yudasin، یوتیوبر درخشان و مهندس نرم افزار سابق، تاسیس و رهبری می شود. او همچنین به عنوان مدیر محصول و رئیس ستاد در Airbnb و Yelp خدمت کرد. در حال حاضر، لوبا به کانال یوتیوب و انجمن او اختصاص داده شده است.لوبا همچنان دروس ویدئویی مختلف مشتاقانه و اطلاعاتی در مورد فناوری را در این کانال ارسال می کند. این ویدیوها بر اساس تجربه و دانش او در این زمینه است. برخی از این دوره‌ها مصاحبه‌های شغلی و فرصت‌های شغلی امیدوارکننده را نیز آماده می‌کنند.چگونه کد یاد بگیریم؟ پنج مرحله سریع و سادهبا کدنویسی شروع کنید: این خط کد را یاد بگیرید4 زبان برنامه نویسی برتر برای یادگیریچگونه بین علم داده و مهندسی نرم افزار یکی را انتخاب کنیم؟7. Net NinjaNet Ninja یکی از برترین کانال های یوتیوب برای یادگیری برنامه نویسی در سال 2022 است. این کانال شامل سطوح مبتدی، متوسط ​​و حرفه ای آموزش برنامه نویسی است. علاوه بر این، دارای چندین لیست پخش است که با توجه به مزایای دانش آموز طراحی شده است.برخی از موضوعات مهم در Net Ninjaآموزش جاوا اسکریپت مدرنآموزش فلاتر برای مبتدیانآموزش دوره HTML و CSSآموزش تایپ اسکریپت</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>آموزشگاه برنامه نویسی</author>
                <pubDate>Mon, 14 Nov 2022 12:56:56 +0330</pubDate>
            </item>
                    <item>
                <title>روش های کسب درآمد از NFT</title>
                <link>https://virgool.io/Solidity/revenue-nft-u4sly9ccvoqv</link>
                <description>در سال‌های اخیر بازار nft رشد قابل توجهی داشته است که باعث جلب توجه سرمایه گذاران به این حوزه شده است. در حال حاضر خیلی از افراد به دنبال راه‌های کسب درآمد از nft ها هستند و این خبر بسیار خوبی برای فعالان این حوزه است. البته قطعا این استقبال بیشتر هم خواهد شد و افراد بیشتری به این حوزه جذاب ورود می‌کنند.توکن NFT چیست؟توکن‌‌های غیر مثلی یا NFT ها مانند سند مالکیت در دنیای دیجیتال عمل می‌کنند. در واقع این توکن‌ها نوعی سند دیجیتال قابل‌معامله هستند که در یک پایگاه داده توزیع‌شده عمومی به نام بلاک چین ذخیره می‌شوند و هر کسی در هر زمانی می‌تواند آن‌ها را مشاهده و تایید کند. این سندهای دیجیتال حاوی اطلاعات خاصی هستند که می‌توان با استفاده از آن‌ها ثابت کرد چه کسانی مالکان انحصاری یک یا تعدادی از اقلام هستند.در ابتدا توصیه می‌کنیم برای آشنایی بیشتر با NFT ها، مقاله «توکن NFT چیست، آشنایی با توکن غیر مثلی» را در ویرگول تیم تحریریه رمزی ان اف تی مطالعه کنید. در ادامه راه های مختلف کسب درآمد از nft را به شما توضیح خواهیم داد.راه های کسب درآمد از nftروش های مختلفی برای درآمد از ان اف تی در ادامه توضیح داده خواهد شد. اما شما باید بهترین روش مناسب برای خودتان را پیدا کنید. چون توانایی و علاقه هر شخص متفاوت است.ساخت و فروشبهترین و رایج ترین راه برای کسب درآمد از nft ها، ساخت و فروش nft  است. شما می‌توانید آثار هنری، موسیقی و فیلم‌های خود را به NFT تبدیل کنید و بفروشید. برای آشنایی بیشتر با نحوه ساخت ان اف تی ها، پیشنهاد ما مطالعه مقاله «آموزش ساخت nft به زبان ساده» از تیم تحریریه رمزی ان اف تی در ویرگول است.اجاره دادنممکن است عجیب به نظر برسد اما مانند اجاره یک ملک، شما می‌توانید در ازای مقداری پول nft خود را اجاره دهید.پلتفرم ReNFT یکی از پلتفرم‌های اجاره دهی توکن‌های غیر مثلی است.بازی کردنآیتم‌های بعضی از بازی‌ها، nft هستند و شما می‌توانید با بازی کردن آن‌ها را به دست آورید و معامله کنید. از این بازی‌ها می‌توان به Axie Infinity، Roblox، Sorare و Lord of Light اشاره کرد. برای آشنایی بیشتر با این بازی‌ها، پیشنهاد ما مطالعه مقاله «معرفی بازی‌های جذاب و پرطرفدار NFT» از تیم تحریریه رمزی ان اف تی در ویرگول است.حق امتیازدر دنیای nft، شما می‌توانید از فروش‌های بعدی آثارتان هم درصدی را به عنوان حق امتیاز دریافت کنید. در این روش، خالقان NFT می‌توانند در هر فروش NFTها سهمی برای خود تعیین کنند و از مبلغ فروش‌های بعدی سود بگیرند. برای مثال، اگر حق امتیاز یک اثر 5 درصد باشد، هر بار که این اثر به شخص دیگری فروخته شود، صاحب اثر 5 درصد از مبلغ فروش را دریافت خواهد کرد.ترید کردنمجموعه‌ای از nft های ارزشمند را بخرید و در زمان مناسب با مبلغ بیشتری به فروش برسانید. برای کسب درآمد از این طریق شما باید پروژه‌های nft پتانسیل دار را شناسایی کنید. برای شناسایی این پروژه‌ها باید به تعداد آیتم‌های پروژه، کمترین قیمت تعیین شده و حجم معاملات توجه کنید. پروژه‌ای مطلوب است که کمیاب باشد و حجم معاملات و نقدینگی بالایی داشته باشد.سرمایه گذاریشرکت‌های حوزه NFT و کریپتو آینده درخشانی دارند. با سرمایه گذاری در این شرکت‌ها می‌توانید درآمد‌ قابل توجهی در آینده کسب کنید.آینده درآمد از nft هاهمان طور که گفتیم در حال حاضر روش های زیادی برای کسب درآمد از ان اف تی وجود دارد. این احتمال وجود دارد که با گذشت زمان راه های کسب درآمد از NFT بیشتر شود و شاید راه‌های منجر به سود بیشتری نیز پیدا شود.درباره بازار nft ها می‌توان گفت که این بازار در ابتدای راه خود هست و با توجه به استقبال انجام شده، احتمالا نابودی آن کم خواهد بود. در نتیجه می‌توان گفت این بازار محبوب برای مدت‌ها در میان مردم باقی خواهد ماند و شما باید به فکر درآمدزایی از بازار NFT باشید.در صورتی که تمایل دارید با روش های کسب درآمد از nft بیشتر آشنا شوید، از شما دعوت می‌کنیم که به پست بلاگ « درآمد از nft » از وبلاگ رمزی ان اف تی سر بزنید.این مقاله حاوی توصیه یا پیشنهاد اقتصادی رمزی‌ان‌اف‌‌تی نیست. خطر از‌دست دادن سرمایه در هر سرمایه گذاری وجود دارد و سرمایه گذار باید پس از مطالعه و تحقیق، خود تصمیم نهایی را اتخاذ کند و مسئولیت تبعات آن را بر‌عهده بگیرد.</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>تیم تحریریه رمزی‌ان‌اف‌تی</author>
                <pubDate>Tue, 01 Nov 2022 11:34:22 +0330</pubDate>
            </item>
                    <item>
                <title>بررسی تابع fetch در جاوااسکریپت</title>
                <link>https://virgool.io/Solidity/fetch-okascua3yf11</link>
                <description>سلام دوستان جاوااسکریپتی! اگه تا الان با پلاگین‌ها و کتابخونه‌های خارجی مثلا جی‌کوئری و Axios برای ارسال درخواست ای‌جکس (Ajax) کار می‌کردیم، خوبه که بدونیم جاوااسکریپت برای این کار یک تابع درونی به اسم fetch اضافه کرده که علاوه بر قدرتمند بودن، کار با اون خیلی راحت و ساده هست. امروز این تابع رو بررسی می‌کنیم.نکته: برای درک بهتر این تابع، باید با پرامیس‌های جاوااسکریپت آشنایی داشته باشین. همچنین توی این پست برای سادگی و خوانایی بهتر از async/await استفاده شده. اگه با این موضوع‌ها آشنایی ندارین می‌تونین پست‌های زیر رو بخونین:آموزش Promise در جاوا اسکریپت به زبان سادهآموزش async و await در جاوااسکریپت به زبان سادهتابع fetchکار با این تابع به سادگی کد زیر هست:fetch(url);تموم! این تابع بعد از اجرا شدن، یک پرامیس به ما برمی‌گردونه. این پرامیس شامل یک سری اطلاعات از نتیجه درخواست هست. برای اینکه به این اطلاعات دسترسی داشته باشیم باید پرامیس رو باز کنیم. ابتدا کارمون رو با مثال زیر شروع کنیم:async function users() {
  let response = await fetch(&#039;https://randomuser.me/api/?results=10&#039;);
  
  console.log(response);
};

users();خروجی خط ۴ بصورت زیر هست:همونطور که می‌بینیم خروجی یک نمونه از کلاس داخلی Response که شامل اطلاعاتی مثل status و headers و body هست. چیزی که توی body قرار گرفته، شامل پاسخ اصلی هست که از سمت سرور اومده. توی این مرحله باید مشخص کنیم پاسخی که از سرور اومده رو به چه فرمتی می‌خوایم؛ متنی؟ جی‌سان؟ ?توی شرایط مختلف می‌تونیم از فرمت‌های زیر استفاده کنیم:response.text();
response.json();
response.formData();
response.blob();
response.arrayBuffer();خروجی همه‌ی فرمت‌های بالا یک پرامیس هست. پس برای دسترسی به خروجی اصلی باید یه بار دیگه پرامیس رو پردازش کنیم.توی مثالمون می‌خوایم خروجی جی‌سان باشه. پس از خط ۲ کد بالا استفاده می‌کنیم. کد رو بصورت زیر تکمیل کنیم:async function users() {
  let response = await fetch(&#039;https://randomuser.me/api/?results=10&#039;);
  let data = await response.json();

  return data;
};

users().then(data =&gt; console.log(data));به همین سادگی. خط ۸ کد بالا شامل پاسخی هست که از سرور اومده و به صورت جی‌سان خواهد بود.در حالت پیشفرض درخواست‌ها با متد GET فرستاده میشن. برای مشخص کردن متد و یا تنظیم کردن هدر باید درخواستمون رو شخصی‌سازی کنیم.شخصی‌سازی درخواستتوی پارامتر دوم تابع fetch می‌تونیم نوع متد رو مشخص کنیم، data پاس بدیم و هدر ست کنیم:const request = fetch(url, {
  method: &#039;POST&#039;,
  headers: {
    Accept: &#039;application/json&#039;,
    Authorization: &#039;Bearer ...&#039;
  },
  body: JSON.stringify({ name: &#039;Warner&#039; })
});


request
.then(response =&gt; response.json())
.then(result =&gt; {
  console.log(result);
});توی مثال بالا متد رو method مشخص کردیم. برای ارسال هدر درخواست از headers استفاده کردیم و برای ارسال اطلاعات به سرور از body. نوع body ‌‌می‌تونه رشته‌‌ای یا Blob باشه. و یا FormData مثل کد زیر:let formData = new FormData();
formData.append(&#039;name&#039;, &#039;Duck&#039;);
formData.append(&#039;lastname&#039;, &#039;Ducky&#039;);

let request = fetch(url, {
  method: &#039;POST&#039;,
  body: formData
});مدیریت خطاهاخب می‌دونیم که همیشه درخواست‌ها موفقیت آمیز نیستن و ممکنه خطاهایی مثل ۴۰۴، ۴۰۱ پیش بیاد و یا کلا سرور یا اینترنت در دسترس نباشن. اگه درخواستی موفقیت آمیز نباشه، خروجی تابع fetch بصورت زیر هست:همونطور که می‌بینیم status داره کد ۴۰۴ رو نشون میده و مقدار ok برابر با false هست. برای اینکه بتونیم این خطا رو مدیریت کنیم، کد رو به صورت زیر می‌نویسیم:async function users() {
  try {
    let response = await fetch(&#039;https://randomuser.me/apis/?results=10&#039;);
  
    if (response.ok) {
      let data = await response.json();
      return data;
    }
  } catch(e) {
    // Handle the unexpected error
  }
};

users().then(data =&gt; {
  if (typeof data == &#039;object&#039;) {
    // ...
  }
});توی این مثال و توی خط ۵ از response.ok استفاده کردیم که مقدار اون اگه نتیجه درخواست موفقیت آمیز باشه true هست. همچنین از try/catch استفاده کردیم که اگه با خروجی غیرمنتظره‌ای (مثل CORS) مواجه شدیم بتونیم اون رو مدیریت کنیم.نتیجه گیریهمونطور که می‌بینیم تابع fetch برای استفاده‌های ساده، خیلی مفید و راحت هست که وقتی با async/await مخلوط میشه جذاب‌تر هم میشه. اما انعطاف پذیری‌هایی که توی پلاگین‌های بیرونی وجود داره رو هنوز توی این تابع نمی‌بینیم. مثل مشخص کردن یک هدر پیشفرض که توی همه‌ی درخواست‌ها ست شده باشه و یا مدیریت راحت‌تر خطاها. همچنین این تابع فقط توی محیط مرورگرهای مدرن قابل استفاده هست. (وضعیت پشتیبانی مرورگرها از این تابع رو ببینید).البته برای همه‌ی این کاستی‌ها راه حل هم وجود داره. برای استفاده از این تابع توی مرورگرهای قدیمی میشه از پلاگین‌هایی استفاده کنیم که این تابع رو Polyfill کردن. همچنین پلاگین‌هایی مثل zlFetch وجود داره که زیر پوست از fetch استفاده می‌کنه که با اون میشه خروجی (موفقیت‌آمیز بودن یا خطا) رو بهتر مدیریت کرد.خب این مقاله هم به پایان رسید. روزتون خوش ? ?منابعی که برای این پست استفاده کردم:https://javascript.info/fetchhttps://medium.com/javascrip...https://css-tricks.com/using-fetch/https://ditty.ir/</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>Hossein Shahmohammadi</author>
                <pubDate>Mon, 24 Oct 2022 22:51:40 +0330</pubDate>
            </item>
                    <item>
                <title>بررسی JSON در جاوااسکریپت</title>
                <link>https://virgool.io/Solidity/json-in-js-eugusn68n36v</link>
                <description>درود دوستان! خیلی وقت‌ها اطلاعاتی توی برنامه داریم که می‌خوایم توی برنامه‌های دیگه در دسترس باشه. مثلاً آبجکت user رو در نظر بگیرید که شامل اطلاعاتی از کاربر هست:const user = {
  name: &#039;Emily&#039;,
  age: 4,
  favorites: [&#039;Reading&#039;, &#039;Walking&#039;],
};حالا می‌خوایم این اطلاعات رو به یک برنامه دیگه (مثلاً برنامه سمتِ سرور که با PHP نوشته شده) ارسال و اونجا اون رو بررسی کنیم. اما فرمت و نحوه نوشتن این آبجکت برای بقیه زبان‌ها ناشناخته هست. برای مثال چنین آبجکتی توی PHP تقریباً به این صورت نوشته میشه:$user = [
  &amp;quotname&amp;quot =&gt; &amp;quotEmily&amp;quot,
  &amp;quotage&amp;quot =&gt; 4,
  &amp;quotfavorites&amp;quot =&gt; [&amp;quotReading&amp;quot, &amp;quotWalking&amp;quot],
];خب ما چطوری می‌تونیم اطلاعاتی داشته باشیم که توی همه زبان‌ها خوانا باشه؟ باید یک فرمت استاندارد وجود داشته باشه که برای همه زبان‌ها شناخته شده و خوانا باشه. جواب، فرمت JSON هست ?توی این قسمت می‌خوایم یاد بگیریم که:جی‌سان (JSON) چیه؟جی‌سان چه شکلیه؟چطوری اطلاعات رو به جی‌سان تبدیل کنیم؟چه نوع‌های داده‌ای رو میشه به جی‌سان تبدیل کنیم؟چطوری رشتهٔ جی‌سان رو تفسیر کنیم؟آبجکت‌ها و تبدیل به جی‌سان به‌صورت دلخواهجی‌سان (JSON) چیه؟ ?JSON (جی‌سان) یک فرمت استاندارد برای تبادل اطلاعات هست. هر چند این تبادل اطلاعات معمولاً از یک زبان به یک زبان دیگه هست، فرمت جی‌سان طوری هست که برای انسان هم خوانا باشه.JSON مخفف JavaScript Object Notation هست. این فرمت به صورت یک رشتهٔ متنی هست که از ساختار جاوااسکریپت به ارث برده شده و به همین دلیل ساختار اون شباهت زیادی به آبجکت‌های جاوااسکریپتی داره. اما در حال حاضر کاملاً مستقل از جاوااسکریپت هست و تقریباً همه زبان‌های برنامه‌نویسی توانایی کار با فرمت جی‌سان رو دارن. جی‌سان به دلیل حالت رشته‌ای بودنش تقریباً قابل انتقال به هر زبانی هست.جی‌سان چه شکلیه؟رشتهٔ زیر یک رشتهٔ جی‌سان هست:{&amp;quotname&amp;quot:&amp;quotEmily&amp;quot}همونطور که احتمالاً تشخیص دادین، این حالت رشته‌ای یک آبجکت هست که یک پراپرتی به اسم name داره با مقدار Emily. اما خب توی یک برنامه معمولاً با رشته‌های جی‌سان پیچیده‌تری سر و کار داریم.چطوری اطلاعات رو به جی‌سان تبدیل کنیم؟هر زبانی روش خاص خودش رو برای کار با رشته‌های جی‌سان داره. توی جاوااسکریپت ما یک آبجکت سراسری داریم به اسم JSON. این آبجکت که همه جای برنامه در دسترس هست، یک متد داره به اسم stringify که با اون می‌تونیم اطلاعاتمون رو به جی‌سان تبدیل کنیم.توی کد زیر می‌خوایم آبجکت user رو به رشتهٔ جی‌سان تبدیل کنیم:const user = {
  name: &#039;Emily&#039;,
  age: 4,
  favorites: [&#039;Reading&#039;, &#039;Walking&#039;],
};

const formattedUser = JSON.stringify(user);

alert(formattedUser);
// {&amp;quotname&amp;quot:&amp;quotEmily&amp;quot,&amp;quotage&amp;quot:4,&amp;quotfavorites&amp;quot:[&amp;quotReading&amp;quot,&amp;quotWalking&amp;quot]}الان آبجکت user تونست به فرمتی تبدیل بشه که قابل تبادل با بقیه زبان‌ها و برنامه‌ها باشه. بقیه زبان‌ها راحت می‌تونن اون رو تفسیر و بررسی کنن.ورودی متد stringify باید یک نوع داده‌ای معتبر جاوااسکریپتی باشه. وقتی اطلاعاتی رو به حالت جی‌سان تبدیل می‌کنیم، به اصطلاح می‌گیم اطلاعات رو سریالایز (Serialize) کردیم. رشته‌های جی‌سان معمولاً توسط برنامه تولید میشه. یعنی خیلی کم اتفاق میوفته که یک برنامه‌نویس بخواد به صورت دستی یک رشتهٔ جی‌سان بنویسه.چه نوع‌های داده‌ای رو میشه به جی‌سان تبدیل کنیم؟همونطور که می‌دونیم توی جاوااسکریپت نوع‌های داده‌ای مختلفی داریم. بعضی از این نوع‌ها به شکل‌های مختلفی توی رشته‌های جی‌سان قرار می‌گیرن و بعضی‌ها کلاً قابلیت قرار گرفتن توی رشته‌های جی‌سان رو ندارن.نوع‌های داده‌ای بولین، عدد، رشته، نال و آبجکت می‌تونن توی یک رشتهٔ جی‌سان قرار بگیرن. یعنی برای مثال اگه آرایه‌ای داشته باشیم که شامل چنین نوع‌های داده‌ای باشه، با تبدیل آرایه به جی‌سان، همگی رو می‌تونیم توی خروجی ببینیم:const types = [
  &amp;quothello&amp;quot,            // string
  29,                 // number
  false,              // boolean
  { name: &amp;quotEmily&amp;quot },  // object
  null,               // null
];

const serialized = JSON.stringify(types);

alert(serialized); // [&amp;quotstring&amp;quot,29,false,{&amp;quotname&amp;quot:&amp;quotEmily&amp;quot},null]اما بعضی از نوع‌های داده‌ای مثل undefined و توابع قابلیت قرار گرفتن توی رشته‌های جی‌سان رو ندارن. بر این اساس وقتی یک آبجکت رو به جی‌سان تبدیل می‌کنیم متدهای اون و همچنین پراپرتی‌هایی که مقدار اونها undefined هست نادیده گرفته میشن. همچنین مقدار پراپرتی که NaN باشه null در نظر گرفته میشه:const user = {
  name: &amp;quotMario&amp;quot,
  favorites: undefined,
  age: NaN,
  talk() {

  }
}

const serialized = JSON.stringify(user);

alert(serialized); // {&amp;quotname&amp;quot:&amp;quotMario&amp;quot,&amp;quotage&amp;quot:null}اگه چنین نوع‌های داده‌ای توی یک آرایه قرار بگیرن تبدیل به null میشن:const array = [&amp;quotstring&amp;quot, () =&gt; {}, undefined, NaN];

alert(JSON.stringify(array)); // [&amp;quotstring&amp;quot,null,null,null]چطوری رشتهٔ جی‌سان رو تفسیر کنیم؟فرض کنیم اطلاعاتی به صورت یک رشتهٔ جی‌سان به سمت برنامه اومده:const input = &#039;{&amp;quotname&amp;quot:&amp;quotEmily&amp;quot,&amp;quotage&amp;quot:4,&amp;quotfavorites&amp;quot:[&amp;quotReading&amp;quot,&amp;quotWalking&amp;quot]}&#039;;الان مقدار متغیر input یک رشتهٔ جی‌سان هست. برای اینکه بتونیم با اون کار کنیم ابتدا باید اون رو تفسیر کنیم. ما این کار رو با متد parse از آبجکت JSON انجام می‌دیم:const input = &#039;{&amp;quotname&amp;quot:&amp;quotEmily&amp;quot,&amp;quotage&amp;quot:4,&amp;quotfavorites&amp;quot:[&amp;quotReading&amp;quot, &amp;quotWalking&amp;quot]}&#039;;

const user = JSON.parse(input);

console.log(user);
alert(user.name);      // Emily
alert(user.favorites); // Reading, Walkingبا اجرای کد می‌بینیم که یک آبجکت معتبر جاوااسکریپتی به ما نمایش داده میشه. وقتی یک رشته جی‌سان رو به نوع قابل فهم برای جاوااسکریپت تبدیل کردیم، به اصطلاح می‌گیم رشته رو آنــــسِریالایز (Unserialize) کردیم.ورودی متد parse باید یک رشتهٔ معتبر جی‌سان باشه. در غیر این صورت خطا می‌گیریم.توی کد زیر بعضی از کارکترهای رشتهٔ جی‌سان به عمد حذف شده:const input = &#039;{&amp;quotname&amp;quot:&amp;quotEmily&amp;quot,&amp;quotage&amp;quot:4,&amp;quotfavorites&amp;quot:[&amp;quotReading]&#039;;

JSON.parse(input); // SyntaxError: JSON.parse:
                   // unterminated string at line 1 column 47
                   // of the JSON dataبا اجرای کد می‌بینیم که جاوااسکریپت با خطا میگه نمی‌تونم این رشته رو تفسیر کنم.آبجکت‌ها و تبدیل به جی‌سان به‌صورت دلخواهاگه می‌خوایم به صورت شخصی‌سازی شده یک آبجکت رو تبدیل به جی‌سان کنیم، مثلاً توی آبجکت پراپرتی‌هایی داریم که نمی‌خوایم توی حالت جی‌سان حضور داشته باشن، باید توی آبجکت یک متد تعریف کنیم به اسم toJSON. این متد مسئول فراهم آوردن چیزهایی هست که می‌خوایم توی جی‌سان وجود داشته باشه:const user = {
  name: &amp;quotMario&amp;quot,
  password: &amp;quotxx-cat-xx&amp;quot,
  
  toJSON(){
    const _this = this;

    return {
      name: _this.name,
      age: 4,
    }
  }
}

const serialized = JSON.stringify(user);

alert(serialized); // {&amp;quotname&amp;quot:&amp;quotMario&amp;quot,&amp;quotage&amp;quot:4}در واقع هر چیزی که توسط متد toJSON ریترن (Return) بشه توی خروجی قرار می‌گیره. ما توی این متد یک آبجکت دلخواه دیگه رو ریترن کردیم.خب دوستان این همه چیزهایی بود که باید از جی‌سان می‌دونستیم. توی یک برنامهٔ جاوااسکریپتی خیلی زیاد با جی‌سان سر و کار داریم. روزتون خوش. تا قسمت بعدی ?✌️Resources:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringifyhttps://www.json.org/json-en.htmlhttps://ditty.ir/</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>Hossein Shahmohammadi</author>
                <pubDate>Mon, 24 Oct 2022 21:58:44 +0330</pubDate>
            </item>
                    <item>
                <title>بازی سند باکس چیست و چه ارزی دارد؟</title>
                <link>https://virgool.io/Solidity/%D8%A8%D8%A7%D8%B2%DB%8C-%D8%B3%D9%86%D8%AF-%D8%A8%D8%A7%DA%A9%D8%B3-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%D9%87-%D8%A7%D8%B1%D8%B2%DB%8C-%D8%AF%D8%A7%D8%B1%D8%AF-veacjlkg5qsh</link>
                <description>سند باکس که به اختصارSAND نامیده می شود، یک ارز دیجیتال یا شکل دارایی دیجیتال است که با ارزش بازار حدود 1.18 میلیارد دلار در رتبه 44 بازار قرار دارد و 0.12 درصد از کل بازار را در اختیار دارد. در این لحظه هر واحد سند باکس با احتساب نرخ تتر 33340 تومان معادل 26143 تومان 0.784142 دلار قیمت دارد و حجم مبادلات روزانه آن 98.2 میلیون دلار است.قیمت در 24 ساعت گذشته 0.39% افزایش یافته است. بالاترین قیمت سند باکس در تاریخ 04 آذر 1400 (25 آبان 1390) برابر با 8.51 دلار بوده که نسبت به آن زمان 9.78 درصد کاهش داشته است. تعداد واحدهای سند باکس در گردش 1.5 میلیون واحد و تعداد کل واحدها 3 میلیارد خواهد بود. در حال حاضر، فعال ترین صرافی که Sandbox در آن کارت می شود، CoinTiger با سهم 27.91 درصد از حجم روزانه است.وب سایت خبری و آموزشی ابزار ترید ، یکی از بهترین و معتبرترین وب سایت هایی است که در آن مطالب آموزشی و دانستنی های بسیاری از قبیل بررسی بازی سند باکس، استار اطلس و دانستنی های متاورس مثل بلاک چین، استیکینگ ، استخراج و غیره برای استفاده شما عزیزان قرار داده است.پیشنهاد می کنیم اگر قصد دارید در خصوص حوزه ارزهای دیجیتال، متاورس و کریپتوکارنسی بیشتر بدانید، به ابزار ترید حتما مراجعه کنید.بازی sandbox و آرزوی SAND چیست؟به زبان ساده، Sandbox یک پلتفرم بازی است که به کاربران اجازه می دهد تا دنیای خود را بسازند. بازی sandbox در سال 2012 بر روی سیستم عامل های اندروید و iOS برای کاربران تلفن همراه در دسترس قرار گرفته است. این بازی همچنین در سال 2012 در میان عناوین برتر اپ استور اپل در بخش &quot;Gems Hidden Gem&quot; قرار دارد. در سال 2018، Animoca Brands بازی sandbox را خریداری کرد.در مرحله بعد، این شرکت پلتفرمsandbox را بر اساس گرافیک های سبکvoxel بازسازی کرد تا ظاهر و احساسی شبیه به بازی های معروف مانند Roblox یا Minecraft پیدا کند. از سوی دیگر، پروتکل های بلاک چین بازی به کاربران این امکان را می دهد که دنیای مجازی و اقتصاد خود را ایجاد کنند و باکس را بیش از یک بازی ساده تبدیل کنند.بازی سند باکسبازیکنان و کاربران بازی sandbox می توانند با آزادی و آزادی کامل و با استفاده از توکن هایNFT و فناوری بلاک چین از دنیای دیجیتالی که بر روی پلتفرم این بازی ایجاد می کنند کسب درآمد کنند. این ویژگی با استفاده از بلاک چین اتریوم امکان پذیر است. همانطور که می دانید اتریوم یک دفتر کل غیرقابل تغییر است که تمام تراکنش ها را به دقت ثبت می کند.پلتفرم Sandbox بر روی پلتفرم بلاک چین اتریوم پیاده سازی شده است تا از امنیت و قدرت آن به عنوان دومین بلاک چین بزرگ در جهان بهره مند شود. بازی sandbox این فرصت را برای همبازیان ایجاد می کند تا به صورت جمعی و مستقل از سراسر جهان بدون تکیه بر هیچ واسطه ای برای ایجاد یک بازی با یکدیگر همکاری کنند. به این ترتیب کاربران می توانند با استفاده از بازی و استفاده از قدرت DiFi درآمد مناسبی کسب کنند.سود سپرده گذاری ارز اوراق قرضه از کجا می آید؟مانند هر ارز یا توکن دیگری، هنگام انجام تراکنش‌های Sandbox Metaverse از طریقSandbox، کارمزدی از شما کسر می‌شود. کارمزد در نظر گرفته شده برای ارز سند 5 درصد کل مبلغ معامله می باشد. نیمی از این هزینه به کسانی تعلق می گیرد که ارز رمز خود را در استخر سهام به اشتراک گذاشته اند.Token Land (LAND) درMetaverse Sandboxکوچکترین واحد تقسیم زمین درMetaverse Sandbox نیز Land نامیده می شود. زمین های بازی سند باکس دارای ابعاد 96x96 می باشد. زمین به صورت توکن و NFT بر روی پلت فرم ERC-721 ساخته شده است. همه کاربران با خرید یک یا چند مورد از این زمین ها می توانند بازی را انجام دهند. به خاطر داشته باشید، کسانی که صاحب زمین هستند، بازیکنان فعال در متاورس sandbox محسوب می شوند.با خرید زمین می توانید هر کاری روی آن انجام دهید. پس از اینکه به عنوان یک کاربر فعال شناخته شدید، می‌توانید در مورد تصمیم‌های آینده دنیای sandbox و به‌روزرسانی‌های بعدی، بر اساس واحد پول ماسه نظر دهید. خریدLAND از طریق خود بازی امکان پذیر است.راه های دیگر خرید توکن هایLAND عبارتند از خرید از بازیکنان دیگر یا استفاده از حراج های پلتفرم OPENSEA. بازیکنان مختلف می توانند زمین خود را به عنوان NFT در پلتفرم OpenC بفروشند و به حراج بگذارند. در نظر داشته باشید که فرآیند خرید زمین یا زمین های بدون مالک در دنیای sandbox در چندین مرحله از طریق خود این پلتفرم انجام می شود.مزایای ارز دیجیتال سند باکس چیست؟در حال حاضر صنعت بازی یکی از بزرگترین صنایع دنیا محسوب می شود که از حجم نقدینگی بالایی برخوردار است. در حال حاضر این صنعت در بین مردم جهان و گروه های سنی جوان بسیار محبوب است. این نکته اساساً چیزی است که در بازارهای ارز دیجیتال مورد نیاز است و آن حجم نقدینگی است. گره زدن بازار به محبوب ترین مناطق در بین مردم به طور قابل توجهی به موقعیت بازارهای ارزهای دیجیتال در اقتصاد کمک می کند.تفاوت پلتفرم سند باکس با سایر پلتفرم های ارزهای دیجیتال در ترکیب صنعت بازی با ارزهای دیجیتال است. توسعه دهندگان پلتفرم معتقدند با استفاده از این ایده می توانند تحول بزرگی در صنعت ارزهای دیجیتال ایجاد کنند. این پلتفرم به تمامی کاربران امکان تولید محتوا برای صنعت بازی را می دهد تا بتوانند تاثیر بسزایی در تولید بازی داشته باشند.تولید رمز ارز سند نقش پر رنگی در تولید حاکمیت غیرمتمرکز در صنعت چنین بازی هایی دارد. البته توسعه دهندگان پلتفرم ارز دیجیتال سند باکس معتقدند که این ایده می تواند نقش بسیار مهمی در دنیای ارزهای دیجیتال داشته باشد. این پلتفرم امکان تولید محتوای صنعت بازی را به تمامی کاربران خود می دهد و به همین دلیل نقش مهمی در مشارکت جامعه خود در تولید بازی های مختلف ایفا می کند.LAND  به چه معناست؟LAND یک قطعه دیجیتالی از املاک و مستغلات در Metaverse است. LAND ها بر روی بلاک چین اتریوم پیاده سازی می شوند و بازیکنان می توانند با استفاده از ابزارGame Maker زمین ها را خریداری کنند تا نسخه ای از بازی های خود را با دارایی ها بر روی آن بسازند. همچنین، بازیکنان می توانند چندین زمین در یک منطقه داشته باشند و از آن به عنوان یک استان مجازی درMetaverse استفاده کنند.Land به افراد اجازه می دهد تا از تجربه بازی خود کسب پول و درآمد کنند. به عنوان مثال، آنها می توانند بازیکنان دیگری را که ازLAND آنها بازدید می کنند یا بازی های آنها را انجام می دهند، شارژ کنند.در مجموع بیش از 16 هزار فیلد در این پلتفرم وجود دارد. زمین ها را می توان با ارز دیجیتال SAND و البته اتریوم از طریق فروش عمومی زمین خریداری کرد. از طرف دیگر، کاربران می توانند زمین را از سایر کاربران در The Sandbox Marketplace و سیستم عامل های NFT مانند OpenSea خریداری کنند.معرفی بهترین کیف پول ها نگهداری ارز سند باکسکیف پول یکی از ابزارهای حیاتی در دنیای ارزهای دیجیتال است. در این قسمت کیف پول Sandbox را معرفی می کنیم.کیف پول سخت افزاری LEDGERیکی از بهترین مکان ها برای نگهداری این ارز دیجیتال کیف پول سخت افزاری لجر است. کیف پول های سخت افزاری از تکنیک های رمزنگاری پیشرفته برای محافظت از دارایی های شما در برابر حملات شبکه یا حتی کلاهبرداری های فیشینگ استفاده می کنند.کیف پول نرم افزار TrustVaultTrust Wallet بدون شک محبوب ترین کیف پول نرم افزاری در بین کاربران است و مکانی عالی برای ذخیره ارزهای دیجیتالSandbox است. اگر به تازگی وارد دنیای ارزهای دیجیتال شده اید و به دنبال کیف پولی مطمئن برای سرمایه خود هستید، TrustVault گزینه بسیار مناسبی برای شماست.کیف پول نرم افزار اتمیکیف پول اتمی در دو نسخه موبایل و وب برای کاربران در دسترس است. این کیف پول از بیش از 300 ارز دیجیتال از جمله ارز دیجیتالSandbox پشتیبانی می کند. این کیف پول همچنین امکان مبادله این ارز دیجیتال را با سایر ارزهای رمزنگاری شده در اختیار کاربران خود قرار می دهد.کیف پول نرم افزار MyEtherWalletکیف پول MyEtherWallet یکی از مطمئن ترین کیف پول های نرم افزاری برای نگهداری این ارز است. تمام توکن‌های ERC20 از جملهSAND را می‌توان با استفاده ازMyEtherWallet در بلاک چین اتریوم، بدون نیاز به دانلود کلاینت یا نرم‌افزار ذخیره کرد.آینده قیمتی سند باکسبر اساس پیش بینی ها و تحلیل های قیمتی که در سایت های معتبر در مورد این ارز دیجیتال انجام شده است، قیمت این توکن برای سال های آینده به شرح زیر است:پیش بینی قیمت سند باکس در سال 2023-2024کارشناسان و تحلیلگران این بازار حداقل قیمت ارز دیجیتال سانداح را در سال 2023 حدود 11.43 دلار تخمین زده اند. بر اساس پیش بینی این افراد، قیمت سند باکس در سال 2023 با میانگین قیمت معاملاتی 11.76 دلار به حداکثر قیمت 13.73 دلار خواهد رسید.انتظار می رود در سال 2023 قیمت سند باکس با میانگین قیمت 17.42 دلار به حداقل و حداکثر قیمت به ترتیب 16.83 و 19.69 دلار برسد.پیش بینی قیمت سند باکس در سال 2025پیش بینی ها برای سال 2025 حداقل و حداکثر قیمت 25.19 دلار و 29.19 دلار و میانگین قیمت 26.06 دلار را نشان می دهد.پیش بینی قیمت سند باکس در سال 2026با توجه به تحلیل های انجام شده بر روی قیمت های گذشته سند باکس، کارشناسان میانگین قیمت 35.72 دلار به همراه حداقل و حداکثر قیمت به ترتیب 34.42 و 43.39 دلار را برای این ارز دیجیتال در سال 2026 پیش بینی کرده اند.پیش بینی قیمت سند باکس در سال 2027طبق پیش بینی های موجود، میانگین قیمتSAND در سال 2027 51.90 دلار با حداقل و حداکثر قیمت 61.42 دلار خواهد بود.پیش بینی قیمت سند باکس در سال 2028انتظار می رود Sandbox حداقل قیمت 74.80 دلار، حداکثر قیمت 87.47 دلار و متوسط ​​قیمت 76.88 دلار را در سال 2028 تجربه کند.پیش بینی قیمت سند باکس در سال 2029بر اساس پیش بینی های موجود، قیمت اوراق در سال 2029 به حداقل 107.86 دلار، حداکثر 130.76 دلار و میانگین قیمت به 1 دلار خواهد رسید.</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>کوین 360</author>
                <pubDate>Tue, 18 Oct 2022 01:50:15 +0330</pubDate>
            </item>
                    <item>
                <title>مفهوم Referential Equality در React</title>
                <link>https://virgool.io/Solidity/referential-equality-in-react-qqrullbwnmtn</link>
                <description>Referential Equality چیست و چه کاربردی دارد؟ | Referential Equality در ری‌اکت | Referential Equality در React مفهوم Referential Equality در React -  آرین حسینی  - Arian Hosseiniسلام، ممکنه در حال یادگیری کاربرد های هوک useMemo, useCallback یا هوک های دیگر بوده باشید و کلمه Referential Equality به گوشتون خورده باشه، همونطور که ممکنه بدونید دومین کاربرد هوک useMemo در React همین مفهوم Referential Equality هست که در این مقاله قراره با هم بررسی کنیم؛پس اگر علاقه دارید بیشتر در مورد Referential Equality بدونید، تا آخر این مقاله همراه من باشید...قبل از اینکه بخوام در مورد این مفهوم صحبت کنم، دوست دارم یکسری مقدمه و مفاهیمی که در ادامه کار نیاز داریم بدونیم رو همینجا توضیح بدم که نیاز به مطالعه مقالات و منابع مظاعف نداشته باشید، اگر شما این مفاهیم رو میدونید، میتونید این قسمت رو Skip کنید.در ضمن این مقاله یک مقداری طولانی هست پس حتما حین خوندنش باید پر انرژی و سر حال باشید که بتونید کامل تا آخر دنبال کنید و مباحث رو درک کنید، اگر الان شرایطش رو ندارید میتونید براحتی این صفحه رو bookmark کنید و بعدا بهش مراجعه کنید. قهوه فراموش نشه :)بریم که شروع کنیم:بخش اول:‌ Primitive and Reference Data Typesدر زبان JavaScript ما دو نوع Data type داریم:1. Primitive Data types || انواع داده های اولیه2. Reference Data typesخودتون رو زیاد درگیر ترجمه فارسی این کلمات نکنید و سعی کنید به همون شکل انگلیسی اون ها رو به خاطر بسپارید.به طور کلی زمانی که شما یک متغیر در JavaScript تعریف میکنید، اون متغیر میتونه یکی از این نوع داده ها یا data type هارو داخل خودش ذخیره کنه،اگر مقداری که داخل متغیر ذخیره میکنید number, string, boolean, undefined, null یا یک symbol باشه، شما در واقع یک نوع داده Primitive یا یک Primitive Data type رو داخل اون متغیر ذخیره کردید، ولی اگر اون مقدار یک Object, Array, Function یا هر نوع داده دیگری باشه، شما در واقع یک نوع داده Reference یا Reference Data type رو ذخیره کردید. (بهتر بگم هر چیزی که از نوع Object در JavaScript هست مثل فانکشن ها و آرایه ها که میتونید با operator یا عملگر typeof اون رو چک کنید)مثال:‌const age = 20; // primitive
const name = &amp;quotArian Hosseini&amp;quot // primitive
const isLoggedIn = false; // primitive
const user = undefined; // primitive
const response = null; // primitive
const counter = Symbol(&amp;quotcounter&amp;quot); // primitive

const person = { firstName: &amp;quotArian&amp;quot  }; // reference
const coaches = [&amp;quotClarian&amp;quot,  &amp;quotMax&amp;quot]; // reference
const getSomething = () =&gt; {}; // referenceوقتی شما به کد بالا نگاه می‌کنید، خب تمامی این نوع داده هایی که در متغیر ها ذخیره شده، یک شکل به نظر میاد اما تفاوت به قول انگلیسی ها under the hood هست یا یک جورایی در پشت صحنه و در اعماق ماجرا، منظورم چیه؟! ساده تر بگم مقادیری که Primitive هستند، به شکلی همون مقدار داخل اون متغیر ذخیره میشه اما مقادیری که از نوع داده Reference هستند، آدرسشون (Memory Address) داخل اون متغیر ذخیره میشه نه خود مقدار، در واقع آدرس اون نقطه‌ای در حافظه که این مقدار داخلش ذخیره شده!یک مثال میزنم که این مورد رو خیلی بهتر درک کنید:let lastName = &amp;quotHosseini&amp;quot
let displayName = lastName;

lastName = &amp;quotNorth&amp;quot

console.log(lastName); // &amp;quotNorth&amp;quot
console.log(displayName); // &#039;Hosseini&#039;چی شد؟ در مثال بالا من یک متغیر تعریف کردم با نام lastName و مقدار &quot;Hosseini&quot; رو که یک string هست رو داخلش ذخیره کردم و بعد یک متغیر جدید ساختم با نام displayName و مقدارش رو برابر قرار دادم با مقدار متغیر lastName، خیلی ساده بود نه؟!حالا در خط بعدی اومدم و مقدار اون متغیر lastName که اول تعریف کرده بودم رو تغییر دادم به رشته عددی &quot;North&quot; (یک نام خانوادگی آمریکایی هست با اصالت British)تا اینجا احتمالا خودتون تونستید حدس بزنید که چی شد! اگر الان مقدار lastName رو لاگ بگیریم، مقداری که برای ما بر می گردونه &quot;North&quot; هست که خب طبیعی هم هست، من یک متغیر تعریف کردم و چند خط بعد یا در ادامه کد هام اومدم مقدارش رو تغییر دادم، اگر الان لاگ بگیرم، قاعدتا باید مقداری که تغییر داده بودم رو مشاهده کنم؛اما اگر displayName رو لاگ بگیرم، مقدار &quot;Hosseini&quot; رو برای من برمیگردونه! چرا؟ فکر میکنم واضح باشه، زمانی که من displayName رو برابر قرار دادم با lastName، مقدار lastName همچنان Hosseini بود پس قطعا همین مقدار داخل displayName هم ذخیره خواهد شد، حالا اینکه من بعدا در لاین های بعدی مقدار lastName رو تغییر دادم، دیگه هیچ ربطی به displayName نداره! و این دو تا کاملا مستقل از همدیگر هستند!این مثال رو که برای یک نوع داده Primitive که در اینجا string بود رو با هم دیدیم (برای تمامی Primitive Data type های دیگه هم صدق میکنه) حالا بریم یک مثال دیگه در مورد Reference data type ها داشته باشیم؛let person1 = { firstName: &amp;quotArian&amp;quot, lastName: &amp;quotHosseini&amp;quot };
let person2 = person1;

person2.lastName = &amp;quotNorth&amp;quot

console.log(person1.lastName); // North
console.log(person2.lastName); // Northنتیجه جالب شد!‌ اینطور نیست؟! چطور هر دو پراپرتی lastName برای هر دو آبجکت برابر با یک مقدار هستند؟! اجازه بدیم از اول توضیح بدم:اول اینجا من یک متغیر تعریف کردم با نام person1 که برابر با یک آبجکتی هست که شامل دو تا پراپرتی firstName و lastName میشه که مساوی با نام بنده هستند، در لاین بعدی من یک متغیر جدید ساختم با نام person2 که مقدارش رو برابر قرار دادم با مقداری که در متغیر person1 داشتم!همونطور که اوایل مقاله توضیح دادم Object ها یک نوع داده reference هستند، یعنی وقتی شما یک متغیر تعریف میکنید و مقدارش رو برابر با یک Object میذارید، اون Object شما در یک نقطه از حافظه ذخیره میشه و فقط آدرسش (Memory Address) هست که داخل متغیر ذخیره میشه، Source: Mosh Hamedani Youtube Videoکه در مثال بالا person1 صرفا حاوی آدرس نقطه‌ای از حافظه هست که اون آبجکت در اون خانه‌ی حافظه ذخیره شده و قرار داره، بهتر بگم person1 داره اشاره میکنه به آدرس نقطه‌ای از حافظه که آبجکت من در اونجا ذخیره شده!!! به طور مثال برای اینکه بهتر بتونید این مورد رو به خاطر بسپارید یک چنین چیزی رو تصور کنید (اصلا درست نیست صرفا برای اینکه راحت تر بتونید تصور کنید و این رو به خاطر بسپارید)person1 --------&gt;&gt;&gt;&gt;&gt; 962012d09b817 (مثلا فرض کنید این عبارت 962012d09b817 آدرس اون نقطه در حافظه هست)حالا این نقطه 962012d09b817 از حافظه رو اگر بهش رجوع کنیم، میبینیم که آبجکت ما اونجا هست‌ (مشابه تصویری که در بالا میبینید، x و y دو تا متغیر هستند که جفتشون اشاره میکنند به یک نقطه از Memory که آبجکت اونجا قرار داره و صرفا آدرس اون نقطه در حافظه هست که در این متغیر ها ذخیره شده)خب الان پس با این اوصاف مقدار person2 که برابر قرار داده بودم با مقدار person1 چیه؟ دقیقا! آدرس اون نقطه از حافظه که حالا مثلا در مثال ما اینجا شما اینطور تصور کنید که یک همچین آدرسی هست 962012d09b817.پس در اینجا متغیر های person1 و person2 به طور همزمان دارند به یک نقطه از حافظه اشاره میکنند! یا حاوی یک آدرس هستند که اون آدرس م ارو به اون نقطه از حافظه میبره که آبجکت ما اونجا قرار داره...به همین راحتی! پس وقتی که من در لاین بعدیperson2.lastName = &amp;quotNorth&amp;quotرو مینویسم و مقدار پراپرتی lastName متغیر person2 رو تغییر میدم، در واقع دارم مقدار پراپرتی همون آبجکتی رو تغییر میدم که person1 هم داره بهش اشاره میکنه! person1 و person2 شامل دوتا آبجکت مجزا و متفاوت نیستند! هر دو یک آبجکت هستند و این دو متغیر دارند به این تک آبجکت اشاره می‌کنند، پس فرقی نمیکنه شما از طریق person2 پراپرتی های اون آبجکت رو تغییر بدید یا از طریق person1، در هر دو حالت اون آبجکت تغییر میکنه و اگر شما person1 و person2 رو لاگ بگیرید،‌ میبینید که مقداری که جفتشون برمیگردونند، یکی هست و تفاوتی نداره. (بر خلاف چیزی که در Primitive Data Types دیدیم)مقایسه (Comparison) Primitive Data Type ها و Reference Data Type هااین قسمت بسیار مهم هست، حتما دقت کنید! اگر شما بخواهید با operator یا عملگر === که از انواع Comparison Operators در JavaScript هست دو تا متغیری که حاوی یک مقدار primitive یکسان هستند رو با هم دیگه مقایسه کنید، چه نتیجه‌ای می‌گیرید؟! برای مقادیری که از یک Reference data type یا یک نوع داده Reference هستند مثل آرایه ها چطور؟بزارید چند تا مثال بزنم!const myName = &amp;quotArian&amp;quot
const yourName = &amp;quotArian&amp;quot

console.log(myName === yourName); // trueدر این مثال من اومدم دو تا string که از انواع داده های Primitive هستند رو با هم مقایسه کردم، همونطور که میبینید به من true برگشت داده؟ چرا چون عملگر === در جاوااسکریپت primitive ها رو بر اساس value یا مقدارشون مقایسه میکنه! (Comparison by value) یعنی میگه خب من داخل myName یک string دارم که Arian هست در yourName هم یک string دارم که Arian هست، این دو تا مقدار رو با هم مقایسه میکنه و میگه بله هر دو یکسان هستند و true بر میگردونه؛حالا به این مثال توجه کنید:const BMW = {
	type: &amp;quotCompany&amp;quot,
	location: &amp;quotGermany&amp;quot,
};const MercedesBenz = {
	type: &amp;quotCompany&amp;quot,
        location: &amp;quotGermany&amp;quot,
};

console.log(BMW === MercedesBenz); // falseدر Reference ها (انواع داده های Reference مثل object ها و...) این عملگر === در جاوااسکریپت مقادیر رو بر اساس رفرنسشون (reference) یا نقطه‌ای که در حافظه هستند، مکانی که در حافظه قرار دارند با هم مقایسه میکنه! (Comparison by reference)در این مثال میتونید ببینید که من دوتا آبجکت یکسان دارم که هیچ تفاوتی باهم ندارند، تمامی پراپرتی هاشون با هم برابره اما زمانی که این دو رو با هم مقایسه میکنم، چون که جاوااسکریپت این دو رو بر اساس نقطه‌ای که در حافظه هستند با هم مقایسه میکنه، میبینه که خب آبجکت اول که در متغیر BMW هست مثلا در فلان نقطه از حافظه ذخیره شده و آدرسش یک چیزی هست اما آبجکت دوم که داخل متغیر MercedesBenz ذخیره شده در فلان نقطه دیگر از حافظه هست، پس در نتیجه با هم برابر نیستند و false.Primitive Data Types -&gt; Comparison by valueReference Data Types -&gt; Comparison by referenceدو تا آبجکت یکسان که در مکان های مختلفی از حافظه قرار دارنددر تصویر بالا مشاهده میکنید که ما دو تا آبجکت یکسان داریم، اما اگر این هارو با هم مقایسه کنیم، نتیجه false هست، دلیل رو هم که بالاتر توضیح دادم، اینکه Reference Data type ها بر اساس آدرس مکانشون در حافظه مقایسه میشن نه بر اساس مقدار یا value شون،console.log(object1 === object2); // false نتیجه:پس تنها زمانی دو تا متغیر که حاوی یک نوع مقدار Reference هستند با هم مساوی خواهند شد که هر دو به یک نقطه‌ای از حافظه اشاره کنند در غیر این صورت مساوی و برابر نیستند حتی اگر مقدارشون کاملا با هم برابر باشد. (مثال بالا در مورد پراپرتی های آبجکت ها - بر خلاف Primitive Data Types)اما متغیر هایی که حاوی یک نوع مقدار Primitive هستند، تنها زمانی با هم مساوی و برابر خواهند شد که مقدار یا value هر دو با هم کاملا برابر باشد.درست شد؟ امیدوارم که تونسته باشم به خوبی این مبحث رو بهتون انتقال بدم، اگر متوجه نشدید، بدونید قطعا من خیلی بد توضیح دادم و این مشکل شما نیست، از این بابت هم عذر میخوام.بخش دوم: به صورت کلی React چطور فرآیند re-render رو تعیین میکنه؟همونطور که میدونید، در React تنها زمانی کامپوننت رندر مجدد خواهد شد که تغییری در state یا props های اون کامپوننت به وجود بیاد، پس برای مثال اگر زمانی مقدار state یک کامپوننت تغییر کنه، React.js میاد اون کامپوننت رو re-render میکنه.برای درک بهتر به مثال زیر توجه کنید:const [name, setName] = useState(&amp;quot&amp;quot);

const handleChangeName = (newName) =&gt; {
     setName(newName);
};در مثال بالا فرض کنید من یک Event Handler دارم که هر زمان شما اون رو call کنید و اسم جدید رو به عنوان argument بهش پاس بدید، مقدار name رو در state آپدیت میکنه و name برابر میشه با نام جدیدی (newName) که در نظر گرفتید؛حالا React اینجا میاد مقدار نام جدید رو با مقدار name قبلی در state مقایسه میکنه (به واسطه الگوریتم خاص خودش که داره و البته به کمک متد Object.is) و در صورتی که اینها با هم تفاوت داشتند، re-render انجام میشه در غیر این صورت اگر برابر بودند که اتفاق خاصی نمی‌افته.گفتم که React در پروسه مقایسه کردن و الگوریتم خودش برای اینکار از built-in متد () Object.is استفاده میکنه، این متد دو تا argument قبول میکنه، این دو تا رو با هم مقایسه میکنه و یک boolean بر میگردونه که آیا با هم برابر بودند یا خیر،نکته:‌ متد Object.is با عملگر === در جاوااسکریپت یکسان نیست و یکسری تفاوت هایی با هم دارند، برای اطلاعات بیشتر میتونید این لینک رو بررسی کنید.Syntax:  Object.is(value1, value2)متد Object.is در JavaScript تعیین می کنه که آیا دو مقدار یکسان هستند یا خیر در صورتی که:هر دو مقدار undefined یا null باشند،هر دو مقدار true یا false باشند،هر دو مقدار یک string با length، ترتیب و کاراکتر های کاملا یکسان باشند،هر دو مقدار number باشند با یک مقدار یکسان یا NaNهر دو مقدار یک Object یکسان باشند که در یک نقطه از حافظه قرار دارند (بالاتر توضیح دادم)، پس React این قوانین رو برای رندر مجدد کامپوننت ها در زمانی که تغییری در state یا props ایجاد میشه، اعمال می کنه.خب این موارد رو گوشه‌ی ذهنتون داشته باشید حالا میریم سراغ مشاهده این مفهوم Referential Equality در کد و عمل!بخش سوم: Referential Equality - نحوه مقایسه در عمل!کد زیر رو در نظر بگیرید، یک کامپوننت ساده با نام App: https://gist.github.com/aryanhosseini/b6ece338d9164c70c48248c86908db46 خب همونطور که در کد بالا مشاهده می کنید، من یک state variable ساختم با نام myself که به صورت پیش فرض با یک آبجکت شامل دو پراپرتی name و age اون رو مقدار دهی کردم، در لاین بعدی یک Event handler تعریف کردم با نام changeNameToClarian که کارش اینه بیاد و پراپرتی های مقدار myself رو در state تغییر بده (بله! میدونم نباید state و props رو به صورت مستقیم تغییر بدیم، اینجا صرفا برای آموزش هست)، یک button در صفحه قرار دادم با که هر موقع کلیک شد، این فانکشن رو call میکنه و باید نام رو از Arian به Clarian تغییر بده همینطور مقدار سن رو، اگر موافق هستید بریم نتیجه رو بررسی کنیم؛خروجی مثال کد بالادر اینجا زمانی که من روی button &quot;نام من رو تغییر بده&quot; کلیک میکنم، طبق انتظاراتون باید مقدار state رو تغییر بده و رندر مجدد انجام بشه و در نهایت UI ما آپدیت بشه، اما این اتفاق نمی‌افته! چرا؟حتی اگر console رو مشاهده کنید،‌ میبینید که آبجکت myself که در لاین 9 لاگ گرفتیم رو هم با مقادیر جدید نشون میده، اما چرا این آبجکت جایگزین initial value قبلی state مون نشده و مقدار همچنان Arian و 20 هست؟!مقدار myself که در لاین 9 لاگ گرفتیم! اگر متعجب شدید که چرا کامپوننت re-render نشده، باید بگم که بهتره یک نگاهی دوباره به قوانین که متد Object.is برای مقایسه کردن داشت بندازید:5. زمانی دو Object برابر در نظر گرفته میشوند که هر دو در یک نقطه از حافظه باشند و یک Memory Address داشته باشند، در غیر اینصورت برابر نخواهند بود حتی اگر تمامی پراپرتی هاشون با هم برابر باشد.خب حالا با دونستن این مورد، میتونیم بهتر مشکل رو درک کنیم:const changeNameToClarian = () =&gt; { 
    myself.name = &amp;quotClarian&amp;quot
    myself.age = 25; 
    console.log(myself); 
    setMyself(myself);
 };در کد بالا میبینیم که مقادیر جدید که Clarian و 25 باشند به اصطلاح assign خواهند شد به عنوان مقادیر پراپرتی های آبجکت (منظور جایگزین مقادیر پیش فرض قبلی خواهند شد)، حالا زمانی که React میاد و بر اساس الگوریتم خودش به واسطه متد Object.is میخواد این دو آبجکت تغییر یافته رو با آبجکتی که به عنوان initial value ابتدا برای state تعریف شده بود، مقایسه کنه، میبینه که خب مقدار این آبجکت همچنان برابر با اون همون initial value هست و فرقی نکرده، در واقع در پشت صحنه، هر دو مقدار دارن اشاره میکنند یا به اصطلاح پوینت (point) میکنند به یک مکان در حافظه که باعث میشه در کل یکسان و مساوی تلقی بشن!!!به این فرآیند به اصطلاح Referential Equality گفته میشه ، به این دلیل که Object ها بر اساس مکان حافظه شان (Memory Location) برابر و مساوی در نظر گرفته می شوند و نه بر اساس مقادیرشان (پراپرتی ها)داخل پرانتز این رو هم بگم که این کلمه در فارسی &quot;برابری ارجاعی&quot; ترجمه شده که به نظرم بهتره معادل انگلیسی رو یاد بگیرید و زیاد خودتون رو درگیر این ترجمه ها نکنید!میدونم ممکنه یکم درکش در ابتدا سخت باشه، اما مطمئن باشید به مرور قطعا کامل درک خواهید کرد.اجازه بدید یک بار دیگه خیلی ساده و راحت توضیح میدم: مشکل ما این بود که درسته که ما اومدیم myself.name و myself.age رو تغییر دادیم، اما این تغییر باعث ایجاد آبجکت جدیدی که نمیشه و این تغییرات روی همون آبجکتی اعمال میشه که در نقطه یکسان از حافظه قرار داشت، دقیقا برابر با همون مکان آبجکتی که در state ابتدا به عنوان initial value تعریف کردیم! یعنی ما صرفا پراپرتی های اون آبجکت رو درسته در واقعیت تغییر دادیم اما متد Object.is که اینو نمیفهمه!!! این متد میگه اوکی اون آبجکت اولیه بود که داخل state به عنوان initial value ست کردیم مثلا در نقطه 5sdf4 از حافظه قرار داره، و این آبجکت جدید هم که اومدیم پراپرتی هاش رو در متد changeNameToClarian ویرایش کردیم در نقطه 5sdf4 از حافظه قرار داره، خب پس این متد Object.is خیلی شیرین به این نتیجه میرسه که این دوتا آبجکت هیچ تفاوتی با هم ندارند و به React میگه که رندر مجدد بی رندر مجدد و از این خبرا اینجا نیست...! درسته شد؟! حالا راه حلش چیه؟خیلی ساده باید کاری کنیم که یک آبجکت جدید ساخته باشه که Memory Address‌اش برابر با Memory Address اون آبجکت اولیه در state نباشه! همین! حالا یکی از روش ها به این صورت هست:const changeNameToClarian = () =&gt; {
    myself.name = &amp;quotClarian&amp;quot
    myself.age = 25;
    console.log(myself);
    setMyself({ ...myself });
};مشاهده میکنید که ما یک آبجکت جدید به setMyself پاس دادیم که در یک نقطه دیگری از حافظه قرار داره و با spread operator اومدیم پراپرتی های آبجکت myself که تغییرش داده بودیم رو استخراج کردیم و به عنوان پراپرتی های این آبجکت جدید ست کردیم و عملا دیگه خبری از Referential Equality اینجا نیست چون ما دو تا آبجکت مستقل از هم داریم که الان React میتونه این رو متوجه بشه.مشخصات با موفقیت تغییر کرد و رندر مجدد انجام شد! یکی از دلایلی که state رو نباید به صورت مستقیم ویرایش کنیم، همین هست چون React دیگه کنترل وضعیت از دستش خارج میشه و دیگه نمیتونه پیگیر تغییرات state باشه که بعد بخواد re-render انجام بده.نتیجه گیری نهایی:این بسیار مهم هست که ما بدونیم آبجکت ها چطور و کجا ذخیره میشن و اینکه React چطور میاد مشخص میکنه که الان باید این کامیپوننت re-render بشه یا نه، بنابراین، در مواردی که کامپوننت re-render نمیشن در زمانیکه که state شون تغییر کرده، یک راه حل این هست که مطمئن بشیم Object ها با هم برابر نیستند (یعنی هر دو آبجکت در نقاط مختلفی از حافظه قرار دارند)، این مورد از به وجود اومدن یکسری باگ های احتمالی در کد جلوگیری میکنه و در روند توسعه اپلیکیشن به ما کمک میکنه.خب امیدوارم که این مقاله تونسته باشه کمکتون کنه، میدونم خیلی جاهاش ممکنه براتون گنگ بوده باشه یا اشکلاتی درش وجود داشته باشه چون یک مقداری توضیح دادنش توی متن برام سخت بود، مخصوصا اینکه این اولین مقاله‌ای هست که منتشر میکنم علاوه بر اینکه خیلی طولانی هم شد، حتما این مقاله رو با کمک شما عزیزان آپدیت خواهم کرد و اشکالاتش رو به مرور برطرف میکنم، خوشحال میشم نظراتتون رو بدونم، اگر متوجه اشکالی شدید یا قسمتی که به نظرتون خوبه توضیح نداده بودم، حتما اشاره کنید که اصلاحش کنم! مرسی از اینکه تا آخر با من همراه بودید!منابع:منبع ۱ - منبع ۲ - منبع ۳ - منبع ۴ - منبع ۵ - منبع ۶ - منبع ۷</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>سید آرین حسینی</author>
                <pubDate>Sat, 15 Oct 2022 22:31:32 +0330</pubDate>
            </item>
                    <item>
                <title>? بلاک‌چین و زنجیرۀ تأمین ?</title>
                <link>https://virgool.io/Solidity/%D8%A8%D9%84%D8%A7%DA%A9-%DA%86%DB%8C%D9%86-%D9%88-%D8%B2%D9%86%D8%AC%DB%8C%D8%B1%DB%80-%D8%AA%D8%A3%D9%85%DB%8C%D9%86-xb626zspvuxc</link>
                <description>? فناوری بلاک‌چین زنجیره‌های تأمین امروزی را هیجان‌زده کرده و بازیگران و استارت‌آپ‌های فعال فناوری اطلاعات را بر آن داشته تا پروژه‌های آزمایشی امیدوارکننده‌ای را در این زمینه آغاز کنند.? زنجیرۀ تأمین شبکه‌ای از تمامی افراد، سازمان‌ها، منابع، فعالیت‌ها و فناوری‌های دخیل در ایجاد و فروش یک محصول است. یک زنجیرۀ تأمین شامل همه چیز از تحویل مواد اولیه از تأمین‌کننده به سازنده تا تحویل نهایی آن به کاربر نهایی است.? زنجیره‌های تأمین را می‌توان در مقابل زنجیره‌های ارزش قرار داد که به روش‌های مختلف به محصول نهایی کمک می‌کنند. هدف زنجیره‌های تأمین برآورده کردن خواسته‌های مشتری است. زنجیره‌های ارزش به دنبال افزودن ارزش به یک محصول بر ارزش ذاتی آن هستند.? زمانی که تولیدکنندگان بتوانند محصولات آسیب‌دیده را به‌سرعت و به‌راحتی مکان‌یابی کنند، فراخوان‌ها ارزان‌تر و کارآمدتر می‌شوند. فناوری بلاک‌چین یک زنجیره تأمین شفاف‌تر و قابل ردیابی را امکان‌پذیر می‌کند، بنابراین، فراخوان سریع‌تر و کارآمدتر را تسهیل می‌کند.اطلاعات بیشتر را در ققنوس بخوانید:https://b2n.ir/e69436</description>
                <category>جامعه سالیدیتی ایران</category>
                <author>kuknos  | شرکت ققنوس</author>
                <pubDate>Sun, 09 Oct 2022 17:47:48 +0330</pubDate>
            </item>
            </channel>
</rss>