سوال پایتونی:
چگونه میتوان در Python از ویژگیهای Dataclasses برای ایجاد کلاسهای سادهتر و قابل مدیریتتر استفاده کرد؟ یک مثال ارائه دهید.
Dataclasses
در Python یک راه ساده برای تعریف کلاسهای حاوی دادهها (data classes) فراهم میکنند. این ویژگی در Python 3.7 معرفی شد و از کد تکراری برای تعریف متدهای init، repr، eq و دیگر متدهای پایهای جلوگیری میکند.
برای استفاده از Dataclasses، کافی است از دکوراتور @dataclass روی تعریف کلاس استفاده کنید. سپس میتوانید فیلدهای کلاس را با انواع داده مختلف تعریف کنید.
مثال:
در این مثال، Person یک dataclass است که سه فیلد name، age و email دارد. فیلد email یک مقدار پیشفرض None دارد. با استفاده از @dataclass، Python به طور خودکار متدهایی مانند init و repr را برای ما ایجاد میکند.
Dataclasses همچنین امکانات دیگری مانند مقایسه اشیاء، هشپذیری، و گزینههای پیشرفتهتر را نیز فراهم میکنند.
#python
@Syntax_fa
چگونه میتوان در Python از ویژگیهای Dataclasses برای ایجاد کلاسهای سادهتر و قابل مدیریتتر استفاده کرد؟ یک مثال ارائه دهید.
Dataclasses
در Python یک راه ساده برای تعریف کلاسهای حاوی دادهها (data classes) فراهم میکنند. این ویژگی در Python 3.7 معرفی شد و از کد تکراری برای تعریف متدهای init، repr، eq و دیگر متدهای پایهای جلوگیری میکند.
برای استفاده از Dataclasses، کافی است از دکوراتور @dataclass روی تعریف کلاس استفاده کنید. سپس میتوانید فیلدهای کلاس را با انواع داده مختلف تعریف کنید.
مثال:
from dataclasses import dataclass
@dataclass
class Person:
name: str
age: int
email: str = None
person1 = Person("Alice", 30, "alice@example.com")
person2 = Person("Bob", 25)
print(person1) # Output: Person(name='Alice', age=30, email='alice@example.com')
print(person2) # Output: Person(name='Bob', age=25, email=None)
print(person1 == person2) # Output: False
در این مثال، Person یک dataclass است که سه فیلد name، age و email دارد. فیلد email یک مقدار پیشفرض None دارد. با استفاده از @dataclass، Python به طور خودکار متدهایی مانند init و repr را برای ما ایجاد میکند.
Dataclasses همچنین امکانات دیگری مانند مقایسه اشیاء، هشپذیری، و گزینههای پیشرفتهتر را نیز فراهم میکنند.
#python
@Syntax_fa
👍12❤1
هکاتون The Open League
▪️بنیاد TON هکاتون The Open League را راهاندازی کرد: مسیری سریع برای ورود به Open League با بیش از 150 میلیون دلار پاداش و مشوقهای مختلف برای کاربران.
▪️هکاتون از آوریل تا ژوئن اجرا میشود و صندوق جایزهی آن 2 میلیون دلار است.
▪️شرکتکنندگان اپلیکیشن و موارد استفاده جدید را برای دنیای Web3 شامل GameFi و شبکههای اجتماعی Web3 و DeFi و تجارت الکترونیک در TON و Telegram میسازند.
چرا در این هکاتون شرکت کنیم؟
▪️صندوق جایزهی 2 میلیون دلاری.
▪️مسیری سریع برای شرکت در The Open League با حمایت 50،000 Toncoin جهت تقویت استخر نقدینگی توکن شما.
▪️بهترین پروژهها میتوانند از صندوق 500،000$ ارائه شده توسط TON Ventures کمک مالی دریافت کنند.
▪️فرصتی برای ملاقات با اعضای بنیاد TON و مدیران صندوقهای سرمایهگذاری خطرپذیر در TON در طول Gateway در شهر دبی.
پروژههای شرکتکننده در فصل آزمایشی Open League شاهد رشد سه رقمی در تعداد کاربران فعال، هولدرهای توکنها، ارزش بازار و حجم معاملات در صرافیهای غیرمتمرکز TON بودهاند. این در حالیست که تنها 1 میلیون Toncoin پاداش برای فصل آزمایشی در نظر گرفته شده بود. در فصل آینده، جوایز 30 برابر افزایش خواهند داشت: 30 میلیون Toncoin پاداش برای 3 ماه.
شما و تیمتان میتوانید در رقابت با دیگران برنده شوید؟ وقت سازندگی در TON فرا رسیده!
همین الان ثبت نام کنید!
@gopher_academy
@Syntax_fa
▪️بنیاد TON هکاتون The Open League را راهاندازی کرد: مسیری سریع برای ورود به Open League با بیش از 150 میلیون دلار پاداش و مشوقهای مختلف برای کاربران.
▪️هکاتون از آوریل تا ژوئن اجرا میشود و صندوق جایزهی آن 2 میلیون دلار است.
▪️شرکتکنندگان اپلیکیشن و موارد استفاده جدید را برای دنیای Web3 شامل GameFi و شبکههای اجتماعی Web3 و DeFi و تجارت الکترونیک در TON و Telegram میسازند.
چرا در این هکاتون شرکت کنیم؟
▪️صندوق جایزهی 2 میلیون دلاری.
▪️مسیری سریع برای شرکت در The Open League با حمایت 50،000 Toncoin جهت تقویت استخر نقدینگی توکن شما.
▪️بهترین پروژهها میتوانند از صندوق 500،000$ ارائه شده توسط TON Ventures کمک مالی دریافت کنند.
▪️فرصتی برای ملاقات با اعضای بنیاد TON و مدیران صندوقهای سرمایهگذاری خطرپذیر در TON در طول Gateway در شهر دبی.
پروژههای شرکتکننده در فصل آزمایشی Open League شاهد رشد سه رقمی در تعداد کاربران فعال، هولدرهای توکنها، ارزش بازار و حجم معاملات در صرافیهای غیرمتمرکز TON بودهاند. این در حالیست که تنها 1 میلیون Toncoin پاداش برای فصل آزمایشی در نظر گرفته شده بود. در فصل آینده، جوایز 30 برابر افزایش خواهند داشت: 30 میلیون Toncoin پاداش برای 3 ماه.
شما و تیمتان میتوانید در رقابت با دیگران برنده شوید؟ وقت سازندگی در TON فرا رسیده!
همین الان ثبت نام کنید!
@gopher_academy
@Syntax_fa
dorahacks.io
The Open League Hackathon | TON | Hackathon | DoraHacks
# **What is The Open League Hackathon?**
Welcome to The Open League Hackathon, organized by the TON Foundation and [The Open League program](https://ton.org/en/open-league). This hackathon marks a unique point in the development of the TON ecosystem, the…
Welcome to The Open League Hackathon, organized by the TON Foundation and [The Open League program](https://ton.org/en/open-league). This hackathon marks a unique point in the development of the TON ecosystem, the…
🔥2❤1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
⭕️بخشی از مستند شوک سال 88 در تلویزیون
همون حوالی که تلویزیون داشت اینترنت رو مثل دوچرخه حرام اعلام کرد و تماما مستند میساخت که اقا اینترنت یعنی فساد بچه هاتون، رفته بودم انتخاب رشته کنم برای رشته فنی ، مادر و برادر برای تحقیق رفته بودن یکی از کافی نت های شهر که این پسر برای یه شرکته پای کامپیوترش داره هک میکنه ، این هک چیه؟ چون گفته بودن ما درباره اینها سوادی نداریم راهنمایی میخواستن بگیرن..
کافی نتی بهش گفته بود داره دزدی میکنه:).
بماند که مسیر زندگی من با این حرف عوض شد و بخاطر این مساله مسیرها رفتم ،ولی آخوندی که شوک میساخت و حرام اعلام میکرد، الان داره تبلیغ فلسطین میکنه توی شبکه های مجازی که خودش رای به فیلترش داده.
در سرزمین من همه چیز حرام اعلام میشه ،البته برای رعیت ، نه برای درباریان.
مثل آیفون که گفتن لاکچری هست ممنوعش کنید فقط بیزحمت برای فرار آقازادهها و درباریان جت شخصی رو ازاد بذارید.
@securation
@Syntax_fa
همون حوالی که تلویزیون داشت اینترنت رو مثل دوچرخه حرام اعلام کرد و تماما مستند میساخت که اقا اینترنت یعنی فساد بچه هاتون، رفته بودم انتخاب رشته کنم برای رشته فنی ، مادر و برادر برای تحقیق رفته بودن یکی از کافی نت های شهر که این پسر برای یه شرکته پای کامپیوترش داره هک میکنه ، این هک چیه؟ چون گفته بودن ما درباره اینها سوادی نداریم راهنمایی میخواستن بگیرن..
کافی نتی بهش گفته بود داره دزدی میکنه:).
بماند که مسیر زندگی من با این حرف عوض شد و بخاطر این مساله مسیرها رفتم ،ولی آخوندی که شوک میساخت و حرام اعلام میکرد، الان داره تبلیغ فلسطین میکنه توی شبکه های مجازی که خودش رای به فیلترش داده.
در سرزمین من همه چیز حرام اعلام میشه ،البته برای رعیت ، نه برای درباریان.
مثل آیفون که گفتن لاکچری هست ممنوعش کنید فقط بیزحمت برای فرار آقازادهها و درباریان جت شخصی رو ازاد بذارید.
@securation
@Syntax_fa
👍14👎3🤣1
کی بهتره از mysql به postgresql مهاجرت کنیم
https://youtu.be/yqMqgODXb4I?si=tFTKpets0KAdLSbN
#database
@Syntax_fa
https://youtu.be/yqMqgODXb4I?si=tFTKpets0KAdLSbN
#database
@Syntax_fa
YouTube
کی بهتره از مای اس کیو ال به پستگرس مهاجرت کنیم؟
کی بهتره از مای اس کیو ال به پستگرس مهاجرت کنیم؟
https://youtu.be/yqMqgODXb4I
در این ویدیو به بررسی بهترین زمان برای مهاجرت از پایگاه داده MySQL به PostgreSQL میپردازیم. این تصمیم چه تاثیری بر عملکرد، امنیت و قابلیتهای پیشرفتهتر دادهها خواهد داشت؟ ما…
https://youtu.be/yqMqgODXb4I
در این ویدیو به بررسی بهترین زمان برای مهاجرت از پایگاه داده MySQL به PostgreSQL میپردازیم. این تصمیم چه تاثیری بر عملکرد، امنیت و قابلیتهای پیشرفتهتر دادهها خواهد داشت؟ ما…
👀4👍2
یعضی وقتا یا بهتره بگیم اکثر مواقع بدلیل تحریم و یا فیلترینگ نمیتونیم پکیج های پایتونی رو نصب کنیم.
یکی از راه حل ها استفاده از دی ان اس های شکن و ... هستش.
نحوه استفادش خیلی راحته
توی لینوکس کافیه برید داخل فایل /etc/resolv.cof و nameserver رو تغییر بدید.
یک روش دیگه استفاده از مخزن های جایگزین (mirror) هستش. برای مثال یکی از مخزن های داخل کشور رانفلر (Runflare mirror) هست.
برای استفاده از مخزن جایگزین کافیه موقع نصب یک پکیج جدید این دستور رو اضافه کنید.
چند تا از مخزن های خارجی:
https://parswebserver.com/mirror-storages-for-pip/
@Syntax_fa
یکی از راه حل ها استفاده از دی ان اس های شکن و ... هستش.
نحوه استفادش خیلی راحته
توی لینوکس کافیه برید داخل فایل /etc/resolv.cof و nameserver رو تغییر بدید.
یک روش دیگه استفاده از مخزن های جایگزین (mirror) هستش. برای مثال یکی از مخزن های داخل کشور رانفلر (Runflare mirror) هست.
برای استفاده از مخزن جایگزین کافیه موقع نصب یک پکیج جدید این دستور رو اضافه کنید.
pip install --trusted-host https://mirror-pypi.runflare.com --index-url https://mirror-pypi.runflare.com/simple/ django
چند تا از مخزن های خارجی:
source host:
https://mirror-pypi.runflare.com
https://pypi.tuna.tsinghua.edu.cn
https://mirrors.aliyun.com
https://pypi.mirrors.ustc.edu.cn
https://repo.huaweicloud.com
http://pypi.douban.com
http://pypi.sdutlinux.org
source adderess:
https://mirror-pypi.runflare.com/simple/
https://pypi.tuna.tsinghua.edu.cn/simple/
https://mirrors.aliyun.com/pypi/simple/
https://pypi.mirrors.ustc.edu.cn/simple/
https://repo.huaweicloud.com/repository/pypi/simple/
http://pypi.douban.com/simple/
http://pypi.sdutlinux.org/
https://parswebserver.com/mirror-storages-for-pip/
@Syntax_fa
👍8❤2
مهاجرت به عنوان یک #برنامهنویس به #هلند! زمانی که داخل کشور سال ۹۸-۹۹ ماهی ۱۵۰ میلیون درآمد داری!
تو قسمت جدید راکتکست راکت با Bobby Babazadeh هم صحبت شدیم تا ببینیم مسیر مهاجرت چطوریه؟ چه چالشهای داره؟ اصلا خوبه؟
link
https://youtu.be/WQLzdcTDpj0?si=JHJZczU29SkR_e-z
@Syntax_fa
تو قسمت جدید راکتکست راکت با Bobby Babazadeh هم صحبت شدیم تا ببینیم مسیر مهاجرت چطوریه؟ چه چالشهای داره؟ اصلا خوبه؟
link
https://youtu.be/WQLzdcTDpj0?si=JHJZczU29SkR_e-z
@Syntax_fa
👍2
پکیج d_jwt_auth آپدیت شد!
- قابلیت محدود کردن دیوایس هایی که از یک اکانت استفاده می کنند.
source code:
https://github.com/alireza-fa/django-jwt-auth
pypi:
https://pypi.org/project/d-jwt-auth/
- قابلیت محدود کردن دیوایس هایی که از یک اکانت استفاده می کنند.
source code:
https://github.com/alireza-fa/django-jwt-auth
pypi:
https://pypi.org/project/d-jwt-auth/
🔥6👍2
مقاله جالبیه در مورد انواع روش های ارتباط real-time و مزایا و معایب هر کدوم از جنبه های مختلف
https://rxdb.info/articles/websockets-sse-polling-webrtc-webtransport.html
@gocasts
#websocket
@Syntax_fa
https://rxdb.info/articles/websockets-sse-polling-webrtc-webtransport.html
@gocasts
#websocket
@Syntax_fa
rxdb.info
WebSockets vs Server-Sent-Events vs Long-Polling vs WebRTC vs WebTransport | RxDB - JavaScript Database
Learn the unique benefits and pitfalls of each real-time tech. Make informed decisions on WebSockets, SSE, Polling, WebRTC, and WebTransport.
👍4
Media is too big
VIEW IN TELEGRAM
دورهمی هفته یازدهم مهندسین گولنگ
(پیشنهاد میشه ببینید)
موضوع: GRPC, Protocol Buffers, Google API Design, Transcoding (بخش اول)
این هفته به موضوع GRPC, Protocol Buffers پرداختیم و یک پروژه کوچک را آغاز کردیم و grpc server, client را توسعه دادیم.
🔗 لینک ویدئو در یوتیوب: https://www.youtube.com/watch?v=iAvGdVDkbG8
🔗 شنیدن پادکست در اسپاتیفای: https://open.spotify.com/show/6aQdgKiOF5tuzI7mpijlfj
🔗 شنیدن پادکست در گوگل پادکست: https://podcasts.google.com/feed/aHR0cHM6Ly9hbmNob3IuZm0vcy9kZGY3OWRiNC9wb2RjYXN0L3Jzcw
🔗 شنیدن پادکست در کست باکس: https://castbox.fm/va/5381928
🔗 آدرس پروژه: https://github.com/GoFarsi/grpc-service
@gopher_academy
(پیشنهاد میشه ببینید)
موضوع: GRPC, Protocol Buffers, Google API Design, Transcoding (بخش اول)
این هفته به موضوع GRPC, Protocol Buffers پرداختیم و یک پروژه کوچک را آغاز کردیم و grpc server, client را توسعه دادیم.
🔗 لینک ویدئو در یوتیوب: https://www.youtube.com/watch?v=iAvGdVDkbG8
🔗 شنیدن پادکست در اسپاتیفای: https://open.spotify.com/show/6aQdgKiOF5tuzI7mpijlfj
🔗 شنیدن پادکست در گوگل پادکست: https://podcasts.google.com/feed/aHR0cHM6Ly9hbmNob3IuZm0vcy9kZGY3OWRiNC9wb2RjYXN0L3Jzcw
🔗 شنیدن پادکست در کست باکس: https://castbox.fm/va/5381928
🔗 آدرس پروژه: https://github.com/GoFarsi/grpc-service
@gopher_academy
👍3🔥1
سلام به همه وقتتون بخیر
من این چند وقت پست کم گذاشتم دلیل آنلاین نبودنم در واقع این کسب و کاریه که تازگیا شروع کردم😁
همیشه به راه اندازی فروشگاه آنلاین علاقه خاصی داشتم در کل از تولید کردن و فروختن خیلی خوشم میاد. بالاخره دارم انجامش میدم:)
تابلو های این شکلی میفروشیم که اسمشو گذاشتیم«تابلو لومن»
تابلو بصورت نقاشی با قلم سیاه هستش ولی وقتی روشن میشه همه چی خیلی خوشگل تر میشه
همچنین طرح مورد علاقه خودتونم میتونیم براتون آماده کنیم👌
برای تزئین و هدیه دادن خیلی مناسبه
لینک کانال استلار هنر:
@StellarHonar
گالری محصولاتمون:
https://stellarhonar.ir
الان که اول راهمون هستیم اگه تو کانال و گروهتون فوروارد کنید کمک بزرگی کردید دوستان🙏
من این چند وقت پست کم گذاشتم دلیل آنلاین نبودنم در واقع این کسب و کاریه که تازگیا شروع کردم😁
همیشه به راه اندازی فروشگاه آنلاین علاقه خاصی داشتم در کل از تولید کردن و فروختن خیلی خوشم میاد. بالاخره دارم انجامش میدم:)
تابلو های این شکلی میفروشیم که اسمشو گذاشتیم«تابلو لومن»
تابلو بصورت نقاشی با قلم سیاه هستش ولی وقتی روشن میشه همه چی خیلی خوشگل تر میشه
همچنین طرح مورد علاقه خودتونم میتونیم براتون آماده کنیم👌
برای تزئین و هدیه دادن خیلی مناسبه
لینک کانال استلار هنر:
@StellarHonar
گالری محصولاتمون:
https://stellarhonar.ir
الان که اول راهمون هستیم اگه تو کانال و گروهتون فوروارد کنید کمک بزرگی کردید دوستان🙏
🔥6👍3👏3🥰1😁1
به دنبال ساختار باشید و نه چارچوب
چند روز پیش یه مربی کودک یه حرف خیلی مهمی زد با این مفهوم: «ما اینجا برای بچه ها ساختار تعیین می کنیم نه چارچوب، چارچوب یعنی حد و مرز!»
این جمله رو باید قاب کرد و زد رو دیوار، احتمالا در ابعاد خیلی زیادی از زندگی مهم باشه. در مهندسی نرم افزار و توسعه محصول هم خیلی حرف مهمیه.
بیشتر اوقات ما دنبال چارچوب هستیم در مهندسی نرم افزار، به همین دلیل وقتی خودمون رو به یه چارچوب خاص محدود می کنیم با چالش های زیادی روبرو میشیم. در حالیکه بهتره ما برای توسعه محصول ساختار داشته باشیم و طبق اصول ساختاری کار رو پیش ببریم، اینطوری چالش مون کمتر میشه.
اجازه بدید برداشت خودم از چارچوب و ساختار رو کمی بیشتر باز کنم. ساختار میشه مجموعه از قواعد رفتاری که باید سعی کنیم در توسعه محصول بهشون پایبند باشیم، در مقابل، چارچوب میشه تعیین کردن یه سری حد و مرز مشخص به شیوه ای سختگیرانه.
مثلا اگه بخوام برای توسعه یک سرویس ساختار تعیین کنم احتمالا میگم: این سرویس باید توان پاسخگویی بالایی داشته باشه، در مقابل خطا مقاوم باشه، قابلیت مقیاس پذیری داشته باشه، یک قرارداد ساده و شفاف به کلاینت ها ارائه بده و مواردی از این دست.
اما اگه بخوام چارچوب برای سرویس تعیین کنم احتمالا میگم: ما باید از ساختار کد مبتنی بر clean code یا ddd در فلان repository که خودمون یا دیگران اونو نوشتن پیروی کنیم، باید همه ورودی هارو تو پوشه port قرار بدیم، باید همه مدل هامون تو پوشه models باشه، باید از فلان روش ci/cd استفاده کنیم.
در توسعه محصول تعیین کردن حد و مرز و چارچوب میتونه خوب باشه، اما بشرطی که تعیین این حد و مرز تنها زمان پیاده سازی سرویس باشه و متعهد بشیم که کورکورانه و سختگیرانه نخوایم این چارچوب رو به همه سرویس ها و محصولات تحمیل کنیم.
خیلی از practiceهایی که معروف شدند مثل clean code و ddd و tdd و غیره هم از نظر من بیشتر به دنبال این هستند که به شما کمک کنند که برای کارتون ساختار تعیین کنید. در حالیکه اشتباهی که زیاد رخ میده اینه که ما با خوندن این مطالب احتمالا بیشتر به سمت درآوردن چارچوب میریم... همه ش به دنبال این هستیم که مثلا یه boilerplate داشته باشیم که از clean code پیروی کنه و همون رو همه جا استفاده کنیم.
من گاها به دوستان متذکر میشم که خوندن این الگوها و منابع خیلی خوبه، به شرطی که شما سعی کنی جان کلام و دغدغه اصلی رو متوجه بشی، نه اینکه سعی کنی به دنبال یک راه حل فست فودی و چارچوب مشخص و معین باشی که کورکورانه همه جا ازش استفاده کنی.
شما وقتی برای کارت ساختار داشته باشی میتونی انعطاف پذیر باشی و بسته به نیازت چارچوب تعیین کنی، اما اگه بخوای یه چارچوب معین رو همه جا رعایت کنی احتمالا یه جاهایی اصول ساختاری خودت رو مجبور میشی زیر پا بذاری چون هیچ چارچوب واحدی وجود نداره که برای همه نیازها مناسب باشه.
@gocasts
#Note
@Syntax_fa
چند روز پیش یه مربی کودک یه حرف خیلی مهمی زد با این مفهوم: «ما اینجا برای بچه ها ساختار تعیین می کنیم نه چارچوب، چارچوب یعنی حد و مرز!»
این جمله رو باید قاب کرد و زد رو دیوار، احتمالا در ابعاد خیلی زیادی از زندگی مهم باشه. در مهندسی نرم افزار و توسعه محصول هم خیلی حرف مهمیه.
بیشتر اوقات ما دنبال چارچوب هستیم در مهندسی نرم افزار، به همین دلیل وقتی خودمون رو به یه چارچوب خاص محدود می کنیم با چالش های زیادی روبرو میشیم. در حالیکه بهتره ما برای توسعه محصول ساختار داشته باشیم و طبق اصول ساختاری کار رو پیش ببریم، اینطوری چالش مون کمتر میشه.
اجازه بدید برداشت خودم از چارچوب و ساختار رو کمی بیشتر باز کنم. ساختار میشه مجموعه از قواعد رفتاری که باید سعی کنیم در توسعه محصول بهشون پایبند باشیم، در مقابل، چارچوب میشه تعیین کردن یه سری حد و مرز مشخص به شیوه ای سختگیرانه.
مثلا اگه بخوام برای توسعه یک سرویس ساختار تعیین کنم احتمالا میگم: این سرویس باید توان پاسخگویی بالایی داشته باشه، در مقابل خطا مقاوم باشه، قابلیت مقیاس پذیری داشته باشه، یک قرارداد ساده و شفاف به کلاینت ها ارائه بده و مواردی از این دست.
اما اگه بخوام چارچوب برای سرویس تعیین کنم احتمالا میگم: ما باید از ساختار کد مبتنی بر clean code یا ddd در فلان repository که خودمون یا دیگران اونو نوشتن پیروی کنیم، باید همه ورودی هارو تو پوشه port قرار بدیم، باید همه مدل هامون تو پوشه models باشه، باید از فلان روش ci/cd استفاده کنیم.
در توسعه محصول تعیین کردن حد و مرز و چارچوب میتونه خوب باشه، اما بشرطی که تعیین این حد و مرز تنها زمان پیاده سازی سرویس باشه و متعهد بشیم که کورکورانه و سختگیرانه نخوایم این چارچوب رو به همه سرویس ها و محصولات تحمیل کنیم.
خیلی از practiceهایی که معروف شدند مثل clean code و ddd و tdd و غیره هم از نظر من بیشتر به دنبال این هستند که به شما کمک کنند که برای کارتون ساختار تعیین کنید. در حالیکه اشتباهی که زیاد رخ میده اینه که ما با خوندن این مطالب احتمالا بیشتر به سمت درآوردن چارچوب میریم... همه ش به دنبال این هستیم که مثلا یه boilerplate داشته باشیم که از clean code پیروی کنه و همون رو همه جا استفاده کنیم.
من گاها به دوستان متذکر میشم که خوندن این الگوها و منابع خیلی خوبه، به شرطی که شما سعی کنی جان کلام و دغدغه اصلی رو متوجه بشی، نه اینکه سعی کنی به دنبال یک راه حل فست فودی و چارچوب مشخص و معین باشی که کورکورانه همه جا ازش استفاده کنی.
شما وقتی برای کارت ساختار داشته باشی میتونی انعطاف پذیر باشی و بسته به نیازت چارچوب تعیین کنی، اما اگه بخوای یه چارچوب معین رو همه جا رعایت کنی احتمالا یه جاهایی اصول ساختاری خودت رو مجبور میشی زیر پا بذاری چون هیچ چارچوب واحدی وجود نداره که برای همه نیازها مناسب باشه.
@gocasts
#Note
@Syntax_fa
👍15❤2
https://www.youtube.com/watch?v=L8m9E0hSA4M&list=PLUKW34GJxYOYwKyyikVHIv2NY_zc4yynr&index=4
@SyntaxFa
@SyntaxFa
YouTube
تحلیل عملکرد بکاند با اندازه گیری Latency و Throughput
بعد از اینکه APIهایی که ساختیم آماده شد و با تستهایی که نوشتیم چطور مطمئن شیم پرفورمنس وعملکردش نیازهای ما رو رفع میکنه؟ لود تست میگیریم و کلی در موردشم صحبت کردیم. اما چطور عددهایی که خروجی لود تستمون هست رو متوجه بشیم و با توجه به نیاز محصول، از عملکرد…
👍7👀1
تجربه مصاحبه جدیدم:
اولش تماس گرفتن که از فلان شرکت هستیم و حدود بیست دقیقه ای صحبت کردیم
بعدش به یکباره گفتن مصاحبه فنی رو ده دقیقه دیگه اوکیه بریم؟
منم گفتم بریم بریم
حدود یکونیم ساعت صحبت کردیم که نسبتا سوالات چالش بر انگیز و سختی بود اما شخص مصاحبه گر خیلی با تجربه بود و کلی چیز ازش یاد گرفتم.
چه سوالاتی پرسیده شد؟
سوالات pure python
نمونه ای از سوال:
اگه ما یه لیست بزرگ داشته باشیم و بخوایم دونه دونه عناصرشون رو بگیریم و یه عملیاتی انجام بدیم چیکار کنم بهتره؟
اگه مشکل منابع نداشته باشیم، از چه روشی استفاده کنیم بهتره؟
قسمت بعدی سوالات درباره شی گرایی، دیزاین پترن ها بود
اصول solid رو تقریبا هرچهارتاشو پرسید.
یک سوال درباره الگوی طراحی Circuit breaker پرسید که متاسفانه یادم نبود
قسمت بعدی درباره دیتابیس و django orm بود
سوالات زیادی پرسید
یک سری حالت رو توضیح داد و گفت توی raw sql و orm چجوری کوئری بزنیم.
درباره مایگریشن ها سوالات عمیقی پرسید که نحوه کارکردنش دقیقا تو جنگو چجوریه
یه قسمت دیگم در خصوص چالش های معماری میکروسرویس بود
سوالاتی که پرسید واقعا عالی بودن. اما فکر نمیکنم کار خوبی باشه همه رو لو بدم😂
در کل مصاحبه یهوییه خیلی خوبی بود👌
#interview
@Syntax_fa
اولش تماس گرفتن که از فلان شرکت هستیم و حدود بیست دقیقه ای صحبت کردیم
بعدش به یکباره گفتن مصاحبه فنی رو ده دقیقه دیگه اوکیه بریم؟
منم گفتم بریم بریم
حدود یکونیم ساعت صحبت کردیم که نسبتا سوالات چالش بر انگیز و سختی بود اما شخص مصاحبه گر خیلی با تجربه بود و کلی چیز ازش یاد گرفتم.
چه سوالاتی پرسیده شد؟
سوالات pure python
نمونه ای از سوال:
اگه ما یه لیست بزرگ داشته باشیم و بخوایم دونه دونه عناصرشون رو بگیریم و یه عملیاتی انجام بدیم چیکار کنم بهتره؟
اگه مشکل منابع نداشته باشیم، از چه روشی استفاده کنیم بهتره؟
قسمت بعدی سوالات درباره شی گرایی، دیزاین پترن ها بود
اصول solid رو تقریبا هرچهارتاشو پرسید.
یک سوال درباره الگوی طراحی Circuit breaker پرسید که متاسفانه یادم نبود
قسمت بعدی درباره دیتابیس و django orm بود
سوالات زیادی پرسید
یک سری حالت رو توضیح داد و گفت توی raw sql و orm چجوری کوئری بزنیم.
درباره مایگریشن ها سوالات عمیقی پرسید که نحوه کارکردنش دقیقا تو جنگو چجوریه
یه قسمت دیگم در خصوص چالش های معماری میکروسرویس بود
سوالاتی که پرسید واقعا عالی بودن. اما فکر نمیکنم کار خوبی باشه همه رو لو بدم😂
در کل مصاحبه یهوییه خیلی خوبی بود👌
#interview
@Syntax_fa
👍25
یه مقاله جالب درباره سرویس احراز هویت یکتانت
https://virgool.io/yektanet/%D9%85%D8%B9%D9%85%D8%A7%D8%B1%DB%8C-%D8%A7%D8%AD%D8%B1%D8%A7%D8%B2-%D9%87%D9%88%DB%8C%D8%AA-%DB%8C%DA%A9%D8%AA%D8%A7%D9%86%D8%AA-dqsxziraa2gk
@Syntax_fa
https://virgool.io/yektanet/%D9%85%D8%B9%D9%85%D8%A7%D8%B1%DB%8C-%D8%A7%D8%AD%D8%B1%D8%A7%D8%B2-%D9%87%D9%88%DB%8C%D8%AA-%DB%8C%DA%A9%D8%AA%D8%A7%D9%86%D8%AA-dqsxziraa2gk
@Syntax_fa
ویرگول
سرویس احراز هویت یکتانت | معماری
پروتکلی در معماری میکروسرویس برای احراز هویت امن کاربران
👍9😁1
اگه میخواید یه سری مقالات خوب در خصوص پروتکل های احراز هویت، مدیریت احراز هویت و ... بخونید، حتما یه سر به وبلاگ آتین بزنید:
https://authin.ir/authin-blog/
@Syntax_fa
https://authin.ir/authin-blog/
@Syntax_fa
آتین
وبلاگ آتین | سامانه مدیریت هویت و دسترسی
وبـــلاگ آتــیــن دسته بندی مطالب وبلاگ : همه مطالب مدیریت هویت و دسترسی احراز هویت پروتکل های احراز هویت امنیت سایبری دورکاری مقالات پربازدید: مقــالات وبـــلاگ آتــیــن 03 آذر پروتکل FIDO پروتکل FIDO در حال حاضر گذرواژه ها رایج ترین روش برای احراز هویت…
👍6
Keycloak
یک ابزار احراز هویت و مدیریت دسترسی بسیار کاربردی و محبوب است. به زبان ساده میشه گفت Keycloak یک برنامه ای هست که به شما این امکانو میده که یک سیستم احراز هویت و کنترل دسترسی برای برنامه هاتون راه اندازی کنید(همونطور که میدونید این بخش پروژه پیاده سازیش خیلی حساسه).
اصلی ترین کاربرد Keycloak اینه که به شما کمک میکنه تا کاربران رو به راحتی مدیریت کنید و به برنامه هاتون متصل کنید. با استفاده از Keycloak میتونید:
- یک سیستم ورود به سیستم یکپارچه (SSO) برای کاربران خودتون راه اندازی کنید
- به راحتی حساب های کاربری رو ایجاد، مدیریت و پشتیبانی کنید
- دسترسی های کاربران رو به برنامه ها و منابع مختلف کنترل و مدیریت کنید
- احراز هویت چند مرحله ای رو برای افزایش امنیت پیاده سازی کنید
- امکانات پیشرفته مثل اعمال سیاست های امنیتی، گزارش گیری و تجزیه و تحلیل رو داشته باشید
استفاده از این ابزار باعث میشه که دیگه نگران مدیریت حساب های کاربری نباشید و روی توسعه برنامه های اصلیتون تمرکز کنید.
(تو پستای بعدی نحوه کار کردن باهاشو میگم)
#SSO #Keycloak
@Syntax_fa
یک ابزار احراز هویت و مدیریت دسترسی بسیار کاربردی و محبوب است. به زبان ساده میشه گفت Keycloak یک برنامه ای هست که به شما این امکانو میده که یک سیستم احراز هویت و کنترل دسترسی برای برنامه هاتون راه اندازی کنید(همونطور که میدونید این بخش پروژه پیاده سازیش خیلی حساسه).
اصلی ترین کاربرد Keycloak اینه که به شما کمک میکنه تا کاربران رو به راحتی مدیریت کنید و به برنامه هاتون متصل کنید. با استفاده از Keycloak میتونید:
- یک سیستم ورود به سیستم یکپارچه (SSO) برای کاربران خودتون راه اندازی کنید
- به راحتی حساب های کاربری رو ایجاد، مدیریت و پشتیبانی کنید
- دسترسی های کاربران رو به برنامه ها و منابع مختلف کنترل و مدیریت کنید
- احراز هویت چند مرحله ای رو برای افزایش امنیت پیاده سازی کنید
- امکانات پیشرفته مثل اعمال سیاست های امنیتی، گزارش گیری و تجزیه و تحلیل رو داشته باشید
استفاده از این ابزار باعث میشه که دیگه نگران مدیریت حساب های کاربری نباشید و روی توسعه برنامه های اصلیتون تمرکز کنید.
(تو پستای بعدی نحوه کار کردن باهاشو میگم)
#SSO #Keycloak
@Syntax_fa
🔥10❤2👎1