نوشته های یک برنامه نویس

تجربیات شخصی محمد باقری نسب
محمد باقری نسب

نوشته های یک برنامه نویس

تجربیات شخصی محمد باقری نسب

شاید شما هم مثل من برای استفاده از زبان‌های مختلف گاهی دچار سردرگمی و ابهام در تصمیم‌گیری بودین؛ اینکه از کدوم زبان و تکنولوژی برای پروژه‌ی آینده استفاده کنم؟ آیا جاوا انتخاب مناسبی هست چون روش تسلط کاملی دارم؟ یا بهتره با پایتون کار کنم که خیلی ساده و چابکه؟ اما پرفورمنس برنامه‌هایی که با ++C نوشته میشه خیلی بیشتره و نکنه دارم اشتباه انتخاب میکنم؟

از این دست سوالات شاید ذهن شما رو هم مشغول کرده باشه؛ در این مقاله می‌خوام تجربه‌ی شخصی خودم در انتخاب زبان Go رو براتون بگم.

 

why golang

 

تیتر این مقاله جذاب و وسوسه کننده به نظر میاد، اما آیا واقعا چنین چیزی امکان پذیر هست؟ در ادامه با من همراه باشید.

 

ssl

 

Let’s Encrypt

Let’s Encrypt یک پروژه آزاد با هدف ایجاد محیطی امن در سطح وب هست که این امکان رو برای شما فراهم میکنه تا یک گواهینامه SSL معتبر با گرید A برای وب سایت خودتون صادر کنید. به این معنی که بدون پرداخت هیچ هزینه ای و تنها با یک پیکربندی ساده بر روی سرور، امنیت کامل در تبادل اطلاعات بر روی وب سایت شما تضمین میشه و هرکسی آدرس سایت شما رو توی مرورگر باز کنه، ابتدای آدرس سایت شما با رنگ سبز نمایش داده میشه!
یکی از مهمترین راهکارهای تامین امنیت بر روی سیستم هایی که با شبکه و وب در ارتباط هستند، پیکربندی یک فایروال مطمئن (دیوار آتشین) جهت مدیریت راه های نفوذ به سیستم عامل است.
 
فایروال

 

فایروال چیست؟

با یه مثال ساده متوجه میشین که مفهوم فایروال خیلی پیچیده نیست، فکر کنید تابستونه و هوا خیلی گرمه! توی خونه هستید و از شدت گرما دلتون میخواد پنجره اتاقتون رو باز کنید. اما یه مشکلی هست! وقتی پنجره رو باز میکنید حشرات موذی مثل پشه و مگس هجوم میارن توی اتاق! پس برای ورود هوای تازه به اتاق و جلوگیری از ورود حشرات موذی چه کاری باید کرد؟ نصب یک توری در قاب پنجره اتاقتون، با نصب این توری تبادل هوا به راحتی انجام میشه و دیگه نگرانی بابت ورود حشرات موذی هم نخواهید داشت.
پیش نیاز: آشنایی با مفاهیم وب

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

 

nginx

 

چرا لینوکس؟

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

پیش نیاز: تسلط به زبان #C دات نت

یکی از چالش هایی که ممکنه در تولید یک نرم افزار بهش برخورد کنید اینه که چطور میشه یک برنامه رو فقط یک بار اجرا کرد؟ به این مفهوم که وقتی برنامه باز شد، دیگه به هیچ وجه نشه یک نمونه دیگه از برنامه رو هم در کنارش اجرا کنیم. مثل برنامه Windows Media Player که تنها یک نمونه از اون روی ویندوز قابل اجرا کردنه و تنها همون یک پروسه مسئول پخش تمامی فایلهای مالتی مدیا بر روی ویندوز شما هست.

پیش نیاز: تسلط به زبان #C دات نت

یکی از دغدغه های مهم هر برنامه نویس پس از نوشتن یک نرم افزار تجاری و رسیدن به مرحله ارائه به مشتری، ساخت و طراحی برنامه نصب یا همون Setup هست.

 

msi

 

در روند طراحی یک Setup نکات مختلفی مد نظر برنامه نویس قرار می گیره که برخی از اونها عبارتند از:

• قابلیت کپی فایلهای نرم افزار بر روی سیستم مقصد و امکان تغییر مسیر نصب نرم افزار

• ساخت میانبر در بخشهای مختلف سیستم مقصد. مثلا بر روی Desktop

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

• امکان دسترسی به برنامه نصب از طریق کنترل پنل، بخش نرم افزار های نصب شده بر روی سیستم

• امکان طراحی رابط کاربری (UI) سفارشی و دلخواه جهت نمایش مراحل نصب به کاربر

• و خیلی امکانات دیگه...

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

پیش نیاز: تسلط به زبان #C دات نت

بحثی که در این مقاله قراره بهش بپردازم، شاید کابوسی برای برنامه نویسان دات نت باشه! چون بدون شک اکثر برنامه نویسان دات نت با مشکل مدیریت حافظه در برنامه هاشون مواجه هستن و یا در آینده قطعا باهاش مواجه خواهند شد. اما آیا راهکاری برای حل این مشکل وجود داره؟ در ادامه با من همراه باشید.

این سایت رو تنها به دلیل علاقم به نوشتن و به اشتراک گذاری تجربیاتم با دیگران ایجاد کردم و هر از گاهی اگر فرصت کنم می‌نویسم شاید به درد کسی بخوره، پس کپی برداری از محتوا بدون ذکر منبع هیچ اشکالی ندارد! اما اگر ذکر کردین هم خوشحالم می‌کنید 😊️
آخرین نظرات
  • ۲۴ شهریور ۹۶، ۱۱:۱۱ - دانلود آهنگ جدید
    عالی
دسته بندی ها