خاطرات فنی من

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

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

در ویندوز دو نوع کیبورد فارسی وجود دارد که با علامتهای FA و FAS نشان داده می شوند. در FAS یا کیبورد استاندارد فارسی ترکیب SHIFT+SPACE یک نیم فاصله تایپ می کند اما در کیبورد FA چنین چیزی وجود ندارد.

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

۰ نظر موافقین ۰ مخالفین ۰ ۲۶ آذر ۰۳ ، ۲۳:۳۵
محسن

بطور عادی وقتی یک فیلد در فرمهای django ضروری باشد و کاربر آن را پر نکند با این پیام مواجه می شود: Please fill out this field  یا اگر یک گزینه چند انتخابی باشد: Please select an item in the list

۰ نظر موافقین ۰ مخالفین ۰ ۲۶ آذر ۰۳ ، ۱۵:۱۴
محسن

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

وقتی به کد مطلوب خود رسیدید می توانید با استفاده از دستور زیر چندین فایل migration را در یک فایل تجمیع کنید و فقط همان را به source control بفرستید

دو پارامتر آخر شکل رشته ای شماره migrationهایی است که می خواهید تجمیع شوند. این شماره ممکن است با 0 شروع شود.

 

python manage.py squashmigrations <app_name> <start_migration> <end_migration>

 

 


 

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آبان ۰۳ ، ۱۵:۰۹
محسن

وقتی از داکر (docker) برای کارها استفاده می کنید، بطور عادی در ترمینال vscode به مدلها و کلاسهایتان دسترسی ندارید، یا حداقل من بلد نیستم چطور دسترسی پیدا می کنید. (اگر شما بلد هستید در کامنتها ما را هم راهنمایی کنید)

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

می توانید همین ترمینال را داخل vscode با دستور زیر باز کنید:

docker exec -it web-erp /bin/bash

۰ نظر موافقین ۰ مخالفین ۰ ۰۶ مهر ۰۳ ، ۱۰:۵۹
محسن

وقتی یک branch را از سایت github حذف می کنید یا تغییر نام می دهید، vscode هنوز آن را به شکل قدیمی جزو remote branches نشان می دهد.

۰ نظر موافقین ۰ مخالفین ۰ ۲۶ اسفند ۰۲ ، ۱۱:۰۷
محسن

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

برای اینکه داخل کد توضیحاتی بنویسید و بعد بتوانید هم توضیحات را به شکل فایلهای HTML استخراج کنید روشهای مختلفی وجود دارد. ما از mkDocs و mkDocStrings استفاده کردیم.

در سایت realPython مقاله خوبی هست که تقریبا همه چیز را توضیح داده. من قسمتهای مهم آن را اینجا می آورم.

۰ نظر موافقین ۰ مخالفین ۰ ۲۵ اسفند ۰۲ ، ۰۹:۱۱
محسن

من دنبال نرم افزاری بودم که بتوان با آن 1-نرم افزارهای روی گوشی فرزندان را محدود کرد، طبیعتا این یعنی امکان نصب نرم افزار جدید را هم ببندیم و 2-ساعات کار با گوشی را محدود کنم

۰ نظر موافقین ۰ مخالفین ۰ ۲۵ مهر ۰۲ ، ۲۰:۲۲
محسن

من می خواستم یک محیط تستی برای پروژه ای درست کنم که بخشی از آن توابع SQL بود. در محیط واقعی ما سرورهای مختلفی داریم که این توابع باید از آنها اطلاعاتی را جمع آوری کنند. اما در محیط تستی من فقط یک سرور داشتم.

۰ نظر موافقین ۰ مخالفین ۰ ۱۲ مهر ۰۲ ، ۱۵:۲۲
محسن

همانطور که می دانید Active Directory از پروتکل LDAP استفاده می کند. بنابراین چیزی که ما می خواهیم درواقع LDAP Authentication in Django است.

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۹ شهریور ۰۲ ، ۱۸:۰۶
محسن

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

به همین خاطر آنها را اینجا یادداشت می کنم، برای ارجاعات بعدی

۰ نظر موافقین ۰ مخالفین ۰ ۰۶ شهریور ۰۲ ، ۰۹:۳۵
محسن