COMPΞZ 🧬
اوایل الگوریتم تا به ترتیب توسعش این شکلی بوده... ابتدا بهم ریخته و سپس پایهٔ اولیش رو مرتب کردم به طوری که هیچ برخوردی بین هیچ ذره وجود نداشته باشه. وقتی طرح چینش درست باشه، بعدش میتونی هر شکلی رو بهش اعمال کنی.
خب بحث هنر مولد رو بارها من توضیح دادم در موردش، اما واقعیتش اینه حضور چنین هنرهایی از سال ۱۹۶۰ شکل گرفته و چیز جدیدی نیست! اما خب تو این کشور ذهنها رو همیشه با شعارهای چپ و راستی مشغول میکنن که شما وقت نکنی به موارد دیگه فکر کنی.
به هر حال، یک هنر مولد کاملاً بر مبنای کد و مفاهیم و منطق ذهنی انسان ساخته میشه؛ برنامهنویس کد و ایدهٔ ذهنی خودش رو پیادهسازی میکنی و به واسطهٔ کامپیوتر اون رو به یک شکل نهایی تبدیل میکنه.
اما جزئیات در انواع و جنس هنرهای مولد بسیار زیاد هست و همه چیز خلاصهٔ چهارتا تصویر و الگوی خاص نمیشه.
برای مثال هنرهای مولد مدرنیزه شده بر مبنای شبکهٔ بلاکچین رو بهشون Long-form میگیم، چیزی که خود هنرمند هم بعد از ساختنش فقط میتونه حدس بزنه چی از آب در میاد و خروجی نهایی به دو عامل مهم بستگی داره:
۱) کامپیوتر و الگوریتم
۲) بلاکچین
مثال بزنم، نمونه قطعهٔ ۳۶۸۶۴ که قبلاً ساخته بودم خب چیزی بود که کدش رو با ++C نوشتم و بعد کامپایل کردم، خروجی شد یک فایل و اون رو در شبکهٔ بلاکچین قرار دادم تا ارزش خودش رو پیدا کنه، صد البته هم ارزشش رو پیدا کرد و هم توسط یکی از حامیان بزرگ جامعهٔ هنری خریداری شد و برای همیشه با مجوز CC0 در اختیار صاحبش قرار گرفت.
به اون قطعه میگیم یک هنر مولد off-chain و آفلاین یا shot-form. درسته که آنلاین قابل دید و حمایت هست اما کد بر روی سیستم من تولید شده و خروجیش رو من قبل از اینکه منتشر کنم دیده بودم!
خب حالا چه چیزی جالبتر میتونه باشه؟ موضوع هنرهای مبتنی بر on-chain با خاصیت long-form، این مهمترین و جدیدترین سبک هنری از کدهای مولد هست. یعنی من کدش رو مینویسم، مفهوم ذهنی خودم رو با الگوریتمی ترکیب میکنم و خروجی نهایی وابسته به سیستم و بلاکچین در لحظهٔ اجرا مشخص میشه. مثل همین طرحهایی که در پستهای اخیرم هست، اون بردها و این طرحهای رنگی پنگی ژنتیکی.
اینها درسته که ظاهرشون مشخصه چی میتونه باشه، اما تعداد، الگو، رنگ و ابعادشون رو فقط در زمانی که شما روی شبکهٔ بلاکچین اون رو درخواست میکنید (در لحظهٔ اجرا) تولید میشه.
خلاصهٔ فرآیندش اینه که هنرمند، آرتیست یا همون برنامهنویسی که ذهن هنری داره یک کد مولد ایجاد میکنه که روی بلاکچین اتریوم نوشته میشه و اون کد رو به طور دائمی، تغییر ناپذیر و قابل تأیید میکنه. در مرحله بعد هنرمند مشخص میکنه که چه تعداد تکرار در دسترس خواهد بود تا توسط اسکریپت قابل Mint باشه.
به طور معمول هم حداقل از ۵۰۰ تا ۱۰۰۰ قطعه از الگو، رنگ و ساختار تنظیم میشه، هر موقع که یه نفر میاد درخواست دریافت میکنه، اسکریپت برای تولید یک خروجی روی شبکه اجرا میشه و اون خروجی در ساختار NFT منتقل میشه. هیچ کس نه من و نه کسی که قطعه رو دریافت میکنه دقیق نمیدونه چه چیزی تولید خواهد شد. برای همین خروجی چنین فرآیندی جالب و ارزشمند هست.
به هر حال، یک هنر مولد کاملاً بر مبنای کد و مفاهیم و منطق ذهنی انسان ساخته میشه؛ برنامهنویس کد و ایدهٔ ذهنی خودش رو پیادهسازی میکنی و به واسطهٔ کامپیوتر اون رو به یک شکل نهایی تبدیل میکنه.
اما جزئیات در انواع و جنس هنرهای مولد بسیار زیاد هست و همه چیز خلاصهٔ چهارتا تصویر و الگوی خاص نمیشه.
برای مثال هنرهای مولد مدرنیزه شده بر مبنای شبکهٔ بلاکچین رو بهشون Long-form میگیم، چیزی که خود هنرمند هم بعد از ساختنش فقط میتونه حدس بزنه چی از آب در میاد و خروجی نهایی به دو عامل مهم بستگی داره:
۱) کامپیوتر و الگوریتم
۲) بلاکچین
مثال بزنم، نمونه قطعهٔ ۳۶۸۶۴ که قبلاً ساخته بودم خب چیزی بود که کدش رو با ++C نوشتم و بعد کامپایل کردم، خروجی شد یک فایل و اون رو در شبکهٔ بلاکچین قرار دادم تا ارزش خودش رو پیدا کنه، صد البته هم ارزشش رو پیدا کرد و هم توسط یکی از حامیان بزرگ جامعهٔ هنری خریداری شد و برای همیشه با مجوز CC0 در اختیار صاحبش قرار گرفت.
به اون قطعه میگیم یک هنر مولد off-chain و آفلاین یا shot-form. درسته که آنلاین قابل دید و حمایت هست اما کد بر روی سیستم من تولید شده و خروجیش رو من قبل از اینکه منتشر کنم دیده بودم!
خب حالا چه چیزی جالبتر میتونه باشه؟ موضوع هنرهای مبتنی بر on-chain با خاصیت long-form، این مهمترین و جدیدترین سبک هنری از کدهای مولد هست. یعنی من کدش رو مینویسم، مفهوم ذهنی خودم رو با الگوریتمی ترکیب میکنم و خروجی نهایی وابسته به سیستم و بلاکچین در لحظهٔ اجرا مشخص میشه. مثل همین طرحهایی که در پستهای اخیرم هست، اون بردها و این طرحهای رنگی پنگی ژنتیکی.
اینها درسته که ظاهرشون مشخصه چی میتونه باشه، اما تعداد، الگو، رنگ و ابعادشون رو فقط در زمانی که شما روی شبکهٔ بلاکچین اون رو درخواست میکنید (در لحظهٔ اجرا) تولید میشه.
خلاصهٔ فرآیندش اینه که هنرمند، آرتیست یا همون برنامهنویسی که ذهن هنری داره یک کد مولد ایجاد میکنه که روی بلاکچین اتریوم نوشته میشه و اون کد رو به طور دائمی، تغییر ناپذیر و قابل تأیید میکنه. در مرحله بعد هنرمند مشخص میکنه که چه تعداد تکرار در دسترس خواهد بود تا توسط اسکریپت قابل Mint باشه.
به طور معمول هم حداقل از ۵۰۰ تا ۱۰۰۰ قطعه از الگو، رنگ و ساختار تنظیم میشه، هر موقع که یه نفر میاد درخواست دریافت میکنه، اسکریپت برای تولید یک خروجی روی شبکه اجرا میشه و اون خروجی در ساختار NFT منتقل میشه. هیچ کس نه من و نه کسی که قطعه رو دریافت میکنه دقیق نمیدونه چه چیزی تولید خواهد شد. برای همین خروجی چنین فرآیندی جالب و ارزشمند هست.
❤🔥2
COMPΞZ 🧬
خب بحث هنر مولد رو بارها من توضیح دادم در موردش، اما واقعیتش اینه حضور چنین هنرهایی از سال ۱۹۶۰ شکل گرفته و چیز جدیدی نیست! اما خب تو این کشور ذهنها رو همیشه با شعارهای چپ و راستی مشغول میکنن که شما وقت نکنی به موارد دیگه فکر کنی. به هر حال، یک هنر مولد…
این بحث شبکهٔ بلاکچینی حوزهٔ NFT هم اخیراً یک تغیرات اساسی داشته، یعنی دیگه مختص اتریوم نیست. اتریوم به عنوان یک شبکهای که برای اهداف بلندمدت و قطعات ارزشمند به شدت مناسب هست که با در نظر گرفتن هزینههای گسفی نسبت به میزان پیچیدگی پردازشی شبکه محاسبه میشه.
اما اخیراً الگوریتمی با نوع اوربیتال (شبکهٔ مبتنی بر بیتکوین) معرفی شد که اجازه میده تمامی خصوصیات مربوط به قطعات، کد، هنر، تصویر، موزیک یا هر لحظهٔ ارزشمندی که بشر در طول تاریخ خودش داشته رو در بستر فناوری بلاکچین تولید کنه! این موضوع یک فرق اساسی داره! اولاً شبکش بر مبنای بیتکوین هست! مهمترین، امنترین وخفنترین شبکهٔ بلاکچین.
دوم اینکه بایت به بایت خروجی محتوا رو بر روی شبکهٔ بلاکچین (به صورت رمزنگاری شده) ذخیره میشه! این موضوع هزینهها و فرآیند خودش رو داره. اما فوقالعاده ارزشمنده و قطعات جنسیس (یعنی اولین قطعات) رو هم چند هفته پیش رو نمایی کردن که به شدت هیجان انگیز هم بود.
اصطلاح جنسیس رو هم بدونید بد نیست، اولین بلوکی که در هر بلاک چین ایجاد میشه رو بلوک جنسیس میگیم که چنین خاصیتهایی رو هم داره و در دنیای NFT و Crypto معروف هستند:
۱) اولین بلوکی است که در هر بلاک چین استخراج میشود.
۲) حاوی اطلاعاتی است که منحصر به فرد آن است، مانند هش جنسیس، مهر زمانی و پاداش بلوک.
۳) به عنوان پایه و اساس برای بقیه بلاکچینها عمل میکند.
۴) نمیتوان آن را تغییر داد یا دستکاری کرد.
اولین و مهمترین بلاک جنسین مربوط به بیتکوین بود که در سال ۲۰۰۹ با عنوان هش مربوط به Block 0 ساخته شد.
این موضوع در مورد NFT هم پارسال اتفاق افتاد و اولین بلاک جنسیس هنر بر پایهٔ بیتکوین بر مبنای اوربیتال اجرا شد.
این خلاصهای از کل روند تکامل هنرهای مولد هست که توی این ۳...۴ سال یاد گرفتم و میتونم بگم بحث رمز ارز و توکنهای غیرمثلی تازه اول راهشون هست و قطعاً در آینده به یکی از مهمترین عوامل ثبت و ضبط اطلاعات و دستآوردها در تاریخ بشریت خواهد بود.
اما اخیراً الگوریتمی با نوع اوربیتال (شبکهٔ مبتنی بر بیتکوین) معرفی شد که اجازه میده تمامی خصوصیات مربوط به قطعات، کد، هنر، تصویر، موزیک یا هر لحظهٔ ارزشمندی که بشر در طول تاریخ خودش داشته رو در بستر فناوری بلاکچین تولید کنه! این موضوع یک فرق اساسی داره! اولاً شبکش بر مبنای بیتکوین هست! مهمترین، امنترین وخفنترین شبکهٔ بلاکچین.
دوم اینکه بایت به بایت خروجی محتوا رو بر روی شبکهٔ بلاکچین (به صورت رمزنگاری شده) ذخیره میشه! این موضوع هزینهها و فرآیند خودش رو داره. اما فوقالعاده ارزشمنده و قطعات جنسیس (یعنی اولین قطعات) رو هم چند هفته پیش رو نمایی کردن که به شدت هیجان انگیز هم بود.
اصطلاح جنسیس رو هم بدونید بد نیست، اولین بلوکی که در هر بلاک چین ایجاد میشه رو بلوک جنسیس میگیم که چنین خاصیتهایی رو هم داره و در دنیای NFT و Crypto معروف هستند:
۱) اولین بلوکی است که در هر بلاک چین استخراج میشود.
۲) حاوی اطلاعاتی است که منحصر به فرد آن است، مانند هش جنسیس، مهر زمانی و پاداش بلوک.
۳) به عنوان پایه و اساس برای بقیه بلاکچینها عمل میکند.
۴) نمیتوان آن را تغییر داد یا دستکاری کرد.
اولین و مهمترین بلاک جنسین مربوط به بیتکوین بود که در سال ۲۰۰۹ با عنوان هش مربوط به Block 0 ساخته شد.
این موضوع در مورد NFT هم پارسال اتفاق افتاد و اولین بلاک جنسیس هنر بر پایهٔ بیتکوین بر مبنای اوربیتال اجرا شد.
این خلاصهای از کل روند تکامل هنرهای مولد هست که توی این ۳...۴ سال یاد گرفتم و میتونم بگم بحث رمز ارز و توکنهای غیرمثلی تازه اول راهشون هست و قطعاً در آینده به یکی از مهمترین عوامل ثبت و ضبط اطلاعات و دستآوردها در تاریخ بشریت خواهد بود.
🙏1
واقعیت اینه که، جوامع NFT و کریپتو همیشه ترکیبی از افراد مختلف هستن:
بعضیا عمیقاً به مسیر باور دارن و با تمام وجود متعهدن.
بعضیا در حد توانشون کمک میکنن و نقش کوچیکی دارن.
بعضیا فقط برای تفریح و کنجکاوی همراه شدن.
بعضیا صرفاً دنبال امتیازات رایگان هستن!
بعضیا هم با نیت خرابکاری و از بین بردن انسجام اومدن.
اما این طبیعیه! دنیای واقعی هم همینه، مهم اینه که مسیر رو درست بشناسیم و جلو بریم. 🚀😎
https://warpcast.com/compez.eth/0x56843550
بعضیا عمیقاً به مسیر باور دارن و با تمام وجود متعهدن.
بعضیا در حد توانشون کمک میکنن و نقش کوچیکی دارن.
بعضیا فقط برای تفریح و کنجکاوی همراه شدن.
بعضیا صرفاً دنبال امتیازات رایگان هستن!
بعضیا هم با نیت خرابکاری و از بین بردن انسجام اومدن.
اما این طبیعیه! دنیای واقعی هم همینه، مهم اینه که مسیر رو درست بشناسیم و جلو بریم. 🚀😎
https://warpcast.com/compez.eth/0x56843550
Warpcast
C O M P Ξ Z on Warpcast
The reality is that NFT and crypto communities are always a mix of different types of people:
- Some deeply believe in the vision and are fully committed.
- Some contribute in small ways, doing what they can.
- Some are just here for the fun and curiosity.…
- Some deeply believe in the vision and are fully committed.
- Some contribute in small ways, doing what they can.
- Some are just here for the fun and curiosity.…
💯1
بخشی از هنر امروز...
- بهبود ظاهر و هماهنگی بهتر با Wasm.
- ترکیب توسعه، ++C و QML تحت Qt6.8
https://github.com/thecompez/tiobe-scraper
https://warpcast.com/compez.eth/0x7ab8ed54
نکته) شاخص TIOBE هیچ apiای نداره برای ارائه اطلاعات، کاری که من کردم تجزیه صفحههای شاخص هست.
- بهبود ظاهر و هماهنگی بهتر با Wasm.
- ترکیب توسعه، ++C و QML تحت Qt6.8
https://github.com/thecompez/tiobe-scraper
https://warpcast.com/compez.eth/0x7ab8ed54
نکته) شاخص TIOBE هیچ apiای نداره برای ارائه اطلاعات، کاری که من کردم تجزیه صفحههای شاخص هست.
👍1
خب در فصل جدید ایردراپ دیجن، یه سیستم جدید اضافه شده که در اون، اگه کسی از فریم (Frame) برای ارسال یک کست استفاده کنه و از بقیه انعام (Tip) بگیره، ما (توسعهدهندهها) ۲۰٪ معادل انعام دریافت شده توسط شخص رو دریافت میکنیم.
مثلاً: اگه شما از فریم انعامدهی من، استفاده کنید و ۱,۰۰۰ DEGEN انعام بگیرید، ۱۰۰۰ دیجن مال شماست، اما من بهعنوان توسعهدهندهٔ فریم، یه ۲۰۰ DEGEN اضافی بهعنوان پاداش هم به من خواهد داد و این روشی برای حمایت از توسعهدهندهٔ فریمی هست که شما ازش استفاده میکنید.
به نوعی یه مدل تشویقی برای توسعهدهندههای فریم هست که باعث میشه انگیزه بیشتری برای ساخت فریمهای مفید داشته باشن.
مثلاً: اگه شما از فریم انعامدهی من، استفاده کنید و ۱,۰۰۰ DEGEN انعام بگیرید، ۱۰۰۰ دیجن مال شماست، اما من بهعنوان توسعهدهندهٔ فریم، یه ۲۰۰ DEGEN اضافی بهعنوان پاداش هم به من خواهد داد و این روشی برای حمایت از توسعهدهندهٔ فریمی هست که شما ازش استفاده میکنید.
به نوعی یه مدل تشویقی برای توسعهدهندههای فریم هست که باعث میشه انگیزه بیشتری برای ساخت فریمهای مفید داشته باشن.
👍5❤1
COMPΞZ 🧬
خب در فصل جدید ایردراپ دیجن، یه سیستم جدید اضافه شده که در اون، اگه کسی از فریم (Frame) برای ارسال یک کست استفاده کنه و از بقیه انعام (Tip) بگیره، ما (توسعهدهندهها) ۲۰٪ معادل انعام دریافت شده توسط شخص رو دریافت میکنیم. مثلاً: اگه شما از فریم انعامدهی…
خیلیها معتقدن که توسعهدهندهها سود بیشتری کسب میکنن؟! شاید! اما این حقیقت نداره.
۱) نگهداری فریم یعنی نگهداری از خدمات و زیرساختهایی که خدمات رو در اون ارائه میدیم به شدت هزینهبر هست، هزینهٔ منابع، پهنای باند و در کل سرور.
۲) توسعه و بهروز رسانی به عنوان بخش مهمی از خدمات نیاز به دانش و تخصص در لحظه داره! در واقع نیروی کاری، یا خودت یا تیم.
بنابراین شخصاً با ۲.۲ میلیون درخواست روی فریمهام در طول ۳۰ روز هزینهٔ خیلی زیادی رو متحمل میشم.
هیچ چیز مفت و مجانیای قابل اجرا نیست، حتی با توجه به تحریمها، حذف شدن امتیازتت ماکسی و غیره همشون باعث شده همهٔ هزینهها رو از جیب بپردازیم تا بتونیم فقط ابزارها رو آنلاین نگه داریم.
چیزی که من هزینه میکنم چندین برابر تیپهایی هست که شما دریافت میکنید.
بعد یه سری میان میگن عهه توسعهدهندهها بیشتر از همه سود میبرن! نخیر همچین خبری نیست الکی جو ندین ملت فکر میکنن چه خبره!
۱) نگهداری فریم یعنی نگهداری از خدمات و زیرساختهایی که خدمات رو در اون ارائه میدیم به شدت هزینهبر هست، هزینهٔ منابع، پهنای باند و در کل سرور.
۲) توسعه و بهروز رسانی به عنوان بخش مهمی از خدمات نیاز به دانش و تخصص در لحظه داره! در واقع نیروی کاری، یا خودت یا تیم.
بنابراین شخصاً با ۲.۲ میلیون درخواست روی فریمهام در طول ۳۰ روز هزینهٔ خیلی زیادی رو متحمل میشم.
هیچ چیز مفت و مجانیای قابل اجرا نیست، حتی با توجه به تحریمها، حذف شدن امتیازتت ماکسی و غیره همشون باعث شده همهٔ هزینهها رو از جیب بپردازیم تا بتونیم فقط ابزارها رو آنلاین نگه داریم.
چیزی که من هزینه میکنم چندین برابر تیپهایی هست که شما دریافت میکنید.
بعد یه سری میان میگن عهه توسعهدهندهها بیشتر از همه سود میبرن! نخیر همچین خبری نیست الکی جو ندین ملت فکر میکنن چه خبره!
👍2💯1
COMPΞZ 🧬
خیلیها معتقدن که توسعهدهندهها سود بیشتری کسب میکنن؟! شاید! اما این حقیقت نداره. ۱) نگهداری فریم یعنی نگهداری از خدمات و زیرساختهایی که خدمات رو در اون ارائه میدیم به شدت هزینهبر هست، هزینهٔ منابع، پهنای باند و در کل سرور. ۲) توسعه و بهروز رسانی…
چیزی حدود ۱.۵ میلیون درخواست فقط با موقعیت USA ثبت شده، حدود ۱۷ هزار درخواست البته که بخشیش هم از VPN هست، از ایران (بدون vpn).
اما در کل پشتیبانی خدمات سختترین موضوع هست! مکانیزیمی که پیادهسازی میکنی و هر سرویسی که میدی باید ساختاری داشته باشه که بتونی دیباگ رو به راحتی انجام بدی.
در کل شما نیستید که با سختی روبرو هستید، ماهم هزینه میکنیم خیلی بیشتر از اونی که فکرشو بکنید هم هزینه میکنیم اما هیچوقت نا امید نیستیم.
اما در کل پشتیبانی خدمات سختترین موضوع هست! مکانیزیمی که پیادهسازی میکنی و هر سرویسی که میدی باید ساختاری داشته باشه که بتونی دیباگ رو به راحتی انجام بدی.
در کل شما نیستید که با سختی روبرو هستید، ماهم هزینه میکنیم خیلی بیشتر از اونی که فکرشو بکنید هم هزینه میکنیم اما هیچوقت نا امید نیستیم.
❤1🔥1👀1
COMPΞZ 🧬
حدود ۱۷ هزار
این هم بخشی از تلاشهای آدمهای بد بد بد... 😁که همیشه سعی دارن یه چیزی لای چرخ آدم بکنن.
این ماه ۱۹۶ بار بهم حمله شده اما ۲ بار یه چیز خاص دیدم خیلی سخت بود که موجب خرابی زیادی شد و به خاطر یک حملهٔ عجیب از دست رفت و برای به کار گیری بکآپهاش کلی هزینه کردم.
انقدر از این اتفاقات میافته که تو اون پشت مشتا هیچکس خبر دار نمیشه ولی همش برای ما لذتبخشه! همه چیزش هم روزهای سختش هم خوبش.
این ماه ۱۹۶ بار بهم حمله شده اما ۲ بار یه چیز خاص دیدم خیلی سخت بود که موجب خرابی زیادی شد و به خاطر یک حملهٔ عجیب از دست رفت و برای به کار گیری بکآپهاش کلی هزینه کردم.
انقدر از این اتفاقات میافته که تو اون پشت مشتا هیچکس خبر دار نمیشه ولی همش برای ما لذتبخشه! همه چیزش هم روزهای سختش هم خوبش.
❤1
COMPΞZ 🧬
🔥 بخش دوم: یادگیری زبان برنامهنویسی Solidity البته من از ۱ سال قبل شروعش کردم و این پست بازیابی شدست، ولی اینجا بهروزرسانی میدم. ## سالیدیتی چیه؟ سالیدیتی یک زبان برنامهنویسی سطح بالا، شیءگرا و کامپایلشده است که برای نوشتن قراردادهای هوشمند در…
بخش تخصصی اول (بهروزرسانی سیپلاسپلاس ۲۳)
کلمهٔ کلیدی constinit در زبان برنامهنویسی ++C به شما اجازه میدهد تا تضمین کنید متغیر موردنظر در زمان کامپایل مقداردهی شود، نه در زمان اجرا. این ویژگی میتواند کارایی برنامه را بهبود ببخشد، زیرا از مقداردهی پویا در زمان اجرا جلوگیری میکند.
در این مثال، استفاده از کلمهٔ کلیدی
### تفاوت
ممکن است این سؤال پیش بیاید که تفاوت کلمهٔ کلیدی
- کلمهٔ کلیدی
- کلمهٔ کلیدی
#چالش #سیروزه #رمضان #روز_دوم #cpp23 #update
کلمهٔ کلیدی constinit در زبان برنامهنویسی ++C به شما اجازه میدهد تا تضمین کنید متغیر موردنظر در زمان کامپایل مقداردهی شود، نه در زمان اجرا. این ویژگی میتواند کارایی برنامه را بهبود ببخشد، زیرا از مقداردهی پویا در زمان اجرا جلوگیری میکند.
import std;
constinit int temperature = 20;
auto main() -> int
{
std::println("Current temperature: {:+3d} degrees Celsius.", temperature);
}
در این مثال، استفاده از کلمهٔ کلیدی
constinit تضمین میکند که مقدار temperature در زمان کامپایل مقداردهی میشود، بنابراین هزینهٔ مقداردهی پویا در زمان اجرا حذف خواهد شد. این قابلیت برای متغیرهایی که مقدارشان در زمان کامپایل مشخص است و نیازی به مقداردهی پویا ندارند، بسیار مفید است. ### تفاوت
constinit با constexpr ممکن است این سؤال پیش بیاید که تفاوت کلمهٔ کلیدی
constinit با کلمهٔ کلیدی constexpr چیست؟ این دو در ++C برای تعریف متغیرهای ثابت استفاده میشوند، اما تفاوتهایی دارند: - کلمهٔ کلیدی
constinit بهطور خاص برای تضمین مقداردهی در زمان کامپایل و جلوگیری از مقداردهی پویا در زمان اجرا استفاده میشود. - کلمهٔ کلیدی
constexpr علاوه بر این قابلیت، اجازه انجام محاسبات در زمان کامپایل را نیز دارد. متغیرهای constexpr باید مقدارشان در زمان کامپایل قابل محاسبه و قطعی باشد، اما میتوانند شامل عملیاتهای ساده محاسباتی در زمان کامپایل باشند. #چالش #سیروزه #رمضان #روز_دوم #cpp23 #update
👍1
COMPΞZ 🧬
بخش تخصصی اول (بهروزرسانی سیپلاسپلاس ۲۳) کلمهٔ کلیدی constinit در زبان برنامهنویسی ++C به شما اجازه میدهد تا تضمین کنید متغیر موردنظر در زمان کامپایل مقداردهی شود، نه در زمان اجرا. این ویژگی میتواند کارایی برنامه را بهبود ببخشد، زیرا از مقداردهی…
### بخش تخصصی دوم (بهروزرسانی Solidity) – انواع دادهها
زبان Solidity نیز مانند ++C یک زبان با انواع ایستا است، به این معنا که نوع هر متغیر (حالت و محلی) باید مشخص شود. Solidity چندین نوع ابتدایی را ارائه میدهد که میتوان آنها را برای ایجاد انواع پیچیده ترکیب کرد. علاوه بر این، انواع دادهها میتوانند در عباراتی که شامل عملگر هستند با یکدیگر تعامل داشته باشند. مفهوم مقادیر "تعریف نشده" یا "null" در Solidity وجود ندارد، اما متغیرهای تازه اعلام شده همیشه دارای مقدار پیشفرض هستند که به نوع آنها بستگی دارد.
### کلمهٔ کلیدی انواع پایه در Solidity:
- کلمهٔ کلیدی
- کلمهٔ کلیدی
- کلمهٔ کلیدی
- کلمهٔ کلیدی
- کلمهٔ کلیدی
- کلمهٔ کلیدی
### کلمهٔ کلیدی انواع پیچیدهتر در Solidity:
- کلمهٔ کلیدی
- کلمهٔ کلیدی
- کلمهٔ کلیدی
- کلمهٔ کلیدی
### کلمهٔ کلیدی
یکی از ویژگیهای جذاب Solidity که آن را به زبانی تخصصی و متمرکز تبدیل میکند، طراحی اختصاصی آن برای قراردادهای هوشمند است. برخلاف ++C که یک زبان همهمنظوره محسوب میشود، Solidity بهطور خاص برای کار با بلاکچین اتریوم توسعه یافته است.
بهعنوان نمونه، کلمهٔ کلیدی
- کلمهٔ کلیدی
- کلمهٔ کلیدی
#### تفاوت
اگر بخواهید اتر (ETH) به یک آدرس ارسال کنید، حتماً باید از
از نسخه ۰.۵.۰ در Solidity، قراردادها بهطور ضمنی به
### مثالی از خواندن موجودی یک آدرس اتریوم
کلمهٔ کلیدی
### کاربردهای `address` در Solidity:
✅ ارسال اتر به یک حساب کاربری یا قرارداد هوشمند
✅ فراخوانی توابع یک قرارداد هوشمند
✅ ذخیره آدرسها در متغیرها
✅ مقایسه آدرسها
### چرا Solidity را دوست دارم؟
برخلاف ++C که یک زبان چندمنظوره است، Solidity بهطور خاص برای قراردادهای هوشمند روی اتریوم طراحی شده است. این یعنی شما نیازی به پیادهسازی پایهای انواع دادهها مثل
در حالی که در ++C باید همه چیز را دستی پیادهسازی کنید، Solidity ابزارهای موردنیاز برای توسعه قراردادهای هوشمند را از پیش آماده کرده است. این ویژگی باعث میشود که خواندن و نوشتن قراردادهای هوشمند بسیار سادهتر باشد!
به همین دلیل، هر زبان برنامهنویسی برای هدف خودش ابزار مناسبی است!
#solidity #web3 #update #چالش #سیروزه #رمضان
زبان Solidity نیز مانند ++C یک زبان با انواع ایستا است، به این معنا که نوع هر متغیر (حالت و محلی) باید مشخص شود. Solidity چندین نوع ابتدایی را ارائه میدهد که میتوان آنها را برای ایجاد انواع پیچیده ترکیب کرد. علاوه بر این، انواع دادهها میتوانند در عباراتی که شامل عملگر هستند با یکدیگر تعامل داشته باشند. مفهوم مقادیر "تعریف نشده" یا "null" در Solidity وجود ندارد، اما متغیرهای تازه اعلام شده همیشه دارای مقدار پیشفرض هستند که به نوع آنها بستگی دارد.
### کلمهٔ کلیدی انواع پایه در Solidity:
- کلمهٔ کلیدی
uint – اعداد صحیح بدون علامت (مثبت) - کلمهٔ کلیدی
int – اعداد صحیح با علامت (مثبت و منفی) - کلمهٔ کلیدی
bool – مقادیر درست یا غلط - کلمهٔ کلیدی
address – آدرسهای قراردادهای هوشمند - کلمهٔ کلیدی
bytes – رشتههای بایت - کلمهٔ کلیدی
string – رشتههای متنی ### کلمهٔ کلیدی انواع پیچیدهتر در Solidity:
- کلمهٔ کلیدی
array – آرایههایی از مقادیر همنوع - کلمهٔ کلیدی
struct – ساختارهایی برای دستهبندی دادههای مرتبط - کلمهٔ کلیدی
enum – نوعی داده برای مقادیر محدود و از پیش تعریفشده - کلمهٔ کلیدی
mapping – نگاشتهایی برای ذخیرهسازی دادهها بهصورت کلید-مقدار ### کلمهٔ کلیدی
address در Solidity یکی از ویژگیهای جذاب Solidity که آن را به زبانی تخصصی و متمرکز تبدیل میکند، طراحی اختصاصی آن برای قراردادهای هوشمند است. برخلاف ++C که یک زبان همهمنظوره محسوب میشود، Solidity بهطور خاص برای کار با بلاکچین اتریوم توسعه یافته است.
بهعنوان نمونه، کلمهٔ کلیدی
address در Solidity دو حالت مختلف دارد: - کلمهٔ کلیدی
address – نوعی داده که یک مقدار ۲۰ بایتی را نگه میدارد (معادل یک آدرس اتریوم). - کلمهٔ کلیدی
address payable – مشابه address است، اما دارای توابع `transfer` و `send` برای ارسال اتر (ETH) نیز میباشد. #### تفاوت
address و address payable اگر بخواهید اتر (ETH) به یک آدرس ارسال کنید، حتماً باید از
address payable استفاده کنید. دلیل این موضوع این است که برخی قراردادهای هوشمند ممکن است برای دریافت اتر طراحی نشده باشند. // یک آدرس عادی
address myAddress = address(0x123...);
// یک آدرس قابل پرداخت
address payable x = payable(0x123...);
از نسخه ۰.۵.۰ در Solidity، قراردادها بهطور ضمنی به
address تبدیل نمیشوند، اما همچنان میتوان آنها را بهصورت صریح به address یا address payable تبدیل کرد، به شرطی که یک تابع `fallback` از نوع `receive` یا `payable` داشته باشند. ### مثالی از خواندن موجودی یک آدرس اتریوم
pragma solidity ^0.8.0;
contract AddressBalance {
// دریافت موجودی یک آدرس (بر حسب Wei)
function getAddressBalance(address addr) public view returns (uint) {
return addr.balance;
}
}
کلمهٔ کلیدی
address در Solidity بهعنوان نوعی داده ۲۰ بایتی (۱۶۰ بیت) استفاده میشود که میتواند آدرس یک حساب کاربری یا قرارداد هوشمند را در شبکه اتریوم نگه دارد. ### کاربردهای `address` در Solidity:
✅ ارسال اتر به یک حساب کاربری یا قرارداد هوشمند
✅ فراخوانی توابع یک قرارداد هوشمند
✅ ذخیره آدرسها در متغیرها
✅ مقایسه آدرسها
### چرا Solidity را دوست دارم؟
برخلاف ++C که یک زبان چندمنظوره است، Solidity بهطور خاص برای قراردادهای هوشمند روی اتریوم طراحی شده است. این یعنی شما نیازی به پیادهسازی پایهای انواع دادهها مثل
address ندارید، چون زبان از ابتدا برای همین منظور طراحی شده است! در حالی که در ++C باید همه چیز را دستی پیادهسازی کنید، Solidity ابزارهای موردنیاز برای توسعه قراردادهای هوشمند را از پیش آماده کرده است. این ویژگی باعث میشود که خواندن و نوشتن قراردادهای هوشمند بسیار سادهتر باشد!
به همین دلیل، هر زبان برنامهنویسی برای هدف خودش ابزار مناسبی است!
#solidity #web3 #update #چالش #سیروزه #رمضان
❤2👍1
همونطور که گفتم این موارد رو از آرشیو سال قبل دارم در میارم! اما کمی هم روشون تغییرات میدم با توجه به بهروز رسانیهای اخیر.
هر روز یک مثال از سی++ مدرن و سالیدیتی؛ تا آخر ماه باهم یه یه قرارداد رو میخونیم! قراردادی که برای دیجن نوشتم رو براتون توضیح خواهم داد.
برای خوندن قرارداد نیازی نیست مهندس کامپیوتر باشی! اگه هستی که چه بهتر! اگه نیستی فقط در بالاترین سطوح ممکن کلمات کلیدی رو باید درک کنی. سالیدیتی زبان سطح بالاست که نزدیک به انگلیسیه پس درکش هم نباید سخت باشه.
مثلاً، وقتی بین کدها یه چیزی مثل address payable میبینی، این قطعاً داره اشاره میکنه به آدرسی که شما میتونید انتظار ترنسفر یا ارسال روی یک آدرس رو داشته باشید.
یعنی آدرسی که قابلیت پرداخت روش هست!
زیاد نباید پیچیده نگاهش کنید، من انتظار ندارم بشینید قرارداد بنویسید. فعلاً فقط هدفمون خوندن قرارداد هست همین.
#موقت
هر روز یک مثال از سی++ مدرن و سالیدیتی؛ تا آخر ماه باهم یه یه قرارداد رو میخونیم! قراردادی که برای دیجن نوشتم رو براتون توضیح خواهم داد.
برای خوندن قرارداد نیازی نیست مهندس کامپیوتر باشی! اگه هستی که چه بهتر! اگه نیستی فقط در بالاترین سطوح ممکن کلمات کلیدی رو باید درک کنی. سالیدیتی زبان سطح بالاست که نزدیک به انگلیسیه پس درکش هم نباید سخت باشه.
مثلاً، وقتی بین کدها یه چیزی مثل address payable میبینی، این قطعاً داره اشاره میکنه به آدرسی که شما میتونید انتظار ترنسفر یا ارسال روی یک آدرس رو داشته باشید.
یعنی آدرسی که قابلیت پرداخت روش هست!
زیاد نباید پیچیده نگاهش کنید، من انتظار ندارم بشینید قرارداد بنویسید. فعلاً فقط هدفمون خوندن قرارداد هست همین.
#موقت
👍1🙏1
COMPΞZ 🧬
اگه بخوام همچین چیزی بسازم برای فارکستر، عین آب خوردنه واسم! اما هر بار درخواستش معادل ۱ دلار روی apiهای AI آب میخوره! چالش... چطور میشه هزینهٔ توکنسوزی رو به حداقل رسوند... 🤔
خب یکم توکن رو تحلیل کنیم ببینیم چطور پردازش میشه. این نتیجهٔ خروجی و تعدد توکن و کاراکتری هست که بر مبنای ChatGPT برای تحلیل حساب من روی توئیتر میشه به دست آورد.
پس...
پس...
🔥1
COMPΞZ 🧬
خب یکم توکن رو تحلیل کنیم ببینیم چطور پردازش میشه. این نتیجهٔ خروجی و تعدد توکن و کاراکتری هست که بر مبنای ChatGPT برای تحلیل حساب من روی توئیتر میشه به دست آورد. پس...
نکته) تحلیلی که گروک انجام داده بر مبنای ۶۸ پست اخیر از من هست.
فرض کنیم من بخشی از هزینههای تحلیل رو روی سرور مرکزی خودم پردازش کنم، ۱۰۰ کست آخر رو بگیرم و تحلیلش کنم.
خب این ۱۰۰ کست روی حسابهای مختلف میتونه به پاراگرافهایی کوتاه یا بلند تبدیل بشه و در نهایت بر تعداد توکنها تقسیم و سوزونده بشه تا به یک نتیجهٔ نهایی برسیم. با توجه به اینکه روی پست قبلی متوجه شدیم چقدر توکن میسوزونه یعنی ۱۴۲ توکن با ۵۹۳ کاراکتر از نوه خروجی! خب این رو ضریب بدیم به هزاران کاربر! 🤔
🔹 توکن در متن یعنی چه؟
یک توکن میتواند شامل موارد زیر باشد:
یک کلمه کامل (مثلاً "سلام")
یک بخش از یک کلمه (مثلاً در کلمات طولانیتر، ممکن است به چند توکن شکسته شوند)
یک علامت نگارشی (مثل "؟" یا "،")
یک فاصله یا کاراکتر خاص
🔹 مثالهای تعداد توکن در یک متن
✅ متن: "سلام، حال شما چطور است؟"
✅ تقسیمبندی به توکنها: ["سلام"، "،"، "حال"، "شما"، "چطور"، "است", "؟"]
✅ تعداد توکنها: ۷
💡 نکته: تعداد توکنها همیشه برابر با تعداد کلمات نیست، زیرا برخی از کلمات ممکن است به چند توکن شکسته شوند.
🔹 چرا توکنها مهم هستند؟
هزینه پردازشی: مدلهای زبانی معمولاً با تعداد توکنها شارژ میشوند. هرچه متن طولانیتر باشد، هزینه پردازش بالاتر میرود.
محدودیت تعداد توکن: هر مدل زبانی یک حداکثر ظرفیت برای تعداد توکن دارد.
تأثیر در کیفیت متن: نحوه شکسته شدن متن به توکنها روی دقت و سرعت پردازش مدل تأثیر میگذارد.
حالا هزینهها رو محاسبه کنیم:
قیمت برای هر ۱ میلیون توکن برای متن ورودی ۲ دلار هست.
قیمت برای هر ۱ میلیون توکن برای متن خروجی ۱۰ دلار هست.
حالا باید فکر کنم! چقدر میشه کاربر رو پوشش داد و چه میزان درخواست و با چه مقدار هزینه!
خب قطعاً استفاده از چنین فریمی باید پولی باشه در این شکی نیست، اما چقدر برای هر درخواست یا کاربر باید تحلیل کنم! 👀 فکرینگ....
فرض کنیم من بخشی از هزینههای تحلیل رو روی سرور مرکزی خودم پردازش کنم، ۱۰۰ کست آخر رو بگیرم و تحلیلش کنم.
خب این ۱۰۰ کست روی حسابهای مختلف میتونه به پاراگرافهایی کوتاه یا بلند تبدیل بشه و در نهایت بر تعداد توکنها تقسیم و سوزونده بشه تا به یک نتیجهٔ نهایی برسیم. با توجه به اینکه روی پست قبلی متوجه شدیم چقدر توکن میسوزونه یعنی ۱۴۲ توکن با ۵۹۳ کاراکتر از نوه خروجی! خب این رو ضریب بدیم به هزاران کاربر! 🤔
🔹 توکن در متن یعنی چه؟
یک توکن میتواند شامل موارد زیر باشد:
یک کلمه کامل (مثلاً "سلام")
یک بخش از یک کلمه (مثلاً در کلمات طولانیتر، ممکن است به چند توکن شکسته شوند)
یک علامت نگارشی (مثل "؟" یا "،")
یک فاصله یا کاراکتر خاص
🔹 مثالهای تعداد توکن در یک متن
✅ متن: "سلام، حال شما چطور است؟"
✅ تقسیمبندی به توکنها: ["سلام"، "،"، "حال"، "شما"، "چطور"، "است", "؟"]
✅ تعداد توکنها: ۷
💡 نکته: تعداد توکنها همیشه برابر با تعداد کلمات نیست، زیرا برخی از کلمات ممکن است به چند توکن شکسته شوند.
🔹 چرا توکنها مهم هستند؟
هزینه پردازشی: مدلهای زبانی معمولاً با تعداد توکنها شارژ میشوند. هرچه متن طولانیتر باشد، هزینه پردازش بالاتر میرود.
محدودیت تعداد توکن: هر مدل زبانی یک حداکثر ظرفیت برای تعداد توکن دارد.
تأثیر در کیفیت متن: نحوه شکسته شدن متن به توکنها روی دقت و سرعت پردازش مدل تأثیر میگذارد.
حالا هزینهها رو محاسبه کنیم:
قیمت برای هر ۱ میلیون توکن برای متن ورودی ۲ دلار هست.
قیمت برای هر ۱ میلیون توکن برای متن خروجی ۱۰ دلار هست.
حالا باید فکر کنم! چقدر میشه کاربر رو پوشش داد و چه میزان درخواست و با چه مقدار هزینه!
خب قطعاً استفاده از چنین فریمی باید پولی باشه در این شکی نیست، اما چقدر برای هر درخواست یا کاربر باید تحلیل کنم! 👀 فکرینگ....
👍2
COMPΞZ 🧬
نکته) تحلیلی که گروک انجام داده بر مبنای ۶۸ پست اخیر از من هست. فرض کنیم من بخشی از هزینههای تحلیل رو روی سرور مرکزی خودم پردازش کنم، ۱۰۰ کست آخر رو بگیرم و تحلیلش کنم. خب این ۱۰۰ کست روی حسابهای مختلف میتونه به پاراگرافهایی کوتاه یا بلند تبدیل بشه و…
برای محاسبه تعداد توکنهایی که در روز مصرف میکنی، باید چند فاکتور را در نظر بگیری:
تعداد درخواستها در روز = ۱۰۰۰
تعداد کاراکترها در هر درخواست = ۱۰۰۰
میانگین نسبت توکن به کاراکتر = تقریباً ۱ توکن به ازای هر ۴ کاراکتر در زبان فارسی و انگلیسی (بسته به متن)
مرحله ۱: تبدیل کاراکتر به توکن
✅ اگر هر درخواست ۱۰۰۰ کاراکتر باشد، تعداد تقریبی توکنها:
1000÷4=250 توکن
(این مقدار تقریبی است و ممکن است بین ۲۰۰ تا ۳۰۰ توکن باشد)
مرحله ۲: محاسبه تعداد کل توکنهای روزانه
✅ توکن مصرفی در روز:
250×1000=250,000 توکن
مرحله ۳: هزینه و محدودیتها
بسته به اینکه از چه پلنی استفاده میکنی، باید بررسی کنی که آیا این مقدار توکن در محدودیت پلن شما قرار دارد یا نیاز به ارتقا داری. برای مثال، اگر محدودیت ماهانه ۱۰ میلیون توکن باشد، این مقدار روزانه حدود ۲.۵٪ از کل سهمیه ماهانه را مصرف میکند.
نتیجه: اگر روزانه ۱۰۰۰ درخواست با ۱۰۰۰ کاراکتر بفرستی، بهطور میانگین حدود ۲۵۰,۰۰۰ توکن در روز مصرف خواهی کرد.
هزینههامون میشه بر مبنای هزار درخواست و پاسخی که ارائه میشه، حدود ۳۰۰ دلار در ماه. 👀
تعداد درخواستها در روز = ۱۰۰۰
تعداد کاراکترها در هر درخواست = ۱۰۰۰
میانگین نسبت توکن به کاراکتر = تقریباً ۱ توکن به ازای هر ۴ کاراکتر در زبان فارسی و انگلیسی (بسته به متن)
مرحله ۱: تبدیل کاراکتر به توکن
✅ اگر هر درخواست ۱۰۰۰ کاراکتر باشد، تعداد تقریبی توکنها:
1000÷4=250 توکن
(این مقدار تقریبی است و ممکن است بین ۲۰۰ تا ۳۰۰ توکن باشد)
مرحله ۲: محاسبه تعداد کل توکنهای روزانه
✅ توکن مصرفی در روز:
250×1000=250,000 توکن
مرحله ۳: هزینه و محدودیتها
بسته به اینکه از چه پلنی استفاده میکنی، باید بررسی کنی که آیا این مقدار توکن در محدودیت پلن شما قرار دارد یا نیاز به ارتقا داری. برای مثال، اگر محدودیت ماهانه ۱۰ میلیون توکن باشد، این مقدار روزانه حدود ۲.۵٪ از کل سهمیه ماهانه را مصرف میکند.
نتیجه: اگر روزانه ۱۰۰۰ درخواست با ۱۰۰۰ کاراکتر بفرستی، بهطور میانگین حدود ۲۵۰,۰۰۰ توکن در روز مصرف خواهی کرد.
هزینههامون میشه بر مبنای هزار درخواست و پاسخی که ارائه میشه، حدود ۳۰۰ دلار در ماه. 👀
👍2🤯2