در چند سال گذشته، دنیای زبانهای برنامهنویسی تغییرات قابل توجهی داشته است. این تغییرات باعث شدهاند تا برخی از زبانهای برنامهنویسی با استقبال بیشتری از سوی کاربران روبهرو شوند، و در عین حال از محبوبیت برخی دیگر کاسته شود. با اینحال، زبانهای برنامهنویسی قدیمی همواره مورد توجه سازمانهای بزرگ قرار دارند. یکی از این زبانهای برنامهنویسی پراقتدار جاوا است که برای ساخت طیف گستردهای از برنامههای کاربردی در حوزههای مختلف استفاده میشود.
در بازار کار ایران، جاوا و سیشارپ رقبای سرسختی هستند و تقریبا بازار کار به یک اندازه به هر دو تخصص نیاز دارد، اما در خارج از ایران جاوا بیشتر مورد توجه شرکتها قرار دارد. هنگامیکه نسخه جدیدی از یک زبان برنامهنویسی منتشر میشود، مهم است درباره تغییرات اعمالشده در نسخه جدید اطلاعات کافی داشته باشیم، زیرا برخی قابلیتها حذف میشوند، برخی دیگر تغییر میکنند و قابلیتهای جدیدی به آن زبان افزوده میشوند. جاوا از این قاعده مستنثا نیست و در سالهای گذشته قابلیتهای خوبی همگام با پیشرفتهای دنیای فناوری در اختیار برنامهنویسان قرار داده است. از نسخه 9 به بعد، اوراکل هر 6 ماه یکبار ویژگیها و قابلیتهایی به جاوا اضافه کرده که همین مسئله دنبال کردن تغییرات جدید را کمی سخت میکند. بهطور مثال، نسخه 17 جاوا اوایل مهرماه 1400 با قابلیتهای جدید منتشر شد و درست شش ماه بعد نسخه 18 اوایل فروردینماه 1401 منتشر شد و همچون گذشته قابلیتهای جذابی در اختیار برنامهنویسان قرار داد. در نسخه 18 شاهد ویژگیها و تغییرات نسبتا مهمی بودیم که در این مقاله با 9 مورد از آنها آشنا میشویم.
در شرایطیکه جاوا 17 یک نسخه پشتیبانی بلندمدت (LTS) است و اوراکل حداقل 8 سال از آن پشتیبانی میکند، نسخه 18 جاوا یک نسخه با پشتیبانی کوتاهمدت است که اوراکل در یک بازه زمانی کوتاه از آن پشتیبانی میکند. توسعهدهندگان میتوانند برای نصب کیت توسعه JDK18 جاوا روی سیستمعاملهای لینوکس، ویندوز و مک به سایت رسمی اوراکل به نشانی https://www.oracle.com/java/technologies/downloads/ مراجعه کنند و نسخه هماهنگ با سیستمعامل خود را دانلود و نصب کنند.
1. منسوخ شدن finalization برای حذف در نسخه بعدی جاوا
Finalizer دارای نقصهایی است که مشکلات مختلفی در ارتباط با امنیت، عملکرد، قابلیت اطمینان و نگهداری از برنامههای کاربردی بهوجود میآورد. از اینرو جای تعجب نیست که تیم پشتیبانی جاوا بهدنبال حذف آن باشند. علاوه بر این باید دقت کنید که Finalizer نیازمند برنامهنویسی نسبتا پیچیدهای است و همین مسئله کار کردن با آنرا سخت میکند. در حال حاضر، قابلیت مذکور بهطور پیشفرض فعال است، اما میتوان آنرا غیرفعال کرد تا آزمایشهای اولیه سادهتر شوند. این ویژگی بهطور پیشفرض در نسخه آینده زبان برنامهنویسی جاوا حذف خواهد شد. در نسخه 18 جاوا ویژگی مذکور غیرفعال شده تا برنامهنویسان آمادگی لازم را داشته باشند و تا فرصت باقی است برنامههای کاربردیای را که از قابلیت فوق استفاده میکنند ویرایش کنند.
در صفحه رسمی Openjdk در خصوص ویژگی مذکور آمده است: «کارهای اولیه برای حذف Finalization انجام شده است. Finalization در حال حاضر (نسخه 17) بهطور پیشفرض فعال است، اما میتوان آنرا غیرفعال کرد تا انجام آزمایشهای اولیه تسهیل شوند. ویژگی مذکور در نسخه 18 بهطور پیشفرض غیرفعال است و در نسخه بعد حذف خواهد شد. طراحان کتابخانهها و برنامههایی که از finalization استفاده میکنند باید بهسراغ تکنیکهای دیگر مدیریت منابع مانند دستورات try-with-resources و نمونههای مشابه بروند. پیشنهاد میشود یک گزینه خط فرمان برای غیرفعال کردن finalization و منسوخ کردن تمام finalizerها و متدهای finalization در API استاندارد جاوا افزوده شود. هدف از انجام اینکار کمک به توسعهدهندگان برای درک بهتر مخاطرات finalization و آمادگی توسعهدهندگان برای حذف نهایی آن است».
یکی دیگر از اهداف کنار گذاشتن ویژگی فوق در نسخه 18 جاوا آماده کردن ابزارهای کاربردی برای کمک به شناسایی میزان وابستگی به finalization است. این ویژگی که در نسخه اول جاوا معرفی شده بود با هدف پیشگیری از بروز مشکل نشت منابع استفاده میشد. ویژگی مذکور شامل یک کلاس است که میتواند یک finalizer را تعریف کند که بدنه متد داخل آن میتواند هر منبعی را آزاد کند. garbage collector میتواند finalizer یک شیء غیرقابلدسترس را بهراحتی زمانبندی کند تا قبل از اینکه حافظه شیء را اصلاح کند آنرا فراخوانی کند. با اینحال، در هنگام استفاده از متد finalize باید به این نکته دقت کنید که عملیاتی مانند فراخوانی قابلیت close در اشیاء انجام میشود. در ظاهر اینگونه بهنظر میرسد که رویکرد فوق یک راهکار موثر برای پیشگیری از بروز مشکل نشتی منابع است، اما نقصهایی دارد که از آن جمله باید به تاخیرهای غیرقابلپیشبینی اشاره کرد. این نقص باعث میشود تا فاصله زیادی بین زمانیکه یک شیء غیرقابلدسترس میشود تا زمانی که finalizer آنرا فراخوانی میکند بهوجود آید. این مسئله در برخی از برنامهها و بهویژه برنامههای حساسبهزمان مشکل جدی است. به همین دلیل است که به توسعهدهندگان توصیه شده از تکنیکهای جایگزین برای جلوگیری از نشت منابع استفاده کنند که از جمله باید به دستورات try-with-resources اشاره کرد.
2. تعریف یک SPI برای میزبان در نسخه 18 جاوا
در نسخه 18 جاوا، یک SPI برای میزبان و تبدیل آدرس اینترنتی (Name Address Resolution) تعریف شده تا Inet.Address بتواند از resolverهایی بهجز resolver داخلی پلتفرمها استفاده کند. اینکار با هدف فعالسازی بهتر Project Loom برای همزمانی و پشتیبانی بهتر از پارادایمهای جدید برنامهنویسی در جاوا، یکپارچهسازی بهتر جاوا با پروتکلهای جدید شبکه، سفارشیسازی و فعال کردن ساده آزمایشها انجام شده است. به این نکته دقت کنید که قرار نیست یک resolver جایگزین برای کیت توسعه جاوا ارائه شود.
3. پیشنمایش دوم از قابلیت تطبیق الگو در دستورات switch
با اضافه شدن ویژگی جدید به نسخه 18 جاوا تطبیق الگو برای عبارات و دستورات switch که همراه با آیتمهای گسترشی مرتبط با الگوهای این زبان هستند سادهتر میشود؛ رویکردی که باعث بهبود عملیات تطبیقی میشود. اولین پیشنمایش همراه با نسخه 17 کیت توسعه جاوا معرفی و در اختیار توسعهدهندگان قرار گرفت. فرآیند تطبیق الگوی گسترشی که برای دستور switch ارائه شده، به یک دستور اجازه میدهد الگوهای مختلف را ارزیابی کند، در حالیکه هر یک از این الگوها عملکرد مخصوص به خود را خواهند داشت. از اینرو، محاورههای پیچیده مبتنی بر دادهها میتوانند بهشکل کوتاه و ایمن اجرا شوند. ویژگی مذکور از پروژه Project Amber به جاوا وارد شده که یک پروژه OpenJDK است که بر ویژگیهای کوچکتر جاوا و بهرهوری متمرکز است. جورج ساب، معاون گروه پلتفرم جاوا در اوراکل، در این ارتباط میگوید: «تطبیق الگو برای switch چیزی است که هر برنامهنویس جاوا باید در مورد آن اطلاع داشته باشد و از آن استفاده کند». این قابلیت بهشکل گستردهای از فرآیند تطبیق الگوها در جاوا پشتیبانی خواهد کرد و در آینده به یکی از سبکهای مهم برنامهنویسی در جاوا تبدیل خواهد شد.
4. پیادهسازی مجدد core reflection
Core reflection Java.lang.reflect.Method، Constructor و Field در کنترلکننده java.lan.invoke دومرتبه کدنویسی شدهاند. از این پس کنترلکنندههای متد بهعنوان یک مکانیزم اساسی در عملیات reflection هزینه مربوط به نگهداری و توسعه واسطهای برنامهنویسی کاربردی java.lang.reflect و java.lang.invoke را به میزان زیادی کاهش میدهند. به بیان دیگر، دو مکانیسم داخلی برای فراخوانی متدها و سازندهها در اختیار توسعهدهندگان قرار میگیرد که برای اجرای سریعتر دستورات از روشهای بومی در HotSpot VM برای اولین فراخوانی شیء سازنده یا متد بازتابی استفاده میکند. برای بهبود عملکرد، پس از فراخوانیهای متعدد، بایتکد برای عملیات بازتابی تولید میشود و از کد فوق در فراخوانیهای بعدی استفاده میشود. به همین دلیل است که اضافه شدن ویژگی فوق به نسخه 18 جاوا میتواند مزایای زیادی در اختیار توسعهدهندگان قرار دهد.
5. اضافه شدن یک وبسرور ساده به نسخه 18 جاوا
در نسخه 18 یک وبسرور ساده به جاوا افزوده شده که یک ابزار خط فرمان برای راهاندازی یک وبسرور کوچک در اختیار توسعهدهندگان قرار میدهد که تنها قادر به نگهداری از فایلهای ایستا است. دقت کنید در اینجا هیچ عملکرد CGI یا عملکردی مشابه servlet در دسترس نیست. ابزار فوق میتواند برای نمونهسازی، کدگذاری ad-hoc و آزمایشها، بهویژه در محیطهای آموزشی مفید و کاربردی باشد. هدف از ارائه قابلیت جدید ارائه یک فایلسرور HTTP out-of-the-box ایستا است که راهاندازی آن ساده است. این فایلسرور میتواند به توسعهدهندگان کمک کند بهشکل سریعتری وظایف خود را انجام دهند و علاوه بر این، کیت توسعه جاوا را در اختیار آنها قرار میدهد. همچنین، به این نکته دقت کنید که یک پیادهسازی پیشفرض از طریق خط فرمان همراه با یک واسط برنامهنویسی کوچک در اختیار برنامهنویسان قرار دارد که در صورت نیاز میتوانند از آن استفاده کنند. با استفاده از تکنیک فوق، میتوانید برنامههای خود را بهراحتی ایجاد و سفارشیسازی کنید. لازم به توضیح است که قرار نیست یک سرور با قابلیتهای فوقالعاده پیشرفته در اختیار شما قرار گیرد.
6. یک تابع خارجی و یک واسط برنامهنویسی کاربردی برای تعامل بهتر با حافظه
در نسخه 18 جاوا یک واسط برنامهنویسی کاربردی معرفی شده که از طریق آن برنامههای جاوا میتوانند با دادههای خارج از زمان اجرای جاوا تعامل داشته باشند. با فراخوانی توابع خارجی (در واقع کد خارج از موتور مجازی جاوا) و با دسترسی ایمن به حافظه خارجی (حافظهای که توسط موتور مجازی جاوا مدیریت نمیشود) این واسط برنامهنویسی کاربردی به برنامههای جاوا اجازه میدهد تا کتابخانههای محلی را فراخوانی کنند و دادههای محلی را بدون مشکل JNI (رابط بومی جاوا) پردازش کنند. هدف از افزودن ویژگی فوق این است که JNI را با یک مدل توسعه جاوا بهتر جایگزین کنیم. دقت کنید این واسط برنامهنویسی کاربردی در نسخه 17 جاوا نیز در دسترس بود، اما در نسخه 18 جاوا تغییراتی روی آن اعمال شده و برخی مشکلات آن برطرف شده است. با فراخوانی توابع خارجی، کدهایی که خارج از ماشین مجازی جاوا قرار دارند قادر هستند بهشکل ایمن به حافظه خارجی و حافظهای که توسط ماشین مجازی جاوا مدیریت نمیشود دسترسی پیدا کنند.
7. vector API در نسخه 18 زبان برنامهنویسی جاوا
vector API را نباید از ویژگیهای شاخص نسخه 18 جاوا برشمرد، زیرا قبل از این در JDK 16 و JDK 17 آنرا مشاهده کردهایم. ویژگی مذکور برای انجام محاسبات برداری ارائه شده و در زمان اجرا به دستورالعملهای برداری که پردازنده مرکزی از آنها پشتیبانی میکند کامپایل میشود تا عملکرد برنامهها بهبود پیدا کند. ویژگی فوق عملیات برداری را بهشکل موازی انجام میدهد. در این حالت یک سیکل بیشتر از پردازنده مرکزی استفاده میشود، اما در مقابل عملکرد کلی برنامه بهبود پیدا کند. vector API راهحلی برای نوشتن الگوریتمهای پیچیده در جاوا با استفاده از HotSpot auto-vectorizer و یک مدل کاربری است تا عملیات بردارسازی بهشکل قابلپیشبینیتری انجام شود. در نسخه جدید JDK از پلتفرم ARM Scalar Vector Extension نیز پشتیبانی میشود تا بتوان از ویژگیهای سختافزاری پردازنده بهشکل بهتری استفاده کرد تا عملیات بردارسازی بهبود پیدا کند.
8. تعیین UTF-8 به عنوان سیستم کدگذاری پیشفرض و استاندارد واسطهای برنامهنویسی کاربردی
UTF-8 یک استاندارد کدگذاری کاراکترها در دنیای ارتباطات است که امروزه بهعنوان مجموعه کاراکترهای استاندارد وب شناخته میشود. charset مکانیزم کدگذاری تمامی کاراکترهای وب است. با توجه به تغییر اعمالشده در نسخه 18 جاوا واسطهای برنامهنویسی کاربردی این زبان که بر مبنای charset پیشفرض کار میکردند، در تمام پیادهسازیها، سیستمعاملها، پیکربندیها و غیره بدون مشکل کار میکنند. البته دقت کنید که قرار نیست شاهد عرضه استاندارد جدید یا واسطهای برنامهنویسی کاربردی خاص JDK باشیم. در شرایط عادی، برنامههای کاربردی که توسعه دادهاید بدون مشکل کار خواهند کرد و سیستم کدگذاری پیشفرض مشکلی در عملکرد آنها بهوجود نمیآورد. علاوه بر این، تیم توسعهدهنده بر این باور هستند که قابلیت جدید روی عملکرد برنامههای کاربردی نوشتهشده با جاوا در سیستمعامل مک، برخی از توزیعهای لینوکس و برنامههای سمت سرور که از UTF-8 پشتیبانی میکنند تاثیر منفی نخواهد گذاشت. این قابلیت بیشتر برای کمک به کاربران سیستمعاملهای ویندوزی در مناطق آسیایی و محیطهای سروری است که در مناطق آسیایی مستقر هستند.
9. قطعه کدها در مستندات واسطهای برنامهنویسی کاربردی
این ویژگی مهم و جذاب در نسخه 18 جاوا شامل یک تگ @snippet برای JavaDoc’s Standard Doclet است که برای ساده کردن درج نمونه مثالهایی در ارتباط با واسطهای برنامهنویسی جاوا در مستندات استفاده میشود. از کاربردهای این قابلیت باید به تسهیل اعتبارسنجی کد منبع با فراهم کردن دسترسی واسط برنامهنویسی به این قطعه کدها اشاره کرد. از دیگر کاربردهای قابلیت جدید باید به فعالسازی قابلیت سبکدهی مدرن مانند هایلایت کردن ترکیب نحوی، اتصال خودکار نامها به تعاریف، پشتیبانی بهتر محیط توسعه یکپارچه برای ایجاد و ویرایش snippetها و غیره اشاره کرد. ویژگی فوق را باید از مهمترین ویژگیهای نسخه 18 زبان برنامهنویسی جاوا دانست که توسعهدهندگان میتوانند از آن برای سادهسازی داکیومنتنویسی پروژهها استفاده کنند.
برگرفته از مجله شبکه
در مورد SAR چه میدانید؟
کمی درباره مفهوم SAR صحبت کنیم حتما در مورد مضرات امواج رادیویی بر بدن انسان شنیده اید میزان SAR برای برخی از افراد اهمیت دارد و بسیاری هم تا به حال چیزی درباره آن نشنیده اند یا هنگام خرید اصلا به آن توجه نمیکنند
با پشرفت تکنولوژی و تاثیر مثبت آن بر زندگی انسان ها و بیشتر شدن لوازم الکترونیکی زندگی انسان ها با این گونه وسایل به طرز شگفت آوری گره خورده است و زندگی بدون تلفن همراه برای بسیاری از افراد مشکل است باید این را هم بدانید که در یک زندگی شهری پیشرفته در گردابی از امواج الکترومغناطیسی گرفتار هستنید
اما چیزی که اهمیت دارد این است که که میزان جذب این انرژی توسط بدن به چه میزانی میباشد
اما SAR چیست : SAR مخفف Specific Absorption Rate (نرخ جذب خاص ) در واقع میزان انرژی جذب شده توسط بدن میباشد که با واحد وات بر کیلوگرم اندازه میشود که استاندارد حداکثر میزان آن در آمریکا 1.6 w/kg بر یک گرم وزن بدن و در اورپا 2 w/kg بر 10 گرم وزن بدن میباشد
این میزان برای بهترین گوشی سونی عدد 0.55 وات بر کیلوگرم میباشد که مقدار آن نصف رقبای خود میباشد
ما شما را نگران نمیکنیم و میگوییم که گوشی که میزان زیان آور بودن آن از حد مجاز بالاتر باشد توسط کمیسیون ارتباطات فدرال( (FCC تایید نمیشود و به مرحله ساخت نهایی فرستاده نمیشود پس حتما از برند های معتبر خرید کنید یا به عبارت صحیح تر گوشی های چینی به نام و نشان را خریداری نکیند
اما هرچه میزان SAR کمتر باشد جذب بدن از امواج کمتر واثرات زیان آور وسیله مذکور کمتر خواهد بود
اما از کجا میتوان حداکثر میزان SAR یک گوشی را بدست آورد برای فهمیدن SAR میتوانید به سایت www.gsmarena.com مراجعه کرده و در قسمت انتهایی مشخصات گوشی میزان SAR آنرا مشاهده نمایید
در عکس زیر با مستطیل سیاه رنگ مشخص میباشد
آیا براستی باید نگران امراج الکترو مقناطیسی اطراف خود باشیم؟ یکی از آثار تشعشعات مایکروویو اثرات گرمایش دیلکتریک است که در آن هر جسم عایق (مانند بافت موجود زنده) توسط حرکت مولکولهای قطبی که در میدان الکترومغناطیسی قرار دارند گرم میشود. وقتی که فردی از گوشی همراه استفاده میکند، بیشتر اثرات گرمایشی در اطراف سطح سر او بوجود میآیند و باعث میشود که دمای سر حدود کسری از درجه افزایش پیدا کند. این دما کمتر از گرمایی است که در اثر تابش مستقیم خورشید بوجود میآید. در این هنگام، جریان [انتقال خون] مغز قادر است با بیشتر کردن جریان خون در آن قسمت گرما را به جاهای دیگر منتشر کند. اما قرنیه چشم این سامانه تعدیل سازی دما را ندارد و آزمایش تابش ۲ الی ۳ ساعته در چشمهای خرگوشها در مقیاس اس ای آر ۱۰۰-۱۴۰ W/kg که دمایی موضعی ۴۱ الی ۴۰ درجه سانتیگراد را تولید کرده باعث بوجود آمدن آب مروارید در آنها شدهاست. البته آب مرواریدهای زود هنگام به خاطر استفاده از گوشی همراه نمیباشد، چون برونداد امواج گوشیهای همراه پائین تر است
●تاثیر بر روی غشاهای سلولی انسان
سید حسن سید موسوی مدیرکل دفتر تحقیقات و مطالعات راهبردی شرکت ارتباطات سیار در گفتگو با خبرنگار مهر نتایج تحقیقات درباره اثر امواج فرکانس رادیویی تلفن همراه بر روی قسمت های مختلف بدن را تشریح کرد و گفت: بعضی از اثرات امواج فرکانس رادیویی بر پروتئین های غشاء و حرکت یونها در میان غشاها هنگامی در سلول ظاهر می شود که شدت این امواج باعث تولید حرارت قابل توجهی شود بطوریکه درجه حرارت بدن بیش از حد نرمال (۳۷درجه سانتیگراد) شود.
وی اضافه کرد: برخی شواهد نشان می دهد که تشعشعات فرکانس رادیویی در سطوحی که توسط تلفن همراه تولید می شود روی کانالهای یونی و پروتئین های غشاء نورونها در مغز تحت شرایط نرمال نیز اثر می گذارد.
این تاثیرات ممکن است باعث تغییرات ظریفی در عملکرد سلول شود اما میزان اهمیت این تاثیرات در سلامت انسان هنوز مبهم است.
●تاثیر بر روی رفتارهای شنیداری انسان
به گفته مدیرکل دفتر تحقیقات و مطالعات راهبردی شرکت ارتباطات سیار فرکانس رادیویی با شدت بالا ممکن است واکنش های رفتاری را در پی داشته باشد چرا که در این حالت درجه حرارت بطور موقت افزایش می یابد و در حین افزایش دما معین می شود که لرزش صوتی ناشی از فرکانس رادیویی شنیده می شود یا خیر.
وی ادامه داد: برای ایجاد لرزشهای صوتی قابل شنیدن به نرخ بالای موقت گرمایش در بافتهای سر نیاز است که خیلی بالاتر از مقدار تولید شده مربوط به تلفن همراه است بنابراین در این زمینه، تلفن همراه اثر چندانی در سلامت ندارد.
●تاثیر بر یادگیری و حافظه
سید موسوی معتقد است که استفاده از تلفن همراه ممکن است اثرات زیان آوری روی عملکردهای ادراکی انسان مانند حافظه و تمرکز ایجاد کند اما با این وجود مطالعاتی که تشعشعات امواج فرکانس رادیویی با سطح پایین یعنی محدوده فرکانس موبایل ۸۰۰ مگاهرتز تا ۲ گیگاهرتز را بر روی حیوانات بررسی کرده اند، تاثیری در عملکردهای ادراکی گزارش نکرده اند.
●تاثیر بر روی ملانونین
این مقام مسئول با بیان اینکه مطالعات هیچ تاثیری را از تشعشع فرکانس رادیویی برروی ترشح ملانونین گزارش نکرده اند به مهر گفت: با توجه به محل قرارگیری هیپوتالاموس و غده صنوبری در قسمتهای عمیق تر سر انسان نسبت به حیوانات مورد آزمایش، در صورت تغییر در ترشح ملانونین این تغییر در انسانها نسبت به حیوانات بسیار کمتر خواهد بود.
●آسیب DNA ، جهش و یا انحراف کروموزومی؟
این کارشناس با تاکید بر اینکه در درجه حرارت نرمال، میدانهای فرکانس رادیویی روی سلولهای جسمی و بنیادی اثری نمی گذارند اضافه کرد: مطالعات روی باکتریها، سلولهای حیوانی و کشت شده تحت تشعشع در محیط مصنوعی شواهد مشخصی را روی آسیب DNA حتی در شدتهای بالا نشان نداده اند.
وی افزود: فقط با تحت تشعشع قرار دادن موشها در محیط طبیعی با فرکانس های رادیویی پالسی اختلالاتی در DNA سلولهای مغز دیده شده است.
●تاثیر بر سیستم ایمنی و طول عمر انسان
سید موسوی با بیان اینکه سیستم ایمنی در مقابل میکروارگانیزمها، ویروسها و بعضی از سلولهای سرطانی از بدن محافظت می کند خاطرنشان کرد: هرگونه تغییر در فرکانس رادیویی روی سیستم ایمنی اثرات مهمی روی سلامتی می گذارد.
وی گفت: گزارشات حاکی از آن است که فرکانس ۱۰ گیگاهرتز و در سطوح خیلی پایین سیستم ایمنی بدن را تحریک می کند اما در کل مطالعات، هیچ تاثیری در رابطه با تشعشع فرکانس رادیویی روی طول عمر نشان نمی دهند.
●تاثیرات در پیشرفت و جابجایی تومور
به گفته مدیرکل دفتر تحقیقات و مطالعات راهبردی شرکت ارتباطات سیار یافته های علمی اثر امواج فرکانس رادیویی در سطوح ارتباطات همراه (حداکثر ۴۵/۲ گیگاهرتز) را در ایجاد و دوره نهفتگی و پیشرفت تومورها تایید نکرده اند که این نشان می دهد که تشعشع فرکانس رادیویی باعث پیدایش تومور نمی شود.
وی به مهر گفت: اگرچه میدانهای فرکانسی رادیویی مربوط به تلفن همراه ممکن است باعث افزایش جزئی در فعالیت آنزیمهای کلیدی (کینازهای پروتینی) شود اما بنا به یافته های علمی بسیار بعید به نظر می رسد که این تغییرات در رشد تومور تاثیر داشته باشند. حتی جدیدترین یافته های حفاظت در برابر اشعه فدرال آلمان نیز خطر پیشرفت سرطان در اثر امواج تلفن همراه را تایید نکرده است.
●تاثیرات بر روی چشم انسان
سید موسوی در مورد یافته های علمی چشم انسان نیز با بیان اینکه تشعشعات سطح بالا به مدت حداقل یک ساعت باعث تشکیل آب مروارید می شود گفت: فرکانس مربوط به این تشعشعات بین یک تا ۱۰ گیگاهرتز است در این محدوده انرژی بالایی به میزان ۱۰۰ SAR توسط بدن انسان جذب می شود که در این وضعیت درجه حرارت داخل چشم بسیار بالا و در حدود ۴۳ درجه سانتیگراد است.
وی افزود: البته شدت فرکانس رادیویی مورد استفاده در این تحقیق بالاتر از محدوده فراکنسی مورد استفاده در تلفن همراه است و به همین ترتیب تاثیر تخریبی گوشی موبایل بر سلامتی چشم انسان منتفی است.
●اثرات بر روی گوش انسان
مدیرکل دفتر تحقیقات و مطالعات راهبردی شرکت ارتباطات سیار با تاکید بر اینکه آزمایشات نشان می دهد که گوش انسان به فرکانس های محدوده ۲۰۰ مگاهرتز تا ۳ گیگاهرتز پاسخ می دهد به مهر گفت: انرژی فرکانس رادیویی باعث انبساط بافتهای مغز می شود که ناشی از تغییرات حرارت کوچک اما سریع بافتها است.
این امر باعث ایجاد امواج فشاری می شود که از طریق جمجمه به گوش درونی فرستاده می شود جایی که گیرنده های حساس صوتی در آنجا قرار دارند. اما افزابش دمایی که باعث ایجاد امواج فشاری می شود کمتر از ۱۰ به توان منفی ۵ درجه سانتیگراد است.
●تاثیرات روی دستگاه قلبی عروقی انسان
سید موسوی معتقد است که با استفاده عادی از تلفن همراه، وقتی تلفن در کنار گوش قرار داده شود، تاثیر مستقیم آن روی قلب انسان خیلی بعید به نظر می رسد اما تاثیر روی گیرنده های وابسته به شریان بدن محتمل است و محققان نتیجه گرفته اند که تاثیرات روی فشار خون به دلیل انقباض زیاد عروق و یا شاید بخاطر افزایش در فعالیت سمپاتیک در ساقه مغز باشد که این زمینه نیاز به مطالعات بیشتری دارد.
وی تصریح کرد: اثرات ناشی از سطوح بالای فرکانسی نیز مربوط به تاثیرات حرارتی روی قلب و عروق است.
●تاثیرات روی عملکرد مغز انسان
این مقام مسئول با تاکید بر اینکه یافته های علمی نشان می دهد که تلفن همراه در کوتاه مدت بر عملکرد مغز اثری ندارد، اضافه کرد: گزارشات اخیر در ارتباط با بی خطر بودن تلفن های همراه در طولانی مدت نشان می دهد که استفاده از موبایل باعث افت حافظه، تغییرات در حواس و نوسان فشار خون می شود. همچنین فقط نواحی از مغز که به گوش نزدیکترند تحت تشعشع قرار می گیرد.
●تاثیر روی سیستم های عصبی
سید موسوی با اشاره به تحقیقات با سیستمهای برخوردار از مدلهای گوناگون عصبی گفت: تغییرات در تحریک پذیری نورونی عملکرد سیستم عصبی و رفتارهای اکتسابی فقط در اثر تشعشعالت بالا که منجر به جذب انرژی فراوانی در بدن شده و حرارت قابل توجهی را سبب می شود اتفاق می افتد.
●تاثیر بر موج نگاریهای مغزی در حیوانات
مدیرکل دفتر تحقیقات و مطالعات راهبردی شرکت ارتباطات سیار خاطرنشان کرد: طبق آزمایشهای انجام شده بر روی گربه ها و خرگوشها، در فرکانسهای رادیویی یک تا ۱۰ مگاهرتز تغییراتی در موج نگاریهای مغزی (EEG) و پارامترهای رفتاری گزارش شده است.
وی گفت: همچنین با افزایش زمان تشعشع مجددا تغییراتی در طیف موج نگاری دیده شده است. گزارشاتی نیز تاثیر این امواج را بر روی موج نگاری مغزی موشها و خرگوشهایی که در محدوده فرکانسی بالاتر از تشعشعات گوشی همراه قرار داشتند، بیان می کند.
برگرفته از سایت پلیس فتا
همهگیری کرونا باعث شد تا تقاضای دورکاری روزبهروز افزایش یابد. امروزه، مشاغل و کسبوکارهایی که بهدنبال سودآوری بیشتر هستند، سعی میکنند تمام یا بخشی از فعالیتهای تجاری خود را دیجیتالی و تماممکانیزه کنند. به همین دلیل است که بسیاری از شرکتها بهدنبال توسعهدهندگان واجد شرایط فرانتاند و بکاند هستند تا زیرساختهای مناسب برای انجام فعالیتهای آنلاین را برای آنها آماده کنند. در حال حاضر، توسعهدهندگان زبان برنامهنویسی سیشارپ بازار کار خوبی دارند، با اینحال، استخدام یک برنامهنویس ماهر کار سادهای نیست. هماکنون بسیاری از توسعهدهندگان از راه دور کار میکنند و مایل به همکاری با شرکتها و استارتاپها در قالب پروژهای هستند. از اینرو، دورکاری نیز بهعنوان یکی از اشکال اشتغال مورد قبول شرکتها و افراد قرار گرفته است؛ بهطوری که انتخابها در مورد استخدام دیگر محدود به حضور فیزیکی متخصصان در محل کار نیست. در این مقاله مجموعه پرسشها و پاسخهایی را مطالعه میکنید که موردنیاز هر دو گروه کارفرمایان و برنامهنویسان است. اگر کارفرمایی هستید که قصد استخدام یک توسعهدهنده سیشارپ را دارد، این پرسشها کمک میکنند تا فرد شایستهای را انتخاب کنید. اگر توسعهدهنده سیشارپ هستید، این مجموعه پرسشها نشان میدهند، در جلسات مصاحبه باید آمادگی پاسخگویی به چه پرسشهایی را داشته باشید.
shabake-mag.jpg
اصلیترین پرسشی که کارفرمایان مطرح میکنند این است که چگونه برای پروژههای آینده خود یک توسعهدهنده سیشارپ را استخدام کنند. اگر بهدنبال یک توسعهدهنده سیشارپ هستید، باید موارد زیادی را در نظر بگیرید، از جمله:
لازم است بدانید که این زبان برنامهنویسی کدام یک از نیازهای پروژه شما را برطرف میسازد.
لازم است یاد بگیرید که چگونه مهارتهای نرم و سخت یک توسعهدهنده را در طول مصاحبه ارزیابی کنید.
لازم است بدانید که استخدام یک برنامه نویس سیشارپ در مکانهای مختلف که روشهای استخدامی متفاوتی دارند، چقدر هزینهبر است.
نیازی نیست که زمان زیادی را صرف جستوجوی این اطلاعات کنید، ما مهمترین مطالب را در این مقاله گردآوری کردهایم تا در دسترس شما قرار دهیم. برای آنکه بدانید چگونه یک توسعهدهنده سیشارپ واجد شرایط را پیدا و استخدام کنید، توصیه میکنیم که ادامه مطلب را بخوانید.
مطلب پیشنهادی
بازار کار کدام زبان برنامهنویسی داغتر میشود؟
آشنایی با زبانهای برنامهنویسی
بازار کار کدام زبان برنامهنویسی داغتر میشود؟
محبوبیت سیشارپ چه تاثیری بر فرآیند استخدام دارد؟
طبق مطالعه نشریه تخصصی IEEE Spectrum در سال 2021، سیشارپ رشد قابلتوجهی داشته و ششمین زبان برنامهنویسی محبوب دنیا است. اکوسیستم این زبان برنامهنویسی در حال رونق است. برنامهنویسان از سیشارپ برای ساخت و توسعه وبسایتها، نرمافزارهای سفارشی، بازیها و برنامههای موبایل استفاده میکنند. سیشارپ بهدلیل سادگی که لازمه برنامهنویسی مدرن و مورد توجه تیمهای توسعهدهنده بزرگ است، انتخاب خوبی برای ساخت برنامههای کاربردی قدرتمند در کوتاهترین زمان ممکن است. به همین دلیل است که همطراز با پایتون در صدر فهرست زبانهای برنامهنویسی محبوب قرار دارد. علاوه بر این، ترکیب نحوی ساده، خوانایی بالا، پشتیبانی توسط بزرگترین چارچوب دنیای برنامهنویسی (داتنت) و ارائه بهترین الگوی طراحی باعث شده تا بازار کار خوبی برای متخصصان بهوجود آورد. با توجه به محبوبیت فزاینده زبان سیشارپ، درخواست برای توسعهدهندگان مسلط به این زبان در حال افزایش است، اما برنامهنویسان حرفهای روی پروژههای مختلفی در حال کار هستند، بنابراین یافتن توسعهدهندگان واجد شرایط و در دسترس روزبهروز سختتر میشود.
بهترین موارد مصرف سیشارپ چیست؟
سیشارپ از روشها و الگوهای عمومی که امنیت و عملکرد را بهبود میبخشند، پشتیبانی میکند. با اینحال، اگر میخواهید اپلیکیشنهای وب پیچیده بسازید، بهتر است جاوا را برای توسعه بکاند انتخاب کنید؛ در حالی که سیشارپ بیشتر در زمینه توسعه نرمافزارهای کاربردی، بازیهای ویدیویی و توسعه موبایل استفاده میشود، اما ترکیب سیشارپ و آنگولار (Angular) قدرت زیادی در اختیار برنامهنویسان قرار میدهد. توسعهدهندگان از سیشارپ در ارتباط با پروژههای زیر استفاده میکنند:
ساخت اپلیکیشنهای تجاری پیشرفته.
ساخت اپلیکیشنهایی که قرار است روی سرور اجرا شوند.
ساخت بازیهای ویدیویی حرفهای.
ساخت برنامههای کاربردی وبمحور.
ساخت برنامههای مخصوص سیستمعامل ویندوز و مک.
ساخت برنامههای مخصوص iOS و اندروید از طریق پلتفرم زامارین (Xamarin).
ساخت رابطهای کاربردی با استفاده از HTML5 و اتصال آن به برنامههای سیشارپ.
توسعهدهندگان سیشارپ از پلتفرمهای مختلفی مثل مایکروسافت ویژوال استودیو، ویژوال استودیو کد، آژور و نمونههای مشابه برای ساخت برنامههای کاربردی استفاده میکنند. همانگونه که اشاره شد، بزرگترین نقطه قوت سیشارپ پشتیبانی چارچوب داتنت از این زبان همهمنظوره است.
مردم اغلب داتنت را با سیشارپ اشتباه میگیرند، زیرا این اصطلاحات با یکدیگر عجین شدهاند. با این حال، تفاوت در این است که سیشارپ یک زبان برنامهنویسی و داتنت چارچوبی است که این زبان برنامهنویسی از آن استفاده میکند. این ترکیب جادویی به توسعهدهندگان فولاستک کمک میکند از Asp.Net Core برای بکاند و سیشارپ و VB.NET برای توسعه فرانتاند استفاده کنند.
مهندسان سیشارپ چه کاری انجام میدهند؟
بهطور معمول، برنامهنویسان مسلط به سیشارپ که قصد استخدام در شرکتی را دارند بهعنوان مهندسان نرمافزار جذب میشوند. از اینرو، شرح وظایفی بیشتر از یک برنامهنویس ساده دارند. از مهمترین وظایف مهندسان سیشارپ به موارد زیر باید اشاره کرد:
عملیات توسعه (توسعه وب، توسعه نرمافزارهای کاربردی یا سازمانی) مثل کدنویسی، آزمایش، طراحی، و تجزیهوتحلیل نرمافزارها.
توسعه یا ادغام پلتفرمهای نرمافزاری در راستای پاسخگویی به نیازهای داخلی شرکت.
ارزیابی برنامههای دسکتاپ نوشتهشده به زبان سیشارپ.
ساخت و نگهداری برنامههای کلاینت-سرور و وب مبتنی بر سیشارپ، چارچوب داتنت، پلتفرم ASP.NET، SQL و فناوریهای مرتبط.
انجام آزمایشهای تست واحد (Unit Test)، تست استاندارد، بررسی کد و اشکالزدایی کدها.
در مورد مهارتهای نرم، یک توسعهدهنده واجد شرایط سیشارپ باید ضربالاجلها را رعایت کند، با کارکنان فنی، غیرفنی و مشتریان تعامل داشته باشد تا نیازهای برنامههای کاربردی را بهخوبی درک کند تا بتواند نمونههای اولیه تجاری موفقی بسازد.
در مصاحبههای استخدامی چه پرسشهایی مطرح میشوند؟
در حالت کلی، پرسشهایی که مطرح میشوند به دانش مصاحبهکننده و تسلط او بر این زبان بستگی دارد، اما بهعنوان یک قاعده کلی، باید آمادگی پاسخگویی به پرسشهای زیر را داشته باشید:
سوالات مصاحبه برنامهنویسی سیشارپ در سطح مقدماتی
زبان برنامهنویسی سیشارپ را معرفی کنید؟
تفاوت زبان برنامهنویسی C# با زبان C چیست؟
مفهوم کلاس در زبان برنامهنویسی C# چیست؟
انواع کلاس در C# کدامند؟
مفهوم شیء در C# چیست؟
منظور از سازنده در سیشارپ چیست؟
منظور از آرایههای دندانهدار در سیشارپ چیست؟
کاربرد عبارت using در سیشارپ چیست؟
تسلسل در سیشارپ به چه معنا است؟
زمان اجرای زبان مشترک (Common Language Runtime) به چه معنا است؟
منظور از بازیابی حافظه در سیشارپ چیست؟
منظور از کدهای مدیریتشده و مدیریتنشده چیست؟
منظور از Interface در برنامهنویسی سیشارپ چیست؟
تفاوت میان کلاس انتزاعی و اینترفیس چیست؟
تفاوتهای دو کلمه کلیدی ref و out چیست؟
متدهای توسعه (Extension Methods) در سیشارپ چه متدهایی هستند؟
منظور از توابع Boxing و Unboxing در زبان برنامهنویسی سیشارپ چیست؟
ژنریکها (Generics) در سیشارپ چه هستند؟
تفاوت Array با ArrayList در سیشارپ چیست؟
وراثت در سیشارپ به چه معنا است و آیا سیشارپ از وراثت چندگانه پشتیبانی میکند؟
آیا در سیشارپ امکان اجرای چند بلوک Catch وجود دارد؟
آیا امکان استفاده از کلمه کلیدی this درون یک متد ایستا وجود دارد؟
سوالات مصاحبه برنامهنویسی سیشارپ در سطح پیشرفته
تفاوت میان عملگر تساوی (==) و متد Equals() در زبان سیشارپ چیست؟
تفاوت میان مقیدسازی دیرهنگام (Late Binding) و انقیاد زودهنگام چیست؟
رایجترین نوعهای استثناها در .NET را نام ببرید.
نام کلاسی در سیشارپ که تمام کلاسها از آن مشتق میشوند، چیست؟
منظور از رفلکشن در سیشارپ چیست؟
تفاوت System.Array.CopyTo() و System.Array.Clone() چیست؟
منظور از Property در سیشارپ چیست؟
کنترل سفارشی و کنترل کاربر در سیشارپ چیست؟
ارثبری یک کلاس به یک کلاس دیگر در سیشارپ چگونه انجام میشود؟
استثناهای سفارشی در سیشارپ به چه معنا است؟
Object Pool در .NET چیست؟
تفاوت میان Constant و Read Only در سیشارپ چیست؟
کلاسهای جزئی در سیشارپ به چه مفهومی اشاره دارد؟
Delegate در سیشارپ چیست؟
منظور از آرایهها در سیشارپ چیست؟
اندیسگذار در سیشارپ چیست؟
چه روشهای مختلفی برای سربارگذاری متدها در سیشارپ وجود دارد؟
تفاوت دو کلاس String و StringBuilder در سیشارپ چیست؟
تفاوت میان یک Struct و یک کلاس در سیشارپ چیست؟
نوع شمارشی در سیشارپ چیست؟
سوالات کاربردی و عملی برنامهنویسی سیشارپ
معکوس کردن ترتیب کلمهها در سیشارپ چگونه انجام میشود؟
برنامهای که یک رشته را در سیشارپ معکوس کند چگونه نوشته میشود؟
برنامه پیدا کردن زیررشته خاصی از یک رشته در سیشارپ چگونه نوشته میشود؟
چگونه پالیندروم بودن یک رشته کاراکتر در سیشارپ را بررسی میکنید؟ (پالیندروم به کلمه، رشته یا اعدادی گفته میشود که از دو طرف (راست به چپ و چپ به راست) دقیقاً به یک شکل خوانده میشوند).
برنامهای بنویسید که اول بودن یک عدد صحیح مثبت در سیشارپ را تشخیص دهد.
بهعنوان یک برنامه نویس سیشارپ حرفهای نباید مشکلی از بابت پاسخگویی به این نمونه پرسشها داشته باشید، زیرا تمامی این پرسشها بخشی از کار عملی شما در هنگام کدنویسی هستند.
اطلاعات حقوق و دستمزد چگونه میتواند برای فرآیند استخدام مفید باشد؟
برای محاسبه هزینههای تقریبی توسعه، با در نظر گرفتن حقوق، مالیات، کارمزد، مزایا و حقوق مرخصی، لازم است میانگین حقوق توسعهدهندگان سیشارپ را بدانید. دانستن میانگین حقوق مربوط به توسعهدهندگان سیشارپ در سرتاسر جهان به این دلیل مفید است که اگر زمانی تصمیم گرفتید با شرکتهای مستقر در کشورهای مختلف همکاری کنید، اطلاعات کلی در اختیار خواهید داشت. با تجزیهوتحلیل میانگین حقوق، متوجه میشوید کدام مدل استخدام و کدام کشور دستمزد خوبی به توسعهدهندگان سیشارپ میدهد.
چگونه مهارتهای توسعهدهندگان سیشارپ را ارزیابی کنیم؟
همه مدلهای استخدام، فرصتی برای برقراری ارتباط با توسعهدهندگان سیشارپ و ارزیابی مهارتهای سخت و نرم آنها را فراهم میکنند. پس لازم است بدانیم که یک توسعهدهنده سیشارپ باید چه مهارتهایی داشته باشد.
مهارتهای سخت توسعهدهنده سیشارپ
دانش کافی در ارتباط با ترکیب نحوی و کدنویسی دقیق و تمیز در سیشارپ.
دانش کافی در ارتباط با چارچوب داتنت.
آشنایی با نحوه کدنویسی بکاند و فرانتاند با سیشارپ.
امروزه، بیشتر برنامهنویسان در ارتباط با جاوااسکریپت، HTML و CSS دانش اولیه دارند.
بررسی این موضوع که آیا توسعهدهنده از مهارتهای فنی مورد نیاز شما برخوردار است یا خیر، مهم و حیاتی است. کار را با پرسیدن سوالات عمومی در مورد زبان برنامهنویسی سیشارپ آغاز کنید تا بتوانید تجربه شغلی داوطلب را ارزیابی کنید.
شما میتوانید با پرسیدن سوالات مربوط به مهارتهای فنی، داوطلب را در طول مصاحبه ارزیابی کنید. علاوه بر این، انجام تستهای کوتاه برنامهنویسی بهصورت زنده یا انجام یک تست کوتاه که مصاحبهشونده بتواند در خانه آماده کند، میتواند در ارزیابی مهارتهای برنامهنویسی او به شما کمک کند.
مهارتهای نرم برنامه نویس سیشارپ
مهارتهای کار گروهی.
تمرکز بر نتایج.
توانایی سازگاری با شرایط.
وقتشناسی.
احترام به سایر کارکنان و تمایل به پایبندی به اخلاق کاری.
تجربه در توسعه نرمافزار چابک (Agile Software Development).
این فهرست میتواند طولانیتر باشد، زیرا مهارتهای نرم شامل ویژگیهای مثبت فرد هستند که به او کمک میکنند زبان مشترکی پیدا کند و یک کار باکیفیت ارائه دهد. علاوه بر این، تحقیقات لینکدین نشان میدهد که برای اکثر کارفرمایان، مهارتهای نرم مهمتر از مهارتهای سخت هستند.
چگونه یک توسعهدهنده سیشارپ استخدام کنیم؟
مهم نیست به یک توسعهدهنده تماموقت، پارهوقت، مهندس درونسازمانی یا دورکار نیاز داشته باشید، در همه موارد راهکارهای مختلفی برای استخدام وجود دارند. پس در ادامه نگاهی عمیقتر به این موضوع میاندازیم.
استخدام توسعهدهندگان سیشارپ بر اساس موقعیت مکانی
بر اساس موقعیت جغرافیایی که در آن زندگی میکنید، این گزینهها را در اختیار دارید:
جذب توسعهدهندگان محلی.
جذب توسعهدهندگان ساکن در شهرهای مختلف (یا در موارد خاص کشورهای دیگر).
هر دو گزینه مزایا و معایبی دارند که در هنگام انتخاب یک مهندس نرمافزار باید در نظر گرفته شوند.
استخدام توسعهدهندگان محلی
در این مورد، کارکنان در همان کلانشهری زندگی میکنند که کارفرما زندگی میکند. این نوع استخدام و اشتغال مزایای زیادی برای هر دو طرف دارد.
میتوانید شخصاً با برنامهنویسان سیشارپ ملاقات کنید.
امکان برگزاری جلسات در محل کار وجود دارد.
برنامهنویس میتواند بهطور مستقیم با مشتریان شرکت در ارتباط باشد.
برنامهنویس تحت قوانین شرکت وظایف خود را انجام میدهد.
استخدام توسعهدهنده ساکن در شهرها یا کشورهای مختلف
ابتدا لازم است تفاوت میان استخدام توسعهدهنده ساکن در شهر یا کشور دیگری را بررسی کنیم. در هر دو حالت، برنامهنویس بهطور فیزیکی در محل شرکت وجود ندارد، اما تفاوت اصلی در این است که توسعهدهندگان فرامرزی بر مبنای قوانین حاکم در آن کشور با شما همکاری خواهند داشت که مسائل خاص خود را دارند. بهطور مثال، ممکن است دستمزد خود را به دلار دریافت کنند، دستمزد بیشتری درخواست کنند تا کسری مالیات را جبران کند و بهاحتمال زیاد باید قراردادها را در فرمت بینالمللی و به زبان انگلیسی بنویسید. از اینرو، استخدام این گروه از برنامهنویسان باید واقعا توجیه اقتصادی داشته باشد. در نقطه مقابل، برنامهنویسان ساکن در شهرهای مختلف ایران قرار دارند که تابع قوانین کار ایران هستند و تعامل با آنها سادهتر است.
مزیت اصلی استخدام مهندسان سیشارپ برونشهری این است که میتوانید بهترین و مناسبترین فرد را انتخاب کنید، زیرا استعدادهای برتر قرار نیست همگی در یک شهر باشند و برخی از آنها بهدلیل مشکلات مختلف ترجیح میدهند در شهر خود بمانند و دورکاری کنند. بنابراین، گاهیاوقات استخدام برنامهنویسان برونشهری مزایای خوبی برای شرکت بههمراه دارد.
استخدام توسعهدهنده سیشارپ بر اساس نوع استخدام
بسته به نوع استخدام، گزینههای زیر را در اختیار دارید:
استخدام توسعهدهندگان درونسازمانی.
استخدام توسعهدهندگان سیشارپ از طریق پیمانکاری.
استخدام توسعهدهندگان از طریق موسسات کاریابی یا شرکتهای برنامهنویسی.
استخدام آزادکارها.
همه این استخدامها مزایا و معایبی دارند. در ادامه هر یک از آنها بررسی میکنیم تا بتوانید با درک بهتر گزینه مناسب با نیازهای خود را انتخاب کنید.
استخدام یک توسعهدهنده سیشارپ درونسازمانی
حضور مهندسان کاربلد درونسازمانی، برای توسعه بنیادی و انجام مهمترین وظایف، همیشه بهترین راهحل است. این مدل سنتی، استخدام کارکنان تماموقت بهعنوان تیم توسعهدهندگان است. در هر حال، با توجه به هزینه توسعه، این مدل گرانترین مدل استخدام محسوب میشود، زیرا هزینههای اضافی بیشتری غیر از حقوق این افراد دارید، مانند تعطیلات با حقوق، بیمه درمانی، اجاره دفتر، تجهیزات و غیره. اگر بهدنبال مهندسان بیشتری هستید تا به تیم درونسازمانی شما بپیوندند، باید بهسراغ سایتهای کاریابی بروید که در این زمینه مشغول به کار هستند. از نمونههای خارجی در این زمینه باید به گلسدور، Indeed، Github، LinkedIn و نمونههای مشابه اشاره کرد.
استخدام توسعهدهندگان اختصاصی سیشارپ بر مبنای رویکرد پیمانکاری
افزایش کارکنان غیرثابت که نوعی استراتژی برونسپاری است، به شما امکان میدهد تیم توسعه نرمافزاری خود را از طریق پیمانکاران قراردادی یا نیمهوقت گسترش دهید. این یک راهحل عالی برای استخدام توسعهدهندگان با شرایط خاص یا تیمی از توسعهدهندگان است که به تیم درونسازمانی شما کمک میکنند کارهای توسعه نرمافزاری را انجام دهند.
استخدام از طریق سایتهای کاریابی یا شرکتهای نرمافزاری
این مدل استخدام سادهترین راه برای برونسپاری فرآیند توسعه است. شما میتوانید یک سایت کاریابی پیدا کرده و از طریق آن برنامهنویسان را جذب کنید یا شرکت توسعه نرمافزار قابلاعتمادی پیدا کنید و در مورد ایدهها و نیازهای خود صحبت کنید. آنها میتوانند یک تیم توسعه مورد نیاز متشکل از توسعهدهندگان، طراحان و مهندسان تضمین کیفیت (QA) را برای کار روی پروژه شما آماده کنند و در کنار آن خدمات مدیریت پروژه را ارائه دهند.
استخدام آزادکارها (فریلنسرها)
فریلنسینگ یا آزادکاری، یک مدل استخدام پارهوقت پرطرفدار است که برای کارها و پروژههای کوتاهمدت اضافی بهترین کاربرد را دارد. هنگام استفاده از خدمات آزادکاری، در واقع شما برای اجرای سریعتر کارهای موردنیاز، تیم توسعه خود را با کارکنان موقت تکمیل و احیا میکنید. با اینحال، یافتن فریلنسرهای باکیفیت کار آسانی نیست. علاوه بر این، هر لحظه این احتمال وجود دارد که توسعهدهندهای که استخدام کردهاید را دیگر در تیمتان نداشته باشید، زیرا آنها بهطور دائم بهدنبال پروژههای خوب یا مشتریانی هستند که پول بیشتری پرداخت میکنند و برخی از آنها هیچ قرارداد کاری با شرکتها منعقد نمیکنند. بهترین مکان برای پیدا کردن توسعهدهندگان آزادکار مسلط به زبان برنامهنویسی سیشارپ، آموزشگاههایی هستند که در زمینه تدریس برنامهنویسی فعالیت میکنند.
میانگین حقوقی توسعهدهندگان سیشارپ در سراسر جهان
انقلاب دیجیتال سراسر جهان را فرا گرفته است. بسیاری از شرکتهای فناوری اطلاعات برای جذب مهندسان واجد شرایط سیشارپ و ارائه دستمزدهای خوب برای بهدست آوردن آنها با یکدیگر رقابت میکنند. دستمزد یک برنامهنویس سیشارپ بسته به کشور، سال تجربه و سابقه کار متفاوت است. برای مقایسه تفاوت حقوق توسعهدهندگان در کشورهای مختلف، آماری را گردآوری کردهایم که نشان میدهد کدام کشورها بهترین انتخاب برای برونسپاری مقرونبهصرفه و باکیفیت هستند. با این حال، توجه داشته باشید که این اعداد فقط حقوق توسعهدهندگان را نشان میدهند و هزینههای اضافی مانند پاداش و غیره را شامل نمیشوند.
حقوق سالانه توسعهدهندگان سیشارپ در کشورهای مختلف
آمریکای شمالی و جنوبی
یک برنامه نویس سیشارپ در ایالات متحده بهطور متوسط سالانه 112952 دلار درآمد دارد. لازم به ذکر است که این بالاترین نرخ دستمزد در جهان است. اما در کشورهای آمریکای لاتین برنامهنویسان واجد شرایط سیشارپ حقوق پایینتری دارند. بهعنوان مثال، در مکزیک، متوسط حقوق سالانه 20400 دلار و در آرژانتین تنها 8200 دلار است. این تفاوت حقوق بهدلیل هزینه کمتر زندگی است، اما آمریکای لاتین معروف به داشتن مراکز روبهرشد فناوری اطلاعات و مهندسان نرمافزار کاربلد و درجه یک است.
اروپا
وضعیت در اروپا در هر کشور متفاوت است. در اروپای غربی میانگین حقوق بالاتر است. بهعنوان مثال، در آلمان، متوسط دستمزد سالانه یک توسعهدهنده سیشارپ ۵۲۸۰۰ دلار است، در حالی که در بریتانیا این میزان به 69959 دلار میرسد. با اینحال، اروپای شرقی محبوبترین مقصد برای برنامهنویسان آزادکار بااستعداد است. توسعهدهندگان از اوکراین، بلغارستان و بلاروس، بهعنوان مهندسان درجه یک شناخته میشوند، اما بهدلیل هزینه کمتر زندگی، میانگین حقوقشان در مقایسه با اروپای غربی و ایالات متحده بسیار کمتر است. متوسط حقوق سالانه یک توسعهدهنده سیشارپ اوکراینی 36000 دلار است و در بلاروس توسعهدهنده سیشارپ سالانه 30000 دلار دریافت میکند.
آفریقا و آسیا
توسعهدهندگان از هند و آفریقای جنوبی در مقایسه با ایالات متحده و اروپا حقوق کمتری دریافت میکنند. بهعنوان مثال، اطلاعات مربوط به SalaryExplorer بیان میکند که یک توسعهدهنده از هند سالانه 6800 دلار حقوق دریافت میکند، در حالی که در چین میانگین حقوق 39000 دلار است. در آفریقای جنوبی، این میزان حقوق به 26000 دلار در سال میرسد.
جمعبندی
زبان برنامهنویسی سیشارپ بهسرعت در حال محبوب شدن است و توسعهدهندگان سیشارپ هر روز متقاضیان بیشتری پیدا میکنند. بنابراین، سعی کردیم بهترین شیوههای استخدام توسعهدهندگان درجه یک سیشارپ را بهطور خلاصه مورد تحلیل و بررسی قرار داده و شرح دهیم که کجا و چگونه بهدنبال یک مهندس کاربلد بگردید. همچنین، اطلاعاتی در خصوص میانگین حقوق جهانی توسعهدهندگان عنوان کردیم و نگاهی هم به گزینههای مختلف استخدام داشتیم که کمک میکنند تا بفهمید کدام مکان و مدل استخدام، مناسبترین گزینه بر اساس نیازهای شما است.
امنیت در حوزه فناوری اطلاعات (IT) به روشها، ابزارها و پرسنل مورد استفاده برای دفاع از داراییهای دیجیتال سازمان اشاره دارد. هدف امنیت فناوری اطلاعات محافظت از این داراییها، دستگاهها و خدمات در برابر اختلال، سرقت یا سوءاستفاده توسط کاربران غیرمجاز است که در غیر این صورت بهعنوان عوامل تهدید شناخته میشوند. این تهدیدها میتوانند خارجی یا داخلی و مخرب یا تصادفی باشند.
یک استراتژی امنیتی مؤثر از طیف وسیعی از رویکردها برای به حداقل رساندن آسیبپذیریها و هدف قرار دادن بسیاری از انواع تهدیدات سایبری استفاده میکند. شناسایی، پیشگیری و پاسخ به تهدیدات امنیتی شامل استفاده از سیاستهای امنیتی، ابزارهای نرمافزاری و خدمات فناوری اطلاعات است.
متأسفانه، نوآوری در حوزه فناوری به جای آنکه تنها در خدمت کارشناسان فناوری اطلاعات باشد، به مجرمان سایبری نیز خدمترسانی میکند. برای محافظت از داراییهای تجاری، شرکتها باید بهطور مرتب امنیت را بررسی، بهروزرسانی و بهبود بخشند تا از زیرساختها در برابر تهدیدات سایبری و مجرمان سایبری محافظت کنند.
امنیت فناوری اطلاعات از دو حوزه فیزیکی و اطلاعاتی تشکیل شده است.
امنیت فیزیکی
امنیت فیزیکی حفاظت از افراد، سختافزار، نرمافزار، اطلاعات شبکه و دادهها در برابر اقدامات فیزیکی، نفوذها و سایر رویدادهایی است که میتواند به یک سازمان و داراییهای آن آسیب برساند. حفاظت از امنیت فیزیکی یک کسبوکار بهمعنای محافظت از آن در برابر عوامل تهدیدکننده و همچنین حوادث و بلایای طبیعی مانند آتشسوزی، سیل، زلزله و شرایط جوی است. فقدان حفاظت فیزیکی میتواند سرورها، دستگاهها و ابزارهایی را که از عملیات و فرآیندهای تجاری پشتیبانی میکنند، به خطر بیاندازد. گفته میشود مردم در گروه بخش بزرگی از تهدیدهای مرتبط با امنیت فیزیکی قرار دارند.
دزدی و خرابکاری نمونههایی از تهدیدات انسانی هستند که نیازمند راهحلهای امنیتی فیزیکی هستند. نقض امنیت فیزیکی لزوما به دانش فنی نیاز ندارد، اما میتواند به اندازه نقض اطلاعات خطرناک باشد.
امنیت فیزیکی سه بخش دارد:
کنترل دسترسی
نظارت
آزمایش کردن
مطلب پیشنهادی
۱۰ مزیت گواهینامههای فناوری اطلاعات برای شما و کارفرمای شما
چرا شما به یک یا چند گواهینامه فناوری اطلاعات نیاز دارید؟
۱۰ مزیت گواهینامههای فناوری اطلاعات برای شما و کارفرمای شما
موفقیت برنامه امنیت فیزیکی یک سازمان به پیادهسازی، نگهداری و بهروزرسانی موثر هر یک از این مؤلفهها بستگی دارد.
کنترل دسترسی
کنترل دسترسی به ساختمانهای اداری، مراکز تحقیقاتی، آزمایشگاهها، مراکز داده و سایر مکانها برای امنیت فیزیکی حیاتی است. یک مثال از نقض امنیت فیزیکی، ورود مهاجم به یک سازمان و استفاده از درایو فلش گذرگاه سریال جهانی (USB) برای کپی و سرقت دادهها یا قرار دادن بدافزار در سیستمها است.
هدف کنترل دسترسی، ثبت، نظارت و محدود کردن تعداد کاربران غیرمجاز است که با داراییهای فیزیکی حساس و محرمانه تعامل دارند. کنترل دسترسی میتواند بهسادگی موانعی مانند دیوارها، نردهها و درهای قفلشده باشد. نشان شناسایی و کدهای کلید نیز بخشی از یک سیستم دسترسی فیزیکی موثر هستند. شناسایی فیزیکی یک راه عالی برای احراز هویت کاربرانی است که سعی در دسترسی به دستگاهها و مناطق رزرو شده برای پرسنل مجاز دارند.
روشهای پیچیدهتر کنترل دسترسی شامل اشکال مختلف احراز هویت بیومتریک است. این سیستمهای امنیتی از بیومتریک یا ویژگیهای بیولوژیکی منحصر به فرد برای احراز هویت کاربران مجاز استفاده میکنند. اثر انگشت و تشخیص چهره دو نمونه از کاربردهای رایج این فناوری هستند.
مطلب پیشنهادی
فناوری اطلاعات، هند را به کجا میبرد؟
تا سال ۲۰۲۵، هند از صنعت IT بین ۳۰۰ تا ۳۵۰ میلیارد دلار درآمد خواهد داشت.
فناوری اطلاعات، هند را به کجا میبرد؟
نظارت
نظارت شامل فنآوریها و تاکتیکهای مورد استفاده برای نظارت بر فعالیت در داخل و اطراف تاسیسات و تجهیزات است. بسیاری از شرکتها دوربینهای مدار بسته را برای ایمنسازی محیط ساختمان خود نصب میکنند. این دوربینها هم بهعنوان یک عامل بازدارنده در برابر مزاحمان عمل میکنند و هم ابزاری برای واکنش و تجزیهوتحلیل حوادث هستند. دوربینها، حسگرهای حرارتی، آشکارسازهای حرکتی و هشدارهای امنیتی تنها نمونههایی از فناوری نظارت هستند.
آزمایش کردن
آزمایش روشی قابل اعتماد برای افزایش امنیت فیزیکی است. شرکتهایی که دارای پروتکلهای امنیتی قوی هستند، خطمشیهای خود را آزمایش میکنند تا ببینند آیا نیاز به بهروزرسانی یا تغییر دارند یا خیر. چنین آزمایشاتی میتواند شامل تیم قرمز باشد، جایی که گروهی از هکرهای اخلاقی سعی میکنند به پروتکلهای امنیت سایبری یک شرکت نفوذ کنند، باشد.
امنیت اطلاعات
امنیت اطلاعات بهعنوان infosec نیز شناخته میشود. رویکرد فوق شامل استراتژیهایی است که برای مدیریت فرآیندها، ابزارها و خطمشیهایی استفاده میشود که از داراییهای دیجیتال و غیر دیجیتال محافظت میکند. هنگامی که infosec بهطور موثر پیادهسازی شود، میتواند توانایی سازمان را برای پیشگیری، شناسایی و پاسخ به تهدیدات به حداکثر برساند.
Infosec چند گروه از فناوریهای امنیتی زیر را شامل میشود:
امنیت برنامه اشاره به محافظت از برنامهها در برابر تهدیداتی دارد که به دنبال دستکاری، دسترسی، سرقت، تغییر یا حذف نرمافزار و دادههای مرتبط با آن هستند. امنیت برنامه ترکیبی از نرمافزار، سختافزار و سیاستهایی است که اقدامات متقابل نامیده میشوند. اقدامات متقابل رایج شامل فایروالهای برنامه، رمزگذاری، مدیریت پچ و سیستمهای احراز هویت بیومتریک است.
امنیت ابری اشاره به مجموعهای از سیاستها و فناوریهایی دارد که برای محافظت از دادهها و زیرساختها در یک محیط محاسبات ابری طراحی شدهاند. دو نگرانی کلیدی امنیت ابری، مدیریت هویت و دسترسی و حفظ حریم خصوصی دادهها است. تست نفوذ، نگهداری از زیرساخت شبکه، شناسایی حملههای مرد میانی (MitM) و اسکن برنامهها، برخی از ابزارهایی هستند که متخصصان infosec برای ایمنسازی و محرمانهگی اطلاعات استفاده میکنند.
امنیت ابر مسئولیتی مشترک میان ارائهدهنده خدمات ابری (CSP) و مشتری یا کسبوکاری است که زیرساختهایی مانند سرورها و فضای ذخیرهسازی را اجاره میکند. اگر توافقات CSP به خوبی انجام نشده باشد، یک منطقه خاکستری قانونی در امنیت ابری ممکن است رخ دهد. به عنوان مثال، اگر سرور مشتری توسط مجرمان سایبری که به سرور مشتری دیگری دسترسی پیدا میکنند در معرض خطر قرار بگیرد، چه کسی را باید مقصر دانست؟
امنیت نقطه پایانی مستلزم آن است که گرههای شبکه از استانداردهای امنیتی خاصی مانند قانون نوسازی امنیت اطلاعات فدرال قبل از ایجاد یک اتصال امن برخوردار باشند. دستگاههای گره پایانی شامل رایانههای شخصی، لپتاپ، تبلت، گوشیهای هوشمند و تجهیزاتی مانند پایانههای فروش، بارکدخوانها، حسگرها و دستگاههای اینترنت اشیا (IoT) میشوند.
امنیت اینترنت حفاظت از نرمافزارهای کاربردی، مرورگرهای وب و شبکههای خصوصی مجازی است که از اینترنت استفاده میکنند. به عنوان مثال، تکنیکهایی مانند رمزگذاری، محافظت از دادهها در برابر حملههیا بدافزاری، فیشینگ، MitM و حملات انکار سرویس در این گروه قرار میگیرند.
امنیت موبایل به عنوان امنیت بیسیم شناخته میشود و اشاره به محافظت از دستگاههای سیار مانند تلفنهای هوشمند، تبلتها و لپتاپها و شبکههایی که به آنها متصل میشوند در برابر سرقت، نشت اطلاعات و سایر حملات دارد.
امنیت شبکه از زیرساخت شبکه و دستگاههای متصل به آن در برابر تهدیداتی مانند دسترسی غیرمجاز، استفاده مخرب و تغییرات محافظت میکند.
امنیت زنجیره تامین از شبکه بین یک شرکت و تامینکنندگان آن محافظت میکند که اغلب به اطلاعات حساس مانند اطلاعات کارکنان و مالکیت معنوی دسترسی دارند. نقض دادههای SolarWinds در سال 2020 نشان داد که سازمانها در صورت نظارت ضعیف بر کانالهای زنجیره تامین چقدر میتوانند آسیبپذیر باشند. SolarWinds یک شرکت فناوری اطلاعات است که شبکهها و سیستمهای مشتری را مدیریت میکند و به زیرساخت فناوری اطلاعات مشتریان دسترسی دارد. هنگامی که هکرها به سرور بهروزرسانی SolarWinds نفوذ کردند، توانستند ویروسی را نصب کنند که به عنوان یک در پشتی دیجیتال برای سیستمها و دادههای مشتری عمل میکرد.
مفاهیم و اصول امنیت فناوری اطلاعات
برخی مفاهیم اصول پایه و اساس امنیت فناوری اطلاعات را تشکیل میدهند. برخی از مهمترین آنها به شرح زیر هستند:
مدیریت چرخه عمر: برنامه این کار با کاهش تعداد باگها، نقصهای طراحی و خطاهای پیکربندی، از تمام مراحل فرآیند توسعه برنامه محافظت میکند.
دفاع در عمق: یک استراتژی است که از چندین اقدام متقابل به طور همزمان برای محافظت از اطلاعات استفاده میکند. این روشها میتواند شامل تشخیص و پاسخ نقطه پایانی، پاسخ نرمافزار آنتیویروس به تهدیدات و مقابله با تجهیزاتی است که به شکل غیرقانونی نصب شدهاند. دفاع در عمق بر این اصل نظامی مبتنی است که برای دشمن سخت است که بتواند از یک سیستم دفاعی چند لایه به جای یک لایه عبور کند.
مدیریت پچ وصلهها و بهروزرسانیها: کدهایی برای رفع مشکل در برنامهها، سیستمعاملها و سفتافزارها است که توسط شرکت سازنده ارائه میشود.
اصل کمترین امتیاز: این اصل با محدود کردن دسترسی کاربر و برنامه به پایینترین سطح از حقوق دسترسی مورد نیاز برای انجام کارها یا عملکردهایشان، امنیت فناوری اطلاعات را تقویت میکند.
مدیریت ریسک: این فرآیند شناسایی، ارزیابی و کنترل خطرات امنیتی است که محیط فناوری اطلاعات یک سازمان را تهدید میکند.
مدیریت آسیبپذیری: با این رویکرد، مدیران امنیتی بهطور اقدام به شناسایی و طبقهبندی آسیبپذیریها میکنند تا تعداد آنها در زیرساخت را بهحداقل برسانند و ضعفهای امنیتی موجود در فناوری اطلاعات را کمتر کنند.
موارد یاد شده برخی از مهمترین مفاهیم و اصول امنیت و فناوری فناوری اطلاعات هستند. با این حال، ترکیب همه این اصول امنیت 100٪ تضمین نمیکند که زیرساخت فناوری اطلاعات یک سازمان در امنیت کامل قرار دارد. تهدید سایبری یک مشکل اساسی است که هر مدیر و کسبوکار امنیت فناوری اطلاعات با آن مواجه است. با این حال، با استقرار یک استراتژی امنیتی جامع، سازمانها میتوانند در برابر تهدیدات امنیتی فیزیکی و infosec دفاع کنند.
امنیت سایبری در مقابل infosec
با توجه به تلاقی امنیت اطلاعات با نقطه پایانی، اینترنت اشیا و امنیت شبکه، جدا کردن امنیت اطلاعات از امنیت سایبری میتواند دشوار باشد. با این حال، تفاوتهای متمایزی وجود دارد. یک تفاوت، مسائل ژئوپلیتیکی است. امنیت سایبری میتواند به مکانیسمهای دفاعی اشاره داشته باشد که از یک کشور یا دادههای یک دولت در برابر جنگ سایبری محافظت میکند. این به این دلیل است که امنیت سایبری شامل محافظت از دادهها و فناوریهای مرتبط با آن در برابر تهدیدات است.
از سوی دیگر، امنیت اطلاعات بر اطمینان از دسترسپذیری اطلاعات، محرمانگی و حفظ یکپارچگی آن تمرکز دارد.
آشنایی با معماری شبکه مراکز داده سازمانی و نحوه استقرار مولفههای آنها
شبکههای ارتباطی نقش تاثیرگذاری در موفقیت یا شکست سازمانهای بزرگ دارند. از اینرو، محافظت از آنها در برابر انواع مخاطرات، بهویژه مخاطرات امنیتی، ضامن بقا سازمانها بهشمار میرود. درک ساختار شبکههای دادهای کمک میکند آسیبپذیریهای شبکهها را بهتر درک کنیم و تمرکز خود را روی بخشهایی قرار دهیم که مستعد حملههای سایبری هستند. در دنیای شبکههای ارتباطی، معماری شبکه به نحوه اتصال شبکههای سازمانی مستقر در یک ساختمان یا ساختمانهای مجاور یکدیگر اشاره دارد؛ بهطوری که اطلاعات با کمترین تاخیر و خطا در شبکه انتقال پیدا کند. در این مقاله با نحوه پیادهسازی شبکههای سازمانی و مراکز داده آشنا میشویم.
درک معماری شبکه به ما در درک نقاط آسیبپذیر شبکه کمک میکند، زیرا هکرها همواره بهدنبال روشهایی هستند تا به شبکههای سازمانی نفوذ کرده و اطلاعات را سرقت یا دستکاری کنند. هنگامیکه هکری موفق شود به شبکه سازمانی نفوذ کند، این قابلیت را بهدست خواهد آورد تا اطلاعاتی را که از طریق شبکه در حال انتقال هستند رصد کند یا اطلاعات ارزشمند را سرقت کند. برای حل این مشکل، باید ساختار شبکه و دادههایی را که از طریق آن جریان مییابد درک کنید. یک شبکه معمولی از سه بخش اصلی زیر پدید میآید:
شبکه مرکز داده که سرورها و برنامههای کاربردی سازمان را میزبانی میکند.
شبکه اصلی یا مرکزی که شاهراهی است که تمامی بخشهای شبکه از جمله شبکه کاربران، مراکز داده، شبکههای راه دور (شعب یک سازمان) را به یکدیگر و در نهایت به اینترنت متصل میکند.
شبکه کاربری که زیرمجموعه شبکه اصلی است و وظیفه برقراری ارتباط کاربران با یکدیگر را برعهده دارد. شبکه کاربری معمولاً مبتنی بر شبکههای توزیع و دسترسی است. شکل ۱ معماری یک شبکه سازمانی مرسوم را نشان میدهد.
شکل 1
در گوشه بالای سمت چپ شکل ۱، مرکز داده اصلی را که DC-1 نام دارد مشاهده میکنیم. شبکه کاربر نیز در سایت مرکز داده و بهنام Users-1 قرار دارد. در گوشه سمت راست بالا، مرکز داده ثانویه را که DC-2 نام دارد مشاهده میکنیم که متشکل از شبکه کاربرانی است که در سایت مرکز داده ثانویه قرار دارند. دو مرکز داده از طریق دو فایروال که در دو مرکز داده قرار دارند به اینترنت متصل میشوند. در مرکز نمودار، یک اتصال شبکه گسترده (WAN) را میبینیم که شامل روترهایی است که به شبکه ارائهدهنده خدمات (SP) سرنام Service Provider که وظیفه برقراری ارتباط شبکههای محلی و اینترنت را برعهده دارد متصل هستند. در قسمت پایین نمودار، سایتهای راه دور (شعب) را میبینیم که از طریق شبکه ارائهدهنده خدمات به شبکه مرکزی سازمان متصل میشوند.
شبکه مرکزی، کاربری و مرکز داده
همانگونه که اشاره شد، یک شبکه داده سازمانی متشکل از شبکههای کوچک و بزرگی است که همگی از طریق یک شبکه مرکزی مدیریت میشوند. بهطور مثال، مراکز داده میزبان شبکههایی هستند که سرورهای سازمانها در آن قرار دارند. در برخی از سازمانها از دو مرکز داده استفاده میشود تا اصل افزونگی و دسترسپذیری بالا (High Availability) حفظ شوند. یعنی اگر یک مرکز داده از کار افتاد، دیگری بتواند بهطور کامل یا جزئی جای آنرا بگیرد. نکتهای که هنگام طراحی شبکههای کاربری باید به آن دقت کنید، تعداد کاربران سازمانی، خارج از سازمانی (دورکارها)، گستره جغرافیایی و تعداد شعب یک سازمان است. شبکه مرکزی ستون فقراتی است که کاربران را به مرکز داده، دفاتر راه دور و اینترنت متصل میکند. در اینجا سوئیچهای توزیع در مکانهای مرکزی پردیس، و سوئیچهای دسترسی در ساختمانها و مناطق کوچک نصب میشوند.
بهطور مثال، در شکل 2 معماری یک شبکه سازمانی را داریم که در لایه مرکز داده پذیرای دو مرکز داده است. این مراکز داده دو کار مهم انجام میدهند؛ اول آنکه به لایه مرکزی سرویسدهی میکنند و دوم آنکه هر زمان یکی از آنها با مشکل روبهرو شد، دیگری وظایف مرکز داده از مدار خارج شده را برعهده میگیرد.
شکل 2
نکته مهمی که هنگام پیادهسازی چنین شبکههایی باید به آن دقت کنید، انتخاب صحیح تجهیزاتی مثل سوئیچها است که وظیفه مدیریت ترافیک و بارهای کاری را برعهده دارند. در حالت کلی، سوئیچهایی که بهعنوان سوئیچ مرکزی (Core) شناخته میشوند، قابلیت اطمینان بیشتر، امکانات بهتر و توانایی بیشتری نسبت به سوئیچ توزیع (Distribution) دارند و به همین دلیل قابلیتهای خوبی در ارتباط با مسیریابی، آمادهسازی یک ساختار انتقال بهینه و پایدار بستهها ارائه میکنند. سوئیچهای توزیع باید ظرفیت سوئیچینگ زیادی برای پردازش ترافیکی که از سمت سوئیچ دسترسی (Access) وارد میشود، داشته باشند. به همین دلیل بهتر است از سوئیچهای مرکزی در لایه Core (شبکه مرکزی) و سوئیچهای توزیع در لایه Distribution استفاده شود. با توجه به اینکه سوئیچ دسترسی با تجهیزات شبکه و کاربران در ارتباط است باید پورتهای زیادی داشته باشد. بهطور کلی، سوئیچ دسترسی در لایه 2 و سوئیچ توزیع در لایه 3 قرار میگیرند، البته این موضوع به نوع معماری شبکه سازمانی بستگی دارد.
در شکل ۲، سوئیچهای مرکز داده در بالا قرار دارند و از طریق دو کابل به هر سرور متصل میشوند. این اتصالات کاربرد دوگانه دارند؛ اول آنکه دستیابی به اصل افزونگی را تضمین میکنند تا اگر یکی از کابلها و کانالهای انتقال با مشکل روبهرو شد، دیگری فرآیند انتقال را مدیریت کند و دوم آنکه قابلیت تجمیع لینک (Link Aggregation) را دارند تا ظرفیت سوئیچینگ بیشتری در دسترس قرار گیرد. همچنین، کانالهای ارتباطی میتوانند بر بستر فیبر یا مس باشند.
در وسط تصویر، سوئیچهای مرکزی را داریم. همانطور که از نام این سوئیچها پیدا است، آنها در قلب شبکه سازمانی قرار دارند. آنها وظیفه برقراری ارتباط میان شبکه کاربری و مرکز داده را برعهده دارند و به سایتهای راه دور، اینترنت و دیگر شبکهها اجازه برقراری ارتباط با شبکه سازمانی را میدهند. اتصال بین سوئیچهای مرکزی و سوئیچهای مرکز داده را میتوان در لایه 2 یا لایه 3، با یا بدون فناوریهای همپوشان پیادهسازی کرد.
شبکه کاربری در ناحیه توزیع و دسترسی قرار دارد. لایه دسترسی میزبان سوئیچهایی است که کاربران را به شبکه سازمانی متصل میکند، در حالی که لایه توزیع سوئیچهای دسترسی را تجمیع میکند. بهعنوان مثال، در یک شبکه پردیس، یک سوئیچ توزیع برای هر ساختمان یا گروهی از ساختمانها نصب میشود و سوئیچهای دسترسی به سوئیچ توزیع متصل میشوند. سوئیچهای توزیع معمولاً با رعایت اصل افزونگی نصب میشوند؛ به این معنا که دو سوئیچ در هر سایت نصب میشوند و هر دو سوئیچ به شبکه متصل میشوند.
توپولوژی سوئیچینگ لایه 2 و مسیریابی لایه 3
سوئیچهای لایه 2 دستگاههایی هستند که بستهها را بین پورتها سوئیچ میکنند، در حالی که سوئیچهای لایه 3 یا روترها به سرآیند لایه 3 بسته نگاه میکنند و مسیریابی را انجام میدهند. فرآیند انجام اینکار در شکل 3 نشان داده شده است. در اینجا، D مخفف آدرس مقصد و S مخفف آدرس منبع است و به ترتیب D و S برای L2 و L3 در نظر گرفته شدهاند.
در بالای سمت چپ تصویر، یک سوئیچ LAN را مشاهده میکنیم که در حال دریافت یک فریم است. سپس، سوئیچ به مک آدرس مقصد نگاه میکند و در مورد انتقال بسته تصمیمگیری میکند و فریم را به پورت مقصد یعنی پورت 3 ارسال میکند.
شکل 3
در پایین سمت چپ، مشاهده میکنیم که چگونه یک فریم از شبکه سوئیچها عبور میکند. فریم وارد سوئیچ سمت چپ میشود که بسته را به پورت 3 ارسال میکند. پورت 3 به پورت 1 در سوئیچ سمت راست متصل میشود که به مک آدرس خود نگاه میکند و بسته را به سوئیچ سمت راست یعنی پورت 4 فوروارد میکند. تصمیمگیری در مورد نحوه ارسال فریمها بهصورت محلی انجام میشود. یعنی تصمیمگیری در این زمینه توسط خود سوئیچ و بدون تعامل با سوئیچهای دیگر انجام میشود تا بار اضافی به شبکه وارد نشود.
فرآیند مسیریابی، همانطور که در سمت راست نمودار شکل ۳ نشان داده شده، در لایه 3 انجام میشود. هنگامیکه بستهای وارد روتر میشود، روتر به آدرس مقصد لایه 3 نگاه میکند و بررسی میکند که آیا مقصد بسته در جدول مسیریابی معتبر است یا خیر و سپس فرآیند مسیریابی را انجام داده و بسته را به هاپ (Hop) بعدی ارسال میکند.
در حالت کلی از سوئیچهای لایه 2 برای اتصال کاربران به شبکه استفاده میکنیم و از سوئیچهای لایه 3 در سطوح بالاتر، یعنی سطح توزیع، هسته (Core) یا مرکز داده برای تقسیم شبکه به شبکههای کوچکتر (زیرشبکه) استفاده میکنیم.
در شکل 4، یک روتر عادی را در سمت چپ و یک سوئیچ لایه 3 را در سمت راست مشاهده میکنیم. در یک روتر عادی، دستگاههایی مثل کامپیوترهای شخصی یا سوئیچهای لایه 2 به آن متصل میشوند.
در سوئیچ لایه 3، ملزومات سختافزاری و نرمافزاری که برای ارسال و دریافت بستههای اطلاعاتی به آنها نیاز داریم در قالب یک محصول واحد در اختیار ما قرار دارد. رابطهای لایه 3 (که در تجهیزات سیسکو بهنام Interface VLAN نامیده میشود) رابطهای نرمافزاری هستند که روی سوئیچ پیکربندی شدهاند. در اینجا شبکههای محلی مجازی (VLAN) پیکربندی میشوند و یک رابط L3 به هر کدام اختصاص داده میشود و در ادامه تجهیزات خارجی به پورتهای فیزیکی سوئیچ متصل میشوند.
شکل 4
شبکههای محلی مجازی و تقسیم شبکه به زیرشبکههای مختلف مزایای زیادی دارد، بهطوریکه انعطافپذیری بیشتری در طراحی در اختیار ما قرار میدهد، زیرا هر بخش میتواند یک زیرشبکه IP با مجوزها و حقوق دسترسی به سرورهای خاص خود را داشته باشد، امکان پیادهسازی پروتکلهای مسیریابی وجود دارد، پیامهای همهپخشی تنها در زیرشبکههای خاص خود توسط کلاینتها دریافت میشوند و هرگونه حمله سایبری تنها روی همان زیرشبکه تاثیرگذار است. موارد یادشده تنها بخشی از مزایای زیرشبکهسازی است.
معماری L2 و L3
یکی از چالشهای بزرگی که طراحان و معماران شبکه با آن روبهرو هستند، انتخاب معماریای است که قرار است شبکه سازمانی بر مبنای آن پیادهسازی شود. نکتهای که باید در ارتباط با معماری لایه 3 به آن دقت کنید این است که لایه ۳ را میتوان در هر نقطهای از شبکه پیادهسازی کرد. وقتی لایه 3 در سوئیچهای اصلی پیادهسازی شود، آدرسهای IP آنها دروازههای پیشفرض کاربران خواهد بود. هنگامیکه لایه 3 در سوئیچهای مرکز داده پیادهسازی شود، آدرس آنها دروازههای پیشفرض سرورها خواهد بود. دو توپولوژی پرکاربردی که توسط کارشناسان شبکه در هنگام پیادهسازی شبکههای سازمانی استفاده میشوند، در شکل ۵ نشان داده شده است. در سمت چپ شکل ۵، تنظیمات زیر را داریم:
شبکههای محلی مجازی (VLAN) پیکربندیشده روی سوئیچهای اصلی: در اینجا VLAN 50 و VLAN 60 شبکههای محلی کاربری هستند. هر کاربر یک شبکه محلی مجازی، چند پورت فیزیکی و یک رابط L3 منطقی و رابط VLAN (در صورت استفاده از تجهیزات سیسکو) در اختیار دارد. در مثال فوق، آدرس آیپی شبکه محلی مجازی VLAN50 برابر با 10.50.1.1/16 است، در حالی که آدرس آیپی شبکه محلی مجازی VLAN60 برابر با 10.60.1.1/16 است.
شکل 5
شبکههای محلی مجازی پیکربندی شده روی سوئیچهای مرکز داده
VLAN 10 و VLAN 20 شبکههای محلی مجازی سرور هستند. هر سرور شبکه محلی مجازی دارای چند پورت فیزیکی و یک رابط منطقی L3 یا همان رابط شبکه محلی است. برای مثال، آدرس آیپی رابط شبکه محلی مجازی VLAN 10 برابر با 10 10.10.1.1/16 است، در حالی که آدرس آیپی رابط شبکه محلی مجازی VLAN 20 برابر با 10.10.1.1/16 است.
دروازههای پیش فرض کاربران در شبکههای 10.50.0.0/16 و 10.60.0.0/16 به ترتیب 10.50.1.1 و 10.60.1.1 است.
در سمت راست، توپولوژی متفاوتی را مشاهده میکنیم، جایی که رابط تمامی شبکههای محلی مجازی روی سوئیچهای مرکز داده قرار دارند. در توپولوژی سمت راست پیکربندی زیر را داریم:
تمام VLANها روی سوئیچهای مرکز داده پیکربندی شدهاند.
سوئیچهای اصلی بهعنوان دستگاههای لایه 2 استفاده میشوند. دروازههای پیشفرض دستگاهها و سرورهای کاربر روی سوئیچهای مرکز داده هستند.
جریان داده در معماری L2 و L3
به همان ترتیبی که معماری لایه 2 و لایه 3 با هم متفاوت هستند، جریان انتقال دادهها در این معماریها نیز تفاوتهایی دارد. برای درک بهتر این موضوع به شکل ۶ دقت کنید. در توپولوژی سمت چپ، پیکربندی زیر را داریم:
هنگام ارسال بستهها از سمت کاربران به سرورها، کاربران در VLAN 50
یا VLAN 60 بستهها را به دروازه پیشفرض یعنی رابط L3 روی سوئیچ هسته ارسال میکنند و از این نقطه بستهها به رابط L3 سوئیچ مرکز داده و سرور (سوئیچ سمت چپ) هدایت میشوند. هنگام ارسال بستهها، سرورهای VLAN 10 یا VLAN 20 بستهها را به دروازه پیشفرض 10.10.1.1 ارسال میکنند که سوئیچ سمت چپ مرکز داده است. در ادامه بستهها به رابط L3 در سوئیچ هسته سمت چپ و کاربر هدایت میشوند. برای درک بهتر فرآیند ارسال و دریافت اطلاعات به شمارههای قرار گرفته در تصویر دقت کنید.
شکل 6
در توپولوژی سمت راست، پیکربندی زیر را داریم:
سوئیچهای مرکز داده دروازههای پیشفرض برای کاربران و سرورها هستند، از اینرو بستههایی از هر دو به سوئیچهای مرکز داده ارسال میشوند و فرآیند مسیریابی نیز بهشکل داخلی انجام میشود.
جریان دادهها در معماری L2 و L3 بر مبنای اصل افزونگی
اکنون اجازه دهید به بررسی این موضوع بپردازیم که بستهها چگونه از طریق شبکه انتقال پیدا میکنند. در اینجا فرض میکنیم که رابطهای L3 کاربری روی سوئیچهای مرکزی قرار دارند. در شکل ۷، کامپیوتری با آدرس 10.60.10.10/16 در حال ارسال اطلاعات به سروری با آدرس 10.20.1.100/16 است.
در یک شبکه سازمانی و در شرایط عادی، یعنی زمانیکه تمام مولفههای شبکه بدون مشکل کار میکنند، جریان انتقال دادهها بهشرح زیر است:
هنگامی که PC2 بستهها را برای یک سرور ارسال میکند، بستهها به دروازه پیشفرض یعنی سوئیچ مرکزی 10.60.1.1 تحویل داده میشوند (1).
از سوئیچ 10.60.1.1، بستهها به سوئیچ مرکزی به نشانی 10.20.1.1 ارسال میشوند (2).
در ادامه بستهها برای سرور S1 به نشانی 10.20.1.1 ارسال میشوند (3).
شکل 7
هنگامی که مشکلی مثل یک خرابی اتفاق میافتد، بهطور مثال، سوئیچ DC در سمت چپ تصویر که DC-SW-1 نام دارد از کار میافتد، موارد زیر اتفاق میافتد:
در این حالت، سرور S1 سوئیچ DC سمت راست vh که DC-SW-2 نام دارد انتخاب میکند. در ادامه بستههایی که از PC2 به سرور ارسال میشوند به سوئیچ هسته سمت راست (a) ارسال میشوند.
سوئیچ هسته در سمت راست بستهها را به هاپ بعدی (b) که سوئیچ DC سمت راست است (DC-SW-2) هدایت میکند تا سوئیچ DC سمت راست بستهها را به سرور (c) ارسال کند.
کلام آخر
همانگونه که مشاهده میکنید ملاحظات طراحی یک شبکه داده جزئیات زیادی دارد، بهطوری که هر طراحی باید متناسب با نیازهای یک سازمان انجام شود. با این حال، به این نکته مهم دقت کنید، مادامیکه ساختار یک شبکه را بهدرستی درک نکرده باشید، قادر نخواهید بود یک شبکه یکپارچه با بهترین عملکرد و آستانه تحمل بالا در برابر خرابیها را پیادهسازی کنید
برگرفته از مجله شبکه
شرکت پیشران صنعت ویرا با اساس نامه اتوماسیون صنعتی و کنترل ابزار دقیق و ساخت تابلوهای برق فشار قوی و ضعیف از سال 92 تاسیس گشت و ازهمان ابتدا در حوزه کاربرد ابزار دقیق در bms و سپس تولید و ساخت آنها قدم نهاد و در ادامه مسیر توانست با اتکا به تجربیات چندین ساله و استخدام نیروهای متخصص برق عملا جزو شرکتهایی باشد که محصولات قابل اتکایی با عناوین مانیتورینگ شرایط محیطی اتاق سرور -کنترلرهای دمای دیتا سنتر -دیتالاگرهای سردخانه و انبار -هشدار دهنده های دمای یخچال و فریزر و شمارشگرهای نمایشگاهی و فروشگاهی و تابلوهای برق متنوع با کاربردهای مختلف روانه بازار نماید در حال حاضر سیستمهای کنترل دما و رطوبت اتاق سرور این شرکت تنها سیستم مبتنی بر سخت افزار صنعتی plc-hmi در ایران است.