طراحی سایت | برنامه نویسی

آموزش طراحی سایت و برنامه نویسی

طراحی سایت | برنامه نویسی

آموزش طراحی سایت و برنامه نویسی

۱۲۷ مطلب در مرداد ۱۳۹۸ ثبت شده است

۱۶مرداد

معرفی برخی از حفره های امنیتی مودم ها

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

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

اگرچه که کرک دستگاه شما و دسترسی به وای فای برای اتصال به اینترنت می‌تواند خطری بزرگ باشد که به دلیل سیستم WPA2 مودم شما را تهدید می‌کند، خطرات بزرگ‌تری نیز از طریق نفوذ به سیستم‌عامل یا برنامه وای فای می‌تواند مودم شما را تهدید کند که عامل بروز نگرانی‌های بیشتر برای استفاده‌کنندگان از دستگاه‌های مودم وای فای می‌باشد. به گفته Tee-Jing Kang مدیرعامل شرکت Insignary: ” اگر کرک WPA2 را به عنوان نوک یک کوه یخی در نظر بگیریم که تهدیدی بسیار بزرگ به شمار می‌رود، این تهدید بسیار کمتر از باقی قسمت‌های کوه یخی (قسمت‌های برنامه مودم) بوده و خطراتی که از این لحاظ دستگاه‌های مودم را تهدید می‌کنند بسیار بزرگ‌تر می‌باشند.”

این شرکت با توجه به نظارتی که در سال ۲۰۱۵ و در طی حملاتی که به برخی از مودم‌ها شده است توانسته است بسیاری از آسیب‌پذیری‌های مودم‌ها و دلایل آن‌ها را آشکار سازد و بسیاری از گزارشات این سازمان در سال ۲۰۱۶ بر اساس تحقیقات سال قبلی منتشرشده است. کانگ در گفتگو با LinuxInsider گفته است: ” بسیار مایه تأسف است که بسیاری از شرکت‌ها با توجه به اینکه مشکلات مودم‌های آن‌ها آشکارشده است و راه‌حلی برای حل مشکل ارائه‌شده است ولی بازهم باگ‌های امنیتی در محصولات جدید این شرکت‌ها قابل مشاهده می‌باشد.”

زمان افزایش آگاهی

حمله‌ای که در سال ۲۰۱۵ رخ داد، توسط ۳۰۰٫۰۰۰ دستگاه آسیب‌دیده انجام داده شد؛ کانگ گفت مردم نسبت به بروز چنین مشکلی تردید بسیاری داشتند ولی این اتفاق رخ داد تا ثابت کند که چنین مشکلاتی ممکن است رخ دهد. وی افزود، ما پس از این حادثه تصمیم گرفتیم تا سطح آگاهی مردم را نسبت به این حملات بالا ببریم چرا که بروز چنین مشکلاتی می‌تواند مودم‌ها را از لحاظ مختلف به خطر بیندازند.

تهدید سال ۲۰۱۵ به دستگاه‌های IoT اختصاص داشت و رایانه‌های خانگی و موبایل‌ها از خطر در امان بودند. ولی نباید از یاد برد که بسیاری از سیستم‌های عاملی که ما امروزه از آن‌ها استفاده می‌کنیم بر اساس لینوکس کار می‌کنند و همین امر می‌تواند سبب شود تا دستگاه‌های مختلف خانگی، شخصی و سازمانی در مقاطع مختلف زمانی به خطر بیفتند. ویندوز ۱۰ و macOS تا حد بسیار زیادی آسیب‌پذیری‌های روترها را خنثی کرده‌اند و دلیل این امر تا حد بسیار زیادی به عدم منبع باز بودن این سیستم‌عامل‌ها بستگی دارد.

کانگ در ادامه صحبت‌های خود افزود: “منظور من ناامن بودن سیستم‌عامل‌های منبع باز نیست، جامعه لینوکس در سال‌های اخیر گام‌های بسیار زیادی را برای امن‌تر کردن این فضا برداشته است ولی بازهم با به‌روزرسانی‌های پی‌درپی قسمت‌های مختلف لینوکس، فرآیند امن‌تر کردن این سیستم‌عامل منبع باز با مشکلاتی مواجه شده است.

منبعک دانشجویار

 

شهربانو دوستی
۱۶مرداد

 

اگر به فکر سوئیچ کردن به دنیای ابری هستید، قدم اول شاید خیلی سخت نباشد. به نظر می‌رسد که مهمترین و اولین بخشی که باید به فضای ابری منتقل شود، پایگاه داده‌ای شما می‌باشد. در صورتی که فکر می‌کنید برای اینکار نیاز به قدم‌های زیادی است، کاملاً در اشتباه نیستید.

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

هنگامی که داده‌های خود را به SQL Azure منتقل می‌کنید، داده‌های شما به همان اندازه قبلی در دسترس خواهند بود و می‌توانید از آنها در برنامه‌های خود استفاده نمایید. سپس شما می‌توانید از زیرساخت شرکت Azure استفاده نمایید. در صورتی که هنوز تصمیم نهایی خود را برای نقل پایگاه داده‌ای خود نگرفته‌اید، به نظر می‌رسد که اولین قدم‌ها خیلی سخت نباشند.

استفاده از پایگاه داده‌ای ابری به زودی رونق بسیار زیادی خواهد گرفت و بسیاری از شرکت‌ها به جای استفاده از پایگاه‌های داده‌ای قدیمی به استفاده از این منابع روی می‌آورند. استفاده به جا و سوئیچ در زمان مناسب به Azure می‌تواند گامی برای پیشرفت باشد.

مایکروسافت به عنوان یکی از پیشگامان فضای ابری در این زمینه کارهای بسیار زیادی انجام داده است و پروژه Azure یکی از مطمئن‌ترین برنامه‌های پیاده سازی 

منبع: دانشجویار

 

شهربانو دوستی
۱۶مرداد

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

اقتصاد ضعیف، تنش‌های سیاسی، عدم اطمینان از بازار و اثرات ماندگار تحریم‌های گذشته، بازار ایران را کمی مورد تردید قرار داده است ولی باز هم فرصتی بسیار مهم برای شرکتهای چند ملیتی در بازارهای نوظهور به شمار می‌رود.

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

چالش‌های تجارت در ایران

تحریم‌هایی که ایالات متحده آمریکا برای ایران در سال ۱۹۷۹ تصویب کرد و در سال‌های بعد تقویت شد، منجر به محدود کردن بسیاری از شرکت‌های اروپایی و آمریکایی برای حضور در بازار ایران شد یا این شرکت‌ها مجبور به ترک ایران شدند. در مجموع این شرکت‌ها باز هم بعد از توافقنامه ایران و ۵+۱ نمی‌توانند در این کشور کار کنند و چشم انداز بزرگی برای سال ۲۰۱۶ نداشته‌اند. سابقه حقوق بشر ایران، تروریسم، سلاح‌های نامتعارف و موشک‌های بالستیک هنوز هم برخی از تحریم‌های اقتصادی را برای ایران نگه داشته است و این معنای عدم توانایی حضور شرکت‌های آمریکایی در بازار این کشور می‌باشد. (بعضی از معافیت‌ها به دلیل مسائل بشر دوستانه در بخش غذا، دارو، مراقبت‌های بهداشتی و هواپیمای مسافربری در این تحریم‌ها وجود دارد.)

بسیاری از شرکتهای غیر آمریکایی اما می‌توانند از تعلیق تحریم‌ها استفاده کنند و در این کشور حضور داشته باشند. محدودیت‌های سطح ملی و اتحادیه اروپا پس از توافق هسته‌ای در ژانویه حذف شدند و در عرض چند هفته تنها ایرباس و چند شرکت دیگر توانستند معامله‌ای ۵۰ میلیارد دلاری را با ایران داشته باشند. توافقنامه ایراس به ارزش ۲۵ میلیارد دلار برای فروش ۱۱۸ هواپیما و ۵ میلیارد دلار از این قرارداد با شرکتی ایتالیایی برای توسعه شبکه راه آهن ایران بود. البته تحریم‌های باقی مانده آمریکا انجام این پروژه‌ها را به تعویق می‌اندازد که این امر به دلیل مشکلات تأمین مالی این قراردادها می‌باشد. بانک‌های بزرگ اروپایی مایل به بازگشت در بازار ایران نیستند و یکی از دلایل این مسئله، جریمه ۱۵ میلیارد دلاری بانک‌های متخلف از تحریم ایران بوده است و این امر مشکلات اجتناب ناپذیری را برای معاملات بانکی با ایران به وجود می‌آورد.

مشکلات اقتصادی ایران فراتر از تحریم‌ها است و به همین دلیل این کشور بسیار وابسته به درآمدهای نفتی می‌باشد. تحریم‌ها تنوع اقتصادی را در این کشور ایجاد کرده‌اند، در نیمه اول مالی سال ۲۰۱۶ تنها ۳۷٫۵ درصد اقتصاد ایران با فروش نفت انجام شد که این رقم بسیار کمتر از کشورهای صادرکننده رقیب مانند عراق، عربستان سعودی و کویت می‌باشد ولی باز هم با این حال پس از توافقنامه موقت هسته‌ای، قیمت نفت در بازار جهانی بیش از ۶۰ درصد کاهش داشته است. در نوامبر ۲۰۱۳ ایران درآمدهای نفتی کمتری را پیش بینی می‌کرد و به همین دلیل دولت این کشور تشویق به کاهش هزینه‌ها و جمع آوری درآمد از بازارهای عمومی شد که از جمله مهمترین کارهای دولت ایران، اصلاحات یارانه و تصحیح روند دریافت مالیات بوده است. خبر بدی که می‌توان در این بین داد، عدم توانایی حضور بانک‌های خارجی به دلیل پولشویی و فساد اقتصاد ایران در کنار بدهی عظیم این کشور است که برخی منابع آن را ۴۰ میلیارد دلار تعیین کرده‌اند.

برخی از مؤسسات قدرتمند داخل ایران پیش بینی کرده‌اند که اقتصاد ایران می‌تواند با حضور شرکتهای خارجی بسیار پویاتر و سالم‌تر باشد که از جمله مهم‌ترین دلایل آنها رقابت شرکتهای داخلی و خارجی برای مشتریان می‌باشد. همچنین بسیاری از هم پیمانان رییس جمهور حسن روحانی توانسته‌اند در انتخابات پارلمانی این کشور، جایگاه مهمی را کسب نمایند که این امر اجازه می‌دهد تا سرمایه گذاری خارجی در کنار سیاست گذاری خارجی این کشور بسیار بهتر باشد. رهبر ایران، علی خامنه‌ای نیز می‌تواند با مدیریت این توانایی، انتظارات نهادهای تحت ریاست خود مانند مؤسسات مذهبی و سپاه پاسداران را بهتر برآورده نماید.

فرصت‌های تجارت در ایران

با وجود چالش‌هایی که اعلام شد اما بسیاری از شرکتهای خارجی برخی از فرصت‌ها را در پیش روی خود برای حضور در بازار ایران خواهند داشت. رقبای زیادی برای خرید گاز و نفت ایران وجود دارند، علاوه بر آن، ایران دارای اقتصادی کاملاً متنوع است. جمعیت جوان ایران (شصت درصد ایرانیان زیر سی سال سن دارند و هفتاد درصد جمعیت هشتاد میلیونی این کشور در شهرها زندگی می‌کنند.) باعث شده است تا بسیاری از شرکتهای بین المللی به بازار ایران امیدوار باشند.

برای مثال LG Electronics که قبل از توافق هسته‌ای نیز در ایران حضور داشت، با لغو تحریم‌ها در حال مذاکره برای ایجاد یک کارخانه تولید یخچال فریزر، تلویزیون و ماشین لباسشویی در سال می‌باشد که مقر این کارخانه در تهران است. رنو، خودروساز فرانسوی ۱۵۰۰۰ خودرو را برای بازار ژانویه و آوریل آماده کرده است و شرکت داروسازی Novo Nordisk دانمارک، در حال احداث کارخانه‌ای در ایران به ارزش ۷۶ میلیون دلار و ۳۰۰ کارمند می‌باشد.

بخش گردشگری ایران در سال ۲۰۱۴ در حالی ۴ میلیون را جذب کرده است که ترکیه توانسته است ۳۹ میلیون نفر را جذب نماید. سایت‌های فرهنگی در جهان این آمادگی را اعلام کرده‌اند که هتل لوکس Melia و روتانا در ایران در حال بررسی شرایطی هستند که این هتل‌های ۵ ستاره در ایران نیز شعبه‌ای راه اندازی نمایند. همچنین Gran MeliaGhoo در حال احداث شعبه ایران خود می‌باشد.

ایران الان بیش‌تر از هر زمانی در حال تبدیل شدن به یک مرکز تجارت جهانی می‌باشد. تقریباً ۲۰ درصد تجارت نفت در دنیا را در دسترس دارد و حق عبور از تنگه هرمز، آبراه باریک ساحل جنوبی ایران در دست این کشور می‌باشد. خلیج فارس یکی از مهمترین نقاط حمل و نقل استراتژیک در جهان می‌باشد و همچنین می‌توان روی این کشور به عنوان یک لینک کلیدی اتصال به دریای آزاد از طریق کریدور شمال به جنوب آن حساب کرد. از طریق ایران می‌توان راحت‌تر به آسیای مرکزی و روسیه دسترسی داشت و در صورتی که خطوط راه آهن جاده ابریشم جدید چین از ایران بگذرد، این کشور می‌تواند تا حدود ۶۰۰ میلیارد دلار در سال درآمد داشته باشد. صادرات از ایران سودآور خواهد بود و از طریق این کشور می‌توان به غول‌های نوظهور صنعتی یعنی هند و پاکستان دسترسی داشت. همچنین ایران می‌تواند درآمد مناسبی از طریق فروش گاز به ترکیبه و کشورهای همسایه داشته باشد که بسیار مناسب برای توسعه اقتصادی این کشور می‌باشد.

چگونه برای کسب و کار در ایران برنامه ریزی کنیم ؟

بر اساس اعلام شرکت‌های چند ملیتی که بر بازار ایران تمرکز کرده‌اند، ۵ مورد چالش وجود دارد که مستلزم توجه برای ورود به بازار این کشور می‌باشد:

چالش اول:

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

چالش دوم:

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

چالش سوم:

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

چالش چهارم:

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

چالش پنجم:

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

 

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

منبع: دانشجویار

 

شهربانو دوستی
۱۶مرداد

آموزش استفاده از بارگذاری ماژول در برنامه‌نویسی جاوا اسکریپت در ویژوال استودیو

برنامه‌نویسی را درصورتی‌که به‌صورت اصولی انجام دهید، می‌تواند بسیار لذت‌بخش باشد. دشواری‌های برنامه‌نویسی زمانی شروع می‌شود که به دلیل عدم آگاهی از ویژگی‌های یک‌زبان برنامه‌نویسی، کار خود را طولانی می‌کنید.

در این مقاله سعی کرده‌ایم شما را با یکی از قابلیت‌های زبان برنامه‌نویسی جاوا اسکریپت آشنا کنیم که از کارایی بسیار زیادی برخوردار بوده و می‌تواند برای کارهای شما بسیار کاربردی باشد.

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

در این مقاله سعی داریم شما را با استفاده از ماژول‌های بارگذاری آشنا کنیم که تا حد زیادی می‌توانند از بروز مشکل در برنامه‌نویسی شما بکاهند و همچنین استفاده از آن‌ها بسیار با سرعت صورت می‌پذیرد.

در حال حاضر شما می‌توانید کد خود را به ماژول‌ها سازمان‌دهی کنید و برای هر ماژول خاص مشخص نمایید که برای اجرا نیاز به کدام ماژول‌های دیگر دارد. با استفاده از بارگذار ماژول، ماژول‌ها برای شما دیگر به‌صورت خودکار بارگذار می‌شود.

بارگذاری ماژول در برنامه‌نویسی جاوا اسکریپت , ویژوال استودیو

در نسخه فعلی TypeScript شما می‌توانید در صورت نیاز به یک ماژول آن را بارگذاری نمایید. اگر بخشی از کد که همیشه از آن استفاده نمی‌شود ولی وقتی اجرا می‌شود نیاز به پشتیبانی خاصی دارد را می‌توانید با استفاده از بارگذار ماژول پویا بارگذاری نمایید. همه چیزهایی که نیاز دارید، روش واردکردن است، عبور از نام مسیر نسبی به فایل حاوی ماژول موردنیاز شما. البته برای اینکه پرونده شما واکشی شود و ماژول موردنیاز در آن بارگذاری شود. برای استفاده از ماژول‌ها می‌توانید از دستور async استفاده کنید و منتظر شوید تا برنامه کلیدواژه‌ها را به شما نشان دهند و از ماژول موردنظر خود در برنامه استفاده کنید. کد شما معمولاً باید مثل مثال زیر باشد :

async function doSomethingAdHoc(): Promise<void> {

if (userRequestedASpecialFunction) {

await import(‘…relative path to JavaScript file…’);

…do something…

}

منبع: دانشجویار

 

شهربانو دوستی
۱۶مرداد

ASP.NET یک framework می‌باشد و برای ساختن وب و cloud استفاده می‌شود. هسته ASP.NET به شما این اجازه را می‌دهد تا از قابلیت‌های کسب‌وکار همراه با UI، کار خود را به مشاهده جزئیات قابل‌استفاده در برنامه کاربردی خود تبدیل کنید. UI یک ساخته انسانی_کامپیوتری است که به شما اجازه کنترل بخش‌های دست‌ساز، سازه خود را می‌دهد.

 

در این مرحله به بررسی نسخه بعدی از پلت فرم توسعه برنامه‌نویسی وب به نام ASP.NET Core یا هسته‌ ASP.NET می‌پردازیم.

یکی از پرکاربردترین امکاناتی که در این نسخه وجود دارد، ویرایش بخش ViewComponent می‌باشد که در بسیاری از مواقع، گذری به بخش‌های مرتبط با وب ASP.NET می‌باشد، مانند بخش‌های مختلف وب. مشاهده جزئیات، شامل تنظیمات دستی و منطقی می‌شود که یک پکیج کامل را به شما ارائه می‌دهد تا با استفاده از آن دوباره از برنامه کاربردی به وجود آمده توسط هسته ASP.NET استفاده مجدد کنید. با استفاده از مشاهده جزئیات، همچنین شما قادر هستید که بخش منطقی کار خود را از طریق قابلیت چندین پروژه‌ای ASP.NET به اشتراک بگذارید.

البته که در ASP.NET قابلیت مشاهده جزئیات هم برای استفاده دستی از تنظیمات وجود دارد که به شما اجازه تغییرات می‌دهد. حتی شما می‌توانید با استفاده از این قابلیت تنظیمات منطقی را هم دست‌کاری کنید، البته به‌سختی اما غیرممکن نیست.

شما با استفاده از مشاهده جزئیات می‌توانید، قابلیت‌های controller/Action Method/View Structure برنامه‌های کاربردی ASP.NET را که با استفاده از آن می‌توانید ساختن جزئیات را به‌وسیله بخش دستی و بخش منطقی، همگام سازی کنید و حالت بسیار طبیعی‌تری را به برنامه کاربردی هسته ASP.NET شما می‌دهد.

در مرحله اول برای اینکه بتوانید شانس خود را برای داشتن یک برنامه کاربردی قابل‌استفاده‌تر و همچنین به‌روزتر داشته باشید، ابتدا لازم است که یک SDK هسته.NET را در نسخه ۲٫۰ و همچنین برنامه ویژوال استودیو نسخه ۲۰۱۷ را داشته باشید و اگر ندارید آن را دانلود کنید.

در مرحله بعد برای ساختن پروژه، شما باید مطمئن شوید که در نسخه جدید وقتی‌که شما پنجره ASP.NET Core Web Apllication را باز می‌کنید تا قالب پروژه خود را انتخاب کنید، Framework box که در بالای پنجره نمایش داده می‌شود، روی حالت.NET Core 2.0 باشد. بعد یک کنترل‌کننده را به پروژه اضافه می‌کنیم، که باعث می‌شود ویژوال استودیو به شما قدرت انتخاب و استفاده از تمام توابع انتخابی را بدهد که همه پکیج‌های NuGet مایکروسافت را به پروژه شما اضافه می‌کند و به شما در ساخت پروژه کمک می‌کند. همچنین می‌توانید از مدیریت NuGet استفاده کنید تا با استفاده از آن، پکیج‌های AspNetCore Razor و Microsoft.AspNetCore.Mvc.View Feature را به پروژه اضافه کنید و همچنین با استفاده از مدیریت NuGet می‌توانید تمام پکیج‌های خود را در حالت آخرین نسخه خود نگه‌دارید.

 

به وجود آوردن یک مشاهده جزئیات

یک صفحه ASP.NET MVC استاندارد شامل پردازش به‌وسیله یک کلاس کنترل‌گر و نمایش است. به‌صورت مشابه یک نمایش جزئیات شامل همین گزینه‌ها می‌شود. کلاس‌های نمایش جزئیات را می‌توانید در هر پوشه‌ای که دوست دارید، بگذارید. شما دو راه دارید که بتوانید این کلاس‌ها را به برنامه خود اضافه کنید. می‌توانید به کلاس خود یک اسم بدهید و آن اسم را به اسم “ViewComponent” اضافه کنید یا کلاس خود را به “ViewComponent ” تغییر دهید و با استفاده از ویژگی به نام Attribute تنظیم کنید. از دیدگاه ASP.NET هر دو روش یکسان می‌باشد.

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

  • پوشه نمایش
  • اضافه کردن یک کنترل‌گر به پوشه اشتراک گذاری
  • یک پوشه به نام Component
  • و در آخر یک پوشه که با نام ViewComponent شما یکی باشد.

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

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

شما می‌توانید از یک ViewComponent به نام CustomerAddress استفاده کنید که از داخل کنترل‌گر چندگانه خود، قابل‌استفاده است. می‌توانید آن را در پوشه‌ای به آدرس /view/shared/component/customeraddress/ قرار دهید. برای انتخاب اسم آن آزاد هستید، ولی اگر نمی‌خواهید که از اسم اصلی در داخل کدنویسی خود استفاده کنید، می‌توانید از اسم”default” استفاده کنید. فقط از زبان برنامه‌نویسی C# می‌توانید برای برنامه‌نویسی ASP.NET استفاده کنید. اگر شما View را در یک پوشه‌ اشتباه بگذارید، در زمان اجرا شاهد خطایی هستید که به شما می‌گوید که مکان اشتباه می‌باشد.

آموزش ایجاد مشاهده جزئیات قابل‌استفاده مجدد در هسته ASP.NET

اضافه کردن کار منطقی

در این مرحله شما می‌توانید کلاس‌ها و نمایش‌های مربوط به ViewComponent را به وجود آورید. تنها قسمت مشکل ماجرا اضافه کردن روش‌ها به کلاس خود و قرار دادن نشانه‌گذاری Razor در نما می‌باشد.

شما در Class قابلیت استفاده از یک روش را دارید و آن روش می‌تواند:

  • داشتن اسم InvokeAsync
  • برگرداندن حالت Task object به IveiwcomponentResult
  • با کلمه کلیدی async نوشته شود.
  • یک پارامتر معین را قبول کند.

قابلیت async از برنامه شما در مقابل اشیایی که از روش Invookeasync به برنامه شما اضافه می‌شود، مراقبت می‌کند. تنها روشی که در پایه کلاس ViewComponent به وجود می‌آید، View Method می‌باشد. اگر شما هر نوع پردازش ناهماهنگی داشته باشید این پیغام را دریافت می‌کنید که این نوع متد از طرف شما ناهماهنگ اجرا می‌شود ولی برنامه شما هنوز کار می‌کند.

روش Inovkeasync فقط به‌وسیله یک نوع پارامتر کار می‌کند. پس اگر می‌خواهید خاصیت چندین پارامتری داشته باشید، شما باید این پارامترها را از طریق یک مجموعه بر روی شیء خود اعمال کنید. اگر شما نمی‌خواهید که اسم view شما “default”باشد، پس به‌عنوان یک روش حرکتی کنترل‌گر، می‌توانید اسم را به اولین پارامتری که به شی‌ء خود نسبت داده‌اید، برگردانید.

البته باید این را بدانید که ساختن یک ViewComponent تا زمانی که شما نتوانید آن را فراخوانی کنید نمی‌تواند به شما کمکی کند.

 

منبع: دانشجویار

 

شهربانو دوستی
۱۶مرداد

ه‌طور واضح، من از قسمت ویرایش منو ویژوال استودیو به‌اندازه کافی استفاده نمی‌کنم!

مثلاً برای مدتی یک گزینه به نام Paste Special در آن منو وجود داشت که من از وجود آن بی‌خبر بودم. نوع پرونده‌ای که در حال ویرایش است، به دو انتخاب بستگی دارد: الحاق XML و JSON به‌عنوان کلاس‌ها. با استفاده از گزینه Paste JSON به‌عنوان کلاس آپشن، من می‌توانم بخشی از JSON را در کد جاوا اسکریپتم کپی کنم و همچنین کلاسی را که مربوط به #C و یا ویژوال‌بیسیک است، از کدهای منوی سمت سرور خود فقط با برداشتن انتخاب منوهای مناسب، آن را درست کنم.

ویژوال استودیو , الحاق JSON و XML , json , xml

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

اگر می‌خواهید این کار را انجام دهید، ابتدا به این مسیر بروید: Tools | Options | Environment | Keyboard.

برای اجرای این دستورات، در قسمت متن Show commands containing””، کلمه AsClasses را تایپ کنید و یکی از گزینه‌ها را انتخاب کنید.

سپس در لیست کشویی Use new shortcut in””، ویرایشگر زبان خود را انتخاب کنید (برای مثال: CSharp Editor یا Microsoft Visual Basic Editor).

اکنون می‌توانید در کادر گزینه Press shortcut keys”” را فشار دهید تا کلیدهای میانبر خود را انتخاب کنید: فقط کلیدهایی را که می‌خواهید از آن استفاده کنید را فشار دهید. در آخر، روی دکمه Assign کلیک کنید. بسیاری از مردم این مرحله را فراموش کرده و فقط روی دکمه OK در آخر گفتگو کلیک می‌کنند (منظورم از “تعداد زیادی از مردم” خودم را میگویم).

ویژوال استودیو , الحاق JSON و XML , json , xml

احتمالاً شما نمی‌خواهید کلیدهای میانبر موجود را لغو کنید، بنابراین من به شما توصیه می‌کنم که یک chord” ” را انتخاب کنید: دو یا چند کلید را به‌طور متوالی همراه با کلیدهای کنترلی که نگه داشتید، فشار دهید (اگر کلید میانبری که انتخاب کرده‌اید مورداستفاده قرار بگیرد، کادر محاوره‌ای به شما می‌گوید). من Ctrl+K, J را برای کلید میانبر JSON و Ctrl+K, M را برای کلید میانبر XML انتخاب کردم (Ctrl+K, X قبلاً برای کلید میانبر snippets قرارگرفته شده بود و کسی چه می‌داند شاید من یک روزی شروع به استفاده از آن بکنم).

اگر در فایل TypeScript یا JavaScript یک Paste Class به‌عنوان JSON وجود داشته باشد، زندگی من کامل خواهد شد. در ضمن، من برای Edit | Insert File به‌عنوان متن و انجام برخی از ویرایش‌ها و استفاده از آن به Nga Bui Doc TypeScriptSyntaxPaste مراجعه کردم.

 

مترجم: آتنا کردی زاد موثق

منبع: دانشجویار

 

شهربانو دوستی
۱۵مرداد

سازندگان وب در TypeScript به شما پردازش همزمان را می‌دهند، اما آن‌ها هم می‌توانند آن را اشکال‌زدایی کنند. بااین‌حال، اگر کد سازنده وب خود را، به‌عنوان یک تابع دیگر تنظیم کنید، می‌توانید این اشکال‌زدایی را ساده‌تر کنید یا حتی سازنده وب خود را به‌صورت پویا در زمان اجرا ایجاد کنید).

در ستون قبلی، من نشان دادم که چگونه یک سازنده وب را به‌صورت دستی اجرا کنید و به‌صورت همزمان در کد کلاینت آن را پردازش کنید. همان‌طور که گفتم، شروع کار یک سازنده وب به‌طور مؤثر به شما یک موضوع برابر با آنچه با UI خود استفاده می‌کردید، می‌دهد – یک موضوعی که می‌توانید آن را به‌صورت آفلود پردازش کنید. شما می‌توانید این پردازش را از طریق شیء postMessage و روش Worker انجام دهید.

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

ابزارهایی برای برطرف کردن خطاهای سازندگان وب

سازندگان وب به‌صورت پویا

درحالی‌که شما می‌توانید کد سازنده وب خود را در یک فایل جداگانه از کدی که آن را مثلاً کد خود میدانید، قرار دهید، که این کار ضروری نیست. شما می‌توانید سازنده را با عبور یک رشته از کد و از نوع “application / javascript” به سازنده یکشی به‌صورت Blob ایجاد کنید. هنگامی‌که شیء Blob ایجادشده است، شما می‌توانید URL آن را از Blob استفاده‌شده از روش createObjectURL شیء URL، ایجاد کنید. این کار به شما اجازه می‌دهد تا یک سازنده وب را از یک رشته ایجاد کنید، همان‌طور که در این مثال گفته‌شده است وقتی سازنده وب را ایجاد می‌کند، هر آنچه به آن ارسال می‌شود، بازمی‌گردد:

let b: Blob

b = new Blob([“onmessage = function(e) { postMessage(e.data); }”], { type: ‘application/javascript’ });

let url: string;

url = window.URL.createObjectURL(b);

w = new Worker(url);

انتقال یک رشته به یکشی Blob به شما اجازه می‌دهد تا به‌طور پویا کد سازنده خود را در زمان اجرا اسمبل کنید. بااین‌حال، این کار بدون مشکل نیست. اولاً، البته کد در رشته شما به‌جای TypeScript، باید در جاوا اسکریپت باشد، زیرا رشته به سازنده Blob در زمان اجرا منتقل نمی‌شود. در ثانی، اینکه شما زمان چک کردن کامپایلر را دریافت نمی‌کنید زیرا کد در یک رشته است. و درنهایت، این رشته برای رفع اشکال‌زدایی، آسان‌تر (و قابل‌توجه شما که خواندن آن سخت‌تر است) از کدی که در یک فایل جداگانه قرار دارد، نیست.

 

سازندگان وب به‌صورت جاسازی‌شده

اگر کد همزمان شما یک عملکرد مستقل باشد، برای اهداف اشکال‌زدایی خود، ممکن است ساده‌تر باشد که کد همزمان شما را در یک عملکرد منظم نگهدارید، آن را همزمان اجرا کنید، و فقط زمانی که کار کد خود را انجام می‌دهید، به‌طور همزمان آن را اجرا کنید. در این استراتژی، شما شیء Blob یک تابع را به فایلی که تبدیل‌شده است به یک رشته استفاده‌شده در روش تابع toString منتقل می‌کنید. در زمان کامپایل، نام تابع به تابع TypeScript مراجعه می‌کند، اما در زمان اجرا، همان نام به نسخه جاوا اسکریپت تابع اشاره دارد.

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

(function concurrentFn() { …function code… })();

با قرار دادن همه این‌ها باهم، این کد نسخه رشته‌ای از یک تابع به نام concurrentFn را به سازنده Blob (با پرانتزهای لازم) منتقل و سپس آن را به‌عنوان یک سازنده اجرا می‌کند:

let fn: string;

fn = “(” + concurrentFn.toString() + “)()”;

b = new Blob([fn], { type: ‘application/javascript’ })

url = window.URL.createObjectURL(b);

w = new Worker(url);

function concurrentFn(): void { …function code… }

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

ابزارهایی برای برطرف کردن خطاهای سازندگان وب

ساختار تابع سازنده شما

راه‌حل من این است که کدی را که می‌خواهم به‌صورت همزمان در داخل یک تابع تودرتو ای که آن را اجرا کنم، بگذارم. سپس من تابع تودرتو خود را از onmessage به‌صورت دستی فرامی‌خوانم، همچنین از ” تابع برابر”. برای دسترسی به عملکرد تابع تودرتو خودم، من تابع برابر خود را به تابع تودرتو خود بازگردانی می‌کنم، تا کد آن را فراخوانی کنم. درنتیجه، تابع برابر من مثل کد زیر به نظر می‌رسد. (در عمل، من هرکدام از این کدها را با نوع واقعی پذیرفته‌شده آن جایگزین و توسط processData بازگرداندم)

در اینجا یک تابع برابر برای پشتیبانی اشکال‌زدایی وجود دارد:

function concurrentFn(): (e:MessageEvent) => any

{

this.onmessage = function (e: MessageEvent): void {

(<any>postMessage)(this.processData(e.data));

}

this.processData = (d: any): any => {

…concurrent code to process d..;

return …result of processing…;

}

return this.processData;

}

وقتی می‌خواهم کد برابر را به‌عنوان یک سازنده وب اجرا کنم، من آن را از طریق یک Blob انجام می‌دهم. وقتی می‌خواهم اتفاقی را اشکال‌زدایی کنم، من concurrentFn را فراخوانی می‌کنم تا تابع processData را که دریافت شده است، بگیرم. در آن بخش، در حالت اشکال‌زدایی، به‌جای فراخوانی onmessage، من تابع پردازش داده را فراخوانی می‌کنم. این کار باعث می‌شود مسئله‌ای در مورد فرمت داده‌های منتقل‌شده، به روش من رخ دهد.

من از یک متغیر Boolean به نام Concurrent برای تشخیص بین زمانی که می‌خواهم به‌صورت همزمان یا اتفاقی آن را پردازش کنم، استفاده می‌کنم. به‌طور ساده برای تعویض بین فراخوانی تابع concurrentFn و شیء سازنده، ابتدا نشانی را برای شیء concurrentFn خود به‌عنوان type تعریف می‌کنم. سپس یک متغیر ثابتی را اعلام می‌کنم که می‌تواند یا یکشی سازنده یا تابع concurrentFn را برای من نگه دارد. این کد این‌گونه به نظر می‌رسد. (دوباره، من هر نوع از آن کدها را به‌نوعی که به روش‌های متداول، منتقل‌شده‌اند را تغییر داده‌ام):

const Concurrent: boolean = false;

type workerFn = (any) => any;

let w: (Worker | workerFn);

کد معمولی برای نمونه‌سازی یک شیء سازنده و یا دوباره‌سازی روش processData من، مانند لیست ۱ به نظر می‌رسد.

لیست ۱: کنترل اجرای کد همزمان یا اتفاقی

if (Concurrent) {

let fn: string;

let b: Blob

fn = “(” + longRunning.toString() + “)()”;

b = new Blob([fn], { type: ‘application/javascript’ })

let url: string;

url = window.URL.createObjectURL(b);

w = new Worker(url);

w.onmessage = (e: MessageEvent) => {processReturnedData(e);};

}

else {

let w = longRunning();

}

بعداً در کد خودم، وقتی می‌خواهم یک پیام به کد برابر خود می‌فرستم، من کدی مثل کد زیر را دارم:

if (Concurrent) {

w.postMessage(“A123”);

}

else {

processReturnedData(w(“A123”));

}

 

مقدار زیادی از کد اضافی است و درنهایت، من یک کلاس WorkerFake ایجاد کردم که دو پارامتر را قبول می‌کند: تابعی که اجرا می‌شود و یک مقدار Boolean را نشان می‌دهد، اگر تابع باید همزمان باهم اجرا شود. هنگامی‌که همزمان اجرا می‌شوند، تابع در کد تکرار می‌شود که باعث می‌شود که تابع توسط postMessage که کد اصلی را مورد هدف قرار داده، فراخوانی شود. این روش عمومی است بنابراین شما باید نوع داده‌هایی را که می‌خواهید به تابع منتقل کنید را مشخص کنید و همچنین منتظر بازگشت آن باشید. (شما می‌توانید آن را در لیست ۲ ببینید). کد معمولی که برای این استفاده می‌شود، این‌گونه است:

let wf: WorkerFake<string, Customer>;

wf = new WorkerFake<string, Customer>(false, getCustomer);

wf.onmessage = (e: MessageEvent) => { …code to process Customer object… };

wf.postMessage(“A123”);

function getMockCustomer(id: string): Customer {…code to retrieve Customer…}

 

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

لیست ۲: یک کلاس برای اجرای توابع همزمان یا اتفاقی

class WorkerFake<T,TValue> {

w: Worker;

fnWorker: (T) => TValue;

fnOut: (MessageEvent) => TValue;

constructor(public concurrent: boolean, fn: (any) => any) {

if (concurrent) {

let fns: string;

fns = “onmessage = function (e) { postMessage(” + fn.name + “(e.data)); }; ” + fn.toString();

let b: Blob;

b = new Blob([fns], { type: ‘application/javascript’ })

this.w = new Worker(window.URL.createObjectURL(b));

}

else {

this.fnWorker = fn;

}

}

postMessage(parm: any) {

if (this.concurrent) {

this.w.postMessage(parm);

}

else {

let me: MessageEvent;

me = new MessageEvent(“message”, { data: this.fnWorker(parm) });

this.fnOut(me);

}

}

set onmessage(fno: (MessageEvent) => any) {

if (this.concurrent) {

this.w.onmessage = fno;

}

else {

this.fnOut = fno;

}

}

}

 

مترجم: آتنا کرد­ی زاد موثق

منبع: دانشجویار

 

شهربانو دوستی
۱۵مرداد

ترکیب بسیار جالب صفت data در HTML با جاوااسکریپت و جی کوئری

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

به این مثال دقت کنید:

<ul>

 <li id=”budgie”>budgie</li>

 <li id=”salmon”>salmon</li>

</ul>

HTML , جاوا اسکریپت , جی کوئری

قصد دارم هر کس با کلیک بر هر یک از li ها این متن را در یک alert مشاهده کند:

The budgie is a bird.

The salmon is a fish.

باید این کار به‌صورت هوشمند انجام شود و نه به‌صورت دستی!

به این شکل یک تابع معرفی می‌کنم:

function showDetails(animal) {

 var animalType = animal.getAttribute(“data-animal-type”);

 alert(“The ” + animal.innerHTML + ” is a ” + animalType + “.”);

}

و به هرکدام از li ها یک صفت یا همان attribute که با data آغاز می‌شود معرفی می‌کنم (همان‌طور که می‌دانید: عبارت‌های بعد از دیتا کاملاً دل به خواهی هستند)، بدین شکل:

<ul>

 <li onclick=”showDetails(this)” id=”budgie” data-animal-type=”bird”>budgie</li>

.<li onclick=”showDetails(this)” id=”salmon” data-animal-type=”fish”>Salmon</li>

</ul>

HTML , جاوا اسکریپت , جی کوئری

اکنون با کلیک روی هرکدام از li ها، به‌صورت هوشمند این کار انجام می‌شود.

gt; <li class=”item” data-animal-type=”bird”>budgie</li> <li class=”item” data-animal-type=”fish”>Salmon</li> </ul>

$(function () {

 $(‘.item’).on(‘click’, function () {

 var $animal = $(this).data(‘animal-type’);

 var $name = $(this).text();

 alert(“The” + ” ” + $name + ” ” + “is a” + ” ” + $animal);

 });

});

 

پیروز و موفق باشید.

مهدی موسوی

منبع: دنشجویار

 

شهربانو دوستی
۱۴مرداد

امروز می‌خواهیم چند ویرایشگر برای متن‌های HTML, CSS, JS, PHP را باهم بررسی کنیم. ادیتور های مختلفی برای این کار وجود دارد که در این مطلب بهترین و سبک‌ترین ادیتورها را برای شما معرفی می‌کنیم. این ادیتورها کار را برای توسعه‌دهندگان وب بسیار راحت می‌کنند.

معرفی ابزارها:

 

۱) ++Notepad

این ابزار کار رایگان که حجمش تقریباً ۳ مگابایت است را می‌توانید با یک جستجوی ساده در اینترنت دانلود و روی ویندوز خود نصب کنید.

 

معرفی چند ویرایشگر برای توسعه وب , معرفی برترین ویرایشگر برای توسعه وب , Sublime Text , Brackets , ++Notepad

 

این ابزار بسیار ساده و کار با آن بسیار راحت است.

در ++Notepad شما می‌توانید برای زبان‌های تحت وب و سایر زبان‌ها مثل Java, C++, C# و …کد نویسی کنید. اما توصیه می‌شود با این ابزار برای زبان‌های تحت وب این کار انجام شود.

توجه داشته باشید اگر سرعت تایپ شما پایین است، بهتر است از این نرم‌افزار استفاده نکنید و به سراغ سایر موارد بروید. برای مثال در HTML شما وقتی تگ باز html را می‌نویسید، به‌صورت خودکار بسته نمی‌شود و اتری بیوت‌ها را هم به‌صورت خودکار نمی‌آورد که این در مقایسه با ادیتور های دیگر خیلی سرعت کد نویسی را کم می‌کند.

قابلیت های ++Notepad :

  • انتخاب رابط سند
  • کشیدن و رها کردن متن
  • ذخیره داده در چند کلیپ بورد
  • تقسیم صفحه نمایش برای دسترسی بیشتر
  • جستجوی نوشته ها (تفاوتی بین متن و کد قائل نمی‌شود)
  • پشتیبانی از فرمت‌های فایل مانند یونیکد برای نوشتن به کد سیستم‌های بین‌المللی
  • جستجو و جایگزین کردن بیش از چند سند
  • مقایسه فایل‌ها
  • قابلیت زوم کردن

توصیه می‌شود این نرم‌افزار را دانلود و استفاده کنید.

 

۲) Brackets

این ویرایشگر هم مثل ++Notepad رایگان است و با یک جستجوی ساده می‌توانید آن را به‌راحتی دانلود کنید. حجم این ویرایشگر هم تقریباً ۵۱ مگابایت است.

 

معرفی چند ویرایشگر برای توسعه وب , معرفی برترین ویرایشگر برای توسعه وب , Sublime Text , Brackets , ++Notepad

 

رابط کاربری ابزار brackets خیلی زیباتر از ++Notepad است.البته کمی پیچیده‌تر است که شما می‌توانید بعد از مدتی کار کردن با این ویرایشگر قدرتمند و زیبا به آن عادت کنید.

ویرایشگر brackets امکانات زیاد و خوبی دارد:

  • دونیم کردن صفحه
  • Quick Edit : برای مثال زمانی که شما برای یک تگ، یک کلاس  یا ID در نظر می‌گیرید، می‌توانید با هایلایت کردن و کلیک راست، CSS آن را سریع درست و تنظیم کنید.با کلیک راست پنجره‌ای مشابه پنجره خاکستری‌رنگ در ادیتور باز می‌شود.

شما می‌توانید این نرم‌افزار را هم نصب و استفاده کنید.

 

۳) Sublime Text

این نرم افزار نیز رایگان است و حجمی در حدود ۷ مگابایت دارد.

معرفی چند ویرایشگر برای توسعه وب , معرفی برترین ویرایشگر برای توسعه وب , Sublime Text , Brackets , ++Notepadهمان‌طور که مشاهده می‌کنید ابزار Sublime Text رابط کاربری فوق‌العاده زیبایی دارد. البته قابل‌ذکر است در تصویر بالا تم این ابزار تغییر کرده است. تغییر دادنتم این ویرایشگر کار سختی نیست و در آموزش آن در اینترنت موجود است.

قابلیت‌های Sublime Text :

  • چند پنجره ویرایش در کنار هم
  • مشاهده کد خود از ۱۰۰۰۰ پا
  • قابلیت مشاهده در حالت کامل روی صفحه‌نمایش
  • مشخص کردن نحو زبان‌های مختلف مانند C ، C++ ، C# ، CSS ، D ، Erlang ، HTML ، Groovy ، Haskell ، HTML ، Java ، JavaScript ، LaTeX ، Lisp ، Lua ، Markdown ، Matlab ، OCaml ، Perl ، PHP ، Python ، R ،Ruby ، SQL ، TCL ، Textile و XML
  • دارای طرح چندرنگ، با چند جمله
  • دارای براکت برجسته
  • قابلیت ذخیره تغییرات
  • انتخاب ویرایش دستورات، ازجمله تورفتگی / غیربرجستگی پاراگراف، تغییر شکل پاراگراف، پیوستگی خط
  • جستجو و جایگزینی عبارت منظم
  • مرور از طریق فایل‌های طولانی
  • توضیح بلوک متن
  • تنظیم کلید اتصالات، منوها و نوارابزار
  • پلاگین همراه با API
  • تکرار آخرین عمل
  • ساخت ابزار یکپارچه‌سازی
  • ادغام WinSCP برای ویرایش فایل‌های از راه دور از طریق FTP و SCP

 

صحبت پایانی:

پیشنهاد ما به شما دانلود و نصب هر سه این ابزارهاست. پس از آن می توانید تصمیم بگیرید کدام یک از این ابزار ها مناسب کار شماست.

موفق باشید.

منبع: دانشجویار

 

شهربانو دوستی
۱۴مرداد

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

افزایش حجم آپلود فایل در وردپرس یکی از مسائل مورد توجه برای مدیران و طراحان وبسایت است.

اساساً سه راه برای آپلود فایل در ودرپرس وجود دارد:

۱: فایل‌های خود را با ورود به کنترل پنل هاست خود و ورود به پوشه موردنظر آپلود کنید.

۲: با استفاده از ftp  و نرم‌افزار filezila اقدام به آپلود فایل‌های خود نمایید.

۳: فایل‌های خود را مستقیماً از داشبورد خود وردپرس آپلود نمایید.

 

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

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

 

4 روش برای افزایش حجم آپلود فایل در وردپرس و افزایش حجم آپلود فایل در وردپرس

 

اگر کمی دقت کنید، متوجه می‌شوید که حداکثر حجم روش آپلود با استفاده از این روش ۲۰ مگابایت می‌باشد که این مقدار متغیر است. برای بعضی از سایت‌ها حتی این مقدار ۲ مگابایت می‌باشد. درحالی‌که ممکن است در سایر سایت‌ها بیشتر هم اجازه آپلود داشته باشید.

 

۴ روش برای افزایش حجم آپلود فایل در وردپرس :

در این مطلب آموزشی قصد داریم روش‌های افزایش حجم آپلود فایل ها را به شما آموزش دهیم.

چندین روش برای برداشتن این محدودیت وجود دارد. ما با سه تنظیم در PHP کار خواهیم کرد که ابتدا آن‌ها را معرفی می‌کنیم:

upload_max_filesize: این تنظیم حداکثر حجم آپلود برای فایل‌ها را تعیین می‌کند.

post_max_size: این تنظیم حداکثر بارگذاری را که در درخواست POST انجام می‌شود، تعیین می‌کند.

memory_limit: مقدار حافظه اختصاص داده شده برای PHP را مشخص می‌کند. این مقدار باید بالاتر یا برابر upload_max_filesize باشد.

وردپرس , افزایش حجم آپلود

 

روش اول: اصلاح و ویرایش فایل php.ini

فایل php.ini حاوی پیکربندی PHP برای سرور شماست که می‌توانید آن را در دایرکتوری اصلی سرور خود پیدا کنید. توجه داشته باشید که به دلیل مسائل امنیتی ممکن است این فایل پنهان شده باشد.

بعد از پیدا کردن فایل php.ini فایل را بازکرده و سه تنظیم بالا را پیداکرده و آن‌ها را بسته به نیاز خود تنظیم کنید.

به‌عنوان‌مثال برای آپلود یک فایل ۳۰ مگابایتی به مقدار زیر تنظیم می‌کنیم:

upload_max_filesize = 35MB
post_max_size = 37MB
memory_limit = 40M

 

روش دوم: اصلاح و ویرایش فایل Htaccess.

Htaccess یک فایل مهم می‌باشد و شامل تنظیمات مختلف برای سرور شما می‌شود. بیشتر ارائه‌دهندگان میزبانی آن را پنهان می‌کنند. بنابراین فراموش نکنید که گزینه “Show Hidden Files” را فعال داشته باشید. برای پیدا کردن این فایل می‌توانید به public_html هاست خود مراجعه کنید.

برای افزایش محدودیت فایل به میزان دلخواه خود سه خط زیر را در انتهای فایل در مکان END WordPress# قرار دهید:

php_value upload_max_filesize 25MB
php_value post_max_size 27MB
php_value memory_limit 30MB

 

روش سوم: اصلاح و ویرایش فایل  wp-config در وردپرس

اگر دو روش فوق برای شما کار نکند، همیشه یک روش جایگزین وجود دارد. شما می‌توانید ۳ خط زیر را در فایل‌های وردپرس خود وارد کنید. این خطوط را می‌توانید در فایل wp-config.php، themes.html functions.php و غیره وارد کنید. بااین‌حال این روش توصیه نمی‌شود و بهتر است از آن استفاده نشود.

@ini_set( ‘upload_max_size’ , ’۲۵MB’ );
@ini_set( ‘post_max_size’, ’۲۷MB’);
@ini_set( ‘memory_limit’, ’۳۰MB’ );

 

روش چهارم : استفاده از افزونه

وردپرس یک سیستم مدیریت محتوی قابل توسعه با پلاگین های بسیار زیاد می‌باشد اگر شما نمی‌خواهید این کار را به‌صورت دستی انجام دهید پلاگین های زیادی دراین‌باره وجود دارد که می‌توانید با جست‌وجو در منبع وردپرس این پلاگین ها را پیدا کنید. توصیه ما به شما پلاگین Increase Max Upload Filesize می‌باشد.

بعد از نصب افزونه اگر مقدار محدودیت شما از ۳۲ مگابایت کمتر باشد افزونه مقدار را به ۳۲ مگابایت می‌رساند همچنین می‌توانید با ورود به بخش تنظیمات مقادیر دلخواه خود را وارد کنید.

 

منبع: دانشجویار

 

شهربانو دوستی