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 185
Подписчики
Нет данных24 часа
-27 дней
+1230 день
Архив постов
3 185
تجربه مصاحبه جدیدم:
اولش تماس گرفتن که از فلان شرکت هستیم و حدود بیست دقیقه ای صحبت کردیم
بعدش به یکباره گفتن مصاحبه فنی رو ده دقیقه دیگه اوکیه بریم؟
منم گفتم بریم بریم
حدود یکونیم ساعت صحبت کردیم که نسبتا سوالات چالش بر انگیز و سختی بود اما شخص مصاحبه گر خیلی با تجربه بود و کلی چیز ازش یاد گرفتم.
چه سوالاتی پرسیده شد؟
سوالات pure python
نمونه ای از سوال:
اگه ما یه لیست بزرگ داشته باشیم و بخوایم دونه دونه عناصرشون رو بگیریم و یه عملیاتی انجام بدیم چیکار کنم بهتره؟
اگه مشکل منابع نداشته باشیم، از چه روشی استفاده کنیم بهتره؟
قسمت بعدی سوالات درباره شی گرایی، دیزاین پترن ها بود
اصول solid رو تقریبا هرچهارتاشو پرسید.
یک سوال درباره الگوی طراحی Circuit breaker پرسید که متاسفانه یادم نبود
قسمت بعدی درباره دیتابیس و django orm بود
سوالات زیادی پرسید
یک سری حالت رو توضیح داد و گفت توی raw sql و orm چجوری کوئری بزنیم.
درباره مایگریشن ها سوالات عمیقی پرسید که نحوه کارکردنش دقیقا تو جنگو چجوریه
یه قسمت دیگم در خصوص چالش های معماری میکروسرویس بود
در کل مصاحبه یهوییه خیلی خوبی بود👌
#interview
@Syntax_fa
3 185
به دنبال ساختار باشید و نه چارچوب
چند روز پیش یه مربی کودک یه حرف خیلی مهمی زد با این مفهوم: «ما اینجا برای بچه ها ساختار تعیین می کنیم نه چارچوب، چارچوب یعنی حد و مرز!»
این جمله رو باید قاب کرد و زد رو دیوار، احتمالا در ابعاد خیلی زیادی از زندگی مهم باشه. در مهندسی نرم افزار و توسعه محصول هم خیلی حرف مهمیه.
بیشتر اوقات ما دنبال چارچوب هستیم در مهندسی نرم افزار، به همین دلیل وقتی خودمون رو به یه چارچوب خاص محدود می کنیم با چالش های زیادی روبرو میشیم. در حالیکه بهتره ما برای توسعه محصول ساختار داشته باشیم و طبق اصول ساختاری کار رو پیش ببریم، اینطوری چالش مون کمتر میشه.
اجازه بدید برداشت خودم از چارچوب و ساختار رو کمی بیشتر باز کنم. ساختار میشه مجموعه از قواعد رفتاری که باید سعی کنیم در توسعه محصول بهشون پایبند باشیم، در مقابل، چارچوب میشه تعیین کردن یه سری حد و مرز مشخص به شیوه ای سختگیرانه.
مثلا اگه بخوام برای توسعه یک سرویس ساختار تعیین کنم احتمالا میگم: این سرویس باید توان پاسخگویی بالایی داشته باشه، در مقابل خطا مقاوم باشه، قابلیت مقیاس پذیری داشته باشه، یک قرارداد ساده و شفاف به کلاینت ها ارائه بده و مواردی از این دست.
اما اگه بخوام چارچوب برای سرویس تعیین کنم احتمالا میگم: ما باید از ساختار کد مبتنی بر clean code یا ddd در فلان repository که خودمون یا دیگران اونو نوشتن پیروی کنیم، باید همه ورودی هارو تو پوشه port قرار بدیم، باید همه مدل هامون تو پوشه models باشه، باید از فلان روش ci/cd استفاده کنیم.
در توسعه محصول تعیین کردن حد و مرز و چارچوب میتونه خوب باشه، اما بشرطی که تعیین این حد و مرز تنها زمان پیاده سازی سرویس باشه و متعهد بشیم که کورکورانه و سختگیرانه نخوایم این چارچوب رو به همه سرویس ها و محصولات تحمیل کنیم.
خیلی از practiceهایی که معروف شدند مثل clean code و ddd و tdd و غیره هم از نظر من بیشتر به دنبال این هستند که به شما کمک کنند که برای کارتون ساختار تعیین کنید. در حالیکه اشتباهی که زیاد رخ میده اینه که ما با خوندن این مطالب احتمالا بیشتر به سمت درآوردن چارچوب میریم... همه ش به دنبال این هستیم که مثلا یه boilerplate داشته باشیم که از clean code پیروی کنه و همون رو همه جا استفاده کنیم.
من گاها به دوستان متذکر میشم که خوندن این الگوها و منابع خیلی خوبه، به شرطی که شما سعی کنی جان کلام و دغدغه اصلی رو متوجه بشی، نه اینکه سعی کنی به دنبال یک راه حل فست فودی و چارچوب مشخص و معین باشی که کورکورانه همه جا ازش استفاده کنی.
شما وقتی برای کارت ساختار داشته باشی میتونی انعطاف پذیر باشی و بسته به نیازت چارچوب تعیین کنی، اما اگه بخوای یه چارچوب معین رو همه جا رعایت کنی احتمالا یه جاهایی اصول ساختاری خودت رو مجبور میشی زیر پا بذاری چون هیچ چارچوب واحدی وجود نداره که برای همه نیازها مناسب باشه.
@gocasts
#Note
@Syntax_fa
3 185
سلام به همه وقتتون بخیر
من این چند وقت پست کم گذاشتم دلیل آنلاین نبودنم در واقع این کسب و کاریه که تازگیا شروع کردم
😁
همیشه به راه اندازی فروشگاه آنلاین علاقه خاصی داشتم در کل از تولید کردن و فروختن خیلی خوشم میاد. بالاخره دارم انجامش میدم:)
تابلو های این شکلی میفروشیم که اسمشو گذاشتیم«تابلو لومن»
تابلو بصورت نقاشی با قلم سیاه هستش ولی وقتی روشن میشه همه چی خیلی خوشگل تر میشه
همچنین طرح مورد علاقه خودتونم میتونیم براتون آماده کنیم👌
برای تزئین و هدیه دادن خیلی مناسبه
لینک کانال استلار هنر:
@StellarHonar
گالری محصولاتمون:
https://stellarhonar.ir
الان که اول راهمون هستیم اگه تو کانال و گروهتون فوروارد کنید کمک بزرگی کردید دوستان🙏
3 185
دورهمی هفته یازدهم مهندسین گولنگ
موضوع: 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 185
مقاله جالبیه در مورد انواع روش های ارتباط real-time و مزایا و معایب هر کدوم از جنبه های مختلف
https://rxdb.info/articles/websockets-sse-polling-webrtc-webtransport.html
@gocasts
#websocket
@Syntax_fa
3 185
پکیج d_jwt_auth آپدیت شد!
- قابلیت محدود کردن دیوایس هایی که از یک اکانت استفاده می کنند.
source code:
https://github.com/alireza-fa/django-jwt-auth
pypi:
https://pypi.org/project/d-jwt-auth/
3 185
مهاجرت به عنوان یک #برنامهنویس به #هلند! زمانی که داخل کشور سال ۹۸-۹۹ سالی ۱۵۰ میلیون درآمد داری!
تو قسمت جدید راکتکست راکت با Bobby Babazadeh هم صحبت شدیم تا ببینیم مسیر مهاجرت چطوریه؟ چه چالشهای داره؟ اصلا خوبه؟
https://youtu.be/WQLzdcTDpj0?si=JHJZczU29SkR_e-z
@Syntax_fa
3 185
⭕️بخشی از مستند شوک سال 88 در تلویزیون آخوندها
همون حوالی که تلویزیون آخوندها داشت اینترنت رو مثل دوچرخه حرام اعلام کرد و تماما مستند میساخت که اقا اینترنت یعنی فساد بچه هاتون، رفته بودم انتخاب رشته کنم برای رشته فنی ، مادر و برادر برای تحقیق رفته بودن یکی از کافی نت های شهر که این پسر برای یه شرکته پای کامپیوترش داره هک میکنه ، این هک چیه؟ چون گفته بودن ما درباره اینها سوادی نداریم راهنمایی میخواستن بگیرن..
کافی نتی بهش گفته بود داره دزدی میکنه:).
بماند که مسیر زندگی من با این حرف عوض شد و بخاطر این مساله مسیرها رفتم ،ولی آخوندی که شوک میساخت و حرام اعلام میکرد، الان داره تبلیغ فلسطین میکنه توی شبکه های مجازی که خودش رای به فیلترش داده.
در سرزمین من همه چیز حرام اعلام میشه ،البته برای رعیت ، نه برای درباریان.
مثل آیفون که گفتن لاکچری هست ممنوعش کنید فقط بیزحمت برای فرار آقازادهها و درباریان جت شخصی رو ازاد بذارید.
@securation
3 185
هکاتون 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
3 185
سوال پایتونی:
چگونه میتوان در 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