چند نکته کلیدی در مورد شماره پورت:
- پورت ها با اعداد صحیح بین 0 تا 65535 شناسایی می شوند. این محدوده به عنوان فضای شماره پورت شناخته می شود.
0-1023
- شماره پورت های پایین تر (0-1023) به عنوان پورت های شناخته شده و برای پروتکل های خاص رزرو شده اند. به عنوان مثال، پورت 80 برای ترافیک HTTP استفاده می شود.
1024-49151
- شماره پورت های بالاتر (1024-49151) پورت های ثبت شده ای هستند که هم توسط کلاینت ها و هم توسط سرورها برای برنامه ها و خدمات خاص قابل استفاده هستند.
پورتهای اپلیکیشنها و سرویسهای نرمافزاری معمولاً در محدودهای بین عدد 1024 و 49151 هستند.
اپلیکیشنهای معمول نرمافزاری مانند پوستگرس، ردیس و مایاسکیوال عموماً از پورتهای ثابت و ثبتشده در محدوده 1024 تا 49151 استفاده میکنند.
برای مثال پورت پستگرس 5432 و ردیس 6379 است که هر دو در این محدوده قرار دارند.
49152-65535
محدوده پورتهای 49152 تا 65535 به طور معمول برای پورتهای خصوصی و پورتهای برگشتی که توسط کلاینت درخواست میشوند، اختصاص داده میشود.
- پورت های پویا و/یا خصوصی از 49152 تا 65535 متغیر است. این پورت ها معمولاً بر اساس تقاضا تخصیص داده می شوند و اغلب برای ترافیک برگشتی برای اتصالات شروع شده از مشتری استفاده می شوند.
#port
@khat_academy
- پورت ها با اعداد صحیح بین 0 تا 65535 شناسایی می شوند. این محدوده به عنوان فضای شماره پورت شناخته می شود.
0-1023
- شماره پورت های پایین تر (0-1023) به عنوان پورت های شناخته شده و برای پروتکل های خاص رزرو شده اند. به عنوان مثال، پورت 80 برای ترافیک HTTP استفاده می شود.
1024-49151
- شماره پورت های بالاتر (1024-49151) پورت های ثبت شده ای هستند که هم توسط کلاینت ها و هم توسط سرورها برای برنامه ها و خدمات خاص قابل استفاده هستند.
پورتهای اپلیکیشنها و سرویسهای نرمافزاری معمولاً در محدودهای بین عدد 1024 و 49151 هستند.
اپلیکیشنهای معمول نرمافزاری مانند پوستگرس، ردیس و مایاسکیوال عموماً از پورتهای ثابت و ثبتشده در محدوده 1024 تا 49151 استفاده میکنند.
برای مثال پورت پستگرس 5432 و ردیس 6379 است که هر دو در این محدوده قرار دارند.
49152-65535
محدوده پورتهای 49152 تا 65535 به طور معمول برای پورتهای خصوصی و پورتهای برگشتی که توسط کلاینت درخواست میشوند، اختصاص داده میشود.
- پورت های پویا و/یا خصوصی از 49152 تا 65535 متغیر است. این پورت ها معمولاً بر اساس تقاضا تخصیص داده می شوند و اغلب برای ترافیک برگشتی برای اتصالات شروع شده از مشتری استفاده می شوند.
#port
@khat_academy
👍9
چرا پورت بین 0 تا 65535 است؟ آیا نمی توان پورت بیشتری برای استفاده تنظیم کرد؟
خیر، پورت ها را نمی توان در یک کامپیوتر بیشتر از 65535 شماره گذاری کرد. 65535 حداکثر تعداد محدوده پورت است که برای برنامه ها و پروتکل های شبکه برای استفاده در دسترس است.
چند دلیل کلیدی که چرا پورت ها نمی توانند بالاتر از 65535 بروند:
فیلد پورت در هدرهای TCP و UDP 16 بیت است. با 16 بیت، می توانید اعداد باینری را تا 65535 نمایش دهید (2^16 - 1). بنابراین شماره پورت از نظر فنی به این محدوده توسط مشخصات پروتکل محدود شده است.
IANA
(مرجع شماره های اختصاص داده شده به اینترنت) مسئول هماهنگی تخصیص شماره پورت است. آنها محدوده پورت را 0-65535 استاندارد کرده اند. هیچ نهاد استانداردی افزایش این محدوده را پیشنهاد نکرده است.
شماره پورت به شناسایی منحصر به فرد پروتکل حمل و نقل (TCP/UDP)، آدرس های IP و برنامه یا فرآیند خاص در یک سوکت کمک می کند. افزایش رنج مستلزم تغییراتی در پروتکلها و سیستمهای شبکه است.
در عمل، محدوده پورت 65535 تعداد بسیار زیادی از پورت های موجود را برای برنامه های کاربردی در حال حاضر فراهم می کند. تخصیص فضای بیشتر از حد نیاز بسیار ناکارآمد خواهد بود.
بنابراین به طور خلاصه، به دلیل محدودیتهای فنی، استانداردها و کافی بودن، پورتها روی 65535 محدود شدهاند. افزایش رنج به تغییرات عمده در مشخصات و پیاده سازی شبکه اصلی نیاز دارد.
#port
@khat_academy
خیر، پورت ها را نمی توان در یک کامپیوتر بیشتر از 65535 شماره گذاری کرد. 65535 حداکثر تعداد محدوده پورت است که برای برنامه ها و پروتکل های شبکه برای استفاده در دسترس است.
چند دلیل کلیدی که چرا پورت ها نمی توانند بالاتر از 65535 بروند:
فیلد پورت در هدرهای TCP و UDP 16 بیت است. با 16 بیت، می توانید اعداد باینری را تا 65535 نمایش دهید (2^16 - 1). بنابراین شماره پورت از نظر فنی به این محدوده توسط مشخصات پروتکل محدود شده است.
IANA
(مرجع شماره های اختصاص داده شده به اینترنت) مسئول هماهنگی تخصیص شماره پورت است. آنها محدوده پورت را 0-65535 استاندارد کرده اند. هیچ نهاد استانداردی افزایش این محدوده را پیشنهاد نکرده است.
شماره پورت به شناسایی منحصر به فرد پروتکل حمل و نقل (TCP/UDP)، آدرس های IP و برنامه یا فرآیند خاص در یک سوکت کمک می کند. افزایش رنج مستلزم تغییراتی در پروتکلها و سیستمهای شبکه است.
در عمل، محدوده پورت 65535 تعداد بسیار زیادی از پورت های موجود را برای برنامه های کاربردی در حال حاضر فراهم می کند. تخصیص فضای بیشتر از حد نیاز بسیار ناکارآمد خواهد بود.
بنابراین به طور خلاصه، به دلیل محدودیتهای فنی، استانداردها و کافی بودن، پورتها روی 65535 محدود شدهاند. افزایش رنج به تغییرات عمده در مشخصات و پیاده سازی شبکه اصلی نیاز دارد.
#port
@khat_academy
👍8
معماری Microservices با هسته Monolithic
پس از ایجاد یک برنامه Monolithic، انتقال چند قسمت از سیستم به سرویسهای کوچک برای تقویت حد و مرز، سرعت بخشیدن، افزایش تست پذیری و منفرد و آسانتر کردن مقیاسپذیری مستقل آنها میتواند مفید باشد. به عبارت دیگر، در حالی که Monolithic هنوز عملکرد اصلی را حفظ می کند، بسیاری از قطعات را می توان به خدمات جانبی کوچکی را برون سپاری کرد.
هسته Monolithic
منطق اصلی کسبوکار در یکپارچگی اصلی باقی میماند، اما مواردی مانند
background jobs، notifications،
یا سایر سیستمهای فرعی کوچک که میتوانند به برنامههای کاربردی خود منتقل شوند.
مثال:
گر تیم توسعه دهنده تصمیم بگیرد که از معماری Monolithic به نوع Microservices تغییر مسیر دهد، نیازی به نوشتن کل برنامه از ابتدا نیست. در این شرایط میتوان فقط کامپوننتهایی را که دردسر ساز شدهاند، به نوع سرویسی آن تبدیل کرد. به این نوع برنامههای سمت سروری که بخش اصلی برنامه به صورت Monolithic ولی برخی از عملکردهای خاص آن به صورت سرویسی نوشته شده باشد، اصطلاحا معماری Microservices با هسته Monolithic گفته میشود.
more
@khat_academy
پس از ایجاد یک برنامه Monolithic، انتقال چند قسمت از سیستم به سرویسهای کوچک برای تقویت حد و مرز، سرعت بخشیدن، افزایش تست پذیری و منفرد و آسانتر کردن مقیاسپذیری مستقل آنها میتواند مفید باشد. به عبارت دیگر، در حالی که Monolithic هنوز عملکرد اصلی را حفظ می کند، بسیاری از قطعات را می توان به خدمات جانبی کوچکی را برون سپاری کرد.
هسته Monolithic
منطق اصلی کسبوکار در یکپارچگی اصلی باقی میماند، اما مواردی مانند
background jobs، notifications،
یا سایر سیستمهای فرعی کوچک که میتوانند به برنامههای کاربردی خود منتقل شوند.
مثال:
گر تیم توسعه دهنده تصمیم بگیرد که از معماری Monolithic به نوع Microservices تغییر مسیر دهد، نیازی به نوشتن کل برنامه از ابتدا نیست. در این شرایط میتوان فقط کامپوننتهایی را که دردسر ساز شدهاند، به نوع سرویسی آن تبدیل کرد. به این نوع برنامههای سمت سروری که بخش اصلی برنامه به صورت Monolithic ولی برخی از عملکردهای خاص آن به صورت سرویسی نوشته شده باشد، اصطلاحا معماری Microservices با هسته Monolithic گفته میشود.
more
@khat_academy
👍9
پیشخان توسعهدهندگان کافهبازار: از Monolithic به Microservices
بخوبی توضیح داده از اون ابتدا که با معماری monolithic جنگو شروع کردن و ...
@khat_academy
https://virgool.io/cafebazaar/%D9%BE%DB%8C%D8%B4%D8%AE%D8%A7%D9%86-%D8%AA%D9%88%D8%B3%D8%B9%D9%87%D8%AF%D9%87%D9%86%D8%AF%DA%AF%D8%A7%D9%86-%DA%A9%D8%A7%D9%81%D9%87%D8%A8%D8%A7%D8%B2%D8%A7%D8%B1-%D8%A7%D8%B2-monolithic-%D8%A8%D9%87-microservices-aesbnymda2gi
بخوبی توضیح داده از اون ابتدا که با معماری monolithic جنگو شروع کردن و ...
@khat_academy
https://virgool.io/cafebazaar/%D9%BE%DB%8C%D8%B4%D8%AE%D8%A7%D9%86-%D8%AA%D9%88%D8%B3%D8%B9%D9%87%D8%AF%D9%87%D9%86%D8%AF%DA%AF%D8%A7%D9%86-%DA%A9%D8%A7%D9%81%D9%87%D8%A8%D8%A7%D8%B2%D8%A7%D8%B1-%D8%A7%D8%B2-monolithic-%D8%A8%D9%87-microservices-aesbnymda2gi
👍6🎉1
تو این قسمت از khat weekly، مهمون ما امین علی مزاریان هست که توسعه دهنده بک انده (Python Back-end developer)
اما جز اینکه تو برنامه نویسی کارش خوبه،توی مهارت های نرم و رزومه نویسی هم تجربیات خوبی داره و قراره تو میت از ساخت یک رزومه مناسب تا مصاحبه صحبت کنیم 💥
پیشنهاد میکنم حتما این قسمتو دنبال کنید چون قراره کلی چیز از امین علی یاد بگیریم.
همچنین هر سوالی دارید، تو کامنت بپرسید تا توی میت دربارش صحبت کنیم
تاریخ میت:
چهارشنبه ۱۹ مهر ساعت ۱۹:۰۰ (گوگل میت)
https://www.linkedin.com/in/aminalih47/
https://github.com/AminAliH47
#meet #weekly
@khat_academy
اما جز اینکه تو برنامه نویسی کارش خوبه،توی مهارت های نرم و رزومه نویسی هم تجربیات خوبی داره و قراره تو میت از ساخت یک رزومه مناسب تا مصاحبه صحبت کنیم 💥
پیشنهاد میکنم حتما این قسمتو دنبال کنید چون قراره کلی چیز از امین علی یاد بگیریم.
همچنین هر سوالی دارید، تو کامنت بپرسید تا توی میت دربارش صحبت کنیم
تاریخ میت:
چهارشنبه ۱۹ مهر ساعت ۱۹:۰۰ (گوگل میت)
https://www.linkedin.com/in/aminalih47/
https://github.com/AminAliH47
#meet #weekly
@khat_academy
🔥8😁5👎1🥰1
Syntax | سینتکس
http://meet.google.com/wbf-ywnx-dao لینک میت 🔥 جوین شید
خیلی ممنون از عزیزانی که حضور داشتن🙏
فردا شب ساعت هفت در خصوص کار ریموت و ادامه مباحثی امشب صحبت می شه
فردا شب ساعت هفت در خصوص کار ریموت و ادامه مباحثی امشب صحبت می شه
❤8
چند نکته وقتی که دارید از gunicron به عنوان wsgi application server استفاده می کنید:
امکان استفاده از چند پروسس: gunicorn هم مانند uWSGI امکان استفاده از چند پروسس و ترد همزمان را فراهم می کنه
- میتوانید با پارامتر -w تعداد رکوئست هندلرها (workers) را مشخص کنید.
- پیشفرض تعداد ورکر ها یکی هست.
- میتوانید این تعداد را بر اساس مقدار CPUها یا میزان ترافیک تنظیم کنید.
- هر worker میتواند چند تا ترد برای هندل کردن رکوئستها داشته باشد که با -t تنظیم میشود.
بنابراین gunicorn قادر است به طور موازی از چند پروسس و ترد برای اسکیل مناسب سرویس خود استفاده کند.
https://docs.gunicorn.org/en/stable/design.html
#بک_اند
@khat_academy
امکان استفاده از چند پروسس: gunicorn هم مانند uWSGI امکان استفاده از چند پروسس و ترد همزمان را فراهم می کنه
- میتوانید با پارامتر -w تعداد رکوئست هندلرها (workers) را مشخص کنید.
- پیشفرض تعداد ورکر ها یکی هست.
- میتوانید این تعداد را بر اساس مقدار CPUها یا میزان ترافیک تنظیم کنید.
- هر worker میتواند چند تا ترد برای هندل کردن رکوئستها داشته باشد که با -t تنظیم میشود.
بنابراین gunicorn قادر است به طور موازی از چند پروسس و ترد برای اسکیل مناسب سرویس خود استفاده کند.
https://docs.gunicorn.org/en/stable/design.html
#بک_اند
@khat_academy
👍8❤2
Syntax | سینتکس
چند نکته وقتی که دارید از gunicron به عنوان wsgi application server استفاده می کنید: امکان استفاده از چند پروسس: gunicorn هم مانند uWSGI امکان استفاده از چند پروسس و ترد همزمان را فراهم می کنه - میتوانید با پارامتر -w تعداد رکوئست هندلرها (workers) را مشخص…
برای آشنایی بیشتر با وب سرور و gunicorn این ویدیو رو پیشنهاد میدم:
https://www.youtube.com/watch?v=krxOBlqLjjE&list=PLRU2zoAmuzJ33x-___WkhyTJ8dDPaoOPk&index=3
@khat_academy
https://www.youtube.com/watch?v=krxOBlqLjjE&list=PLRU2zoAmuzJ33x-___WkhyTJ8dDPaoOPk&index=3
@khat_academy
👍9
چهار تا زبان پرکاربر برنامه نویسی که شاید خیلیا اسمشم نشنیده باشن !
Elixir:
Designed by: José Valim
First appeared: 2012; 11 years ago
زبان برنامه نویسی Elixir یک زبان برنامه نویسی کاربردی، همزمان و عمومی است که بر روی ماشین مجازی Erlang اجرا می شود . Elixir از Erlang تولید می شود و از همان انتزاع برای ساخت برنامه های توزیع شده و مقیاس پذیر استفاده می کند. Elixir همچنین یک ابزار تولیدی و یک طراحی گسترده را فراهم می کند. زبان برنامه نویسی Elixir برای توسعه وب توسط شرکت هایی مانند Bleacher Report، Discord و Inverse و همچنین برای ساخت سیستم های تعبیه شده مورد استقاده قرار می گیرد.
طبق گزارش Stackoverflow زبان Elixir یکی از پر درآمدترین زبانهای برنامهنویسی در سال ۲۰۱۹ در سطح دنیا بوده.
Clojure:
Designed by: Rich Hickey
Family: Lisp
First appeared: 2007; 16 years ago
کلوژر (Clojure) گویشی از زبان برنامهنویسی لیسپ است که توسط ریچ هیکی ایجاد شدهاست. این زبان، یک زبان همهمنظوره تابعی است. کد کلوژر به بایتکد ماشین مجازی جاوا کامپایل میشود، بنابراین میتواند از کتابخانههای جاوا استفاده کند.
طبق گزارش Stackoverflow زبان Clojure یکی از پر درآمدترین زبانهای برنامهنویسی در سال ۲۰۱۹ در سطح دنیا بوده.
Scala:
Designed by: Martin Odersky
First appeared: 20 January 2004; 19 years ago
طی سالهای اخیر توجه شرکتها و مؤسسات بیشتری به سمت اسکالا جذب شدهاست. بلوغ اسکالا باعث شده تا نه تنها شرکتهای پیشرو در صنعت IT (همچون Twitter، LinkedIn و ...) بلکه شرکتهای ریز و درشت بسیاری که تنها مصرف کنندگان محصولات فناوری هستند نیز به استفاده از این زبان و بستر منحصر به فرد آن رو بیاورند. ابزارهای Build و Test، کتابخانه و چارچوبهای منحصر به فردی همچون Scalaz، Play، Akka و ... در کنار دسترسی به طیف گستردهٔ کتابخانههای جاوا، اسکالا را به یکی از بهترین گزینهها برای تولید انواع محصولات نرمافزاری تبدیل کرده.
طبق گزارش Stackoverflow زبان scala یکی از پر درآمدترین زبانهای برنامهنویسی در سال ۲۰۱۹ در سطح دنیا بوده.
Lua:
First appeared: 1993; 30 years ago
این زبان در بسیاری از برنامه های کاربردی صنعتی مانند Adobe Photoshop مورد استفاده قرار گرفته است. این زبان در حال حاضر پیشگام زبان اسکریپت در بازی است و دارای یک راهنمای مرجع کامل و جامع و چندین کتاب در مورد آن است.
سرعت: این زبان شهرت خوبی در عملکرد و کارایی دارد و ادعا می کند که سرعت آن، آرزوی دیگر زبان های برنامه نویسی است. معیار های چندگانه Lua نشان می دهند که این زبان سریع ترین زبان در حوزه زبان های اسکریپت تفسیر شده است.
@khat_academy
Elixir:
Designed by: José Valim
First appeared: 2012; 11 years ago
زبان برنامه نویسی Elixir یک زبان برنامه نویسی کاربردی، همزمان و عمومی است که بر روی ماشین مجازی Erlang اجرا می شود . Elixir از Erlang تولید می شود و از همان انتزاع برای ساخت برنامه های توزیع شده و مقیاس پذیر استفاده می کند. Elixir همچنین یک ابزار تولیدی و یک طراحی گسترده را فراهم می کند. زبان برنامه نویسی Elixir برای توسعه وب توسط شرکت هایی مانند Bleacher Report، Discord و Inverse و همچنین برای ساخت سیستم های تعبیه شده مورد استقاده قرار می گیرد.
طبق گزارش Stackoverflow زبان Elixir یکی از پر درآمدترین زبانهای برنامهنویسی در سال ۲۰۱۹ در سطح دنیا بوده.
Clojure:
Designed by: Rich Hickey
Family: Lisp
First appeared: 2007; 16 years ago
کلوژر (Clojure) گویشی از زبان برنامهنویسی لیسپ است که توسط ریچ هیکی ایجاد شدهاست. این زبان، یک زبان همهمنظوره تابعی است. کد کلوژر به بایتکد ماشین مجازی جاوا کامپایل میشود، بنابراین میتواند از کتابخانههای جاوا استفاده کند.
طبق گزارش Stackoverflow زبان Clojure یکی از پر درآمدترین زبانهای برنامهنویسی در سال ۲۰۱۹ در سطح دنیا بوده.
Scala:
Designed by: Martin Odersky
First appeared: 20 January 2004; 19 years ago
طی سالهای اخیر توجه شرکتها و مؤسسات بیشتری به سمت اسکالا جذب شدهاست. بلوغ اسکالا باعث شده تا نه تنها شرکتهای پیشرو در صنعت IT (همچون Twitter، LinkedIn و ...) بلکه شرکتهای ریز و درشت بسیاری که تنها مصرف کنندگان محصولات فناوری هستند نیز به استفاده از این زبان و بستر منحصر به فرد آن رو بیاورند. ابزارهای Build و Test، کتابخانه و چارچوبهای منحصر به فردی همچون Scalaz، Play، Akka و ... در کنار دسترسی به طیف گستردهٔ کتابخانههای جاوا، اسکالا را به یکی از بهترین گزینهها برای تولید انواع محصولات نرمافزاری تبدیل کرده.
طبق گزارش Stackoverflow زبان scala یکی از پر درآمدترین زبانهای برنامهنویسی در سال ۲۰۱۹ در سطح دنیا بوده.
Lua:
First appeared: 1993; 30 years ago
این زبان در بسیاری از برنامه های کاربردی صنعتی مانند Adobe Photoshop مورد استفاده قرار گرفته است. این زبان در حال حاضر پیشگام زبان اسکریپت در بازی است و دارای یک راهنمای مرجع کامل و جامع و چندین کتاب در مورد آن است.
سرعت: این زبان شهرت خوبی در عملکرد و کارایی دارد و ادعا می کند که سرعت آن، آرزوی دیگر زبان های برنامه نویسی است. معیار های چندگانه Lua نشان می دهند که این زبان سریع ترین زبان در حوزه زبان های اسکریپت تفسیر شده است.
@khat_academy
👍6👎2
کامپیوتر کوانتومی
قراره درباره کامپیوتر صحبت کنم😁
بریم ببینیم چیه تا برسیم به کامپیوتر های کوانتومی
کامپیوتر از کلمه computing میاد یعنی محاسبه کردن
تنهاچیزی که ما می تونیم توی دنیای الکترونیک و دنیای کامپیوتر کنترل کنیم جریان الکتریکی هستش.
جریان الکتریکی هم هیچی نیست جز حرکت الکترون و اگه این جریان وجود داشته باشه ما میگیم به اصطلاح روشن یا 1 و اگه وجود نداشته باشه میگیم خاموش و یا 0
این دو تا موضوع رو ما می تونستیم به کامپیوتر بفهمونیم از طریق علم فیزیک.
تنها کاری که ما کردیم اینه که ترانزیستور رو بوجود بیاریم
ترانزیستور هم کارش قطع و وصل کردن جریان برقه
یعنی اگه برقو از خودش عبور بده کامپیوتر میفهمه 1 هستش و اگه عبور نده میشه 0
توی سال 1958 یک مدار مثلا خیلی کوچیکی یک سانتی متر در یک سانتی متر دو تا ترانزیستور توش بوده یعنی برای ما می تونسته فقط چهار تا محاسبه رو یا چهار تا حالتو به نمایش بذاره.
تو سال 2020 یک چیپ ساده IBM بیشتر از یک بیلیون ترانزیستور داره !!
خودتون تصور کنید چقدر حالت می تونه داشته باشه و چقدر محاسبه بیشتر
ولی ما رسیدیم به یه حد و مرز!
(ادامه توکامنت)
#computer
@khat_academy
قراره درباره کامپیوتر صحبت کنم😁
بریم ببینیم چیه تا برسیم به کامپیوتر های کوانتومی
کامپیوتر از کلمه computing میاد یعنی محاسبه کردن
تنهاچیزی که ما می تونیم توی دنیای الکترونیک و دنیای کامپیوتر کنترل کنیم جریان الکتریکی هستش.
جریان الکتریکی هم هیچی نیست جز حرکت الکترون و اگه این جریان وجود داشته باشه ما میگیم به اصطلاح روشن یا 1 و اگه وجود نداشته باشه میگیم خاموش و یا 0
این دو تا موضوع رو ما می تونستیم به کامپیوتر بفهمونیم از طریق علم فیزیک.
تنها کاری که ما کردیم اینه که ترانزیستور رو بوجود بیاریم
ترانزیستور هم کارش قطع و وصل کردن جریان برقه
یعنی اگه برقو از خودش عبور بده کامپیوتر میفهمه 1 هستش و اگه عبور نده میشه 0
توی سال 1958 یک مدار مثلا خیلی کوچیکی یک سانتی متر در یک سانتی متر دو تا ترانزیستور توش بوده یعنی برای ما می تونسته فقط چهار تا محاسبه رو یا چهار تا حالتو به نمایش بذاره.
تو سال 2020 یک چیپ ساده IBM بیشتر از یک بیلیون ترانزیستور داره !!
خودتون تصور کنید چقدر حالت می تونه داشته باشه و چقدر محاسبه بیشتر
ولی ما رسیدیم به یه حد و مرز!
(ادامه توکامنت)
#computer
@khat_academy
🔥4👏3😍1
چند تا عکس ببینید از کوانتوم کامپیوتر
دمای هستش باید یچی در حد صفر مطلق یعنی -273 باشه 😱
این مقاله رو بخونید:
https://www.thebroadcastbridge.com/content/entry/14159/instant-answers-from-the-universe
#computer
@khat_academy
دمای هستش باید یچی در حد صفر مطلق یعنی -273 باشه 😱
این مقاله رو بخونید:
https://www.thebroadcastbridge.com/content/entry/14159/instant-answers-from-the-universe
#computer
@khat_academy
😱4
دارم #کتاب زندگی ایلان #ماسک رو میخونم. اولش به نظرم کتاب جذابی نیومد ولی بعد بهتر شد؛ بخصوص که به خاطر فصلهای کوتاه کتاب راحت خونی است. اما اینبار منتظر نموندم تا کل کتاب رو بخونم و به شکل خلاصه نظرم رو بگم. اینبار تست میکنم که توی چند تا ویدئو، تیکه تیکه براتون کتاب و جاهای جالبش رو تعریف کنم و ببین مچی میشه.
در قسمت اول، از کودکی تا رفتن به کانادا و تاسیس شرکت زیپ ۲ و رسیدن به اولین میلیونها حرف میزنم.
https://youtu.be/TLwZ6kyBu90
[جادی دوست داشتنی]
در قسمت اول، از کودکی تا رفتن به کانادا و تاسیس شرکت زیپ ۲ و رسیدن به اولین میلیونها حرف میزنم.
https://youtu.be/TLwZ6kyBu90
[جادی دوست داشتنی]
YouTube
بررسی کتاب زندگینامه ایلان ماسک؛ قسمت اول از کودکی تا رفتن به کانادا و شرکت زیپ۲ و اولین میلیونها
دارم #کتاب زندگی ایلان #ماسک رو میخونم. اولش به نظرم کتاب جذابی نیومد ولی بعد بهتر شد؛ بخصوص که به خاطر فصلهای کوتاه کتاب راحت خونی است. اما اینبار منتظر نموندم تا کل کتاب رو بخونم و به شکل خلاصه نظرم رو بگم. اینبار تست میکنم که توی چند تا ویدئو، تیکه…
🔥7👍2
Gunicorn with Uvicorn
گونیکورن یه عالمه فیچر و پراسس منیجر خیلی خوبی داره به همین دلیل خیلی خوب می شد از ویژگی های خوب gunicron توی ASGI application server استفاده کنیم.
برای این مورد Uvicorn یک worker class گونیکورن در اختیار ما قرار داده که به ما این امکان رو میده برنامه های ASGI رو با تموم مزایای Uvicorn اجرا کنیم در حالی که مدریت ترافیک و در کل process management با ویژگی های بالغ و عالیه گونیکورن انجام بشه.
همچنین پیشنهاد خود Uvicorn اینه که تو حالت پروداکشن با gunicorn اجراش کنیم.
داکیومنت Fastapi راجب Gunicorn with Uvicorn رو براتون میگم:
خب تا اینجا شما احتمالا با یک server program مانند Uvicorn برنامه رو بصورت single process اجرا کردید.
در زمان دپلوی کردن اپلیکیشن شما ممکنه بخواید اپلیکیشنتون رو بجای single process به حالت multiple cores اجراش کنید تا بتونید ریکوئست های بیشتری رو هندل کنید(البته اگه شما میخواید توی کوبرنتیز اجرا کنید احتمالا ترجیح میدید توی هر کانتینر با uvicorn و بصورت single process اجراش کنید)
با استفاده از این ترکیب،Gunicorn به عنوان process manager عمل می کنه و پشت پورت listening رو انجام میده اما ارتباط رو با ورکر کلس Uvicorn برقرار می کنه.
نحوه استفاده:
اول از همه guncorn و uvicorn رو نصب می کنیم
مثال نحوه اجرا کردن:
gunicorn main:app --workers 4 --worker-class uvicorn.workers.UvicornWorker --bind :8000
تعداد ورکر رو چند تا بذارم؟
تعداد ورکر هارو بر اساس تعداد کلاینت هایی که دارید سعی نکنید خداتوکلی تقسیم کنید یچیزی در بیارید قرار بدید😕 gunicron برای رسیدگی صد یا هزاران درخواست تو ثانیه فقط به 4 الی 12 تا ورکر نیاز داره.
اینم یه فرمول برای اینکه تعداد ورکر رو چقدر بذارید
تعداد هسته رو ضربدر دو می کنیم سپس به علاوه یک می کنیم.
منابع این پست:
https://fastapi.tiangolo.com/deployment/server-workers/
https://www.uvicorn.org/#running-with-gunicorn
https://docs.gunicorn.org/en/stable/design.html#:~:text=Gunicorn%20should%20only%20need%204,workers%20to%20start%20off%20with.
#python #backend
@khat_academy
گونیکورن یه عالمه فیچر و پراسس منیجر خیلی خوبی داره به همین دلیل خیلی خوب می شد از ویژگی های خوب gunicron توی ASGI application server استفاده کنیم.
برای این مورد Uvicorn یک worker class گونیکورن در اختیار ما قرار داده که به ما این امکان رو میده برنامه های ASGI رو با تموم مزایای Uvicorn اجرا کنیم در حالی که مدریت ترافیک و در کل process management با ویژگی های بالغ و عالیه گونیکورن انجام بشه.
همچنین پیشنهاد خود Uvicorn اینه که تو حالت پروداکشن با gunicorn اجراش کنیم.
داکیومنت Fastapi راجب Gunicorn with Uvicorn رو براتون میگم:
خب تا اینجا شما احتمالا با یک server program مانند Uvicorn برنامه رو بصورت single process اجرا کردید.
در زمان دپلوی کردن اپلیکیشن شما ممکنه بخواید اپلیکیشنتون رو بجای single process به حالت multiple cores اجراش کنید تا بتونید ریکوئست های بیشتری رو هندل کنید(البته اگه شما میخواید توی کوبرنتیز اجرا کنید احتمالا ترجیح میدید توی هر کانتینر با uvicorn و بصورت single process اجراش کنید)
با استفاده از این ترکیب،Gunicorn به عنوان process manager عمل می کنه و پشت پورت listening رو انجام میده اما ارتباط رو با ورکر کلس Uvicorn برقرار می کنه.
نحوه استفاده:
اول از همه guncorn و uvicorn رو نصب می کنیم
مثال نحوه اجرا کردن:
gunicorn main:app --workers 4 --worker-class uvicorn.workers.UvicornWorker --bind :8000
تعداد ورکر رو چند تا بذارم؟
تعداد ورکر هارو بر اساس تعداد کلاینت هایی که دارید سعی نکنید خداتوکلی تقسیم کنید یچیزی در بیارید قرار بدید😕 gunicron برای رسیدگی صد یا هزاران درخواست تو ثانیه فقط به 4 الی 12 تا ورکر نیاز داره.
اینم یه فرمول برای اینکه تعداد ورکر رو چقدر بذارید
تعداد هسته رو ضربدر دو می کنیم سپس به علاوه یک می کنیم.
منابع این پست:
https://fastapi.tiangolo.com/deployment/server-workers/
https://www.uvicorn.org/#running-with-gunicorn
https://docs.gunicorn.org/en/stable/design.html#:~:text=Gunicorn%20should%20only%20need%204,workers%20to%20start%20off%20with.
#python #backend
@khat_academy
❤2👍2🥰1