COMPΞZ 🧬
397 subscribers
1.88K photos
52 videos
24 files
744 links
متخصص کامپیوتر و نرم‌افزار • سازنده • هنرمند و طراح • مجموعه‌دار • نویسنده • تحلیل‌گر • مشاور استارتاپی و ایده‌پرداز

𐎲𐎴𐎠𐎼𐎴𐎫𐎹 𐏃𐎢𐎶𐎠𐎫𐎹

We create because the world deserves better code.

https://linktr.ee/compez
Download Telegram
امسال چه غریب است…

کربلایی‌هایی که دیگر در میان ما نیستند؛ آنان که در زندان‌ها، در میدان‌ها، در کوچه‌ها و خیابان‌ها جان باختند و نامشان در حافظه این سرزمین باقی ماند.

و من می‌خواهم به مصاف تزویر بروم؛ همان آفتی که هرگاه بر دین چیره شود، حقیقت را قربانی قدرت می‌کند.

تزویر با لباس دیانت و تقوا به میدان می‌آید؛ سکه‌ای دو رو که بر یک سویش نام خدا نقش بسته و بر سوی دیگرش چهره ابلیس. عوام، نام خدا را می‌بینند و اهل بصیرت، ردّ پای ابلیس را.

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

«یا أیها الذین آمنوا، آمنوا…»

تزویر نخست به تو امان می‌دهد تا مقاومتت را در هم بشکند؛ با وعده امنیت، با دعوت به سکوت، با ترس و تطمیع. اما چون بر تو چیره شد، دیگر به امانش وفادار نمی‌ماند و آن‌گاه گردن حقیقت را خواهد شکست.

در این روزهای عاشورا، یاد همه آن جاوید نامان را گرامی می‌داریم که در برابر ظلم ایستادند، هزینه دادند و رفتند؛ بی‌آنکه نامشان از دفتر تاریخ و وجدان مردم پاک شود.

کربلا یک واقعه نبود؛ معیاری بود برای تشخیص حق از باطل، و این معیار هنوز زنده است.
😄😌 تا حدی درسته ولی از وقتی متوجه شدم پای فارمرا به گیت‌هاب باز شده دیگه مطمئن نیستم اینطور باشه چون باید معیار کیفیت یک حساب اگه تا دیروز کیفیت محتواش بود، از این به بعد باید کیفیت کد‌هاش باشه.

این معیار رو اگه بسنجی بله! درسته. 👌
چی شده باز این SuperRare چهارتا کار از چند تا ایرانی خریده باز فکر کردین خبریه حمله‌ور شدین به اینکه چطور توش به عنوان آرتیست عضو شید یا سپرده بشید؟ چرا شماها وقتی سودی منفعتی توی یه چیزی هست میایین منو پیدا می‌کنید؟ کلاً عادت کردین هرجا نفعی براتون داشته باشم پیام بدین نه؟! رفت اون دوران سواری کم ندادم من به شماها. 👋🏼

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

نوش جونش! چه ۱ دلار چه هزاران دلار.
اینایی که ازشونم مینت کردن رو من می‌شناسم! هم کارشون خوبه هم بی‌حاشین! 😉 هنرمندن نه فارمر. قبلاً کلی پست‌های آموزشی دادم چطور باید یه آرتیست بشید دیگه واقعاً احمقانست توضیح دادن این چیز‌ها.
مد شده تو این وضعیت شخمی توهم فروش‌های لینکدینی می‌گن کم شکایت کنید، کار کنید بی سرو صدا فقط مثل خر کار کنید نتیجه می‌گیرید!

خب پس بهتر نیست به جای گفتن: هرکی مثل خر کار کنه موفقه
یه کلمه بگیم خر باشید و سلام!؟ 😒 عجب مثال‌های انگیزشی‌ای! عجب تولید محتوایی.
This media is not supported in your browser
VIEW IN TELEGRAM
بعضی‌ها می‌گن ساختن کنترل‌های جذاب توی QML سخته! آره سخته ومثل وب ساده نیستن! اما ساختن همچین کنترلی توی QML واقعاً ارزشمنده چون هزینهٔ مدیرتی لایه بندی و DOM رو نداره و در عوض راندمانش بسیار بالاست؛ الان با ShaderEffect می‌شه کل UI رو مستقیم برد روی GPU و همه چیز رو مستقیم رندر کرد! در پایین‌ترین سطح ممکن از سخت‌افزار :)

بد نیست یه کیت توسعهٔ UI اختصاصی بسازم که دیگه توی هر محصول نشینم دوباره کامپوننت طراحی کنم.

این کنترل عملاً از صفر تا صدش با ریاضی و شیدر ساخته شده.

فرآیند تولیدش اینطوریه:

۱) با فناوری QML می‌گیم: «یه دکمه لازم دارم»
۲) با کیوت می‌گم اون رو تبدیل می‌کنه به یک شیء گرافیکی در Scene Graph
۳) موتور رندر (Qt RHI) براش یک سطح ساده (Quad) آماده می‌کنه
۴) داده‌ها و وضعیت‌ها (مثل روشن/خاموش و انیمیشن) به شیدر ارسال می‌شن
۵) پردازندهٔ گرافیکی یعنی GPU برای هر پیکسل اجرا می‌شه و با تکنیک SDF شکل رو محاسبه می‌کنه
۶) و نتیجه‌ٔ نهایی به صورت یک تصویر یکپارچه روی صفحه رندر می‌شه

منظور از SDF مخفف Signed Distance Field است و یکی از مهم‌ترین تکنیک‌ها در گرافیک مدرن و شیدرهاست.

کسانی که سطح پایین با هنرِ گرافیکی کار می‌کنن قطعاً می‌دونن چیه.
COMPΞZ 🧬
بعضی‌ها می‌گن ساختن کنترل‌های جذاب توی QML سخته! آره سخته ومثل وب ساده نیستن! اما ساختن همچین کنترلی توی QML واقعاً ارزشمنده چون هزینهٔ مدیرتی لایه بندی و DOM رو نداره و در عوض راندمانش بسیار بالاست؛ الان با ShaderEffect می‌شه کل UI رو مستقیم برد روی GPU و…
فرق این با بقیه زبان‌ها و فناوری‌ها اینه که به جای اینکه هی بره از لایه‌های سنگین و پیچیده نرم‌افزاری رد بشه، مستقیم به خودِ سخت‌افزار نزدیکه، مخصوصاً GPU. برای همین حتی روی سخت‌افزارهای خیلی ساده و کم‌مصرف ARM هم خیلی روان و سبک اجرا می‌شه.

احتمالاً آینده‌ٔ نرم‌افزارها هم می‌ره به همین سمت؛ رابط کاربری دیگه یه سری المان تو در تو و پیچیده مثل الان نیست، بلکه نتیجه‌ٔ مستقیم یه سری محاسبه روی پیکسل‌هاست. برای همین هم کم‌کم نیاز به ابزارها و کیت‌های توسعه UI/UX سطح پایین و نزدیک به سخت‌افزار بیشتر می‌شه، چیزی که الان هنوز خیلی جا نیفتاده.

مزیت QML نسبت به فناوری‌های وب (مثل React، Vue، حتی UIهای مبتنی بر DOM) بیشتر در مدل رندر و نزدیکی به GPU + C++ runtime هست و نه صرفاً سینتکس یا راحتی توسعه.

در QML ما این مراحل رو در مدل‌سازی داریم:

UI → Scene Graph → GPU (OpenGL/Metal/Vulkan)

و در وب این مراحل

DOM → CSS → Layout → Paint → Composite → GPU

و به خاطر همین  Qt Quick Scene Graph سریع‌تر از DOM است چون کار کمتری در CPU انجام می‌دهد، ساختار ساده‌تر دارد، و بیشتر کار را مستقیم به GPU می‌سپارد.

در نتیجه، Qt Quick معمولاً در UIهای سنگین گرافیکی:

- تعداد مراحل CPU کمتر دارد
- مدل رندر اختصاصی‌تر مبتنی بر سطح پایین دارد
- برای animation و scene-based UI بهینه‌تر است
COMPΞZ 🧬
بعضی‌ها می‌گن ساختن کنترل‌های جذاب توی QML سخته! آره سخته ومثل وب ساده نیستن! اما ساختن همچین کنترلی توی QML واقعاً ارزشمنده چون هزینهٔ مدیرتی لایه بندی و DOM رو نداره و در عوض راندمانش بسیار بالاست؛ الان با ShaderEffect می‌شه کل UI رو مستقیم برد روی GPU و…
سوألی شاید پیش بیاد که طراحی‌های گذشته در QML رو آیا با همین روش محاسباتی انجام دادم؟
پاسخ؟ خیر!

روش طراحی کار با Qt Quick ساده‌تره و در بالاترین لایه‌های ممکن اجرا میشه هرچند به نوعی خروجی نهاییش به کد ++C ترجمه و بعد کامپایل میشه! برای همین سرعتش واقعاً سریعه.

اما یه مرحله خفن‌تر از اون هم داریم که بهش می‌گیم طراحی با Fragment Shader.

اینجا دیگه ما با دکمه و یه سری شیء سرو کار نداریم و با چیزهای آمادهٔ از قبل تعریف شده کار نمی‌کنیم؛ بلکه کل UI تبدیل میشه به یک محاسبه‌ٔ تصویری روی GPU.

یعنی چی؟
یعنی به جای اینکه بگیم:
«این یه دکمه است، اینم رنگشه، اینم گوشه‌هاش»
می‌گیم: برای هر پیکسل تصمیم می‌گیری این نقطه داخل کدوم جهان هندسیه، چقدر از مرزها فاصله داره، و چطور باید با میدان‌های دیگه قاطی بشه تا در نهایت خودش تصویر رو بسازه.

این روش به شدت سخته و در واقع برنامه‌نویسی سطح پایین به حساب میاد؛ بیشتر برنامه‌نویسان سیستمی گرافیکی، مثلاً طراحان مایکروسافت، گوگل، اپل ازش تبعیت می‌کنن! مثل هیمن طراحی UI گوشی‌های آیفون یا iOS جدید یا مک جدید که با طرح شیشه‌ای معروفه.

همهٔ اینا در سطح پایین طراحی می‌شن و مهندسی به شدت پیچیده‌ای دارن.
اما نتیجش اگه دقت کنید بسیار روان و واقعی‌گرایانست.
COMPΞZ 🧬
سوألی شاید پیش بیاد که طراحی‌های گذشته در QML رو آیا با همین روش محاسباتی انجام دادم؟ پاسخ؟ خیر! روش طراحی کار با Qt Quick ساده‌تره و در بالاترین لایه‌های ممکن اجرا میشه هرچند به نوعی خروجی نهاییش به کد ++C ترجمه و بعد کامپایل میشه! برای همین سرعتش واقعاً…
یعنی بخوام خلاصهٔ مراحل طراحی و کار با گرافیک رو بکنم اینطوریه:

سطوح طراحی گرافیک/UI مثل وب (HTML/CSS/React)
تو فقط ساختار و رفتار رو تعریف می‌کنی، بقیه رو مرورگر رندر می‌کنه.
ساده ولی کنترل محدود.

فریم‌ورک‌های UI مثل Qt Quick / QML
اشیاء UI داری و سیستم خودش رندر رو مدیریت می‌کنه.
سریع‌تر، با کنترل متوسط.

روش Scene Graph / GPU Acceleration

سمت UI تبدیل به گراف رندر میشه.
یعنی توسط GPU batching و compositing انجام میشه.
کنترل و سرعت بسیار بالاتر هست.

و روش Shader-based UI

همه چیز محاسبهٔ پیکسلیه.
طراحی UI = تابع ریاضی روی پیکسل‌ها.
کنترل کامل، realism بالا، پیچیدگی زیاد.

بخش خفن‌تر مثل کار با رابط‌های برنامه‌نویسی گرافیکی با سطح پایین (Vulkan / Metal / DX12)

دیگه UI نداری، فقط دستور مستقیم به GPU (مغز پردازشگر گرافیکی) میدی.
حداکثر کنترل، حداکثر پیچیدگی.
در سطح GPU Pipeline (Hardware Level)

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

از نظر فنی مهندسی اینطوری میشه که، هرچی پایین‌تر می‌ری، نزدیک به زبان ماشین، کار با اشیاء گرافیکی کمتر «تعریف میشه» و بیشتر «محاسبه میشه» یعنی مغز ریاضیات و برنامه‌نویسی ریاضی و قوانین فیزیک.
سرگرمی خوبی می‌شه این…
COMPΞZ 🧬
۱) باز بینی مراحل توسعهٔ بازی WARRIORS در فارکستر
👆🏼👆🏼👆🏼

این اولین بازی مبتنی بر بلاک‌چین بر مبنای ادغام با توکن جنی هست!
چیزی که تمام اساسش بر مبنای سیستم جنی و پروفایل‌های فارکستر کار می‌کنه (البته فعلاً).

از نظر عملکرد و هماهنگی با قرارداد توکن بسیار تمیز پیاده‌سازی شد.

به خاطر جنگ و فلان عقب افتاده بود نمی‌تونستم منطق قراردادشو ادامه بدم که اونم حل شد.
به زودی اجرایی می‌شه و در موردش توضیح میدم که چطوری کار می‌کنه.
حالتِ دانینگ-کروگر می‌دونی یعنی چی؟
یعنی وقتی:

یه تیم ۱۲ سال از عمرش رو گذاشته، نزدیک ۲ میلیارد دلار هزینه کرده، هزاران متخصص شب و روز کار کردن تا یه بازی منتشر بشه.

بعد یه ایرانی خود خفن پندار که همیشه که آخرین دستاورد فنی زندگیش عوض کردن عکس پروفایل تلگرام بوده، میاد با قیافه میگه:

«از گرافیکش خوشم نیومد! بده»
!

تو آخه چه می‌فهمی موتور بازی چیه، آرتیست بازی چیه! برو تو کوچتون همون گِل بازیتو کن تورو چه به نظر دادن تو کارهای طراحی برنامه‌نویسی.
جامعه‌ها معمولاً بر اساس «درک» تقسیم نمی‌شوند، بلکه بر اساس نحوه پردازش و واکنش به واقعیت تحت فشار شکل می‌گیرند.

یک گروه واقعیت را می‌بیند اما به‌خاطر هزینه‌های اجتماعی، ترس یا ناتوانی در اثرگذاری، واکنش را سرکوب می‌کند.

گروه دیگر همان واقعیت را از طریق فیلترهای ساده‌ساز (رسانه، باورهای آماده، یا عادت ذهنی) دریافت می‌کند و آن را یا طبیعی تلقی می‌کند یا اصلاً مسأله نمی‌بیند.

در واقع، مسأله این نیست که همه یک چیز را نمی‌بینند؛ بلکه مسأله این است که دیدن، برای همه به یک معنی واحد تبدیل نمی‌شود!

چون هر ذهن مجبور است واقعیت را در قالبی بازسازی کند که با بقا و فشار اجتماعی‌اش سازگار باشد.
یه زمانی بود همه چیز در انحصار سونی دیده می‌شد! همون چیزی که در دوران PS1 و مخصوصاً PS2 به اوج رسیده بود! اگه کسی گیمیر باشه و به خصوص هم سن و سال من قشنگ می‌دونه چی می‌گم.

اون دوره، بازی‌ها فقط یک محصول چندسکویی نبودند؛ هر کنسول یک اکوسیستم بسته و هویتی مستقل داشت.

شعار “Only on PlayStation” صرفاً یک برچسب تبلیغاتی نبود، بلکه یک مرزبندی فرهنگی بود: اینکه بعضی تجربه‌ها فقط روی همان سخت‌افزار معنا پیدا می‌کردند. بازی‌هایی مثل Metal Gear Solid یا Gran Turismo دقیقاً نمونه‌های همین فلسفه بودند!

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

اگر کمی جلوتر برویم، این هویت با عناوینی مثل God of War تبدیل به یک امضای فرهنگی شد.

هرکدام از این بازی‌ها نه قابل جایگزینی بودند و نه هدفشان این بود که “روی همه‌جا اجرا شوند”. همین محدودیت هدفمند، باعث خلق تجربه‌های متمرکزتر و به‌اصطلاح «دست‌سازتر» شده بود.

حالا اگر سونی دوباره به سمت تقویت انحصاری‌ها و بازتعریف مرزهای اکوسیستم خودش حرکت کند، در واقع دارد به همان منطق قدیمی برمی‌گردد: اینکه ارزش یک پلتفرم فقط در قدرت سخت‌افزار نیست، بلکه در «تجربه‌هایی است که فقط همان‌جا وجود دارند».

این برای بازار امروز که بیش از حد به سمت همگن شدن رفته، می‌تواند یک حرکت هویتی مهم باشد، نه صرفاً یک تصمیم تجاری.

مدت‌هاست صنعت بازی حس و حال گذشته رو نداره و با این تصمیمات می‌شه گفت بر می‌گردیم به نوستالژی گذشته! 👌🏼
COMPΞZ 🧬
بین کامپایل یه تحلیل هم حواسمون به پادشاه باشه! معتقدم که صحنه‌های جرم رو خواهد دید. همین موضوع صحنهٔ جرم رو توی کانالم جستجو کن خواهی دید هرجا گفتم می‌بینه و دیده! الآن در وضعیت فعلی ماهانه صحنهٔ جرم نزدیک به قبل رو دوباره دیده (چند کندل قبل) و احتمال هم…
خب صحنهٔ جرم دوم رو هم‌ دید.😉 سال‌هاست توی این کانال هرچی و هر نقطه‌ای رو که گفتم عین همون رو دیده! می‌تونید جستجو کنید.

درسشو خوندم؟ نه! پکیج گرفتم یاد گرفتم؟ نه!

ترید رو نمی‌شه با توهم فروخت! یه پکیج فروش شغلش پکیج فروشیه نه ترید! گول تبلیغاتشونو نخور.

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

ترید رو باید واقعی یاد بگیری نه با هیجان و تبلیغات اینکه فلانی داره ترید می‌کنه پس وضعش خوبه! نه جانم تا به خاک سیاه ننشستی نمی‌تونی یاد بگیریش و اینجاست که سر عقل میای یواش یواش یاد می‌گیری که هیجان و احساسات رو کنترل کنی.

منطق برنامه‌نویسی چاشنی خوبی برای من طی این سال‌ها بوده، در کنترل احساسات گزینهٔ خوبیه! قانون می‌گه یا صفره یا یکه! دیگه غیر این نیست و شما نمی‌تونی بگی نه آخه فلان چیز یا فلان خبر‌ باعث‌ شد.

خبر فقط شتاب دهندست!
و منطق، احساس حالیش نیست، قانونه.

⚠️ درضمن، اگه دارایی چیزی توی صرافی کوینکس دارید بکشید بیرون. ⚠️

طولی نمی‌کشه بن خواهید شد.
Please open Telegram to view this post
VIEW IN TELEGRAM
COMPΞZ 🧬
خب صحنهٔ جرم دوم رو هم‌ دید.😉 سال‌هاست توی این کانال هرچی و هر نقطه‌ای رو که گفتم عین همون رو دیده! می‌تونید جستجو کنید. درسشو خوندم؟ نه! پکیج گرفتم یاد گرفتم؟ نه! ترید رو نمی‌شه با توهم فروخت! یه پکیج فروش شغلش پکیج فروشیه نه ترید! گول تبلیغاتشونو نخور.…
درضمن اگه توی این حوزه فعالیتی دارید، یک کیف تمیز با کلید خصوصی و‌اژه‌های کلیدی تمیز و خام بسازید.

چیزی که به هیچ یک از صرافی‌های ایرانی ارسال یا دریافتی نداشته باشه.

و اگر خواستید معامله‌ای چیزی تجربه کنید، روی صرافی‌هایی مثل هایپر‌ لیکوئید تجربه کنید.

چنین صرافی‌هایی با موضوع تحریم به خصوص برای ایران مشکلی ندارند، چون غیرمتمرکز به شمار میان.

دارایی شما روی کیف پول شماست نه حساب صرافی، یعنی صرافی این وسط فقط یک واسطهٔ معاملاتیه و نه بیشتر.

عموما کارمزد‌هاشون هم‌ پایینه و امنیت هم تا وقتی که کیف شخصیت از دست نرفته مشکلی نداره.

البته سلیقه‌ایه و ممکنه بعضی‌ها با این تیپ صرافی‌ها حالی نکنن.

برای من فرقی نداره چون ماه‌هاست هیچ تریدی نمی‌کنم بیشتر با برنامه‌نویسی مشغولم اما به نظر من عصر عصر صرافی‌هایی‌ خواهد بود که غیرمتمرکز هستند.

فکر نمی‌کنم در بلند مدت مثل گذشته بایننس و امثالش پرچم‌دار بازارهای رمز ارز‌ها باقی بمونن.

یعنی هرچی غیرمتمرکز‌تر و کنترل در دست کاربر باشه مطمئن‌تره و جای نگرانی ندارد.
به به...✔️ درخواستمون تأیید شده و رفتیم روی SourceForge و AlternativeTo 😌
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM