SOLID Principles یا اصول سالید، یه سری قانونه که اگه رعایت کنیم، کدامون رو بهتر و تمیزتر مینویسیم. این قوانین رو یه مهندس نرمافزار به اسم رابرت سی مارتین(Robert Cecil Martin ملقب به Uncle Bob) در سال ۲۰۰۰ ارائه داده و بعدا یه دولوپر دیگه به اسم مایکل فیدرز(Michael Feathers) در سال ۲۰۰۴ از حروف اولشون کلمه سالید رو درست کرد.
SOLID مخفف این اصول هستش:
Single-responsibility: یعنی هر کلاس یا هر تابع فقط باید یه کار کنه و چند مسئولیت نداشته باشه، برای تغییرش هم فقط یه دلیل وجود داشته باشه.
Open-closed: یعنی هر کلاس یا هر تابع باید برای اضافه کردن قابلیتهای جدید باز و آزاد باشه، ولی برای تغییر دادن کارایی فعلی بسته و محدود باشه.
Liskov substitution: یعنی هر جا که از یه کلاس پدر استفاده میکنیم، باید بتونیم از هر کلاس فرزندی که ازش مشتق شده هم استفاده کنیم، بدون اینکه مشکلی پیش بیاد.
Interface segregation: یعنی هر کلاس یا هر تابع، نباید به چیزی بیشتر از اون متدها یا اون پارامترهایی که نیاز داره وابستگی داشته باشه.
Dependency inversion: یعنی هر کلاس یا هر تابع باید به شکل انتزاعی تعریف بشه، نه با جزئیات کامل.
این اصول باعث میشن که کدامون قابل فهمتر، انعطافپذیرتر و با نگهداریِ راحتتر بشن و میتونن به ما کمک کنن که از بینظمی و تکرار کد و در نتیجه یه فاجعهٔ بزرگ جلوگیری کنیم.
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
SOLID مخفف این اصول هستش:
Single-responsibility: یعنی هر کلاس یا هر تابع فقط باید یه کار کنه و چند مسئولیت نداشته باشه، برای تغییرش هم فقط یه دلیل وجود داشته باشه.
Open-closed: یعنی هر کلاس یا هر تابع باید برای اضافه کردن قابلیتهای جدید باز و آزاد باشه، ولی برای تغییر دادن کارایی فعلی بسته و محدود باشه.
Liskov substitution: یعنی هر جا که از یه کلاس پدر استفاده میکنیم، باید بتونیم از هر کلاس فرزندی که ازش مشتق شده هم استفاده کنیم، بدون اینکه مشکلی پیش بیاد.
Interface segregation: یعنی هر کلاس یا هر تابع، نباید به چیزی بیشتر از اون متدها یا اون پارامترهایی که نیاز داره وابستگی داشته باشه.
Dependency inversion: یعنی هر کلاس یا هر تابع باید به شکل انتزاعی تعریف بشه، نه با جزئیات کامل.
این اصول باعث میشن که کدامون قابل فهمتر، انعطافپذیرتر و با نگهداریِ راحتتر بشن و میتونن به ما کمک کنن که از بینظمی و تکرار کد و در نتیجه یه فاجعهٔ بزرگ جلوگیری کنیم.
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
👍4
✅ حتما شنیدید که میگن جاوااسکریپت تک رشته ای (Single-threaded) است. یعنی چی؟
🌀 یعنی جاوااسکریپت فقط میتونه یک کار رو در یک زمان انجام بده. مثل این میمونه که یه نفر باشه که فقط یه کار رو میتونه انجام بده و باید کارها رو یکی یکی انجام بده.
📝 اما یه نکته جالب اینه که جاوااسکریپت با استفاده از چیزی به نام Event Loop (حلقه رویداد) میتونه به نظر برسه که همزمان چند کار رو انجام میده.
🧐 مثلاً فرض کن داری یه برنامه مینویسی که همزمان باید یه تایمر رو نشون بده و یه درخواست به سرور بفرسته. جاوااسکریپت این کار رو با استفاده از صف وظایف (Task Queue) و حلقه رویداد مدیریت میکنه.
به زبان ساده، جاوااسکریپت کارها رو توی صف میذاره و یکی یکی انجامشون میده، ولی چون خیلی سریع این کار رو میکنه، به نظر میرسه که همزمان داره چند کار رو انجام میده.
#JavaScript
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
🌀 یعنی جاوااسکریپت فقط میتونه یک کار رو در یک زمان انجام بده. مثل این میمونه که یه نفر باشه که فقط یه کار رو میتونه انجام بده و باید کارها رو یکی یکی انجام بده.
📝 اما یه نکته جالب اینه که جاوااسکریپت با استفاده از چیزی به نام Event Loop (حلقه رویداد) میتونه به نظر برسه که همزمان چند کار رو انجام میده.
🧐 مثلاً فرض کن داری یه برنامه مینویسی که همزمان باید یه تایمر رو نشون بده و یه درخواست به سرور بفرسته. جاوااسکریپت این کار رو با استفاده از صف وظایف (Task Queue) و حلقه رویداد مدیریت میکنه.
به زبان ساده، جاوااسکریپت کارها رو توی صف میذاره و یکی یکی انجامشون میده، ولی چون خیلی سریع این کار رو میکنه، به نظر میرسه که همزمان داره چند کار رو انجام میده.
#JavaScript
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
👍4❤3
شب یلدا را بر همه دانشجویان گرامی تبریک میگوییم
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
❤8
انسان ها در کدام سطح هوش مصنوعی قرار دارند؟
Final Results
32%
فراهوش
39%
عمومی
17%
محدود
12%
ابتدایی
❤6
🔰سطوح هوش مصنوعی:
● محدود
| هوش مصنوعی امروز در این مرحله قرار دارد.
● عمومی
| انسان در این سطح از هوش است و هوش مصنوعی سعی دارد به این سطح برسد.
● فراهوش
| هنوز موجودی به این سطح از هوش نرسیده است.
#information #Ai
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
● محدود
| هوش مصنوعی امروز در این مرحله قرار دارد.
● عمومی
| انسان در این سطح از هوش است و هوش مصنوعی سعی دارد به این سطح برسد.
● فراهوش
| هنوز موجودی به این سطح از هوش نرسیده است.
#information #Ai
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
👍3❤2
انجمن علمی علوم کامپیوتر با همکاری دانشکده ریاضی و علوم کامپیوتر برگزار میکند:
سمینار اشنایی با سیستم NLP
و
رونمایی از مدل زبان طبیعی شایلین
🕰 دوشنبه ۳ دی ماه ساعت ۱۲:۰۰
📍مرکز کارآفرینی و نوآوری دانشگاه
‼️شرکت برای تمام عموم آزاد است
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
سمینار اشنایی با سیستم NLP
و
رونمایی از مدل زبان طبیعی شایلین
🕰 دوشنبه ۳ دی ماه ساعت ۱۲:۰۰
📍مرکز کارآفرینی و نوآوری دانشگاه
‼️شرکت برای تمام عموم آزاد است
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
🔥3👍1
Dark Reader
🔥 از اونجایی که خیلی از سایتا تم لایت دارن و باعث اذیت شدن چشم میشن، استفاده از این اکستنشن میتونه کمک بزرگی به پیشگیری از این آسیبدیدگی کنه.
⭐️ کار اصلی دارک ریدر اینه که میاد پالت رنگی وبسایت رو به shadeهای تیرهتر تبدیل میکنه و هر تمی رو دارک میکنه. البته کلی قابلیت جذاب برای شخصیسازی نوع و میزانِ اعمال تغییرات داره.
✅ این اکستنشن اپنسورسه و برای اکثر مرورگرها هم در دسترسه.
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
🔥 از اونجایی که خیلی از سایتا تم لایت دارن و باعث اذیت شدن چشم میشن، استفاده از این اکستنشن میتونه کمک بزرگی به پیشگیری از این آسیبدیدگی کنه.
⭐️ کار اصلی دارک ریدر اینه که میاد پالت رنگی وبسایت رو به shadeهای تیرهتر تبدیل میکنه و هر تمی رو دارک میکنه. البته کلی قابلیت جذاب برای شخصیسازی نوع و میزانِ اعمال تغییرات داره.
✅ این اکستنشن اپنسورسه و برای اکثر مرورگرها هم در دسترسه.
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
👍9
Forwarded from M.Tajari
باسلام و احترام
ضمن آرزوی صحت و سلامتی برای شما دانشجویان گرامی،به اطلاع میرساند پرسشنامه پیش رو به منظور بررسی رابطه بین کیفیت خواب و سطح استرس در دانشجویان دانشکده ریاضی دانشگاه حکیم سبزواری(در مقطع تحصیلی کارشناسی) تنظیم شده است. این پرسشنامه حدود 5الی10 دقیقه زمان شما را به خود اختصاص خواهد داد.
لازم به ذکر است تمامی اطلاعات محرمانه خواهد ماند و هویت پاسخگویان کاملا ناشناخته باقی می مانند،بنابراین از شما خواهشمندیم با پاسخگویی دقیق،صبورانه و صادقانه خود،ما را در دستیابی به اهداف تحقیق و نتایج معتبر یاری فرمایید.
از همکاری شما سپاسگزاریم.
https://survey.porsline.ir/s/bG17otfk
ضمن آرزوی صحت و سلامتی برای شما دانشجویان گرامی،به اطلاع میرساند پرسشنامه پیش رو به منظور بررسی رابطه بین کیفیت خواب و سطح استرس در دانشجویان دانشکده ریاضی دانشگاه حکیم سبزواری(در مقطع تحصیلی کارشناسی) تنظیم شده است. این پرسشنامه حدود 5الی10 دقیقه زمان شما را به خود اختصاص خواهد داد.
لازم به ذکر است تمامی اطلاعات محرمانه خواهد ماند و هویت پاسخگویان کاملا ناشناخته باقی می مانند،بنابراین از شما خواهشمندیم با پاسخگویی دقیق،صبورانه و صادقانه خود،ما را در دستیابی به اهداف تحقیق و نتایج معتبر یاری فرمایید.
از همکاری شما سپاسگزاریم.
https://survey.porsline.ir/s/bG17otfk
Porsline
بررسی رابطه بین کیفیت خواب و سطح استرس در دانشجویان دانشکده ریاضی دانشگاه حکیم سبزواری
با پُرسلاین به راحتی پرسشنامه خود را طراحی و ارسال کنید و با گزارشهای لحظهای آن به سرعت تصمیم بگیرید.
👍1
#گزارش_تصویری
انجمن علمی علوم کامپیوتر با همکاری دانشکده ریاضی و علوم کامپیوتر برگزار کرد:
سمینار اشنایی با سیستم NLP
و
رونمایی از مدل زبان طبیعی شایلین
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
انجمن علمی علوم کامپیوتر با همکاری دانشکده ریاضی و علوم کامپیوتر برگزار کرد:
سمینار اشنایی با سیستم NLP
و
رونمایی از مدل زبان طبیعی شایلین
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
❤6🔥1
John McCarthy
جان مککارتی، یک دانشمند کامپیوتر افسانهای بود که به عنوان یکی از پدران هوش مصنوعی شناخته میشه.
شخصی بود اهل امریکا و برای اولینبار اصطلاح AI(Artificial intelligence) رو ابداع کرد(۱۹۵۵)، زبان لیسپ(Lisp) رو اختراع کرد، مفهوم GC(Garage Collector) رو معرفی کرد و تحولات بزرگی در تاریخ علوم کامپیوتر ایجاد کرد.
در دانشگاههایی مثل پرینستون، امآیتی، استنفورد و... تدریس میکرد و در پژوهشهای مهمی در زمینه هوش مصنوعی نقشآفرینی کرد.
ایشون در طول زندگی جوایز زیادی هم کسب کرد، از جمله جایزه تورینگ، مدال ملی علم امریکا، جایزه کیوتو و ... که از ارزشمندترین جوایز علمی محسوب میشن.
آشنایی با این بزرگان و استفاده از تجربیاتشون میتونه کمک شایانی به پیدا کردن مسیرمون برای آینده کنه.
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
جان مککارتی، یک دانشمند کامپیوتر افسانهای بود که به عنوان یکی از پدران هوش مصنوعی شناخته میشه.
شخصی بود اهل امریکا و برای اولینبار اصطلاح AI(Artificial intelligence) رو ابداع کرد(۱۹۵۵)، زبان لیسپ(Lisp) رو اختراع کرد، مفهوم GC(Garage Collector) رو معرفی کرد و تحولات بزرگی در تاریخ علوم کامپیوتر ایجاد کرد.
در دانشگاههایی مثل پرینستون، امآیتی، استنفورد و... تدریس میکرد و در پژوهشهای مهمی در زمینه هوش مصنوعی نقشآفرینی کرد.
ایشون در طول زندگی جوایز زیادی هم کسب کرد، از جمله جایزه تورینگ، مدال ملی علم امریکا، جایزه کیوتو و ... که از ارزشمندترین جوایز علمی محسوب میشن.
آشنایی با این بزرگان و استفاده از تجربیاتشون میتونه کمک شایانی به پیدا کردن مسیرمون برای آینده کنه.
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
❤8🔥1
برنامه نویسی چیست؟
✨ اگر کامپیوتر رو یه موجود زنده در نظر بگیریم برای ارتباط با اون تو باید یک سری ورودی رو بهش بدی و در آخر یک سری خروجی دریافت کنی، یعنی درست همونطور که با یه آدم صحبت میکنی .
😍اون آدم ورودی یا صحبتهای شما رو به مغزش که همون مموری و cpu کامپیوتره وارد، اونارو پردازش و در آخر در قالب خروجی یا جواب صحبت هات بهت تحویل میده.
💯 در تمام دستگاه هایی که کامپیوتر رو در خودشون دارن مثل موبایل ، کنسولهای بازی ، ماشین لباسشویی و ... دقیقا همین اتفاق میافته اما این پردازش یا دریافت و ارسال ورودی و خروجی توی کامپیوتر چطور انجام میشه؟
💥 در واقع همه این عملیات با برنامه نویسی برای کامپیوتر تعریف شدن.
حالا سوال اینه که کامپیوتر که فقط زبان ماشین یا 0 و 1 رو میفهمه چطور از این زبانهای برنامه نویسی و دستورات اونا سر در میاره و اونا رو اجرا میکنه؟
جواب کامپایلره ! زبانهای برنامه نویسی در نهایت توسط برنامه ای به اسم کامپایلر به زبان ماشین ترجمه میشن و تمام !
#programming
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
✨ اگر کامپیوتر رو یه موجود زنده در نظر بگیریم برای ارتباط با اون تو باید یک سری ورودی رو بهش بدی و در آخر یک سری خروجی دریافت کنی، یعنی درست همونطور که با یه آدم صحبت میکنی .
😍اون آدم ورودی یا صحبتهای شما رو به مغزش که همون مموری و cpu کامپیوتره وارد، اونارو پردازش و در آخر در قالب خروجی یا جواب صحبت هات بهت تحویل میده.
💯 در تمام دستگاه هایی که کامپیوتر رو در خودشون دارن مثل موبایل ، کنسولهای بازی ، ماشین لباسشویی و ... دقیقا همین اتفاق میافته اما این پردازش یا دریافت و ارسال ورودی و خروجی توی کامپیوتر چطور انجام میشه؟
💥 در واقع همه این عملیات با برنامه نویسی برای کامپیوتر تعریف شدن.
حالا سوال اینه که کامپیوتر که فقط زبان ماشین یا 0 و 1 رو میفهمه چطور از این زبانهای برنامه نویسی و دستورات اونا سر در میاره و اونا رو اجرا میکنه؟
جواب کامپایلره ! زبانهای برنامه نویسی در نهایت توسط برنامه ای به اسم کامپایلر به زبان ماشین ترجمه میشن و تمام !
#programming
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
❤7
◽️ Next.js
- نکست.جی اس (Next.js) یک فریمورک رایگان و Open-Source است که میتواند امکانات خوبی را برای کار کردن با کتابخانههای React به زبان جاوا اسکریپت در اختیار ما قرار دهد.
- البته با این تفاوت که بعد از استفاده از React و ایجاد صفحات وب نیتیو، این فریمورک کاری میکند که پردازشها در سمت سرور انجام شود.
🔸️ خود این فریمورک با استفاده از Node.js ساخته شده است و از یک هسته قوی برای رندر کردنهای سمت سرور خود استفاده میکند.
⚜️ ویژگی های Next.js:
● صفحه سازی در سمت سرور (Server-side Rendering)
● ناوبری فایل محور (File-based Routing)
● توانایی فولاستک (Fullstack Capabilities)
#Back_end
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
- نکست.جی اس (Next.js) یک فریمورک رایگان و Open-Source است که میتواند امکانات خوبی را برای کار کردن با کتابخانههای React به زبان جاوا اسکریپت در اختیار ما قرار دهد.
- البته با این تفاوت که بعد از استفاده از React و ایجاد صفحات وب نیتیو، این فریمورک کاری میکند که پردازشها در سمت سرور انجام شود.
🔸️ خود این فریمورک با استفاده از Node.js ساخته شده است و از یک هسته قوی برای رندر کردنهای سمت سرور خود استفاده میکند.
⚜️ ویژگی های Next.js:
● صفحه سازی در سمت سرور (Server-side Rendering)
● ناوبری فایل محور (File-based Routing)
● توانایی فولاستک (Fullstack Capabilities)
#Back_end
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
👍4
دور زدن الگوریتم های تلگرام
چند وقت پیش یکی از رفیقام که کانال تلگرام داره ازم پرسید سزو میدونی تلگرام با چه الگوریتمی کانال های مشابه رو نشون میده؟
بعد من یه نگاهی به چند تا کانال کردم فهمیدم از روی کانتنت نشون نمیده بلکه از روی ممبر های مشترک نشون میده، بهش گفتم احتمالا از الگوریتم های گرافی community detection استفاده میکنه.
حالا این رفیقمون میاد توی کانالش کانال های در حال رشد رو به طور مصنوعی منشن میکنه، یه سری اعضا از کانالش به کانال مقصد میرن، چون ممبر مشترک دارن تلگرام فکر میکنه این دوتا کانال شبیه به همن و هرکی توی کانال مقصد عضو میشه بهش کانال رفیقمون هم نشون میده و این باعث میشه که کانالش سریع رشد کنه.
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
چند وقت پیش یکی از رفیقام که کانال تلگرام داره ازم پرسید سزو میدونی تلگرام با چه الگوریتمی کانال های مشابه رو نشون میده؟
بعد من یه نگاهی به چند تا کانال کردم فهمیدم از روی کانتنت نشون نمیده بلکه از روی ممبر های مشترک نشون میده، بهش گفتم احتمالا از الگوریتم های گرافی community detection استفاده میکنه.
حالا این رفیقمون میاد توی کانالش کانال های در حال رشد رو به طور مصنوعی منشن میکنه، یه سری اعضا از کانالش به کانال مقصد میرن، چون ممبر مشترک دارن تلگرام فکر میکنه این دوتا کانال شبیه به همن و هرکی توی کانال مقصد عضو میشه بهش کانال رفیقمون هم نشون میده و این باعث میشه که کانالش سریع رشد کنه.
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
👍5🔥2👏1