Forwarded from ProgrammingSchool (Python)
قسمت هفتم: مثال مربوط به درست نویسی عملگرهای باینری
شکل بالا فرم قدیمی و جدید عملگر باینری جمع را نشان میدهد.
The figure above shows the old and new form of the binary addition operator.
#آموزش_پایتون
#قراردادهای_پایتون
آدرس کانال:
@Programmingschool2
سایت آموزشی:
http://programmingschool.ir
گروه پرسش و پاسخ:
https://t.me/programmingschool_group
شکل بالا فرم قدیمی و جدید عملگر باینری جمع را نشان میدهد.
The figure above shows the old and new form of the binary addition operator.
#آموزش_پایتون
#قراردادهای_پایتون
آدرس کانال:
@Programmingschool2
سایت آموزشی:
http://programmingschool.ir
گروه پرسش و پاسخ:
https://t.me/programmingschool_group
👍2
✅ اگه تا حالا درست حسابی سمت PostgreSQL نرفتید. الان دیگه وقتشه. Hêmn توی کانال @microfrontend_ir داره شخم اش میزنه.
آموزش PostgreSQL
در اولین ویدیو و مقدمه پلی لیست آموزش PostgreSQL به بررسی تاریخچه و روند شکل گیری پستگرس پرداختیم. از پروژه مادر یعنی Ingres و سپس اضافه شدن امکانات object-relational از طریق پروژه Post-Ingres صحبت کردیم و چند اکستنشن مهم پستگرس یعنی PostGIS و Timescale صحبت کردیم.
Video: https://youtu.be/2f9RAkpQGj4
playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsByAI0AbbJ4oUTziNsaffKnq
〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
آموزش PostgreSQL
در اولین ویدیو و مقدمه پلی لیست آموزش PostgreSQL به بررسی تاریخچه و روند شکل گیری پستگرس پرداختیم. از پروژه مادر یعنی Ingres و سپس اضافه شدن امکانات object-relational از طریق پروژه Post-Ingres صحبت کردیم و چند اکستنشن مهم پستگرس یعنی PostGIS و Timescale صحبت کردیم.
Video: https://youtu.be/2f9RAkpQGj4
playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsByAI0AbbJ4oUTziNsaffKnq
〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
YouTube
آموزش PostgreSQL
در اولین ویدیو و مقدمه پلی لیست آموزش PostgreSQL به بررسی تاریخچه و روند شکل گیری پستگرس پرداختیم. از پروژه مادر یعنی Ingres و سپس اضافه شدن امکانات object-relational از طریق پروژه Post-Ingres صحبت کردیم و چند اکستنشن مهم پستگرس یعنی PostGIS و Timescale…
🔥5👍2
Forwarded from Python Hints
profiling
یکی از مهمترین و جذابترین مباحث هست که یک توسعه دهنده باید باهاش آشنا باشه (توی رزومه هم خیلی مهمه اونجایی که شما میگید من ۲۰٪ کدهای قبلی رو اپتیمایز کردم؛ شاید تو خیلی از شرکتهای ایران کیلویی باشه ولی شرکتهای درست و حسابی باید گزارش profiling
رو ارائه بدید)ساده ترین قدم توی پروفایلینگ استفاده از پکیج
timeit
هست؛ توی دیتاساینس هم یکی از BuiltIn Magic
های بسیار مهم IPython
هست.کجا بدرد میخوره؟
وقتی شما بین استفاده از دوتا روش مشکل دارید (ولی این ۲ تا کد معمولا بین ۱-۱۰ خط هست)
۲ تا پارامتر مهم داره؛
۱- کدی هست که میخواید سرعت اجراش رو تست کنید.
۲- تعداد تکرار یا اجرای اون کد هست (مثال بالا ۱۰۰) و چون زمانی که بر میگردونه با تعداد تکرار هست مقدارش رو تقسیم بر تعداد تکرار میکنیم تا میانگین زمان اجرای ۱ بار اون کد بدست بیاد (بر حسب ثانیه)
نکته :هیچوقت تعداد تکرار رو ۱ نذارید تا عدد دقیقتری بدست بیارید.
@PyHints
خروجی کد بالا بین خط ۲۱ تا ۲۴.
👍4
✅ مطلبی قابل تامل از لینکدین Mohammadreza Ala
لینک و تصویر کتاب در کامنت
دیگه حتی نیرو جونیور هم سخت پیدا میشه؛
چند وقتی هست برای یه پوزیشن جونیور فرانت داریم مصاحبه میکنیم و انتظار دانش فنی و تجربه زیادی هم نداریم، میدونیم که خیلی چیزها هست و باید یادبگیره؛
من انتظار داشتم خیلی سریع پر شه این پوزیشن، از اونجایی که یادگیری دانش فنی مورد نیاز برای کوآلافای شدن ساده است و همه جا هم پر است از جونیور فرانت اند که تازه وارد فیلد شدن و یه روزمه ای ساخته برای خودشون.
مثلا طرف تو مصاحبه نمیذاره سوال تموم شه تا جواب بده، مثلا ۴ تا کلمه از ۱۰ تا کلمه به گوشش رسیده، شروع میکنه به جواب دادن.
یا هر سوالی رو که میگیم یه جوری جواب رو میبره به سمتی که خودش رو خفن تر از چیزی هست نشون بده.
و از این قیبل موارد...
به عنوان یه تجربه میگم، علی الخصوص توی فرانت اند که تعداد بینهایت جونیور با دانش فنی ~یکسان وجود داره،
تقویت سافت اسکیل ( برای مصاحبه ) به مراتب تاثیر گذارتر از ساختن پروژههای الکی تو رزومهتون خواهد بود.
به عنوان پیشنهاد برای تقویت سافت اسکیل، کتاب زیر رو معرفی میکنم؛ هم کتاب صوتی و ترجمه فارسی و انگیلسی رایگان اش هم همه جا هست. و امیدوارم که کسی به خاطر سافت اسکیل ضعیف پوزیشنی رو از دست نده.
لینک و تصویر کتاب در کامنت
دیگه حتی نیرو جونیور هم سخت پیدا میشه؛
چند وقتی هست برای یه پوزیشن جونیور فرانت داریم مصاحبه میکنیم و انتظار دانش فنی و تجربه زیادی هم نداریم، میدونیم که خیلی چیزها هست و باید یادبگیره؛
من انتظار داشتم خیلی سریع پر شه این پوزیشن، از اونجایی که یادگیری دانش فنی مورد نیاز برای کوآلافای شدن ساده است و همه جا هم پر است از جونیور فرانت اند که تازه وارد فیلد شدن و یه روزمه ای ساخته برای خودشون.
مثلا طرف تو مصاحبه نمیذاره سوال تموم شه تا جواب بده، مثلا ۴ تا کلمه از ۱۰ تا کلمه به گوشش رسیده، شروع میکنه به جواب دادن.
یا هر سوالی رو که میگیم یه جوری جواب رو میبره به سمتی که خودش رو خفن تر از چیزی هست نشون بده.
و از این قیبل موارد...
به عنوان یه تجربه میگم، علی الخصوص توی فرانت اند که تعداد بینهایت جونیور با دانش فنی ~یکسان وجود داره،
تقویت سافت اسکیل ( برای مصاحبه ) به مراتب تاثیر گذارتر از ساختن پروژههای الکی تو رزومهتون خواهد بود.
به عنوان پیشنهاد برای تقویت سافت اسکیل، کتاب زیر رو معرفی میکنم؛ هم کتاب صوتی و ترجمه فارسی و انگیلسی رایگان اش هم همه جا هست. و امیدوارم که کسی به خاطر سافت اسکیل ضعیف پوزیشنی رو از دست نده.
❤3
جنگولرن
👏نذری دانشجویار به مناسب محرم رایگان شدن بیش از 160 ساعت آموزش لینک: https://www.daneshjooyar.com/landing/moharram1402/
جانگو 😤
https://www.daneshjooyar.com/django-basic-learning/
هنوزم حال ندارم ویدئوی دمو رو تغییر بدم. توی دمو همش میگم جانگو 😡 خیلی رو مخه
✅ من این دوره رو یکبار آپدیت کردم ولی دمو رو تغییر ندادم و هنوز میگه جانگو
اما امروز دیدم که از اول محرم تا الان حدودا 650 نفر دوره رو خریدن (رایگان)
چرا؟ 🧐
https://www.daneshjooyar.com/django-basic-learning/
هنوزم حال ندارم ویدئوی دمو رو تغییر بدم. توی دمو همش میگم جانگو 😡 خیلی رو مخه
✅ من این دوره رو یکبار آپدیت کردم ولی دمو رو تغییر ندادم و هنوز میگه جانگو
اما امروز دیدم که از اول محرم تا الان حدودا 650 نفر دوره رو خریدن (رایگان)
چرا؟ 🧐
😁9
Forwarded from TorhamDev | تورهام 😳
what SOLID stands for:
• S: Single responsibility principle
• O: Open/closed principle
• L: Liskov's substitution principle
• I: Interface segregation principle
• D: Dependency inversion principle
• S: Single responsibility principle
• O: Open/closed principle
• L: Liskov's substitution principle
• I: Interface segregation principle
• D: Dependency inversion principle
Forwarded from Barnamenevisi 🔊
داشتم دو تا مقاله فارس می خوندم درباره جنگو گفتم اینجا بزارم شما هم استفاده کنید خیلی خوبه
درباره best practices جنگو هستش و نکاتی که اگر در جنگو رعایت کنید خروجی کارتون خیلی خوب و بهینه میشه
https://vrgl.ir/ebo5x
https://vrgl.ir/PxEe3
عضو کانال و گروه تلگرام ما بشید 👇
عضویت در گروه تلگرام
عضویت در کانال تلگرام
عضویت در پیج تردز
درباره best practices جنگو هستش و نکاتی که اگر در جنگو رعایت کنید خروجی کارتون خیلی خوب و بهینه میشه
https://vrgl.ir/ebo5x
https://vrgl.ir/PxEe3
عضو کانال و گروه تلگرام ما بشید 👇
عضویت در گروه تلگرام
عضویت در کانال تلگرام
عضویت در پیج تردز
ویرگول
میکرونکات جنگو - بخش اول (settings.py)
خیلی وقت ها پیش میاد که ما حین انجام دادن پروژه های مختلف یا مطالعه کتاب ها به نکاتی بر میخوریم که به خودمون میگیم عههه چه جالب!!
👍8❤1
✅ معرفی یه پکیج ساده و کاربردی
اضافه کردن قابلیت سرچ با searchable dropdown برای ادمین جنگو
اگه جایگزینی سراغ دارید معرفی کنید
https://pypi.org/project/django-admin-searchable-dropdown/
اضافه کردن قابلیت سرچ با searchable dropdown برای ادمین جنگو
اگه جایگزینی سراغ دارید معرفی کنید
https://pypi.org/project/django-admin-searchable-dropdown/
👍7
📣 تبلیغ رایگان
ما در #پایتونیزم هدفمون بکارگیری پایتون در صنعت های مختلفی مثل : مالی، پزشکی، کشاورزی و... هست که در حال حاضر در مرحله آموزش سطح مقدماتی هستیم
@pythonism_xl
ما در #پایتونیزم هدفمون بکارگیری پایتون در صنعت های مختلفی مثل : مالی، پزشکی، کشاورزی و... هست که در حال حاضر در مرحله آموزش سطح مقدماتی هستیم
@pythonism_xl
👍5
Forwarded from Sadra Codes
✅ یوتیوبرهای پایتونکاری که باید فالو کنید:
1: anthonywritescode: https://www.youtube.com/@anthonywritescode
2: Corey Schafer: https://www.youtube.com/@coreyms
3: Arjan Codes: https://www.youtube.com/@ArjanCodes
4: Tech With Tim: https://www.youtube.com/@TechWithTim
5: NeuralNine: https://www.youtube.com/@NeuralNine
6: Pretty Printed: https://www.youtube.com/@prettyprinted
رامین سلجوقینژاد بیشتر راجع به الگوریتم و مباحث AI ویدئو میذاره و اکثر پیادهسازیهاش با پایتونه که خیلی در دوران کارشناسی بدردم خورد:
Ramin Saljoughinejad: https://www.youtube.com/@Ramin-S
1: anthonywritescode: https://www.youtube.com/@anthonywritescode
2: Corey Schafer: https://www.youtube.com/@coreyms
3: Arjan Codes: https://www.youtube.com/@ArjanCodes
4: Tech With Tim: https://www.youtube.com/@TechWithTim
5: NeuralNine: https://www.youtube.com/@NeuralNine
6: Pretty Printed: https://www.youtube.com/@prettyprinted
رامین سلجوقینژاد بیشتر راجع به الگوریتم و مباحث AI ویدئو میذاره و اکثر پیادهسازیهاش با پایتونه که خیلی در دوران کارشناسی بدردم خورد:
Ramin Saljoughinejad: https://www.youtube.com/@Ramin-S
👍11👎1
Forwarded from Sadra Codes
گیتهاب اکشن چیست؟ چطور اکشن بنویسیم؟!
گیتهاب، چند سالی هست که از سیستم اتومات CI/CD خودش رونمایی کرده. حالا از اکشن میشه چه استفادههایی کرد؟ چند تا مثال میزنم باهاش بیشتر آشنا شید. مثلا فرض کنید یه ریپازیتوری دارید که عده خیلی زیادی دارن روش کار میکنن و pull request میزنن و شما بعنوان مینتینر اصلی، مجبوری هر سری بیای و تغییرات افراد رو خودت بصورت دستی روی لوکال چک کنی، تست کنی و اگه اوکی بود، مرج کنی.
اکشن بهتون این اجازه رو میده که هروقت اتفاقی روی پروژه افتاد (مثلا کسی pr زد)، خودش یه محیط ایزوله (یه کانتینر داکر مثلا) ایجاد کنه و تغییرات طرف رو در جابهای متنوع بررسی کنه. مثلا یه جاب، تستهاشو ران کنه. یه جاب بررسی کنه ببینه کدی که زده کلین هست یا فرمت شده یا... نهایتا یه ریپورت بنویسه توی همون conversationی که مربوطه به pr هست. به این محیط که شما استپها و ایونت رو تنظیم میکنی، میگن workflow. شما میتونی هر تعداد workflow که دوست داری داشته باشی.
چند تا کلمه کلیدی، معنیشون مهمه:
- ایونت (Event): منظور همون اتفاقه یا رویداده هست. مثلا کسی pr میزنه، prی مرج میشه، کسی پوش میکنه روی برنچی، کسی ایشو باز میکنه، رلیزی انجام میشه، تگی ساخته میشه یا...
جاب (Job): جاب، یه مجموعه از استپ ها هست که توی ورکفلو، روی رانر اجرا میشه. مثلا یه جاب میتونه استپهاش: نصب کردن اوبونتو روی رانر - نصب پایتون - آپدیت پیپ - نصب دیپندنسیها باشه. هر کدوم از این ایتمهایی که گفتم، میشن استپهای این جاب.
رانر (Runner): خیلی شبیه به کانتینرهای داکر هستن. ینی گیتهاب یه انجین مثل Docker Daemon داره و یه ساختاری شبیه به Container که بهتون اجازه میده جابهاتون رو داخلش ران کنید. اگه اشتباه نکنم، با سیشارپ ساختنش و اوپن سورس هم هست.
اکشن (Action): همونطور که گفتیم، توی جاب، یه سری استپها داریم. شما توی استپها میتونی هرکاری که دوست داری انجام بدی. کامند ران کنی یا از سری کامندها یا اکشن ها استفاده کنی! اکشن درواقع یه پکیجه که شما توی استپی که داری میتونی کالش کنی، یه سری مقادیر بهش پاس بدی و اون اجرا میشه. یه مثلا بخوام بزنم. مثلا فرض کنید یه اکشن داریم به اسم setup-python. دیگه احتیاج نیست خودتونو درگیر ران کردن انواع و اقسام کامند ها به منظور نصب پایتون نصب کنید. مستقیم از این اکشن استفاده میکنید، صرفا بهش ورژن پایتون دلخواهتون رو میدید و واستون پایتون و پیپ رو نصب میکنه.
شما میتونید اکشنهای خودتونو داشته باشید و توی ریپازیتوریتون قرارش بدید و توی ورکفلوهای همون ریپازیتوری هم ازش استفاده کنید. یا حتی میتونید در مارکتپلیس گیتهاب پابلیشش کنید.
ما سه مدل اکشن داریم:
- داکر: اکشن در محیطی (شبیه) به داکر ران میشه. رانرهای گیتهاب، داکر رو ساپورت میکنن پس اگه شما بهشون Dockerfile بدید، راحت اکشنتون رو ران میکنن و قابل استفاده میشه.
- کامپوزیت (Composite): صرفا بهش Entrypoint میدید و اون فایل رو ران میکنه. مثلا یه شلاسکریپت دارید توی اکشن که یه hello world رو echo میکنه. توی کانفیگ اکشن مینویسید:
جدیدا روی یه پیادهسازی کار کردم که به پایتونکارها هم این اجازه رو میده که تحت یه ساختار خیلی خوب، اکشن بنویسن. ینی درواقع اکشن پایتون!
ادامه..
گیتهاب، چند سالی هست که از سیستم اتومات CI/CD خودش رونمایی کرده. حالا از اکشن میشه چه استفادههایی کرد؟ چند تا مثال میزنم باهاش بیشتر آشنا شید. مثلا فرض کنید یه ریپازیتوری دارید که عده خیلی زیادی دارن روش کار میکنن و pull request میزنن و شما بعنوان مینتینر اصلی، مجبوری هر سری بیای و تغییرات افراد رو خودت بصورت دستی روی لوکال چک کنی، تست کنی و اگه اوکی بود، مرج کنی.
اکشن بهتون این اجازه رو میده که هروقت اتفاقی روی پروژه افتاد (مثلا کسی pr زد)، خودش یه محیط ایزوله (یه کانتینر داکر مثلا) ایجاد کنه و تغییرات طرف رو در جابهای متنوع بررسی کنه. مثلا یه جاب، تستهاشو ران کنه. یه جاب بررسی کنه ببینه کدی که زده کلین هست یا فرمت شده یا... نهایتا یه ریپورت بنویسه توی همون conversationی که مربوطه به pr هست. به این محیط که شما استپها و ایونت رو تنظیم میکنی، میگن workflow. شما میتونی هر تعداد workflow که دوست داری داشته باشی.
چند تا کلمه کلیدی، معنیشون مهمه:
- ایونت (Event): منظور همون اتفاقه یا رویداده هست. مثلا کسی pr میزنه، prی مرج میشه، کسی پوش میکنه روی برنچی، کسی ایشو باز میکنه، رلیزی انجام میشه، تگی ساخته میشه یا...
جاب (Job): جاب، یه مجموعه از استپ ها هست که توی ورکفلو، روی رانر اجرا میشه. مثلا یه جاب میتونه استپهاش: نصب کردن اوبونتو روی رانر - نصب پایتون - آپدیت پیپ - نصب دیپندنسیها باشه. هر کدوم از این ایتمهایی که گفتم، میشن استپهای این جاب.
رانر (Runner): خیلی شبیه به کانتینرهای داکر هستن. ینی گیتهاب یه انجین مثل Docker Daemon داره و یه ساختاری شبیه به Container که بهتون اجازه میده جابهاتون رو داخلش ران کنید. اگه اشتباه نکنم، با سیشارپ ساختنش و اوپن سورس هم هست.
اکشن (Action): همونطور که گفتیم، توی جاب، یه سری استپها داریم. شما توی استپها میتونی هرکاری که دوست داری انجام بدی. کامند ران کنی یا از سری کامندها یا اکشن ها استفاده کنی! اکشن درواقع یه پکیجه که شما توی استپی که داری میتونی کالش کنی، یه سری مقادیر بهش پاس بدی و اون اجرا میشه. یه مثلا بخوام بزنم. مثلا فرض کنید یه اکشن داریم به اسم setup-python. دیگه احتیاج نیست خودتونو درگیر ران کردن انواع و اقسام کامند ها به منظور نصب پایتون نصب کنید. مستقیم از این اکشن استفاده میکنید، صرفا بهش ورژن پایتون دلخواهتون رو میدید و واستون پایتون و پیپ رو نصب میکنه.
شما میتونید اکشنهای خودتونو داشته باشید و توی ریپازیتوریتون قرارش بدید و توی ورکفلوهای همون ریپازیتوری هم ازش استفاده کنید. یا حتی میتونید در مارکتپلیس گیتهاب پابلیشش کنید.
ما سه مدل اکشن داریم:
- داکر: اکشن در محیطی (شبیه) به داکر ران میشه. رانرهای گیتهاب، داکر رو ساپورت میکنن پس اگه شما بهشون Dockerfile بدید، راحت اکشنتون رو ران میکنن و قابل استفاده میشه.
- کامپوزیت (Composite): صرفا بهش Entrypoint میدید و اون فایل رو ران میکنه. مثلا یه شلاسکریپت دارید توی اکشن که یه hello world رو echo میکنه. توی کانفیگ اکشن مینویسید:
runs:
using: composite
steps:
- name: 'Run hello-world.sh'
run: ./hello-world.sh
- جاوا اسکریپت: رانرهای گیتهاب، از نود هم ساپورت میکنن. شما اگه js کارید، میتونید از این مدل رانر استفاده کنید و به زبان js، اکشن بنویسید. (اکثر اکشن ها به زبان js و نود هستن)جدیدا روی یه پیادهسازی کار کردم که به پایتونکارها هم این اجازه رو میده که تحت یه ساختار خیلی خوب، اکشن بنویسن. ینی درواقع اکشن پایتون!
ادامه..
👍10❤2
✅ از Linkedin آقای arash hosseini #مهندسی_سیستم
ادامه و لینک در نظرات پست
مهندسی سیستم بخش نهم :
ادامه پذیرش سیستم :
صحت سنجی سیستم :
از میان جریان توسعه مشخصه های چند لایه، تهیه کنندگان و کاربران سیستم باید به این سوال جواب دهند که : آیا ما سیستم درست را که نیازهای عملیاتی کاربر را پوشش می دهد تهیه کرده ایم ؟ این فرآیندی چرخشی است تا نیازمندی ها به درجه ای از پختگی برای شروع تدارک سیستم برسد. زمانی که تدارک سیستم آغاز می گردد، تقاضای پیشنهادی ، دیدگاه های جدیدی را به ما ارائه می دهد. چالش بعدی بعد از انعقاد قرارداد چگونگی اطمینان از ساخته شدن سیستم صحیح در ارتباط با مشخصه های قید شده در قرارداد می باشد. تمامی ذی نفعان این قرارداد به این سوال از طریق مجموعه ای از توضیحات ، دموهای فنی و ارزیابی ریسک که در حین توسعه برآورد می گردد، پاسخ می دهند. در نتیجه تیم بطور مداوم باید انطباق راه کار طراحی سیستم در حال تکامل را با نیازمندی های مشخص شده ارزیابی نماید. ما به این راه کار طراحی تکاملی سیستم، پیکره بندی توسعه و به فعالیت های کنترلی هنگام توسعه، کنترل و ارزیابی سیستم می گوئیم. در نهایت ، هنگامی که توسعه سیستم یا محصول تکمیل می گردد، مسئولین باید به این سوال پاسخ دهند که : آیا سیستم درست پیاده گردیده ؟ این سوال معمولا با تست سیستم و اسناد نتیجه تست برای هر نیازمندی مشخص بر اساس متدهای ارزیابی، پاسخ داده می شود. بسته به نیازمندی های قرارداد ، با کامل شدن تست های استاندارد، تهیه کننده و توسعه دهندگان ممیزی پیکره بندی عملکردی و ممیزی پیکره بندی فیزیکی را اجرا می کنند. ممیزی عملکردی از تطابق ارزیابی سیستم با نیازمندیهای مشخص شده اطمینان حاصل می کند و ممیزی فیزیکی، کامپوننت های فیزیکی را مطابق طراحی های انجام شده ارزیابی می نماید. خروجی این دو ممیزی اسناد ارزیابی و گواهی صحت سیستم قبل از ارائه نهایی آن خواهد بود .
فصل چرخه حیات سیستم / محصول :
این چرخه به عنوان نقشه راه پایه برای فهم و ارتباط با اینکه چگونه سیستم های طبیعی و دست ساخته از طریق پیشرفت فازهای چرخه، توسعه پیدا می کنند، بکار می آید. توسعه هر سیستم دست ساخته از ایده شروع شده و با ارائه نهایی خاتمه می یابد. این فرآیند به عنوان چرخه حیات نام برده می شود. این چرخه به صورت ساختاری به عنوان پایه توسعه سیستم به کار می رود. سیستم های دست ساخته ایده پردازی، برنامه ریزی، سازماندهی، زمان بندی، برآورد، تدارک، توسعه، عملیاتی و پشتیبانی و در نهایت به کمک این ساختار ارائه می گردد. سیستم های طبیعی ساختارهای مشابهی را به کمک چرخه حیات خود طی می کند. در سیستم های دست ساخته شروع و پایان به کمک نقاط کنترلی یا رویدادهایی مانند تصمیم کلیدی در یک ارائه فنی، یا اتفاقی پیشرفت به فاز بعدی را تائید می نماید.
فاز تعریف سیستم :
این فاز با شناخت کاربر از نیاز عملیاتی به یک سیستم جدید یا بروزرسانی سیستم، محصول یا خدمت قبلی نشات می گیرد. نیاز عملیاتی ریشه در فرصت ها، تهدید ها و تصویر توانمندی و کارکرد سیستم یا کمبودها دارد. عزم کاربر برای تعریف سیستم جدید با آنالیز سیستم قبلی و تعریف نیازمندی ها برای سیستم، محصول یا خدمت جدید آغاز می گردد. تهیه کننده سیستم به کاربر برای آنالیز فرصت یا فضای مشکل که نیاز را ایجاد نموده کمک می نماید. تهیه کننده سیستم در ارتباط با کاربران فضای راه حل را در قالب مجموعه ای از نیازمندی های سیستمی جهت قرارگیری در قرارداد، محدود و مرزبندی می نماید. هنگامی که این فار به بلوغ کافی رسید، تهیه کننده فاز تدارک را آغاز می نماید.
ادامه و لینک در نظرات پست
مهندسی سیستم بخش نهم :
ادامه پذیرش سیستم :
صحت سنجی سیستم :
از میان جریان توسعه مشخصه های چند لایه، تهیه کنندگان و کاربران سیستم باید به این سوال جواب دهند که : آیا ما سیستم درست را که نیازهای عملیاتی کاربر را پوشش می دهد تهیه کرده ایم ؟ این فرآیندی چرخشی است تا نیازمندی ها به درجه ای از پختگی برای شروع تدارک سیستم برسد. زمانی که تدارک سیستم آغاز می گردد، تقاضای پیشنهادی ، دیدگاه های جدیدی را به ما ارائه می دهد. چالش بعدی بعد از انعقاد قرارداد چگونگی اطمینان از ساخته شدن سیستم صحیح در ارتباط با مشخصه های قید شده در قرارداد می باشد. تمامی ذی نفعان این قرارداد به این سوال از طریق مجموعه ای از توضیحات ، دموهای فنی و ارزیابی ریسک که در حین توسعه برآورد می گردد، پاسخ می دهند. در نتیجه تیم بطور مداوم باید انطباق راه کار طراحی سیستم در حال تکامل را با نیازمندی های مشخص شده ارزیابی نماید. ما به این راه کار طراحی تکاملی سیستم، پیکره بندی توسعه و به فعالیت های کنترلی هنگام توسعه، کنترل و ارزیابی سیستم می گوئیم. در نهایت ، هنگامی که توسعه سیستم یا محصول تکمیل می گردد، مسئولین باید به این سوال پاسخ دهند که : آیا سیستم درست پیاده گردیده ؟ این سوال معمولا با تست سیستم و اسناد نتیجه تست برای هر نیازمندی مشخص بر اساس متدهای ارزیابی، پاسخ داده می شود. بسته به نیازمندی های قرارداد ، با کامل شدن تست های استاندارد، تهیه کننده و توسعه دهندگان ممیزی پیکره بندی عملکردی و ممیزی پیکره بندی فیزیکی را اجرا می کنند. ممیزی عملکردی از تطابق ارزیابی سیستم با نیازمندیهای مشخص شده اطمینان حاصل می کند و ممیزی فیزیکی، کامپوننت های فیزیکی را مطابق طراحی های انجام شده ارزیابی می نماید. خروجی این دو ممیزی اسناد ارزیابی و گواهی صحت سیستم قبل از ارائه نهایی آن خواهد بود .
فصل چرخه حیات سیستم / محصول :
این چرخه به عنوان نقشه راه پایه برای فهم و ارتباط با اینکه چگونه سیستم های طبیعی و دست ساخته از طریق پیشرفت فازهای چرخه، توسعه پیدا می کنند، بکار می آید. توسعه هر سیستم دست ساخته از ایده شروع شده و با ارائه نهایی خاتمه می یابد. این فرآیند به عنوان چرخه حیات نام برده می شود. این چرخه به صورت ساختاری به عنوان پایه توسعه سیستم به کار می رود. سیستم های دست ساخته ایده پردازی، برنامه ریزی، سازماندهی، زمان بندی، برآورد، تدارک، توسعه، عملیاتی و پشتیبانی و در نهایت به کمک این ساختار ارائه می گردد. سیستم های طبیعی ساختارهای مشابهی را به کمک چرخه حیات خود طی می کند. در سیستم های دست ساخته شروع و پایان به کمک نقاط کنترلی یا رویدادهایی مانند تصمیم کلیدی در یک ارائه فنی، یا اتفاقی پیشرفت به فاز بعدی را تائید می نماید.
فاز تعریف سیستم :
این فاز با شناخت کاربر از نیاز عملیاتی به یک سیستم جدید یا بروزرسانی سیستم، محصول یا خدمت قبلی نشات می گیرد. نیاز عملیاتی ریشه در فرصت ها، تهدید ها و تصویر توانمندی و کارکرد سیستم یا کمبودها دارد. عزم کاربر برای تعریف سیستم جدید با آنالیز سیستم قبلی و تعریف نیازمندی ها برای سیستم، محصول یا خدمت جدید آغاز می گردد. تهیه کننده سیستم به کاربر برای آنالیز فرصت یا فضای مشکل که نیاز را ایجاد نموده کمک می نماید. تهیه کننده سیستم در ارتباط با کاربران فضای راه حل را در قالب مجموعه ای از نیازمندی های سیستمی جهت قرارگیری در قرارداد، محدود و مرزبندی می نماید. هنگامی که این فار به بلوغ کافی رسید، تهیه کننده فاز تدارک را آغاز می نماید.
👍4
✅ مطلبی از در لینکدین kiarash amiri در مورد تفاوت redis و memcached و البته نکاتی در مورد دلایل استفاده شون
لینک در کامنت
✔️ مطالب مرتبط در کامنت
تو مصاحبه های بک اند تعداد پروژه ها یا تعداد ابزار های خفنی که استفاده کردین مهم نیست!! چیزی که بیشتر مهمه اینکه چرا از اون ابزار یا اون زبون استفاده کردین!
که اغلب هم به این جمله ختم میشه: بقیه استفاده می کنن و منم استفاده کردم😃
امروز بیاین ببینیم اگه گفتن چرا از #Memcached به جای #redis استفاده نکردین، چی باید بگیم؟
redis و memcached جفتشون دو تا ابزار اوپن سورسن که می تونن سرعت اپلیکیشن مارو با کش کردن دیتا درون رم افزاش بدن. اما یه سری تفاوت ها و موارد استفاده برای هرکدوم وجود داره:
🔴 تایپ های داده ها: memcached اساسا یه key/value استور سادست برای استرینگ ها و دیتا تایپ های ساده ولی در مقابلش redis ساپورت خیلی خوبی داره از رنج وسیعی از تایپ ها! مثل استرینگ، هش، لیست و ...
🔴 نگهداری داده: توی redis شما می تونین دیتاتون رو #persistence کنین، یعنی اجازه بدین دیتاتون ریخته بشه توی دیسک و بعدش هر زمانی که بهش نیازش داشتین از دیسک دوباره انتقال داده میشه به مموری. در حالی که memcached این فیچر رو ساپورت نمی کنه و اگه سرورتون پایین بیاد یا ری استارت بشه دیتای ذخیره شدتون نابود میشه.
🔴 مموری و حافظه: memcached یه مقدار ثابت از مموریتون رو تایین می کنین و روی اون عملیات هاشو انجام میده در حالی که redis به طور داینمیک مموری خودش رو هر چقدر بخواد افزایش می ده و این موضوع باعث میشه redis انعطاف پذیرتر باشه ولی به این معنی که مموری بیشتری رو هم مصرف می کنه.(توی هر دو اگه مموری کامل پر بشه کلیدی که اخیرا کمترین استفاده رو شده از تو مموری حذف میشه)
🔴 کلاسترینگ: redis به طور داخلی دارای فیچر رپلیکیشن و پارتیشنینگ هستش و همین فیچر برای #ha کردن مناسبش می کنه. توی memcached ما این فیچر هارو نداریم ولی چون memcached دیزاین ساده ای داره، برای اسکیل کردن به صورت #horizontally خیلی مناسبه، یعنی می تونیم کلید هامون رو توی چندین memcached ذخیره کنیم.
🔴 همزمانی: memcached از ساختار مولتی ترد استفاده می کنه که بهش اجازه میده چندین کانکشن رو به طور همزمان با استفاده از ترد های جداگانه هندل کنه. در حالی که redis برای هندل کردن درخواست ها از یک ترد استفاده می کنه که این موضوع در memcached می تونه باعث بالا رفتن پرفورمنس با استفاده از همزمانی بشه.
بیایم یه جمع بندی بکنیم:
🔸 اگه تنها هدفتون کش کردن دیتاس، اگه به یه سیستم کش ساده علاقه دارین، اگه نمی خواین از دیتا تایپ های پیشرفته ای استفاده کنین، اگه دیتای زیادی دارین و می خواین با استفاده از چندین core از پرفورمنس مولتی ترد استفاده کنین، اگه می خواین سیستم کش کردنتون رو همون جوری که رشد می کنین به صورت horizontally گسترش بدین، در همه این موارد از memcached استفاده کنین.
🔸 با توجه به فیچر هایی که redis میده میشه گفت که دیگه فقط یه کشینگ سیستم نیست و میشه برای دیتابیس، مسیج بروکر یا به عنوان یه کیو هم ازش استفاده کرد. در حالی که memcached میشه گفت بیشتر برای سناریوهای ساده ذخیره سازی به کار میره جایی که پرسیست بودن دیتای برامون اهمیتی نداره و ساختار پیچیده ای ازش انتظار نداریم.
✅ رفقا شما هم اگه تجربه کش سیستم های دیگه ای رو دارین بگین یا شده یه جا به مشکلی بخورین که یه کش سیستم خاص فقط مشکل شما رو حل کرده باشه؟
پ.ن: اگه این محتوا رو دوست داشتین دمتون گرم که با لایک و Repost# حمایت می کنین!✌️
لینک در کامنت
✔️ مطالب مرتبط در کامنت
تو مصاحبه های بک اند تعداد پروژه ها یا تعداد ابزار های خفنی که استفاده کردین مهم نیست!! چیزی که بیشتر مهمه اینکه چرا از اون ابزار یا اون زبون استفاده کردین!
که اغلب هم به این جمله ختم میشه: بقیه استفاده می کنن و منم استفاده کردم😃
امروز بیاین ببینیم اگه گفتن چرا از #Memcached به جای #redis استفاده نکردین، چی باید بگیم؟
redis و memcached جفتشون دو تا ابزار اوپن سورسن که می تونن سرعت اپلیکیشن مارو با کش کردن دیتا درون رم افزاش بدن. اما یه سری تفاوت ها و موارد استفاده برای هرکدوم وجود داره:
🔴 تایپ های داده ها: memcached اساسا یه key/value استور سادست برای استرینگ ها و دیتا تایپ های ساده ولی در مقابلش redis ساپورت خیلی خوبی داره از رنج وسیعی از تایپ ها! مثل استرینگ، هش، لیست و ...
🔴 نگهداری داده: توی redis شما می تونین دیتاتون رو #persistence کنین، یعنی اجازه بدین دیتاتون ریخته بشه توی دیسک و بعدش هر زمانی که بهش نیازش داشتین از دیسک دوباره انتقال داده میشه به مموری. در حالی که memcached این فیچر رو ساپورت نمی کنه و اگه سرورتون پایین بیاد یا ری استارت بشه دیتای ذخیره شدتون نابود میشه.
🔴 مموری و حافظه: memcached یه مقدار ثابت از مموریتون رو تایین می کنین و روی اون عملیات هاشو انجام میده در حالی که redis به طور داینمیک مموری خودش رو هر چقدر بخواد افزایش می ده و این موضوع باعث میشه redis انعطاف پذیرتر باشه ولی به این معنی که مموری بیشتری رو هم مصرف می کنه.(توی هر دو اگه مموری کامل پر بشه کلیدی که اخیرا کمترین استفاده رو شده از تو مموری حذف میشه)
🔴 کلاسترینگ: redis به طور داخلی دارای فیچر رپلیکیشن و پارتیشنینگ هستش و همین فیچر برای #ha کردن مناسبش می کنه. توی memcached ما این فیچر هارو نداریم ولی چون memcached دیزاین ساده ای داره، برای اسکیل کردن به صورت #horizontally خیلی مناسبه، یعنی می تونیم کلید هامون رو توی چندین memcached ذخیره کنیم.
🔴 همزمانی: memcached از ساختار مولتی ترد استفاده می کنه که بهش اجازه میده چندین کانکشن رو به طور همزمان با استفاده از ترد های جداگانه هندل کنه. در حالی که redis برای هندل کردن درخواست ها از یک ترد استفاده می کنه که این موضوع در memcached می تونه باعث بالا رفتن پرفورمنس با استفاده از همزمانی بشه.
بیایم یه جمع بندی بکنیم:
🔸 اگه تنها هدفتون کش کردن دیتاس، اگه به یه سیستم کش ساده علاقه دارین، اگه نمی خواین از دیتا تایپ های پیشرفته ای استفاده کنین، اگه دیتای زیادی دارین و می خواین با استفاده از چندین core از پرفورمنس مولتی ترد استفاده کنین، اگه می خواین سیستم کش کردنتون رو همون جوری که رشد می کنین به صورت horizontally گسترش بدین، در همه این موارد از memcached استفاده کنین.
🔸 با توجه به فیچر هایی که redis میده میشه گفت که دیگه فقط یه کشینگ سیستم نیست و میشه برای دیتابیس، مسیج بروکر یا به عنوان یه کیو هم ازش استفاده کرد. در حالی که memcached میشه گفت بیشتر برای سناریوهای ساده ذخیره سازی به کار میره جایی که پرسیست بودن دیتای برامون اهمیتی نداره و ساختار پیچیده ای ازش انتظار نداریم.
✅ رفقا شما هم اگه تجربه کش سیستم های دیگه ای رو دارین بگین یا شده یه جا به مشکلی بخورین که یه کش سیستم خاص فقط مشکل شما رو حل کرده باشه؟
پ.ن: اگه این محتوا رو دوست داشتین دمتون گرم که با لایک و Repost# حمایت می کنین!✌️
❤10👍4
Forwarded from BenDev
دیدین قبل از پایان هفته رسوندم 😁
اینم ویدیو داغ حل سوال دوم لیت کد مبحث لینک لیست
درجه سختی این سوال متوسطه یعنی از قبلی سخت تره
ولی نگران نباشین فکر میکنم تمیز توضیح دادم اینو ببینین که ویدیو لینک لیست رو که بدم قشنگ درکش کنین
https://youtu.be/vpdzQ-PGQi4
@BenDevelop
اینم ویدیو داغ حل سوال دوم لیت کد مبحث لینک لیست
درجه سختی این سوال متوسطه یعنی از قبلی سخت تره
ولی نگران نباشین فکر میکنم تمیز توضیح دادم اینو ببینین که ویدیو لینک لیست رو که بدم قشنگ درکش کنین
https://youtu.be/vpdzQ-PGQi4
@BenDevelop
YouTube
مبحث لینک لیست Add two number Medium Leetcode - قسمت دوم حل
قسمت دوم حل سوالات
LeetCode - Medium - Add two number
سوال دوم لیت کد که در مبحث لینک لیست هستش
+ linkelist
▬ محتوای ویدیو ▬▬▬▬▬▬▬▬▬▬
ما تو این ویدیو قصد داریم که به سراغ سوال دوم لیت کد
که سوال add two number هستش بپردازیم
و روش بهینه حل سوال رو…
LeetCode - Medium - Add two number
سوال دوم لیت کد که در مبحث لینک لیست هستش
+ linkelist
▬ محتوای ویدیو ▬▬▬▬▬▬▬▬▬▬
ما تو این ویدیو قصد داریم که به سراغ سوال دوم لیت کد
که سوال add two number هستش بپردازیم
و روش بهینه حل سوال رو…
❤4
Forwarded from BenDev
قسمت سوم الگوریتم و ساختمان داده لینک لیست 🔥🔥
این ویدیو ویدیو بسیار مهمی هستش
توی این ویدیو اول با استفاده از کلاس های پایتون ساختمان داده لیست رو از ابتدا میزنیم و مشکلش رو بررسی میکنیم
و در ادامه همین کارو برای لینک لیست انجام میدهیم و مزایا و معایبش و کاربرد هاش رو برسی میکنیم
در انتها سراغ بحث صف و پشته (queue and stack) می ریم و deque رو بررسی میکنیم
امیدوارم لذت ببرین
https://youtu.be/a-PvBTBx5M8
@BenDevelop
این ویدیو ویدیو بسیار مهمی هستش
توی این ویدیو اول با استفاده از کلاس های پایتون ساختمان داده لیست رو از ابتدا میزنیم و مشکلش رو بررسی میکنیم
و در ادامه همین کارو برای لینک لیست انجام میدهیم و مزایا و معایبش و کاربرد هاش رو برسی میکنیم
در انتها سراغ بحث صف و پشته (queue and stack) می ریم و deque رو بررسی میکنیم
امیدوارم لذت ببرین
https://youtu.be/a-PvBTBx5M8
@BenDevelop
YouTube
ویدیو سوم - لیست , لینک لیست و deque
ویدیو سوم لیست , لینک لیست و deque
algorithm, data structure, list, linked list, deque
+ لیست
+ لینک لیست
+ deque
+ queue
+ stack
▬ محتوای ویدیو ▬▬▬▬▬▬▬▬▬▬
ما تو این ویدیو قصد داریم که تمام کانسپ های مورد نیاز مربوط به لینک لیست هارو بررسی کنیم
…
algorithm, data structure, list, linked list, deque
+ لیست
+ لینک لیست
+ deque
+ queue
+ stack
▬ محتوای ویدیو ▬▬▬▬▬▬▬▬▬▬
ما تو این ویدیو قصد داریم که تمام کانسپ های مورد نیاز مربوط به لینک لیست هارو بررسی کنیم
…
❤5
Forwarded from Learn With Mehdi
سلام به همه
چند وقتی هست که کتابخانه بورس تهران (احتمالا بخاطر تغییراتی توی سایت tsetmc) با خطا مواجه میشه.
امروز میخوام به صورت لایو مشکل رو بررسی کنم.
توی این لایو احتمالا
- محیط توسعه رو راهاندازی میکنیم.
- تلاش میکنیم تستهای موجود توی کتابخانه رو بهتر کنیم تا بتونیم راحتتر مشکل رو پیدا و رفع کنیم.
- تلاش میکنیم مشکل رو رفع کنیم!(ممکنه موفق نشیم.🤷)
کمتر از یک ساعت دیگه میبینمتون
برای اینکه بتونید از ابتدای لایو همراه باشید دکمه notify رو برای این ویدیو بزنید.
https://www.youtube.com/live/BGixxBvkc8A
چند وقتی هست که کتابخانه بورس تهران (احتمالا بخاطر تغییراتی توی سایت tsetmc) با خطا مواجه میشه.
امروز میخوام به صورت لایو مشکل رو بررسی کنم.
توی این لایو احتمالا
- محیط توسعه رو راهاندازی میکنیم.
- تلاش میکنیم تستهای موجود توی کتابخانه رو بهتر کنیم تا بتونیم راحتتر مشکل رو پیدا و رفع کنیم.
- تلاش میکنیم مشکل رو رفع کنیم!(ممکنه موفق نشیم.🤷)
کمتر از یک ساعت دیگه میبینمتون
برای اینکه بتونید از ابتدای لایو همراه باشید دکمه notify رو برای این ویدیو بزنید.
https://www.youtube.com/live/BGixxBvkc8A
👍2👏1
Learn With Mehdi
سلام به همه چند وقتی هست که کتابخانه بورس تهران (احتمالا بخاطر تغییراتی توی سایت tsetmc) با خطا مواجه میشه. امروز میخوام به صورت لایو مشکل رو بررسی کنم. توی این لایو احتمالا - محیط توسعه رو راهاندازی میکنیم. - تلاش میکنیم تستهای موجود توی کتابخانه رو…
نسخه 2.0.0 بورس تهران آماده شد.
https://github.com/ghodsizadeh/tehran-stocks
ممنون میشم اگر از این کتابخانه استفاده میکنید بهش ستاره بدید.
اگر که مایل بودید ببینید چهجوری مشکل حل شده این ویدیو رو ببینید:
https://www.youtube.com/watch?v=BGixxBvkc8A&t
توی این نسخه با سیستم جدید سایت بورس تهران به خوبی کار میکنه.
پشتیبانی از نسخه ۳.۷ حذف شد ولی میتونید که هزینهای بود که برای پشتیبانی از نسخه ۳.۱۱ باید میدادیم!
https://github.com/ghodsizadeh/tehran-stocks
ممنون میشم اگر از این کتابخانه استفاده میکنید بهش ستاره بدید.
اگر که مایل بودید ببینید چهجوری مشکل حل شده این ویدیو رو ببینید:
https://www.youtube.com/watch?v=BGixxBvkc8A&t
توی این نسخه با سیستم جدید سایت بورس تهران به خوبی کار میکنه.
پشتیبانی از نسخه ۳.۷ حذف شد ولی میتونید که هزینهای بود که برای پشتیبانی از نسخه ۳.۱۱ باید میدادیم!
GitHub
GitHub - ghodsizadeh/tehran-stocks: A python package to access tsetmc data
A python package to access tsetmc data. Contribute to ghodsizadeh/tehran-stocks development by creating an account on GitHub.
👍3
✅ این سوال رو توی لینکدین پرسیدم.
من هنوز دارم html css یاد میگیرم
اگه کسی جوابش رو میدونه با ذکر دلیل به من بگه
✔️ اگه منبع/کتاب/دوره/داکیومنت یا... برای یادگرفتن اصولی html css میشناسید . ممنون میشم معرفی کنید.
متشکرم
لینک پست لینکدین:
https://www.linkedin.com/posts/miladhzz_html-css-activity-7094431350857809921-dL50?utm_source=share&utm_medium=member_desktop
من هنوز دارم html css یاد میگیرم
اگه کسی جوابش رو میدونه با ذکر دلیل به من بگه
✔️ اگه منبع/کتاب/دوره/داکیومنت یا... برای یادگرفتن اصولی html css میشناسید . ممنون میشم معرفی کنید.
متشکرم
لینک پست لینکدین:
https://www.linkedin.com/posts/miladhzz_html-css-activity-7094431350857809921-dL50?utm_source=share&utm_medium=member_desktop
👍2❤1