اگه قرار باشه زبان برنامه نویسیه جدید یاد بگیری، کدوم یک از موارد زیر رو انتخاب می کنی؟
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%
پست های کانال زیاد باشه(شامل مطالب طنز و متفرقه بین کاربردی و آموزشی)
سلام BitSnake هستم کوچیک همتون
اسکریپتی که نوشتم از یک API برای دریافت پراکسی ها (Http, Socks4, Socks5) استفاده می کنه و پس از دریافت شروع به بررسی پراکسی ها با آدرس www.google.com میکنه.
بعد از بررسی پراکسی ها در دو فایل Proxy.txt و ProxyCheck.txt پراکسی ها رو ذخیره می کنه.
پراکسی های دریافت شده مستقیم از API در فایل Proxy.txt و پراکسی های علامت گذاری شده در فایل ProxyCheck.txt ذخیره می شن.
لینک پروژه:
https://github.com/bitsnakee/Proxy-rec
ایدی من جهت ارتباط:
@bit_snake
#proxy
@Syntax_fa
اسکریپتی که نوشتم از یک API برای دریافت پراکسی ها (Http, Socks4, Socks5) استفاده می کنه و پس از دریافت شروع به بررسی پراکسی ها با آدرس www.google.com میکنه.
بعد از بررسی پراکسی ها در دو فایل Proxy.txt و ProxyCheck.txt پراکسی ها رو ذخیره می کنه.
پراکسی های دریافت شده مستقیم از API در فایل Proxy.txt و پراکسی های علامت گذاری شده در فایل ProxyCheck.txt ذخیره می شن.
لینک پروژه:
https://github.com/bitsnakee/Proxy-rec
ایدی من جهت ارتباط:
@bit_snake
#proxy
@Syntax_fa
🔥14👎1
اقا اومدیم تست نویسیو تو جنگو شروع کنیم رسیدیم به داکیومنت خوندن و اینا
و خب یجایی ب این برخوردیم که خب الان من یه تست برای مدلم میخوام بنویسم با TestCase
و خب یه آبجکت به مدل بخوام اضافه کنم تو تستم به کار ببرم یکم مشکله ! حالا مشکلش کجاست؟
شما فکر کن مدل من ۵۰ تا فیلد داره من باید بیام این ۵۰ تارو خودم مقدار دهی کنم 😐 خب چیکار کنم؟
یه کتابخونه هست به اسم " model bakery" که براتون اینکارو انجام میده!
دستور نصب 👇
میتونیم به مقادیر هم دسترسی پیدا کنیم مثال اگر فیلد name داخل مدل ما باشه
todo.name
میتونیم اینطوری بهش دسترسی پیدا کنیم!
خب این گذشت حالا بعضی وقتا هست ما میخوایم یک فیلدی رو خودمون مقدار دهی کنیم و بقیه فیلد هارو رو بزاریم خودش مقدار دهی کنه ! چطوریه؟
اینطوری فیلد دلخواه رو خودمون مقدار دهی کردیم و مابقیش رو خودش مقدار میده! #تمام
اینم بگم منوقتی با این کتابخونه اشنا شدم و خب یکمی داخل تست نویسی داخل جنگو جلو که رفتم یه سری هم به مونگارد زدم و دوره اون رو شروع کردم و داخل دوره تست نویسی مونگارد هم دیدم این رو توضیح داده :)
#تست_نویسی
#تست_نویسی_در_جنگو
#جنگو
🫶 نویسنده : @ownervin
@Syntax_fa
و خب یجایی ب این برخوردیم که خب الان من یه تست برای مدلم میخوام بنویسم با TestCase
و خب یه آبجکت به مدل بخوام اضافه کنم تو تستم به کار ببرم یکم مشکله ! حالا مشکلش کجاست؟
شما فکر کن مدل من ۵۰ تا فیلد داره من باید بیام این ۵۰ تارو خودم مقدار دهی کنم 😐 خب چیکار کنم؟
یه کتابخونه هست به اسم " model bakery" که براتون اینکارو انجام میده!
دستور نصب 👇
pip install model-bakery____
from model_bakery import bakeryخب الان بهش گفتیم مدلمون Todo هست و میاد خودش مقدار دهیش میکنه و یک ابجکت برامون میسازه !
from .models import Todo
todo = bakery.make(Todo)
میتونیم به مقادیر هم دسترسی پیدا کنیم مثال اگر فیلد name داخل مدل ما باشه
todo.name
میتونیم اینطوری بهش دسترسی پیدا کنیم!
خب این گذشت حالا بعضی وقتا هست ما میخوایم یک فیلدی رو خودمون مقدار دهی کنیم و بقیه فیلد هارو رو بزاریم خودش مقدار دهی کنه ! چطوریه؟
from model_bakery import bakery
from .models import Todo
todo = bakery.make(Todo, name="Benyamin")
اینطوری فیلد دلخواه رو خودمون مقدار دهی کردیم و مابقیش رو خودش مقدار میده! #تمام
اینم بگم منوقتی با این کتابخونه اشنا شدم و خب یکمی داخل تست نویسی داخل جنگو جلو که رفتم یه سری هم به مونگارد زدم و دوره اون رو شروع کردم و داخل دوره تست نویسی مونگارد هم دیدم این رو توضیح داده :)
#تست_نویسی
#تست_نویسی_در_جنگو
#جنگو
🫶 نویسنده : @ownervin
@Syntax_fa
👍15🔥5🙏1
اپلیکیشن Real-Time بدون وب سوکت با Long Polling - از تلگرام یاد بگیریم
وقتی از اپلیکیشن Real-Time صحبت میکنیم اولین چیزی که همه به ذهنشون میاد #وب_سوکت هستش و منطقا میتونه انتخاب خوبی باشه اما #long_polling هم تکنیک خوبی هستش که اکثر نیازهای معمول ما رو برطرف میکنه، تا اونجایی که تلگرام برای پیادهسازی APIهای ربات هاش از این تکنیک استفاده کرده.
به شکل خلاصه، کانکشن HTTPرو باز نگه میداریم تا وقتی که notification جدیدی یا update جدیدی برای کاربرمون داشته باشیم، بدین شکل با استفاده از HTTP/1 هم میتونیم قابلیت Real-time بودن رو برای اپلیکیشنمون پیاده سازی کنیم.
توی این ویدیو با هم اول روش های مرسوم رو با هم مرور میکنیم و می بینیم چطور long-polling بخش زیادی از مشکلات Short-polling رو رفع میکنه و در نهایت با هم با کمک ردیس در Go اون رو پیاده سازی میکنیم.
https://youtu.be/Qmh7M6qx3H8?si=KoyorEX1J1Q8-b3C
[MHRCode]
#Go #Long_polling
@Syntax_fa
وقتی از اپلیکیشن Real-Time صحبت میکنیم اولین چیزی که همه به ذهنشون میاد #وب_سوکت هستش و منطقا میتونه انتخاب خوبی باشه اما #long_polling هم تکنیک خوبی هستش که اکثر نیازهای معمول ما رو برطرف میکنه، تا اونجایی که تلگرام برای پیادهسازی APIهای ربات هاش از این تکنیک استفاده کرده.
به شکل خلاصه، کانکشن HTTPرو باز نگه میداریم تا وقتی که notification جدیدی یا update جدیدی برای کاربرمون داشته باشیم، بدین شکل با استفاده از HTTP/1 هم میتونیم قابلیت Real-time بودن رو برای اپلیکیشنمون پیاده سازی کنیم.
توی این ویدیو با هم اول روش های مرسوم رو با هم مرور میکنیم و می بینیم چطور long-polling بخش زیادی از مشکلات Short-polling رو رفع میکنه و در نهایت با هم با کمک ردیس در Go اون رو پیاده سازی میکنیم.
https://youtu.be/Qmh7M6qx3H8?si=KoyorEX1J1Q8-b3C
[MHRCode]
#Go #Long_polling
@Syntax_fa
👍11👀2
یه وب سایت باحال برای تست سرعت و دقت تایپ کردنتون.
حتی می تونید انتخاب کنید کلمه هایی که تایپ می کنید، کلمات کلیدی و استفاده شده توی فلان زبان برنامه نویسی باشه.
https://monkeytype.com/
#Fun
@Syntax_fa
حتی می تونید انتخاب کنید کلمه هایی که تایپ می کنید، کلمات کلیدی و استفاده شده توی فلان زبان برنامه نویسی باشه.
https://monkeytype.com/
#Fun
@Syntax_fa
Monkeytype
Monkeytype | A minimalistic, customizable typing test
The most customizable typing test website with a minimal design and a ton of features. Test yourself in various modes, track your progress and improve your speed.
👍6👎1
اقا اومدم یه اپ معرفی کنم مخصوص اونایی که مثه بنز میخوابن " مثل خودم 😐
این اپی که عکسشو براتون گزاشتم توش تایم رو مثال ست میکنید ۹ صبح
بعد ۹ صبح که زنگ میخوره گوشیتون تا وقتی که داخل اپ یه سری کپچاهارو حل نکنید زنگ قطع نمیشه !
و اینطوری بزور بیدارتون میکنه
لینک دانلود از گوگل پلی 👇
https://play.google.com/store/apps/details?id=com.urbandroid.sleep
Writer " @ownervin "
Channel @Syntax_fa
این اپی که عکسشو براتون گزاشتم توش تایم رو مثال ست میکنید ۹ صبح
بعد ۹ صبح که زنگ میخوره گوشیتون تا وقتی که داخل اپ یه سری کپچاهارو حل نکنید زنگ قطع نمیشه !
و اینطوری بزور بیدارتون میکنه
لینک دانلود از گوگل پلی 👇
https://play.google.com/store/apps/details?id=com.urbandroid.sleep
Writer " @ownervin "
Channel @Syntax_fa
👍5👎1