در طی این دورهی آموزش به کررات به مفاهیم شی گرایی برخورد کردید بدون آنکه بدانید آنها چه چیزی هستند و چگونه کار می کنند. در یک جمله برنامه نویسی شی گرایی یعنی سطح حرفه ای از کدنویسی که باعث می شود نرم افزارهای شما توسعه پذیر تر باشند. یکی از اصول این حرفهای بودن آشنایی با مفهومی به نام شیءگرایی و زبان برنامهنویسی شیءگرا یا Object Oriented Programming است. اما این سوال برای شما پیش میآید که شیءگرایی چیست و اصلا مفهوم برنامهنویسی شیءگرا در چه مواردی بکار گرفته میشود؟ در این فصل قصد داریم به صورت مفصل این مباحث را یکبار برای همیشه مطرح کرده تا شما عزیزان درک دقیقی نسبت به این موضوع پیدا کنید.
خصوصیات یا Properties به عنوان مجموعهای از صفات هستند که یک شیء را توصیف میکنند. برای مثال یک شیء به نام انسان را در نظر بگیرید. این شیء دارای یک سری صفات مانند رنگ مو، رنگ پوست، وزن، قد و … است. و تمام این موارد آن شیء یعنی انسان را توصیف میکنند.
رفتارها یا Behavior به عنوان مجموعهی اعمالی که یک شخص انجام میدهد شناخته میشود مثلا یک شخص میتواند نگاه کند، بنشیند، صحبت کن و راه برود. رفتارها در مجموع به کاری که یک شیء میتواند انجام دهد گفته میشود.
حال بهتر است با مفاهیم اصلی زبان برنامهنویسی شیءگرا آشنا شویم:
در یک تعریف خلاصه انتزاع به فرآیندی گفته میشود که طی آن، در زمان بررسی یک شیء، تنها خصوصیت و رفتارهایی باید در تعریف آن شیء لحاظ شوند که در سیستم مستقیما کاربرد دارند. در واقع انتزاع یا Abstraction مانند یک فیلتر عمل میکند که تنها ویژگیها یا خصوصیات و رفتارهایی که مورد استفاده در برنامه است را از آن عبور میدهد.
در ارتباط با مفهوم کپسوله سازی یک فصل کامل به آن اختصاص دادهایم که میتوانید آن را با کلیک روی این لینک مطالعه کنید. اما در یک خط اگر بخواهیم تعریف کامل از کپسوله سازی داشته باشیم بدین صورت است که کپسوله سازی به معنی پنهان کردن فرآیند اصلی اجرای یک برنامه از دید کاربران است. که این اتفاق درون یک شیء رخ میدهد.
وراثت یکی از اصلیترین مفاهیم موجود در برنامهنویسی شیءگرا است. همانطور که از نام آن مشخص است وقتی یک فرزند متولد میشود قطعا خصوصیات و رفتارهایی را از والدین خود به ارث میبرد. در دنیای برنامهنویسی هم دقیقا به همین صورت است وقتی یک کلاس از کلاس دیگری ارثبری میکند یعنی به خصوصیات و رفتارهای کلاس والد دسترسی دارد. این کار باعث میشود تا حجم کدهای نوشته شده به شدت کاهش یابد. در بخشهای بعدی به توضیح مفصلی در ارتباط با این مفهوم میپردازیم.
برای درک مفهوم چند ریختی یا پلی مورفیسم در دنیای برنامهنویسی مثالی را از دنیای واقعی خدمت شما عزیزان ارائه میدهیم. در این کرهی خاکی انسانهای بسیاری وجود دارند که دارای گویشهای مختلف، زبانهای مختلف هستند و در شهرهای متفاوت زندگی میکنند. اما تمامی این افراد به عنوان یک انسان شناخته میشوند. اگر در اینجا انسان را به عنوان یک کلاس والد درنظر بگیریم و انسان ایرانی، آفریقایی، چینی و … را به عنوان کلاس فرزند، متوجه خواهید شد که انسان ایرانی از کلاس والد مشتق شده است. اما انسان ایرانی نحوهی صحبت کردن اش با نحوهی صحبت کردن یک انسان آفریقایی متفاوت است یعنی در واقع دارای رفتار متفاوت هستند. یعنی رفتاری که در شیء والد وجود دارد گاها در شکل فرزند ممکن است تغییر کند. در زبان برنامهنویسی شیءگرا به پلی مورفیسم یا Polymorphism تغییر رفتار یک شیء در اشیاء فرزند آن گفته میشود. که در زبان برنامهنویسی #C این تغییر رفتارها به کمک تعریف متدها به صورت virtual و override است و در فصول بعدی به تفصیل آنها را توضیح خواهیم داد.
با مطالعهی مفاهیم فوق دید کلی نسبت به برنامهنویسی شیءگرا پیدا کردید که در فصل بعدی (فصل ۱۰) به شما کمک میکند تا درک صحیحی از کلاسها داشته باشید.
منبع: روکسو
دوستان عزیز سلام. با یک مقاله ی جالب دیگه درباره فریم ورک قدرتمند انگولار در خدمت شما هستیم. در این مقاله قصد داریم ویژگی های فریم ورک انگولار 6 (Angular 6) را برای شما بازگو کنیم تا از تغییرات موجود در این نسخه با خبر باشید.
قبل از هر چیز شمارو دعوت می کنم تا با دیدن قسمت اول ویدیوی موجود در لینک زیر به صورت رایگان اطلاعات کاملی در ارتباط با نرم افزارهای تک صفحه و فریم ورک قدرتمند انگولار بدست آورید.
انگولار 6 یا بهتره بگیم Angular 6 RC به تاریخ 4 آپریل 2018 منتشر شد. تیم انگولار از سال 2016 تا به الان یک برنامه ی دو ساله برای نسخه های مختلفی از فریم ورک خود در نظر داشت که یکدفعه از انگولار 2 به انگولار 6 رسید و امسال انگولار 7 هم در انتظار ما خواهد بود.
تمام تلاش تیم انگولار بر این بود که طی هر نسخه جدید، حجم کل فریم ورک کاهش و سرعت آن افزایش پیدا کند.
در حال حاضر آخرین نسخه انگولار 6، نسخه Angular 6 – rc.5 است که در تاریخ 14 آپریل 2018 منتشر گردید ولی هنوز نسخه پایدار انگولار 6 در اختیار توسعه دهندگان قرار نگرفته است. اینطور که شرکت گوگل و تیم انگولار اعلام کرده اند، نسخه نهایی تا پایان ماه آپریل (اردیبهشت 1397) منتشر می شود.
در این نسخه باگ ها و خطاهای کامپایلر انگولار، کامپایلر Angular CLI، المان ها (Elements) و پکیج سرویس ها به صورت کلی برطرف شده است.
افزودن توکن برای مشخص کردن نوع ماژول انیمیشن
افزودن پشتیبانی از ناوبری (مسیردهی یا Navigation) در آدرس های URL
پشتیبانی از زبان برنامه نویسی تایپ اسکریت ورژن 2.7 (البته برای استفاده از این نسخه باید node 8 نصب باشد.)
ارتقاء سطح تست API در نرم افزار
بروزرسانی نسخه Rxjs
استفاده از پکیج رندر lvy (پکیج lvy جهت بهبودی سرعت و عملکرد نرم افزارهای انگولار و کاهش حجم آن استفاده شده است)
پشتیبانی از Component Dev Kit (این قابلیت یا CDK به شما امکان نصب بیش از 30 کامپوننت UI یا رابط کاربری را می دهد تا بدون هیچ مشکلی بتوانید از آنها جهت ساخت رابط کاربری و ارتقاء تجربه کاربری استفاده کنید)
بهبود ویژگی های فرم ها
توجه: دوستان عزیز آموزش ویدیویی انگولار 6 از مقدماتی تا پیشرفته به زبان فارسی را میتوانید با کلیک روی اینجا یاد بگیرید. (این دوره در حال برگزاری است)
منبع: روکسو
انگولار 6 نسخه RC4 هم اکنون در دسترس عموم قرار گرفت و این بدین معنی ست که ورژن نهایی انگولار 6 این روزها منتشر شود. بسیاری از ما در مورد ویژگی های جدیدترین نسخه انگولار صحبت می کنیم و دوست داریم درباره امکاناتی که با این نسخه در اختیار ما قرار می گیرد، بیشتر بدانیم!
آنچه که تیم انگولار 6 به ما قول داده است، سرعت بالا، حجم کم و ویژگی های گسترده است. در این مقاله قصد داریم کمی درباره آنها صحبت کنیم.
این پکیج در درجه اول برای بهبود بخشیدن به کامپوننت های وب ایجاد شده است که توسط اکثر مرورگرهای مدرن (بغیر از Edge) پشتیبانی می شود. به عبارت دیگر پکیج Angular Elements این امکان را می دهد که یک کامپوننت انگولار را ایجاد و آن را به عنوان یک کامپوننت وب منتشر کنید که در صفحات HTML بسیار قابل استفاده است.
تبدیل کردن یک کامپوننت به یک المان دلخواه یا Custom Element، راه ساده ای برای داینامیک کردن مطالب HTML است.
نسخه انگولار 6 از زبان برنامه نویسی تایپ اسکریپت 2.8 پشتیبانی می کند. در این نسخه از تایپ اسکریپت معرف ها (declaration)، مقدار دهی اولیه کلاس ها، داده های با نوع شرطی و بهبود عملکرد namespace ها، تقویت شده است.
رندرر Ivy به عنوان یکی از جدیدترین موتورهای رندر و شبیه سازی به حساب می آید که جدیدا معرفی شده است. این موتور رندر سرعت شبیه سازی و بهینه سازی کدها را به شکل حیرت انگیزی افزایش می دهد. در انگولار به صورت پیش فرض این موتور فعال نیست و باید آن را دستی اعمال کنید.
در این نسخه از انگولار 6، کامپایلر Bazel اضافه شده است. هنگامیکه شما کدهای خود را کامپایل می کنید تنها کدهایی که دچار تغییرات شده اند و نیاز به بارگذاری مجدد دارند، کامپایل خواهند شد. در این صورت حجم کدها و بهینه سازی آنها به بهترین شکل ممکن صورت می پذیرد.
در حال حاضر در دستوری به نام NavigationStart هیچ راهی وجود ندارد که بدانیم ناوبری یا مسیردهی به صورت اجباری صورت گرفته یا از طریق تغییر محل انجام شده است. یعنی مثلا شما روی یک لینک کلیک کرده اید و نرم افزار را مجبور کرده اید صفحه را تغییر دهد یا اینکه فقط می خواهید موقعیت فعلی نرم افزار را با تغییر مکان نما، دگرگون کنید. با استفاده از ویژگی navigationSource، مرکز و منبع ناوبری مثلا (اسکرول کردن موقعیت یا تغییر URL/URI) مشخص می شود. از طرفی یک ویژگی دیگر به نام restoredState به امکانات ناوبری اضافه شده است که با استفاده از آن میتوان موقعیت فعلی صفحه ای که درون آن قرار داریم را بدست آوریم. این دو ویژگی routing را در انگولار 6 بسیار ساده می کنند.
NgModelChange: این رویداد زمانی رخ می دهد که وقتی مقادیر موجود در یک قالب تغییر می کنند یا بروزرسانی می شوند. در ورژن های قبلی این رویداد قبل از آپدیت و بروزرسانی قالب رخ می داد. اما در نسخه انگولار 6 شما می توانید تغییرات را اعمال و مقدار value را در فرم کنترل (Form Control) در اختیار داشته باشید.
Form Control statusChanges: در انگولار 6 یک رویداد به نام PENDING هنگامی منتشر می شود (emit) که کلاس کنترل (AbstractControl) به نام markAsPending فراخوانی شود.
بهبود اعتبارسنجی فرم ها بر اساس pattern: قبل از انگولار 6، اعتبارسنجی انگولار بر اساس پترن (pattern) یا الگو خطوط را در بر نمی گرفت. یعنی المان هایی مانند ^ و / یا & و / یا $ را پشتیبانی نمی کرد. اما در نسخه جدید اعتبارسنجی بر روی عبارت های فوق قبل از افزودن آنها صورت می گیرد.
Angular CLI 1.7
ng update: در حال حاضر یک دستور برای بروزرسانی وابستگی های انگولار به صورت خودکار وجود دارد. تمام وابستگی های موجود در */angular@ با استفاده از این دستور به آخرین نسخه پایدار خود بروزرسانی می شوند.
App Budgets: با استفاده از ویژگی میتوان Angular CLI را به گونه ای محدود کرد که حجم نهایی فایل های جاوا اسکریپت یا bundle را کاهش دهد. می توان به گونه ای این محدودیت را اعمال کرد که در صورت افزایش حجم bundle یک پیغام خطا نمایش داده شود.
توجه: دوستان عزیز آموزش ویدیویی انگولار 6 از مقدماتی تا پیشرفته به زبان فارسی را میتوانید با کلیک روی اینجا یاد بگیرید. (این دوره در حال برگزاری است)
منبع: روکسو
فتوشاپ و ایلوستریتور دو تا از بهترین نرم افزارها در زمینه گرافیک و طراحی می باشند که هر کدام کارکرد های خاص خود را دارند. درست است که این نرم افزارها همچون Word برای تایپ و نگارش طراحی نشده اند ولی به هرحال اغلب اوقات نیاز به استفاده از ابزار تایپ نیز در این نرم افزارها داریم و وجود آن برای این دو غول گرافیکی بسیار حیاتی است. اگر از فونت پیش فرض این دو برنامه راضی نیستید و یا از آن خسته شده اید، در این آموزش قصد داریم روند تغییر فونت پیش فرض در فتوشاپ و ایلوستریتور را بررسی کنیم و به این بپردازیم که چگونه می توانیم فونت مورد نظر خودمان را به عنوان فونت پیش فرض در این دو برنامه تنظیم کنیم. همراه روکسوپلاس باشید.
برای تغییر فونت پیش فرض در فتوشاپ ابتدا برنامه فتوشاپ را باز کنید.
اگر در حال کار با فتوشاپ هستید، تمامی پروژه های فعال خود را ببنید و در حال اجرای هیچ کاری با فتوشاپ نباشید زیرا خالی بودن فتوشاپ برای تعیین فونت پیش فرض بسیار مهم است.
ابتدا از نوار ابزار فتوشاپ در سمت چپ، ابزار Text را انتخاب کنید. حالا در قسمت بالای نرم افزار، نواری برای تغییر ویژگی های نوشته های شما ظاهر می شود.
در این نوار، قسمتی مربوط به تغییر فونت است.
در این قسمت، فونت مورد نظر خود را که می خواهید آن را به عنوان پیش فرض تنظیم کنید، انتخاب کنید. همچنین می توانید سایر تنظیمات مانند اندازه و سبک و … را در نوار تنظیمات، انجام دهید.
به همین راحتی! از این به بعد فونت و ویژگی های نوشته های تمامی اسناد و پنجره هایی که در فتوشاپ باز می کنید، به طور پیش فرض همین می باشد که انتخاب کرده اید.
مراحل تغییر فونت پیش فرض در ایلوستریتور کمی پیچیده تر است.
ابتدا برنامه را باز کنید و سپس یک سند ذخیره شده را از مسیر File > Open باز کنید.
حالا به مسیر زیر در ویندوز بروید:
\Users\[your Windows username]\AppData\Roaming\Adobe\Adobe Illustrator [version] Settings\[your region edition]\x64\New Document Profiles
اگر از مک استفاده می کنید به این مسیر بروید:
/Users/[your macOS username]/Library/Preferences/Adobe Illustrator [version] Settings/[your region
edition]/Adobe Illustrator Prefs
توجه داشته باشید که این مسیرها بر اساس سیستم عامل، زبان و نسخه Adobe شما تغییر خواهد کرد. برای مثال اگر یک کاربر با نام مایکل از نسخه CS6 به زبان انگلیسی استفاده کند، برای او مسیر به شکل زیر خواهد بود:
\Users\Michael\ AppData\Roaming\Adobe\Adobe Illustrator CS6 Settings\en_US\x64\New Document Profiles
در این پوشه فایلی به نام Basic RBG را انتخاب کنید.
با باز کردن مشخصات پیش فرض به مسیر Windows> Type> Character Style بروید.
در صفحه جدید که باز می شود بر روی [Normal Character Style] دوبار کلیک کنید.
در پنجره جدید بر روی Basic Character Style در سمت چپ کلیک کنید. در اینجا می توانید فونت مورد نظر خود، سایز و سبک و سایر تنظیمات منحصر به فرد را انتخاب کنید.
در نهایت برای تکمیل فرانید بر رو OK کلیک کنید.
حالا هر سند جدیدی را در ایلوستریتور باز کنید، فونت انتخابی شما به صورت پیش فرض برای آن اعمال می شود. البته باید توجه داشت که اگر از چندین پروفایل در برنامه ایلوستریتور استفاده می کنید، باید این تنظیمات و روش را برای تک تک آن ها اعمال کنید.
منبع: روکسو
با سلام به مخاطبان عزیز! با یکی دیگر از آموزش های طراحی لوگو در خدمت شما عزیزان هستیم. در این آموزش قصد داریم به طراحی لوگوی گل در ایلوستریتور با گلبرگ های قلبی شکل بپردازیم. تا پایان آموزش با ما همراه باشید.
پیش نیاز آموزش:
سطح آموزش:
چه مطالبی در این ویدیوی آموزشی خواهید دید؟
خلاصه آموزش ویدیویی:
منبع: روکسو
با سلام به شما همراهان همیشگی روکسوپلاس. امروز با آموزش طراحی یک وکتور خوشمزه در ایلوستریتور با شما هستیم. در آموزش امروز، مراحل طراحی وکتور ران مرغ در ایلوستریتور را به صورت ویدیویی بررسی می کنیم.
پیش نیاز آموزش:
سطح آموزش:
چه مطالبی در این ویدیوی آموزشی خواهید دید؟
خلاصه آموزش ویدیویی:
منبع: روکسو
سلام خدمت دوستان عزیز! با آموزش طراحی لوگوی چند ضلعی های درهم در محیط ایلوستریتور در خدمت شما هستیم، با ما همراه باشید.
پیش نیاز آموزش:
سطح آموزش:
چه مطالبی در این ویدیوی آموزشی خواهید دید؟
خلاصه آموزش ویدیویی:
با سلام خدمت مخاطبان عزیز! با یک آموزش ویدیویی جالب در خدمت شما هستیم. در این آموزش ویدویی به طراحی وکتور نان تُست در محیط نرم افزار ایلوستریتور پرداخته ایم.
پیش نیاز آموزش:
سطح آموزش:
چه مطالبی در این ویدیوی آموزشی خواهید دید؟
خلاصه آموزش ویدیویی:
سلام! در این آموزش ویدیویی به طراحی وکتور یک ماهیتابه و نیمروی خوشمزه داخل آن پرداخته ایم. طراحی وکتور نیمرو بسیار آسان و سریع است و به تخصص چندانی در زمینه کار با نرم افزار ایلوستریتور نیاز ندارد.
پیش نیاز آموزش:
سطح آموزش:
چه مطالبی در این ویدیوی آموزشی خواهید دید؟
خلاصه آموزش ویدیویی:
دو نوع لینک مانند NoFollow و DoFollow در وردپرس وجود دارد. به طور پیش فرض، وردپرس به طور خودکار لینک تگ Nofollow را در نظرات اضافه می کند. این به این معنی است که ما به موتورهای جستجو دستور نداده ایم که این پیوندها را دنبال کنند و آنها را فهرست کنیم.
حال شما می توانید با نصب افزونه Remove Nofollow این امکان را از بخش دیدگاه وردپرس حذف کنید. با ما همراه باشید تا در ادامه نحوه کار با افزونه را توضیح دهیم.
در این آموزش دو روش را برای غیرفعال کردن ویژگی NoFollow از دیدگاه وردپرس را توضیح میدهیم. یکی از روشها را انجام داده و NoFollow را غیرفعال کنید.
در ابتدا افزونه را دریافت و نصب کنید، پس از فعال سازی افزونه گزینه جدیدی به نام Remove Nofollow به منو تنظیمات افزونه اضاف می شود. در قسمت تنظیمات افزونه تیک گزینه دلخواه خود را بزنید و به روز رسانی کنید.
سپس سایت را اجرا کرده و در بخش نظرات روی یک دیدگاه کلیک راست و inspect بگیرید. حال خواهید دید به همین سادگی Nofollow از بخش دیدگاه وردپرس شما حذف شده است.
در پیشخوان وردپرس به مسیر نمایش> ویرایشگر بروید و روی فایل function.php کلیک کرده و کد زیر را به این قسمت اضاف و ذخیره کنید.
function remove_nofollow($return, $author, $comment_ID) { $return= preg_replace("/(<a[^>]*[^\s])(\s*nofollow\s*)/i", "$1", $return); $return= preg_replace("/(<a[^>]*[^\s])(\s*rel=[\"\']\s*[\"\'])/i", "$1", $return); return $return; } add_filter( 'get_comment_author_link', 'remove_nofollow');
مجددا بخش دیدگاه ها را با استفاده از ابزار inspect تست کنید و نتیجه را مشاهده فرمایید.
موفق و پیروز باشید.
درباره این سایت