Syntax | سینتکس – Telegram
برم تو مسابقات شرکت کنم تا یه رزومه ای شه

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

#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
گفتگو خیلی خوبیه بنظرم حتما گوش بدید
کتاب آزاد زبان برنامه نویسی گو (فارسی)

اگه به زبان برنامه نویسی گولنگ علاقه دارید، یکی از بهترین منابع فارسی این کتاب هستش.
تو فصل های مختلف از مباحث مقدماتی تا پیشرفته گفته شده.
همچنین تو فصل جدید «شبکه بلاکچین» قراره آموزش داده بشه

لینک وب سایت:
https://book.gofarsi.ir/

همچنین گیت هاب حتما ستاره بدید تا حمایت شه:
https://github.com/GoFarsi/book

#Book #Golang

@Syntax_fa
🔥7
اگه قرار باشه زبان برنامه نویسیه جدید یاد بگیری، کدوم یک از موارد زیر رو انتخاب می کنی؟
Anonymous Poll
25%
Python
13%
Rust
9%
C#
20%
Golang
10%
Js
6%
Java
9%
C / C++
1%
Swift
7%
Kotlin
👍8
الگو Monitor در Synchronization

توضیح مانیتور در ویکی‌پدیا:
https://en.wikipedia.org/wiki/Monitor_(synchronization)

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

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

یک مانتیور در حالت ساده یک قفل mutex دارد و یک شرط

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

چالش:
در هر زبانی که کار میکنید. سعی کنید الگو Monitor را با حل یک مسئله ساده پیاده سازی کنید

مسئله پیشنهادی:
قرار است یک کاری را زمانی که تعداد یوزر ها به 100 نفر رسید انجام دهید و قبل از آن هر کسی که جوین می شود در حالت انتظار باقی می ماند تا تعداد به صد نفر برسد.
(هر یوزر مساوی با یک ترد هستش)

#Monitor_concurrency

@Syntax_fa
👍7
برای ریسیت کردن free trial برنامه های Jetbrains توی لینوکس از روش زیر می تونید استفاده کنید:

echo "Resetting trial period for $product"
echo "removing evaluation key..."

rm -rf ~/.config/$product*/eval

# Above path not working on latest version. Fixed below

rm -rf ~/.config/JetBrains/$product*/eval

echo "removing all evlsprt properties in options.xml..."

sed -i 's/evlsprt//' ~/.config/$product*/options/other.xml

# Above path not working on latest version. Fixed below

sed -i 's/evlsprt//' ~/.config/JetBrains/$product*/options/other.xml

echo

done

echo "removing userPrefs files..."

rm -rf ~/.java/.userPrefs


#Jetbrains

@Syntax_fa
🔥7
Syntax | سینتکس
پایتون یاد بگیرم یا نه؟ خیلی از دوستان پیوی از من همچین سوالاتی می کنن: ۱. میخوام برنامه نویسی رو شروع کنم. با چه زبانی شروع کنم بهتره؟ ۲. پایتون بازار کارش خوبه؟ ۳. جنگو بازار کارش خوبه؟ ۴. پایتون سمت وب خوبه یاد بگیرم یا برم سمت یک زبان دیگه؟ ۵. چی یاد…
یکی از نظرات خوب دوستان:

این سوالات رو افراد ب شدت مبتدی یا افرادی ک تازه میخان شروع کنن میپرسن ک طبیعیه. این صنعت از بیرون مثل ی اقیانوس عمیق و ناشناخته میمونه و خیلیی می بینم ک هنر جو ها ب جای دل رو ب دریا زدن و پا تو آب گذاشتن بیرون وایمیسن و وقت گرانبهاشون رو ب این فکرها و پرسشها میگذرونن!

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

پیشنهادم ب هنر جوهای تازه کار اینه که اصلن ب ادامه ی مسیر فکر نکنن و فقط بپرن تو آب - با پایتون ک یکی از ساده ترین و در عین حال قدرمتند ترین زبانهای امروزه شروع کنن و مساله حل کنن - توی اینترنت و کتابهایی مثل الگوریتم و فلوچارت کلی مساله ی خوب پیدا میکنن ک میتونن تو زبان پایتون حل کنن و ی تیر و دو نشون بزنن.

هم پایتون یاد بگیرن و هم ذهنشون رو مثل ی برنامه نویس حرفه ای پرورش بدن و با الگوریتمهای پایه و نحوه ی تفکر مثل کامپیوتر و حرف زدن با ماشین آشنا بشن

و چون پایتون رو انتخاب کردن برای شروع در ادامه آپشنهای زیادی دارن. از بکند وب تا هوش مصنوعی و ...

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

پس وسواس و مته ب خشخاش گذاشتن رو بیخیال شین و بپرین تو آب!!

#Question

@Syntax_fa
9👍6
This media is not supported in your browser
VIEW IN TELEGRAM
اچ تی ام اکس چیست؟

اچ تی ام اکس به شما امکان دسترسی مستقیم به AJAX، CSS Transitions، WebSockets و رویدادهای ارسال شده از سرور را در HTML با استفاده از ویژگی ها می دهد، بنابراین می توانید رابط های کاربری مدرن را با سادگی و قدرت فرامتن بسازید.

https://htmx.org/docs

#HTMX

@Syntax_fa
👍61
Canary

کانری دیپلویمنت روشی برای انتشار نرم‌افزار است که در آن یک بخش کوچک از کاربران به نسخه جدید یک سرویس یا نرم‌افزار منتقل می‌شوند تا اشکالات احتمالی در نسخه جدید شناسایی شود

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

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

برای مثال فرض کنید یک وب‌سایت خبری می‌خواهد نسخه جدید سیستم مدیریت محتوای آن را پیاده و راه‌اندازی کند. با استفاده از روش کانری دیپلویمنت، ابتدا تنها 1 درصد از کاربران به صورت تصادفی به نسخه جدید منتقل می‌شوند

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

#Canary

@Syntax_fa
🔥4👌3👍2
با چند تا مثال regex رو یاد بگیر‌(قسمت اول)

1. پترن ما این هستش که توی متن hello داشته باشه:
Pattern := "hello"


2. به بزرگ و کوچیک بودن حروف حساس نباشه:
برای این موارد یه سری flag هایی رو regex در اختیار ما قرار داده. برای اینکه به بزرگ و کوچک بودن حروف حساس نباشه از فلگ i استفاده می کنیم:
Pattern := "(?i)Hello"


3. اول متن با hello شروع بشه و به بزرگ و کوچیک بودن حروف حساس نباشه:
Pattern := "(?i)^hello"

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

4. اول هر خط با hello شروع بشه:
تو مثال قبلی گفتیم اول متن hello باشه اما اینبار اول هر خط رو میخوایم حساب کنیم. برای اینکار از فلگ m استفاده می کنیم که به معنی این است روی چند تا خط ^ و $ رو اعمال کن. همچنین از فلگ g که مخفف global هست، استفاده میکنیم‌ که بعد از پیدا کردن اولین نتیجه return نکنه و بره بقیه متن رو هم بگرده(توی هر زبان به یه شکلی فلگ هارو میدیم)

نکته:
اگه بخوایم بجای اینکه اول رشته با الگو ما تطابق داشته باشه، آخر خط و یا رشته رو چک کنیم، بجای ^ آخر الگو میایم $ قرار میدیم:
pattern := "hello$"


5. کاراکتر اول h باشد، کاراکتر دوم هرچیزی باشه فرقی نمیکنه و کاراکتر های بعدی llo باشد:
Pattern := "h.llo"

با استفاده نقطه مشخص میکنیم هر کاراکتری باشه فرقی نمیکنه.

6. فقط حروف کوچک انگلیسی:
Pattern:= [a-z]

داخل براکت میتونیم مشخص کنیم که چه کاراکتر هایی توی الگو ما هستش. ما اینجا میتونستیم تمامی حروف کوچک انگلیسی را بنویسیم(abcdefghi...) اما بجایش به این صورت نوشتیم که از a تا z باشد.

7. حروف انگیسی باشد و به بزرگ و کوچک بودن حساس نباشد. همچنین اعداد 0 تا 9 را هم داشته باشد:
Pattern := "(?i)[a-z0-9]"

همچنین میتوانیم از فلگ استفاده نکنیم و داخل براکت مشخص کنیم حروف بزرگ هم هستش:
Pattern := [a-zA-Z0-9]


#Regex

@Syntax_fa
🔥102👍2👎1
سمبل های پر استفاده در برنامه نویسی

#Symbol

@Syntax_fa
👍10👎1
Syntax | سینتکس
اگه قرار باشه زبان برنامه نویسیه جدید یاد بگیری، کدوم یک از موارد زیر رو انتخاب می کنی؟
طبق نظر دوستان و همونطور که میشد حدس زد این روزا زبان golang و rust خیلی محبوب هستند و اکثرا وقتی ازشون بپرسی دوست داری کدوم زبانو یاد بگیری یکی از این دوتارو بر اساس فیلد کاریشون انتخاب می کنن

همچنین زبان JS و C sharp بعد از Go و Rust انتخاب ملت بود

نسبت به یادگیری Java کسی آنچنان شوقی نشون نداده

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

نکته بعدی درباره پایتون هستش:
تا اونجا میدونم هشتاد درصد ممبرا پایتون کارن
نظرسنجی این بود زبان دومی که انتخاب میکنید چیه
اما خیلیا حتی زبان دومم زدن پایتون و میخوان دوبار پایتونو یاد بگیرن (تعصبشو میکشن😁)

#pool #Fun

@Syntax_fa
😁11
ساختار یک HTTP Request

#Note #HTTP

@Syntax_fa
👍61
This media is not supported in your browser
VIEW IN TELEGRAM
ویژن پرو چقدر خوبه

#Fun

@Syntax_fa
👌12😍1