fa
Feedback
Pure Coder

Pure Coder

رفتن به کانال در Telegram

⭕️آدرس سایت: https://purecoder.ir ⭕️گروه پرسش و پاسخ: @purecoder_gp ⭕️پشتیبانی: @PureCoder_support @MohammadTaherri

نمایش بیشتر
775
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-17 روز
-230 روز
آرشیو پست ها
نظرتون چیه از این به بعد، سه‌شنبه‌ آخر هر ماه یک جلسه آموزشی با محوریت فریم‌ورک وانیا (Vania) برگزار کنیم؟ در هر جلسه، یکی از بخش‌های مهم این فریم‌ورک رو به‌صورت عملی آموزش می‌دیم. 🗓 اولین جلسه: سه‌شنبه، ۲۹ مهر 📚 موضوع: پیاده‌سازی سیستم Authentication با پایگاه داده MongoDB و ایجاد گارد برای کاربران عادی، کاربران VIP و ادمین کل 🕒 مدت زمان: حدود ۱ تا ۲ ساعت دوستانی که تمایل به شرکت در این جلسه دارند، می‌توانند از طریق لینک زیر در کلندر گوگل ثبت‌نام کنند 👇 🔗 افزودن به کلندر همچنین می‌توانید مستقیماً از طریق Google Meet در جلسه شرکت کنید 👇 🎥 لینک ورود به جلسه

Clean_Mobile_Architecture_Become_an_Android,_iOS,_Flutter_Architect.pdf16.58 MB

تهران یا شهرستان؟
@purecoder_ir

❌کد کپه ای کلین کردن و ریفکتور کردن کد به صورت توامان با کدنویسی و پیوسته انجام میشه. اینجوری نیست که یه کپه کد بنویسیم و بعد
❌کد کپه ای کلین کردن و ریفکتور کردن کد به صورت توامان با کدنویسی و پیوسته انجام میشه. اینجوری نیست که یه کپه کد بنویسیم و بعد شروع کنیم به ریفکتور و کلین کردنش. هیچ موقع توی این تله نیوفتید. کد زدن و ریفکتور کرذنش، دو فرایند جدا از هم نیستن. کاملن به هم پیوسته اند. یه کوچولو کد میزنی، ریقکتور و بهترش میکنی و دوباره یه کوچولوی دیگه. وگرنه اون کد کپه ای هیچ موقع کلین نیمشه و هی کپه تر میشه. @purecoder_ir

رضا رشیدپور، مجری، آموزش هوش مصنوعی گذاشته‌.😂 نفری ۶۰۰ تومن هم میگیره که بهت یاد بده چطوری از chat gpt استفاده کنی.😭 سوراخ دعا...

🍁Inversion of Control (Wikipedia)
In software engineering, inversion of control (IoC) is a design principle in which custom-written portions of a computer program receive the flow of control from an external source (e.g. a framework). The term "inversion" is historical: a software architecture with this design "inverts" control as compared to procedural programming. In procedural programming, a program's custom code calls reusable libraries to take care of generic tasks, but with inversion of control, it is the external code or framework that is in control and calls the custom code. Inversion of control has been widely used by application development frameworks since the rise of GUI environments and continues to be used both in GUI environments and in web server application frameworks. Inversion of control makes the framework extensible by the methods defined by the application programmer. Event-driven programming is often implemented using IoC so that the custom code need only be concerned with the handling of events, while the event loop and dispatch of events/messages is handled by the framework or the runtime environment. In web server application frameworks, dispatch is usually called routing, and handlers may be called endpoints.
@purecoder_ir

پست موقت میخوام یه ارزیابی کوچیکی داشته باشم و ببینم چند درصد بچه های کانال بکند دولوپر هستن؟!!! پس لطفن توی نظرسنجی زیر شرکت کن. مدت فعالیت و تجربه مهم نیست.
Anonymous voting

Repost from N/a
🔥خب توی فصل ۱۲ هر نکته ای که برای توسعه ی یه دونه Render Box اختصاصی لازم بود رو گفتیم. ولی هر چقدر هم نکته بگیم، تا کد نزنیم و مثال نبینیم یه جای کار میلنگه. 🔥از این رو توی فصل های ۱۳ و ۱۴ وارد گود میشیم و چندین Render Box رو از صفر توسعه میدیم. توی این دو فصل ویجت های زیر و Render Box شون رو با هم توسعه میدیم: ✅ConstrainedBox / SizedBox ✅Padding ✅Align / Center ✅OverflowBox ✅ClipRect ✅Opacity ✅Stack 💥روند کار به این شکل نیست که بریم و سورس کد فلاتر رو نگاه کنیم. بلکه خدمون سناریو میچینیم و از صفر شروع به توسعه میکنیم. وسط کار به چالش میخوریم. چالش ها رو حل میکنیم و جلو میریم. 🔥با این مثال ها روند دقیق تحلیل نیازمندی ها و توسعه ی یه Render Box رو یاد میگیری و مثل اب خوردن انجامش میدی. 💥ویجت ها کاملن هوشمندانه انتخاب شدن تا توی هر کدوم نکته یا نکات خاصی رو یاد بگیریم و مدل های مختلفی از Render Box ها رو شامل میشن. 🆔برای مشاوره یا ثبت نام در دوره به ایدی زیر پیام بدید👇 @PureCoder_support
@fluttery_journey
@purecoder_ir

Repost from N/a
🔥پارت سوم دوره ی فلاتر شامل ۵ فصله که روی توسعه ی Render Box اختصاصی تمرکز می کنیم و هر چی نکته هست رو میگیم. همچنین توی دو فصل اخر در مورد Binding ها و Animation ها صحبت میکنیم: https://purecoder.ir/course/flutterys-journey-3/ 2⃣1⃣فصل دوازدهم 🔥این فصل به نحوه ی توسعه ی یک Render Box اختصاصی میپردازیم و نکته ای رو نگفته باقی نمیگذاریم. ✅در مورد Layout Protocol میگیم و مفاهیم Wet Layout و Dry Layout رو خیلی خوب بررسی و نحوه ی پیاده سازیش رو میگیم. ✅با Children Protocol و نحوه ی مدل کردن و مدیریت بچه های یه Render Box اشنا میشیم. ✅مفهوم Baseline رو به طور کامل شرح میدیم و میگیم که چطوری موقع ساخت یه Render Box اختصاصی باید به حسابش برسیم. ✅همچنین بحث مفصلی هم در مورد مفهوم Intrinsic Dimensions و پیاده سازیشون داریم. ✅در مورد نحوه ی نوشتن کانستراکتور و پراپرتی های یه Render Box و نکاتی که باید رعایت کنیم هم صحبت میکنیم. 🔥اما کار به اینجا ختم نمیشه و پا رو فراتر میگذاریم و در مورد ۲ مدل از Render Box های معروف مفصل صحبت میکنیم و ویژگی هاشون رو میگیم. ✔️Proxy Box ✔️Shifted Box نحوه ی توسعه ی این ۲ مدل Box رو هم بررسی میکنیم. ✅و نکته های تر و تمیز دیگه که توی این فصل که با ۲۶ قسمت طولانی ترین فصل دوره هست، میگیم😍 🆔برای مشاوره یا ثبت نام در دوره به ایدی زیر پیام بدید👇 @PureCoder_support
@fluttery_journey
@purecoder_ir

کدام یک از موارد زیر هم ارز Hollywood Principle است؟ این اصل میگه: Don't call us, we'll call you.
Anonymous voting

Repost from N/a
🔥پارت دوم دوره شامل ۴ فصل میشه و از فصل های ۸ تا ۱۱ رو در بر میگیره: https://purecoder.ir/course/fluttery-journey-2/ 🔥این پارت به طور کامل به بحث Rendering اختصاص داره. ✅توی فصل های قبلی با فاز Build اشنا شدیم و توی این پارت با ۳ فاز دیگه که یک فریم فلاتری طی میکنه به طور کامل اشنا میشیم: ✔️Layout ✔️Paint ✔️Composite ✅با Render Object ها و ویژگی هاشون اشنا میشیم. ✅نکات مهمی رو در مورد Constraints میگیم. ✅فاز Layout توی Render Tree رو به طور کامل شرح میدیم و مفهوم Re-layout Boundary رو به خوبی درک میکنیم و بررسی میکنیم که Render Object ها در چه شرایطی به Re-layout Boundary تبدیل میشن. ✅فاز Paint توی Render Tree رو هم به طور کامل بررسی میکنیم و مفاهیم زیر رو به طور کامل بررسی میکنیم: ✔️Repaint Boundar ✔️Compositing Bits 🔥فقط ۷ قسمت به Repaint Boundary اختصاص داره. اگه هست جای دیگه ایران نه کل جهان که اینجوری توضیح داده باشه.... ✅فاز Composite رو‌ بررسی میکنیم و با Layer Tree و وظایفش به طور کامل اشنا میشیم. ✅با انواع Layer ها و ویژگی هاشون اشنا میشیم: ✔️Picture Layer ✔️Offset Layer ✔️Transform Layer ✔️Clip Layers ✔️BackdropFilter Layer ✔️... ✅کاربرد Engine Layer ها، Picture و Canvas رو که توی فصل ۲ باهاشون اشنا شده بودیم رو از نزدیک میبینیم. ✅با Painting Context اشنا میشیم و یاد میگیرم که چطوری باهاش کار کنیم. ✅با Pipeline Owner و نحوه ی مدیریت فاز های مختلف مربوط به rendering اشنا میشیم. ✅نحوه ی توسعه ی یک Render Object اختصاصی رو بررسی میکنیم. ✅و کلی نکته ی جذاب دیگه... 🆔برای مشاوره یا ثبت نام در دوره به ایدی زیر پیام بدید👇 @PureCoder_support
@fluttery_journey
@purecoder_ir

Repost from N/a
4⃣و5⃣: فصل های چهارم و پنجم ✅این ۲ فصل به طور کامل به Elment Tree اختصاص داره. ✅با Widget ها و Element های مختلف کار میکنیم.
4⃣و5⃣: فصل های چهارم و پنجم ✅این ۲ فصل به طور کامل به Elment Tree اختصاص داره. ✅با Widget ها و Element های مختلف کار میکنیم. ✔️StatelessWidget/Element ✔️StatefulWidget/Element ✔️InheritedWidget/Element ✔️RenderObjectWidget/Element ✅فاز build که فاز سوم یک فریم هست رو به طور کامل بررسی میکینم. ✅با setState و حقیقت پشتش اشنا میشیم. ✅با استیت های مختلفی که یک المنت درش قرار میگیره ✔️ initial ✔️active ✔️inactive ✔️defunct و همچنین اکشن های مختلفی که باعث تغییر استت المنت میشه ✔️ create ✔️mount ✔️deactivate ✔️activate ✔️unmount به طور کامل اشنا میشیم. 😳پس با یک Finite State Machine هم طرفیم که توی عکس بالا میبینیم. ✅همچنین ساخته شدن رندر تری توی فاز بیلد رو‌ میبینیم. ✅و کلی نکته ی جذاب دیگه 6⃣فصل ششم: key ها ✅فصل ششم به Key ها اختصاص داره و انواع Key ها و ویژگی هاشون رو بررسی میکنیم. ✅با Local Key ها، ویژگی ها و کاربردشون اشنا میشیم. ✅همچنین Global Key ها رو هم به طور کامل بررسی میکنیم. 🆔برای مشاوره یا ثبت نام در دوره به ایدی زیر پیام بدید👇 @PureCoder_support
@fluttery_journey
@purecoder_ir

Repost from N/a
3⃣فصل سوم ✅توی این فصل با مفهوم Widget و Element و Render Object اشنا میشیم. البته اینجا خیلی ساده با این مفاهیم آشنا میشیم و توی فصل های اینده به طور دقیق Element و Render Object رو بررسی میکنیم. ✅تناظر بین ویجت ها، المنت ها و رندر ابجکت ها رو‌ بررسی میکنیم و میبینیم که ایا به ازای هر ویجت توی widget tree یک المنت توی element tree و یک رندر ابجکت توی render tree داریم یا نه؟ ✅ماهیت Value Object بودن ویجت ها رو بررسی میکنیم. ✅با Build Context و واقعیت پشتش اشنا میشیم. 🆔برای مشاوره یا ثبت نام در دوره به ایدی زیر پیام بدید👇 @PureCoder_support
@fluttery_journey
@purecoder_ir

Repost from N/a
2⃣فصل دوم: Dart UI 🔥خب dart ui یه library خیلی low level عه که فریمورک فلاتر رو به انجین متصل میکنه. ✅توی این فصل با این المان های Low Level از جمله Engine Layer ها آشنا میشیم. ✅با مفهوم Frame و نحوه ی schedule کردن Frame اشنا میشیم و API های مختلف Platform Dispatcher رو هم بررسی میکنیم. ✅بدون استفاده از هیچ ویجتی و با low-level ترین API هایی که dart ui در اختیارمون میگذاره یه دونه UI و یه دونه Animation ساده میسازیم تا با مفاهیم از پایه اشنا بشیم. ✅با Canvas اشنا میشیم و به ویژه مفاهیم save و restore کردن رو توی canvas یاد میگیریم‌. 🔥مفاهیم این فصل پایه ای برای ادامه دوره ایجاد میکنن و به ویژه موقع کار با Render Tree و Layer Tree و انیمیشن ها توی فصل های بعدی، کاربردشون رو به صورت عملی میبینیم و درک میکنیم. 🆔برای مشاوره یا ثبت نام در دوره به ایدی زیر پیام بدید👇 @PureCoder_support
@fluttery_journey
@purecoder_ir

Repost from N/a
خب دوره ی فلاترمون خیلی وقته که تکمیل شده و توی چند پست فصل های مختلفش رو‌ معرفی میکنیم تا برای دوستانی که تصمیم به شرکت دارن یه راهنما باشه. این دوره شامل ۱۶ فصله که توی ۳ پارت تنظیم شده. فصل های ۱ تا ۷ توی پارت یک قرار دارن که از لینک زیر میتونید دنبالش گنید👇 https://purecoder.ir/course/flutterys-journey/ 1⃣فصل اول ✅توی فصل اول یه مقدمه ی خیلی کوتاه در مورد درخت های مختلف فلاتر و معماری فلاتر میگیم. ✅در مورد call stack صحبت میکنیم. بعدش Recursive Function ها رو یاد میگیریم و نحوه ی مدیریتشون توی call stack رو با مثال عملی و شکل میبینیم. همچنین یه مثال خوب دیگه از Recursive Function میزنیم و اونو با روش TDD حل میکنیم و unit test هاش رو تحلیل میکنیم و مرحله به مرحله جلو میبریمش. ✅در نهایت ولی با Event Loop توی دارت آشنا میشیم و میبینیم که در پشت پرده ی کدهای async ای که میزنیم چی میگذره. 🔥قرار بود توی فصل اول در مورد Composite Pattern هم صحبت کنیم، ولی در ادامه یه فصل کامل رو به این پترن اختصاص دادیم و توی فصل ۷ با دو تا مثال عملی به خوبی شرحش دادیم. یکی از این مثال ها Multi Currency Money بود که توش جمع و تفریق کردن واحد های مختلف پولی باهم و سپس تبدیلشون به یک واحد رو با Composite Pattern مدل کردیم. 5 Dollar + 10 Euro + 30 Dirham توی این فصل همچنین ارتباط Composite Pattern با Recursive Function رو بررسی کردیم و نحوه ی مدیریتش توی Call Stack رو با شکل دیدیم.
@fluttery_journey
@purecoder_ir

🥹توی JS نمیشه Object Oriented کد زد!!! 🥸ممکنه اینو خیلی شنیده باشی که جاوا اسکریپت یه زبانیه که نمیشه توش object oriented کد زد!!! مخصوصن جاوا اسکریپت خام و بدون امکاناتی که ES بهش میده. 🙄شاید بگن توش کلاس نداره و از این حرفا!!! 🤬نهههه.خیلیم میشه. 👈جاوا اسکریپت یه چیزی داره به اسم Constructor Function که همون چیزیه که لازم داریم‌. حتمن که نباید یه چیزی به اسم class باشه. اصن اصل object oriented همین Constructor Function بوده. 🍊ابجکت ارینتد یه دونه کلاس بهت میده که یه سری instance variable و یه سری method داره که اون متد ها میتونن از instance variable ها استفاده کنن. 📋حالا در نظر بگیر که یه function داری که داخل خودش یه تعداد local variable تعریف کرده و همچنین یه تعداد nested function هم توی خودش داره. در نتیجه اون nested function ها میتونن از local variable های داخل function استفاده کنن. 🏭در واقعیت object oriented همین کار رو میکنه. یعنی یه فانشکن بزرگ به اسم Constructor Function تعریف میکنه که توی دل خودش یه تعداد local variable و nested function داره. به local variable ها میگه instance variable و به nested function ها میگه method. 🔥حالا زبان های برنامه نویسی اومدن و یه سینتکس خوشکل (class) بهمون دادن که کار مارو ساده تر کنن. درسته که جاوا اسکریپت اون سینتکس قشنگه رو نداره. ولی دلیل نمیشه که بگیم کلن نمیشه توش OO زد. چون چیزی که باید داشته باشه رو داره. 📦کلاس ها یه جعبه ی جادویی نیستن، در اصل همه چیز به همون فانکشن برمیگرده. ولی با یه سری ترفند ها تو رو از یه سیاه چاله عبور میدن و وارد سرزمین عجایبی به اسم Object Oriented میکنن. 😍پس توی JS هم میشه OO زد، به شرط اینکه به دنبال ظاهر نباشی. کاری با زشتی و قشنگیش و ایراد هاش ندارم، که حتمن ایراد هایی بهش وارده. ولی دلیل نداره یه موضوع رو از بیخ رد کنیم.
@purecoder_ir

+شما استادش بودید؟ +اگر انصاف داشته باشید باید بگویید شاگرد مستعدی بود.
مدرسه ی هنر مزرعه ی بلال نیست که هر سال محصولش بهتر شود. از کواکب آسمان هم یکی میشود ستاره ی درخشان، الباقی سوسو میزنند...
برشی از فیلم کمال الملک پ.ن: برداشت آزاد ...
@purecoder_ir

🔥اینترفیس ها در جاوا و سی شارپ 🤔خیلی جاها به ما گفتن که اینترفیس ها به ما این امکان رو میدن که قواعدی رو تعیین کنیم و از این حرفا... یا خیلی چیز های دیگه... خب اینکار ها رو با کلاس هم میشه انجام داد. کلن هر کاری که با اینترفیس انجام میدیم، با کلاس هم میشه انجامش داد‌. ❓پس چرا نیاز به وجود چنین عنصری در زبان های برنامه نویسی بوده؟ 1⃣زبان c++ از multiple inheritance پشتیبانی میکرد. یعنی یه کلاس به طور همزمان میتونست از چند کلاس دیگه ارث بری کنه. 2⃣پشتیبانی از multiple inheritance چالشی به اسم diamond problem رو به وجود میاره که زبان هایی که از این قابلیت پشتبانی میکنن، باید فکری به حالش کنن. ✅زبان c++ و سایر زبان های پشتیبانی کننده از این قابلیت هر کدوم راهکار هایی رو برای مواجه شدن با این چالش دارن. ✂️اما مساله اینجاست که توسعه دهنده گان جاوا و سی شارپ از بیخ این مساله رو حذف کردن و نمیخواستن خودشون رو درگیر diamond problem کنن. در نتیجه بحث multiple inheritance رو پیچوندن و‌ گفتن که توی زبان ما یک کلاس فقط و فقط میتونه از یک کلاس دیگه ارث بری کنه‌. 😖ولی این مساله یه مشکل اساسی رو بوجود میورد. بعضی مواقع واقعن نیاز داشتیم که کلاسمون از چند کلاس دیگه ارث بری کنه. برای مثال چند تا abstract class داشتیم و میخواستیم که کلاسمون از همشون ارث بری کنه. ✅توسعه دهندگان جاوا و سی شارپ هم اومدن و اینترفیس رو اختراع کردن تا این مشکل رو حل کنن. چون یه کلاس میتونست بدون هیچ چالشی به طور همزمان چند اینترفیس رو implement کنه. 🔥در واقع یکی از دلایل اصلی وجود اینترفیس ها در این دو زبان، پیچوندن multiple inheritance بوده و نه یه چیز خارق العاده و یا یه جعبه ی جادویی که امکاناتی رو بهمون بده که قبلن کلاس ها بهمون نمیدادن.
@purecoder_ir

✅فانکشن identical برای مقایسه رفرنس ها به کار میره:
identical(o1, o2);
این فانکشن توی ورودی ۲ تا object میگیره. ❓ولی چرا "==" درست نیست؟ این operator توی کلاس object وجود داره و همه ی کلاس های دارت هم به صورت implicit از Object ارث بری میکنن. عملکرد پیش فرض این operator توی کلاس object به این شکله که از فانکشن identical استفاده میکنه و همه چیز رو به اون میسپاره. پس عملکرد پیش فرض این operator هم مقایسه کردن رفرنس هاست. ❓‌پس چرا نادرسته؟ ✅این operator امکان داره توی کلاس های دیگه override بشه و عملکردش تغییر کنه. برای همین همیشه و همیشه reference ها رو برای مقایسه چک نمیکنه. همون طور که توی مقاله ی زیر گفتیم👇 https://purecoder.ir/three-types-of-equality-in-programming-world/ سه حالت برای مقایسه ی object ها داریم: ✅Reference ✅Structure ✅Identifier 🔥برای پیاده سازی حالت های دوم و سوم باید == رو اوراید کنیم و عملکردش رو تغییر بدیم. پس این operator همیشه و در همه ی شرایط reference رو مقایسه نمیکنه و ممکنه structure و یا identifier رو مورد هدف قرار بده. پس اگه == ترو داد، همیشه به این معنا نیست که دو تا چیزی که مقایسه کردیم رفرنس یکسانی داشتن. ولی اگه identical ترو داد، چرا !!!
@purecoder_ir