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

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

We create because the world deserves better code.

https://linktr.ee/compez
Download Telegram
COMPΞZ 🧬
بعضیا اوقات می‌بینم می‌گن ای آقا سامسونگ و گوشی‌هاش تحریم نیستن و فلان! صد می‌ارزه به آیفون! ولی خب مردم که اطلاعات ندارن! همون سامسونگ یا هر گوشی اندرویدی دیگه مگه سیستم‌عاملش عنننن‌دروید نیست؟ خب اون لامصب هم مال گوگلِ و این گوگل مگه آمریکایی نیست؟ پس چطوری…
خب رسیدیم به هشتاد و یکمین روز قطعی و همه جا پر شده از خبر‌های اینکه قطعی اینترنت به خاطر حفظ امنیت کاربران دروغی بیش نیست! خب معلومه گه دروغه! شک داشتین؟

وقتی گوشی‌های ما همه چیزش آمریکاییه، وقتی همین کامپیوتری که جلوم هست و نشستم باهاش برنامه می‌نویسم آمریکایه، وقتی اون گوشی که دست پدر مادرامونه اونم آمریکاییه، وقتی هر چیزی که یه سرش مربوط به آمریکاست همشون آمریکایی هستن شما چیرو داری به چی سرپوش می‌ذاری آخه! 😪 همون لحظه باید بدون هیچ تردیدی بگی بابا جمع کن این خزعبلات رو کم چرند تحویل ملت بدین!

بعضی‌ها می‌گن بابا اندروید متن بازه فلانه لینوکسه ایمنه فلانه... خب نادان سازندش کیه؟ گوگل نیست مگه؟ گوگل مال کجاست؟ 😄 بخواد نمی‌تونه آفتابه برداره به هیکل ایمنی کاربراش!؟

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

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

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

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

حتی خودِ اینترنت هم ریشش از آمریکا شروع شده... خندتون نمی‌گیره به این همه پخمگی آخه!

حتی شک می‌کنی به خودت که بابا شاید من واقعاً هیچی حالیم نیست! ولی من که هرچقدر زور زدم دیدم نه واقعاً دارم دیونه می‌شم و کاری هم ازم بر نمیاد جز اهمیت ندادن و گذر از حماقت این جامعه...
👍5
COMPΞZ 🧬
حتی خودِ اینترنت هم ریشش از آمریکا شروع شده... خندتون نمی‌گیره به این همه پخمگی آخه!
مثل اینه که من یه فناوری رو ساخته باشم، متن‌باز هم بذارمش توی گیت‌هاب بگم آی ملت دنیا بیایید استفاده کنید.

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

اینجا من همچین خبری بشنوم خندم می‌گیره! چون من سازندهٔ نسخهٔ اصلی و اون فناوری هستم بعد من نمی‌تونم چیزی که نوشتم رو طوری روش تغییرات بدم یا چیزایی که از قبل توش نوشتم رو طوری فعال کنم که دهنتو سرویس کنه؟

یعنی این همون تفکره که می‌گن طرف خدارو هم بنده نیست همونه! واقعاً فکر می‌کنن خلیفت‌الله قاطع خدا اینا هستن!

جمع کنید بابا کم آبرو ریزی کنید تو دنیا کاری کردین که هرکس می‌گه تو ایرانی هستی مجبوریم سه ساعت توضیح بدیم که نه ما از اونایی که می‌بینی نیستیم اشتباه شده!
👍4
دهنت سرویس کسیییییی! من اینترنتم قطع نبود ثابت می‌کردم کی فعالیتش بیشتره 😁
😴1
COMPΞZ 🧬
دهنت سرویس کسیییییی! من اینترنتم قطع نبود ثابت می‌کردم کی فعالیتش بیشتره 😁
هرچی که می‌بینی اینجا چیزی ثبت نشده یا نتم قطع بوده یا در یه بدبختی گیر کردم که باعث بانیش هم ستار جون بوده 😡😊
اگه خدا بخواد برنامه‌هامون به ترتیب این شکل هست که به دو سوی هم‌زمان روشون وقت می‌ذاریم، یکیش در حوزهٔ وب ۳ هست و یکیش خارج از حوزهٔ وب ۳ ولی در نهایت هر دو نوع محصولات باهم ادغام می‌شن که همشون هم تأخیر خوردن هم برنامه‌هامون کمی بهم ریخته دلیلش هم که مشخصه چرا...

پس دو مسیر به صورت هم‌زمان پیگیر هستیم:

برای حوزهٔ غیر وب ۳ (با امکان ادغام)

۱) انتشار کامل GenyConnect برای اندروید به همراه به‌روز رسانی بری هر سه پلتفرم دسکتاپ
۲) به‌روز رسانی و حل مسائل گزارش شده در GenyDL IDM و انتشار کامل برای هر سه پلتفرم مک، لینوکس و ویندوز
۳) ادامهٔ روند توسعه برای Reactor Engine به عنوان موتور توسعهٔ محصولات آینده
۴) ساخت و توسعهٔ محصولات جنی‌لیپ کاربردی، هم داخلی و هم خارجی بر مبنای ایده‌های کاربردی‌تر بر پایهٔ موتور سیمرغ
۵) به‌روز رسانی وب‌سایت رسمی و مستند‌سازی توسعه


برای حوزهٔ وب ۳ و مبتنی بر بلاک‌چین (متمرکز بر توکن جنی)
۱) باز بینی مراحل توسعهٔ بازی WARRIORS در فارکستر
۲) به‌روز رسانی و باز سازی اپ‌های اکوسیستم جنی، حذف برنامه‌های منسوخ شده و بازسازی ابزار‌های کاربردی‌تر متناسب با تغییرات اخیر فارکستر و جامعش
۳) پیاده سازی نسخهٔ آزمایشی از نود ایرانی برای پروتکل فارکستر
۴) پیاده‌سازی پلتفرم اختصاصی جنی بر روی بستر نود اختصاصی
۵) فروشگاه NFT اختصاصی و ابزار‌های مرتبط با حوزهٔ هنر (همون کوفتی که قرار بود بسازیم ولی سرمون کلاه گذاشتن) خودمون خواهیم ساخت!
۶) ادامهٔ توسعه و به‌روز رسانی موارد فوق

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

بعضی موارد خاص هم هستن که توی فهرست نمیارم، سورپرایز خواهند بود! و بعضی موارد که به جزئیات بیشتری نیاز داره به این فهرست اضافه خواهد شد.

همهٔ اینا زمانی ممکنه که همین حداقل ارتباطم با جهان قطع نشه یا این کله زرد بذاره! می‌دونید که هم از اینور چوب لای چرخمون می‌کنن هم از اونور... شدیم اسباب‌بازی اینا.

پروژه‌ٔ جنی‌کانکت هم اصلاً تو برنامم نبود! شرایط شخمی اینترنت و مشکلاتی که کلاینت‌های آشغال چینی دارند مجبورم کرده روش وقت بذارم.
33
همیشه خطر از درون زبان ساطع نمیشه! در طرز پیاده‌سازی ما و نحوهٔ بیان به وجود میاد:

https://www.youtube.com/watch?v=PcerWZRm_eA

در ++C خودِ bool خطرناک نیست؛ خطر اصلی اینه که bool خیلی راحت و بی‌صدا وارد جاهایی می‌شه که معنی کد رو مبهم، شکننده و اشتباه‌پذیر می‌کنه. عنوان ویدیو هم همین را می‌گوید: Bool - Implicitly Dangerous؛ یعنی «بولین، به‌خاطر ضمنی بودنش خطرناک است». ویدیو جزو Lightning Talkهای CppCon 2025 است و مدت کوتاهی دارد.

به این کد دقت کنید:
createUser("Kambiz", true, false, true);

این کد از نظر کامپایلر کاملاً درست است، ولی برای انسان فاجعه است.
true یعنی چی؟ ادمین است؟ فعال است؟ ایمیل تأیید شده؟ لاگ بگیرد؟ رونویسی کند؟ چه کار کند؟

مشکل وقتی بدتر می‌شود که جای true و false را اشتباه بزنی و کامپایلر هیچ چیزی نگوید:

setWindow(true, false);

پس یکی از پیام‌های اصلی این است: bool در API عمومی، مخصوصاً به‌عنوان پارامتر تابع، اغلب بوی بد طراحی است.

راه بهتر این است که معنی را داخل نوع بیاوریم:
enum class Fullscreen : bool { no, yes };
enum class Resizable : bool { no, yes };

void setWindow(Fullscreen fullscreen, Resizable resizable);

setWindow(Fullscreen::yes, Resizable::no);

اینجا دیگر کد خودش توضیح می‌دهد چه می‌کند و اشتباه جابه‌جا کردن پارامترها هم سخت‌تر می‌شود.

یا مثلاً به‌جای این:
save(file, true);

بهتر است این باشد:
enum class Overwrite {
no,
yes
};

save(file, Overwrite::yes);

یک خطر دیگر bool در ++C، تبدیل‌های ضمنی است. چیزهای مختلف می‌توانند به bool تبدیل شوند: pointerها، عددها، بعضی objectها با operator bool و غیره. این گاهی مفید است:

if (ptr) {
// pointer is not null
}

ولی در طراحی API می‌تواند باعث رفتارهای ناخواسته شود؛ مخصوصاً وقتی overloadها یا constructorها درگیر شوند.

جمع‌بندی ساده‌اش:

از bool برای state داخلی ساده مشکلی نیست.

برای مثال:

bool isConnected = false;

ولی برای APIهایی که خوانایی و امنیت مهم است، مخصوصاً وقتی تابع چند تا bool می‌گیرد، بهتر است از enum class، type wrapper، یا option struct استفاده کنی.

مثلاً این:

connect(server, true, false, true);

بهتر است اینگونه باشد:

struct ConnectionOptions {
bool enableTls = true;
bool allowReconnect = false;
bool verboseLogging = true;
};

connect(server, ConnectionOptions{
.enableTls = true,
.allowReconnect = false,
.verboseLogging = true
});

حرف نهایی Jeff Garland این است:
نوع bool ساده‌ترین type به نظر می‌رسد، اما چون معنی را حمل نمی‌کند، در طراحی API می‌تواند یکی از مبهم‌ترین و خطرناک‌ترین انتخاب‌ها باشد.

#cpp #cplusplus #notes #api #design
👍6
Reflection + Contracts + Modules are effectively building the foundation of the next generation of C++ architectures — not just adding new syntax.
🫡4👍2
COMPΞZ 🧬
Reflection + Contracts + Modules are effectively building the foundation of the next generation of C++ architectures — not just adding new syntax.
چرا اینو می‌گم؟
چون… خفن‌ترین محصولات مثل آنریل انجین حتی که همچین ساختار‌هایی رو مجبور شده به خاطر پیچیدگی زبان پیداده کنه:

UCLASS()
UPROPERTY()
UFUNCTION()


یا حتی کیوت مواردی مثل:

Q_OBJECT
signals:
slots:
Q_PROPERTY


این‌ها عملاً reflection مصنوعی هستن که Epic مجبور شده خودش بسازه چون زبان نداشته.

در کیوت هم، کل moc برای همین کمبود ساخته شده.

وقتی ویژگی رفلکشن (انعکاس) روی استاندارد ۲۶ فعال می‌شه، عملا شما وارد یک معماری نوین خواهید شد.

برای همین خیلی‌ها میگن Reflection در C++26 شاید از مهم‌ترین ویژگی‌های چند دهه اخیر باشه.

واسه همین خیلی از توسعه‌دهنده‌ها از جمله خودم انقدر برای Reflection هیجان‌زده‌ایم.

چون تا قبلش برای ساختن سیستم‌های “هوشمند” توی ++C مجبور بودی بری سمت ماکرو‌ها یا شونصد‌تا روش پیچیده.

شاید بگیم خب تا حالا چرا برای سی‌++ همچین چیزی نداشتیم در حالی که خیلی از زبان‌ها این ویژگی رو دارن!

دلیلش اینه که در بسیاری از زبان‌ها reflection یعنی:

کندی، تخصیص سربار و کلی مانع دیگه که به خاطر حفظ پرفرمنس در سی++ این ویژگی با حساسیت بیشتری باید پیاده‌سازی می‌شد، چون اینجا قراره کدهای منعکس شده مستقیم به شیوهٔ inline پردازش بشن.

یعنی بدون GC بدون Runtime و همه چیز در حالت زمان کامپایل پردازش خواهد شد.

حتی تصورش هم برام هیجان‌انگیزه که چه تحول عظیمی در صنعت آینده نرم‌افزار در حال شکل‌گیریه. 😎🥁🫡
🫡5👍3😍2🔥1
لعنت بهت وزیر نیرو، از دیروز ده بار برقامون رفته! باز شروع کردین شما… دارو ندارم یه کامپیوتره اونم بسوزه بشینیم بزنیم تو سرمون.
Persian engineering, open to everyone. 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👎11
حواسم هست ۵۰-۶۰ نفری طی ۴۸ ساعت گذشته به این کانال ملحق شدن! فکر کنم بعضی‌ها در کانال‌هاشون برخی از پست‌ها رو بازنشر دادن.

سلام و عرض ادب می‌کنیم به دوستان جدید... 🔥🫡من کامبیز هستم. همین لحظه ۳۷ ساله داخل ایران یک تُرک زبان اهلِ اورمیه، قبلاً این کانال خیلی قدیمی‌تر بود اعضاش هم خیلی بیشتر بود ولی انقدر بهم فشار آوردن و بی‌احترامی کردن از بیخ حذفش کردم و بعد مدت‌ها دوباره ساختمش بدون اینکه هدفم این باشه که اعضای بیشتری بگیره.

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

تخصص اصلی من مهندسی کامپیوتر، گرایش نرم‌افزار هست نزدیک ۲۰ سال تجربه تلخ و شیرین هست.

- طراحی محصولات نرم‌افزاری انجام میدم و منتور شیپینگ، فرقی نداره در چه حوزه‌ای باشه! محدود به یک پلتفرم یا یک صنعت خاص نیستم چون معتقدم مهندسی نرم‌افزار محدود به یک پلتفرم نیست. پس هر برنامه‌ای دلتون بخواد (اگه از جنس خلاف نباشه) می‌تونم یه تنه پیادش کنم.

- گاهی ترید می‌کنم و به اندازهٔ کافی تجربه تلخ و شیرین هم ازش دارم (تحلیل‌هام عموماً نظر شخصیه) نباید روش حساب باز کنید.

- نظرات سیاسیم (کاملاً شخصی هست) ممکنه یه روز به کامتون باشه یه روز نباشه! در این خصوص بحث نمی‌کنم با کسی و به هیچ عنوان تعصبی نیستم؛ بیشتر با منطق می‌سنجم.

- گاهی به هنر می‌پردازم و طراحی هنری می‌کنم؛ از گرافیک و الهامات طبیعی به شدت خوشم میاد و با تمرکز بالایی برای درکش وقت می‌ذارم و در قالب NFT منتشرشون می‌کنم.

- ابزار‌های توسعه برام محدودیتی ندارن و تعصبی نیستم؛ اما از هر چیزی که محدودم می‌کنه و آزادیم رو می‌گیره متنفرم! برای همین عاشق ++C هستم چون تنها زبانیه که آزادت می‌ذاره! ولی با زبان‌های زیادی هم کار می‌کنم و بهشون تسلط لازم رو دارم، خلاصه که جعبهٔ ابزارمون کامله.

- به طومار نویسی معروفم! خیلی‌ها می‌گن اخلاقت گَنده😄 چون خیلی رُک ایراد می‌گیری از کار دیگران؛ ولی من نیتم دلسوزی هست نه زدن تو ذوقِ کسی! پس قضاوتی هم اگر کردین آزادین بیایین توی خصوصی به خودم بگین اینطور نیست که گارد بگیرم، ولی با بی ادبی میونه‌ای ندارم درجا بلاک می‌کنم صد تا قفل هم روش.

بازخورد در خصوص مباحث تجربی و چیز‌هایی که می‌سازم آزاده.🔼👋

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

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

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

پس راحت باشید در خصوص کارهایی که قبلاً دیدین یا بعداً خواهید دید بازخورد بدین.
دلیل اینکه اینجاهم می‌نویسم به خاطر اینه که معتقدم توانایی‌های ما باید به اشتراک گذاشته بشه؛ ایرانی‌ها به طرز عجیبی مظلوم‌ترین‌ها هستن! قدر خودتونو بدونید و نا امید نباشید.😊

پیروز باشید؛ 😑
Please open Telegram to view this post
VIEW IN TELEGRAM
112
بنده خدا شانس نیاورده 😂
8
تریلر مستند موتور نامرئی جهان فناوری منتشر شد!

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

از Bell Labs و Bjarne Stroustrup تا سیستم‌عامل‌ها، موتورهای بازی، زیرساخت‌های مالی، ابزارهای صنعتی و نرم‌افزارهایی که باید سریع، دقیق و قابل‌اعتماد باشند.

این فقط داستان یک زبان نیست؛
داستان موتور نامرئی جهان نرم‌افزار است.

C++: The Documentary

به‌زودی، چهاردم خرداد ماه |‌ پنج‌شنبه ۴ ژوئن ۲۰۲۶

https://www.youtube.com/watch?v=NXwTRzywDSk
3