Syntax | سینتکس – Telegram
کامپیوتر کوانتومی

قراره درباره کامپیوتر صحبت کنم😁
بریم ببینیم چیه تا برسیم به کامپیوتر های کوانتومی

کامپیوتر از کلمه 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
😱4
دارم #کتاب زندگی ایلان #ماسک رو می‌خونم. اولش به نظرم کتاب جذابی نیومد ولی بعد بهتر شد؛ بخصوص که به خاطر فصل‌های کوتاه کتاب راحت خونی است. اما اینبار منتظر نموندم تا کل کتاب رو بخونم و به شکل خلاصه نظرم رو بگم. اینبار تست می‌کنم که توی چند تا ویدئو، تیکه تیکه براتون کتاب و جاهای جالبش رو تعریف کنم و ببین مچی می‌شه.

در قسمت اول، از کودکی تا رفتن به کانادا و تاسیس شرکت زیپ ۲ و رسیدن به اولین میلیون‌ها حرف می‌زنم.

https://youtu.be/TLwZ6kyBu90

[جادی دوست داشتنی]
🔥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
2👍2🥰1
برای آشنایی با grpc این ویدیو رو حتما ببینید:

https://bugeto.net/tv/what-is-grpc

یادگیرش برای بک اند کارا داره جز واجبات میشه.
اگه به یادگیریش علاقه دارید تو کامنتا بگید میتونم تو آینده بیشتر دربارش پست بذارم یا شایدم ویدیو آموزشی(grpc در پایتون).

#grpc

@khat_academy
👍4🔥32🥰1🎉1
تو پایتون اگه قراره چیزی که return می کنید فانکشن و در کل قابل صدا زدن باشه، می تونید نوع تایپش رو Callable قرار بدید.
برای مثال:
from typing import Callable


def get_function() -> Callable:
...


#python

@khat_academy
👍15
کی گفته برنامه نویسا ورزش نمی کنن؟ 😕

https://news.1rj.ru/str/Zyzz_Playlist

اینم لینک کانال یکی از دوستای فرانت اند کارم که موزیک مناسب باشگاه و ویدیو و پادکست های علمی میذاره.
🔥7🤣3👎1
مژده برای تازه کارا 🔥

تا الان آموزش های کانال همشون نسبتا تخصصی بودن.

از الان به بعد قراره بصورت پایه و مبتدی هم آموزش های ویدیوی، وبینار و مقاله قرار بدیم

البته مطالب تخصصیم قراره بیشتر گذاشته بشه

@khat_academy
🔥5😍21👎1🎉1👀1
معماری RPC
4
Syntax | سینتکس
معماری RPC
معماری RPC

معماری RPC پنج تا کمپوننت اصلی رو داره که اینها هستن:
1. Client
2. Client Sub
3. RPC Runtime
4. Server Stub
5. Server

خب حالا RPC چجوری کار می کنه؟
Following steps take place during the RPC process:

Step 1) The client, the client stub, and one instance of RPC run time execute on the client machine.

Step 2) A client starts a client stub process by passing parameters in the usual way. The client stub stores within the client’s own address space. It also asks the local RPC Runtime to send back to the server stub.

Step 3) In this stage, RPC accessed by the user by making regular Local Procedural Cal. RPC Runtime manages the transmission of messages between the network across client and server. It also performs the job of retransmission, acknowledgment, routing, and encryption.

Step 4) After completing the server procedure, it returns to the server stub, which packs (marshalls) the return values into a message. The server stub then sends a message back to the transport layer.

Step 5) In this step, the transport layer sends back the result message to the client transport layer, which returns back a message to the client stub.

Step 6) In this stage, the client stub demarshalls (unpack) the return parameters, in the resulting packet, and the execution process returns to the caller.

کلاینت stub کلاینت را می‌خواند. فراخوانی یک فراخوانی رویه محلی با پارامترهایی است که به روش معمولی روی پشته افزوده می‌شود.

بعد stub کلاینت پارامترهای رویه را در یک پیام جمع می‌کند و برای ارسال پیام یک فراخوانی سیستمی برقرار می کند. بسته بندی پارامترهای رویه را مارشالینگ(marshalling) می‌گویند.
سیستم عامل محلی کلاینت پیام را از دستگاه مشتری به دستگاه سرور راه دور ارسال می کند.

سیستم عامل سرور بسته های دریافتی را به stub سرور ارسال می کند. stub سرور پارامترهایی را – که unmarshalling نامیده می شود – را از پیام باز می کند.

هنگامی که روال سرور به پایان رسید، به stub سرور باز می گردد، که مقادیر بازگشتی را به یک پیام تبدیل می‌کند. سپس stub سرور پیام را به لایه انتقال، می‌دهد.

لایه انتقال پیام به دست آمده را به لایه انتقال کلاینت برمی‌گرداند، که این لایه پیام را به stub مشتری باز می‌گرداند. stub کلاینت پارامترهای بازگشت را از حالت مارشال خارج می‌کند و اجرا به درخواست کننده برمی‌گردد.

https://www.guru99.com/remote-procedure-call-rpc.html

#RPC

@khat_academy
👍7
زبان انگلیسیو اینجوری با هوش مصنوعی تمرین کنید 👌

این وب سایت poe.com هستش
بصورت رایگان به شما اجازه میده خیلی از هوش مصنوعی هارو استفاده کنید.
من واسه برنامه نویسی و خیلی چیزای دیگه ازش استفاده می کنم.

#artificial_intelligence

@khat_academy
🔥5
Syntax | سینتکس
معماری RPC معماری RPC پنج تا کمپوننت اصلی رو داره که اینها هستن: 1. Client 2. Client Sub 3. RPC Runtime 4. Server Stub 5. Server خب حالا RPC چجوری کار می کنه؟ Following steps take place during the RPC process: Step 1) The client, the client stub, and one…
به زبان خیلی ساده RPC چیه!؟

فرض کنید شما چند تا فانکشن دارید که یه سری پارامتر رو میگیره و در نهایت یچیزی رو تو خروجی برمیگردونه.

حالا میخواید این قطعه کدتونو از راه دور (Remote) اجراش کنید طوری که انگار این فانکشن توی برنامه خودتون داره اجرا میشه.

یعنی شما پارامتر هارو میدید و خروجی رو دریافت میکنید

فرض کنید این رو داریم:

get_fullname(
first_name='jack',
last_name='dueee'
)

اتفاقی که میوفته اینه، تابع توی سرور اجرا میشه و جواب رو برمیگردونه به کلاینت اما چیزی که کلاینت مینویسه انگار تو سیستم خودش اجرا شده

سوالی داشتید تو کامنت بپرسید

#RPC

@khat_academy
👍8
مفهوم neutral تو دنیای برنامه نویسی:

معنی neutral بی طرف بودن هستش و توی دنیای برنامه نویسیم همین معنی رو میده.
مثلا وقتی گقته میشه فلان تکنولوژی Platform-Neutral هستش. یعنی اینکه اون برنامه یا سیستم قابل اجرا و استفاده بر روی سکو های مختلف هستش(ویندوز، لینوکس، مک و ...)

وقتی میگیم Language-Neutral هستش به این معنیه که یک مفهوم، استاندارد،‌ رابط یا سیستم قابل استفاده و فهم تو زبان های مختلف برنامه نویسی باشه

به متنی که protocol buffer خودش رو معرفی می کنه دقت کنید:
Protocol Buffers are language-neutral, platform-neutral extensible mechanisms for serializing structured data.

#note

@khat_academy
👍8
یبار واسه همیشه مفهوم سریالیزیشن (Serialization) رو یاد بگیرید 👌

آموزش توسط سعید شهریوری عزیز (از نحوه توضیح دادنش عشق می کنی)

https://youtu.be/gQcPRSIVp5I?si=4knH34ONEgDjdmjT

#Serialization

@khat_academy
🔥6
ایده Napster و peer to peer

بحث Client / Server تا اواخر دهه 90 میچربید تو همه ی دنیا.
ولی مواردی مثل نبود آزادی بوجود اومد.
تو Client / Server مثلا گوگل میگه این سرویس جیمیل من هستش و باید طبق قوانین Server من ازش استفاده کنید

بحث از جایی به اسم سرویس Napster استارت خورد. Napster سرویس اشتراک موزیک هستش.

توی سرویس napster میخواستن مردم موزیکشونو به اشتراک بذارن
از نظر قانونی خیلی سرور ها نمیذاشتن اینکارو بکنن و اگه تو سرور سرویسو راه مینداختن میرفتن شکایت میکردن سرور رو شتک میکردن.

پس گفتن چه کنیم!
گفتن بجای اینکه بصورت Client / Server این سرویسو راه بندازیم، بیایم بصورت Peer to Peer راه بندازیم

یعنی هرکسی توی این شبکه بیاد ریسورسشو به اشتراک بذاره و تشکیل یه storage و ... خیلی قدرتمند بدیم

اینجوری بود که سیستم napster راه افتاد، Bittorrent راه افتاد و ...
سرویس Napster یک از اولین P2P ها هستش.

برای مطالعه بیشتر peer to peer computing رو سرچ کنید

@khat_academy
👍7