Python Hints
8.63K subscribers
172 photos
11 videos
9 files
141 links
Python tips and tricks
The Good, Bad and the Ugly

توی این کانال فقط قرار هست در مورد core python صحبت کنیم.

این کانال یک بلاگ شخصی هست و پیرامون نظرات و چیزهایی که توی بیش از ۱۰ سال کد زدن یاد گرفتم (فقط برای کمک به دوستان تازه‌کار)

Admin: @Abbasi_ai
Download Telegram
از شرکت اومدم بیرون، و به رسم همیشگی مثل همه دوستانی که چندین سال داخل شرکت بودند یک تجربه یا چیزی که یاد گرفتیم رو باید به اشتراک میذاشتم :

دو مورد رو توی این چندسال کار با این شرکت و مدیران قبلی یاد گرفتم؛ و همیشه هم رعایت خواهم کرد :

۱) اگر کدی بیشتر از ۱۰۰ خط شد، باید براش تست بنویسم و اگر کدی رو از کسی تحویل گرفتم و بیش از ۳ بار ازش استفاده کردم، هوشمندانه و عاقلانه‌اس که براش تست بنویسم.

۲) نرم‌افزارها تمایل دارند به chaos شدن (بهم ریخته و آشوب شدن)
اگر جایی مسئول تیم یا مسئول فنی شدم آخر هر ماه، ۱ روز کاری رو اختصاص بدیم به رفع chaos توی نرم‌افزار و این کار رو به صورت تیمی انجام بدیم.

مورد دوم رو میگم چون peer review توی تیم ما نبود و نمی‌تونستیم هم داشته باشیم، برای همین وقتی اعتراض بچه‌ها رو دیدم این مورد رو برای تیم فعال کردم، بعد از ۵-۶ ماه٫جلسه همه‌ی بچه‌ها استاندارد سنیورهای تیم رو رعایت میکردند
کیفیت کدهای تیم بالا رفت، سرعت بالا رفت چون همه با یک استاندارد کد می‌زدند، و چون ذهنیت ساختار بندی و اسم‌گذاری به هم نزدیک شده بود درک اعضای تیم از کد همدیگر هم بسیار بالا رفته بود.
در نهایت جلسات از چندین ساعت به ۱ ساعت در ماه رسید.

برای تست نویسی، حتی اگر ۲ برابر کدها و فیچرها زمان میگیره به خدا که بصرفه هست.
چون بعد از ۱-۲ ماه توسعه فیچرهای بیشتر، کوچکترین تغییر توی هر بخش کد می‌تونه چندماه کار رو عقب بندازه.


گفتم حالا که این‌ موارد رو توی صحبت پایانی توی شرکت قبلی گفتم، اینجا هم به اشتراک بذارم شاید بدرد دوستان خورد.
👍83105👻1👨‍💻1
چون خیلی پرسیده شده :

اگر تازه کار هستید

Head First Python (3rd edition)

نسخه اولیه رو O'Reilly منتشر کرده (رایگان تو سایتش می‌تونید بخونید یا از منابع موجود استفاده کنید و دانلود بزنید)

برای کسی که تازه میخواد پایتون و برنامه‌نویسی رو شروع کنه کتاب بسیار خوبی هست (من نسخه‌‌های قبلی رو به شاگرد هام معرفی می‌کردم؛ این نسخه هم قطعاً بهتر هست که بدتر نه پس نخونده معرفی می‌کنم کتاب رو)
👍338👀1
موقتا
snap
احمق رو پاک کنید، تا ببینیم راهکار چیه 🥲

گزینه‌هایی که دوستان پیشنهاد دادند رو بررسی می‌کنم


Pop_OS
رو چندسال قبل داشتم بسیار عالی عمل می‌کنه، ولی دقیقاً یادم نمیاد چه مشکل خاصی برام پیش اومد که حذفش کردم.


متأسفانه:
بهترین راهکار میرسه به دوستی که گفت
Ubuntu Server
رو نصب کن و بعد نیازمندی‌هات رو روش بیار بالا 🙄
👍1521
#خارج_از_بحث

۱ ماه پیش من یک ایده‌ای رو بهش دادم که شروع کنه روش کار و تمرین کردن
چون رفیق خوبی برام بوده و خودمم کنارش باشم و بهش راهنمایی بدم توی این مسیر.

من هدفم درآمدزایی ازین ایده نبود، هرچند می‌دونستم چقدر پول توی این موضوع هست.

الان این تصویر رو بدون اجازه‌اش گذاشتم (عذر میخوام رفیق)
می‌دونم توی چه شرایط سختی هستی؛من هدفم دیدن پیشرفت تو بود.

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

این دفعه‌ی سوم هست که برای رفتن سر این شغل بقول خودش از من اجازه میگیره؛
خودش نمی‌دونست و الان بعد از این متوجه می‌شه:

من فقط ی هدف داشتم ازین پروژه، اونم بهت انگیزه بدم تا پیشرفت کنی رفیق و اینکه کم نیاری ♥️

خلاصه که تباه نباشید، رفیقاتون رو درست انتخاب کنید.
74👏4🍾2👍1🤩1🫡1
Python Hints
#django_roadmap #roadmap امروز یک دوستی، گفت بهش یک roadmap برای شروع جنگو بدم با این بکگراند : ۱- پایتون رو تا سطح خوبی بلد هست ۲- ساختمان داده و الگوریتم رو می‌شناسه ۳- لینوکس، گیت و داکر رو هم بلده یک بخش دیگه که باعث میشه این Roadmap رو بنویسم، همین…
یکسری از دوستان اشاره کردند که کتاب جزئیات کمی داره و برای کسی که قبل از این وب کار نکرده خیلی راحت و سر راست نیست :

اگر این شرایط برای شما هم صدق می‌کند، به این لیست میشه یک کتاب دیگر هم اضافه کرد.

کتاب :

Web Development with Django 2nd edition By Ben Shaw, .... (Packt pub)

خوبی دیگری که این کتاب برای دوستان تازه‌کار داره این هست که توی هر فصل و بعد از هر مبحث یک تمرین جزئی درمورد آنچه صحبت شد هم ارائه میده

فصل‌های دیگری هم که بنظرم بهتر توضیح داده برای شروع :
Media serving and file uploads,
Session and authentication
Testing your django application
و بخش‌هایی (شامل مثال) از فصل های :
Generating CSV, PDF, and other Binary File
Django Third-Party Libraries
هست.

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

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

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

حالا اینجا مثال
Django
بود شما به موضوعات دیگر و ... هم تعمیم بدید این موضوع رو.

اولویت اول شما باید کد زدن و تمرین باشه، شخصاً کل هفته رو کد میزنم
آخر هفته که روز استراحتم هست، ترجیح میدم کتاب بخونم تا مطالب و تکنیک‌های جدید رو توی کارهام پیاده سازی کنم (و همین ۱ روز برای خیلی از مباحث و کتاب‌ها بیشتر از کافی هست).
👍178
دستاورد جدید آنلاک کردم
پروژه دارم
اوبنتو آپدیت شده (میزان لگ سیستم به خدا رسیده)
ممکنه مشکل از انویدیا هم باشه (ولی درست کار میکنه)
دمو هم دارم
گوگل هم 403 بهم میده (بدون وی‌پی‌ان)

مشکل ۴۰۳ پا برجا نیست (۲۰۰-۳۰۰ تا وی‌پی‌ان داره برنامه‌نویس ایرانی) بطور کلی گفتم
💔27👀42😢2
Python Hints
دستاورد جدید آنلاک کردم پروژه دارم اوبنتو آپدیت شده (میزان لگ سیستم به خدا رسیده) ممکنه مشکل از انویدیا هم باشه (ولی درست کار میکنه) دمو هم دارم گوگل هم 403 بهم میده (بدون وی‌پی‌ان) مشکل ۴۰۳ پا برجا نیست (۲۰۰-۳۰۰ تا وی‌پی‌ان داره برنامه‌نویس ایرانی) بطور…
قبل اینکه
Kernel
تغییر بدید، یا درایور‌ها رو دستکاری کنید و ...
Bios Update
بزنید، مخصوصاً اگر سخت‌افزار جدید اضافه کردید.

۹۰٪ مشکل حل شد، هنوز بعضی مشکلات وجود داره
و روی نرم‌افزارها هم فعلاً جدی‌ترین مشکل خودم
smplayer
هست که lag بسیار داره.


پ.ن : توی بررسی لاگ‌های nvidia متوجه شدم بخشی از مشکلات از نصب cuda میاد. بعضی تنظیمات رو خودش کنترل می‌کنه که نمیشه سخت‌افزار رو مناسب کارهای روزانه optimize کرد (ولی این مورد هم اون ۱۰٪ مشکل من رو حل نمی‌کنه چون ازینجا نیست)

احتمال ۹۹٪ دوستانی که هوش مصنوعی کار نمی‌کنند، به این مشکلات نخواهند خورد.
👍92
Python Hints
قبل اینکه Kernel تغییر بدید، یا درایور‌ها رو دستکاری کنید و ... Bios Update بزنید، مخصوصاً اگر سخت‌افزار جدید اضافه کردید. ۹۰٪ مشکل حل شد، هنوز بعضی مشکلات وجود داره و روی نرم‌افزارها هم فعلاً جدی‌ترین مشکل خودم smplayer هست که lag بسیار داره. پ.ن…
۱۰٪ آخر هم یافت شد؛ nvidia یک موردی رو معرفی کرد به اسم
Nvidia GPU stats tool
توی status bar وضعیت دما و ... GPU هارو بهتون میگه، روی سیستم با ۱ کارت گرافیک احتمالاً مشکلات کمتری داره.

اما وقتی داشتم آنالیز میکردم، دیدم GPU اصلی سیستم، سریعا پاسخ میده و GPU دوم که تقریباً ideal و ضعیف‌تر هست latency بالاتری داره و همین باعث lag روی سیستم می‌شده
بخصوص موقع پخش video با smplayer چون من hardware decode رو فعال داشتم.

اوضاع بدتر هم میشد، چون من فاصله بین گرفتن وضعیت gpu هارو هم خیلی کم گذاشته بودم.

خلاصه، اینکه حال نداشتم بزنم
watch -n 1 nvidia-smi

باعث بدتر شدن اوضاع شده بود؛ اینکه Bios کمک کرد هم احتمال میدم بخاطر این بود که progress bar و کم کردن بافر و ... بود (ولی چون قبل از آپدیت بایوس این اطلاعات رو نگرفته بودم نمی‌تونم مطمئن بگم)

پ.ن : قبلاً این مشکل رو با
System Monitor
داشتم که یک gnome extension بود (متأسفانه خیلی دیر یادم افتاد که می‌تونه ازین موضوع باشه)


پ.ن : مجموع این ۲؛ بایوس و مورد بالا
مشکل دائمی من با اجرا کردن
Video
روی مروگر رو هم رفع کرد (من این مشکل رو از زمان دایناسورها روی اوبونتو داشتم، و از smplayer هم برای همین استفاده میکردم)
👍122
آقا من گفتم هرگونه کپی از مطالب کانال بطور کامل آزاد هست

ولی نه اینکه تجربیات من رو هم به اسم خودتون بزنید.
بعد در نهایت اسم و اطلاعات خودتون رو بدید

این دیگه خود جعل هویت هست :/

لطفا این یک مورد رو رعایت کنید.
فکر میکنم الان بیش از ۷-۸ تا کانال داریم که تا تجربیات من رو هم به اسم خودشون میزنند (دو مورد که دوستان فرستادند اصن خداس)
طرف نظرات شخصی خودش رو هم میزنه بعد زده اگر دوست داشتید مشاوره بگیرید (اسم و اطلاعات تماس گذاشته)

این دیگه خیلی بده.
😁41👍5🌚3😱2😨1
Python Hints
آقا من گفتم هرگونه کپی از مطالب کانال بطور کامل آزاد هست ولی نه اینکه تجربیات من رو هم به اسم خودتون بزنید. بعد در نهایت اسم و اطلاعات خودتون رو بدید این دیگه خود جعل هویت هست :/ لطفا این یک مورد رو رعایت کنید. فکر میکنم الان بیش از ۷-۸ تا کانال داریم…
این عالیه
description
برای این کانال هست
اسم رو از کانال هوش مصنوعی برداشته (دستاوردهای یادگیری عمیق)

فقط عمیق تهش رو کرده پایتون

ولی بازم خوبه (ایشون شماره تماس آخر پست‌ها برای حق مشاوره نداده)

پ.ن : البته شاید نظرات شخصیم؛ عمومی شده
یا شاید نظرات شخصی ایشون؛ خیلی به نظرات شخصی بنده نزدیک بوده
😁43🆒2🌚1
بازم میگم دوستان آزادند هرگونه که علاصه دارند مطالب کانال رو استفاده کنند.
در هر پلتفرمی که دوست دارند (لینکدین هم زیاد هست که شخصا می‌بینم لذت هم میبرم)

بخصوص وقتی دوستی که داره زحمت انتشار رو می‌کشه خودش هم موضوع رو درک کرده

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

حالا میگیم و می‌خندیم ولی این از کثیفی کار کم نمی‌کنه
برای دیده شدن هم من کانال نزدم (برای همین تبلیغات و ... نداریم)

ولی جدا اگر قرار باشه آموزش دادن رایگان بر اساس تجربیاتم باعث ضرر مالی خودم باشه
اینکار رو نمی‌کنم دیگه.

نمیخوام به کانال رفرنس بدید؛ ولی اگر تجربیات شخصی من رو کپی کردید اولش ی خط اضافه کنید تجربه دوستان یا ی چیزی مثل این.


طبق روال قبل تبلیغات نداریم (هرچند تبلیغات و بیشتر دیده شدن کانال باعث میشه خیلی ازین مشکلات برطرف بشه)
اما تبلیغات از حوصله همه‌ی ما خارج هست
می‌دونم.
👍45💔54
ی مطلب در مورد استخدام نیرو نوشتم ( ۳ ماه هست نیرو مصاحبه می‌کنم برای ۳ جای مختلف )

ولی تهش دیدم، کل حرفم توی ۳ تا جمله خلاصه می‌شه و پاکش کردم

اوضاع مافوق خیط هست.

۱- سنیور پنداری، افتضاح زیاد شده.

۲- چند سال آینده موج عجیبی از اخراج‌ها خواهیم داشت، برنامه‌نویس تحویل جامعه ندادیم ( خیلی‌ها فقط coder هستند، که قطعاً به chatGpt نمی‌رسند)

۳- وجدان داشته باشید، اگر سواد ندارید یا اگر از بی‌سوادی کار پیدا نمی‌کنید نرید تدریس برنامه‌نویسی رو شروع کنید.

یک خواهشم بکنم از دوستانی که سوادشون بیشتر از من هست :
بیاید روزی ۱ ساعت، فقط ۱ ساعت وقت بذارید و برنامه‌نویسی رو یاد بدید (می‌دونم خیلی‌ها از موج منفی coder ها می‌ترسند) ولی این آموزش دادن‌ها رو شما باید بر عهده بگیرید، تا این بی‌سوادی‌ها حذف بشه.

جدا اندازه ۳ تا پست متن نوشتم ولی ارسال نکردم، نباید من ۳۰۰ نفر رو مصاحبه کنم و فقط ۳ نفر توشون قابل قبول در بیاد. (البته ۵ نفر خیلی خوب بودند، که گفتند از شرکت افزایش حقوق گرفتند و جابجا نمی‌شوند دیگه)


پ.ن : دارم رایزنی می‌کنم اگر بتونم دوستی رو راضی کنم الگوریتم و ... مصاحبه‌ای کار کنیم با هم ( منتظر فراهم شدن شرایط توسط اسپانسر هستیم، چون پیشنهاد از طرف اسپانسر بوده )
👍597👏5👎1
Python Hints
ی مطلب در مورد استخدام نیرو نوشتم ( ۳ ماه هست نیرو مصاحبه می‌کنم برای ۳ جای مختلف ) ولی تهش دیدم، کل حرفم توی ۳ تا جمله خلاصه می‌شه و پاکش کردم اوضاع مافوق خیط هست. ۱- سنیور پنداری، افتضاح زیاد شده. ۲- چند سال آینده موج عجیبی از اخراج‌ها خواهیم داشت،…
#مختصر توضیح #موقت

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

رو نه، ترجیح میدم بجاش روی یادگیری Rust برای خودم تمرکز کنم

در صورت قطعی شدن، شرایط رو توضیح میدم (سوال نکنید لطفاً 🌹)
👍277👏2
https://t.iss.one/DevChaiChat

چون رأی به supergroup داده نشد (و بعضی دوستان گفتند چرایی قضیه رو)

لینک بالا عضو بشید اگر دوست داشتید،
راجب هرچیزی که خواستید صحبت کنید (حتی رستوران خوبی که رفتید)

و البته مهمتر از همه شبکه سازی کنید.
23🆒2
اگر میخواهید خیلی راحت و به تنهایی مصاحبه تمرین کنید

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

LinkedIn post
12👍4🆒4
ی خواهشی بکنم :

لطفاً راجب کانال هوش مصنوعی و مطلب گذاشتن داخلش صحبت نکنید و نپرسید

حرفهای آخر توی همون کانال زده شده، از ۲۰۱۷‌ تا این اواخر کلی مطلب گذاشته شده که برای دوستان تازه‌کار هنوز کار راه بنداز هست.

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

خواهشاً سوال نکنید،
همین کانال پایتون رو دنبال کنید، مطالب اون کانالم پاک نمی‌شه
برای مطالب جدید هم خیلی آدم‌های دیگه هستند توی این حوزه که دارند زحمت می‌کشند. 🌹
👍263🤔3👻2🌚1
یکی از کارایی که دوست دارم این بود که توی آموزش‌هام
بجای اینکه فقط نوشتار به بچه‌ها بدم و ویژگی‌‌هارو بگم مثال بزنم ؛ اینجوری هیچ‌وقت یادشون نمیرفت

Crime board
رو همیشه سر موضوع ساختمان داده داشتیم، بنظر شما مثال کدوم
Data structure
می‌تونه باشه ؟


پ.ن : همیشه با مثال یاد بگیرید (حفظ کردن خوب نیست)
👍213
This media is not supported in your browser
VIEW IN TELEGRAM
از پیام یکی از بچه‌ها، به این نتیجه رسیدم که یک موضوعی رو توضیح بدم :

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

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

ویدئویی که پیوست شده، دیوید بکهام هست که سعی می‌کنه دروغ خود ساختگی و تلاش و سختی کشیدن لیست
Forbes
رو ثابت کنه.

من آدم‌های با سطح دغدغه و تلاش مختلف زیاد دیدم، اونی که میگه من خودم روی پام وایسادم ولی با پول باباش توی سن کم کلاس زبان رفته ٫ کلاس برنامه‌نویسی رفته ٫ شبکه آدم‌های دورش خیلی آدم‌های موفقی بودند.

و آدمی که برای از دانشگاه تا خوابگاه یا خونه رفتن کرایه اتوبوس هم نداشته.

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

هرچند بین ناامیدی و دست کشیدن از کار بیهوده هم خط باریکی هست ولی اکثراً چیزی که می‌بینم نا امیدی هست.


فقط سعی کنید از دیروز خودتون بهتر باشید.
68👍29👏3🤝21🌚1🏆1
اصلاً من هیچ :

از دوستان تو گروه چت، از خوندن این مطلب لذت بردم
شما هم لذت ببرید.

Link
👍16