برنامه نویسی از پایه
203 subscribers
46 photos
67 videos
8 files
75 links
کانال پشتیبان برنامه نویسی از پایه
آدرس کانال آپارات:
https://www.aparat.com/djangolearn
آدرس کانال یوتیوب:
https://www.youtube.com/c/DjangoLearn
Download Telegram
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت سی و هشتم - آشنایی با Flexbox و نرم افزار فیگما
لینک آپارات:
https://www.aparat.com/v/ZELsu
لینک یوتیوب:
https://youtu.be/ER2Q79amXZY
1
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت سی و نهم - ریفکتور کدهای HTML و CSS
لینک آپارات:
https://www.aparat.com/v/ujkRa
لینک یوتیوب:
https://youtu.be/7xwht_E39lE
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت چهلم - نصب جنگو و اولین پروژه

لینک آپارات:
https://aparat.com/v/Oh1k0
لینک یوتیوب:
https://youtu.be/rdtP_UVLulg
Media is too big
VIEW IN TELEGRAM
برنامه نویس از پایه قسمت چهل و یکم - ساخت اولین اپلیکیشن جنگو

لینک آپارات:
https://www.aparat.com/v/J3e8C
لینک یوتیوب:
https://youtu.be/ULiyFzLRMGo
👍2
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت چهل و دوم - فایل های استاتیک جنگو و متد GET

لینک آپارات:
https://aparat.com/v/VYNl8
لینک یوتیوب:
https://youtu.be/5aqJ8vNbmeA
👍2
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت چهل و سوم - لاگین با استفاده از متد GET

توی این ویدئو اول از همه. تغییراتی که ابوذر داده بود رو اعمال کردیم. بعدش با دیباگ و breakpoint آشنا شدیم و باهاش تونستیم کدمون رو دیباگ کنیم. با استفاده از متد GET اطلاعات ارسالی از فرم رو توی view مون نمایش دادیم و با استفاده از متد authenticate و متد login تونستیم توی جنگو لاگین کنیم. بعد از لاگین هم با متد redirect به صفحه ادمین رفتیم.

لینک آپارات:
https://aparat.com/v/M2kTr
لینک یوتیوب:
https://youtu.be/NopA_0axBFI
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت چهل و چهارم - لاگین با استفاده از متد POST

در این ویدئو ابتدا یکم در مورد CSRF و middleware های جنگو توضیح میدم. بعدش میریم و چندتا عکس توی گوگل در مورد این attack می بینیم. و در حین این توضیحات یکم با cookie ها آشنا میشیم. و بالاخره با csrf_token جنگو و نحوه کارکردش آشنا میشیم و با فرمی که داریم لاگین می کنیم. این ویدئو به مشکل عجیبی خوردیم که باعث شد حدودا ۲۲ دقیقه بشه :)

لینک آپارات:
https://aparat.com/v/hsbai
لینک یوتیوب:
https://youtu.be/JOZpNeLZJ4E
👍1
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت چهل و پنجم - ارث بری از Form جنگو


توی این ویدئو با ولیدیشن های client side آشنا شدیم. بعدش رفتیم سراغ فرم ها در جنگو و با ارث بری از کلاس Form یک فرم جنگو ایجاد کردیم. در ادامه با متد is_valid آشنا شدیم و با breakpoint کد رو trace کردیم. در انتهای آموزش یکم با مزیت های فرم های جنگو آشنا شدیم و قرار شد جلسه بعدی استایل فرم جنگو رو درست کنیم.

لینک آپارات:
https://www.aparat.com/v/T6yVo
لینک یوتیوب:
https://youtu.be/pDrCMRWs1gQ
👍3
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت چهل و ششم - استایل دهی به فرم جنگو

در ابتدای این ویدئو با ویجت های جنگو و PasswordInput آشنا شدیم. بعدش رفتیم سراغ کاستوم کردن ظاهر فرم های جنگو با راهنمایی گرفتم از داکیومنت Django. در ادامه آموزش یاد گرفتیم که چطور attr به widget ها اضافه کنیم و با این روش class برای input ها اضافه کردیم تا استایل دهی انجام بشه. همچنین یاد گرفتیم توی جنگو چطور کدهای html رو کامنت کنیم. در خلال آموزش با مفهوم context هم آشنا شدیم و در ادامه هم با حلقه for در template های جنگو کار کردیم. در انتهای ویدئو هم ایراد کدهامون رو پیدا کردیم و تونستیم خطاهای فرم رو نمایش بدیم. برای نمایش خطاهای فرم از novalidate در فرم ها استفاده کردیم.

لینک آپارات:
https://www.aparat.com/v/Jzne6
لینک یوتیوب:
https://youtu.be/zCS0Exuby0c
👍2
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت چهل و هفتم - کاستوم کردن validation

توی این ویدئو اول ظاهرا خطاهارو درست کردیم و با فیلتری به اسم striptags آشنا شدیم و تونستیم ظاهر خطاها رو بهتر کنیم. بعد از اون متن خطاهارو کاستوم کردیم و با error_messages آشنا شدیم. در ادامه view جدیدی به اسم signup ساختیم و با HttpResponse جنگو هم آشنا شدیم. بعد از اون با پارامتر name در url ها آشنا شدیم و مزیت استفاده اش رو یاد گرفتیم. در انتهای آموزش هم با متد reverse آشنا شدیم و ازش استفاده کردیم.

لینک آپارات:
https://www.aparat.com/v/63a1c
لینک یوتیوب:
https://youtu.be/g297BS6tEm4
👍1
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت چهل و هشتم - دیتابیس چیست

در ابتدای این ویدئو برای ما سوال بود که اطلاعات کاربرها کجا ذخیره می شوند. پس به مفهومی به اسم دیتابیس رسیدیم و یکم در موردش سرچ کردیم. توی سرچ هامون با دیتابیس و نرم افزارهای DBMS آشنا شدیم و با اسم چند تا نرم افزار DBMS مثل SQL Server, PostgreSql, MySql, Oracle و... آشنا شدیم. در ادامه با SQLite هم آشنا شدیم و فهمیدیم که برای توسعه خیلی پر استفاده است و جنگو به صورت پیشفرض ازش استفاده می کنه. با نرم افزار DB Browser for SQLite دیتابیسمون رو باز کردیم و با جداول پیشفرض جنگو یکم آشنا شدیم. در ادامه با ارث بری از ModelForm دیدیم که جنگو چقدر راحت برای ما فرم ثبت نام رو ایجاد میکنه.

لینک آپارات:
https://www.aparat.com/v/r5IBe
لینک یوتیوب:
https://youtu.be/8KKy_QoCjyk
👍3
Forwarded from جنگولرن
این متن بخشی از یک پست از کانال @pytens هست، خوشحال میشم نظر خودتون رو بگید (مهم نیست خودتون در چه سطحی هستید):

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

بعد از من پرسید بنظر شما که چندین سال هست توی این کار مشغول هستی چطور میشه فهمید یک نفر برنامه‌نویس خوبی میشه در نهایت یا نه !؟

نظرتون رو کامنت کنید یا خصوصی برای @miladhzz بفرستید. تشکر
👍1👎1
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت چهل و نهم - ظاهر فرم Register

ابتدای این ویدئو حین کار کردن با fields در model form نکته ای در مورد tuple ها یاد گرفتیم. بعدش یاد گرفتیم که چطور فیلدهای مشخصی رو فقط توی خروجی فرم نمایش بدیم. بعدش رفتیم سراغ تغییر label فیلد های فرم. بعد از اون help_texts مربوط به username رو حذف کردیم. بعدش خواستیم tool tip اضافه کنیم که یادم رفت. جلسه بعد ان شاالله اوکی اش میکنیم. در ادامه توی modelForm از widget استفاده کردیم و کلاس های مخصوص خودمون رو به فیلدها دادیم. این جلسه مثل یه کار واقعی بود و همه چیز رو تقریبا سرچ کردیم.

لینک آپارات:
https://www.aparat.com/v/qm2eP
لینک یوتیوب:
https://youtu.be/wcL7r5CIi4s
👍3
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت پنجاهم - تابع هش چیست

اوایل این قسمت سیستمم قاطی کرده بود و صدا یکم خرابه، لذا عذرخواهی میکنم. همون اوایل tooltip رو اضافه کردیم به فرم و با استفاده از help_text فرم ها تونستیم این قابلیت رو اضافه کنیم. بعدش رفتیم سراغ تکمیل کد ذخیره کاربر در ویو signup و با متد save آشنا شدیم. دیدم که کاربر ساخته شده نمیتونه لاگین کنه چون پسوردش hash نشده بود. پس اول رفتیم یکم در مورد هش یاد گرفتیم و بعدش با استفاده از متد make_password مشکل رمزهای هش نشده رو اوکی کردیم.

لینک آپارات:
https://www.aparat.com/v/ZMqgn
لینک یوتیوب:
https://youtu.be/0gAVoLWFP5g
👍4
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت پنجاه و یکم - ساخت اولین ریپازیتوری

توی این قسمت در مورد سورس کنترل یا ورژن کنترل ها تحقیق کردیم و یکم تاریخچه شون رو بررسی کردیم. فهمیدیم که SVN و Git و TFS و... وجود داره. بعدش در مورد گیت هاب و گیت لب هم مطالعه کردیم. در ادامه برای اینکه یه محیط واقعی رو شبیه سازی کنیم git رو روی یک ویندوز۷ نصب کردیم و از صفر شروع کردیم به کار با گیت. بعدش با git gui و git bash آشنا شدیم. در ادامه ریپازیتوری خودمون رو به اسم basic-programming ساختیم و با فایل gitignore هم آشنا شدیم. بعدش رفتیم سراغ ریموت شدن به یه ریپازیتوری و دیدم که یکم سخته. لذا آسون ترین روش رو استفاده کردیم و کدهامون رو به گیت وصل کردیم. خیلی مختصر با دستور clone و status و commit و push هم آشنا شدیم و در ادامه گیت رو توی پایچارم فعالسازی کردیم. در نهایت تغییراتی روی پروژه اعمال کردیم و commit و push کردیم. یه بار هم از دستور revert استفاده کردیم و در نهایت rollback رو هم یاد گرفتیم.

لینک آپارات:
https://www.aparat.com/v/YSyCg
لینک یوتیوب:
https://youtu.be/yQ9v9fkdMDM
👍4
Forwarded from جنگولرن
آیا همیشه بهتره از آخرین نسخه پایتون برای همه پروژه ها استفاده کنیم؟
نظر چند تا از دوستان با تجربه در این مورد:

✔️یکسری پکیج هایی که اپدیت ندادن از ۳.۹ به ۳.۱۰ نیاز به یکسری تغییرات ریز دارن که باید فورک کنی دستی اپدیت کنی. ولی من خودم از ۳.۱۰ استفاده میکنم همه جا

✔️چون رو ۳.۱۰ یک تایمی انقدر سر پکیج ها ارور خوردم اومدم ۳.۹ همچی اوکی بود و اینکه الان دیفالت ۳.۱۰ وصله اوکی، ولی قدیمی ها روی ۳.۸ و ۳.۹ موندن دیگ

✔️تقریبا تمام پروژه هایی که تجاری هستن پایتون ۳.۸ و ۳.۹ استفاده میکنم. پروژه های استارتاپی و شخصی و ... آخرین نسخه پایتون (فکرکنم ۳.۱۱) برای من اینطوریه. روی همین ۳.۸ و ۳.۹ تا حالا چندین بار سر package conflict سرویس شدیم جرات نداریم بالاتر ببریم توی پروژه هایی که حساسن

🙏🏻 شما هم نظر خودتون رو بدید (خصوصی هم بگید اوکیه). نظرات بقیه رو هم به کامنت ها اضافه میکنم
👍1
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت پنجاه و دوم - ignore کردن فایل commit شده

در شروع این ویدئو میخواستیم ببینم که جلسه قبل چکار کردیم که با مشکل پوش شدن تنظیمات pycharm مواجه شدیم. یعنی تنظیمات پایچارم روی سیستم خودمون داشت به گیت منتقل میشد و ایرادش توی کار تیمی مشخص میشه. ابتدا تلاش کردیم که به gitignore اضافه اش کنیم. ولی مشکل همچنان وجود داشت. برای رفع این مشکل با دستوراتی مثل git status, git rm --cached, git commit, git push, git pull , git add آشنا شدیم. بعدش یاد گرفتیم چطور از سایت گیت هاب فایل حذف کنیم و کامیت کنیم. در ادامه یا گرفتیم که چه وقتهایی باید کامیت کنیم و چه فایل هایی رو باید با همدیگه commit کنیم. یه اشاره هایی هم به branch و merge داشتیم و فهمیدیم که شرکت های برنامه نویسی برای مدیریت پروژه و نحوه commit کردن ها، اصول خودشون رو دارن. در انتهای ویدئو هم یه باگ رو برطرف کردیم.

لینک آپارات:
https://www.aparat.com/v/Yl0gC
لینک یوتیوب:
https://youtu.be/ewHoQZw_1m4
👍3
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت پنجاه و سوم - ارث بری template در جنگو

در ابتدای این ویدئو توی سایت w3schools لاگین کردم و پروفایل و بقیه قسمت های دیگه اش رو بررسی کردم. توی این بررسی با مفهوم sub-domain آشنا شدیم. بعد از اون رفتیم توی داکیومنت های جنگو و در مورد template inheritance یا ارث بری تمپلت ها در جنگو مطالعه کردیم و در ادامه یه فایل html با اسم account_base.html ساختیم و تمپلت های لاگین و ثبت نام رو طوری تغییر دادیم که از این تمپلت ارث بری کنن و در ادامه همین کار با مفهوم extends و block هم آشنا شدیم. البته حین اعمال این تغییرات خودم یکم قاطی کردم ولی زود متوجه داستان شدم :)

لینک آپارات:
https://aparat.com/v/Avjl3
لینک یوتیوب:
https://youtu.be/jj_GMTkd9EI
👍2
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت پنجاه و چهارم- مدل OSI چیست

این قسمت بهراد آنلاین شد و فرمون رو دستش گرفت. ابتدای ویدئو فهمیدیم چرا برنامه نویس وب باید مفاهیم وب و شبکه و... رو بدونه. و در مورد کلمه پروتکل یاد گرفتیم. بعدش در مورد انتزاع و صحبت کردیم و بهراد خیلی خوب توضیح اش داد. در ادامه اشاره ای به شی گرایی هم داشتیم. بعدش در مورد مدل osi و هفت لایه اش صحبت کردیم. و بهراد همه لایه هارو توضیح داد. بعدش در مورد HTTP و تاریخچه اش صحبت کردیم و بهراد در مورد RFC توضیح داد. در انتهای ویدئو هم در مورد مفهوم client-server صحبت کردیم و ساختار یک رکوئست http رو قرار شد جلسه بعدی در موردش صحبت کنیم.

لینک آپارات:
https://www.aparat.com/v/ZU7wC
لینک یوتیوب:
https://youtu.be/LIcrl3evr94
👍3
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت پنجاه و پنجم - ساختار HTTP Request

این قسمت هم بهراد (@TadavomnisT_channel) پشت فرمون بود و ابتدای جلسه کتاب Computer Networking: A Top Down Approach رو معرفی کرد. در ادامه شروع کرد ساختار یک رکوئست HTTP رو توضیح داد حین توضیحاتش Metadata هم به صورت عملی توضیح داد و یه نکته امنیتی هم در موردش بهم گوشزد کرد. بعدش در مورد جزییات رکوئست توضیح داد و با line-feed charachter و carriage return charachter هم آشنا شدیم. بعدش جزییات Header هم ازش یاد گرفتیم.بعدش در مورد HTTP response توضیح داد و جزییاتش رو برامون شرح داد و یاد گرفتیم body توی response چیه. توی این قسمت بهراد بصورت عملی request و response رو بهم نشون داد. در ادامه در مورد مفهوم stateless بودن پروتکل http یاد گرفتیم و در ادامه خیلی جالب cookie و session رو هم توضیح داد. و حتی خطر cookie هم به ما توضیح داد. در ادامه اشاره هایی هم به non-persistent HTTP و persistent HTTP داشت. و در انتهای جلسه هم در مورد caching و get و post صحبت کردیم.
لینک آپارات:
https://aparat.com/v/6KTXu
لینک یوتیوب:
https://youtu.be/qexGg_FccoY
👍2
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت پنجاه و ششم - شروع به پیاده سازی منو W3Schools

ابتدای این قسمت توی سایت W3Schools لاگین کردم و بخش پروفایلش رو بررسی کردیم که قراره چه چیزی رو پیاده سازی کنیم. بعدش با استفاده از developer tools مرورگر کدهای سایت W3Schools رو بررسی کردیم که چطور منو و بخش های مختلف profile رو پیاده سازی کرده. متوجه شدیم که از flex box استفاده کرده و ما هم ازش استفاده می کنیم. توی این قسمت یکم در مورد قابلیت های HTML5 هم تحقیق کردیم و فهمیدم که بهتره از تگ هایی مثل header, footer, nav, section, article و ... استفاده کنیم تا موتورهای جستجوگر بهتر بتونن با سایت ما ارتباط برقرار کنن و توی نتایج اول گوگل باشیم. بعدش شروع به ساختن منو کردیم و با flex, flex-direction, flex-wrap, justify-content, gap و... هم توی css آشنا شدیم. البته فراموش کردیم که استایل هارو به فایل های css اضافه کنیم که توی جلسه بعدی درستش می کنم. ان شاالله

لینک آپارات:
https://www.aparat.com/v/9jyEn

لینک یوتیوب:
https://youtu.be/KEGESJT_hbo
👍2