An Inspired Engineer
1.3K subscribers
63 photos
17 videos
4 files
91 links
اینجا در مورد performance, distributed systems و کرنل لینوکس مینویسم

https://aieideas.com/
Download Telegram
The_Clean_Coder_A_Code_of_Conduct_for_Professional_Programmers_by.pdf
2.8 MB
دوستان عزیز و همکاران گرامی، وقت بذارید این کتاب رو حتما بخونید. تقریبا هیچ نکته‌ی فنی مربوط به Clean Code و ... توش گفته نمیشه. تو این کتاب مارتین داره یه آدم حرفه‌ای رو از دیدگاه خودش توصیف میکنه و یکسری باید و نباید تعریف میکنه و مشخص میکنه که به کی میگن حرفه‌ای و یک برنامه نویس حرفه‌ای چه خصوصیاتی باید داشته باشه.
Hossein

@knowpow
👍4
روی تکنیک های برنامه نویسی تمرکز کنید نه امکانات زبان

Bjarne Stroustrup
@knowpow
👍6
Forwarded from a pessimistic researcher (Kc)
"جنگ است میان هوش و فرمال" - چند سطری پیرامون این کانال

———————————————————

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

ترم چهارم بود که با هزار ترس و لرز درس دیتابیس رو با ایشون اخذ کردم. کلی شنیده بودم که ایشون آدم بدخلق و سخت‌گیر و نمره‌نده و بی‌اخلاقی هستند. یادمه جلسه‌ اولی که رفتم سر کلاس ایشون نشستم سرما هم خورده بودم و آب‌ریزش بینی امونم رو بریده بود. همینطور که غرق افکارات خودم بودم دیدم که به‌ناگهان یک غول قد بلند با لباس‌های ژولیده پولیده، یک پلاستیک کهنه‌ی تبلیغاتی به دست، با موهای پریشون و از اینجا تا صبح سیبیل وارد کلاس شدند :)))
نشستند پشت میز و پرسیدند که کلاس چیه ؟ و بچه ها پاسخ دادند پایگاه‌داده.
صداش به شدت شبیه رضا عطاران بود و معلوم بود که بسیار شوخ هستند و کلی حس خوب گرفتم.
—————————————————————

گفت یک کانالِ تِلگِرامی بسازید تا من جنس‌های این درس رو براتون بریزم اونجا :))
یهو دیدیم سه چهارتا کتاب زبان اصلی برامون گذاشتند و منم که تو عمرم کتاب رفرنس ندیده بودم رنگم سفید شد.

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

یه دختری سر کلاس برگشت گفت : استاد اینا که همش انگلیسی عه!!!!
ایشونم جواب داد : می‌خواستی عربی باشه ؟ :))))))))))))
بعدم شروع کرد به سوال پرسیدن که Data چیه و File چیه و ما هم هر جوابی می‌دادیم آفتابه می‌گرفت بهمون و میگفت خاک بر سرتون که ۷۰ واحد پاس کردید ولی حتی مقدمات علمتون رو هم بلد نیستید :)))

یادمه یه بار یه کوئری گفت که با جبر رابطه‌ای بنویسیم و منم آورد پای تخته و منم بلد نبودم.
برگشت بهم گفت اشکال نداره ترم دیگه یاد میگیری :))))
خلاصه ترم تموم شد و منم که رفرنس خودند و این حرفا نمی‌دونستم چیه اون ترم رو گذروندم و تهش شدم ۸.۷۵ :)))
—————————————————
اولین درسی بود که افتادم و بهتره بگم نمره‌ A نگرفتم :)))
اعصابم به شدت خرد شد. لج کردم با خودم حسابی. گفتم تابستون می‌شینم هر چهار تا کتاب رو خوندن و گفتم که آماده میرم سر کلاسش ترم بعد تا پوزش رو زمین بزنم.
—————————————————

ترم بعد شد و منم از ترسش به غلط کردن افتادم و با یکی دیگه برداشتم :))) ولی اون کلاسش رو با کلاس سیستم عامل رو مهمان شروع کردم به شرکت کردن. کتاباشم خونده بودم.
سر کلاس چند تا سوال پرسید و منم جواب دادم و برگشت گفت : این گاگول مثل اینکه یه چیزایی بلده. براتون حل تمرین میذاره که شاید دو سه تاتون پاس شن این ترم.
خلاصه منم گل از گلم شکفت و شروع کردم به غرق شدن در علم دیتابیس. عاشق Relational Theory شدم. عاشق این شدم که انقدر ریاضیات میتونه توی علم ما کاربرد داشته باشه و بشه با ریاضیات یک دیتابیس طراحی کرد بشه با ریاضیات پاسخ کوئری نوشت و این صحبتا. چیزی که تو عمرم تا به حال ندیده بودم، ریاضیات کاربردی!
—————————————————

از ترم بعد شدم تیعی درس دیتابیس و سیستم‌عاملش و ترم به ترم بیشتر این دروس رو می‌خوندم و بیشتر می‌فهمیدم که نمی‌فهمم. توی مطالعاتم فهمیدم که به این مباحث ریاضیاتی که توی دیتابیس می‌خونیم میگن Formal Methods و به شدت توی سیستم‌عامل و سیستم‌های توزیع شده و برنامه‌نویسی ترتیبی و Concurrent کاربرد داره. فرمال متد برای من شد شمس تبریزی و منم مولوی‌ش.
توی درس نرم ۲ دیگه اوجش بود و فهمیدم که ریشه‌ من فرمال متد عه و هر چیزی که فرمال متد توش نقش نداره مثل هوش مصنوعی رو ازش متنفرم.
——————————————————

وقتی که ارشد اومدم شریف تمام زورم رو زدم که تزم رو در مباحث فرمال متد تعریف کنم و از شانس خوبم دکتر موقر بنده رو پذیرفت. از طریق ایشون با دکتر سیرجانی که در دانشگاه Mälardalens هستند آشنا شدم و تزم رو با ایشون پیش گرفتم.

——————————————————

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

——————————————————

من نمی‌دونم کی هستید و چی هستید و از کجا اومدید اینجا ولی حسابی خوش اومدید و خوشحالم که مثل خودم آدم دیوونه کم نداریم تو این مملکت :)))
👍8
اگه دبیرستان یا دانشگاه هستید و علاقه دارید برنامه‌نویس خیلی خوبی بشین، علاوه بر کارهایی که بقیه انجام میدن، سعی کنید یک چیزی که سخته و نیاز به تمرکز و تلاش چند ماهه و چند ساله داره رو هم انجام بدین. مثال‌های دم دست مسابقات برنامه‌نویسی و المپیاد و روباتیکه، ولی می‌تونه نوشتن یک سیستم‌عامل یا یک بازی پیچیده یا پیاده‌سازی استک اینترنت از پایین به بالا یا ... هم باشه. هر چقدر هم از دنیای ایده‌آل حرف بزنیم و بگیم به جای X کلی کار بهتر میشه کرد، باز هم انجام دادن یک کاری که باعث باشه چند صد هزار خط کد بزنید و کلی مساله حل کنید، خیلی خیلی خیلی بهتر از متوسط جامعه‌ی اطرافتونه.
یکی از بهترین روش‌های یادگیری ساختن و انجام دادن است.
همچنین، میتونین به منابع زیر برای ایده گرفتن مراجعه کنید:

Project-based-learning(GitHub)
Build-your-own-x(GitHub)


هادی مشیدی(گوگل، ماکروسافت)


@knowpow
👍51
شاید یکی از بهترین استاد هایی که تا الان دیدم، استاد رامتین خسروی بوده، واقعا تسلط بالاشون توی انتقال چیزی که میخوان به کسی یاد بدن تحسین کردنیه، مکتب خونه دوتا کورس از کلاس های شریف و دانشگاه تهران رو گذاشته که به هرکی که توی این صنعت هست یا میخواد وارد بشه ۱۰۰ درصد پیشنهاد میکنم، شاید حتی نیاز باشه دوبار ببینه 🙂

مهندسی اینترنت LINK
برنامه نویسی پیشرفته LINK

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

همچنین وبسایتشون
👍4🤯1
چیزی که همیشه منم میگم اینه که آقا هر جا دیدی داری یه چیزو تکرار میکنی، یه کدی رو تکرار میکنی بدون داری اشتباه میزنی، یا معماری سیستمت درست نیست، یا کدت رو درست طراحی نکردی، یا کلاس ها وظایف خودشون رو بدرستی انجام نمیدن و دارن بیشتر یا کمتر از اسکوپ فعالیتشون کار میکنن...

نظر استاد خسروی در مورد کپی/پیست و تکرار کد ها توی مهندسی نرم افزار

@knowpow
👍3🤔1
Forwarded from a pessimistic researcher
بخشی از کلاس سیستم عامل استاد روحانی در مورد ترجمه اصطلاحات فنی علم کامپیوتر :)))
در اردوگاه‌ های کار اجباری کره شمالی چیزهای بسیاری یاد گرفتم و مهمترین آنها این بود:
بدبخت‌ ترین برده‌ ها آن برده‌ ای است که سرنوشت خود را پذیرفته و با آن کنار آمده است.

آکواریوم‌های پیونگ یانگ_کانگ چول هوان
👍2😱1
چرا تسلیم میشویم؟

چون:
انتظار نتایج سریع داریم؛
دست از باور به خود برمیداریم؛
در گذشته گیر کرده ایم؛
روی اشتباهات باقی مانده ایم؛
از آینده میترسیم؛
در برابر تغییر مقاومت میکنیم؛
احساس میکنیم دنیا چیزی به ما بدهکار است؛
از شکست بیش از آرزوی موفقیت میترسیم؛
فکر میکنیم مشکلات ما منحصر به فرد است؛
شکست را به عنوان علامت بازگشت به عقب میبینیم؛
و در نهایت برای خودمان تاسف میخوریم...
👍6😢1
من برای اینکه بتونم DataClass رو با بافر های باینری بین ++C و Java جابجا کنم شروع کردم یه پروژه نوشتم که فعلا رو اندروید اجرا میشه، الان دارم بافرش رو مینویسم و خوشحال میشم اگه خواستین درموردش صحبت کنیم و ببینیدش و بهش استار هم بدین 🙂

لینک repo گیتهاب:
https://github.com/aabolfazl/Aurora-NativeBuffer
👍1🔥1
Hoosham Bebar Saadi - Www.DownLoadSpeed.IR
Mohsen Namjoo - Www.DownLoadSpeed.IR
گر سنگ فتنه بارد فرق منش سپر کن
ور تیر طعنه آید جان منش نشانه

سعدی
6
‏همسایه کناریم، غمگینم می کند. زن و شوهر صبح زود بیدار می شوند، می روند سر کار،
عصر باز می گردند . یک پسر و یک دختر دارند.
ساعت 9 شب، همه چراغهای خانه خاموش است. فردا صبح نیز زود بیدار می شوند،
سر کار می روند، عصر باز می گردند، ساعت 9، خاموشی... همسایه کناریم، غمگینم می کند...‏
آدمهای خوبی هستند، دوستشان دارم.
اما حس می کنم در حال غرق شدن اند، و نمی توانم کمکشان کنم. گذرانِ زندگی می کنند. بی خانمان نیستند. اما بهای گزافی می پردازند.
گاهی در میانه روز، به خانه شان می نگرم، و خانه نگاهم می کند، خانه، می گرید، می توانم حس کنم.


چارلز_بوکوفسکی
😢5👍1
‏تیم فنی در واکنش به تیم تست
😁1
Science can amuse and fascinate us all, but it is engineering that changes the world. (Isaac Asmiov)

یا به یه گفتار دیگه، مهندسی بالاترین جایگاه با اهمیتی است که میتوان در زندگی به آن دست یافت. مهندسی جامعه را به سطح تازه‌ای ارتقا میدهد.

@knowpow
1🔥1
توی این ویدیو در مورد زبون راست(Rust) صحبت میشه و مشکلاتی که ما درمورد مموری منجمنت با خودمون توی سی داریم رو تشریح میکنه و بهمون نشون میده که راست چطور برای اون راه حل داره و حلش کرده، آخرشم پرفورمنسش رو نشون میده و یه بررسی نهایی انجام میده، دیدنش رو بهتون پیشنهاد میکنم:

https://www.youtube.com/watch?v=WgLlwjZNEtY
👍1😱1
باید ها و نباید ها توضیحات هسته ی اصلی سی++ مدرن

https://www.modernescpp.com/index.php/category/modern-c

@knowpow
‏من تصمیم گرفتم کتابی که یکبار خونده بودم رو تو ویرگول خلاصه اش رو بنویسم، منبع فارسی برای سیستم پروگرمینگ واقعا فکر کنم اصلا نداریم ولی قرار نیست این رشته پست‌ها هم منبع برای سیستم پروگرمینگ باشه ولی میتونه نقطه ی شروع خوبی برای اونایی که میخوان یه تستی بزنن باشه، ‏میخوام کتاب The Linux Programming Interface از Michael Kerrisk رو با هم پیش بریم، خوده کتاب نمونه کد هارو با زبون C نوشته ولی اگه به نمونه کد نیازی باشه احتمالا با ++C میخوام پیش برم. هر فصل رو توی یه پست ویرگول مینویسم و کنارش توضیحات اضافی هم اگه نیازی بود میدم.

@knowpow
👍9
An Inspired Engineer
‏من تصمیم گرفتم کتابی که یکبار خونده بودم رو تو ویرگول خلاصه اش رو بنویسم، منبع فارسی برای سیستم پروگرمینگ واقعا فکر کنم اصلا نداریم ولی قرار نیست این رشته پست‌ها هم منبع برای سیستم پروگرمینگ باشه ولی میتونه نقطه ی شروع خوبی برای اونایی که میخوان یه تستی بزنن…
فصل اول، تاریخچه و مفهوم سیستم پروگرمینگ

قراره تاریخچه و مفهوم سیستم پروگرمینگ رو بررسی کنیم، اول به تاریخچه ی UNIX یه نگاهی بندازیم، لینوکس و C، زبونی که باهاش نوشته شده رو بررسی کنیم و از استاندارد های UNIX گذرا رد بشیم و باید آخر این فصل بدونیم لینوکس چیه و فرقش با یونیکس چیه؟ توی این فصل سعی کردم همون مفاهیم توی کتاب رو بگم و تاجایی که میتونم دست نخورده باقی بزارمشون، از فصل های دیگه که وارد کد میشیم ماجرا فرق میکنه و تغیراتی رو اعمال میکنم. بریم که شروع کنیم...

https://virgool.io/@abbasiabolfazl/linux-programing-interface-chapter-1-f643i9t6dwcj
👍5
An Inspired Engineer
‏من تصمیم گرفتم کتابی که یکبار خونده بودم رو تو ویرگول خلاصه اش رو بنویسم، منبع فارسی برای سیستم پروگرمینگ واقعا فکر کنم اصلا نداریم ولی قرار نیست این رشته پست‌ها هم منبع برای سیستم پروگرمینگ باشه ولی میتونه نقطه ی شروع خوبی برای اونایی که میخوان یه تستی بزنن…
فصل دوم، مفاهیم اساسی سیستم پروگرمینگ

قراره مفاهیم اساسی سیستم پروگرمینگ رو بررسی کنیم. اول به اینکه کرنل یا هسته ی لینوکس چیه؟ شل به چی میگن؟ بعد در مورد کاربرها و گروه های توی لینوکس بخونیم، یه نگاه کلی به File I/O، برنامه ها، پروسس ها، Memory mapping، لایبرری های های پویا و ثابت، سیگنال ها و Threads(توی فصل های بعد کامل توضیح داده میشه). توی این فصل هم سعی کردم همون مفاهیم توی کتاب رو بگم و تاجایی که میتونم دست نخورده باقی بزارمشون، از فصل های دیگه که وارد کد میشیم ماجرا فرق میکنه و تغیراتی رو اعمال میکنم، بریم که شروع کنیم...

https://virgool.io/@abbasiabolfazl/linux-programing-interface-chapter-2-c9w3zswzukgo
👍5