Forwarded from 「 Mahi In Tech 」
یکی از مواردی که میتونه دید خیلی خوبی نسبت به سناریوهای مختلف توی پروژههای کوچیک و بزرگ بهتون بده و شما رو به مهندس بهتری تبدیل کنه نه صرفا کدنویس، مطالعهی tech blog شرکتهای بزرگ هست؛ حالا چه ایرانی و چه خارجی. معمولا تجربیات و مقالات ارزشمندی بینشون پیدا میشه.
در ادامه لیستی از مقالات تخصصی و فرانتاندی شرکت PayPal رو که توسط Soheib Kiani معرفی شده بود قرار دادم:
🔻 چطور PayPal Checkout اپلیکیشن frontend خودش رو مقیاسپذیر کرد؟
https://bluepnume.medium.com/sane-scalable-angular-apps-are-tricky-but-not-impossible-lessons-learned-from-paypal-checkout-c5320558d4ef
🔻 PayPal درباره Dependency injection چه نظری داره؟
https://bluepnume.medium.com/dependency-injection-in-angular-isn-t-worth-it-more-lessons-learned-from-scaling-paypal-checkout-2189ec9c21a0
🔻 کاهش 1000 دکمه PayPal به iFrame
https://bluepnume.medium.com/less-is-more-reducing-thousands-of-paypal-buttons-into-a-single-iframe-using-xcomponent-d902d71d8875
🔻 درخواستهای cross-origin بدون CORS
https://bluepnume.medium.com/reinventing-cross-origin-requests-without-cors-b9c4cb645376
🔻 چرا اپلیکیشن وب جدید در PayPal از Typescript استفاده میکنه؟
https://medium.com/@kentcdodds/why-every-new-web-app-at-paypal-starts-with-typescript-9d1acc07c839
🔻 مقیاسپذیری GraphQL در PayPal
https://medium.com/paypal-tech/scaling-graphql-at-paypal-b5b5ac098810
🔻 کامپوننتهای UI قابل اشتراکگذاری PayPal در سطح Enterprise
https://medium.com/paypal-tech/reusing-ui-components-at-enterprise-level-a7df1ea1f8dd
🔻 اپلیکیشنهای PayPal معماری Microfrontend رو دنبال میکنند
https://medium.com/paypal-tech/how-micro-frontend-has-changed-our-team-dynamic-ba2f01597f48
🔻 توضیح PayPal درباره پذیرش GraphQL
https://medium.com/paypal-tech/graphql-at-paypal-an-adoption-story-b7e01175f2b7
🔻 داستان موفقیت PayPal Checkout
https://medium.com/paypal-tech/graphql-a-success-story-for-paypal-checkout-3482f724fb53
#PayPal #FrontEnd
در ادامه لیستی از مقالات تخصصی و فرانتاندی شرکت PayPal رو که توسط Soheib Kiani معرفی شده بود قرار دادم:
https://bluepnume.medium.com/sane-scalable-angular-apps-are-tricky-but-not-impossible-lessons-learned-from-paypal-checkout-c5320558d4ef
https://bluepnume.medium.com/dependency-injection-in-angular-isn-t-worth-it-more-lessons-learned-from-scaling-paypal-checkout-2189ec9c21a0
https://bluepnume.medium.com/less-is-more-reducing-thousands-of-paypal-buttons-into-a-single-iframe-using-xcomponent-d902d71d8875
https://bluepnume.medium.com/reinventing-cross-origin-requests-without-cors-b9c4cb645376
https://medium.com/@kentcdodds/why-every-new-web-app-at-paypal-starts-with-typescript-9d1acc07c839
https://medium.com/paypal-tech/scaling-graphql-at-paypal-b5b5ac098810
https://medium.com/paypal-tech/reusing-ui-components-at-enterprise-level-a7df1ea1f8dd
https://medium.com/paypal-tech/how-micro-frontend-has-changed-our-team-dynamic-ba2f01597f48
https://medium.com/paypal-tech/graphql-at-paypal-an-adoption-story-b7e01175f2b7
https://medium.com/paypal-tech/graphql-a-success-story-for-paypal-checkout-3482f724fb53
#PayPal #FrontEnd
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
✅پیاده سازی sitemap در فروشگاه جنگو
توی این ویدئو یاد می گیریم sitemap چی هست و چه تاثیری روی SEO سایت میتونه داشته باشه.
همچنین روش پیاده سازی سایت مپ در پروژه جنگویی رو یاد میگیریم.
با تنظیمات و فیچرهای مختلف sitemap هم آشنا میشیم
و همچنین داستان SITE_ID = 1 رو متوجه میشیم که چرا باید مقدارش عدد یک باشه
لینک آپارات:
https://www.aparat.com/v/tuoj1xx
لینک یوتیوب:
https://youtu.be/zmj8CdpABbM
این ویدئو بخشی از آپدیت دوره فروشگاه جنگو ع
توی این ویدئو یاد می گیریم sitemap چی هست و چه تاثیری روی SEO سایت میتونه داشته باشه.
همچنین روش پیاده سازی سایت مپ در پروژه جنگویی رو یاد میگیریم.
با تنظیمات و فیچرهای مختلف sitemap هم آشنا میشیم
و همچنین داستان SITE_ID = 1 رو متوجه میشیم که چرا باید مقدارش عدد یک باشه
لینک آپارات:
https://www.aparat.com/v/tuoj1xx
لینک یوتیوب:
https://youtu.be/zmj8CdpABbM
این ویدئو بخشی از آپدیت دوره فروشگاه جنگو ع
Media is too big
VIEW IN TELEGRAM
✅گفتگو با نیما جمشیدی Database admin
🎧ویس این ویدئو:
https://www.tg-me.com/telegram/com.djangolearn_ir/986
سوالاتی که از نیما پرسیدم:
-دبیرستان بودید یا هنرستان؟ چه رشته ای؟ به نظر شما هنرستان خوبه یا دبیرستان؟
-چه شرکت هایی کار کردید و چه سمتی داشتید؟
-توی حوزه کار خودتون بزرگترین دستاورد یا خفن ترین کاری که کردید چی بوده؟
-آیا مدرسه، دانشگاه میتونه به db admin خوب شدن کمک کنه؟
-آیا تخصص شما هم برنامه نویسی حساب میشه
-اگر برگردید عقب برنامه نویسی رو انتخاب می کنید یا dbadmin یا اصلا چیز دیگه ای؟
-اگه فقط دستورات sql بلد باشیم میتونیم همکار شما بشیم؟
-آیا sql server قوی ترین نرم افزار مدیریت دیتابیس ع؟
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتن
-اگه تو این دوره هم سن ما بودن چه شاخه ای رو برای ادامه تحصیل در دانشگاه انتخاب میکردن که بازار کار خوبی هم داشته باشه
-به نظر شما یه db admin چه ویژگی هایی باید داشته باشه که بهش بگیم حرفه ای؟
لینک ویدئو در آپارت:
https://www.aparat.com/v/elax9bc
لینک یوتیوب:
https://youtu.be/5ZEEfvjpQeo
🎧ویس این ویدئو:
https://www.tg-me.com/telegram/com.djangolearn_ir/986
سوالاتی که از نیما پرسیدم:
-دبیرستان بودید یا هنرستان؟ چه رشته ای؟ به نظر شما هنرستان خوبه یا دبیرستان؟
-چه شرکت هایی کار کردید و چه سمتی داشتید؟
-توی حوزه کار خودتون بزرگترین دستاورد یا خفن ترین کاری که کردید چی بوده؟
-آیا مدرسه، دانشگاه میتونه به db admin خوب شدن کمک کنه؟
-آیا تخصص شما هم برنامه نویسی حساب میشه
-اگر برگردید عقب برنامه نویسی رو انتخاب می کنید یا dbadmin یا اصلا چیز دیگه ای؟
-اگه فقط دستورات sql بلد باشیم میتونیم همکار شما بشیم؟
-آیا sql server قوی ترین نرم افزار مدیریت دیتابیس ع؟
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتن
-اگه تو این دوره هم سن ما بودن چه شاخه ای رو برای ادامه تحصیل در دانشگاه انتخاب میکردن که بازار کار خوبی هم داشته باشه
-به نظر شما یه db admin چه ویژگی هایی باید داشته باشه که بهش بگیم حرفه ای؟
لینک ویدئو در آپارت:
https://www.aparat.com/v/elax9bc
لینک یوتیوب:
https://youtu.be/5ZEEfvjpQeo
Audio
🎧ویس گفتگو با نیما جمشیدی Database admin
سوالاتی که از نیما پرسیدم:
-چند سال دارید؟
-دبیرستان بودید یا هنرستان؟ چه رشته ای؟ به نظر شما هنرستان خوبه یا دبیرستان؟
-دانشگاه چی خوندید؟
-چه شرکت هایی کار کردید و چه سمتی داشتید؟
-توی حوزه کار خودتون بزرگترین دستاورد یا خفن ترین کاری که کردید چی بوده؟
-آیا مدرسه، دانشگاه میتونه به db admin خوب شدن کمک کنه؟
-آیا تخصص شما هم برنامه نویسی حساب میشه
-اگر برگردید عقب برنامه نویسی رو انتخاب می کنید یا dbadmin یا اصلا چیز دیگه ای؟
-اگه فقط دستورات sql بلد باشیم میتونیم همکار شما بشیم؟
-آیا sql server قوی ترین نرم افزار مدیریت دیتابیس ع؟
-اشتباهی که کردید و اگه برگریدید عقب مرتکبش نمیشید چیه?
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتن
-الگوی شما تا اینجای کار چه کسی بوده ؟
-اگه تو این دوره هم سن ما بودن چه شاخه ای رو برای ادامه تحصیل در دانشگاه انتخاب میکردن که بازار کار خوبی هم داشته باشه
-به نظر شما یه db admin چه ویژگی هایی باید داشته باشه که بهش بگیم حرفه ای؟
لینک ویدئوی این گفتگو:
https://www.tg-me.com/telegram/com.djangolearn_ir/985
سوالاتی که از نیما پرسیدم:
-چند سال دارید؟
-دبیرستان بودید یا هنرستان؟ چه رشته ای؟ به نظر شما هنرستان خوبه یا دبیرستان؟
-دانشگاه چی خوندید؟
-چه شرکت هایی کار کردید و چه سمتی داشتید؟
-توی حوزه کار خودتون بزرگترین دستاورد یا خفن ترین کاری که کردید چی بوده؟
-آیا مدرسه، دانشگاه میتونه به db admin خوب شدن کمک کنه؟
-آیا تخصص شما هم برنامه نویسی حساب میشه
-اگر برگردید عقب برنامه نویسی رو انتخاب می کنید یا dbadmin یا اصلا چیز دیگه ای؟
-اگه فقط دستورات sql بلد باشیم میتونیم همکار شما بشیم؟
-آیا sql server قوی ترین نرم افزار مدیریت دیتابیس ع؟
-اشتباهی که کردید و اگه برگریدید عقب مرتکبش نمیشید چیه?
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتن
-الگوی شما تا اینجای کار چه کسی بوده ؟
-اگه تو این دوره هم سن ما بودن چه شاخه ای رو برای ادامه تحصیل در دانشگاه انتخاب میکردن که بازار کار خوبی هم داشته باشه
-به نظر شما یه db admin چه ویژگی هایی باید داشته باشه که بهش بگیم حرفه ای؟
لینک ویدئوی این گفتگو:
https://www.tg-me.com/telegram/com.djangolearn_ir/985
Forwarded from PhiloLearn with ArshA
بریم با زبان سادهتر ببینیم چرا اختراعات AI دیپسیک همه رو انگشت به دهن گذاشته (و احتمالا مارکت کپ ۲ تریلیون دلاری انویددیا رو به خطر انداخته)
اول یکم زمینه رو توضیح بدیم: فعلا فرایند آموزش مدلهای AI به شدت پرهزینهست. انترپرایزهایی مثل OpenAI Anthropic و ... بیشتر از ۱۰۰ میلیون دلار فقط برای محاسبات خرج میکنن
پس نیاز به مراکز داده بسیار بزرگ با هزاران GPU چهل هزار دلاری دارن
انگار یه نیروگاه برق بسازی برای راهاندازی یک کارخونه
حالا DeepSeek اومده گفته «هه! اگه همه این کارها رو با ۵ میلیون دلار انجام دادم چی؟»
وحرف مفت هم نزده و واقعا این کار رو کرده!
مدل اونها توی تسکهای زیادی تونسته GPT-4 و Clause رو شکست بده
و این باعث شگفتی دنیای هوش مصنوعی شده!
چطور این کار رو کردن؟
همه چیز رو از اول بازاندیشی کردن. هوش مصنوعیهای سنتی مثل اینن که هر عدد رو با ۳۲ اعشار مینویسن.
دیپسیک گفته« خب چرا با ۸ تا ننویسیم؟ تقریبا همون قدر دقیقه!»
بوم! ۷۵٪ کاهش در حافظه مورد نیاز!
بعد رفتن سراغ سیستم Multi token
هوش مصنوعیهای نرمال مثل یه بچه کلاس اولی میخونن: « بابا .... نان .... داد»
ولی دیپسیک کل جمله رو یکجا میخونه با سرعت ۲ برابر و دقت ۹۰٪
وقتی قراره میلیاردها کلمه رو تحلیل کنی این خیلی مهمه!
ولی قسمت هوشمندانهشون اینه:
یه چیزی ساختن مثل «سیستم تخصص»
به جای اینکه یه AI غولآسا همه چیز رو بدونه (مثلا یه آدم که هم دکتر باشه هم مهندس، هم جامعهشناس و ... )، فقط از متخصصینی استفاده میکنن که در مواقع نیاز فراخوانی میشن
مدلهای نرمال سنتی؟
تمام ۱.۸ تریلیون پارامتر در لحظه فعالن
دیپسیک؟
۶۷۱ بیلیون در مجموع داره که ۳۷ بیلیونش در لحظه فعالن
مثل این میمونه که تیم بزرگی داشته باشی ولی فقط اونی رو صدا بزنی که الان برای یک کاری بهش نیاز داری
نتیجه حیرتانگیزه:
هزینه آموزش مدل: ۱۰۰ میلیون >> ۵ میلیون
تعداد GPU: صد هزار > دو هزار
هزینه API: نود و پنج درصد ارزونتر
میتونه روی کارت گرافیکهای گیمینگ هم ران بشه بدون نیاز به سختافزار مرکز داده
حالا ممکنه بگی «صبر کن ببینم! حتما یه ریگی توی کفششون هست!»
اصلا قسمت جذاب داستان همینه: همهاش اپن سورسه! همه میتونن کارشون رو بررسی کنن. کدش عمومیه. راهنمای تکنیکال همه چیز رو توضیح میده. جادو جنبل نکردن، صرفا هوشمندانه مهندسی کردن.
چرا این داستان مهمه؟
چون این فرض و مدل رو که «فقط کمپانیهای بزرگ میتونن توی عرصه AI بازی کنن» رو باطل میکنه
برای انویدیا این ترسناکه! کل مدل بیزنسشون بر مبنای این بود که با مارجین ۹۰ درصد GPU های فوق گرون بفروشن. حالا معلومه مشکل چیه اگه همه بتونن با GPUهای گیمینگ مدل هوش مصنوعی بسازن!
ضربه نهایی هم این بود:
دیپسیک این کار رو با تیمی کمتر از ۲۰۰ نفر انجام داد.
در حالیکه هزینههایی که متا برای حقوق کارکنانش میپردازه از کل بودجه آموزش دیپسیک بیشتره و مدلشون هم به این اندازه خوب نیست
یه داستان کلاسیک از شکستن وضع موجود:
در حالیکه بنگاههای مستقر دارن فرآیندهای موجودشون رو بهینهسازی میکنن، بتشکنها میان و کل پروسه رو از اول بازاندیشی میکنن
دیپسیک هم پرسید «چی میشه به جای اینکه هی سختافزار اضافه کنیم، این کار رو هوشمندانهتر انجام بدیم؟»
عواقبش چشمگیره:
- دسترسی به توسعه هوش مصنوعی بیشتر میشه
- رقابت به شدت افزایش پیدا میکنه
- «سنگر»های بزرگ شرکتهای تکنولوژیک مثل دستاندازهای کوچیک جلوه می کنه
- نیازهای سختافزاری و هزینهها به شدت کم میشه
البته غولهایی مثل OpenAI و Anthropic بیکار نمیشینن. احتمالا همین الان هم شروع کردن به استفاده و به کارگیری این ابداعات. ولی غول بهرهوری از چراغ جادو اومده بیرون. دیگه نمیتونی برگردی به دورانی که هی سختافزار اضافه کنی
به نظر میرسه این لحظه از اونهاست که بعدا به عنوان نقطه عطف بهش نگاه میکنیم. درست مثل موقعهایی که PCها کامپیوترهای بزرگ رو از رده خارج کردن، یا محاسبات ابری همه چیز رو تغییر داد.
هوش مصنوعی قراره باز هزینه بسیار کمتر، و به مقدار بیشتری در دسترس قرار بگیره.
سوال این نیست که آیا این باعث تغییر زمین بازیگران بزرگ این عرصه میشه یا نه، سوال اینه که با چه سرعتی این کار رو میکنه.
https://x.com/Cryptonut24/status/1883897510936314158
@PhiloLearn
اول یکم زمینه رو توضیح بدیم: فعلا فرایند آموزش مدلهای AI به شدت پرهزینهست. انترپرایزهایی مثل OpenAI Anthropic و ... بیشتر از ۱۰۰ میلیون دلار فقط برای محاسبات خرج میکنن
پس نیاز به مراکز داده بسیار بزرگ با هزاران GPU چهل هزار دلاری دارن
انگار یه نیروگاه برق بسازی برای راهاندازی یک کارخونه
حالا DeepSeek اومده گفته «هه! اگه همه این کارها رو با ۵ میلیون دلار انجام دادم چی؟»
وحرف مفت هم نزده و واقعا این کار رو کرده!
مدل اونها توی تسکهای زیادی تونسته GPT-4 و Clause رو شکست بده
و این باعث شگفتی دنیای هوش مصنوعی شده!
چطور این کار رو کردن؟
همه چیز رو از اول بازاندیشی کردن. هوش مصنوعیهای سنتی مثل اینن که هر عدد رو با ۳۲ اعشار مینویسن.
دیپسیک گفته« خب چرا با ۸ تا ننویسیم؟ تقریبا همون قدر دقیقه!»
بوم! ۷۵٪ کاهش در حافظه مورد نیاز!
بعد رفتن سراغ سیستم Multi token
هوش مصنوعیهای نرمال مثل یه بچه کلاس اولی میخونن: « بابا .... نان .... داد»
ولی دیپسیک کل جمله رو یکجا میخونه با سرعت ۲ برابر و دقت ۹۰٪
وقتی قراره میلیاردها کلمه رو تحلیل کنی این خیلی مهمه!
ولی قسمت هوشمندانهشون اینه:
یه چیزی ساختن مثل «سیستم تخصص»
به جای اینکه یه AI غولآسا همه چیز رو بدونه (مثلا یه آدم که هم دکتر باشه هم مهندس، هم جامعهشناس و ... )، فقط از متخصصینی استفاده میکنن که در مواقع نیاز فراخوانی میشن
مدلهای نرمال سنتی؟
تمام ۱.۸ تریلیون پارامتر در لحظه فعالن
دیپسیک؟
۶۷۱ بیلیون در مجموع داره که ۳۷ بیلیونش در لحظه فعالن
مثل این میمونه که تیم بزرگی داشته باشی ولی فقط اونی رو صدا بزنی که الان برای یک کاری بهش نیاز داری
نتیجه حیرتانگیزه:
هزینه آموزش مدل: ۱۰۰ میلیون >> ۵ میلیون
تعداد GPU: صد هزار > دو هزار
هزینه API: نود و پنج درصد ارزونتر
میتونه روی کارت گرافیکهای گیمینگ هم ران بشه بدون نیاز به سختافزار مرکز داده
حالا ممکنه بگی «صبر کن ببینم! حتما یه ریگی توی کفششون هست!»
اصلا قسمت جذاب داستان همینه: همهاش اپن سورسه! همه میتونن کارشون رو بررسی کنن. کدش عمومیه. راهنمای تکنیکال همه چیز رو توضیح میده. جادو جنبل نکردن، صرفا هوشمندانه مهندسی کردن.
چرا این داستان مهمه؟
چون این فرض و مدل رو که «فقط کمپانیهای بزرگ میتونن توی عرصه AI بازی کنن» رو باطل میکنه
برای انویدیا این ترسناکه! کل مدل بیزنسشون بر مبنای این بود که با مارجین ۹۰ درصد GPU های فوق گرون بفروشن. حالا معلومه مشکل چیه اگه همه بتونن با GPUهای گیمینگ مدل هوش مصنوعی بسازن!
ضربه نهایی هم این بود:
دیپسیک این کار رو با تیمی کمتر از ۲۰۰ نفر انجام داد.
در حالیکه هزینههایی که متا برای حقوق کارکنانش میپردازه از کل بودجه آموزش دیپسیک بیشتره و مدلشون هم به این اندازه خوب نیست
یه داستان کلاسیک از شکستن وضع موجود:
در حالیکه بنگاههای مستقر دارن فرآیندهای موجودشون رو بهینهسازی میکنن، بتشکنها میان و کل پروسه رو از اول بازاندیشی میکنن
دیپسیک هم پرسید «چی میشه به جای اینکه هی سختافزار اضافه کنیم، این کار رو هوشمندانهتر انجام بدیم؟»
عواقبش چشمگیره:
- دسترسی به توسعه هوش مصنوعی بیشتر میشه
- رقابت به شدت افزایش پیدا میکنه
- «سنگر»های بزرگ شرکتهای تکنولوژیک مثل دستاندازهای کوچیک جلوه می کنه
- نیازهای سختافزاری و هزینهها به شدت کم میشه
البته غولهایی مثل OpenAI و Anthropic بیکار نمیشینن. احتمالا همین الان هم شروع کردن به استفاده و به کارگیری این ابداعات. ولی غول بهرهوری از چراغ جادو اومده بیرون. دیگه نمیتونی برگردی به دورانی که هی سختافزار اضافه کنی
به نظر میرسه این لحظه از اونهاست که بعدا به عنوان نقطه عطف بهش نگاه میکنیم. درست مثل موقعهایی که PCها کامپیوترهای بزرگ رو از رده خارج کردن، یا محاسبات ابری همه چیز رو تغییر داد.
هوش مصنوعی قراره باز هزینه بسیار کمتر، و به مقدار بیشتری در دسترس قرار بگیره.
سوال این نیست که آیا این باعث تغییر زمین بازیگران بزرگ این عرصه میشه یا نه، سوال اینه که با چه سرعتی این کار رو میکنه.
https://x.com/Cryptonut24/status/1883897510936314158
@PhiloLearn
X (formerly Twitter)
freemartian.Patron (@Cryptonut24) on X
توییت این شخص در مورد DeepSeek رو حدودی ترجمه میکنم دستتون بیاد قضیه چیه؛ با ما همراه باشید.
بریم با زبان سادهتر ببینیم چرا اختراعات AI دیپسیک همه رو انگشت به دهن گذاشته (و احتمالا مارکت کپ ۲ تریلیون دلاری انویددیا رو به خطر انداخته)🧵
بریم با زبان سادهتر ببینیم چرا اختراعات AI دیپسیک همه رو انگشت به دهن گذاشته (و احتمالا مارکت کپ ۲ تریلیون دلاری انویددیا رو به خطر انداخته)🧵
bigdeli.pdf
1.2 MB
✅نرمال سازی پایگاه داده چیه و چطور انجام میشه
مطلبی از لینکدین علی بیگدلی
نرمالسازی یه روشیه که توی طراحی پایگاه دادهها استفاده میشه تا دادهها رو منظم و کارآمد ذخیره کنیم. هدفش اینه که از دادههای تکراری خلاص بشیم و از بروز مشکلاتی مثل ناسازگاری اطلاعات جلوگیری کنیم. به این ترتیب، دادهها به شکلی ذخیره میشن که فقط یک نسخه از هر اطلاعات وجود داشته باشه، یعنی اگر بخواهیم اطلاعات رو تغییر بدیم، فقط یهجا باید تغییر کنیم و همهجا بهروز میشه. اینطوری هم فضای ذخیرهسازی کمتر میشه و هم کار با دادهها سریعتر و راحتتر میشه.
چطور انجام میشه؟ برای نرمالسازی، دادهها رو توی جداول مختلف تقسیم میکنیم و این جداول رو طوری طراحی میکنیم که اطلاعات تکراری نباشه و همهچیز بهدرستی ارتباط داشته باشه.
مزایای نرمالسازی:
- کاهش افزونگی دادهها
- جلوگیری از ناسازگاریها
- سادهسازی بهروزرسانی و نگهداری دادهها
- بهبود عملکرد کوئریها
قطعا نیاز به توضیحات بیشتری هستش برای همین رفرنس های مناسبی رو براتون در نظر گرفتم.
همه پست جا نشد: لینکش
مطلبی از لینکدین علی بیگدلی
نرمالسازی یه روشیه که توی طراحی پایگاه دادهها استفاده میشه تا دادهها رو منظم و کارآمد ذخیره کنیم. هدفش اینه که از دادههای تکراری خلاص بشیم و از بروز مشکلاتی مثل ناسازگاری اطلاعات جلوگیری کنیم. به این ترتیب، دادهها به شکلی ذخیره میشن که فقط یک نسخه از هر اطلاعات وجود داشته باشه، یعنی اگر بخواهیم اطلاعات رو تغییر بدیم، فقط یهجا باید تغییر کنیم و همهجا بهروز میشه. اینطوری هم فضای ذخیرهسازی کمتر میشه و هم کار با دادهها سریعتر و راحتتر میشه.
چطور انجام میشه؟ برای نرمالسازی، دادهها رو توی جداول مختلف تقسیم میکنیم و این جداول رو طوری طراحی میکنیم که اطلاعات تکراری نباشه و همهچیز بهدرستی ارتباط داشته باشه.
مزایای نرمالسازی:
- کاهش افزونگی دادهها
- جلوگیری از ناسازگاریها
- سادهسازی بهروزرسانی و نگهداری دادهها
- بهبود عملکرد کوئریها
قطعا نیاز به توضیحات بیشتری هستش برای همین رفرنس های مناسبی رو براتون در نظر گرفتم.
همه پست جا نشد: لینکش
✅جعبه های شانس دانشجویار رو تست کنید.
شاید تخفیف خوبی گرفتید.
یه نفر دوره من رو با 90 درصد تخفیف خریده 😬
لینکش:
https://www.daneshjooyar.com/landing/birthday-1403/
شاید تخفیف خوبی گرفتید.
یه نفر دوره من رو با 90 درصد تخفیف خریده 😬
لینکش:
https://www.daneshjooyar.com/landing/birthday-1403/
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
وقتی هنوز به میزان کافی متوجه بیزنس نشدی سعی نکن معماری خفنی پیادهسازی کنی. اینکار باعث میشه به بیزنس سرعت ببخشی.
چون اگه اینکار رو نکنی و سعی کنی به بهترین شکل ممکن از همون اول بری جلو مطمئن باش وقتی بیزنس رو فهمیدی با خودت میگی ای کاش این قسمتش رو اینطوری زده بودم. یعنی هم بیزنس رو از دست میدی هم کولهباری از بدهی فنی رو دوشته...
ولی خب اگر در شروع کار over engineering انجام ندی، به زودی ایدههای جالبی به ذهنت میرسه که هم بیزنس رو دگرگون میکنه و هم کد رو. ولی خب تا اینجا بیزنس رو از دست ندادی و مشتری داره از همون کد معمولی شما استفاده میکنه که قراره بدهیهای فنیش رو با ایدههای جدید حل و فصل کنی.
اگر بیزنس رو سیر کنی، بیزنس هم بهت فرصت میده تا بدهیهای فنی خودت رو رفع کنی، در غیر این صورت با یک بیزنس طلبکار طرفی که ازت خروجی میخواد و بدهیهای فنیای که دست از سرت بر نمیدارن.
به عبارتی، شما همیشه در هر صورت بدهی فنی خواهی داشت ولی اگر به مشتری بدهکار باشی هم اعصاب نداری هم همیشه بدهکاری... پس در ابتدا مشتری رو فراموش نکن. و برای ساختن یک سیستم خوب عجول نباش، یک سیستم خوب باید راهش رو کم کم پیدا کنه و هم باید از نظر مالی تغذیه بشه و هم از نظر کیفی... نه فقط کیفی...
#بدهی_فنی
#over_engineering
چون اگه اینکار رو نکنی و سعی کنی به بهترین شکل ممکن از همون اول بری جلو مطمئن باش وقتی بیزنس رو فهمیدی با خودت میگی ای کاش این قسمتش رو اینطوری زده بودم. یعنی هم بیزنس رو از دست میدی هم کولهباری از بدهی فنی رو دوشته...
ولی خب اگر در شروع کار over engineering انجام ندی، به زودی ایدههای جالبی به ذهنت میرسه که هم بیزنس رو دگرگون میکنه و هم کد رو. ولی خب تا اینجا بیزنس رو از دست ندادی و مشتری داره از همون کد معمولی شما استفاده میکنه که قراره بدهیهای فنیش رو با ایدههای جدید حل و فصل کنی.
اگر بیزنس رو سیر کنی، بیزنس هم بهت فرصت میده تا بدهیهای فنی خودت رو رفع کنی، در غیر این صورت با یک بیزنس طلبکار طرفی که ازت خروجی میخواد و بدهیهای فنیای که دست از سرت بر نمیدارن.
به عبارتی، شما همیشه در هر صورت بدهی فنی خواهی داشت ولی اگر به مشتری بدهکار باشی هم اعصاب نداری هم همیشه بدهکاری... پس در ابتدا مشتری رو فراموش نکن. و برای ساختن یک سیستم خوب عجول نباش، یک سیستم خوب باید راهش رو کم کم پیدا کنه و هم باید از نظر مالی تغذیه بشه و هم از نظر کیفی... نه فقط کیفی...
#بدهی_فنی
#over_engineering
یه نکته در مورد include در urls.py
عکس رو ببینید. من برای path ها namespace تعریف کردم.
✔️متد include میگه اگه namespace تعریف کنی، باید برای app ت هم app_name تعریف کنی.
وگرنه خطای زیر رو میده:
برای حل این مشکل
(مثلا فرض کن میخوای name برای path یی داشته باشی که توی urls.py اصلی پروژه اس)
اینجوری باید path رو اوکی کنی:
دقت کن. یه tuple برای include فرستادم.
اینجوری دیگه توی تمپلت می تونم با app_name ع felan_name به اسم path های اون اپ دسترسی داشته باشم (به شرطی که name داشته باشن).
پیچیده گفتم؟ برو کد include رو بخون، متوجه منظورم میشی.
عکس رو ببینید. من برای path ها namespace تعریف کردم.
✔️متد include میگه اگه namespace تعریف کنی، باید برای app ت هم app_name تعریف کنی.
وگرنه خطای زیر رو میده:
Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pass a 2-tuple containing the list of patterns and app_name instead.
برای حل این مشکل
(مثلا فرض کن میخوای name برای path یی داشته باشی که توی urls.py اصلی پروژه اس)
اینجوری باید path رو اوکی کنی:
path("felan-url/", include(("felan_app", "felan_name"))),
دقت کن. یه tuple برای include فرستادم.
اینجوری دیگه توی تمپلت می تونم با app_name ع felan_name به اسم path های اون اپ دسترسی داشته باشم (به شرطی که name داشته باشن).
پیچیده گفتم؟ برو کد include رو بخون، متوجه منظورم میشی.
Forwarded from یادگیری ماشین با چاشنی صنعت (Abolfazl 🤘)
ساختمان داده و الگوریتم به دردمون نمیخوره. چرا بخونیم این مطالب قدیمی رو؟
این رو شاید از خیلیا شنیده باشین. اکثرا کسایین که صرفا از ابزار آماده استفاده میکنن و کد میزنن تا یه چیزی آماده شه.
واقعیت بخواین، بیشتر کسایی که تو حوزه IT فعالیت میکنن همینو میگن. آخه کجا نیازه که یه مهندس هوش مصنوعی الگوریتم و ریاضیات بدونه؟ کجا نیازه که یه BI developer، ساختمان داده و تحلیل الگوریتم بدونه؟(شوخیه صرفا)
مشکل جایی شروع میشه که بسیاری از کسب و کارها نیازمند یک اپراتور هستن تا یک مهندس نرم افزار.
الان خیلی از پوزیشن هایی که من میبینم اپراتور میخوان. البته پوزیشن های اکادمیک طبیعتا مهندس میخوان به جای اپراتور.
خلاصه که اگر میخواین واقعا پیشرفت کنین تو کارتون، یه سری چیزایی که بیسیک هستن رو باید بدونین. فرق نمیکنه تو حیطه BI کار میکنید یا AI یا توسعه نرم افزار.
خب میریم برای این که بگیم چیزای بیسیک چیا هستن؟
شماره اول، زبان C: فرق نمیکنه که چه زبانی رو دوست دارین. ابتدا باید الفبای کامپیوتر و برنامه نویسی رو با زبانی مثل C تمرین کنین و مفاهیم رو یاد بگیرین. بعد از این که مفاهیم ابتدایی رو با C یاد گرفتین میتونین سراغ هر زبانی دیگه برین.
شماره دوم، اصول شی گرایی: شی گرایی یک سری اصوله و با توجه بر دنیای واقعی چیده شده. سعی کنید اصول شی گرایی رو اول درک کنید و بعد با یک زبانی که شی گرایی رو گسترده استفاده میکنه شروع به تمرین کنید ( مثلا جاوا یا C++). ممکنه در آینده عمده کار شما با یک زبان غیر شی گرا باشه اما یادگیری شی گرایی برای هر مهندس نرم افزاری واجبه.
شماره سوم، ساختمان داده: شاید به نظر من مهمترین درس مهندسی کامپیوتر، درس ساختمان داده باشه. بی شک جز دروسیه که دائما باید مرورش کنید و در حقیقت قلب تپنده محسوب میشه.
چون اصلی ترین و پایه ای ترین اصول رو ازش یاد میگیرید، اصولی که زیر بنای تمام تکنولوژی های نرم افزاری هستن.
شماره چهارم، الگوریتم: در حقیقت مکمل ساختمان داده محسوب میشه و بعد از ساختمان داده، مهمترین درس برای هر مهندس نرم افزاره. مباحث ساختمان داده و الگوریتم به اندازه ای مهم هستن که قابل بیان نیستن. فقط باید در کالبد شکافی یک ابزار ( مثلا یک پایگاه داده )کارتون بهشون بخوره که متوجه بشین چقدر دیدتون رو افزایش میدن نسبت به انتخاب ابزار یا تکنولوژی.
شماره پنجم، دیتابیس و SQL: طبیعتا به عنوان یک مهندس نرم افزار، یکی از چالش های شما میتونه ذخیره و بازیابی اطلاعات باشه. خصوصا اگر تو زمینه های هوش مصنوعی یا حوزه های مرتبط با داده کار میکنید امکان نداره که دیتابیس نیازتون نشه. گذشته از اون باید با روش های مختلف طراحی پایگاه داده و بهینه سازی کوئری ها نیز اشنا باشید.
مهمترین اصول بیسیک این موارد هستن. موارد دیگه ای هم مثل طراحی کامپایلر یا مهندسی نرم افزار هستن که در قدم های بعدی اهمیت پیدا میکنن و بسته به حیطه کاری نیازتون بهشون میفته.
این رو شاید از خیلیا شنیده باشین. اکثرا کسایین که صرفا از ابزار آماده استفاده میکنن و کد میزنن تا یه چیزی آماده شه.
واقعیت بخواین، بیشتر کسایی که تو حوزه IT فعالیت میکنن همینو میگن. آخه کجا نیازه که یه مهندس هوش مصنوعی الگوریتم و ریاضیات بدونه؟ کجا نیازه که یه BI developer، ساختمان داده و تحلیل الگوریتم بدونه؟(شوخیه صرفا)
مشکل جایی شروع میشه که بسیاری از کسب و کارها نیازمند یک اپراتور هستن تا یک مهندس نرم افزار.
الان خیلی از پوزیشن هایی که من میبینم اپراتور میخوان. البته پوزیشن های اکادمیک طبیعتا مهندس میخوان به جای اپراتور.
خلاصه که اگر میخواین واقعا پیشرفت کنین تو کارتون، یه سری چیزایی که بیسیک هستن رو باید بدونین. فرق نمیکنه تو حیطه BI کار میکنید یا AI یا توسعه نرم افزار.
خب میریم برای این که بگیم چیزای بیسیک چیا هستن؟
شماره اول، زبان C: فرق نمیکنه که چه زبانی رو دوست دارین. ابتدا باید الفبای کامپیوتر و برنامه نویسی رو با زبانی مثل C تمرین کنین و مفاهیم رو یاد بگیرین. بعد از این که مفاهیم ابتدایی رو با C یاد گرفتین میتونین سراغ هر زبانی دیگه برین.
شماره دوم، اصول شی گرایی: شی گرایی یک سری اصوله و با توجه بر دنیای واقعی چیده شده. سعی کنید اصول شی گرایی رو اول درک کنید و بعد با یک زبانی که شی گرایی رو گسترده استفاده میکنه شروع به تمرین کنید ( مثلا جاوا یا C++). ممکنه در آینده عمده کار شما با یک زبان غیر شی گرا باشه اما یادگیری شی گرایی برای هر مهندس نرم افزاری واجبه.
شماره سوم، ساختمان داده: شاید به نظر من مهمترین درس مهندسی کامپیوتر، درس ساختمان داده باشه. بی شک جز دروسیه که دائما باید مرورش کنید و در حقیقت قلب تپنده محسوب میشه.
چون اصلی ترین و پایه ای ترین اصول رو ازش یاد میگیرید، اصولی که زیر بنای تمام تکنولوژی های نرم افزاری هستن.
شماره چهارم، الگوریتم: در حقیقت مکمل ساختمان داده محسوب میشه و بعد از ساختمان داده، مهمترین درس برای هر مهندس نرم افزاره. مباحث ساختمان داده و الگوریتم به اندازه ای مهم هستن که قابل بیان نیستن. فقط باید در کالبد شکافی یک ابزار ( مثلا یک پایگاه داده )کارتون بهشون بخوره که متوجه بشین چقدر دیدتون رو افزایش میدن نسبت به انتخاب ابزار یا تکنولوژی.
شماره پنجم، دیتابیس و SQL: طبیعتا به عنوان یک مهندس نرم افزار، یکی از چالش های شما میتونه ذخیره و بازیابی اطلاعات باشه. خصوصا اگر تو زمینه های هوش مصنوعی یا حوزه های مرتبط با داده کار میکنید امکان نداره که دیتابیس نیازتون نشه. گذشته از اون باید با روش های مختلف طراحی پایگاه داده و بهینه سازی کوئری ها نیز اشنا باشید.
مهمترین اصول بیسیک این موارد هستن. موارد دیگه ای هم مثل طراحی کامپایلر یا مهندسی نرم افزار هستن که در قدم های بعدی اهمیت پیدا میکنن و بسته به حیطه کاری نیازتون بهشون میفته.
Audio
گفتگو با علی بیگدلی
@BlackFox01
Backend Developer ( AI, IOT, Python, Django, FastAPI )
سر کلاس تجارت الکترونیک و امنیت شبکه
هنرستان شهید دبیریان، محله نازی آباد تهران
سوالهایی که از مهندس بیگدلی پرسیدم:
-به نظر شما هنرستان خوبه یا دبیرستان؟
-چه شرکت هایی کار کردید و چه سمتی داشتید؟
-توی حوزه کار خودتون بزرگترین دستاورد یا خفن ترین کاری که کردید چی بوده؟
-آیا مدرسه، دانشگاه میتونه به برنامه نویس خوب شدن کمک کنه؟
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتن
-اگه تو این دوره هم سن ما بودن چه شاخه ای رو برای ادامه تحصیل در دانشگاه انتخاب میکردن که بازار کار خوبی هم داشته باشه
-پایتون آینده ش چطوره
-کارش چطوره
-هوش مصنوعی داستانش چیه
-چقدر هوش مصنوعی بلد باشیم کافیه
-توی دانشگاه به این رشته چیا یاد میدن
-میشه بدون دانشگاه رفتن هوش مصنوعی یاد گرفت؟
-چه ابزار یا تکنولوژی هایی لازمه فارغ از زبان برنامه نویسی بلد باشیم
-اینترنت اشیا چیه؟
-رشته تحصیلی دبیرستان تجربی هست به نظر شما اگه کامپیوتر بودید پیشرفت بهتری داشتید؟
لینک ویدئو:
در حال آپلود در تلگرام، آپارات و یوتیوب
@BlackFox01
Backend Developer ( AI, IOT, Python, Django, FastAPI )
سر کلاس تجارت الکترونیک و امنیت شبکه
هنرستان شهید دبیریان، محله نازی آباد تهران
سوالهایی که از مهندس بیگدلی پرسیدم:
-به نظر شما هنرستان خوبه یا دبیرستان؟
-چه شرکت هایی کار کردید و چه سمتی داشتید؟
-توی حوزه کار خودتون بزرگترین دستاورد یا خفن ترین کاری که کردید چی بوده؟
-آیا مدرسه، دانشگاه میتونه به برنامه نویس خوب شدن کمک کنه؟
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتن
-اگه تو این دوره هم سن ما بودن چه شاخه ای رو برای ادامه تحصیل در دانشگاه انتخاب میکردن که بازار کار خوبی هم داشته باشه
-پایتون آینده ش چطوره
-کارش چطوره
-هوش مصنوعی داستانش چیه
-چقدر هوش مصنوعی بلد باشیم کافیه
-توی دانشگاه به این رشته چیا یاد میدن
-میشه بدون دانشگاه رفتن هوش مصنوعی یاد گرفت؟
-چه ابزار یا تکنولوژی هایی لازمه فارغ از زبان برنامه نویسی بلد باشیم
-اینترنت اشیا چیه؟
-رشته تحصیلی دبیرستان تجربی هست به نظر شما اگه کامپیوتر بودید پیشرفت بهتری داشتید؟
لینک ویدئو:
در حال آپلود در تلگرام، آپارات و یوتیوب
Media is too big
VIEW IN TELEGRAM
گفتگو با علی بیگدلی
@BlackFox01
Backend Developer ( AI, IOT, Python, Django, FastAPI )
سر کلاس تجارت الکترونیک و امنیت شبکه
هنرستان شهید دبیریان، محله نازی آباد تهران
سوالهایی که از مهندس بیگدلی پرسیدم:
-به نظر شما هنرستان خوبه یا دبیرستان؟
-چه شرکت هایی کار کردید و چه سمتی داشتید؟
-توی حوزه کار خودتون بزرگترین دستاورد یا خفن ترین کاری که کردید چی بوده؟
-آیا مدرسه، دانشگاه میتونه به برنامه نویس خوب شدن کمک کنه؟
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتن
-پایتون آینده ش چطوره
-چقدر هوش مصنوعی بلد باشیم کافیه
-توی دانشگاه به این رشته چیا یاد میدن
-میشه بدون دانشگاه رفتن هوش مصنوعی یاد گرفت؟
-چه ابزار یا تکنولوژی هایی لازمه فارغ از زبان برنامه نویسی بلد باشیم
-اینترنت اشیا چیه؟
-رشته تحصیلی دبیرستان تجربی هست به نظر شما اگه کامپیوتر بودید پیشرفت بهتری داشتید؟
و...
لینک آپارات:
https://www.aparat.com/v/fvfn9f9
لینک یوتیوب:
https://youtu.be/6Sc6E-H1hI4
لینک ویس:
https://www.tg-me.com/telegram/com.djangolearn_ir/995
@BlackFox01
Backend Developer ( AI, IOT, Python, Django, FastAPI )
سر کلاس تجارت الکترونیک و امنیت شبکه
هنرستان شهید دبیریان، محله نازی آباد تهران
سوالهایی که از مهندس بیگدلی پرسیدم:
-به نظر شما هنرستان خوبه یا دبیرستان؟
-چه شرکت هایی کار کردید و چه سمتی داشتید؟
-توی حوزه کار خودتون بزرگترین دستاورد یا خفن ترین کاری که کردید چی بوده؟
-آیا مدرسه، دانشگاه میتونه به برنامه نویس خوب شدن کمک کنه؟
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتن
-پایتون آینده ش چطوره
-چقدر هوش مصنوعی بلد باشیم کافیه
-توی دانشگاه به این رشته چیا یاد میدن
-میشه بدون دانشگاه رفتن هوش مصنوعی یاد گرفت؟
-چه ابزار یا تکنولوژی هایی لازمه فارغ از زبان برنامه نویسی بلد باشیم
-اینترنت اشیا چیه؟
-رشته تحصیلی دبیرستان تجربی هست به نظر شما اگه کامپیوتر بودید پیشرفت بهتری داشتید؟
و...
لینک آپارات:
https://www.aparat.com/v/fvfn9f9
لینک یوتیوب:
https://youtu.be/6Sc6E-H1hI4
لینک ویس:
https://www.tg-me.com/telegram/com.djangolearn_ir/995
Forwarded from Python Hints
این از بحث گروه هست :
خلاصه سوال این بود که؛ چطور ورژن پایتون رو انتخاب کنیم (ی صحبت هم این بود که ۴ تا ورژن قبل از آخرین نسخه برای اینکه پایدارتر هست) :
۱- اولین مورد
حتی در حال حاضر
اگر زمان توسعه یک پروژه رو ۶ ماه درنظر بگیریم حتی
۲- توی مورد قبلی هم گفتم حواستون به
۳- مهمترین نکته؛ پکیجهایی هستند که استفاده میکنید؛ هرکدوم یک
ولی بعضی پکیجها هستند که دارند برای مثال اگر اینطور باشه یعنی پایتون
یا خود
۴- به تیم هم بستگی داره؛ اینکه بتونه از تغییراتی که توی ورژنهای جدیدتر اومده استفاده کنه و باهاشون آشنا باشه.
این موارد حداقل چیزهایی هست که قبل از انتخاب ورژن پایتون پروژه باید درنظر بگیرید.
خلاصه سوال این بود که؛ چطور ورژن پایتون رو انتخاب کنیم (ی صحبت هم این بود که ۴ تا ورژن قبل از آخرین نسخه برای اینکه پایدارتر هست) :
۱- اولین مورد
End of Life
هست؛ ۴ نسخه قبل از آخرین Stable Release
اطلا و ابدا منطقی نیست و کاملا هم اشتباه هست:Branch Schedule End of life
3.13 PEP 719 2029-10
3.12 PEP 693 2028-10
3.11 PEP 664 2027-10
3.10 PEP 619 2026-10
حتی در حال حاضر
3.9
حدود ۸ ماه دیگه و 3.8
حدود ۴ ماه دیگه پشتیبانی ازشون تموم میشه یعنی اگر باگ - مورد امنیتی یا چیزی بخوره خودتونید و خودتون.اگر زمان توسعه یک پروژه رو ۶ ماه درنظر بگیریم حتی
3.10
هم دیگه ریسک هست (درحال حاضر پروژههام از ۳ ماه قبل روی 3.12 استارت خوردن)۲- توی مورد قبلی هم گفتم حواستون به
Stable Release
باشه؛ اگر یک نسخهای روی بخش Stable
منتشر شده باید آماده باشید بهش مهاجرت کنید؛ البته چون پشتیبانی توی پایتون ۴-۵ ساله هست؛ میتونید کمی صبر کنید ۱ سال و بعد مهاجرت کنید روی نسخه جدید (اینم بخاطر پکیجها میگم)۳- مهمترین نکته؛ پکیجهایی هستند که استفاده میکنید؛ هرکدوم یک
compatibility list
دارند مثلا برای Django 4.2.19
محدودیت روی ورژن بالاتر نذاشته :Requires: Python >=3.8
ولی بعضی پکیجها هستند که دارند برای مثال اگر اینطور باشه یعنی پایتون
3.13
پشتیبانی نمیشه هنوز.Requires: Python 3.8, 3.9, 3.10, 3.11, 3.12
یا خود
Django 5.1.6
:Requires: Python >=3.10
۴- به تیم هم بستگی داره؛ اینکه بتونه از تغییراتی که توی ورژنهای جدیدتر اومده استفاده کنه و باهاشون آشنا باشه.
این موارد حداقل چیزهایی هست که قبل از انتخاب ورژن پایتون پروژه باید درنظر بگیرید.
Forwarded from Python Hints
از بحث گروه :
سورس کد رو چطوری بخونیم ؟
سورس کد خوندن باید از نقطه شروع باشه؛ پروژهای که میخواید سورس کدش رو بخونید باید مطمئن بشید استانداردها رو رعایت کرده حداقل توی شروع پیشنهاد میکنم به تعداد fork, star, ... پروژه نگاه کنید و قبل از خوندنش هم بهتره کمی با استانداردها آشنا باشید.
همیشه سورس کد خوندن رو از پروژهای استفاده کنید که توی زمینه کاری خودتون یا توی مباحث مورد علاقه خودتون هست.
مثلا برای
برای خوندن هم دو حالت داره :
۱- دنبال یک مدل استانداردسازی برای یک چیز خاص هستید و فقط همون بحث رو میخونید.
مثلا من اگر بخوام ببینم چطوری
۲- هدف خاصی ندارم جز یادگیری استانداردها؛ در اینصورت یک نقطه شروع رو برای خودم پیدا میکنم و از اون بعنوان سر نخ استفاده میکنم.
شخصا
توی هر دو مورد مهم اینه که قبل از خوندن سورس کد با پکیجهای اصلی آشنا باشید و بلدشون باشید؛ پکیج جدید هم که میبینید که بلدش نیستید؛ اول یک ویدئو گوتاه و سریع از آموزشش ببینید و بعد توی سورس کد به خوندن ادامه بدید.
سورس کد رو چطوری بخونیم ؟
سورس کد خوندن باید از نقطه شروع باشه؛ پروژهای که میخواید سورس کدش رو بخونید باید مطمئن بشید استانداردها رو رعایت کرده حداقل توی شروع پیشنهاد میکنم به تعداد fork, star, ... پروژه نگاه کنید و قبل از خوندنش هم بهتره کمی با استانداردها آشنا باشید.
همیشه سورس کد خوندن رو از پروژهای استفاده کنید که توی زمینه کاری خودتون یا توی مباحث مورد علاقه خودتون هست.
مثلا برای
Django
چندتا مورد داریم؛ Baserow جزو مواردی هست که خوب نوشته شده و یک بیزینس فعال هم هست که open source
هم کردند.برای خوندن هم دو حالت داره :
۱- دنبال یک مدل استانداردسازی برای یک چیز خاص هستید و فقط همون بحث رو میخونید.
مثلا من اگر بخوام ببینم چطوری
swagger
این پروژه نوشته شده اول وارد requirements
اش میشم و میگردم ببینم از کدوم پکیج استفاده کرده بعد میرم روی Endpoint
ها یا .... ببینم این موارد رو با چه استانداردی نوشته و کجاها گذاشته.۲- هدف خاصی ندارم جز یادگیری استانداردها؛ در اینصورت یک نقطه شروع رو برای خودم پیدا میکنم و از اون بعنوان سر نخ استفاده میکنم.
شخصا
Integration test
ها اولین چیزی هست که میرم سراغش؛ اگر نبود logic
هر بخش رو از داکیومنت میخونم و بخش بخش میرم توی سورس کدها و ...توی هر دو مورد مهم اینه که قبل از خوندن سورس کد با پکیجهای اصلی آشنا باشید و بلدشون باشید؛ پکیج جدید هم که میبینید که بلدش نیستید؛ اول یک ویدئو گوتاه و سریع از آموزشش ببینید و بعد توی سورس کد به خوندن ادامه بدید.
GitHub
baserow/backend/src/baserow at master · bram2w/baserow
The official repository is hosted on https://gitlab.com/bramw/baserow. Baserow is an open source no-code database tool and Airtable alternative. - bram2w/baserow
Forwarded from Arsham's Tech Mastery (Arsham)
تست ستون پروژست!
و همونطور که خونه هایی هم هستن که قدیمی و کاه گلی اند و ستون ندارن، و یه بارون بزنه هم سقفشون میریزه، یا نمیشه به راحتی یا کلا بهشون طبقه اضافه کرد، پروژه هایی هم هستن که تست (ستون) ندارن، و یه فیچر جدید بخوای اضافه کنی تمام فیچر های قبلی میترکه!
زیاد میشنوم که میگن تست به دیباگ کردن کد کمک میکنه، اما این ممکنه یکم گمراه کننده باشه.
این نکته کلیدی فراموش نشه که در خیلی از مدل های تست از جمله unit و integration، ما برای سناریو هایی تست مینویسیم، که سناریو اش رو میدونیم!
در این مدل تست ها، اگه باگی رو با تست دستی نتونیم پیدا کنیم، تست اتومات هیچ کمکی به ما نمیکنه.
پس در واقع با تست اتومات داریم استحکام چیزی که داریم رو تضمین میکنیم.
ولی خب، تو یه سری مدل تست ها مثل e2e و load test هم مجددا سناریو رو میدونیم، با اینحال ممکنه قسمتی از فلو (flow)، مطابق انتظار پیش نره، لود تست که کلا داستان خاص خودشو داره،
ولی تو e2e هم مجددا اگه ایراد پیشبینی نشده ای پیدا بشه، احتمالا در نقاط اتصال هست، و e2e هم تو پیدا کردن باگ لاجیکی غیرمنتظره، کمکی به ما نمیکنه.
<--×-->
دلیل مقاومت بعضی تیم ها و بهونه هایی مثل کمبود وقت برای نوشتن تست، شاید به خاطر ناملموس بودن ارزش افزوده تست ها باشه. با اینحال، تضمین کیفیت و صحت کد های قبلی، موضوع مهم و با ارزشیه، که با نوشتن تست اتومات بدست میاد.
اهمیت این موضوع رو کدبیس های بزرگتر، خیلی بیشتر به چشم میاد.
<--×-->
راجع به دست و پا گیر بودن تست تو فاز های اولیه توسعه، عده ای معتقدن که اگه نیازمندی بیزنس شفاف نباشه، ما هم خود کد و هم تست هاشو باید مدام تغییر بدیم، ولی سوال اصلی اینجاست که چرا نیازمندی بیزنس انقدر باید متغیر (و گنگ) باشه که ورودی و خروجی سیستم بارها، به کل تغییر کنه؟
غیر منطقی به نظر میاد،
اما منم بارها شاهدش بودم!
ولی مسئله اینجا تست نیست،
باید به خیلی قبل ترش نگاه کنیم،
همون جایی که نیازمندی بیزنس داره مشخص میشه.
<--×-->
از خوبی های جانبی تست هم میشه به "مثال بودن" اش اشاره کرد. با فرض دنیای ایده آل، خوندن تست های یه پروژه خیلی ساده تر از خوندن کد خود پروژست، و از رو تست هاش میشه به سادگی فهمید که چیکار میکنه و ورودی و خروجی مورد انتظار سیستم چی هست.
البته خب تو دنیای واقعی و غیر ایده آل، ممکنه یه دولوپر تازه کار مدعی سینیوریتی همین تست هارو فراپیچیده (over complex) کنه.
یه مزیت جانبی دیگه تست هم میتونه بحث تمیزی کد باشه، کدی که تمیز نباشه به راحتی قابل تست نیست، پس در واقع تست مارو مجبور میکنه که کد تمیز تری بنویسیم.
<--×-->
ولی خب در کل نظر شما راجع به تست چیه؟
مزایا؟ معایب؟ پیشنهاد؟ انتقاد؟ به من، به پست، به کانال و... 🙂🙌🏼
و همونطور که خونه هایی هم هستن که قدیمی و کاه گلی اند و ستون ندارن، و یه بارون بزنه هم سقفشون میریزه، یا نمیشه به راحتی یا کلا بهشون طبقه اضافه کرد، پروژه هایی هم هستن که تست (ستون) ندارن، و یه فیچر جدید بخوای اضافه کنی تمام فیچر های قبلی میترکه!
زیاد میشنوم که میگن تست به دیباگ کردن کد کمک میکنه، اما این ممکنه یکم گمراه کننده باشه.
این نکته کلیدی فراموش نشه که در خیلی از مدل های تست از جمله unit و integration، ما برای سناریو هایی تست مینویسیم، که سناریو اش رو میدونیم!
در این مدل تست ها، اگه باگی رو با تست دستی نتونیم پیدا کنیم، تست اتومات هیچ کمکی به ما نمیکنه.
پس در واقع با تست اتومات داریم استحکام چیزی که داریم رو تضمین میکنیم.
ولی خب، تو یه سری مدل تست ها مثل e2e و load test هم مجددا سناریو رو میدونیم، با اینحال ممکنه قسمتی از فلو (flow)، مطابق انتظار پیش نره، لود تست که کلا داستان خاص خودشو داره،
ولی تو e2e هم مجددا اگه ایراد پیشبینی نشده ای پیدا بشه، احتمالا در نقاط اتصال هست، و e2e هم تو پیدا کردن باگ لاجیکی غیرمنتظره، کمکی به ما نمیکنه.
<--×-->
دلیل مقاومت بعضی تیم ها و بهونه هایی مثل کمبود وقت برای نوشتن تست، شاید به خاطر ناملموس بودن ارزش افزوده تست ها باشه. با اینحال، تضمین کیفیت و صحت کد های قبلی، موضوع مهم و با ارزشیه، که با نوشتن تست اتومات بدست میاد.
اهمیت این موضوع رو کدبیس های بزرگتر، خیلی بیشتر به چشم میاد.
<--×-->
راجع به دست و پا گیر بودن تست تو فاز های اولیه توسعه، عده ای معتقدن که اگه نیازمندی بیزنس شفاف نباشه، ما هم خود کد و هم تست هاشو باید مدام تغییر بدیم، ولی سوال اصلی اینجاست که چرا نیازمندی بیزنس انقدر باید متغیر (و گنگ) باشه که ورودی و خروجی سیستم بارها، به کل تغییر کنه؟
غیر منطقی به نظر میاد،
اما منم بارها شاهدش بودم!
ولی مسئله اینجا تست نیست،
باید به خیلی قبل ترش نگاه کنیم،
همون جایی که نیازمندی بیزنس داره مشخص میشه.
<--×-->
از خوبی های جانبی تست هم میشه به "مثال بودن" اش اشاره کرد. با فرض دنیای ایده آل، خوندن تست های یه پروژه خیلی ساده تر از خوندن کد خود پروژست، و از رو تست هاش میشه به سادگی فهمید که چیکار میکنه و ورودی و خروجی مورد انتظار سیستم چی هست.
البته خب تو دنیای واقعی و غیر ایده آل، ممکنه یه دولوپر تازه کار مدعی سینیوریتی همین تست هارو فراپیچیده (over complex) کنه.
یه مزیت جانبی دیگه تست هم میتونه بحث تمیزی کد باشه، کدی که تمیز نباشه به راحتی قابل تست نیست، پس در واقع تست مارو مجبور میکنه که کد تمیز تری بنویسیم.
<--×-->
ولی خب در کل نظر شما راجع به تست چیه؟
مزایا؟ معایب؟ پیشنهاد؟ انتقاد؟ به من، به پست، به کانال و... 🙂🙌🏼
Audio
گفتگو با مهندس محمد طاهری
برنامه نویس ارشد فرانت
ایشون سابقه کار برای ایرانسل رو دارن و در حال حاضر در داتین مشغول به کار هستن
سوالاتی که از ایشون پرسیدم:
-دبیرستان بودید یا هنرستان؟ چه رشته ای؟
-چه شرکت هایی کار کردید و چه سمتی داشتید؟
-برای برنامه نویس فرانت شدن چه چیزایی باید بلد باشیم؟
-آیا جاوا اسکریپت رو باید بلد باشیم؟
-آیا باید گرافیک و فتوشاپ و... هم بلد باشیم؟
-میشه بگید ux چیه؟ و آیا اونم کار برنامه نویس فرانته؟
-توی فرانت چه چیزی رو قوی بشیم بهتره؟
-درباره ری اکت و انگولار و... یکم توضیح میدید؟
-کار فرانت سخته یا بکند؟ کدوم پول بیشتری توشه؟
-بوت استرپ خوبه یه تیلویند؟ -اصلا اینارو لازمه یاد بگیریم؟
-آیا جی کوئری دیگه منسوخ شده؟
-چرا بکند کارها سی اس اس بلد نیستن؟
-آیا درسته که کتابخانه های js مثل ری اکت و... توی سئو مشکل دارن؟
-نود جی س برای بکند خوبه؟
--اگر نسخه ۱۸ ساله خودتون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتید؟
و...
لینک ویدئو در تلگرام:
https://www.tg-me.com/telegram/com.djangolearn_ir/1002
لینک آپارات:
https://aparat.com/v/xhe50w6
لینک یوتیوب:
https://youtu.be/sHYPov3yRlg
برنامه نویس ارشد فرانت
ایشون سابقه کار برای ایرانسل رو دارن و در حال حاضر در داتین مشغول به کار هستن
سوالاتی که از ایشون پرسیدم:
-دبیرستان بودید یا هنرستان؟ چه رشته ای؟
-چه شرکت هایی کار کردید و چه سمتی داشتید؟
-برای برنامه نویس فرانت شدن چه چیزایی باید بلد باشیم؟
-آیا جاوا اسکریپت رو باید بلد باشیم؟
-آیا باید گرافیک و فتوشاپ و... هم بلد باشیم؟
-میشه بگید ux چیه؟ و آیا اونم کار برنامه نویس فرانته؟
-توی فرانت چه چیزی رو قوی بشیم بهتره؟
-درباره ری اکت و انگولار و... یکم توضیح میدید؟
-کار فرانت سخته یا بکند؟ کدوم پول بیشتری توشه؟
-بوت استرپ خوبه یه تیلویند؟ -اصلا اینارو لازمه یاد بگیریم؟
-آیا جی کوئری دیگه منسوخ شده؟
-چرا بکند کارها سی اس اس بلد نیستن؟
-آیا درسته که کتابخانه های js مثل ری اکت و... توی سئو مشکل دارن؟
-نود جی س برای بکند خوبه؟
--اگر نسخه ۱۸ ساله خودتون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتید؟
و...
لینک ویدئو در تلگرام:
https://www.tg-me.com/telegram/com.djangolearn_ir/1002
لینک آپارات:
https://aparat.com/v/xhe50w6
لینک یوتیوب:
https://youtu.be/sHYPov3yRlg
Media is too big
VIEW IN TELEGRAM
گفتگو با مهندس محمد طاهری
برنامه نویس ارشد فرانت
ایشون سابقه کار برای ایرانسل رو دارن و در حال حاضر در داتین مشغول به کار هستن
سوالاتی که از ایشون پرسیدم:
-دبیرستان بودید یا هنرستان؟ چه رشته ای؟
-چه شرکت هایی کار کردید و چه سمتی داشتید؟
-برای برنامه نویس فرانت شدن چه چیزایی باید بلد باشیم؟
-آیا جاوا اسکریپت رو باید بلد باشیم؟
-آیا باید گرافیک و فتوشاپ و... هم بلد باشیم؟
-میشه بگید ux چیه؟ و آیا اونم کار برنامه نویس فرانته؟
-توی فرانت چه چیزی رو قوی بشیم بهتره؟
-درباره ری اکت و انگولار و... یکم توضیح میدید؟
-کار فرانت سخته یا بکند؟ کدوم پول بیشتری توشه؟
-بوت استرپ خوبه یه تیلویند؟ -اصلا اینارو لازمه یاد بگیریم؟
-آیا جی کوئری دیگه منسوخ شده؟
-فرق یه برنامه نویس خوب و بد چیه؟
-چرا بکند کارها سی اس اس بلد نیستن؟
آیا درسته که کتابخانه های js مثل ری اکت و... توی سئو مشکل دارن؟
-نود جی س برای بکند خوبه؟
--اگر نسخه ۱۸ ساله خودتون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتن
لینک آپارت:
https://aparat.com/v/xhe50w6
لینک یوتیوب:
https://youtu.be/sHYPov3yRlg
لینک mp3:
https://www.tg-me.com/telegram/com.djangolearn_ir/1001
برنامه نویس ارشد فرانت
ایشون سابقه کار برای ایرانسل رو دارن و در حال حاضر در داتین مشغول به کار هستن
سوالاتی که از ایشون پرسیدم:
-دبیرستان بودید یا هنرستان؟ چه رشته ای؟
-چه شرکت هایی کار کردید و چه سمتی داشتید؟
-برای برنامه نویس فرانت شدن چه چیزایی باید بلد باشیم؟
-آیا جاوا اسکریپت رو باید بلد باشیم؟
-آیا باید گرافیک و فتوشاپ و... هم بلد باشیم؟
-میشه بگید ux چیه؟ و آیا اونم کار برنامه نویس فرانته؟
-توی فرانت چه چیزی رو قوی بشیم بهتره؟
-درباره ری اکت و انگولار و... یکم توضیح میدید؟
-کار فرانت سخته یا بکند؟ کدوم پول بیشتری توشه؟
-بوت استرپ خوبه یه تیلویند؟ -اصلا اینارو لازمه یاد بگیریم؟
-آیا جی کوئری دیگه منسوخ شده؟
-فرق یه برنامه نویس خوب و بد چیه؟
-چرا بکند کارها سی اس اس بلد نیستن؟
آیا درسته که کتابخانه های js مثل ری اکت و... توی سئو مشکل دارن؟
-نود جی س برای بکند خوبه؟
--اگر نسخه ۱۸ ساله خودتون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتن
لینک آپارت:
https://aparat.com/v/xhe50w6
لینک یوتیوب:
https://youtu.be/sHYPov3yRlg
لینک mp3:
https://www.tg-me.com/telegram/com.djangolearn_ir/1001
Forwarded from ITShield
Media is too big
VIEW IN TELEGRAM
مواظب باشین وگرنه این بلا سر شما هم خواهد آمد یا قبلا اومده و خبر ندارین
نخواستم از همه قابلیت ها استفاده کنم تا باعث وحشت یا ... نشه و فقط اطلاع رسانی بشه
نخواستم از همه قابلیت ها استفاده کنم تا باعث وحشت یا ... نشه و فقط اطلاع رسانی بشه
Forwarded from ITShield
نصیحتی برادرانه از یک علاقه مند به امنیت به عموممردم :
اگر مجهز به دانش سایبری نیستین انجام کارهای زیر در تلگرام برای شما حیاتی هست و در صورت انجام ندادن دارین با جون خودتون بازی میکنین
۱- برای اکانت تلگرامتون نامکاربری نزارین
۲- هر از چند گاهی اکانتتون رو حذف کنین و دوباره اکانت تلگرامبسازین تا آیدی شما تغییر کنه
۳- به کسی که نمیشناسین پیام ندین و جواب پیامش رو هم ندین
۴- توی هر گروه و کانالی پیام نزارین مگر پیام ضروری حتی گروه ها یا کانالهای خصوصی یه نفره خودتون با خودتون
۵- از نشر اطلاعات خصوصی در تلگرام و یا آرشیو کردن بپرهیزین
دلیلش رو شاید هیچ وقت نتونم بهتون توضیح بدم تا زمانی که قصه پابلیک بشه
اما سربسته از من بپذیرین که تلگرام برای اطلاعات و ... شما جای امنی نیست
از تجربه این برادر کوچک طلبه خودتون استفاده کنین قبل از اینکه گذر زمان براتون تجربه درست کنه(و مورد استفاده یا سوءاستفاده قرار بگیرین)
هکرها فقط نامکاربری یا یک پیام از شما لازم دارن تا .....
این هیچ ربطی به مهندسی اجتماعی و گوشی شما و سازمانهای خاص و رمز دو مرحله ای و ..... نداره
خانه از پای بست ویران است
اطلاع رسانی عمومی
اگر مجهز به دانش سایبری نیستین انجام کارهای زیر در تلگرام برای شما حیاتی هست و در صورت انجام ندادن دارین با جون خودتون بازی میکنین
۱- برای اکانت تلگرامتون نامکاربری نزارین
۲- هر از چند گاهی اکانتتون رو حذف کنین و دوباره اکانت تلگرامبسازین تا آیدی شما تغییر کنه
۳- به کسی که نمیشناسین پیام ندین و جواب پیامش رو هم ندین
۴- توی هر گروه و کانالی پیام نزارین مگر پیام ضروری حتی گروه ها یا کانالهای خصوصی یه نفره خودتون با خودتون
۵- از نشر اطلاعات خصوصی در تلگرام و یا آرشیو کردن بپرهیزین
دلیلش رو شاید هیچ وقت نتونم بهتون توضیح بدم تا زمانی که قصه پابلیک بشه
اما سربسته از من بپذیرین که تلگرام برای اطلاعات و ... شما جای امنی نیست
از تجربه این برادر کوچک طلبه خودتون استفاده کنین قبل از اینکه گذر زمان براتون تجربه درست کنه(و مورد استفاده یا سوءاستفاده قرار بگیرین)
هکرها فقط نامکاربری یا یک پیام از شما لازم دارن تا .....
این هیچ ربطی به مهندسی اجتماعی و گوشی شما و سازمانهای خاص و رمز دو مرحله ای و ..... نداره
خانه از پای بست ویران است
اطلاع رسانی عمومی