حالا فهمیدی فارکستر رو از کدوم پلتفرم کپی کرده بودن؟
چند روز پیش اتفاقی توی bsky یه حساب ساختم دیدم عه!!! توئیتر مانند اما با سبک فارکستر! مثلاً غیر متمرکز.
این همه چیزش کپی فارکستره! فقط با تفاوت این که فارکستر بر مبنای بلاکچین کار میکنه.
چند روز پیش اتفاقی توی bsky یه حساب ساختم دیدم عه!!! توئیتر مانند اما با سبک فارکستر! مثلاً غیر متمرکز.
این همه چیزش کپی فارکستره! فقط با تفاوت این که فارکستر بر مبنای بلاکچین کار میکنه.
هیچکس بیدلیل از ظلم، فساد و تباهی دفاع نمیکند. یا جیرهای میگیرد، یا سهمی دارد، یا از حقیقت میترسد، یا آنقدر خودش را با دروغ آرام کرده که زنجیر را نه نشانهٔ اسارت، بلکه مدال افتخار میبیند. 👊🏼
یه ادعاهایی این روزها میبینم که شاخ در میارم! طرف تا دیروز فرق گاو و خر رو نمیدونست الآن چنان دماغشو بالا گرفته میگه سیستمعامل مینویسم، مرور گر مینویسم، بلاکچین مینویسم!
هرکی ندونه فکر میکنه طرف ۳۰ سال فقط درس علوم کامپیوتر توی دانشگاه آمریکایی پاس کرده! والا ما اندازهٔ سن خیلیهاتون فقط تجربه کردیم اونم نه الکی هم درسشو خوندیم هم عمل کردیم بعد تو پروژههای خودمون هنوز موندیم! هنوزم عناوین مختلف از معماریهای کامپیوتر مثل Computer Organization and Design سر گیجم میکنه! بخوام لیست کنم بیش از ۱۰۰ کتاب برات معرفی میکنم که خوندن و درک کردن هر کدومشون ماهها و سالها زمان میبره.
چی شد تا وقتی هوش مصنوعی چهارتا خروجی نمیداد همتون خفه خون گرفته بودین حتی یه کد CSS یا HTML رو هم درست درک نمیکردین حالا برا من فاز دانشمند گرفتین؟ این تفکرات میدونم از کجا آب میخوره! هر کدومشونم محک زدم دیدم یا خرزشی بود یا چپی! همونایی که میگفتن ما سیستمعامل بومی نوشتیم! یادتونه که... یا همونایی که تو رسانه میگفتن سیستمعامل رو با HTML نوشتن... همونان اینا.
شماها مغزتون واقعاً ایراد داره من فکر میکردم فقط توی سیاست نفهمید اما توی مباحث علمی هم واقعاً نفهم تشریف دارید! همون اندازه که توی سیاست گندهگوز هستین و همیشه پیروز صد برابر بدتر از اون رو توی مباحث علمی هم هستید. 😒
یاد اون بنده خدایی افتادم که با ۲۰-۲۵ سال سن متخصص و جراح مغز و اعصاب خودشو جا زده بود! توی صنف ماهم همینه! طرف طوری حرف میزنه طوری دماغشو بالا میگیره هرکی نبینه میگه این ۳۰ سال فقط کتاب خونده، عملی تجربه کرده! کشف کرده، خون دماغ شده از شدت مطالعه! دیسک کمر و گردن گرفته از شدت تلاش!
جمع کنید بابا کم گندهگوزی کنید آدم حالش از خودش بهم میخوره. 😐 همین کتاب Computer Organization and Design با چند جلدش رو روی هم بذاری چند ده هزار صفحست که سالها طول میکشه درکش کنی (تازه اونم اگه بخونی و در عمل انجامش بدی) که فقط تفاوت برنامهنویسی بین x86 با arm یا risc توی چیه! برای هر معماری یه کتاب کلفت دارن اینا بعد شماها انقدر نفهمید که فکر میکنید کد نویسی یعنی فقط اجرا شدن!
هرچقدر هم گندهگوزی میکنی بکن ولی برنامهنویسی اونی نیست که با چهارتا اسکریپت یا چهارتا الگوریتم جستجو به کار میبری. برنامهنویسی یعنی درک این که یه پردازندهٔ کامپیوتر با فلان معماری چطور کد شما رو درک خواهد کرد که پشت صحنهٔ اینها هم حسابی داستان داره از کامپایلر بگیر تا مفسر و ... این چیزارو هم تا تو نفهمی نمیتونی به هوش مصنوعی بفهمونی نادان.
فکر کردین واقعاً الکیه؟ یه مثال سادش! همین GenyConnect رو ازم خواستن پورت کنم روی چند تا سیستمعامل دیگه! میخوام برای نسخهٔ freeBSD براش نسخه بدم بیرون نشستم دارم معماری BSD رو میخونم که فقط بتونم کیوت رو روش کامپایل کنم که تازه شاید بتونم به عنوان یه پلتفرم مقصد کدم رو بهینه کنم روی معماری مخصوص این سیستمعامل چون هیچ کتابخانهٔ پیشفرضی به صورت رسمی از سمت کیوت براش منتشر نمیشه!
همین یه موضوع تازه به کمک هوش مصنوعی به شدت سخته! بعد طرف نشسته میگه من سیستمعامل مینویسم! بابا خفه شو آبرو ریزی نکن! آدم شو بسه دیگه توی هر چیزی پیروزید شماها آدم کیف میکنه از شدت پیروزی.
هرکی ندونه فکر میکنه طرف ۳۰ سال فقط درس علوم کامپیوتر توی دانشگاه آمریکایی پاس کرده! والا ما اندازهٔ سن خیلیهاتون فقط تجربه کردیم اونم نه الکی هم درسشو خوندیم هم عمل کردیم بعد تو پروژههای خودمون هنوز موندیم! هنوزم عناوین مختلف از معماریهای کامپیوتر مثل Computer Organization and Design سر گیجم میکنه! بخوام لیست کنم بیش از ۱۰۰ کتاب برات معرفی میکنم که خوندن و درک کردن هر کدومشون ماهها و سالها زمان میبره.
چی شد تا وقتی هوش مصنوعی چهارتا خروجی نمیداد همتون خفه خون گرفته بودین حتی یه کد CSS یا HTML رو هم درست درک نمیکردین حالا برا من فاز دانشمند گرفتین؟ این تفکرات میدونم از کجا آب میخوره! هر کدومشونم محک زدم دیدم یا خرزشی بود یا چپی! همونایی که میگفتن ما سیستمعامل بومی نوشتیم! یادتونه که... یا همونایی که تو رسانه میگفتن سیستمعامل رو با HTML نوشتن... همونان اینا.
شماها مغزتون واقعاً ایراد داره من فکر میکردم فقط توی سیاست نفهمید اما توی مباحث علمی هم واقعاً نفهم تشریف دارید! همون اندازه که توی سیاست گندهگوز هستین و همیشه پیروز صد برابر بدتر از اون رو توی مباحث علمی هم هستید. 😒
یاد اون بنده خدایی افتادم که با ۲۰-۲۵ سال سن متخصص و جراح مغز و اعصاب خودشو جا زده بود! توی صنف ماهم همینه! طرف طوری حرف میزنه طوری دماغشو بالا میگیره هرکی نبینه میگه این ۳۰ سال فقط کتاب خونده، عملی تجربه کرده! کشف کرده، خون دماغ شده از شدت مطالعه! دیسک کمر و گردن گرفته از شدت تلاش!
جمع کنید بابا کم گندهگوزی کنید آدم حالش از خودش بهم میخوره. 😐 همین کتاب Computer Organization and Design با چند جلدش رو روی هم بذاری چند ده هزار صفحست که سالها طول میکشه درکش کنی (تازه اونم اگه بخونی و در عمل انجامش بدی) که فقط تفاوت برنامهنویسی بین x86 با arm یا risc توی چیه! برای هر معماری یه کتاب کلفت دارن اینا بعد شماها انقدر نفهمید که فکر میکنید کد نویسی یعنی فقط اجرا شدن!
هرچقدر هم گندهگوزی میکنی بکن ولی برنامهنویسی اونی نیست که با چهارتا اسکریپت یا چهارتا الگوریتم جستجو به کار میبری. برنامهنویسی یعنی درک این که یه پردازندهٔ کامپیوتر با فلان معماری چطور کد شما رو درک خواهد کرد که پشت صحنهٔ اینها هم حسابی داستان داره از کامپایلر بگیر تا مفسر و ... این چیزارو هم تا تو نفهمی نمیتونی به هوش مصنوعی بفهمونی نادان.
فکر کردین واقعاً الکیه؟ یه مثال سادش! همین GenyConnect رو ازم خواستن پورت کنم روی چند تا سیستمعامل دیگه! میخوام برای نسخهٔ freeBSD براش نسخه بدم بیرون نشستم دارم معماری BSD رو میخونم که فقط بتونم کیوت رو روش کامپایل کنم که تازه شاید بتونم به عنوان یه پلتفرم مقصد کدم رو بهینه کنم روی معماری مخصوص این سیستمعامل چون هیچ کتابخانهٔ پیشفرضی به صورت رسمی از سمت کیوت براش منتشر نمیشه!
همین یه موضوع تازه به کمک هوش مصنوعی به شدت سخته! بعد طرف نشسته میگه من سیستمعامل مینویسم! بابا خفه شو آبرو ریزی نکن! آدم شو بسه دیگه توی هر چیزی پیروزید شماها آدم کیف میکنه از شدت پیروزی.
COMPΞZ 🧬
یه ادعاهایی این روزها میبینم که شاخ در میارم! طرف تا دیروز فرق گاو و خر رو نمیدونست الآن چنان دماغشو بالا گرفته میگه سیستمعامل مینویسم، مرور گر مینویسم، بلاکچین مینویسم! هرکی ندونه فکر میکنه طرف ۳۰ سال فقط درس علوم کامپیوتر توی دانشگاه آمریکایی…
اون کتابهایی که توی دانشگاههای ایران به خوردتون میدن رو بنداز آشغالدونی! به درد خودت و اساتید عصر هجری میخوره. به هر حال منم پاسشون کردم میدونم چی هستن! درسته مفاهیم مهمی توشون هست اما خیلی قدیمیتر از اونی هستن که فناوری الآن بهش نیاز داره.
این کتابها که میگم همشون مربوط به معماری کامپیوتر هستن! یعنی درک درست از معماری و رابطهٔ بین سختافزار و نرمافزار.
📘 Computer Organization and Design: MIPS Edition
📘 Computer Organization and Design: RISC-V Edition
📘 Computer Organization and Design: ARM Edition
📘 Computer Architecture: A Quantitative Approach
📘 Modern Processor Design: Fundamentals of Superscalar Processors
📘 ARM System Developer’s Guide
📘 RISC-V Assembly Language
📘 x86-64 Assembly Language Programming with Ubuntu
فقط همین کتاب Computer Organization and Design - MIPS Edition رو بخوای درست بخونی و واقعاً بفهمی، خودش چند ماه تا یک سال وقت میبره؛ نه اینکه فقط ورق بزنی و بگی خوندمش. البته پیشنهاد من ARM Edition هست! چون این معماری واقعاً محشره.
بعد تازه میفهمی کامپیوتر واقعاً چطوری کار میکنه؛
سیستمعامل چیکار میکنه؛ مثلاً گوشی اندروید چطوری رفتار میکنه وقتی به کد شما میرسه!
کامپایلر کدت رو چطوری تبدیل میکنه یا پردازنده چطوری دستورها رو اجرا میکنه؛
حافظه، کش، رجیستر، پایپلاین و وقفه یعنی چی و هزاران مورد دیگه!
برنامهنویسی فقط تایپ کردن کد نیست که عزیز من!
پشت هر خط کدی که مینویسی، یه دنیای کامل از سختافزار، سیستمعامل، کامپایلر و معماری کامپیوتر خوابیده.
واسه همینه که ادعاهای بزرگ فقط با چندتا پروژه و چندتا ویدئو جور درنمیاد اصلاً باید عمرتو به پاش بریزی و غیر از این ممکن نیست که بتونی درکش کنی.
اتفاقاً همین کتابها رو دادن به خورد AI ولی هیچوقت نمیاد از داخل این کتاب یک معماری رو توی پروژه شما اجرا کنه چون قوائد کار با هوش مصنوعی اینه که شما باید آگاه باشی که چه چیزی رو بهش دستور میدی! اینجا باید شما اگه این کتابها رو خوندنی بیای بهش اشاره کنی که بگی مثلاً:
فلان مدل طراحی رو میخوام یا مثلاً ساختار حافظه رو با این روش پیادهسازی کن! و اگرنه تمام دستورات اجرایی AI فقط یک سری نمونههای به شدت مقدماتی هستن که به درد مهندسی شدن نمیخوره.
شما اگه در خصوص برنامههای خاصتر تجربه داشته باشی و این کتابها رو خونده باشی میفهمی که سیستمعامل چطوری حافظه رو مدیریت میکنه و اینجاست که میای میگی من خودم یک تخصیصدهنده (allocator) مینویسم که متناسب با نیازم عمل کنه.
چون میدونی دقیقاً چه چیزی لازم داری و چرا allocator عمومی سیستم همیشه بهترین انتخاب نیست. برای همین چیزاست که برنامهنویسی سطح پایین همیشه ارزشمند بوده و خواهد ماند.
حالا تو بیا بگو من فلان برنامهٔ خفن رو مینویسم اما فقط نوشتمش! دادم به هوش مصنوعی نوشت! :)) بدون یه ذره درک این که توی برنامه حافظه رو چطوری داری مدیریت میکنی.
نکنه واقعاً فکر کردی چهارتا پرامپت این شکلی بدی حله؟
بعد هوش مصنوعی هم برداره با همین مدل کدت رو بنویسه توام بگی حله دیگه همینه! ایول. 😁 من شدم یه متخصص تمام عیار با صد سال سابقه! کی به کیه برو تو رزومتم بنویس!
این کتابها که میگم همشون مربوط به معماری کامپیوتر هستن! یعنی درک درست از معماری و رابطهٔ بین سختافزار و نرمافزار.
📘 Computer Organization and Design: MIPS Edition
📘 Computer Organization and Design: RISC-V Edition
📘 Computer Organization and Design: ARM Edition
📘 Computer Architecture: A Quantitative Approach
📘 Modern Processor Design: Fundamentals of Superscalar Processors
📘 ARM System Developer’s Guide
📘 RISC-V Assembly Language
📘 x86-64 Assembly Language Programming with Ubuntu
فقط همین کتاب Computer Organization and Design - MIPS Edition رو بخوای درست بخونی و واقعاً بفهمی، خودش چند ماه تا یک سال وقت میبره؛ نه اینکه فقط ورق بزنی و بگی خوندمش. البته پیشنهاد من ARM Edition هست! چون این معماری واقعاً محشره.
بعد تازه میفهمی کامپیوتر واقعاً چطوری کار میکنه؛
سیستمعامل چیکار میکنه؛ مثلاً گوشی اندروید چطوری رفتار میکنه وقتی به کد شما میرسه!
کامپایلر کدت رو چطوری تبدیل میکنه یا پردازنده چطوری دستورها رو اجرا میکنه؛
حافظه، کش، رجیستر، پایپلاین و وقفه یعنی چی و هزاران مورد دیگه!
برنامهنویسی فقط تایپ کردن کد نیست که عزیز من!
پشت هر خط کدی که مینویسی، یه دنیای کامل از سختافزار، سیستمعامل، کامپایلر و معماری کامپیوتر خوابیده.
واسه همینه که ادعاهای بزرگ فقط با چندتا پروژه و چندتا ویدئو جور درنمیاد اصلاً باید عمرتو به پاش بریزی و غیر از این ممکن نیست که بتونی درکش کنی.
اتفاقاً همین کتابها رو دادن به خورد AI ولی هیچوقت نمیاد از داخل این کتاب یک معماری رو توی پروژه شما اجرا کنه چون قوائد کار با هوش مصنوعی اینه که شما باید آگاه باشی که چه چیزی رو بهش دستور میدی! اینجا باید شما اگه این کتابها رو خوندنی بیای بهش اشاره کنی که بگی مثلاً:
فلان مدل طراحی رو میخوام یا مثلاً ساختار حافظه رو با این روش پیادهسازی کن! و اگرنه تمام دستورات اجرایی AI فقط یک سری نمونههای به شدت مقدماتی هستن که به درد مهندسی شدن نمیخوره.
شما اگه در خصوص برنامههای خاصتر تجربه داشته باشی و این کتابها رو خونده باشی میفهمی که سیستمعامل چطوری حافظه رو مدیریت میکنه و اینجاست که میای میگی من خودم یک تخصیصدهنده (allocator) مینویسم که متناسب با نیازم عمل کنه.
چون میدونی دقیقاً چه چیزی لازم داری و چرا allocator عمومی سیستم همیشه بهترین انتخاب نیست. برای همین چیزاست که برنامهنویسی سطح پایین همیشه ارزشمند بوده و خواهد ماند.
حالا تو بیا بگو من فلان برنامهٔ خفن رو مینویسم اما فقط نوشتمش! دادم به هوش مصنوعی نوشت! :)) بدون یه ذره درک این که توی برنامه حافظه رو چطوری داری مدیریت میکنی.
نکنه واقعاً فکر کردی چهارتا پرامپت این شکلی بدی حله؟
برنامهای نویس که ایمنی داشته باشد، از اشارهگرهای هوشمند برای جلوگیری از نشت حافظه استفاده کند، بهینه باشد و ...
بعد هوش مصنوعی هم برداره با همین مدل کدت رو بنویسه توام بگی حله دیگه همینه! ایول. 😁 من شدم یه متخصص تمام عیار با صد سال سابقه! کی به کیه برو تو رزومتم بنویس!
COMPΞZ 🧬
اون کتابهایی که توی دانشگاههای ایران به خوردتون میدن رو بنداز آشغالدونی! به درد خودت و اساتید عصر هجری میخوره. به هر حال منم پاسشون کردم میدونم چی هستن! درسته مفاهیم مهمی توشون هست اما خیلی قدیمیتر از اونی هستن که فناوری الآن بهش نیاز داره. این کتابها…
اصلاً بیا برات یه تیر خلاص بزنم اگه چپی هستی یا راستی برو بوق بزن برا خودت!
یکی از دلایلی که ++C رو هیچ زبانی نمیتونه جایگزینش باشه نه C و نه Rust داشتن همین سطح از کنترلشه؛ چیزی مثل
این یعنی، وقتی حافظه را جدا مدیریت میکنی و بعد با
این رو تو از کجا میخوای بفهمی وقتی هیچ آشناییای با معماری نداری؟ والا شوخی بردار نیست این چیزا خیلی سطحی میبینید شماها خیلی به شدت سطحینگر هستید و همینطور فکر میکنید سادست. هلو بیا برو تو گلو.
یکی از دلایلی که ++C رو هیچ زبانی نمیتونه جایگزینش باشه نه C و نه Rust داشتن همین سطح از کنترلشه؛ چیزی مثل
placement new الکی نیست که! کتاب معماری رو بخون سیستمعامل رو درک کن ساختار حافظه رو بفهم بعد بیا ببین کدوم زبان چه دسترسیای بهت میده.این یعنی، وقتی حافظه را جدا مدیریت میکنی و بعد با
placement new شیء رو دقیقاً در همان آدرس میسازی، میتونی هزینهٔ تخصیص حافظههای تکراری رو کم کنی، دادهها رو کنار هم و منظمتر در حافظه بچینی، cache locality بهتری بگیری و فشار روی تخصیصِ عمومی سیستمعامل را کاهش بدهی.این رو تو از کجا میخوای بفهمی وقتی هیچ آشناییای با معماری نداری؟ والا شوخی بردار نیست این چیزا خیلی سطحی میبینید شماها خیلی به شدت سطحینگر هستید و همینطور فکر میکنید سادست. هلو بیا برو تو گلو.
COMPΞZ 🧬
اصلاً بیا برات یه تیر خلاص بزنم اگه چپی هستی یا راستی برو بوق بزن برا خودت! یکی از دلایلی که ++C رو هیچ زبانی نمیتونه جایگزینش باشه نه C و نه Rust داشتن همین سطح از کنترلشه؛ چیزی مثل placement new الکی نیست که! کتاب معماری رو بخون سیستمعامل رو درک کن ساختار…
منظور از Cache locality یعنی دادههایی که CPU لازم دارد، تا حد ممکن نزدیک هم و پشتسرهم در حافظه باشند تا پردازنده سریعتر به آنها برسد.
برای همین چیزهاست که طرف موتور یه بازی مثل GTA رو با سی++ میسازه. و اگرنه عقل نداره با سی یا راست درگیر بشه؟! هزاران دلیل فنی و عمیق هست که همشون مهندسی شدن. ولی نمیدونم چرا ما عادت داریم همینطوری بگیم فلان چیزو میسازیم! بابا قبلش باید بفهمی معماری یعنی چی با وجود هوش مصنوعی برای من زبونتو سه متر واسه من نشون نده که اول درکش کن بعد ثابت کن که کدت چه مشکلی رو حل خواهد کرد.
من این چیزارو توی شبیهسازی سونی دیدم و درک کردم! اونم نه الآن! اون موقع که فقط DMC روی شبیهساز تا ۱۰ دقیقه قابل اجرا بود متوجه شدم که چرا و چطور تخصیصدهندهٔ اختصاصی مینویسن.
الآن۱۰-۱۵ سال شبیهساز به نقطهای رسیده که کامل روی همهٔ سیستمعاملها قابل اجراست با تمام توان.
خب اینا نیاز به درک داره! خاخول نیستن که صد تا برنامهنویس یکی از یکی خفنتر نشستن روی یه پروژه کار میکنن! بخش مهمی از موضوع یادگیری علوم رایانست.
COMPΞZ 🧬
این کتابها که میگم همشون مربوط به معماری کامپیوتر هستن! یعنی درک درست از معماری و رابطهٔ بین سختافزار و نرمافزار.
در خصوص برنامهنویس و مهندسی نرمافزار هم من خودم این کتابها رو خوندم یا PDF اشو و یا بعضیهاشونم دادم چاپ کردن فیزیکی خوندم.
📘 Effective Modern C++
📘 C++ Concurrency in Action
📘 Professional C++
📘 Programming: Principles and Practice Using C++
📘 A Tour of C++
📘 The C++ Programming Language
📘 Clean Architecture
📘 Clean Code
📘 Professional CMAKE A practical guide
📘 Software architecture with C++
اینا از واجبات درک برنامهنویسیه! نه فقط برای خصوص برنامهنویسی سطح پیشرفته، اصلاً برای درک معماری و نرمافزار باید خونده بشن.
مثلاً بعضیها مثل Domain-Driven Design و Clean Architecture یا Clean Code اینارو دیگه هر برنامهنویسی باید بخونه با هر زبانی که کار میکنه لازمش میشه.
ولی خب برای سطوح پیشرفته ساخت محصولات خفن، قبل از ورود باید مباحث مربوط به Computer Organization and Design رو بخونی! چند جلد کتابن که همشون یکی از یکی پر از محتوای عالی. سخته اما آقا اگه میخوای مهندسی فکر کنی و متخصص باشی اینارو باید بخونی نه اینکه ۲ دو ۲ تا چهارتا رو کد نویسی کنی بعد با AI بگی من خفنم! هیچم خفن نیستی! منم بعد نزدیک به ۲۰ سال زحمتی که توی این تخصص کشیدم هنوز میگم هیچ کوفتی نیستم بعد چطور شما ادعا داری تو ۲ سال شدی پروفسور؟! سر در نمیارم! 😖
📘 Effective Modern C++
📘 C++ Concurrency in Action
📘 Professional C++
📘 Programming: Principles and Practice Using C++
📘 A Tour of C++
📘 The C++ Programming Language
📘 Clean Architecture
📘 Clean Code
📘 Professional CMAKE A practical guide
📘 Software architecture with C++
اینا از واجبات درک برنامهنویسیه! نه فقط برای خصوص برنامهنویسی سطح پیشرفته، اصلاً برای درک معماری و نرمافزار باید خونده بشن.
مثلاً بعضیها مثل Domain-Driven Design و Clean Architecture یا Clean Code اینارو دیگه هر برنامهنویسی باید بخونه با هر زبانی که کار میکنه لازمش میشه.
ولی خب برای سطوح پیشرفته ساخت محصولات خفن، قبل از ورود باید مباحث مربوط به Computer Organization and Design رو بخونی! چند جلد کتابن که همشون یکی از یکی پر از محتوای عالی. سخته اما آقا اگه میخوای مهندسی فکر کنی و متخصص باشی اینارو باید بخونی نه اینکه ۲ دو ۲ تا چهارتا رو کد نویسی کنی بعد با AI بگی من خفنم! هیچم خفن نیستی! منم بعد نزدیک به ۲۰ سال زحمتی که توی این تخصص کشیدم هنوز میگم هیچ کوفتی نیستم بعد چطور شما ادعا داری تو ۲ سال شدی پروفسور؟! سر در نمیارم! 😖
COMPΞZ 🧬
در خصوص برنامهنویس و مهندسی نرمافزار هم من خودم این کتابها رو خوندم یا PDF اشو و یا بعضیهاشونم دادم چاپ کردن فیزیکی خوندم. 📘 Effective Modern C++ 📘 C++ Concurrency in Action 📘 Professional C++ 📘 Programming: Principles and Practice Using C++ 📘 A Tour…
خیلی چیزها از داخل کتابها میتونی پیدا کنی که تا به چشم نبینی، تا نخونی هیچ هوش مصنوعیای بهش اشاره نمیکنه و رعایتش هم نمیکنه. همشون هم به ظاهر سادن و نادیده گرفته میشن اما به شدت در توسعه و شکلگیری یک محصول واقعی مهمن.
همین مثال ساده داخل همین کتاب
Software architecture with C++
میگه: خودت رو تکرار نکن!
یعنی چی؟ منظورش این نیست کد تکراری ننویس! میگه باید یک دانش، قانون، منطق یا تصمیم در پس زمینه یک منبع اصلی داشته باشه.
یعنی اگه فردا قانون تغییر کرد، مجبور نشی صد تا فایل رو تغییر بدی فقط به خاطر یه باگ یا یه ویژگی!
اینارو باید توی عمل ببینی و انجام بدی، و اگرنه خیلی جاها درکش به شدت نا مفهومه.
همین مثال ساده داخل همین کتاب
Software architecture with C++
میگه: خودت رو تکرار نکن!
یعنی چی؟ منظورش این نیست کد تکراری ننویس! میگه باید یک دانش، قانون، منطق یا تصمیم در پس زمینه یک منبع اصلی داشته باشه.
یعنی اگه فردا قانون تغییر کرد، مجبور نشی صد تا فایل رو تغییر بدی فقط به خاطر یه باگ یا یه ویژگی!
اینارو باید توی عمل ببینی و انجام بدی، و اگرنه خیلی جاها درکش به شدت نا مفهومه.
COMPΞZ 🧬
:)
یه زمانی مد شده بود هرچی اسکریپت یا سیستم میساختن میگفتن Non Blocking I/O هست خیلی خفنه! شعار تبلیغاتیشون شده بود این به خصوص اون اوایل وب ۳ که هرچی سایت میساختن با ریاکت و راست ترکیبش میکردن میگفتن ببین چقدر سریع و خفنه!
خب سریعترین CMS ای که توی عمرتون دیدین رو برای من معرفی کنید! تگرارو با همون مقایسه خواهم کرد. 🫡 با هزاران و شاید هم میلیونها تست استرس واقعی میخوام فشار بیارم به این سیستم.
قویترین رو بذارید روی میز! 😊 میخوام فرق یک سیستم کامپایلری Native خالص رو با یک سیستم اسکریپتی براتون نشون بدم.
خب سریعترین CMS ای که توی عمرتون دیدین رو برای من معرفی کنید! تگرارو با همون مقایسه خواهم کرد. 🫡 با هزاران و شاید هم میلیونها تست استرس واقعی میخوام فشار بیارم به این سیستم.
قویترین رو بذارید روی میز! 😊 میخوام فرق یک سیستم کامپایلری Native خالص رو با یک سیستم اسکریپتی براتون نشون بدم.
اینطور که میبینم داریم باز قطع میشیم نه؟ توف تو قبرتون بیاد. تقی به توقی سریع خرخره ملت رو هدف بگیرید از صبح دو تا صفحه نتونستم باز کنم با این وضعیت نت شخمی! اینبار قطع بشیم من دیگه حوصله ندارم سرور بگیرم سرویس بسازم پول بدم به اون آروان دزدتر از خودتون.
نجه قالمیشیخ مووووصیبته بو گده گودلرین الیننننن.
نجه قالمیشیخ مووووصیبته بو گده گودلرین الیننننن.
COMPΞZ 🧬
یه زمانی مد شده بود هرچی اسکریپت یا سیستم میساختن میگفتن Non Blocking I/O هست خیلی خفنه! شعار تبلیغاتیشون شده بود این به خصوص اون اوایل وب ۳ که هرچی سایت میساختن با ریاکت و راست ترکیبش میکردن میگفتن ببین چقدر سریع و خفنه! خب سریعترین CMS ای که توی…
در مورد نحوهٔ انتقال فرامتن روی محتوای صفحههات سوألی بود که که بد نیست بدونید این CMS دارای یک ویرایشگر درون برنامهای هست به نام TGEditor به علاوهٔ پشتیبانی از Markdown.
ولی از سه نوع ویرایشگر دیگه مثل Quill و TinyMCE و CKEditor هم به صورت نصب از نوع افزونه پشتیبانی میکنه.
قدیما من با CKEditor زیاد کار کردم، گزینهٔ خوبیه.
در واقع کاربر میتونه هر نوع ویرایشگری که باهاش راحته رو انتخاب کنه.
البته تمرکز من این خواهد بود که TGEditor رو به دو حالت Compact و Pro توسعه بدم.
ولی خب از اونجایی که خیلیها روی سیستمهای دیگه با امثال TinyMCE و یا به سبک مارکدان گیتهاب هم عادت دارن اینارو هم پشتیبانی میکنیم.
ولی از سه نوع ویرایشگر دیگه مثل Quill و TinyMCE و CKEditor هم به صورت نصب از نوع افزونه پشتیبانی میکنه.
قدیما من با CKEditor زیاد کار کردم، گزینهٔ خوبیه.
در واقع کاربر میتونه هر نوع ویرایشگری که باهاش راحته رو انتخاب کنه.
البته تمرکز من این خواهد بود که TGEditor رو به دو حالت Compact و Pro توسعه بدم.
ولی خب از اونجایی که خیلیها روی سیستمهای دیگه با امثال TinyMCE و یا به سبک مارکدان گیتهاب هم عادت دارن اینارو هم پشتیبانی میکنیم.
COMPΞZ 🧬
در مورد نحوهٔ انتقال فرامتن روی محتوای صفحههات سوألی بود که که بد نیست بدونید این CMS دارای یک ویرایشگر درون برنامهای هست به نام TGEditor به علاوهٔ پشتیبانی از Markdown.
😉 یک اسپویل بدم از محیط TGEditor.
این یک ویرایشگر ساده و سبک هست با پشتیبانی از Markdown که کاربر میتونه با سادهترین حالت ممکن محتوای مربوط به فرامتنهای وبسایت رو باهاش ویرایش کنه.
البته میدونم بخش بلاک کدش زیادی لوس شده! اونو با highlightJS شاید جایگزین کنم تا هر زبانی رو به سبک خودش پشتیبانی کنه.
این یک ویرایشگر ساده و سبک هست با پشتیبانی از Markdown که کاربر میتونه با سادهترین حالت ممکن محتوای مربوط به فرامتنهای وبسایت رو باهاش ویرایش کنه.
البته میدونم بخش بلاک کدش زیادی لوس شده! اونو با highlightJS شاید جایگزین کنم تا هر زبانی رو به سبک خودش پشتیبانی کنه.
از من به شما نصیحت، هر مدرسی که اهل پایتون و راست بود و در مورد سی++ اینطور صحبتها کرد به قطع یقین چپی یا خرزشی هست. 😁 حالا دوست داشتین حرفهاش رو باور کنید.
اینها توی همه چیز این مدلی هستن! چون نمیتونن و از دستشون بر نمیاد با واقعیت روبرو بشن سادهترین توجیه براشون نپذیرفتن و گمراه کردن دیگران هست.
به همین سادگی!
قبلاً بارها و بارها توضیح دادم که چرا! اساتید ایرانی دو قرون اگه سواد داشتن که رسانشون ویندوز رو با HTML نمیساخت. 😄😉 البته اینا ایرانی واقعی نیستن... دیگه وارد جزئیاتش نمیشم خودتون میدونید چی میگم.
اینها توی همه چیز این مدلی هستن! چون نمیتونن و از دستشون بر نمیاد با واقعیت روبرو بشن سادهترین توجیه براشون نپذیرفتن و گمراه کردن دیگران هست.
به همین سادگی!
قبلاً بارها و بارها توضیح دادم که چرا! اساتید ایرانی دو قرون اگه سواد داشتن که رسانشون ویندوز رو با HTML نمیساخت. 😄😉 البته اینا ایرانی واقعی نیستن... دیگه وارد جزئیاتش نمیشم خودتون میدونید چی میگم.
COMPΞZ 🧬
از من به شما نصیحت، هر مدرسی که اهل پایتون و راست بود و در مورد سی++ اینطور صحبتها کرد به قطع یقین چپی یا خرزشی هست. 😁 حالا دوست داشتین حرفهاش رو باور کنید. اینها توی همه چیز این مدلی هستن! چون نمیتونن و از دستشون بر نمیاد با واقعیت روبرو بشن سادهترین…
دلیلش اینه که اکثر جامعه اینطور یاد گرفتن که فقط چیزهای نزدیک به سختافزار و سیستمی رو با این زبانها باید ساخت.
این تا حدی اشتباهه! این زبان بر خلاف راست و سی یک زبان سطح بالاست نه سطح پایین.
هرچند گاهاً هم میگن سطح میانی است؛ اما این هم اشتباهه.
دلیل اینکه بهش میگیم خدایان زبانهای برنامهنویسی دقیقاً همین خاصیتهاشه که میتونید نا ممکنها رو باهاش بسازید خیلی هم خوب و خیلیهم خفنشو بسازید.
اینکه کسی نمیتونه فقط بر میگرده به محدودیتها در آگاهی و شناختش نسبت به یک ابزار و این میشه پاسخ که خب چون من نتونستم پس نمیشه. :) اتفاقاً اون چیزهایی که در زبانهای دیگه نمیتونید بسازید راه چارش اینوره.
حالا برای تجربهٔ بیشتر CMS که آماده شد خودتون خواهید دید که چه خروجیهایی میشه در وب با این زبان ایجاد کرد که برای بعضیها حتی تصورش هم تو خواب ممکن نبود.
این تا حدی اشتباهه! این زبان بر خلاف راست و سی یک زبان سطح بالاست نه سطح پایین.
هرچند گاهاً هم میگن سطح میانی است؛ اما این هم اشتباهه.
دلیل اینکه بهش میگیم خدایان زبانهای برنامهنویسی دقیقاً همین خاصیتهاشه که میتونید نا ممکنها رو باهاش بسازید خیلی هم خوب و خیلیهم خفنشو بسازید.
اینکه کسی نمیتونه فقط بر میگرده به محدودیتها در آگاهی و شناختش نسبت به یک ابزار و این میشه پاسخ که خب چون من نتونستم پس نمیشه. :) اتفاقاً اون چیزهایی که در زبانهای دیگه نمیتونید بسازید راه چارش اینوره.
حالا برای تجربهٔ بیشتر CMS که آماده شد خودتون خواهید دید که چه خروجیهایی میشه در وب با این زبان ایجاد کرد که برای بعضیها حتی تصورش هم تو خواب ممکن نبود.
COMPΞZ 🧬
دلیلش اینه که اکثر جامعه اینطور یاد گرفتن که فقط چیزهای نزدیک به سختافزار و سیستمی رو با این زبانها باید ساخت. این تا حدی اشتباهه! این زبان بر خلاف راست و سی یک زبان سطح بالاست نه سطح پایین. هرچند گاهاً هم میگن سطح میانی است؛ اما این هم اشتباهه. دلیل…
بارها گفتم شرکتها و سیستم تبلیغاتی جامعه مردم رو فریب میدن که برای خودشون رقیب در محصولات نتراشند. اینو من ۱۵ سال پیش وقتی بردهٔ مایکروسافت و اون قوائد مزخرفش بودم درک کردم! یه عمر با سیشارپ و ویژوال بیسیک کار کردم تا بفهمم چرا این زبانها محدودیت دارن و چرا تبلیغ میشن اصلاً.
بزرگان صنعت نرمافزاری چیزهای خوب رو برای خودشون انحصاری میکنن و یه سری ابزارهای مزخرف برای دیگران توصیه میکنن! مثل مایکروسافت، اپل یا گوگل! خب به همینجاش فکر نکردین که چرا اپل خودش با سی++ محصولاتش رو میسازه ولی برای جامعش Swift رو پیشنهاد میکنه؟ یا اون مایکروسافت چرا با سی++ محصولات انحصاریش رو میسازه ولی سیشارپ رو توصیه میکنه به بقیه؟ یا گوگل؟ چرا؟
درسته که این ابزار سخته! مهندسی و تخصصیه و جامعه همه قرار نیست متخصص باشن! اما اینکه همه چیزو پنهان کنی و در مورد واقعیتها صحبت نکنی این خودش سیاستی برای کنترل جامعهٔ توسعهدهندههاست.
جامعه باید یک مکانیزمی داشته باشه! چرا باید تبلیغ چیزی رو کنه که فردا روزی یکی بیاد یه چیزی بسازه که بتونه رقابت کنه با محصول یک شرکت غول؟ 😄😉
در مورد راست ندیدین چه تبلیغات گندهگوزیای موزیلا براش کرد حتی به قدری هزینه کرد که نفهمها اومدن مراجع سی++ رو هک کردن و به زور اسم راست رو چپوندن توش که مثلاً ملت رو به شک بندازن؟! همون موقع کل کمیتهٔ استانداردسازی به این رفتار بچگانشون خندید.
اینا اینطورین! دنیا دست یه مشت چپیه که نمیذاره منافع خودشون زیر سوأل بره! ذهنها رو با تبلیغات دروغ و کودن پروری سوق میدن به سمتی که جامعه رو گمراه کنن.
اسمشم میذارن سخته، ایمن نیست، فلان نیست. چون تنها زبانیه که متعلق به هیچ شرکت یا فردی نیست! یک استاندارد پشتشه و همهٔ این شرکتها هم وابستشن. اما این مسخرهبازیهاشون همیشه بوده و هست.
سیاست توی همه چیز رخنه کرده! نمیذارن ملت از چیزی که باید آگاه باشن شما بخوای پیشرفت کنی خودت باید بری دنبالش و اگرنه با توصیه این شرکتها قرار نیست پیشرفتی کنی.
همین Fable 5 رو که دیدی... چرا خاموشش کردن؟ و چرا الآن به شدت ضعیفش کردن؟ چون دیدن که عه!!! ملت میتونن به چیزهایی دسترسی داشته باشن که ممکنه به ضرر ما باشه. همیشه همینطور بوده و همینطور خواهد بود.
جامعه به خصوص جامعهٔ ایرانی سادهتر از اونیه که فکرشو میکنید، به قدری سادن که هرکی هرچی گفت عین بت میپرستنش! چه یک ابزار باشه، چه یه شخص یا ایدوئولوژی باشه. هیچ وقت هم به خودشون نمیگن آخه بابا یه علامت سوأل تو ذهنم بسازم توش بعد ببینم داستان چیه اصلاً.
بزرگان صنعت نرمافزاری چیزهای خوب رو برای خودشون انحصاری میکنن و یه سری ابزارهای مزخرف برای دیگران توصیه میکنن! مثل مایکروسافت، اپل یا گوگل! خب به همینجاش فکر نکردین که چرا اپل خودش با سی++ محصولاتش رو میسازه ولی برای جامعش Swift رو پیشنهاد میکنه؟ یا اون مایکروسافت چرا با سی++ محصولات انحصاریش رو میسازه ولی سیشارپ رو توصیه میکنه به بقیه؟ یا گوگل؟ چرا؟
درسته که این ابزار سخته! مهندسی و تخصصیه و جامعه همه قرار نیست متخصص باشن! اما اینکه همه چیزو پنهان کنی و در مورد واقعیتها صحبت نکنی این خودش سیاستی برای کنترل جامعهٔ توسعهدهندههاست.
جامعه باید یک مکانیزمی داشته باشه! چرا باید تبلیغ چیزی رو کنه که فردا روزی یکی بیاد یه چیزی بسازه که بتونه رقابت کنه با محصول یک شرکت غول؟ 😄😉
در مورد راست ندیدین چه تبلیغات گندهگوزیای موزیلا براش کرد حتی به قدری هزینه کرد که نفهمها اومدن مراجع سی++ رو هک کردن و به زور اسم راست رو چپوندن توش که مثلاً ملت رو به شک بندازن؟! همون موقع کل کمیتهٔ استانداردسازی به این رفتار بچگانشون خندید.
اینا اینطورین! دنیا دست یه مشت چپیه که نمیذاره منافع خودشون زیر سوأل بره! ذهنها رو با تبلیغات دروغ و کودن پروری سوق میدن به سمتی که جامعه رو گمراه کنن.
اسمشم میذارن سخته، ایمن نیست، فلان نیست. چون تنها زبانیه که متعلق به هیچ شرکت یا فردی نیست! یک استاندارد پشتشه و همهٔ این شرکتها هم وابستشن. اما این مسخرهبازیهاشون همیشه بوده و هست.
سیاست توی همه چیز رخنه کرده! نمیذارن ملت از چیزی که باید آگاه باشن شما بخوای پیشرفت کنی خودت باید بری دنبالش و اگرنه با توصیه این شرکتها قرار نیست پیشرفتی کنی.
همین Fable 5 رو که دیدی... چرا خاموشش کردن؟ و چرا الآن به شدت ضعیفش کردن؟ چون دیدن که عه!!! ملت میتونن به چیزهایی دسترسی داشته باشن که ممکنه به ضرر ما باشه. همیشه همینطور بوده و همینطور خواهد بود.
جامعه به خصوص جامعهٔ ایرانی سادهتر از اونیه که فکرشو میکنید، به قدری سادن که هرکی هرچی گفت عین بت میپرستنش! چه یک ابزار باشه، چه یه شخص یا ایدوئولوژی باشه. هیچ وقت هم به خودشون نمیگن آخه بابا یه علامت سوأل تو ذهنم بسازم توش بعد ببینم داستان چیه اصلاً.