فرسودگی تاج نیست، استراحت پاداش نیست.
در دوران کودکی، اغلب می شنیدم که والدین و معلمانم مدام با جملاتی مانند "به تلاش خود ادامه دهید، تا زمانی که به هدف خود نرسیدید متوقف نشوید" به من انگیزه می دهند.
پروژه انجام پروژه در فریلنس پروژه
"آن پهلوان و بزرگواری باش که هرگز از کار سخت دست نمی کشد. کمی دیر بیدار بمانید، برای نمرات بهتر زود بیدار شوید و هرگز متوقف نشوید. '
"تنها زمانی متوقف شوید که به خود افتخار کنید".
خوب، من به عنوان یک بزرگسال کاملاً با آن موافق نیستم.
برای دستیابی به چیزهای بزرگ، باید زمان، انرژی و فداکاری روی چند چیز صرف کنیم. برای رسیدن به اهدافمان به تلاش مداوم نیاز است. در حالی که همه اینها درست است، آیا فکر می کنید این عادلانه است که بگویید "فقط زمانی که هدف شما کامل شد استراحت کنید"؟ چرا دستاورد یا استراحت است، چرا دستاورد و استراحت نیست؟
در زمانهای اخیر، احساس میکنم فرهنگ شلوغی رمانتیک شده است. یک گروه کامل از جمعیت وجود دارند که به کار بی وقفه برای رسیدن به هدف خود افتخار می کنند. آنها همچنین از دیگران انتظار دارند که اینگونه کار کنند. کار بدون وقفه به عنوان نشانی تلقی می شود که مردم با شکوه به آن می پردازند و نشانه ای از یک موفقیت است.
اجازه دهید چند موقعیت را در نظر بگیریم. ماشینی که تقریباً در حال تخلیه است، چه کنیم؟ ما به آن سوخت می دهیم. در مورد وسایل ما چطور؟ وقتی انرژی لپ تاپ، موبایل ما تمام می شود، بلافاصله آن را به برق وصل می کنیم تا شارژ شود. ماشینها و تجهیزات الکترونیکی برای احیا و عملکرد خوب نیاز به شارژ مجدد باتری دارند و به نظر شما ما به عنوان موجودات زنده نیاز به استراحت داریم؟ خوب، نه تنها این فرهنگ بسیار تخلیه کننده است، بلکه می تواند در نهایت منجر به عواقب طولانی مدتی مانند اضطراب، خستگی مزمن، فرسودگی، افسردگی و غیره شود.
طراحی لوگو با بهترین طراحان لوگو
استراحت یک نیاز اساسی انسان است. بدن، ذهن و روح شما به استراحت نیاز دارد تا دوباره پر شود، تجدید قوا شود و دوباره شارژ شود.
منظورم این است که بیا، ما به دلیلی به ما انسان می گویند نه انجام انسان.
من دوباره با صدای بلند و واضح می گویم، شما سزاوار استراحت از صمیم قلب و بدون قید و شرط هستید. برای کسب استراحت نیازی نیست خود را «اثبات» کنید. تو لیاقتش را داری :)
انجام پروژه متلب در فریلنس پروژه
همچنین درک این نکته مهم است که استراحت لزوماً مانند 20 ساعت خواب نیست. استراحت نیز می تواند معنی داشته باشد
- تماشای سریال/فیلم مورد علاقه خود
- خواندن کتاب مورد علاقه شما
- تمرین سرگرمی خود مانند نقاشی، آشپزی، رقصیدن
- ملاقات با دوستی که به شما احساس خوبی می دهد
- بیرون رفتن برای صرف غذا در رستوران مورد علاقه خود
- یا به سادگی هیچ کاری انجام نمی دهید
شما همچنین می توانید در نظر بگیرید
- یک ساعت در روز فقط برای خودتان به خاطر نوشتن، مدیتیشن یا خواندن کتاب.
- یک روز در هفته برای برنامه ریزی کاری در فضای باز با دوستان/خانواده/فقط خودتان
- چند روز هر 2 ماه برای کشف یک شهر کاملا جدید.
بنابراین، به جای اینکه تمام وقت خود را صرف فکر کردن به تعیین کل زندگی خود و جمع کردن کار کنیم، بیایید لحظاتی را برای استراحت در لیست کارهایمان اختصاص دهیم، درست است؟
من مطمئن هستم که اگر بخواهید آن را اجرا کنید، بدن، ذهن و روح شما از شما تشکر خواهند کرد. پس آیا میتوانیم فرهنگ شلوغی را کنار بگذاریم و به سخت کوشی برای رسیدن به اهدافمان و دادن استراحت شایسته به خودمان بله بگوییم؟ :دی
ممنون از اینکه وقت خود را برای خواندن وبلاگ من اختصاص دادید. امیدوارم کمک کرده باشد.
اگر بتوانید مقاله را با دوستان، خانواده یا هرکسی که فکر میکنید به شما کمک میکند، به اشتراک بگذارید، واقعا ممنون میشوم.
یک فرو رفتن عمیق در چارچوب اسکرام
دوستان عزیز فعلی و آینده رسانه مینتون
انجام پروژه در فریلنس پروژه
ما در شرف ایجاد یک تغییر بزرگ هستیم و می دانیم که شما آن را دوست خواهید داشت!
Mintun Media قصد دارد تا زمانی که نوبت به گردش کار ما میرسد، فرآیند جدیدی را پیادهسازی کند. ما از فرآیند توسعه اسکرام در فرآیند طراحی وب خود استفاده خواهیم کرد.
می پرسی چرا این مهم است؟
این را تصور کنید: از ما می خواهید که یک وب سایت عالی برای شما طراحی کنیم. تیم ما زمان قابلتوجهی را صرف برنامهریزی نحوه ظاهر وبسایت، ویژگیهای عجیب و غریب و یک چارچوب گام به گام برای کل پروژه از ابتدا تا انتها میکند. مطمئنا هیچ چیز نمی تواند اشتباه باشد. درست میگم؟
پس از طرح ریزی برنامه ها، تیم شروع به کار در وب سایت می کند. هر زمان که خطا یا مشکلی پیش بیاید، تغییرات جزئی در برنامه ها ایجاد می کنیم. دست اندازهای زیادی در جاده وجود داشت و ما در نهایت وب سایت نهایی را ارائه کردیم. ما شروع به آزمایش وبسایت میکنیم و متوجه میشویم که برخی از ویژگیها آنقدر که ما میخواهیم رضایتبخش نیستند. متأسفانه، اکنون نمیتوانیم چیزی را تغییر دهیم زیرا ضرب الاجل نزدیک است.
برای بررسی وب سایت با شما جلسه ای ترتیب دادیم. وقتی همه وارد شدند، به وب سایت نگاه می کنید و عصبانی می شوید. شما از ما میپرسید: «این چیزی نیست که ما خواستهایم! این ویژگی کجاست؟ چرا این طراحی اینگونه است؟»
چه چیزی اشتباه پیش رفت؟
سفارش ساخت سایت در فریلنس پروژه
مدلی که ما در این شرایط استفاده می کردیم به عنوان مدل توسعه آبشار شناخته می شود. یک مدل سنتی از ابتدا تا انتها به ما دید پرنده ای از پروژه ما می دهد. با این حال، معایب بسیاری برای این وجود دارد.
علیرغم زمان طولانی برنامه ریزی پیچیده، اغلب دیر متوجه می شوید که برنامه های شما گرانتر از حد انتظار است. با یک ضرب الاجل فشرده، از شما انتظار می رود که به هر نقطه عطفی برسید و در صورت بروز هرگونه مشکل یا تاخیر، استرس زیادی ایجاد کنید.
حتی اگر در زمان کوتاه به ضرب الاجل برسید، ممکن است متوجه شوید که محصول نهایی شما می توانست بسیار بهتر از آنچه بود باشد. اگر تقاضای بازار یا فناوری از زمان توسعه اولیه محصول تغییر کرده باشد، این نوع مدل ممکن است محصول اشتباهی را نیز به ارمغان بیاورد. وقتی این کشف را انجام می دهید، شما و تیمتان دیگر زمان و انرژی لازم برای بهبود محصول نهایی را ندارید.
چه کاری می توانست انجام شود؟
فرآیند توسعه اسکرام رایج ترین متدولوژی چابک برای مدیریت پروژه است. این یک فرآیند توسعه نرم افزار چابک تکراری و تدریجی است که در آن تیم خود سازماندهی می کند تا یک مشکل پیچیده را حل کند.
انجام پروژه متلب در فریلنس پروژه
چه چیزی فرآیند توسعه اسکرام را با مدل قبلی ما متفاوت می کند؟ این شامل برنامه های کمتری است در حالی که هنوز قادر به انجام کارهای بیشتری است. کار به چرخه های کوتاهی به نام اسپرینت تقسیم می شود. یک پروژه اسکرام معمولی دارای اسپرینت هایی است که از 2 هفته تا 3 ماه طول می کشد، که هر اسپرینت به طور متوالی بر اساس کار اسپرینت قبلی است.
تیم رویایی!
با یک متدولوژی badass، شما به یک تیم بدس نیاز دارید تا مطمئن شوید که در مسیر درست با نیازهای پروژه خود هستید. یک تیم رویایی، متشکل از سه نقش اساسی، به عنوان یک تیم اختصاصی در تحویل مداوم محصولات عملکردی و در عین حال دریافت بازخورد مداوم از همه اعضا، کار خواهد کرد. این سه نقش عبارتند از:
· صاحب محصول - این شخص مسئول تعریف ویژگی های مورد نیاز و آوردن ایده های روشن در نظر گرفته شده برای محصول است.
· اسکرام مستر - این شخص به عنوان "رهبر خدمتگزار" برای کل تیم عمل می کند. هدف اصلی او محافظت از تیم و فرآیند، برگزاری جلسات برای اطمینان از اینکه همه با هم کار می کنند تا به ویژگی ها و ایده های مورد نیاز صاحب محصول دست یابند.
· تیم توسعه - اینها توسعه دهندگان، آزمایش کنندگان، نویسندگان و هر نقش دیگری هستند که به توسعه محصول کمک می کند. تیم توسعه می تواند نقش های متعددی را ایفا کند. برخی ممکن است از توسعهدهندهای به آزمایشکننده دیگر بروند، همانطور که پروژه نیاز دارد.
در فرآیند توسعه اسکرام چیست؟
در هر فرآیند اسکرام چهار مورد حیاتی وجود دارد. مانند زمانی که وسایل ضروری خود را برای سفر بسته بندی می کنید، باید مطمئن شوید که این وسایل ضروری اسکرام را در چمدان خود قرار داده اید تا از بهترین نتایج ممکن برای پروژه خود اطمینان حاصل کنید:
· عقب ماندگی محصول - اینها اهداف محصول نهایی و نحوه دستیابی به آنها هستند. این شامل یک لیست اولویتبندی شده از ویژگیهایی است که به عنوان داستانهای کاربر شناخته میشوند و دائماً تغییر میکند و اولویت را با هر سرعت تغییر میدهد.
انجام پروژه پایتون در فریلنس پروژه
· بک لاگ اسپرینت - هدف بک لاگ اسپرینت شناسایی مواردی از بک لاگ محصول است که تیم در طول اسپرینت روی آنها کار خواهد کرد. تیم اندازه و جدول زمانی را تخمین می زند. این تیم برای سرعت بعدی روی این داستان های کاربران کار خواهد کرد.
· تعریف انجام شده - برای اطمینان از برآورده شدن تمام نیازها در پایان دوی سرعت، تیم باید آنچه را که به عنوان "انجام شده" محاسبه می شود برای وضوح تعریف کند.
· نمودار فرسودگی - این شامل تمام وظایف اعضای تیم است، مشخص می کند که چه کاری باید انجام شود، چه کسی در حال حاضر آن را انجام می دهد، و چه کسی قبلاً با کار در طول هر دوی سرعت انجام شده است.
ارتباط کلید است!
رانیه آل عبدالله زمانی گفت: «ما وقتی گوش میدهیم قویتر هستیم و وقتی به اشتراک میگذاریم باهوشتر هستیم».
ما می دانیم که چگونه ارتباط حدود
چگونه بلاکچین به عنوان فناوری اطلاعات عمل می کند و روند پیاده سازی و پذیرش از زمان پیدایش آن.
بخش 2 فناوری اطلاعات توزیع شده
انجام پروژه در فریلنس پروژه
با توجه به اینکه قبلاً ثابت کرده بودیم که بلاک چین توزیع شده، تغییرناپذیر و ایمن است. که تمام ویژگی های معتبر از نظر فنی کمی فراتر می رود. علاوه بر داشتن موارد فوق، شفاف، معتبر و شبه ناشناس نیز هست. علاوه بر این، قبل از اینکه یک رکورد یا تراکنش معتبر در نظر گرفته شود، باید به اجماع 51% گره دست یابد.
توزیع شده در نظر گرفته می شود زیرا یک کپی/مثنی کامل از داده ها، رکوردها و کدها در تمام گره های موجود زنده است. تغییرناپذیر است زیرا داده های روی بلاک چین، پس از نوشتن، قابل تغییر و تغییر نیستند. ایمن است زیرا بلوک ها به صورت رمزنگاری به هم مرتبط هستند. تایید شده است زیرا ماینرها برای ایجاد بلوک های امن با هم رقابت می کنند (و در مورد بیت کوین با ارز دیجیتال پاداش می گیرند). و در نهایت، بلاک چین شبه ناشناس است زیرا هویت کاربر در یک تراکنش پنهان است و توسط یک کلید آدرس به شکل یک رشته تصادفی نشان داده می شود.
فضای کریپتو تکامل یافته است و همچنان در حال تکامل است تا نیازهای خاص را برآورده کند. و درست مانند محاسبات ابری، این الزامات باید به انواع مختلف بلاک چین منجر شود، یعنی: بلاک چین عمومی، خصوصی و ترکیبی (در ادامه در این مورد با پیشرفت بیشتر). این تغییرات نتیجه تلاش برای صرفه جویی در زمان و هزینه با برنامه های بلاک چین است.
سفارش ساخت سایت در فریلنس پروژه
با توجه به اینکه بلاک چین در حال حاضر یک واقعیت تجاری است، رویکرد توسعه برنامه های کاربردی وب که از فناوری هایی مانند HTML، CSS، جاوا اسکریپت، خدمات وب REST، پایتون، SQL و غیره استفاده می کند، باید بلاک چین را در پشته فناوری ادغام کند. ادغام فراتر از توسعه فرانت اند و باطن وب است، همچنین شامل عملیات توسعه (DevOps) نیز می شود. علاوه بر این، از آنجایی که سیستمهای بلاک چین نمیتوانند به تنهایی به دادههای خارج از شبکه خود دسترسی پیدا کنند، سیستمهای شخص ثالث (معروف به اوراکلها و تغذیهکنندههای داده) این شکاف را پر میکنند. این سیستمهای خارجی بهعنوان تغذیه دادهها به بلاکچین عمل میکنند، و اتفاقات دنیای واقعی (دادههای خارجی) را ارائه و تأیید میکنند و سپس آن را به زنجیره بلوکی میرسانند تا توسط قراردادهای هوشمند استفاده شود. سیستمهای بلاک چین باید بهاندازه کافی کارآمد و بهاندازه کافی برای مدیریت تغذیه از تغذیهکنندههای داده فوقالذکر، مدیریت فرآیند KYC (مشتری/مشتری خود را بشناسید - برای تأیید هویت کاربر خدمات مالی) در تراکنشهای مالی، تبدیل و مدیریت واقعی انجام دهند. پول جهانی از طریق ارزهای دیجیتال و قادر به ادغام با سیستم های دیگر. این همه هنوز در حال توسعه و بهینه سازی است تا تا حد امکان کارآمد باشد.
روند پیاده سازی بلاک چین
انجام پروژه متلب در فریلنس پروژه
چندین سال طول کشید تا آنچه را که اکنون به عنوان بلاک چین داریم به دست آوریم. ارز دیجیتال بیت کوین با وعده کاهش هزینه و سرعت بخشیدن به فرآیندهای پس از معامله، بلاک چین را به عنوان دفتر کل توزیع شده تراکنش ها و مالکیت دارایی که توسط شبکه ای از رایانه ها از طریق اینترنت مدیریت می شود، ایجاد کرد.
برای درک بهتر این تکامل، بیایید نگاهی به نحوه انجام کارها در گذشته بیندازیم. در زمان های قدیم (دهه 70)، شرکت ها معاملات خود را با استفاده از کارت پانچ - یک تکه کاغذ سخت که داده های دیجیتال را با وجود و عدم وجود سوراخ در آن نشان می داد - و ذخیره سازی نوار مغناطیسی - یک نوار فیلم بلند و باریک برای مغناطیسی پردازش می کردند. ذخیره سازی. داده ها به صورت متوالی خوانده شد و در قالب QSAM ذخیره شد. و درست مانند داده های بلاک چین که می توان ایجاد و خواند. سپس سیستم های پایگاه داده اولیه مانند IBM IMS و سپس SQL توسط محققان IBM آمد. سپس انقلاب منبع باز باعث پدید آمدن پشته های فناوری توسعه وب شد که دنیایی را ایجاد کرد که ما در آن زندگی می کنیم مجهز به وب.
بلاک چین تنها برای پیشبرد دوره اختلالات فناوری طبیعی است. با این حال، ابتدا باید در پارادایم توسعه موجود ادغام شود و این در حال حاضر اتفاق افتاده است. چارچوب های جاوا اسکریپت برای ساخت کیف پول های رمزنگاری مانند Ether.js و web3.js وجود دارد.
با ادامه این اختلال، سیاست گذاران در سراسر جهان چاره ای جز از دست دادن کنترل مقررات در بلاک چین نخواهند داشت. برخی کشورها مدت هاست که سیاست خود را در قبال بانکداری باز اصلاح کرده اند. در بریتانیا، بانکها و ارائهدهندگان پول الکترونیکی باید به اشخاص ثالث اجازه دسترسی به دادههای مشتریان - مصرفکنندگان و کسبوکارها را از طریق APIهای باز (واسطهای برنامهنویسی کاربردی) بدهند. این به استارتآپها اجازه میدهد تا خدماتی را بر روی بلاک چین ایجاد کنند که به شما به عنوان یک مصرفکننده اجازه میدهد تا امور مالی خود را با هزینه کم مدیریت کنید. مسدود کردن
فناوری ها و خدمات مبتنی بر زنجیره، چشم انداز معاملات را تغییر خواهند داد.
نتیجه
طراحان لوگو در فریلنس پروژه
برای امروز کافی است! امیدوارم از خواندن آن لذت برده باشید (مخصوصاً اگر اهل فن آوری هستید) همانطور که من از نوشتن آن لذت بردم. اگر احساس سخاوتمندی می کنید و می خواهید حمایت خود را نشان دهید، می توانید این کار را با اشتراک گذاری خبرنامه یا خرید یک تکه پیتزا انجام دهید.
هفته آینده می بینمت! من در مورد انواع شبکه های بلاک چین صحبت خواهم کرد
کاوش فلاسک و ادغام API خارجی - برنامه هواشناسی Flask
Flask: توسعه وب، یک قطره در یک زمان.
(منبع)
در این راهنما، ما چارچوب وب محبوب Python Flask و ادغام یک API شخص ثالث را بررسی خواهیم کرد. اگر در دنیای توسعه وب تازه وارد هستید و می خواهید یک برنامه کاربردی ساده با تنظیمات کمی ایجاد کنید، چارچوب Flask مکان خوبی برای شروع است.
الزامات و راه اندازی
انجام پروژه در فریلنس پروژه
پایتون 3.7+
هر IDE سازگار با پایتون (کد ویژوال استودیو، PyCharm و غیره)
یک کلید OpenWeatherMap API دریافت کنید
اگر ترجیح می دهید با استفاده از کد منبع پروژه را دنبال کنید، می توانید آن را در GitHub اینجا پیدا کنید: https://github.com/gabriellemwhite/flask-weather-app
مرحله 1: نصب فلاسک
سفارش ساخت سایت در فریلنس پروژه
برای شروع، یک پوشه پروژه و یک venvfolder در داخل ایجاد کنید:
mkdir myproject
cd myproject
py -3 -m venv venv
سپس باید محیط مجازی خود را با موارد زیر فعال کنید:
venv\Scripts\activate
در محیط فعال شده، از دستور زیر برای نصب Flask استفاده کنید:
Pip install Flask
مرحله 2: ایجاد برنامه
اکنون که برنامه خود را ایجاد کرده اید و Flask را نصب کرده اید، ما فایلی را در پوشه پروژه با کد boilerplate زیر ایجاد و ذخیره می کنیم. برای این مثال، نام آن را app.py می گذاریم:
# app.py
# importing Flask class from flask module
from flask import Flask# creating an instance of Flask class
app = Flask(__name__)# use the route decorator to tell Flask what URL should trigger our function
@app.route('/')# function returns the message "Hello World!" on user's browser
def hello_world():
return 'Hello World!'# runs the flask application using the app.run method
if __name__ == '__main__':
app.run()
سپس باید بتوانید با اجرای دستور زیر در خط فرمان خود، این را به صورت محلی بر روی رایانه خود اجرا کنید:
$ python app.py
طراحان لوگو در فریلنس پروژه
سپس یک وب سرور محلی را در رایانه شما راه اندازی می کند و می توانید با باز کردن http://127.0.0.1:5000/ یا http://localhost:/5000 به آن دسترسی پیدا کنید. شما باید چیزی مشابه در زیر ببینید:
پیش نمایش مرورگر با نمایش "Hello World!"
پیش نمایش مرورگر با نمایش "Hello World!"
مرحله 3: مسیریابی نماها
اکنون که اصول ایجاد یک اپلیکیشن مینیمال در Flask را فهمیدیم، به مسیریابی و برگرداندن فایل های HTML خواهیم پرداخت.
به دایرکتوری پروژه خود بروید و یک پوشه /templates و /static ایجاد کنید. پوشه templates فایلهای HTML شما را نگه میدارد در حالی که پوشه استاتیک شما فایلهای یک ظاهر طراحی شده مانند CSS و تصاویر شما را نگه میدارد.
در پوشه templates خود یک فایل HTML به نام index.html و weather.html ایجاد کنید. در پوشه استاتیک خود، یک شیوه نامه CSS به نام styles.css ایجاد کنید. برای آموزش، من هیچ استایلی را به HTML اضافه نمی کنم. شما می توانید استایلی را که من در کد منبع خود استفاده کردم در GitHub پیدا کنید.
انجام پروژه متلب در فریلنس پروژه
اکنون app.pyfile را برای مسیریابی به این فایلهای HTML جدید اضافه میکنیم:
# import Flask
from flask import Flask, request, render_templateimport os, requests# python-dotenv reads key-value pairs from a .env file and sets them as environment variables
from dotenv import load_dotenv
load_dotenv()app = Flask(__name__)# route decorator to bind the index function
@app.route('/', methods = ["GET", "POST"])
def index():
# pulls information from the server
if(request.method == 'GET'):
# return index.html to the server
return render_template("index.html")# sends the form data inputted by the user to the server
elif(request.method == 'POST'):
# get user inputted values for zip code and country code
user_zipcode = request.form.get("zip")
user_country_code = request.form.get("country_code")
# send request to openweathermap API
openweather = requests.get("https://api.openweathermap.org/data/2.5/weather?zip={},{}&appid={}&units=imperial".format(user_zipcode, user_country_code, os.environ.get("API_KEY")))
# return weather.html to the server
return render_template('weather.html', weather=openweather.json())# pass the zipcode and country code as keyword arguments
@app.route('/<zip>/<code>', methods = ["GET", "POST"])
def openweather_api():# send request to openweathermap API
openweather = requests.get("https://api.openweathermap.org/data/2.5/weather?zip={},{}&appid={}".format(user_zipcode, user_country_code, os.environ.get("API_KEY")))
# test openweather API
print(openweather.json())# run the application
if __name__ == '__main__':
# debug set to true for testing
app.run(debug=True)
معمولاً بهترین روش ذخیره کلیدهای API در یک فایل .env و تنظیم آنها به عنوان متغیرهای محیطی برای اهداف امنیتی است. من این کار را در بالا با استفاده از ماژول پایتون python-dotenv انجام می دهم.
مرحله 4: ایجاد نماها
ما اکنون آماده شروع کار بر روی صفحات HTML خود هستیم که از app.py هدایت می شوند.
در فایل index.html کد زیر را اضافه کنید:
<!DOCTYPE html>
<html lang="en"><head>
<title>Flask Weather App</title></head>
<body><form action="/" method="POST">
<h4>Flask Weather App</h4><label for="zipcode">Zipcode:</label>
<input type="text" id="zip" name="zip" placeholder="Enter zipcode" />
<label for="country_code">Country Code (Ex. US, UK):</label>
<input type="text" id="country_code"name="country_code" placeholder="Enter country code" />
<button type="submit" id="openweather_api">Enter</button>
</form></body>
</html>
این صفحه HTML خانه فرمی است که به کاربران امکان می دهد کد پستی و کد کشور و POSTit خود را به سرور وب وارد کنند. این همان چیزی است که برای بازیابی اطلاعات آب و هوای محلی شما به درخواست OpenWeatherMap API ارسال می شود.
در مرحله بعد، صفحه داده های آب و هوای بازیابی شده از درخواست API را نمایش می دهد. اجازه دهید ابتدا ببینیم وقتی که OpenWeatherMap API را درخواست می کنیم چه اتفاقی می افتد:
نمونه پاسخ JSON از OpenWeatherMap API
درخواست API با استفاده از درخواستهای ماژول پایتون انجام میشود و با JSON بازگردانده میشود، که میتواند پاسخ را در فایل app.py بخواند.
بعداً روی فایل weather.html کار خواهیم کرد. از آنجایی که ما از ماژول render_template Flask استفاده می کنیم، از یک جداکننده خاص برای دسترسی به متغیرهای ذخیره شده در پاسخ JSON استفاده خواهیم کرد. برای مثال، شی ای که کد کشور را در شیء تو در تو sys ذخیره می کند، به شکل زیر است:
{{weather.sys.country}}
در فایل weather.html کد زیر را اضافه کنید:
# weather.html<!DOCTYPE html>
<html lang="en">
<head>
<title>Flask Weather App</title>
</head><body>
<img src="http://openweathermap.org/img/wn/{{weather.weather[0].icon}}@2x.png" width="150px"><h5> Weather in {{weather.name}}, {{weather.sys.country}}</h5><p> Description: {{ weather.weather[0].description.title() }}</p>
<p> Current Temperature: {{weather.main.temp}}°</p>
<p> Feels Like: {{weather.main.feels_like}}°</p>
<p> Wind: {{weather.wind.speed}}mph</p>
<p> Humidity: {{weather.main.humidity}}%</p>
<p> Pressure: {{weather.main.pressure}}mB</p>
<p> Latitude: {{ weather.coord.lat }}°</p>
<p> Longtitude: {{ weather.coord.lon }}°</p><button type="submit" class="btn btn-primary btn-block" onclick="history.back()">Back</button></body>
</html>
برای آموزش، من هر سبکی را در HTML حذف کردم، اما میتوانید آنچه را که من از کد منبع خود برای پروژه استفاده کردم را در اینجا بیابید.
پس از یک استایل ساده، برنامه وب Flask شما باید چیزی شبیه به این را انجام دهد!
پیش نمایش مرورگر برای index.html
پیش نمایش مرورگر برای weather.html
از اینکه در این سفر از طریق ایجاد یک برنامه وب مینیمال Flask به من ملحق شدید متشکرم! به راحتی می توانید سوالات خود را در زیر بپرسید یا مشکلی را در اینجا به پروژه GitHub ارسال کنید.
انجام پروژه پایتون
CRUD با Firebase Firestore | فلاتر | داستان AM
هنر AkarMoon BitMap: Yin Yan Firebase Web Android Youtube Flutter
منبع:
Firebase Firestore CRUD | فلاتر | توسعه دهندگان Firebase (medium.com)
انجام پروژه در فریلنس پروژه
Firebase یکی از محبوب ترین BaaS است که در توسعه برنامه های تلفن همراه استفاده می شود. خدمات مختلفی را برای توسعه اپلیکیشن موبایل ارائه می دهد که در این مقاله Firebase Firestore به یکی از آنها خواهیم پرداخت. Firestore به شما امکان آپلود و بازیابی اطلاعات را با دستورات بسیار کوتاه و ساده می دهد.
من قصد دارم این برنامه Schedular را بسازم (مانند برنامه زمانبندی درس) تا عملیات Firestore CRUD (ایجاد حذف بهروزرسانی خواندنی) را نشان دهد.
بیایید با ایجاد یک پروژه Firebase شروع کنیم. اگر برای ساخت پروژه در Firebase به کمک نیاز دارید، می توانید آن را در اینجا بررسی کنید:
شروع به کار با Cloud Firestore | Firebase (google.com)
شما را از طریق آن راهنمایی می کند.
حال شما خوب است؟ خوب! بیایید مجموعه کتابخانه خود را اضافه کنیم.
بسته های بسته کتابخانه Kumpulan
بسته های کتابخانه را از طریق فایل pubspec.yaml اضافه کنید:
firebase_core: ^1.19.2
cloud_firestore: ^3.3.0
مقدار دهی اولیه کنید
در مرحله بعد، پروژه Firebase خود را مقداردهی اولیه می کنیم.
در تابع اصلی یک تابع async (ناهمزمان) ایجاد کنید و قبل از تابع runApp() یک خط اضافه کنید:
WidgetsFlutterBinding.ensureInitialized();await Firebase.initializeApp(گزینه ها: DefaultFirebaseOptions.currentPlatform,);
تابع WidgetsFlutterBinding.ensureInitialized() برای تعامل با موتور Flutter استفاده می شود. فراخوانی می شود زیرا Firebase.initializeApp() باید کد بومی و اقدامات WidgetsFlutterBinding مانند کانال های پلتفرم نامیده شود.
اکنون که Firebase را مقداردهی اولیه کردیم، به سمت عملکرد عملیات CRUD در پایگاه داده Firestore خود می رویم.
ساختار DB برنامه زمان بندی شده (برنامه برنامه)
کلاس مدل ما
ایجاد/ایجاد/نوشتن
یک مجموعه فقط شامل مجموعه ای از محتویات سند است. یک سند می تواند شامل ستون ها و زیر مجموعه های دیگری باشد.
پایگاه داده ما از یک مجموعه ریشه واحد به نام "قرار ملاقات ها" ایجاد شده است و مجموعه اسناد مجزا از مجموعه قرارها را نشان می دهد.
برای نوشتن داده ها، با استفاده از این تابع از سمت کاربر قول می دهیم:
اما ما باید قبل از آپلود آن در Firestore از شناسه سند برای کلاس Appointment فرار کنیم، پس چگونه این کار را انجام دهیم؟ بیایید تابع bookSession (نشانک جلسه) خود را دوباره تعریف کنیم.
در خط 5، Firestore مجموعه ای به نام "قرار ملاقات" (Janju) ایجاد می کند و آن قرار را به عنوان یک سند با شناسه سند تولید شده به طور خودکار اضافه می کند. اگر آن مجموعه از قبل وجود داشته باشد، بدون مجموعه تکراری به سند اضافه می شود.
خواندن / خواندن
برای خواندن داده ها از Fitestore، از متد get() یا fetch استفاده می کنید.
db.collection("قراردادها").doc("FpS9NDSdMD2GeE9GL3i2").get().then(
(DocumentSnapshot doc) {
داده نهایی = doc.data() به عنوان Map<String, dynamic>;
//...
}،
onError: (e) => print("خطا در دریافت سند: $e")،
)
از آنجایی که می خواهیم رابط کاربری برنامه خود را به صورت بلادرنگ به روز کنیم، از StreamBuilder استفاده خواهیم کرد. بازیابی داده ها از Fitestore با استفاده از StreamBuilder کمی با خواندن با استفاده از متد get() متفاوت است.
ببینید در هنگام دریافت قرارهای بیدرنگ، قرار ملاقاتها را مستقیماً از کاربران چگونه میگیریم.
جریان getAppointments ما.
به روز رسانی / به روز رسانی
برای به روز رسانی داده ها در Firestore، از set() duplicate یا update() استفاده کنید.
برای کاربرانی که نیاز به بهروزرسانی جزئیات قرار ملاقات دارند، یک ویژگی ویرایش اضافه کردهام.
با استفاده از set()، ورودی داده در سند را با محتوای به روز شده به روز می کنیم.
با این حال، اگر بخواهیم محتویات را به صورت جداگانه به روز کنیم، به جای set() از update() استفاده می کنیم، بنابراین به نظر می رسد:
حذف/حذف
پایگاه داده Firestore به شما امکان می دهد اسناد، ستون ها و مجموعه ها را حذف کنید (اگرچه این کار توصیه نمی شود)
ما یک گزینه حذف برای موقعیت هایی ایجاد می کنیم که کاربر نظر خود را تغییر می دهد و تصمیم می گیرد قول خود را حذف کند. برای حذف یک وعده، سند را با این تابع از مجموعه حذف می کنیم:
ما سند را بر اساس شناسه سند به عنوان یک پارامتر در doc() قرار می دهیم. سپس delete() را فراخوانی کنید.
برای حذف یک ستون در یک سند، از نحو استفاده می کنیم:
یک فیلد را با استفاده از تابع FieldValue.delete حذف می کنیم و سپس سند را با استفاده از update() به روز می کنیم.
این مربوط به پوشش ویژگی برنامه ما و عملیات CRUD Firestore است. همیشه سعی میکنم تا حد امکان یک برنامه آزمایشی ساده بسازم تا بتوانیم روی موضوع تمرکز کنیم. با این حال، احساس آزادی ایجاد بر روی آن با ایجاد صفحات یا ویژگیهای بیشتر، به شما این امکان را میدهد که بیشتر در مورد Firestore تمرین کنید.
اگر سوال یا پیشنهادی دارید کامنت بگذارید.
کد منبع کامل را از اینجا بگیرید:
GitHub — iamIkay/schedular_app: برنامه زمانبندی ایجاد شده با Flutter و Firebase
شما را در فصل بعدی سری Firebase می بینیم.