✅ زمانی بود که اگر به افراد میگفتید وسیله ای به وجود خواهد آمد که تو میتوانی با یک نفر در آنطرف دنیا صحبت کنی ، تصور میکردند دیوانه شده ای ... اما امروزه نه تنها صدای یک نفر در آن طرف دنیا بلکه حتی تصویرش نیز قابل مشاهده است ...
✅ در حال حاضر شاید برخی ها باور نمیکنند که با فعال کردن #مکانیزم_طبیعی_ذهن میتواند در یک مدت کوتاه برنامه نویس شد و به جای یک زبان بر همه آنها تسلط یافت ، اما حقیقت برای کلاهبردارانی که از راه فریب مردم سود میبرند تلخ است ...
🖥 @FunProGraming
✅ در حال حاضر شاید برخی ها باور نمیکنند که با فعال کردن #مکانیزم_طبیعی_ذهن میتواند در یک مدت کوتاه برنامه نویس شد و به جای یک زبان بر همه آنها تسلط یافت ، اما حقیقت برای کلاهبردارانی که از راه فریب مردم سود میبرند تلخ است ...
🖥 @FunProGraming
🔰 با #انگولار دیگر لازم نیست کارهای زیر را انجام دهید :
(بخش دوم)
✅ مورد سوم ،مرتب کردن داده به UI و از UI:
عملیات CRUD اکثر وظایف نرم افزار های AJAX را تشکیل میدهد. روند مرتب کردن داده از سرور به یک شی داخلی به صورت فرم HTML، به کاربر اجازه اصلاح و تغییر فرم، اعتبار سنجی فرم، نشان دادن ارور های اعتبار سنجی، بازگشت به مدل داخلی، و سپس بازگشت به سرور را میدهد، که باعث ساخته شدن کدهای متنی زیادی میشود. آنگولار تقریبا بیشتر این متن ها را از بین میبرد، و کدهایی که روند اصلی نرم افزار را توصیف میکنند را به جای اجرای کل جزئیات، نگه میدارد.
✅ مورد چهارم ، نوشتن هزاران کد اولیه فقط برای شروع:
معمولا شما برای نوشتن یک نرم افزار AJAX ساده “Hello world” نیاز به نوشتن کدهای اولیه ای زیادی است. با برنامه نویسی انگولار شما میتوانید به راحتی نرم افزار را با استفاده از سرویس ها بوت استرپ کنید. این به شما اجازه میدهد که سریعتر از ویژگی های توسعه استفاده کنید. به عنوان یک پاداش، شما کنترل کامل بر روند مقدار دهی اولیه در تست خودکار را دریافت می کنید.
🖥 @FunProGraming
(بخش دوم)
✅ مورد سوم ،مرتب کردن داده به UI و از UI:
عملیات CRUD اکثر وظایف نرم افزار های AJAX را تشکیل میدهد. روند مرتب کردن داده از سرور به یک شی داخلی به صورت فرم HTML، به کاربر اجازه اصلاح و تغییر فرم، اعتبار سنجی فرم، نشان دادن ارور های اعتبار سنجی، بازگشت به مدل داخلی، و سپس بازگشت به سرور را میدهد، که باعث ساخته شدن کدهای متنی زیادی میشود. آنگولار تقریبا بیشتر این متن ها را از بین میبرد، و کدهایی که روند اصلی نرم افزار را توصیف میکنند را به جای اجرای کل جزئیات، نگه میدارد.
✅ مورد چهارم ، نوشتن هزاران کد اولیه فقط برای شروع:
معمولا شما برای نوشتن یک نرم افزار AJAX ساده “Hello world” نیاز به نوشتن کدهای اولیه ای زیادی است. با برنامه نویسی انگولار شما میتوانید به راحتی نرم افزار را با استفاده از سرویس ها بوت استرپ کنید. این به شما اجازه میدهد که سریعتر از ویژگی های توسعه استفاده کنید. به عنوان یک پاداش، شما کنترل کامل بر روند مقدار دهی اولیه در تست خودکار را دریافت می کنید.
🖥 @FunProGraming
#آموزش_انگولار #بخش_اول_1
برنامههای تک صفحهای (یا SPA) :
✅ برنامههایی هستند که میتوانید مانند سایر وبسایتها از طریق یک مرورگر به آنها دسترسی داشته باشید، اما با داشتن ظاهری مشابه با نرمافزارهای کامپیوتری و نیتیو موبایل، امکان داشتن تعاملات پویای بیشتری را فراهم میکنند.
✅ کاهش بسیار زیاد تعداد رفرشهای یک صفحه، تفاوت اصلی یک وبسایت معمولی و SPA است. SPA از AJAX استفاده زیادی میکند تا بدون انجام یک رفرش کامل به سرورها وصل شود و دادههای لودشده را به برنامه بیاورد. در نتیجه، فرایند رندر گرفتن از صفحات اغلب در سمت کلاینت صورت میگیرد.
🔰 برای مثال، اگر به جیمیل بروید، متوجه خواهید شد که با باز کردن یک ایمیل در صندوق ورودی، فقط ایمیل از سرور گرفته (fetch) شده و در لیست ایمیلها نشان داده میشود. بقیه کامپوننتها مثل sidebar، navigation bar و غیره، لود نمیشوند. یعنی DOM (Document Object Model را فقط برای بخش موردنیاز رفرش میکند. درنتیجه، بار لودِ وبسایت کاهش مییابد.
🖥 @FunProGraming
برنامههای تک صفحهای (یا SPA) :
✅ برنامههایی هستند که میتوانید مانند سایر وبسایتها از طریق یک مرورگر به آنها دسترسی داشته باشید، اما با داشتن ظاهری مشابه با نرمافزارهای کامپیوتری و نیتیو موبایل، امکان داشتن تعاملات پویای بیشتری را فراهم میکنند.
✅ کاهش بسیار زیاد تعداد رفرشهای یک صفحه، تفاوت اصلی یک وبسایت معمولی و SPA است. SPA از AJAX استفاده زیادی میکند تا بدون انجام یک رفرش کامل به سرورها وصل شود و دادههای لودشده را به برنامه بیاورد. در نتیجه، فرایند رندر گرفتن از صفحات اغلب در سمت کلاینت صورت میگیرد.
🔰 برای مثال، اگر به جیمیل بروید، متوجه خواهید شد که با باز کردن یک ایمیل در صندوق ورودی، فقط ایمیل از سرور گرفته (fetch) شده و در لیست ایمیلها نشان داده میشود. بقیه کامپوننتها مثل sidebar، navigation bar و غیره، لود نمیشوند. یعنی DOM (Document Object Model را فقط برای بخش موردنیاز رفرش میکند. درنتیجه، بار لودِ وبسایت کاهش مییابد.
🖥 @FunProGraming
#آموزش_انگولار #بخش_اول_2
🔰 تفاوتهای انگولار و انگولار جی اس (Angular vs. Angular js)
✅ برنامههای انگولار معماری متفاوتی در مقایسه با برنامههای Angular js دارند. ماژولها، کامپوننتها، تمپلتها، متادیتا، دیتا بایندیگ، directiveها، سرویسها و dependency injection قسمتهای اصلی سازندهی Angular هستند. کمی جلوتر دربارهشان صحبت خواهیم کرد.
✅ در واقع Angular، نسخه کاملاً از نو نوشته شده Angular js است.
✅ در Angular مفاهیمی مثل “scope” یا controller وجود ندارد و درعوض معماری اصلی آن ساختار سلسله مراتبی کامپوننتهاست.
✅ انگولار سینتکس ساده تری دارد، از “[]” برای property binding و از “()” برای event binding استفاده میکند.
✅ اگر اول مشکلات سرعت موبایل برطرف شوند، توسعه برنامه موبایلی بسیار سادهتر میشود. به همین دلیل Angular ابتدا توسعه برنامه موبایلی را مدیریت میکند.
✅ماژولاریتی (Modularity): ECMAScript 6 (ES6) از مفهوم ماژولاریتی پیروی میکند. عملکردهایِ مشابه کنار هم در یک ماژول نگه داشته میشوند. این مسئله هسته انگولار را سبکتر و سریعتر میکند.
🖥 @FunProGraming
🔰 تفاوتهای انگولار و انگولار جی اس (Angular vs. Angular js)
✅ برنامههای انگولار معماری متفاوتی در مقایسه با برنامههای Angular js دارند. ماژولها، کامپوننتها، تمپلتها، متادیتا، دیتا بایندیگ، directiveها، سرویسها و dependency injection قسمتهای اصلی سازندهی Angular هستند. کمی جلوتر دربارهشان صحبت خواهیم کرد.
✅ در واقع Angular، نسخه کاملاً از نو نوشته شده Angular js است.
✅ در Angular مفاهیمی مثل “scope” یا controller وجود ندارد و درعوض معماری اصلی آن ساختار سلسله مراتبی کامپوننتهاست.
✅ انگولار سینتکس ساده تری دارد، از “[]” برای property binding و از “()” برای event binding استفاده میکند.
✅ اگر اول مشکلات سرعت موبایل برطرف شوند، توسعه برنامه موبایلی بسیار سادهتر میشود. به همین دلیل Angular ابتدا توسعه برنامه موبایلی را مدیریت میکند.
✅ماژولاریتی (Modularity): ECMAScript 6 (ES6) از مفهوم ماژولاریتی پیروی میکند. عملکردهایِ مشابه کنار هم در یک ماژول نگه داشته میشوند. این مسئله هسته انگولار را سبکتر و سریعتر میکند.
🖥 @FunProGraming
✅ برای اینکه شما بتوانید کلمات یک زبان به عنوان مثال انگلیسی را بخوانید ، هیچوقت به سراغ یاد گرفتن نحوه خواندن کلمه ها نمیروید ! بلکه ابتدا حروف الفبای آن زبان را یاد میگیرید ، سپس هرکلمه جدیدی ک مقابل شما قرار بگیرد قادر به خواندنش خواهید بود !
✅ در #برنامه_نویسی ، الفبا همان #مکانیزم_طبیعی_ذهن است ! اگر الفبا را یاد بگیرید ، خواندن کلماتی که همان زبان های برنامه نویسی مختلف هستند برای شما ساده خواهد بود !
🖥 @FunProGraming
✅ در #برنامه_نویسی ، الفبا همان #مکانیزم_طبیعی_ذهن است ! اگر الفبا را یاد بگیرید ، خواندن کلماتی که همان زبان های برنامه نویسی مختلف هستند برای شما ساده خواهد بود !
🖥 @FunProGraming
✅ فرض کنید به شما گفته اند که در یک کیلومتری شما یک شمش طلا وجود دارد و ده دقیقه فرصت دارید که آنرا بردارید ، شما برای رسیدن به این جایزه بزرگ با اولین وسیله ی نقلیه ای که مقابل شما قرار میگیرد ، چه موتورسیکلت باشد ، چه ماشین بنز و چه پراید خودتان را به آن شمش خواهید رساند!
✅ پس چرا بعضی ها تصور میکنند برای رسیدن به هدف (شمش طلا) مهم است که چه زبان برنامه نویسی (وسیله نقلیه) ای را انتخاب کنند!
🖥 @FunProGraming
✅ پس چرا بعضی ها تصور میکنند برای رسیدن به هدف (شمش طلا) مهم است که چه زبان برنامه نویسی (وسیله نقلیه) ای را انتخاب کنند!
🖥 @FunProGraming
✅ میخوام یه ماجرای خیلی آشنا بهتون بگم ! خیلی از افرادی که به تازگی برنامه نویسی رو شروع کردن ، به فرصت های شغلی روبروشون نگاه میکنند و میبینند که نوشته شده : پروژه فلان نرم افزار با زبان C# ده میلیون تومن ، پروژه فلان وبسایت با پایتون ده میلیون و .... بعدش حسرت میخورن و تو فکر میرند که کدوم زبان رو بخونن ! وقتی از بقیه برنامه نویس ها میپرسن هرکدوم یک زبان رو پیشنهاد میکنه ، یکی میگه c بخون که پایس ، یکی میگه پایتون بخون که راحت تره و ...
بعد یه مدت برنامه نویس تازه کار تبدیل میشه به یک فرد کاملا سردرگم!
✅ دوست عزیز ! زمانی بود که وقتی چت تصویری به ایران اومد ، خیلی از مراجع اون رو حرام کردن ! اما آیا میشه جلوی دانش و تکنولوژی رو گرفت ؟ این یک پست تبلیغاتی نیست ! یک پیشنهاد بهتره ! #مکانیزم_طبیعی_ذهنت رو فعال کن تا درگیر انتخاب زبان ها برنامه نویسی نباشی! با یک تیر ، چند نشان بزن ، با یک علم ، چند زبان یادبگیر ...
🖥 @FunProGraming
بعد یه مدت برنامه نویس تازه کار تبدیل میشه به یک فرد کاملا سردرگم!
✅ دوست عزیز ! زمانی بود که وقتی چت تصویری به ایران اومد ، خیلی از مراجع اون رو حرام کردن ! اما آیا میشه جلوی دانش و تکنولوژی رو گرفت ؟ این یک پست تبلیغاتی نیست ! یک پیشنهاد بهتره ! #مکانیزم_طبیعی_ذهنت رو فعال کن تا درگیر انتخاب زبان ها برنامه نویسی نباشی! با یک تیر ، چند نشان بزن ، با یک علم ، چند زبان یادبگیر ...
🖥 @FunProGraming
🔰 الگوی #ریپازیتوری چیست؟
✅ به طور کلی بعد از سپری شدن سالیان متمادی برنامه نویسان یادگرفته اند برای کاهش کد های زائد خود تدابیر خاصی بیندیشند و تمام تلاش خود را صرف این نمایند که با نوشتن کمتر کد در برنامه خود بیشترین بازده را از برنامه ها طلب نمایند. بعد از به وجود آمدن برنامه نویسی شی گرا برنامه نویسی وارد مرحله تازه ای شد به خصوص بعد از معرفی نسل جدید معماری برنامه نویسی سمت وب MVC دیگر کمتر شرکت آینده نگری را یافت خواهید کرد که از معماری MVC استفاده نکند. در این معماری از الگویی به نام #ریپازیتوری استفاده می شود.
🖥 @FunProGraming
✅ به طور کلی بعد از سپری شدن سالیان متمادی برنامه نویسان یادگرفته اند برای کاهش کد های زائد خود تدابیر خاصی بیندیشند و تمام تلاش خود را صرف این نمایند که با نوشتن کمتر کد در برنامه خود بیشترین بازده را از برنامه ها طلب نمایند. بعد از به وجود آمدن برنامه نویسی شی گرا برنامه نویسی وارد مرحله تازه ای شد به خصوص بعد از معرفی نسل جدید معماری برنامه نویسی سمت وب MVC دیگر کمتر شرکت آینده نگری را یافت خواهید کرد که از معماری MVC استفاده نکند. در این معماری از الگویی به نام #ریپازیتوری استفاده می شود.
🖥 @FunProGraming
اگه میخوای پرواز کنی، باید از هر چیزی که باعث میشه سنگین بشی دل بکنی. خودتو غرق در دنیای آموزش های بی هدف و عجیب و غریب نکن ! #مکانیزم_طبیعی_ذهن رو فعال کن!
🖥 @FunProGraming
🖥 @FunProGraming
🔰 ریپازیتوری چیست و چرا باید ازش استفاده کنیم ؟
✅ ریپازیتوری یک استراتژی برای دسترسی به داده ها است.
✅ ریپازیتوری در حقیقت مانع تکرار در نوشتن Logic پروژه و Query های شما خواهد شد
✅ به حداقل رساندن وابستگی لایه دیتا به تکنولوژی ها
✅ از موضوعهای مهم دیگر میتوان به تست واحد پروژه اشاره کرد که قطعا با استفاده از Repository Pattern بسیار سادهتر و قابل اطمینانتر است.
✅ یکی دیگر از دلایل استفاده از ریپوزیتوری این است که سوئیچ کردن از یک دیتابیس به دیتابیس دیگر بسیار مشکلات کمتری را خواهد داشت. که این موضوع به دلیل جدا بودن پروژه شما از کوئریهای مختلف در کلاسهای متفاوت است.
🖥 @FunProGraming
✅ ریپازیتوری یک استراتژی برای دسترسی به داده ها است.
✅ ریپازیتوری در حقیقت مانع تکرار در نوشتن Logic پروژه و Query های شما خواهد شد
✅ به حداقل رساندن وابستگی لایه دیتا به تکنولوژی ها
✅ از موضوعهای مهم دیگر میتوان به تست واحد پروژه اشاره کرد که قطعا با استفاده از Repository Pattern بسیار سادهتر و قابل اطمینانتر است.
✅ یکی دیگر از دلایل استفاده از ریپوزیتوری این است که سوئیچ کردن از یک دیتابیس به دیتابیس دیگر بسیار مشکلات کمتری را خواهد داشت. که این موضوع به دلیل جدا بودن پروژه شما از کوئریهای مختلف در کلاسهای متفاوت است.
🖥 @FunProGraming
☑️ اغلب آدمها، آدم دیگران هستند. آنها زندگی نمیکنند، فقط نقشی را ایفا میکنند که دیگران به آنها داده اند. فکرشان حاوی نظرات دیگران است. صورتشان ماسکی است که بر چهره شان زده اند.
💠 وجودی اصیل ندارند. زندگی شان تقلید است، و شور و اشتیاقشان نقل قولی بیش نیست. این دور باطل را بشکنید و خود اصیلتان را خلق کنید. بدون ترس از قضاوت شدن، بدون ترس از شکست خوردن. زمانیکه در جایگاه اصلی خود قرار گیرید، قدرت شما حیرت آور خواهد بود.
🖥 @FunProGraming
💠 وجودی اصیل ندارند. زندگی شان تقلید است، و شور و اشتیاقشان نقل قولی بیش نیست. این دور باطل را بشکنید و خود اصیلتان را خلق کنید. بدون ترس از قضاوت شدن، بدون ترس از شکست خوردن. زمانیکه در جایگاه اصلی خود قرار گیرید، قدرت شما حیرت آور خواهد بود.
🖥 @FunProGraming
مزایای استفاده از ریپازیتوری:
✅ بالابردن خوانایی و نگهداری منطق تجاری با جداسازی دسترسی به دیتا
✅ کنترل مرکزی نسبت به دسترسی به دیتا
✅ امکان تعویض تکنولوژی مربوط به دسترسی به دیتا در آینده
✅ نوشتن تست های واحد (Unit Test) به جای تستهای یکپارچه (Integration Test)
✅ کاهش پیچیدگی در سطح کد و نیز کاهش کد نویسی
✅ با توجه به تعریف ریپازیتوری مشخص است که هدف اصلی آن مخفی کردن پیچیدگی های لایه ی دسترسی به دیتاست.
⭕ باید بدانید که رقیب سرسخت این الگو ORM است.
🖥 @FunProGraming
✅ بالابردن خوانایی و نگهداری منطق تجاری با جداسازی دسترسی به دیتا
✅ کنترل مرکزی نسبت به دسترسی به دیتا
✅ امکان تعویض تکنولوژی مربوط به دسترسی به دیتا در آینده
✅ نوشتن تست های واحد (Unit Test) به جای تستهای یکپارچه (Integration Test)
✅ کاهش پیچیدگی در سطح کد و نیز کاهش کد نویسی
✅ با توجه به تعریف ریپازیتوری مشخص است که هدف اصلی آن مخفی کردن پیچیدگی های لایه ی دسترسی به دیتاست.
⭕ باید بدانید که رقیب سرسخت این الگو ORM است.
🖥 @FunProGraming
🎇 تنها چیزی که میتواند تو را متحول و دگرگون ساخته و از بی اراده گی و خواب بیدار کند، آگاه شدن توست برای متحول شدن؛
✔️ از جایی باید شروع کنی که در حال حاضر هستی! شروع کردن از جایی که میتوانی باشی مسخره و نادرست است.
🖥 @FunProGraming
✔️ از جایی باید شروع کنی که در حال حاضر هستی! شروع کردن از جایی که میتوانی باشی مسخره و نادرست است.
🖥 @FunProGraming