Syntax | سینتکس
前往频道在 Telegram
Focus: Web Lan: Python & Go Website: https://syntaxfa.ir Quick connect: https://quick-connect.syntaxfa.ir Github: https://github.com/syntaxfa Group: https://t.me/Syntax_fa_group
显示更多3 267
订阅者
+1124 小时
+127 天
+930 天
帖子存档
3 267
معماری Microservices با هسته Monolithic
پس از ایجاد یک برنامه Monolithic، انتقال چند قسمت از سیستم به سرویسهای کوچک برای تقویت حد و مرز، سرعت بخشیدن، افزایش تست پذیری و منفرد و آسانتر کردن مقیاسپذیری مستقل آنها میتواند مفید باشد. به عبارت دیگر، در حالی که Monolithic هنوز عملکرد اصلی را حفظ می کند، بسیاری از قطعات را می توان به خدمات جانبی کوچکی را برون سپاری کرد.
هسته Monolithic
منطق اصلی کسبوکار در یکپارچگی اصلی باقی میماند، اما مواردی مانند
background jobs، notifications،
یا سایر سیستمهای فرعی کوچک که میتوانند به برنامههای کاربردی خود منتقل شوند.
مثال:
گر تیم توسعه دهنده تصمیم بگیرد که از معماری Monolithic به نوع Microservices تغییر مسیر دهد، نیازی به نوشتن کل برنامه از ابتدا نیست. در این شرایط میتوان فقط کامپوننتهایی را که دردسر ساز شدهاند، به نوع سرویسی آن تبدیل کرد. به این نوع برنامههای سمت سروری که بخش اصلی برنامه به صورت Monolithic ولی برخی از عملکردهای خاص آن به صورت سرویسی نوشته شده باشد، اصطلاحا معماری Microservices با هسته Monolithic گفته میشود.
3 267
چرا پورت بین 0 تا 65535 است؟ آیا نمی توان پورت بیشتری برای استفاده تنظیم کرد؟
خیر، پورت ها را نمی توان در یک کامپیوتر بیشتر از 65535 شماره گذاری کرد. 65535 حداکثر تعداد محدوده پورت است که برای برنامه ها و پروتکل های شبکه برای استفاده در دسترس است.
چند دلیل کلیدی که چرا پورت ها نمی توانند بالاتر از 65535 بروند:
فیلد پورت در هدرهای TCP و UDP 16 بیت است. با 16 بیت، می توانید اعداد باینری را تا 65535 نمایش دهید (2^16 - 1). بنابراین شماره پورت از نظر فنی به این محدوده توسط مشخصات پروتکل محدود شده است.
IANA
(مرجع شماره های اختصاص داده شده به اینترنت) مسئول هماهنگی تخصیص شماره پورت است. آنها محدوده پورت را 0-65535 استاندارد کرده اند. هیچ نهاد استانداردی افزایش این محدوده را پیشنهاد نکرده است.
شماره پورت به شناسایی منحصر به فرد پروتکل حمل و نقل (TCP/UDP)، آدرس های IP و برنامه یا فرآیند خاص در یک سوکت کمک می کند. افزایش رنج مستلزم تغییراتی در پروتکلها و سیستمهای شبکه است.
در عمل، محدوده پورت 65535 تعداد بسیار زیادی از پورت های موجود را برای برنامه های کاربردی در حال حاضر فراهم می کند. تخصیص فضای بیشتر از حد نیاز بسیار ناکارآمد خواهد بود.
بنابراین به طور خلاصه، به دلیل محدودیتهای فنی سرصفحههای پروتکل، استانداردها و عملی بودن تعداد بسیار زیاد موجود در آن محدوده در حال حاضر برای موارد استفاده فعلی، پورتها روی 65535 محدود شدهاند. افزایش رنج به تغییرات عمده در مشخصات و پیاده سازی شبکه اصلی نیاز دارد.
#port
@khat_academy
3 267
چند نکته کلیدی در مورد شماره پورت:
- پورت ها با اعداد صحیح بین 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
3 267
پورت صفر:
در مفاهیم شبکه و ارتباطات، پورت 0 به معنای یک پورت خاص است که به عنوان پورت "رزرو شده" شناخته میشود. وقتی به یک برنامه یا سرویس شبکه نیاز دارید تا به یک پورت خاص متصل شود، میتوانید از یک شماره پورت عددی استفاده کنید. پورتها از اعداد صحیح بین 0 تا 65535 تشکیل شدهاند.
اما پورت 0 به طور خاص به معنای یک پورت رزرو شده است که به عنوان پورت پیشفرض (default) مورد استفاده قرار میگیرد. وقتی یک برنامه یا سرویس به پورت 0 متصل میشود، این به معنای این است که برنامه یا سرویس مورد نظر، سیستم عامل را مکلف میکند یک پورت آزاد و در دسترس را به آن اختصاص دهد.
به عنوان مثال، در برنامهنویسی شبکه، وقتی یک سوکت (socket) برای برقراری ارتباط با سروری فراخوانی میشود و شماره پورت آن را برابر با 0 قرار میدهید، سیستم عامل یک پورت آزاد را به برنامه اختصاص میدهد و برنامه میتواند آن را برای ارتباط استفاده کند.
استفاده از پورت 0 معمولاً برای برنامههایی است که نمیخواهند به طور صریح پورت خاصی را انتخاب کنند، به سیستم اجازه میدهند یک پورت خالی را برایشان انتخاب کند.
برای مثال توی جنگو اگه بنویسید runserver 0 بصورت رندوم یک پورت خالی رو انتخاب می کنه.
#port
@khat_academy
3 267
collections.namedtuple
در پایتون،
namedtuple یک کلاس فراهم میکند که به شما امکان ساخت سادهتر و مدیریت آسانتر دادههای ساختارمند را میدهد. namedtuple به شما اجازه میدهد یک کلاس سادهتر را با فیلدها و مقادیرش ایجاد کنید و به طور خودکار ویژگیهایی مانند نامگذاری و استخراج مقادیر از آنها را برای شما مدیریت کند.
شما میتوانید یک namedtuple با استفاده از تابع namedtuple از ماژول collections ایجاد کنید. این تابع به شما اسم کلاس مورد نظرتان را و همچنین نام فیلدها را به عنوان ورودی میگیرد. به عنوان نتیجه، یک کلاس ایجاد میشود که دارای ویژگیهایی مانند نامگذاری فیلدها و روشهای استخراج مقادیر است.
در زیر یک مثال ساده استفاده از namedtuple را مشاهده میکنید:
from collections import namedtuple
# تعریف یک `namedtuple` برای نمایش اطلاعات یک شخص
Person = namedtuple('Person', ['name', 'age', 'gender'])
# ایجاد یک شخص جدید
person1 = Person(name='John', age=30, gender='Male')
# استخراج مقادیر
print(person1.name) # خروجی: John
print(person1.age) # خروجی: 30
print(person1.gender) # خروجی: Male
همانطور که مشاهده میکنید، شما میتوانید مقادیر مختلف را با نام فیلدها به عنوان آرگومانها به کلاس namedtuple ارسال کنید و سپس میتوانید با استفاده از نام فیلدها آنها را استخراج کنید.
از مزایای استفاده از namedtuple میتوان به سادگی کد، قابلیت خوانا بودن بیشتر کد اشاره کرد. همچنین، `namedtuple`ها در مواردی که نیاز به دادههای ساختارمند و غیرقابل تغییر دارید، مفید هستند.
#python
@khat_academy3 267
تو این قسمت از khat weekly، مهمون ما امین علی مزاریان هست که توسعه دهنده بک انده (Python Back-end developer)
اما جز اینکه تو برنامه نویسی کارش خوبه،توی مهارت های نرم هم تجربیات خوبی داره و قراره تو میت از ساخت یک رزومه مناسب تا مصاحبه صحبت کنیم 💥
پیشنهاد میکنم حتما این قسمتو دنبال کنید چون قراره اطلاعت خوبی رو از امین علی یاد بگیریم.
همچنین هر سوالی دارید، تو کامنت بپرسید تا توی پادکست دربارش صحبت کنیم
تاریخ میت:
چهارشنبه ۱۹ مهر ساعت ۱۹:۰۰
#meet #weekly
@khat_academy
3 267
تفاوت سایز Json با Protobuf
Json: 214
Protobuf: 53
حدودا چهار برابر بیشتره. (البته تو این کیس و تو این حالت)
3 267
سیر تحول فنی «کوییز آو کینگز»: مسیری که باعث تعجب تیم یوتیوب شد!
https://virgool.io/@mohammad7293/%D8%B3%DB%8C%D8%B1-%D8%AA%D8%AD%D9%88%D9%84-%D9%81%D9%86%DB%8C-%DA%A9%D9%88%DB%8C%DB%8C%D8%B2-%D8%A2%D9%88-%DA%A9%DB%8C%D9%86%DA%AF%D8%B2-%D9%85%D8%B3%DB%8C%D8%B1%DB%8C-%DA%A9%D9%87-%D8%A8%D8%A7%D8%B9%D8%AB-%D8%AA%D8%B9%D8%AC%D8%A8-%D8%AA%DB%8C%D9%85-%DB%8C%D9%88%D8%AA%DB%8C%D9%88%D8%A8-%D8%B4%D8%AF-h8m7caqni6rg
3 267
قالب رزومه ای که استفاده کردیم.
با برنامه inkscape بازش کنید و رزومه خودتونو بسازید.
3 267
« از اون بالا کفتر میایه »
شهاب تیام که با آهنگ «از اون بالا کفتر میایه» شناخته میشه مهندس رم هستش و پونزده سالی توی اینتل مشغول به فعالیت بوده و الانم تو یه شرکت جدید شروع به فعالیت کرده :)
بله. بعضی وقتا زندگی مسیری رو برات میچینه که فکرشم نمیکردی
https://www.linkedin.com/in/shahab-tiam-a873b14/
3 267
اگه اول راه هستید و نمیدونید کدوم فیلد مناسب شماست.
اگه میخواید لینکدین حرفه ای داشته باشید و رزومه خوبی برای خودتون درست کنید
این کانال همه این موارد رو پوشش میده
راستی توجه اصلی کانال روی مباحث هوش مصنوعی هستش
پس اگه علاقه مند به این موضوعات هستید حتما دنبال کنید
آدرس کانال:
https://t.me/MobiFacts
#معرفی_کانال
@khat_academy
3 267
گفتگویی پیرامون هوش مصنوعی و آینده شغلی آن
مهمان پادکست: مبینا حاج محمدی
موضوعاتی که شما دوستان عزیز گفته بودید و بهش پرداخته شد:
- توضیح مختصر درباره هوش مصنوعی
- چجوری فعالیت در هوش مصنوعی رو شروع کنیم ؟
- حوزه های پر درآمد هوش مصنوعی چیا هستن
- وضعیت راه اندازی استارت اپ در ایران که بر پایه هوش مصنوعی هستند به چه صورت است
- چجوری بصورت ریموت تونستید در یک شرکت آمریکایی مشغول به فعالیت شید؟
- تاثیر داشتن صفحه لینکدین حرفه ای
- آیا چون تو ایران زندگی میکنیم، کار کردن در شرکت های خارجی بصورت ریموت غیر ممکن است؟
- چرا تحصیلات آکادمیک بسیار مهم است
راه های ارتباطی با مبینا:
@Moobina_mhd
https://www.linkedin.com/in/mobina-hmohammadi
mobinahmohammadi@gmail.com
#podcast #ai
@khat_academy
3 267
چهل نکته درباره Linux Server Hardening (قسمت اول)
تو قسمت اول نکته یک تا ده رو بهتون گفتم.
امیدوارم براتون مفید باشه 👌
#hardening
@khat_academy
3 267
گوگلو قانونی دور بزن !
تو این مقاله درباره سئو کلاه خاکستری توضیح دادیم و چند روش برای پیاده سازیش مثال زدیم که به شما این امکانو میده تو مدت زمان کم سئو وب سایتتون تقویت بشه
@khat_academy
3 267
قراره یکی از مقالات خوب در خصوص server hardening در لینوکس رو بصورت ترجمه شده با توضیحات کامل تر توی یه کانال تخصصی قرارش بدم.
اگه برای شما هم مسائل امنیتی سرور جذابه و باهاش سر و کار دارید اینجا هم قرارش میدم(واقعا زیاده هر نکته تقریبا اندازه یه مقالست)
