Syntax | سینتکس – Telegram
آیا زبون شما هم اینقدر عکسای باحال داره ؟

#Fun #Go

@Syntax_fa
😁14👍1
Dependency Inversion

در پست های قبل درباره یکی از اصول solid به اسم Open / Close توضیح دادیم.
در این پست به یکی دیگر از اصول solid یعنی Dependency Inversion می پریدازیم.

High level modules should not depend on low-level modules. Both should depend on abstractions.
ماژول های سطح بالا نباید به ماژول های سطح پایین وابسته باشند. بلکه هر دو باید به یک abstraction وابسه باشند(درباره abstraction چند پست بالاتر توضیح دادم)

بیاید یک مثال بزنیم. سرویس اکانت برای اینکه بتونه otp code رو ارسال کنه به سرویس sms وابسته است و نمیتواند بدون سرویس sms کار کند و ما هم نمیتوانیم این وابستگی را حذف کنیم. پس راه حل چیست؟

کاری که ما می کنیم این است اکانت رو بصورت مستقیم به سرویس sms وصل نمیکنیم بجاش از یک abstraction و قرارداد استفاده میکنیم. برای مثال میگیم سرویس اس ام اس یک متد به اسم send_sms داره که متن پیام و شماره موبایل رو میگیره و در نهایت فلان چیز رو به عنوان خروجی برمیگردونه.

از اون طرف سرویس اس ام اس هم باید قوانین abstraction رو پیاده سازی بکنه و این abstract ما هست که وسط این دو سرویس قرار میگیره.
در این صورت خیلی ساده می تونیم سرویسمون رو جایگزین کنیم.
حتی برای تست میتونیم یک سرویس به اسم dummy sms service بنویسم تا به راحتی تست هایمان را انجام دهیم و از همه مهم تر یک طراحی ماژولار داریم.

با اینکار ما اومدیم Dependency رو Inversion کردیم.

این یکی از مهم ترین اصول مهندسی نرم افزار است.

همچنین در دوره آموزش پیشرفته جنگو درباره interface توضیح داده شده است و در قسمت های بعدی برای استفاده از سرویس logger از این روش استفاده می کنیم.

#Dependency_inversion #Solid

@Syntax_fa
👍11
مینی دوره آموزش پیشرفته جنگو

پیاده سازی لاگر seq:
https://youtu.be/m44OhEaZ-is?si=-FeCt59-_iD2BAx1

#Django #logger

@Syntax_fa
🔥5👍3
تاحالا درباره اینکه چجوری تو زبان برنامه نویسیتون یه عدد رندوم می‌سازید فکر کردید؟

همونطور که میدونیم در کامپیوتر چیزی به عنوان تصادفی نداریم پس چطور عدد های رندوم ساخته میشن؟

پیشنهاد میدم یکی از این دو مقاله رو بخونید:
https://virgool.io/javacup/random-generate-jnwpgxv84hgf

https://www.freecodecamp.org/news/random-number-generator/

#Random

@Syntax_fa
🔥9👍2
مینی دوره آموزش پیشرفته جنگو

دسته بندی لاگ ها:
https://youtu.be/_VBUiM6xQzI?si=fLZPNG_4c4FiG7et

پیاده سازی logger قسمت یک:
https://youtu.be/XXYYqHq3xIU?si=Ivt4pVf8y7fn5NWJ

پیاده سازی logger قسمت دو:
https://youtu.be/WvaQbjMWB3w?si=8WEV2LPMDKhvOJAH

#Django

@Syntax_fa
🔥71👍1
مینی دوره‌ آموزش پیشرفته جنگو

اضافه کردن middleware برای لاگ زدن request and response ها(قسمت آخر):
https://youtu.be/SJZv2J2DigI

#Django

@Syntax_fa
🔥8👍3
Media is too big
VIEW IN TELEGRAM
جای اون استیکر های زشتی که پشت لپتاپتون میزنید برید مثل این خوشگلش کنید

#Fun

@Syntax_fa
🔥19😱42👍1👎1🥰1🏆1💔1🤨1
Syntax | سینتکس
مینی دوره‌ آموزش پیشرفته جنگو اضافه کردن middleware برای لاگ زدن request and response ها(قسمت آخر): https://youtu.be/SJZv2J2DigI #Django @Syntax_fa
تو این پروژه Rabbitmq و سلری رو برای استفاده اضافش کردم. همچنین لاگ ها رو از طریق سلری و ربیت میزنیم توی seq
اگه بدردتون میخوره یه نگاه به نحوه اضافه کردن سرویس rabbitmq به docker-compose و کانفیگ هاش بکنید.

https://github.com/alireza-fa/django-advanced-course
👍9🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
تعطیلات یه برنامه نویس

#Fun

@Syntax_fa
😁12👍1
برنامه InstaBot

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

آیدی امیرحسین جهت ارتباط:
@Awmirsn

توضیح برنامه instabot:
یک برنامه اینستاگرام که دارای بخش های آنفالویاب ، مدیریت اکانت و مدیریت دایرکت هست . که البته در این نسخه از برنامه pre-release هست، فقط قابلیت انفالو یابش موجوده ... که اونم کارکردش رو توی ویدیو مشاهده میکنین.
بک اند برنامه بر پایتون با استفاده از کتابخانه instaloader نوشته شده.
فرانت اند برنامه هم با customTkinter نوشته شده.
جفتشم خودم نوشتم.
خلاصه ایده اصلی برنامه مدیریت دایرکت، اکانت و ... هستش.

لینک گیت هاب:
https://gitlab.com/Cyrus2500/instabot-app

این فقط یه نسخه pre-release هست ، برنامه باگ و اشکالات خیلی زیادی داره و می‌تونه کدش خیلی بهتر بشه
دوستان برنامه نویس خواستن میتونن تو طراحی اصلی برنامه مشارکت داشته باشن، ایده خفنیه!
تمام کلاس های داخل برنامه و توابع دارای docstring هستن و میتونین براحتی نحوه کار کلاس هارو با سن گوگل ترنسلیت بدونین.

درضمن بگم که هدف اصلی برنامه اکانت های بیزنسی هست
اونایی که دایرکت و وضعیت اکانتشون شلوغه
البته اکانت های معمولی هم میتونن استفاده کنن

اگه کار برنامه خیلی بگیر باشه ، رو تبلیغ و ... کار کنیم
قابلیت دایرکت و مدیریت حرفه‌ای اکانت رو میتونیم اشتراکی کنیم
درکل ایده خوبیه
بجز قابلیت بیزنس چت خود اینستاگرام که خیلی حرفه‌ای نیست ، من برنامه‌ای مثل این جایی ندیدم واقعا
🔥13👍3
وب سایت slideshare.net

توی این وب سایت درباره هر چیزی می تونید ارائه پیدا کنید.

برای مثال درباره grpc سرچ کنید کلی ارائه میاره مثلا یکیش اینه:
https://www.slideshare.net/GuoJing8/http2-and-grpc?from_search=2

البته رایگان نمیتونید دانلود کنید اما توی وب سایتش میشه بطور رایگان خوند.

#Presentation

@Syntax_fa
👍5
Forwarded from C# Friends (Mr.Grayhat [S.R])
Media is too big
VIEW IN TELEGRAM
ما از دنیا حذف شده ایم!
#appex #2024 #filternet
👍162
برم تو مسابقات شرکت کنم تا یه رزومه ای شه

سطح مسابقات:
میانگین حتی بیشتر از ماکسیمم هستش.
احتمالا از پایتون بومی سازی شده برای میانگین گرفتن استفاده کردن

#Fun

@Syntax_fa
🤣18
آخرین خواسته مرحوم قبل مرگش این بود که تاریخچه سرچ های مرورگرش پاک بشه.

نمونه ای از سرچاش:
- اگه من دوبار ویندوز ۳۲ بیت نصب کنم، ۶۴ بیت میشه؟
- چجوری میتونم اینترنتو توی یه درایور بریزم تا بتونم از محل کار ببرمش خونه؟
- چرا میگن از دکمه خاموش روشن کردن لپتاپ. فقط واسه روشن کردن لپتاپ استفاده کنیم؟
- چرا برنامه نویسا سینگل هستن؟
- چجوری میتونم اکانت فیبسوک دوست دختر سابقمو با html هک کنم؟
- این دکمه any key کدوم دکمه کیبورده؟

#Fun

@Syntax_fa
🤣25
چرا CQRC

توضیح پست بعدی

#CQRC

@Syntax_fa
7
Syntax | سینتکس
چرا CQRC توضیح پست بعدی #CQRC @Syntax_fa
مقداری باید تاریخ کاری رو ورق بزنیم و برگردیم به عقب به اون روزهایی که یک نرم افزار بود و یک دیتابیس یک دیتابیس بود و کلی عملیات از یک طرف داده ها روی دیتابیس نوشته میشد و از یک طرف داده ها خونده میشد فکر کنید یک نرم افزار انبار در گذشته مینوشتیم یک برنامه با یک دیتابیس اسم دیتابیس هم مهم نیست #sqlserver یا #postgersql یا #oracle یا #nosql فرقی نمیکنه حالا در نظر بگیرید این انبار کالاهای ورودی رو داره با هندهلد و بارکد ثبت میکنه و یک محموله بزرگ داریم مثلا انبار دارو چندین نفر در حال ثبت داده هستند از طرف دیگر داروخانه درخواست تحویل کالا رو به انبار میفرسته و از طرف دیگه چندین مدیر داریم که گزارش میگیرن فکر کنید گزارشهای سنگین پی در پی میاد سمت دیتابیس دوستان این مثالها در مقیاس بسیار کوچیکه و فقط برای درک موضوع طرح میشن در ابعاد واقعی داستان متفاوته تو همین شرایط فکر کنید یک گزارش سنگین در حال انجامه روی یک تیبل و همون لحظه یک درخواست ثبت رکورد میاد و همون لحظه در خواست ویرایش چند رکورد میاد و گزارش همچنان فعاله در این صورت در سطح دیتابیس همزمانی پیش میاد که در مباحث دیتابیس کاملا توضیح دادم خوب چه کنیم ؟ چطور به داد کاربران و دیتابیس برسیم یک دیزاین پترن یا الگو چاره کار بود اسمش رو گذاشتن #cqrs جدا کردن کوئری و کامند یعنی دستورات برنامه رو به دو قسمت به شرح زیر تقسیم کنیم: #کامند: دستوراتی که وضعیت دیتابیس رو تغییر میده که شامل افزودن حذف و ابدیت میباشد #کوئری: دستوراتی که وضعیت رو تغییر نمیده و فقط خواندن اطلاعات میباشد برای این الگو راه کارهای زیادی وجود داره که یک راه کار استفاده از دو دیتابیس یکی برای نوشتن و دیگری برای خوندنه مثلا اگر فقط میخواید از #sqlserver استفاده کنید میتونید با استراتژی (Always On availability group)AG دو دیتابیس داشته باشید یکی برای نوشتن و دیگری برای خوندن یا اینکه از دیتا بیسهای متفاوت استفاده کنید سینک کردن دیتا بین دو دیتابیس خواندنی و نوشتنی باید به دقت حل شود برای نمونه در #netcore میتونیم از دیزاین #IMediatR بهره ببریم و در #springboot هم میتونیم خودمون پیاده سازی کنیم یا از #axonframework استفاده کنیم این الگو برای سیستمهایی خوبه که درخواستهای زیادی دارن این فقط یک الگو و الگوهای دیگری هم هست ولی جوابش رو پس داده

لینک:
https://www.linkedin.com/posts/activity-7158741967705632768-IGhG?utm_source=share&utm_medium=member_android

#CQRC

@Syntax_fa
😍6👍32
پایتون یاد بگیرم یا نه؟

خیلی از دوستان پیوی از من همچین سوالاتی می کنن:
۱. میخوام برنامه نویسی رو شروع کنم. با چه زبانی شروع کنم بهتره؟
۲. پایتون بازار کارش خوبه؟
۳. جنگو بازار کارش خوبه؟
۴. پایتون سمت وب خوبه یاد بگیرم یا برم سمت یک زبان دیگه؟
۵. چی یاد بگیرم سریع تر میتونم استخدام بشم؟
...

ممنون میشم توی کامنت نظراتتون رو نسبت به سوالات این شکلی بگن تا افراد تازه کار بتونن استفاده کنن

نظرات خوبو در ادامه پست می کنم


#Question

@Syntax_fa
👍9🔥1
Forwarded from </AminAli>
7👍1🤨1
گفتگو خیلی خوبیه بنظرم حتما گوش بدید