Python Hints
رفتن به کانال در Telegram
Python tips and tricks The Good, Bad and the Ugly توی این کانال فقط قرار هست در مورد core python صحبت کنیم. این کانال یک بلاگ شخصی هست و پیرامون نظرات و چیزهایی که توی بیش از ۱۰ سال کد زدن یاد گرفتم (فقط برای کمک به دوستان تازهکار) Admin: @Abbasi_ai
نمایش بیشتر9 995
مشترکین
+1124 ساعت
+427 روز
+16930 روز
آرشیو پست ها
9 998
Repost from RandRng
اگر مثل من نیاز دارید با عزیزان و خانواده خارج از ایران تماس داشته باشید و اونها رو از نگرانی در بیارید:
https://t.me/ProxyMTProto
https://t.me/vmessorg
https://t.me/invoProxy
این کانالها و مواردی که قبلتر معرفی کرده بودم متصل هستند.
سرعت بسیار ضعیف هست، اگر متصل شدید زودتر خبر سلامتی بدید و از نگرانی در بیاریدشون ♥️
9 998
#موقت
بنظرم این رو شما هم باید ببینید؛ که از بحثهای آینده که فلان دیتابیس چقدر خوبه پیشگیری کنیم.
تو دنیای
opensource هم دروغ شاخ دار نگید. تابلوئه و سریعا هم لو میره!9 998
Repost from RandRng
چطوری میشه با بنچمارک دروغ گفت ؟
SpacetimeDB
اینکار رو برای شما کرده
ویدئو بالا رو چندساعت پیش دوستان برام فرستادند (من به
Postgres18 خیلی علاقمند شدم بخاطر اضافه کردن Async هرچند هنوز نتونستم کامل تستش کنم)
نشستم ویدئو رو دیدم؛ ویدئو 56K بازدید داشته 4.7K لایک و 642 تا کامنت که همه هم مثبت بوده
من تموم کامنتهارو چک نکردم ولی خیلیهاش نظر مثبت هست.
جالبی قضیه اینجاس هیچکس متوجه تفاوت توی نحوه بنچمارک گیری نشده یعنی واقعا ؟
چیزی هم که ادعا میکنه که SpacetimeDB میتونه نقش سرور رو هم بازی کنه؛ از Postgres15 من یادم هست که دارند این کار رو بصورت جدی انجام میدند ملت باهاش.
پس داستان چیه ؟ عدد سازی .
اومدم روی گیتهاب issue بسازم و بگم که تکنینک مقایسه درست نیست که دیدم یک نفر دیگه اینکار رو کرده.
توی ویدئو اول دقیقه 10 به بعد رو ببینید؛ تمام تستهایی که انجام میده
client + server + db
هست؛ ولی وقتی به دیتابیس خودشون میرسه.
client + db
هست بعد از بررسی گیتهاب حتی متوجه شدم برای همه کلاینت روی typescript هست ولی برای خودشون روی Rust نوشته شده با خوندن بیشتر اوضاع بدتر هم شد. علاوه بر اینکه پروتوکلهای متفاوتی استفاده شده و ...
تمام فلگهای optimization مربوط به کلاینت Rust رو که برای بنچمارک خودشون فقط استفاده میکنند تا ماکزیمم بالا بردند.
هیچ چیزی جز یک عددسازی بزرگ به ذهنم نمیرسه.
حالا شخصی که روی Github به این موضوع اشاره کرده بود اومده یک ویدئو هم براش ساخته (داشتم میگشتم ببینم کسی دیگه هم فهمیده این موضوع رو یا نه ویدئو رو پیدا کردم)
توی این ویدئو نشون میده که SpacetimeDB حتی با تمام optimization هایی که انجام داده توی شرایط برابر به Postgresql با کانفیگ دیفالت هم نمیرسه
Video on Youtube
پینوشت: خواستم بگم مثل این دوستی که ویدئو SpacetimeDB رو برای من فرستاد شما تو تله نبوفتید.9 998
+1
توی دوران قطعی اینترنت اخیر نشستم یک مقدار هارد آرشیوم رو تمیز کردم ( چیزی توش نیست جز دوره و جزوه و کدهای قدیمی)
بعد این رو دیدم ۱۷ سال پیش (قبل اینکه به سن قانونی برسم) داشتم میخوندم برای آزمون
RHCE = RedHat Certified Engineerچه روزهایی؛ یادم میاد مدرسه آیلتس کار و خوندن برای آزمون لینوکس رو ...
9 998
Repost from RandRng
یک
vpn دوستان معرفی کردند؛ بسیار هم توسط اشخاص دیگه توی اینستاگرام و ... داره معرفی میشه.
داستان اینجوری هست که شما برنامه رو روی اپاستور یا پلیاستور دانلود میکنی؛ بعد وارد یک ربات تلگرامی به اسم برنامه میشی و یک کد بهت میده
با این کد ۶ ماه اکانت پرمیوم رایگان میگیری.
اما:
بسیار بسیار اینکار خطرناک هست؛ دلایلش
۱- وقتی با یک ربات کار میکنید توی تلگرام اون ربات میتونه تمام اطلاعات اکانت شمارو بگیره (عکس، آیدی، کد یونیک و ...)
۲- ربات به شما یک کد اختصاصی میده برای اینکه اکانت شما ۶ ماه دسترسی رایگان بگیره و خب فکر میکنم خودتون فهمیدید که با این کد شمارو شناسایی میکنه توی اپلیکیشن
پس تا اینجا میدونه، شما کی هستید و کجاها میرید با vpn خودتون.
۳- فرض کنیم این vpn داخلی و سهمیهای هم باشه؛ توی اپلیکیشن دیتاهای مربوط به گوشی شمارو بصورت دیفالت میگیره
Device model, model number, ....
که خب بعضی از اینها دقیقاً برای شناسایی گوشی شما هست مثل یوزرنیم تلگرام که یونیک هست اینم همونطوری هست.
۴- بصورت پیشفرض کل اپلیکیشنها رو vpn میکنه و دیتاهای diagnostic, analytic برای خودش میفرسته که یعنی هرچیزی که دلش خواست.
دیدید وقتی سیمکارت دیگری رو توی گوشی میندازید پیام میاد گوشی با این شماره رجیستر نشده یا برای این فرد نیست ؟
حالا همه اینارو بذاریم کنار هم :
۱- من از vpn میفهمم شما کجاها میری با چه پترنی (چقدر آپلود و چقدر دانلود داری) توی چه ساعتهایی
۲- اکانت تلگرامت رو هم که برای ۶ ماه رایگان بهم دادی؛ از اون هم میتونم کلی چیز پیدا کنم.
مثلاً یوزر نیم مشابه روی توییتر و ...
یا از عکس شما چیزای بیشتر
یا از کانالی که به اکانت وصل هست و ...
۳- مدل نامبر و .... گوشی رو هم که بر میدارم و اگر به دیتابیس ثبت گوشی هم دسترسی داشته باشم؛ دقیقاً میدونم کی هستی.
شماره موبایل، کد ملی و .... همه در میاد.
خلاصه خیلی خیلی مراقب باشید،
پنیر مفت تو تله موشه
این کانالای تک اینستاگرام هم ۹۸٪ یک بچه که ۴ تا اصطلاح یادگرفته نشسته بدون هیچ درکی ...شر پشت هم میبافه.
البته اینجا ۹۸-۹۹٪ حرفهای هستید خودتون و متوجه مشکل شدید ولی لطفاً به باقی هم اطلاع بدید که حداقل حواسشون باشه.
کپی این مطلب حتی بدون ذکر منبع هم آزاد هست.9 998
Repost from RandRng
تست سرعت اینترنت بینالملل بنده بعنوان یک برنامهنویس
بعد یارو میاد:
دنبال قرارداد دلاری از ایران و ریموت هم میگرده
9 998
اول اینکه پوشه
backups اشتباه توی تصویر اومده؛ شخصا یک اسکریپت دارم که اگر فایل بکاپی داخل این پوشه بود موقع راهاندازی اولیه postgresql اون رو هم restore کنه که خب اینجا هم اومد. چیز مهمی نیست؛ شخصا برای راحتی تیم توسعه اینکار رو میکنم (تصمیم شخصی هست)
شاید بشه گفت compose.yml ربطی به اینجا نداره ولی این مورد رو گذاشتم که بگم توی سال 2026 خواهشا بدون داکر پروژه دست کسی ندید پوشه docker هم برای نگهداری تنظیمات؛ Dockerfileها و اسکریپت و ... هست
تغییر مهم بعدی justfile هست که بنظرم یکی از تصمیمات خیلی خوب بوده؛ مدت طولانی هست که توی پروژهها just رو با make جایگزین کردم هم کارهای بیشتری باهاش میشه کرد (یادتون باشه make یک builder هست خیلی برای کاری که ما باهاش میکردیم ساخته نشده بود) هم خیلی سریع و راحت هست.
درمورد sample.env این مورد شامل تمام تنظیماتی هست که compose.yml بهش نیاز داره؛ مثلا TAG ها چی باشه؛ port ها چطوری تعریف بشه؛ سایز و تعداد log ها چطور. خلاصه هرچیزی که میتونه درطول زمان ثابت نباشه اینجاس که بچههای DevOps بر اساس اون env. رو میسازند.
یک پوشه هم دارم به اسم envs که شامل env فایلهای هر container میشه؛ که همهی environment variable ها وارد همهی container ها نشه؛ داخل این هم به اسم هر بخش پروژه یا کانتینر یک sample وجود داره.
پوشه doc هم تغییراتی داشته اینبار؛ plan رو بهش اضافه کردیم که یک مورد تیمی هست راجب اینکه پروژه چطوری پیش بره اول چه چیزایی کد زده بشه بعدش چه چیزهایی و ...
این پوشه نسخه اولیه داره و دائم آپدیت میشه
حتما هم داخل
.dockerignore
اضافه میشه که توی تصویر بالا این فایل هم جا افتاده (پروژه جدید هست)
اما مهمترین و بهترین چیزی که توی document نویسی اضافه شده فایل adr هست (راجب adr توی RandRng قبلی گفته بودم) ولی بطور خلاصه هر داکیومنت داخل پوشه adr توضیح میده چرا تیم تصمیم به استفاده از یک ابزار خاص کرده؛ ما یک قدم هم جلوتر رفتیم البته:
اگر بین ۲ نقر یا چندنفر توی پروژه اختلاف نظر پیش بیاد که یک کاری رو چطوری انجام بدیم یا با چه ابزاری انجام بدیم؛ یکی از اون افراد شروع میکنه راجب مزایا و معایب ابزار مدنظر خودش ADR نوشتن و میفرسته روی گیتهاب بعدش یک نفر از گروه مخالف راجب روش یا ابزار خودش داکیومنت رو آپدیت میکنه.
درنهایت من بعنوان reviewer اضافه میشم و شرایط و توضیحات هر دوتا گروه رو میخونم؛ یک مقایسه نهایی و آپدیت تصمیم؛ هم پروسه و دلیل تصمیم داکیومنت میشه و هم از بحثها و جلسههای بی سر و ته جلوگیری میشه و توی کمترین زمان و با کمترین درگیری هم حرف همه شنیده شده و تیم تصمیم گرفته.
این مورد آخر رو بچههای تیم خودم خیلی خیلی دوسش دارند؛ بخصوص junior, mid ها چون قبلا برای این تصمیمات فقط senior ها توی جلسه میشستند.9 998
توی
RandRng گفتم که خیلی وقت هست که ساختار پروژههام نسبت به پست قبلی عوض شده اونم به لطف ابزارهایی که تبدیل به استاندارد شدند.
مثلا؛ دیگه از requirements خیلی خیلی کم استفاده میکنیم؛ به لطف uv این مسئله برامون خیلی راحتتر شده بخصوص اینکه سرعت خیلی خوبی هم داره.
یا مثلا دیگه از editorconfig تقریبا میشه گفت استفاده نمیکنم؛ اینبار به لطف ruff و البته بازم uv خود ابزار ruff اکثر دیفالتهای استاندارد رو داره و چون uv با pyproject.toml کار میکنه باقی ابزارها مثل mypy , ... هم داخل همین مورد قابل کانفیگ هست و تقریبا با همینا میشه کل نیازمندی رو برطرف کرد.
(دلیل اینکه pyproject.toml رو توی تصویر نمیبینید اینه که uv بصورت خودکار ایجادش میکنه)
مثل قبل pre-commit-config.yaml رو همچنان داریمش؛ تقریبا همه هم باهاش خوشحالند برای همین اصلا به اینکه عوضش کنم فکر نکردم.
معمولا python-version رو انیجا نگه نمیدارم بخصوص اینکه این مورد هم توسط uv ایجاد میشه ولی چون دیدم بعضیها حذفش میکنند (نمیدونم چرا) گذاشتم باشه.
ادامه پست بعدی...9 998
توی
RandRng گفتم که خیلی وقت هست که ساختار پروژههام نسبت به پست قبلی عوض شده اونم به لطف ابزارهایی که تبدیل به استاندارد شدند.
مثلا؛ دیگه از requirements خیلی خیلی کم استفاده میکنیم؛ به لطف uv این مسئله برامون خیلی راحتتر شده بخصوص اینکه سرعت خیلی خوبی هم داره.
یا مثلا دیگه از editorconfig تقریبا میشه گفت استفاده نمیکنم؛ اینبار به لطف ruff و البته بازم uv خود ابزار ruff اکثر دیفالتهای استاندارد رو داره و چون uv با pyproject.toml کار میکنه باقی ابزارها مثل mypy , ... هم داخل همین مورد قابل کانفیگ هست و تقریبا با همینا میشه کل نیازمندی رو برطرف کرد.
(دلیل اینکه pyproject.toml رو توی تصویر نمیبینید اینه که uv بصورت خودکار ایجادش میکنه)
مثل قبل pre-commit-config.yaml رو همچنان داریمش؛ تقریبا همه هم باهاش خوشحالند برای همین اصلا به اینکه عوضش کنم فکر نکردم.
معمولا python-version رو انیجا نگه نمیدارم بخصوص اینکه این مورد هم توسط uv ایجاد میشه ولی چون دیدم بعضیها حذفش میکنند (نمیدونم چرا) گذاشتم باشه.
شاید بشه گ9 998
Repost from RandRng
من این لینک رو گذاشتم:
Github Raw V2Ray All
گفتم که اکثر کانالهای تلگرامی رو کرال میکنه اگر کانفیگی اومده باشه همرو یکجا جمع میکنه
اما چون معمولاً ۳۰۰۰ یا بیشتر کانفیگ داره و خیلی از سرورها پشت هم فیلتر میشه حوصله سر برهست که هی بخوایم url تست بزنیم.
کاری که شخصاً میکنم برای متصل موندن این هست :
۱- اول داخل گروهی که ایجاد میشه، لینکهایی Duplicate رو پاک کنید
۲- بعد از اینکه اون موارد پاک شد، درخواست بدید که TCP ping بزنه براتون (سرعت بیشتری داره)
معمولاً سرورهایی که جواب نمیده یا فیلتر شده و قطع کردند یا خاموش هست یا ...
۳- بعد از حذف دو مورد قبلی تعداد کمی میمونه حالا با خیال راحت url test بزنید.
نکته مهم حتماً حواستون به ۲ مورد باشه :
۱- برای url test آدرس تست رو به سایتی که براش دنبال vpn میگردید تغییر بدید، مثلاً اگر میخواهید یوتیوب ببینید باهاش آدرس رو روی یوتیوب بذارید.
بعضی از کانفیگها برای سایتهای خاص طراحی شده (مثلاً فقط تلگرام) و اکثر درخواستهای دیگه رو drop میکنه
۲- کانفیگها رو سعی کنید اگر تونستید با چندتا DNS که توی این مدت خوب جواب داده بهتون تست کنید.
پینوشت:
بد نیست چندین گروه برای همین کانفیگهای all نگه دارید.
بعضی از کانالها، بعد از یک مدت خدمات vpn دادند سروری که سرعت بالایی هم شاید داشته رو خاموش میکنند که فیلتر نشه.
چیزی که چندین ساعت یا چندروز بهش وصل بودید رو نگهدارید، چون اکثراً بعد از یک مدت دوباره اون سرور رو فعال میکنند و اینبار بار سرور هم کمتر هست و سرعتش بهتر خواهد بود.
9 998
چند نفری پیام دادند،
آموزش نمیذاری ؟
فعالیت نداری ؟
یا:
با این پستها پروفایل و برندینگ خودتو خراب میکنی!
خیلی فکر کردم، چه جوابی بدم ؟
چون واقعیتش آدم ندیده گرفتن نیستم.
از ساعت ۲ صبح دارم تلاش میکنم بخوابم ولی فکر به این چندتا پیام نمیذاره.
این شد که بجای جواب دادن به اون افراد، گفتم بذار مهمترین درسی که میتونم رو بهشون بدم که :
مهمتر از تخصص؛ انسانیت داشتن هست.
9 998
https://t.me/PytensMusic/222
نامشان جاویدان 💔
درد بزرگترم اینجاس که؛
تعداد اکانتهایی که
Last seen a month agoهستند توی چتهام کم نیست. امیدوارم فقط اینترنت نداشته باشند؛ یا اینکه تصمیم گرفته باشند چندوقتی آنلاین نشند. هر فکر دیگری، دیوانهام میکند 🖤💔🖤
9 998
۳ نفر از اعضا کشته شدند. 💔🖤
این آمار با اطلاع گرفتن خانوادهها یا دوستانشان آپدیت خواهد شد.
9 998
Repost from RandRng
اگر خواستید از گیتهاب دانلود کنید یا کلون بگیرید و جواب نداد؛ این
dns رو تست کنید:
149.112.112.112برای من روی باقی موارد نتیجه نمیده. دلیلش هم اینه که نتیجه متفاوتی نسبت به باقی برای resolve داد و هم udp هم tcp رو جواب داد.
9 998
دوستان عزیز بازم میگم:
بنده نه اکانت توییتر؛ نه اینستاگرام؛ نه فیسبوک و نه ...
هیچ چیزی ندارم (اصلا هم با این محیطها حال نمیکنم)
تمام راههای دسترسی به بنده همین اکانت تلگرام - لینکدین که داخل کانال هست و البته گیتهاب بنده هست.
اگر کسی با اکانتی ادعا کرد از طرف من هست یا خودش رو جای من جا زد درجا بلاک کنید.
اگر بهتون اطلاعاتی داد که قابل رهگیری - پیگیری بود ممنون میشم با مدارک موجود برام بفرستید که بتونم شکایت کنم.
من نه چیزی برای فروش دارم - نه خدمات آموزشی و ... برای فروش ارائه میدم
نه دوره یا آموزشگاهی رو تایید میکنم
اگر روزی هم قرار باشه اینکار رو بکنم فقط و فقط توی یکی از کانالهای خودم این موضوع رو مطرح خواهم کرد.
لطفا مراقب باشید.
9 998
گیتهاب بازه خودتون میتونید این فایلها رو بگیرید دیگه.
اینکه گفتم روی گوشی نزنید بخاطر تعداد زیادش هست؛ توی گوشیهای قدیمی باعث هنگ طولانی مدت میشه تا کانفیگها دونه دونه تبدیل بشه
فقط همین
9 998
دوستان بستگی به سرویس دهنده اینترنت و منطقه دسترسی به سایتهای مختلفی ممکنه داشته باشید یا نداشته باشید
مثلاً روی یک سرویس دهنده دیگه برای من
github, gmail, ...
باز میشه
اما
سایتهای
sqlalchemy, pypi, crates.io, ...
باز نمیشه
بنظرم درحال باز کردن اینترنت جهانی هستند
9 998
چندساعتی صبر میکنم
اگر دسترسیها باز موند تمام پستهای این چندروز پاک میشه و کانال به حالت عادی خودش برمیگرده
از همهی عزیزان متخصص و فنی بابت مطالب این چندروز عذرخواهی میکنم
هدف فقط حفظ ارتباط با دوستان بخصوص دوستان فنی بود
