جستجو: 'C' - صفحه ۱

محسن یگانه - فکر تو

محسن یگانه - فکر تو

ترانه و موزیک: محسن یگانه
میکس و مستر: آرش پاکزاد
کوینا: آرمین قیطاسی
گیتار: امید آرتین

24 صنعتی که می‌تواند در آینده منجر به ایجاد مشاغل جدید شود

شغل‌های آینده هرلحظه و هرروز در ذهن متفکران در حال شکل‌گیری است؛ اما تنها مبتکران واقعی در حال ایجاد صنایع جدید هستند. بسیاری از مشاغل قدیمی مانند حسابداری، مدیریت و فروش مجدداً برای ایجاد صنایع جدید به کار گرفته می‌شوند.

در اینجا تعدادی از هر دو صنایع در حال ظهور و در حال رشد که می‌توانند باعث اشتغال میلیون‌ها انسان در سال‌های آینده شوند را ذکر می‌کنیم

 

تفاوت Value type و Reference type

طبق انواع DataType های زبان C# دو تا از مهمترین اونا Value type ها و Reference typeها هستند که با نحوه ذخیره سازی در حافظه تفاوت پیدا میکنند. به طوری که Value Typeها در Stack ذخیره میشوند ولی Reference Typeها در Stack و Heap. اما یعنی چی؟

 

 

بذارید یه چیزی رو تعریف کنم، رفته بودم برای مصاحبه و ازم پرسیدند که فرق بین Value type و Reference type در زبان C# چیه منم که جمله بالا رو خوب تو ذهنم بود سریع گفتم و با مثال زدن Struct و Class تفاوت هارو گفتم ولی در عمل ازم خواستند تا مثالی رو حل کنم ولی خب نتونستم جواب بدم. خیلی برام جالب شد و رفتم اساسی راجع بهش خوندم و به نتایجی رسیدم که دیدم حیفه اینجا به اشتراک نذارم.

قوانین SOLID

مفهوم S.O.L.I.D در برنامه نویسی موضوعیه که دونستنش برای هر برنامه نویسی خیلی مهمه جوری که شیوه نوشتن کدهاتون رو کاملاً تغییر میده. در جلوتر مثال‌های حل شده با زبان C# هست اما نگران نباشید تمامی این قواعد رو میتوانید برای هر زبانی که مفاهیم اصلی شی گرایی را دارد، استفاده نمایید.


چرا باید مفاهیم S.O.L.I.D. رو یاد بگیریم؟

چیزی که این وسط برای همه پیش میاد اینه که میگن من مفاهیم شی گرایی رو بلدم و دیگه نیازی به قواعد S.O.L.I.D. ندارم که یاد بگیرم. بذارید این دو مسئله رو از هم جدا کنیم. اگه بخوام یه مثال ساده بزنم، برای یادگیری و استفاده از هر دو مسئله اینه که شما تمام ابزارهای چوب بری رو در اختیار داشته باشی و بگی که خب نیازی نیست که علم چوب بری هم یاد بگیرم.
با یادگیری برنامه نویسی شئ گرا، در حقیقت یاد میگیرد که چطوری از کلاس ها استفاده کنید، چگونه برای یک کلاس خصوصیت تعریف کنیم و...، اما اینکه بتونیم از این قابلیت‌ها در مسیر درست استفاده کنیم داستان فرق میکنه.
S.O.L.I.D. در واقع یک چهارچوب منظم رو برای ما ایجاد میکنه که مکمل شی گرایی است و با حرکت در این مسیر میتوانیم کدهای بهینه تری بنویسیم.

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

SOLID مخفف پنج عبارته زیر است:

1) S: Single Responsibility Principle
2) O: Open/Closed Principle
3) L: Liskov Substitution Principle
4) I: Interface Segregation Principle
5) D: Dependency Inversion Principle

تغییر اندازه عکس به همراه افزودن لوگو در دات نت

برای انتشار عکس روی وب نیاز هست تغییراتی از قبلی اندازه (طولی و عرضی) یا کیفیت عکس و یا قرار دادن نشان یا لوگوی خود ایجاد کنیم. اما اینکار را اگر بخواهیم برای تعداد محدودی عکس انجام دهیم شاید زمان زیادی صرف نشود ولی تعداد عکسها که بالاتر میرود انجام اینکار خیلی زمان زیادی را از ما میگیرد. برای همین یک برنامه ساده و در عین حال کاربردی نیاز هست.

 

 

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

 

امین محمدی

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