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
لینک:
https://www.linkedin.com/posts/activity-7158741967705632768-IGhG?utm_source=share&utm_medium=member_android
#CQRC
@Syntax_fa
😍6👍3❤2
پایتون یاد بگیرم یا نه؟
خیلی از دوستان پیوی از من همچین سوالاتی می کنن:
۱. میخوام برنامه نویسی رو شروع کنم. با چه زبانی شروع کنم بهتره؟
۲. پایتون بازار کارش خوبه؟
۳. جنگو بازار کارش خوبه؟
۴. پایتون سمت وب خوبه یاد بگیرم یا برم سمت یک زبان دیگه؟
۵. چی یاد بگیرم سریع تر میتونم استخدام بشم؟
...
ممنون میشم توی کامنت نظراتتون رو نسبت به سوالات این شکلی بگن تا افراد تازه کار بتونن استفاده کنن
نظرات خوبو در ادامه پست می کنم
#Question
@Syntax_fa
خیلی از دوستان پیوی از من همچین سوالاتی می کنن:
۱. میخوام برنامه نویسی رو شروع کنم. با چه زبانی شروع کنم بهتره؟
۲. پایتون بازار کارش خوبه؟
۳. جنگو بازار کارش خوبه؟
۴. پایتون سمت وب خوبه یاد بگیرم یا برم سمت یک زبان دیگه؟
۵. چی یاد بگیرم سریع تر میتونم استخدام بشم؟
...
ممنون میشم توی کامنت نظراتتون رو نسبت به سوالات این شکلی بگن تا افراد تازه کار بتونن استفاده کنن
نظرات خوبو در ادامه پست می کنم
#Question
@Syntax_fa
👍9🔥1
برای آشنایی با ساختمان داده در پایتون + مثال هایی از نحوه پیاده سازیش میتونید به این رپازیتوری سر بزنید:
https://github.com/alireza-fa/data-structures-python
#Data_structure
@Syntax_fa
https://github.com/alireza-fa/data-structures-python
#Data_structure
@Syntax_fa
GitHub
GitHub - alireza-fa/data-structures-python: معرفی ساختمان داده و انوع آن بصورت اجمالی و پیاده سازی ساختمان داده های مختلف در پایتون
معرفی ساختمان داده و انوع آن بصورت اجمالی و پیاده سازی ساختمان داده های مختلف در پایتون - alireza-fa/data-structures-python
👍4
کتاب آزاد زبان برنامه نویسی گو (فارسی)
اگه به زبان برنامه نویسی گولنگ علاقه دارید، یکی از بهترین منابع فارسی این کتاب هستش.
تو فصل های مختلف از مباحث مقدماتی تا پیشرفته گفته شده.
همچنین تو فصل جدید «شبکه بلاکچین» قراره آموزش داده بشه
لینک وب سایت:
https://book.gofarsi.ir/
همچنین گیت هاب حتما ستاره بدید تا حمایت شه:
https://github.com/GoFarsi/book
#Book #Golang
@Syntax_fa
اگه به زبان برنامه نویسی گولنگ علاقه دارید، یکی از بهترین منابع فارسی این کتاب هستش.
تو فصل های مختلف از مباحث مقدماتی تا پیشرفته گفته شده.
همچنین تو فصل جدید «شبکه بلاکچین» قراره آموزش داده بشه
لینک وب سایت:
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
توضیح مانیتور در ویکیپدیا:
https://en.wikipedia.org/wiki/Monitor_(synchronization)
خب اگه به لینک بالا سر زده باشید احتمالا هیچی نفهمیدید از بس که میپیچونه. پس به توضیح ساده ای که میدم دقت کنید.
این الگو زمانی استفاده میشه که ما بخوایم ترد ها بدون درگیر کردن و یا مصرف منابع در حالت خواب بروند تا زمانی که ما آنها را بیدار کنیم و به ادامه کارشان بپردازند.
یک مانتیور در حالت ساده یک قفل mutex دارد و یک شرط
زمانی که شرط برقرار نباشد ترد ها به حالت خواب می روند تا زمانی که شرط برقرار شود و ما از طریقی سیگنال بفرستیم تا دوباره شرط را چک کنند.
چالش:
در هر زبانی که کار میکنید. سعی کنید الگو Monitor را با حل یک مسئله ساده پیاده سازی کنید
مسئله پیشنهادی:
قرار است یک کاری را زمانی که تعداد یوزر ها به 100 نفر رسید انجام دهید و قبل از آن هر کسی که جوین می شود در حالت انتظار باقی می ماند تا تعداد به صد نفر برسد.
(هر یوزر مساوی با یک ترد هستش)
#Monitor_concurrency
@Syntax_fa
👍7
برای ریسیت کردن free trial برنامه های Jetbrains توی لینوکس از روش زیر می تونید استفاده کنید:
#Jetbrains
@Syntax_fa
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
این سوالات رو افراد ب شدت مبتدی یا افرادی ک تازه میخان شروع کنن میپرسن ک طبیعیه. این صنعت از بیرون مثل ی اقیانوس عمیق و ناشناخته میمونه و خیلیی می بینم ک هنر جو ها ب جای دل رو ب دریا زدن و پا تو آب گذاشتن بیرون وایمیسن و وقت گرانبهاشون رو ب این فکرها و پرسشها میگذرونن!
جواب اینه که برنامه نویسی قبل از اینکه ب زبان و فریمورک برسه شامل مهارتهای دیگه ای میشه ک خیلی مهم نیس تو چ زبانی هستی . ک مهمترین این مهارت ها حل مساله و طراحی الگوریتم ه. تربیت یک ذهن فنی مهندسی و بدست آوردن دید و منطق برنامه نویسی.
پیشنهادم ب هنر جوهای تازه کار اینه که اصلن ب ادامه ی مسیر فکر نکنن و فقط بپرن تو آب - با پایتون ک یکی از ساده ترین و در عین حال قدرمتند ترین زبانهای امروزه شروع کنن و مساله حل کنن - توی اینترنت و کتابهایی مثل الگوریتم و فلوچارت کلی مساله ی خوب پیدا میکنن ک میتونن تو زبان پایتون حل کنن و ی تیر و دو نشون بزنن.
هم پایتون یاد بگیرن و هم ذهنشون رو مثل ی برنامه نویس حرفه ای پرورش بدن و با الگوریتمهای پایه و نحوه ی تفکر مثل کامپیوتر و حرف زدن با ماشین آشنا بشن
و چون پایتون رو انتخاب کردن برای شروع در ادامه آپشنهای زیادی دارن. از بکند وب تا هوش مصنوعی و ...
و وقتی این مرحله رو رد کنین دیگه یاد گرفتن ی فریم ورک جدید یا ی زبان جدید براتون خیلی ساده میشه و میتونین توی زمینه های مختلف بسته ب علاقتون فعالیت کنین.
پس وسواس و مته ب خشخاش گذاشتن رو بیخیال شین و بپرین تو آب!!
#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
اچ تی ام اکس به شما امکان دسترسی مستقیم به AJAX، CSS Transitions، WebSockets و رویدادهای ارسال شده از سرور را در HTML با استفاده از ویژگی ها می دهد، بنابراین می توانید رابط های کاربری مدرن را با سادگی و قدرت فرامتن بسازید.
https://htmx.org/docs
#HTMX
@Syntax_fa
👍6❤1
Canary
کانری دیپلویمنت روشی برای انتشار نرمافزار است که در آن یک بخش کوچک از کاربران به نسخه جدید یک سرویس یا نرمافزار منتقل میشوند تا اشکالات احتمالی در نسخه جدید شناسایی شود
در این روش یک درصد کوچکی از کاربران به عنوان "کانری" انتخاب میشوند تا نسخه جدید نرمافزار یا سرویس را تجربه کنند. اگر هیچ مشکلی پیدا نشود، بقیه کاربران هم به تدریج به نسخه جدید منتقل میشوند
اما اگر مشکلاتی در نسخه جدید پیدا شود، تنها کانریها تحت تاثیر قرار میگیرند و بقیه کاربران همچنان از نسخه قبلی استفاده میکنند. بنابراین احتمال خسارت وارده به تمام کاربران کاهش مییابد
برای مثال فرض کنید یک وبسایت خبری میخواهد نسخه جدید سیستم مدیریت محتوای آن را پیاده و راهاندازی کند. با استفاده از روش کانری دیپلویمنت، ابتدا تنها 1 درصد از کاربران به صورت تصادفی به نسخه جدید منتقل میشوند
اگر مشکلی پیش نیاید، مقدار بیشتری از کاربران هم به تدریج به نسخه جدید انتقال پیدا میکنند. اما اگر مشکلی مانند خرابی سایت یا عدم دسترسی به محتوا پیش بیاید، تنها همان درصدی که به عنوان کانری منتقل شدند تحت تاثیر قرار میگیرند
#Canary
@Syntax_fa
کانری دیپلویمنت روشی برای انتشار نرمافزار است که در آن یک بخش کوچک از کاربران به نسخه جدید یک سرویس یا نرمافزار منتقل میشوند تا اشکالات احتمالی در نسخه جدید شناسایی شود
در این روش یک درصد کوچکی از کاربران به عنوان "کانری" انتخاب میشوند تا نسخه جدید نرمافزار یا سرویس را تجربه کنند. اگر هیچ مشکلی پیدا نشود، بقیه کاربران هم به تدریج به نسخه جدید منتقل میشوند
اما اگر مشکلاتی در نسخه جدید پیدا شود، تنها کانریها تحت تاثیر قرار میگیرند و بقیه کاربران همچنان از نسخه قبلی استفاده میکنند. بنابراین احتمال خسارت وارده به تمام کاربران کاهش مییابد
برای مثال فرض کنید یک وبسایت خبری میخواهد نسخه جدید سیستم مدیریت محتوای آن را پیاده و راهاندازی کند. با استفاده از روش کانری دیپلویمنت، ابتدا تنها 1 درصد از کاربران به صورت تصادفی به نسخه جدید منتقل میشوند
اگر مشکلی پیش نیاید، مقدار بیشتری از کاربران هم به تدریج به نسخه جدید انتقال پیدا میکنند. اما اگر مشکلی مانند خرابی سایت یا عدم دسترسی به محتوا پیش بیاید، تنها همان درصدی که به عنوان کانری منتقل شدند تحت تاثیر قرار میگیرند
#Canary
@Syntax_fa
🔥4👌3👍2
با چند تا مثال regex رو یاد بگیر(قسمت اول)
1. پترن ما این هستش که توی متن hello داشته باشه:
2. به بزرگ و کوچیک بودن حروف حساس نباشه:
برای این موارد یه سری flag هایی رو regex در اختیار ما قرار داده. برای اینکه به بزرگ و کوچک بودن حروف حساس نباشه از فلگ i استفاده می کنیم:
3. اول متن با hello شروع بشه و به بزرگ و کوچیک بودن حروف حساس نباشه:
برای اینکار اول الگو از ^ استفاده میکنیم.
4. اول هر خط با hello شروع بشه:
تو مثال قبلی گفتیم اول متن hello باشه اما اینبار اول هر خط رو میخوایم حساب کنیم. برای اینکار از فلگ m استفاده می کنیم که به معنی این است روی چند تا خط ^ و $ رو اعمال کن. همچنین از فلگ g که مخفف global هست، استفاده میکنیم که بعد از پیدا کردن اولین نتیجه return نکنه و بره بقیه متن رو هم بگرده(توی هر زبان به یه شکلی فلگ هارو میدیم)
نکته:
اگه بخوایم بجای اینکه اول رشته با الگو ما تطابق داشته باشه، آخر خط و یا رشته رو چک کنیم، بجای ^ آخر الگو میایم $ قرار میدیم:
5. کاراکتر اول h باشد، کاراکتر دوم هرچیزی باشه فرقی نمیکنه و کاراکتر های بعدی llo باشد:
با استفاده نقطه مشخص میکنیم هر کاراکتری باشه فرقی نمیکنه.
6. فقط حروف کوچک انگلیسی:
داخل براکت میتونیم مشخص کنیم که چه کاراکتر هایی توی الگو ما هستش. ما اینجا میتونستیم تمامی حروف کوچک انگلیسی را بنویسیم(abcdefghi...) اما بجایش به این صورت نوشتیم که از a تا z باشد.
7. حروف انگیسی باشد و به بزرگ و کوچک بودن حساس نباشد. همچنین اعداد 0 تا 9 را هم داشته باشد:
همچنین میتوانیم از فلگ استفاده نکنیم و داخل براکت مشخص کنیم حروف بزرگ هم هستش:
#Regex
@Syntax_fa
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
🔥10❤2👍2👎1
Syntax | سینتکس
اگه قرار باشه زبان برنامه نویسیه جدید یاد بگیری، کدوم یک از موارد زیر رو انتخاب می کنی؟
طبق نظر دوستان و همونطور که میشد حدس زد این روزا زبان golang و rust خیلی محبوب هستند و اکثرا وقتی ازشون بپرسی دوست داری کدوم زبانو یاد بگیری یکی از این دوتارو بر اساس فیلد کاریشون انتخاب می کنن
همچنین زبان JS و C sharp بعد از Go و Rust انتخاب ملت بود
نسبت به یادگیری Java کسی آنچنان شوقی نشون نداده
یه نکته رو بگم:
خیلیا میگن دوست دارم فلان کارو بکنم ولی اینکه واقعا انجامش بدن بستگی به این داره چقدر اون چیز حیاتی بشه. پس خیلی وقتا میخوام گفتنا هیچوقت عملی نمیشن.
نکته بعدی درباره پایتون هستش:
تا اونجا میدونم هشتاد درصد ممبرا پایتون کارن
نظرسنجی این بود زبان دومی که انتخاب میکنید چیه
اما خیلیا حتی زبان دومم زدن پایتون و میخوان دوبار پایتونو یاد بگیرن (تعصبشو میکشن😁)
#pool #Fun
@Syntax_fa
همچنین زبان JS و C sharp بعد از Go و Rust انتخاب ملت بود
نسبت به یادگیری Java کسی آنچنان شوقی نشون نداده
یه نکته رو بگم:
خیلیا میگن دوست دارم فلان کارو بکنم ولی اینکه واقعا انجامش بدن بستگی به این داره چقدر اون چیز حیاتی بشه. پس خیلی وقتا میخوام گفتنا هیچوقت عملی نمیشن.
نکته بعدی درباره پایتون هستش:
تا اونجا میدونم هشتاد درصد ممبرا پایتون کارن
نظرسنجی این بود زبان دومی که انتخاب میکنید چیه
اما خیلیا حتی زبان دومم زدن پایتون و میخوان دوبار پایتونو یاد بگیرن (تعصبشو میکشن😁)
#pool #Fun
@Syntax_fa
😁11
Forwarded from CodeCrafters (Behzad Azadi)
چرا conda استفاده کنیم؟؟؟
اول اینکه نوع پایتون رو هم خودش براتون بالا میاره حین ساخت محیط و شما دیگه درگیر پیچیدگی و هندل کردن نصب و مدیریت چند نسخه مختلف پایتون نمیشید و حتی کار کردنش باهاش از pyenv راحت تره و عوض کردن نسخه پایتونش هم راحت تره
۱-نصب پکیج هم داخلش راحته
۲-و علاوه بر خودش میتونید از pip هم استفاده کنید
۳- همچنین بروز رسانی پکیج
۲-و یا یک فایل حاوی ادرسهای آن جهت نصب بسازید
۳-و یا بصورت yaml براتون قرار میده که از دو بخش تشکیل شده پکیجهایی که خودش نصب کرده و پکیجهایی که با pip نصب شده
۲-مشاهده وابستگی های آن
۳-مشاهده پکیجها استفاده کننده آن
موضوع جالب اینکه هنگام نصب پکیج تمام وابستگیها رو اجرایی میکنه و نصب و حتی اگه نیاز به نسخه دیگری از پایتون باشه اون رو downgraid میکنه که منجر میشه تا حد ممکن براتون خطایی رخ نده و دردسر نکشید
داخل کامنت ها هم نحوه نصبش رو در اوبونتو میزارم
@code_crafters
اول اینکه نوع پایتون رو هم خودش براتون بالا میاره حین ساخت محیط و شما دیگه درگیر پیچیدگی و هندل کردن نصب و مدیریت چند نسخه مختلف پایتون نمیشید و حتی کار کردنش باهاش از pyenv راحت تره و عوض کردن نسخه پایتونش هم راحت تره
conda create -n MyENV python=3.8دوم اینکه محیطی که براتون میسازه رو داخل home شما و در دایرکتوری مخصوص خودش میسازه و نه در مسیر جاری شما خب این مزیتش این هست که شما راحت هرجا باشید میتونید ۱-سریع فعال و ۲-غیرفعال و یا محیط خودتون رو تغییر بدید و یا بدون دغدغه نسبت به محل قرارگیریش محیط جدید بسازید و ۳-حذف هم کنید و بین محیطهای مختلف راحت سویچ کنید
1- conda activate my_envمورد بعدی هم اینکه:
2- conda deactivate
3- conda env remove -n MyENV
۱-نصب پکیج هم داخلش راحته
۲-و علاوه بر خودش میتونید از pip هم استفاده کنید
۳- همچنین بروز رسانی پکیج
1- conda install PackName۱-لیست پکیجهای نصب شده رو هم میتونید ببینید
2- pip install PackName
3- conda update PackName
۲-و یا یک فایل حاوی ادرسهای آن جهت نصب بسازید
۳-و یا بصورت yaml براتون قرار میده که از دو بخش تشکیل شده پکیجهایی که خودش نصب کرده و پکیجهایی که با pip نصب شده
1- conda listکه بالطبع میتونید اون رو هم در یک محیط دیگه نصب کنید
2- conda list --explicit
3- conda env --export > requirements.yml
conda create -f requirements.ymlگفتیم همه محیطها رو در یک مسیر قرار میده که با دستور زیر هم میتونید لیست همه محیط هاتون رو ببینید
conda create -n MyENV -f requirements.yml
conda env list۱- اگه بخواید یکمحیط روحذف کنید ۲-یا یک پکیج رو حذف کنید
1- conda env remove -n MyENV --allبرای دیدن اطلاعات مربوط به محیط تون
2- conda remove PackName
conda infoجهت تست و بررسی سلامت محیط
conda doctorجهت تغییر نام محیط با شرط فعال نبودن محیط تون
conda rename۱-جستجوی پکیج با نمایش تاریخچه تگ آن
۲-مشاهده وابستگی های آن
۳-مشاهده پکیجها استفاده کننده آن
1- conda search PackNameادغام محیط شل با conda
2- conda repoquery depends PackName
3- conda repoquery whoneeds PackName
conda init bashپاک کردن پکیجهای نا استفاده
conda cleanبرای کانفیگ از قبیل محیط نصب، پکیجها محدودیت دانلود و ...
conda config
conda config --help
موضوع جالب اینکه هنگام نصب پکیج تمام وابستگیها رو اجرایی میکنه و نصب و حتی اگه نیاز به نسخه دیگری از پایتون باشه اون رو downgraid میکنه که منجر میشه تا حد ممکن براتون خطایی رخ نده و دردسر نکشید
داخل کامنت ها هم نحوه نصبش رو در اوبونتو میزارم
@code_crafters
👍10👎1
دوست داشتم اولین پستم توی کانال رو به معرفی Larry Tesler اختصاص بدم؛ که اتفاقا کمتر کسی هم این مرد بزرگ رو میشناسه. ایشون آقای لارنس تسلر هستند، برنامه نویس کامپیوتر که «copy and paste» رو ابداع کردن و اگر بگیم در ذخیرهی عُمر جامعه برنامهنویسان موثر بودن اغراق نکردیم. در واقع اگر این آقا نبودن، هنوز باید باید کل پایانامه، تحقیقات و کدهامون رو خط به خط تایپ میکردیم! :))))
Syntax
Syntax
❤16🏆3😁2👍1👏1
بنظرتون کدوم بهتره؟
Anonymous Poll
75%
پست های کانال کم باشه اما خیلی کاربردی و مفید
25%
پست های کانال زیاد باشه(شامل مطالب طنز و متفرقه بین کاربردی و آموزشی)