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

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

We create because the world deserves better code.

https://linktr.ee/compez
Download Telegram
COMPΞZ 🧬
جنی‌کانکت ویرایش ۱.۳.۸۰۰ منتشر شد — سریع‌تر، تمیزتر و پایدارتر 🔼🔥 جنی‌کانکت یک کلاینت مدرن، قدرتمند و چندسکویی برای تونل‌سازی امن و وی‌پی‌ان است که با استاندارد ایزو ۲۳ از سی‌پلاس‌پلاس توسعه داده شده است. این نسخه تمرکز ویژه‌ای روی پایداری هستهٔ اجرایی،…
خوشحالم از اینکه ایرانی‌های اونر آبی به خصوص اونایی که آموزش وی‌پی‌ان فروشیو این چیزارو میدن اینو بازنشر نکردن!

از دلایلش پرسیدم یکی از دوستان گفت به خاطر عدم اعتماد! 😂 آخه نادان‌ها کل کد متن بازه و فرآیند کامپایل و ریلیزش هم شفافه!

ببین نادان، وقتی یه پروژه متن باز هست یه مجوزی داره! مجوز سورس کل جنی‌کانکت هم GPL هست. این از این!
بعد سورسی که شفاف و همه چیزش منتشر شده یه بخشی داره به عنوان Release که نسخه‌های منتشر شده رو اونجا قرار میدن.

نسخه‌هایی که برای دریافت قرار داده میشه به دو شیوه میشه قرار داد:

۱) دستی روی سیستم خودم کامپایل کنم و قرار بدم اونجا و اگه دوست داشتم یه کد مخرب هم بنویسم که دهن شمارو صاف کنه که این کار رو انجام نمیدم به دو دلیل:
- اول اینکه سرعت اینترنت درست درمونی ندارم چون صد بار باید آپلود کنم هر صد بارش هم رد میشه!
- دوم اینکه وقتی کد‌ها رومنتشر کردم مرض ندارم که بیام همه چیزو خود کار نکنم!

۲) این کارو نکنم، و بسپارمش به CI در قسمت action خود گیت‌هاب. وظیفش چیه؟ وقتی یه Tag روی گیت‌هاب بسازیم یعنی به این شکل

v1.3.800

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

https://github.com/genyleap/GenyConnect/tree/refs/tags/v1.3.800

شماها با همون آت‌اشغال‌های خودتون سیر کنید جیب ملت رو بچاپید! من اینو ساختم برای خودم هرکس هم دوست داشت استفاده کنه هرکس هم نخواست فدای سرم.
1
این دستیار Codex یه زیر شاخه‌ای از خود OpenAI هست به کمک ChatGPT. شما وقتی حسابتون رو در OpenAI شارژ بکنید یعنی از نسخهٔ پلاس استفاده کنید همین کدکس براتون به صورت ماهیانه مبتنی بر اعتبار مصرف توکن کار می‌کنه با تفاوت اینکه اینجا قابلیت مدیریت و بهروری بهتر روی پروژه رو بهتون میده.

نسخهٔ رایگانش خیلی محدود هست با چند تا دستور ساده به راحتی به محدودیت می‌خورید.

نسخهٔ پلاس یعنی ۲۰ دلاریش هم تا یه حدی جوابگو هست! اما اگه بتونید روش آموزش یا سوأل پرسیتون رو بهینه کنید مصرف توکن هم بهینه میشه و بیشتر مفید خواهد بود.

وقتی به محدودیت بخورید معمولاً به صورت ساعتی یا روزانه بهتون می‌گه برو فلان ساعت یا فلان روز بیا 😄 این به خاطر همون موضوع مصرف بیش از حد توکن هست.

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

چرت و پرت هم نپرسیدی! خیلی‌ها همین براش سوأله.
COMPΞZ 🧬
نسخهٔ پلاس یعنی ۲۰ دلاریش هم تا یه حدی جوابگو هست! اما اگه بتونید روش آموزش یا سوأل پرسیتون رو بهینه کنید مصرف توکن هم بهینه میشه و بیشتر مفید خواهد بود.
یک توصیه که می‌تونم بر مبنای تجربیات خودم بگم اینه که نباید به AI اجازه بدی زیاد به چرندیاتی که توی پوشهٔ git. مدام تولید میشه توجه کنه! هرچقدر بیشتر با محتوای log و غیره درگیر باشه بیشتر توکن‌سوزی می‌کنه و سریع‌تر به محدودیت می‌خورید.

مخصوصاً پوشهٔ objects رو باید کنترل کنید. یهو می‌بینی ۲۰ گیگ شده حجم تحلیل‌های OpenAI و روحتم خبر نداره که چطور شد اینطور شد! 😁 برای همین می‌گم برای کسانی که می‌دونن چیکار می‌کنن خیلی بهتره! چون نباید همه چیرو هم بسپاری به این بی‌خرد!
از بدنهٔ حکومت زنگ زدن می‌گن چطوری؟؟؟!؟
می‌گم سلام! چطورید حاج اقا؟ وسلام علیکم و رحمت‌الله!😂 اهلن و سهله یا اخی! یا سیدی چاکی چونی؟ خوژ بی ایشالا؟ 😂😂😂

میگه خیلی وقته نیستی! این جنگ بهت ضرر نزده که؟ چه می‌کنی کارو بارت تعطیل نیست که؟ هنوزم ترید می‌کنی؟ برنامه‌نویسی می‌کنی؟ هنوزم می‌ترکونی؟
من: 😐😐😐😐 بقیه مکالمات بماند که چی گفت چی شنیدم! 😄 یعنی همه جوره اعصاب آدمو بریزید بهم فقط!

یعنی قشنگ با مسخره بازی خوشید! 😉
هرچقدر زبان سطح‌پایین (نزدیک به سطح ماشین) باشه؛ صراحت‌نویسی مهم‌تره!

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

مثلاً این‌ها درست هستند:
calc.add(10, 20);
calc.add(1.5, 2.5);

ولی این اشتباه است:
calc.add("Hello", "World");

چون ما با concept Numeric گفته‌ایم فقط نوع‌های عددی مجاز هستند.

قسمت‌های مهم از مدرن نویسی:
export module

یعنی به‌جای فایل‌های قدیمی include از سیستم جدید و سریع‌تر Modules استفاده می‌کنیم.

concept Numeric

مثل نگهبان عمل می‌کند!
بررسی می‌کند ورودی واقعاً عدد باشد.
constexpr

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

یعنی این تابع قرار نیست خطای exception تولید کند.
[[nodiscard]]

اگر خروجی تابع را نگیری، کامپایلر هشدار از نوع warning می‌دهد چون احتمالاً اشتباه کردی.

خلاصه:
این فقط یک جمع ساده نیست؛
نمونه‌ای از سبک برنامه‌نویسی مدرن در سی‌پلاس‌پلاس است که:
- سریع‌تر است
- امن‌تر است
- تمیزتر است

و برای پروژه‌های بزرگ حرفه‌ای آینده‌دار استفاده می‌شود.

#cpp #example #یادگیری #به‌روز‌رسانی #برنامه‌نویسی #مثال #تکه‌کد
3👍3
COMPΞZ 🧬
هرچقدر زبان سطح‌پایین (نزدیک به سطح ماشین) باشه؛ صراحت‌نویسی مهم‌تره! این کد یک ماشین حساب خیلی ساده می‌سازد که فقط عدد قبول می‌کند. مثلاً این‌ها درست هستند: calc.add(10, 20); calc.add(1.5, 2.5); ولی این اشتباه است: calc.add("Hello", "World"); چون ما با…
می‌دونم خیلی‌هاتون تعجب می‌کنید! که چرا این سی++ با اونی که توی کتاب‌ها خوندیم متفاوته! وقتی می‌گم مدرن، یعنی هیچ خبری از iostream یا اون چرندیات قدیمی printf یا std::cout و اینجور چیزا نیست! اینارو حتی اگه شما تخصص نرم‌افزار هم نداشته باشی به هر حال یجوری توی دانشگاه به عنوان یه واحد پاس کردی.

این چیزارو هنوز هم که هنوزه توی ایران تدریس می‌کنن متأسفانه.

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

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

دوست داشتن می‌تونید اینجا هم عضو باشید! تنها گروهیه که مدیریتش با منه و سال‌ها توش راهنمایی کردم ملت رو.

https://t.me/advancedcpp
💯2
یکی از مهمترین کد‌های بیت‌کوین 💸 در مورد سختی استخراجه که مربوط به سرآیند الگوریتم PoW در کد‌های سی++ هست.

این تابعی که می‌بینید، وظیفش اینه که بگه سختی استخراج بلاک بعدی بیت‌کوین چقدر باید باشد؟

نکته) بیت‌کوین هر بلاک سختی را عوض نمی‌کند. تقریباً هر ۲۰۱۶ بلاک یک‌بار سختی را تنظیم می‌کند؛ یعنی حدوداً هر ۱۴ روز.

پس اول بررسی می‌کند:
(pindexLast->nHeight + 1) % params.DifficultyAdjustmentInterval()

اگر هنوز زمان تنظیم سختی نرسیده باشد، معمولاً همان سختی بلاک قبلی را برمی‌گرداند:
return pindexLast->nBits;

بعد از آن این تابع می‌گه:

اگر وقت تنظیم سختی نرسیده:
همان سختی قبلی

اگر testnet است و بلاک دیر آمده:
کمترین سختی

و اگر وقت تنظیم سختی رسیده:
زمان ۲۰۱۶ بلاک قبلی را بررسی کن
سختی جدید را محاسبه کن


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


مثلاً با Python/JS:
نوشتنش راحت‌تر بود، ولی برای Bitcoin Core فاجعه می‌شد: کندتر، مصرف RAM بیشتر، کنترل کمتر روی بایت‌ها، و وابستگی زیاد به runtime.

با Java/سی‌شارپ:
قابل‌ساخت‌تر بود، ولی GC می‌تواند در زمان‌های حساس pause بدهد. همچنین کنترل binary/serialization و رفتار دقیق عددها سخت‌تر می‌شود.

با Go:
برای شبکه خوب است، ولی GC و کنترل کمتر روی memory برای consensus engine ایده‌آل نیست.

برای بیت‌کوین، مشکل فقط «برنامه اجرا شود» نیست. باید میلیون‌ها نود در سراسر دنیا دقیقاً به یک نتیجه برسند. کوچک‌ترین تفاوت در محاسبه difficulty، parsing block، hash یا serialization می‌تواند باعث fork شود.

با Rust احتمالاً بعضی خطاهای حافظه در سطح زبان سخت‌تر رخ می‌دادند و بخش‌هایی از codebase safety بیشتری می‌گرفت. اما این به معنی سریع‌تر، بهتر یا کم‌ریسک‌تر بودن مطلق نسبت به ++C مدرن نیست.

به جرأت می‌توان گفت برنامه‌نویسی دقیق و بدون نقص در این زیر ساخت به همراه سال‌ها آزمایش‌های متنوع منجر شده بیت‌کوین به یکی از پایدارترین و دقیق‌ترین نرم‌افزارهای زیرساختی دنیا تبدیل شده.
Please open Telegram to view this post
VIEW IN TELEGRAM
COMPΞZ 🧬
یکی از مهمترین کد‌های بیت‌کوین 💸 در مورد سختی استخراجه که مربوط به سرآیند الگوریتم PoW در کد‌های سی++ هست. این تابعی که می‌بینید، وظیفش اینه که بگه سختی استخراج بلاک بعدی بیت‌کوین چقدر باید باشد؟ نکته) بیت‌کوین هر بلاک سختی را عوض نمی‌کند. تقریباً هر ۲۰۱۶…
اینم بگم کرک و پرتون بریزه!

داخل پرانتز، اتریوم با Go ساخته شده؛ اما بخش بزرگی از performance-critical و low-level صنعت بلاک‌چین همچنان وابسته به ++C و کتابخانه‌های نوشته‌شده با آن است. از رمز‌نگاری و موتور‌های بانک اطلاعاتیش گرفته تا کامپایلر‌ها و ماشین‌های مجازی اتریوم، شبکه و حتی بخش‌هایی از کلاینت‌ها و و ساختار نود‌هاش.

حتی چیزی که من باهاش GENY رو ساختم، یعنی Solidity هم با ++C ساخته شده.😎
COMPΞZ 🧬
اینم بگم کرک و پرتون بریزه! داخل پرانتز، اتریوم با Go ساخته شده؛ اما بخش بزرگی از performance-critical و low-level صنعت بلاک‌چین همچنان وابسته به ++C و کتابخانه‌های نوشته‌شده با آن است. از رمز‌نگاری و موتور‌های بانک اطلاعاتیش گرفته تا کامپایلر‌ها و ماشین‌های…
می‌بینید چه کانال باحالی دارم! به جای تبلیغات شر و ور دیگران؛ هر از گاهی پیام‌های بازرگانی اختصاصی خفن‌ترین زبان برنامه‌نوسی رو پست می‌کنم.
همینه که هست! 😝
Please open Telegram to view this post
VIEW IN TELEGRAM
5311
روزگاری که پس از دو قرن از سلطهٔ اعراب که کمتر کسی جرأت می‌کرد به زبان مادری خود صحبت کند! در چنین روزرگاری مردی از طبقهٔ دهقانان تصمیم بر زنده کردن تاریخ ایران در قالب شعر گرفت.

بشنوید از حکیم ابوالقاسم فردوسی طوسی از شاعری که ۳۰ سال رنج کشید تا ایران را نجات دهد.

https://www.youtube.com/watch?v=lXgAGFoiXYA
🫡3
از چوپانی پرسیدند روزگار چگونه است؟
گفت از روزگار چیزی نمی‌دانم!

اما پشم‌های گوسفندانم را که چیدم دیدم نیمی از آنها گرگ‌اند!
👏5
از صبح برق نیست! آی مملکت ساخلیانین دده به ددسینین اونوندا ددسینین اونوندا ده ده به ددسینین آتاسینیندا اوزونونده نکیواریندا نسلینه لعنت! 🫡👋🏼
🤬33
به این طرح‌ها دقت کنید و یک گزینه رو مناسب برای GenyConnect انتخاب کنید.👇🏼👇🏼👇🏼 ممکنه باز هم بهترش کنم...

طرح برگرفته شده از جنی، ژن‌ و DNA و سپر به معنای ایمنی.
رنگ آبی به منظور اطمینان.
COMPΞZ 🧬
انتخاب طرح پایه مبتنی بر DNA از GENY برای جنی‌کانکت
نظر AI هم جالبه! نظر شخصیم گزینهٔ ۵ هست!
2
حکمی، مشاور وزیر ارتباطات:
«ما داریم روزانه موضوع بازگشایی اینترنت بین‌الملل رو پیگیری می‌کنیم و هماهنگی‌های لازم در حال انجامه؛

امیدواریم تا نهایت هفته آینده اینترنت یا به‌صورت کامل یا مرحله‌به‌مرحله به حالت عادی برگرده.

الان هم بخشی از دسترسی‌ها برقرار شده و ان‌شاءالله شرایط عادی میشه، مردم نگران نباشن.


ببینیم و تعریف کنیم... البته فیلترنت نه اینترنت.
1