این اروری که قصد صحبت در موردش و حل اون رو داریم بهنگام افزودن یه رکورد به جدول داخل پایگاه داده postgresql رخ میدهو
این متن اروری که من گذاشتم داخل جنگو به هنگام افزودن به جدول رخ داده بود و فرمت کاملش به شکل زیر بود:
django.db.utils.IntegrityError: duplicate key value violates unique constraint "accesslevel_accesslevelaction_pkey" DETAIL: Key (id)=(11) already exists.
مشکل کجاست؟؟ خود جدول و کد ما مشکلی نداره و عملا پایگاه داده دچار مشکل شده!! ما میخوایم یه رکورد اضافه کنیم و پایگاه داده با توجه به ایندکس اون جدول به ما میگه که باید id رکورد جدید چی باشه که تو این مشکل عملا اون ایندکس رو داره اشتباه به ما میگه، مثلا میگه ایندکس ۱۱ رو باید استفاده کنی در صورتی که id با مقدار ۱۱ قبلا برای یه رکورد دیگه استفاده شده و در نتیجه ارور بالا رو خواهیم داشت
راه حل چیه!؟
کافیه ایندکس اون جدول رو با استفاده از دستور زیر داخل پایگاه داده رفرش و بروز کنیم:
SELECT setval('table_name_id_seq', max(id)) FROM table_name;
امیدوارم مفید بوده باشه:)
دیدگاهتان را بنویسید
با سلام. اگر احیانا بهنگام git pull کردن با ارور زیر مواجه شدید همراهم باشید تا مشکل را حل کنیم:
error: insufficient permission for adding an object to repository database .git/objects fatal: failed to write object fatal: unpack-objects failed
برای حل مشکل کافیست داخل روت پروژه مورد نظرتون که گیت داره دستورات زیر رو بزنید:
cd .git/objects ls -al sudo chown -R yourname:yourgroup *
اگر yourname و yourgroup رو نمیدونید، از دستورات زیر استفاده کنید:
# for yourname whoami # for yourgroup id -g -n
دیدگاهتان را بنویسید
خب مشکل رایجی هست که اروری مشابه زیر داخل ترمکینال اوبونتو نمایش داده میشه:
zsh: command not found
فقط کافیه یه تغییر کوچیک داخل zshrc بدیم:
پس ابتدا با سدتور زیر وارد حالت ویرایش فایل zshrc بشید:
vim ~/.zshrc
حال خط زیر را به انتهای فایل اضافه کنید:
source ~/.bash_profile
ذخیره کرده و سپس دستور زیر را داخل ترمینال اجرا کنید:
source ~/.zshrc
و تمام 🙂 لذت ببرید …
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهحل مشکل آپدیت کردن سرتیفیکیت let’s encryptدر اوبونتو
با سلام و درود، خیلی سریع میرم سراغ اصل مطلب، در حال حاضر که این مطلب رو می نویسم، Certbot با پایتون ۳.۱۰ یه مقدار Conflict داره و اذیت میکنه، برای مثال بهنگام بروزرسانی یکی از سرتیفیکیت ها با دستور زیر :
sudo certbot certonly --force-renew -d sadegh-khan.ir
مکن با ارور های مختلف از نبود ماژ>ل های مختلفی از پایتون روبرو بشید، مثلا بگه ماژول six رو ندارید یا Mapping و غیره، اگر هم به نصب دونه دونه ماژول ها با دستور pip installادامه بدید تقریبا این ماژول ها تمومی ندارند و مشکل از جایی به جای دیگه منتقل میشه، اما مشکل از کجاست؟؟؟ از همون ناسازگاری با نسخه پایتون سیستم شما هست.
پس کافیه نسخه پایتون برای اجرای Certbot رو به یه نسخه دیگه ای که رو سیستم تون نصب هست تغییر دهید، برای مثال من تغییر دادم به نسخه python3.8 برای این منظور در اوبونتو باید فایل /usr/bin/certbot
را ویرایش کنید:
sudo nano /usr/bin/certbot
و مقدار #!/usr/bin/python3
را به #!/usr/bin/python3.8
تغییر دهید (معمولا خط اول فایل هست)
دیدگاهتان را بنویسید
با سلام، ممکن هنگام اجرای دستور sudo apt update با ارور زیر مواجه بشید، به چه دلیل رخ میده!؟
پکیجی قبلا داشتید که برای نسخه فعلی اوبونتون ی شما release file ارائه نکرده هنوز، برای همین این ارور رو میده، یه نمونه اش میشه ارور زیر :
E: The repository 'https://ppa.launchpadcontent.net/eivnaes/network-manager-sstp/ubuntu kinetic Release' does not have a Release file.
برای رفع مشکل کافیه ppa ورژن قدیمی را پاک کنید، دستور پاک کردن PPA به شکل زیر است:
sudo add-apt-repository --remove ppa:eivnaes/network-manager-sstp
دیدگاهتان را بنویسید
با سلام و درود، تا الان که من دارم اینجا در مورد فورتی کلاینت روی لینوکس اوبونتو مطلب می نویسم همیشه مشکل نصب و وصل شدن به ssl vpn فورتی کلاینت از طریق لینوکس اوبونتو بوده، الان لینوکس ورژن ۲۲.۰۴ آخرین ورژن اوبونتو هست در حلی که داخل سایت فورتی نت آخرین نسخه اوبونتوی اون برای ۱۶.۰۴ هست!!!
البته میشه اون رو هم نصب کرد ولی من رو سیستم های مختلف باهاش همیشه مشکل داشتم 🙁
من هر وقت بخوام برای جایی دورکاری داشته باشم که از vpn های فورتی کلاینت (فورتیگیت) استفاده می کنند از openfortivpn استفاده می کنم. نصب و راه اندازیش دستورات زیر رو لازم داره:
sudo apt install openfortivpn sudo openfortivpn : -u
اگر دستور اتصال رو زدید و به cert گیز داد، میتونید اون cert که بهتون داده را به صورت زیر به انتهای دستور اتصال اضافه کنید:
sudo openfortivpn : -u <--trusted-cert=> sudo openfortivpn 92.152.519.161:11443 -u sadegh --trusted-cert=548bdcdf82135d12sdg53351a659ccbb6a3c589f7
دیدگاهتان را بنویسید
با سلام اگر بهنگام بروزرسانی یکی از cert های Let’s encrypt به مشکل زیر برخورد کردید:
Attempting to renew cert from /etc/letsencrypt/renewal/somedomain.com.conf produced an unexpected error: Problem binding to port 443: Could not bind to IPv4 or IPv6.. Skipping.فق
فقط کافیه وب سرور خودتون که آپاچی یا انجینیکس هست رو ابتدا stop کنید و سپس اقدام به آپدیت کردن سرتیفیکیت خود بکنید.
stop Nginx:
sudo systemctl stop nginx
stop Apache:
sudo systemctl stop apache2
دیدگاهتان را بنویسید
اگر به ارور زیر برخورد کردید به این معنیست که توزیع لینوکس شما تنها ازresolvectl پشتیبانی می کند.
sudo : systemd-resolve: command not found
برای مثال جهت پاک کردن کش سیستم در اوبونتو ۲۲.۰۴ اگر مثل سابق از دستور زیر استفاده کنید ( پاک کردن کش dns در اوبونتو ):
sudo systemd-resolve --flush-caches
با ارور فوق مواجه خواهید شد، برای پاک کردن کش dns در اوبونتو ۲۲.۰۴ از دستور زیر استفاده کنید:
resolvectl flush-caches resolvectl statistics
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهغیرفعال سازی 2fa برای گیتلب سرور
با سلام و درود، برای خودم اشتباه کرده بودم و ریکاوری کد های 2fa رو ذخیره نکرده بودم.
گوشیم سوخت و در نتیجه برای لاگین root به سرور گیتلب دسترسی به 2faنداشتم. بنابراین مجبور شدم برای غیر فعال سازی 2fa از دستور زیر برای غیر فعال کردن ورود دو مرحله ای برای تمامی کاربران استفاده کنم و بتونم لاگین کنم:
sudo gitlab-rails runner 'User.find_each(&:disable_two_factor!)'
دیدگاهتان را بنویسید
با سلام برای بدست آوردن زمان expire شدن certificate برای مثال Let’s encrypt cert کافیه وارد پوشه ای که فایل cert.pem ساخته شده شوید و از دستور زیر استفاده نمایید:
ssl-cert-check -c cert.pem
اگر ssl-cert-check را نصب ندارید با دستور زیر نصب کنید:
sudo apt install ssl-cert-check
پوشه نگهداری cert ها برای Let’s Encrypt و اگر مطابق آموزش خودم داخل بلاگ (آموزش امن کردن Nginx با رمزگذاری Let’s Encrypt) انجام داده باشید به صورت زیر می باشد:
/etc/letsencrypt/live/example.com/
دیدگاهتان را بنویسید
با سلام، برای اینکه ببینید چقدر از زمان سرتیفیکت مونده از دستور زیر استفاده کنید :
echo | openssl s_client -connect yourdomain.ir:443 -servername yourdomain.ir 2>/dev/null | openssl x509 -noout -dates
( بدست آوردن مقدار زمان باقیمانده از سرتیفیکیت Let’s encrypt در لینوکس )
دیدگاهتان را بنویسید
با سلام، اگر با ارور زیر مواجه شدید حتما دارید با Let’s Encryptکار می کنید، پس در ادامه همراه باشید
There were too many requests of a given type :: Error creating new order :: too many failed authorizations recently: see https://letsencrypt.org/docs/rate-limits/
این ارور به وضوح داره میگه شما حداقل ۵ بار به سرور Let’s Encrypt درخوسات ناموفق داشتید و فعلا نمیتونید درخواست جدیدی بزنید!!
اول از همه این محدودیت به ازای هر ۵ ساعت هست، پس ناراحت نباشید و حداکثر ۱ ساعت بعد میتونید دوباره دستور خودتون که منجر به ارور بالا میشد رو تکرار کنید.
نکته: احتمالا برای renewکردن به Let’s Encrypt درخوسات داشتید، اگر برای تست request می زنید، بهتره از دستور certbot renew –dry-run استفاده کنید که محدودتی نداره یا به نوعی میشه گفت محدودیتش کم نیست و بعیده که شما رو ban کنه.
تمام
دیدگاهتان را بنویسید
با سلام، اگر برای SSl وب سایت تان از Let’s Encrypt استفاده می کنید و بهنگام بروزرسانی SSLبا ارور زیر مواجه شدید، با ادامه مطلب همراه باشید.
Domain: example.com Type: connection Detail: Fetching http://arjunbroker.com/.well-known/acme-challenge/F9nlyrRISU7q2aX7t_o: Timeout during connect (likely firewall problem)
خب همون طور که خود ارور داره توضیح میده، احتمالا مشکل از فایروال باشه و با بستن پورت ها جلوی اتصال به سرور را گرفته، بهنگام renew کردن سرتیفیکیت sslباید حتما پورت های 80 و 443 به سرورتان باز باشد.
دیدگاهتان را بنویسید
با سلام و درود، اگر قصد دارید داخل بلاک سرور Nginx تان، websocket requests را handle کند، خطوط زیر را به قسمت location از بلاک سرور Nginx مورد نظر جهت مدیریت کردن websocket اضافه کنید:
proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";
دیدگاهتان را بنویسید
اول از همه بعد از نصب اکستنشن pg_stat_statements باید postgresqlرا ریست کنید و همچنین باید خط زیر را در postgresql.conf تغییر دهید:
shared_preload_libraries = ''
تغییر دهید به :
shared_preload_libraries = 'pg_stat_statements'
دیدگاهتان را بنویسید
برای پیدا کردن مسیر فایل postgresql.conf کافیست داخل اوبونتو دستور زیر را وارد کنید :
sudo -u postgres psql -c 'SHOW config_file'
یا داخل psql دستور زیر را بزنید:
psql -U postgres -c 'SHOW config_file'
دیدگاهتان را بنویسید
با سلام و درود،
برای اینکه از **kwargs به عنوان فیلتر های کوئری ست داخل جنگو استفاده کنید کد نویسی مشابه زیر خواهد بود (فیلتر روی کوئری ست در جنگو):
allowed_filters = ('x', 'y') kwargs = {} for key, value in request.data.items(): if key in allowed_filters: kwargs.update({key: value}) try: access_level_request_objs = AccessLevelRequest.objects.filter(**kwargs) except IndexError: pass
در نمونه کد بالا رابطه بین فیلتر ها AND می باشد اگر بخواهیم رابطه بین آنها OR باشد باید از Q و _connector استفاده کنیم، به نمونه کد زیر توجه کنید:
Q(**filter_kwargs, _connector=Q.OR)
دیدگاهتان را بنویسید
با نام خدا و سلام، اکر قصد دارید ابتدای فیلد های یک ستون از پایگاه داده یا فقط یکی از ردیف های دیتابیس مقدار پیش فرضی اضافه کنید یا مقدار حرفی یا عددی اضافه کنید، کافی است از دستور زیر اسفاده کنید:
update mytable set mobile = '98' || mobile, name = 'آقای' || name;
اگر میخواهید پیشوند دیتابیس فقط نمایش داده شود از دستور زیر استفاده کنید:
select '98' || mobile as mobile, 'آقای' || name as name from user_profile;
دیدگاهتان را بنویسید
با سلام و درود، اگر به حالتی برخوردید که تمامی صفحات سایت ورپرسی شما با ارور ۴۰۴ مواجه میشد بجز صفحه خانه (Home Page) احتمالا لینک های یکتای سایت به هر دلیلی دچار مشکل شده اند، برای رفع مشکل کافیست به تنظیمات (setting) و سپس پیوندهای یکتا (Permalinks) رفته و دکمه ذخیره در پایین صفحه را بزنید تا مجدد لینک ها را باز سازی کند.
به احتمال قوی مشکلتون باید حل شده باشه 🙂
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهحل ارور Related Field has invalid lookup: icontains
با سلام، تو این مطلب به حل ارور Related Field has invalid lookup: icontains در پایتون پرداخته شده، چی میشه که چنین اروری داریم؟؟
داستان از اینجا شروع میشه که شما داخل search_fields های admin.py از پروژه تون روی یه کلید خارجی امکان جستجو رو گذاشتید، برای مثال من یه مدل دارم که کلید خارجی داره به مدل کشور ها، داخل search_fields فقط عنوان فیلد کلید خارجی رو گذاشتم که این ارور رو میده، باید پس از فیلد کلید خارجی، با دو تا _ نام فیلد اون جدولی که کلید خارجی روش دارم رو نیز مشخص کنم.
باید خط زیر را:
search_fields = ['foreignkeyfield']
به خط زیر تغییر دهید (همراه با دو تا under score) :
search_fields = ['foreignkeyfield__name']
دیدگاهتان را بنویسید
با سلام و درود، سریع بریم سراغ اصل مطلب، شما یه فایل یا فولدر دارید که داخل .gitignore اضافه اش کردید، ولی وقتی pushمی کنید و از طرفی روی یه سیستم دیگه pullمی کنید، همچنان اون فایل یا فولدر انتقال داده می شه!!
چرا !؟؟ مگه داخل فایبل گیت ایگنور اضافه نکردیم؟ پس چرا باز فایل داره منتقل میشه!؟؟
در حقیقت گیت فایلی که قبل از ثبت آن در gitignore داخل پوشه بوده و track هم میشده را نمی تواند ignore کند.
در این موارد باید اون فایل را از trackشدن خارج کنید، برای این منظور از دستور زیر استفاده کنید:
git rm --cached
برای مثال اپلیکیشن با جنگو می نوشتید، تصمیم به دپلوی کردن پروژه می گیرید و settings.py را داخل .gitignore می گذارید، ولی باز هم settings.py منتقل میشه! برای حل این مشکل کافییست پس از افزودن settings.py به فایل .gitignore نسبت به اجرای دستور زیر اقدام کنید:
git rm --cached settings.py
دیدگاهتان را بنویسید
با سلام و درود، به هنگام نصب requirementها داخل یک virtual environment احتمال داره به ارور زیر بر بخورید:
ERROR: Could not find a version that satisfies the requirement apturl ERROR: No matching distribution found for apturl
خب داره میگه نمیتونه ورژن مورد نظر از apturl رو پیدا کنه تا بخواد نصبش کنه، حق هم داره، چون که پکیج های apturl و apparmor
پکیچ های اوبونتویی هستند و باید از requirement اونها رو پاک کنید و از طریق دستور زیر نصب کنید:
apt install -y apparmor apturl && pip install -r requirements.txt
احتمالا اشتباها system site packages را freeze کرده بودید که به اشتباه داخل فایل requirement اضافه شده بودند.
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهحل ارور Invalid data. Expected a dictionary, but got int.
خب مشکل کجاست؟ شما یه سریالایزر دارید، که مدل استفاده شده داخل سریالایزر شما یه کلید خارجی داره، بهنگام آپدیت کردن احتمالا به این مشکل برخوردید،
قدم اول احتمالا سریالایزر رو به صورت nested ساخته اید و در نتیجه بهنگام آپدیت کردن، فقط id اون کلید خارجی رو قبول نمیکنه و انتظار یه nested dictionary داره، راه حل خیلی ساده است، فقط کافیست یه سریالایزر جدید بسازید و serializers ها رو به دو دسته read و write تبدیل کنید تا به این مشکلات برنخورید.
به مثال زیر توجه کنید:
class HuntingDetailViewSerializer(serializers.ModelSerializer): species = HuntingSpeciesSerializer(many=True, read_only=True) technique = HuntingTechniqueTagSerializer() class Meta: model = HuntListing exclude = ('owner',)
شما سریالایزر بالا را دارید، داخل view نیز کد زیر را دارید:
listing_id = request.data.get('listing_id') listing = HuntListing.objects.get(id=listing_id) serializer = HuntingDetailViewSerializer(listing, data=request.data, partial=True) if serializer.is_valid(): serializer.save()
داده نمونه تون هم به صورت زیر هست :
{"listing_id":9, "technique":1, ....}
ولی ارور دارید به صورت زیر :
Invalid data. Expected a dictionary, but got int.
حل ارور:
فقط کافیست همان طور که گفته شد، serializer های readو write رو از هم جدا کنید، پس سریالایزر جدید داریم :
class HuntingDetailViewSerializer(serializers.ModelSerializer): species = HuntingSpeciesSerializer(many=True, read_only=True) class Meta: model = HuntListing exclude = ('owner',)
همان طور که ملاحظه کردید، خط زیر را حذف کردیم.
technique = HuntingTechniqueTagSerializer()
دیدگاهتان را بنویسید
با سلام و درود، اگر اقدام به ضبط کردن صفحه Vmware کرده باشید احتمالا به این مشکل برخورد کرده اید که حرکت ماوس و action ها ماوس رو ضبط نمی کنه برای مثال بهنگام ضبط صفحه نمایش و برنامه vmware توسط Camtasia به این مشکل به احتمال زیاد برخواهید خورد.
برای حل مشکل فوق کافیست از منوی خود نرم افزار Vmware وارد edit شوید. (ctl+p)
سپس Prefrences را انتخاب کنید. در صفحه باز شده از منوی سمت چپ input را انتخاب کنید و سپس از لیست کشویی Opti,ize mouse for game گزینه ی Always رو انتخاب کنید.
دیدگاهتان را بنویسید
با سلام و درود، سریع میرم سر اصل مطلب، ممکن موقع استفاده از composer با ارور زیر مواجه شوید:
/var/www/kimai2/vendor does not exist and could not be created.
برای حل مشکل کافیست به صورت زیر پیش روید:
اول از همه user خود را به گروه www-data اضافه کنید:
sudo usermod -a -G www-data `whoami`
سطح دسترسی درست را به /var/www دهید:
sudo chown root:root /var/www sudo chmod 755 /var/www/
سطرح دسترسی درست را به پروژه خود دهید:
در ارور اولی که آورده بودم، پروژه من kimai2 میشه:
sudo chown -R www-data:www-data /var/www/ sudo chmod -R 774 /var/www/ sudo chown -R www-data:www-data /var/www/kimai2 sudo chmod -R 774 /var/www/kimai2
و تمام 🙂
دیدگاهتان را بنویسید
با سلام و درود، اگر لوکیشن سرورتون ایران باشه و قصد بروزرسانی clamavرا داشته باشید، بلاشک با مشکل بر میخورید و در قدم اول باید وی پی ان خودتون رو متصل کنید. و همچنین به هنگام اجرای دستور زیر ممکن است ارور داشته باشید:
sudo freshclam ERROR: /var/log/clamav/freshclam.log is locked by another process ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
برای رفع ارور فوق، کافیست ابتدا سرویس clamav را stop کنید و سپس اقدام به بروزرسانی کنید.
sudo systemctl stop clamav-freshclam.service sudo freshclam
با دستورات فوق وارد بروزرسانی می شوید و فقط ممکن وسطای بروزرسانی مجدد با ارور زیر مواجه بشید:
!Download failed (28) Wed Feb 24 07:29:35 2021 -> ! Message: Timeout was reached
که خودش داره به وضوح میگه به مشکل timeout برخورده، برای حل مشکل کافیست به راحتی freshclam.conf را ویرایش کنید.
sudo nano /etc/clamav/freshclam.conf
و مقدار ReceiveTimeout را بیشتر از ۳۰ ثانیه بگذارید و مجدد اقدام به بروزرسانی کنید.
دیدگاهتان را بنویسید
برای بدست آوردن سایز یک فولدر خاص از دستور زیر استفاده نمایید:
du -hs /folderpath
-h : عدد خوانا برای انسان
-s : فقط به صورت خلاصه
-c : مجموع سایز های دایرکتوری
-h : مرتب کردن خوانا برای انسان
-r : به صورت معکوس
برای مثال بدست آوردن سایز دایرکتوری دانلود در اوبونتو :
du -hs /home/sadegh-khan/Downloads
از دستور زیر برای بدست آوردن سایز دایرکتوری و هر چه داخل آن است استفاده کنید:
sudo du -h /home/sadegh_khan/Desktop
می توانید نتایج رو مرتب (sort) نیز کنید:
sudo du -h /home/sadegh_khan/Desktop | sort -rh
به دو تا مثال زیر هم توجه کنید:
sudo du -h --max-depth=2 /var/lib sudo du -sh --apparent-size /var/lib
دیدگاهتان را بنویسید
با سلام و درود، اگر rabbitmq رو روی سرور B نصب کرده باشید و بخواهید از سرور A به آن اتصال داشته باشید، یه مقدار متفاوت از حالت localhost می باشد. تفاوت اصلی در مشخص کمردن user و pass به هنگام اتصال remote می باشد.
برای این کار صرفا کافیست به فرمت زیر اتصال را برقرار کنید:
app = Celery('tasks', broker='amqp://user:pass@serverB_IP')
برای ساخت user جدید برای rabbitmq نیز می توانید از دستورات زیر استفاده کنید:
$ sudo rabbitmqctl add_user myuser mypassword $ sudo rabbitmqctl add_vhost myvhost $ sudo rabbitmqctl set_user_tags myuser mytag $ sudo rabbitmqctl set_permissions -p myvhost myuser ".*" ".*" ".*"
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهآموزش اتصال ریموت به redis
با سلام، اگر قصد داشته باشید redisخود رو روی یک ماشین دیگه اجرا کنید و مشخصا از ماشین دیگه ای هم بهش ریموت و دسترسی داشته باشید باید یه مقدار تغییرات در فایل conf ردیس انجام دهید.
۱- فایل تنظیمات redis در این آدرس می باشد: /etc/redis/redis.conf
۲- تغییر bind 127.0.0.1 به bind 0.0.0.0
۳- تغییر protected-mode yes به protected-mode no
4- روی ماشینی که redisرا نصب کردید مطمین باشید اگر فایروال فعال هست، اجازه دسترسی به پورت ۶۳۷۹ را داده باشد. (ufw allow 6379
و ufw allow 6379/tcp
)
۵- در انتها سرویس redis را یه ری استارت انجام بدید.
دیدگاهتان را بنویسید
با سلام، ممکن در سلری به هنگام اجرا کردن که دستور زیر را زدید:
celery -A tasks worker -l=INFO
با ارور زیر مواجه شوید:
Error: Invalid value for '-l' / '--loglevel': invalid choice: info. (choose from DEBUG, INFO, WARNING, ERROR, CRITICAL, FATAL)
مشکل از کجاست!؟ فقط کافیه اون علامت مساوی رو بعد از -l بردارید و دستور رو به صورت زیر اجرا کنید:
celery -A tasks worker -l INFO
سایتتون محشرههههه
دیدگاهتان را بنویسید
با سلام و درود، ممکن بهنگام بارگزاری فایلی داخل وردپرس، برای مثال گذاشتن یک تصویر روی یک پست، با ارور زیر مواجه شوید:
Unable to create directory wp-content/uploads/. Is its parent directory writable by the server?
به وضوح ارور داره میگه من دسترسی به پوشه wp-content/uploads/ ندارم، کافیست دسترسی var/www/wordpressName/wp-content/uploads را اصلاح کنید.
برای اینکار اگر سرور وردپرسی تان لینوکسی و اوبونتو بود، دستور زیر مشکل شما را حل خواهد کرد:
sudo chown -R www-data:www-data /var/www/sadegh-khan.ir/wp-content/uploads
دیدگاهتان را بنویسید
با سلام و درود، به صورت پیش فرض شماره پورت پایگاه داده های MySQL مقدار ۳۳۰۶ می باشد، منتهی اگر پورت را خودتان تغییر داده اید و فراموش کرده اید، کافیست از دستور زیر داخل شل mysqlاستفاده کنید.
sudo mysql mysql>SHOW GLOBAL VARIABLES LIKE 'PORT';
دیدگاهتان را بنویسید
با سلام، احتمالا برخورد با این ارور بهنگام نصب sass خیلی وجود داره، متن ارور را زر آوردم، اما این ارور چی میگه؟ میگه که powershell امکان اجرا کردن اسکریپت را نداره و محدود شده، در نتیجه برای رفع این ارور باید محدودید execute کردن اسکریپت را از روی پاورشل برداریم.
Roaming\npm\sass.ps1 cannot be loaded because running scripts is disabled on this system
راه حل ارور sass.ps1 cannot be loaded because running scripts is disabled
خب برای حل این مشکل باید از دستور Set-ExecutionPolicy استفاده کنیم،دستور به صورت کامل به شکل زیر است:
PS C:\> Set-ExecutionPolicy RemoteSigned
اما به صورت پیش فرض مقدار ExecutionPolicy چیست ؟
برای کلاینت ها : Restricted
برای سرورها: RemoteSigned
RemoteSigned به چه معنا است؟
- سیاست اجرای پیش فرض برای کامپیوتر های ویندوز سروری می باشد.
- اسکریپت ها می توانند اجرا شوند.
- نیازمند امضای دیجیتال از منتشرکننده های معتبر برای اسکریپت ها و فایل های کانفیگ دانلود شده از اینترنت می باشد.
- نیاز به امضای دیجیتال برای اسکریپت هایی که به صورت لوکال نوشته شده اند و از اینترنت دانلود نشده اند نمی باشد.
- اسکریپت های دانلودی از اینترنت که امضا ندارند اگر Unblockشده باشند را می توان اجرا کرد. (استفاده از دستور
Unblock-File
cmdlet)
Restricted به چه معنا است ؟
- سیاست اجرای پیش فرض برای کاربران ویندوز
- اجازه ی دستورات را می دهد اما اجازه اسکریپت را خیر
- جلوی اجرای تمامی فایل های اسکریپتی را می گیرد، شامل فایل های فرمت و کانفیگ (.ps1xml) فایل های اسکریپت ماژول (
.psm1
) و پروفایل های پاورشل (.ps1)
نکته: به هر ExecutionPolicy می توان یک scope نیز داد. در مورد scope و اطلاعات بیشتر از لینک زیر استفاده کنید.
برای اطلاعات بیشتر می تویند یه سر به سایت اسناد خود ویندوز بزنید.
دیدگاهتان را بنویسید
با سلام و درود، در این مطلب کوتاه در مورد مسیر ذخیره شدن لاگ های nginx و همچنین دستور ترمینال جهت مشاهده آخرین خطاهای nginx پرداخته شده است.
مسیر ذخیره لاگ های nginx مسیر زیر می باشد:
/var/log/nginx/error.log
و اما برای مشاهده ۳۰ خطای اخیر در لینوکس می توانید از دستور زیر استفاده کنید:
sudo tail -30 /var/log/nginx/error.log
دیدگاهتان را بنویسید
برای برنامه نویسان مشتاق ایرانی احتمال اینکه موقع کار با dartpad برای کار با دارت -dart به ارور زیر بر بخورند خیلی زیاد می باشد،
راه حل استفاده از VPNهست، متاسفانه به همین راحتی قابل حل هست.
XMLHTTPrequest error -line1
خیلی ممنون. با فیلتر شکن حل شد. گفتم شاید برای دوستان دیگه لازم بشه که من از دی ان اس شکن یا دی ان اس مشابه استفاده کردم مشکل حل نشد. اما با فیلتر شکن حل شد. ممنون.
ربطی به فیلتر شکن نداره
یا فایل جیسانی که داری استفاده میکنی مشکل داره یا قسمت هدر url خودتو درست وارد نکردی
سلام. ممنون بابت راهنمایی. من از DNSهای سایت “شکن” که برای گذر از تحریم هست استفاده کردم و مشکل برطرف شد.
متاسفانه مشکل من با کانکت شدن با vpn هم حل نشد آیا راه حل دیگری دارید
-
با vpn مشکل حل میشه. اگه برای شما درست نشد از سرور یه کشور دیگه استفاده کن.
-
نه متاسفانه
-
Vpn خارجی استفاده کنید مثلاً ویندسکرایب
-
خیلی ممنون
دیدگاهتان را بنویسید
با سلام و درود، مشکل یا ارورFailed to create symbolic link: File exist بهنگامی رخ میده که شما قصد برقراری symbol linkبین دو فایل دارید، ولی فایل قبلا ساخته و لینک انجام شده بوده و به هر دلیلی مانند ویرایش نیاز دارید که مجدد لینک بشوند، برای حل مشکل کافیست ساخت لینک را forceکنید با اضافه کردن f به -s تابشه -sf به شکل زیر:
sudo ln -sf ../sites-available/myproject ../sites-enabled/
دیدگاهتان را بنویسید
با سلام و درود، به ظنرم یکی از اعصاب خورد کن ترین ارورهای لینوکسیه :)) یه سرور رو تازه نصب کرید و همه کانفیگ ها درست و میخوای دستور sudo بزنی که هم دستورات کند هستند و طول میکشه اجرا بشوند و هم ارور میده sudo: unable to resolve host ”: Name or service not known ، و اما مسئله کجاست!
مشکل از کجاست؟
این مشکل از جایی آب میخوره که سیستم نمیتونه hostnameشما را تضخیص بده، یا hostname رو به تازگی تغییر دادید و به مشکل برخوردید یا سیستم عامل تازه نصب شده.
پس باید دو سه تا جا مقدار hostname رو به طور صحیح و درست تعریف کنیم.
اول از همه با دستور زیر ببینید hostnameفعلی سیستم شما چیست:
hostname
شما باید hostname رو مشاهده کنید ، برای مثال newpc.
حال بریم دنبال رفع ارور،
رفع ارور unable to resolve host
خب ابتدا به این مسیر برید و ببینید چی داخلش هست :
sudo vim /etc/hosts
باید دارای خطوط زیر باشد، مخصوصا خط دوم:
127.0.0.1 localhost localhost.localdomain 127.0.1.1 newpc
تا اینجای کار باید مشکل حل شده باشه ولی بهتره که hostnameزو با دستور زیر چک کنید تا در اینجا نیز درست تنظیم شده باشد:
sudo nano /etc/hostname
در این فایل باید مقدار hostname که نمایش داده می شود همان newpc باشد
به همین سادگی و تمام
unable to resolve hostسلام تراست والت دارم در گوشی که برای انتقال ارز این خطا را داد چطور حل کنیم.
No address associotans host name
باتشکر
-
سخه اپلیکیشن خود رو به آخرین نسخه بروزرسانی کنید.
مطلب مفید و کاربردی.
ممنون از شما
چطور میتونم هاست نیم رو در اینجا 127.0.1.1 newpc که اشتباهه تغییر بدم؟
-
با دستور زیر میتونید پارد ادیتور بشید و تغییر بدید:
sudo nano /etc/hosts
-
سلام در اندروید این خطا را چطور حل کنیم.
-
عالی
مقدار من این بود :
127.0.1.1 ubuntu
که به نام مورد نظر تغییر دادم درست شد
بسیار عالی
دیدگاهتان را بنویسید
با سلام و درود، احتمالا خیلی رایج براتون تا بخواید روی سیستم لینوکسی بفهمید ip سیستم چنده یا اطلاعات dns رو بدست بیارید.
برای بدست آوردن IP داخلی تان در لینوکس، کافی است از دستور زیر استفاده کنید:
ip a
برای بدست آو.ردن DNS Server فعلی که استفاده میشه در لینوکس از دستور زیر استفاده کنید:
systemd-resolve --status | grep Current
برای نمایش default gateway از دستور زیر استفاده کنید:
ip r
دیدگاهتان را بنویسید
با سلام و درود، احتمالا خیلی زیاد دیدید که فایل های نصلی برای لینوکس با فرمت پکیج های rpmباشند، برای نصب این فال ها ابتدا آنخا را به فایل با فرمت .deb تبدیل می کنیم و سپس اقدام به نصب آنها می کنیم.
ابتدا با دستور زیر Alien را برای تبدیل فایل rpm به .deb نصب می کنیم.
برای این منظور دستورات زیر را در ترمینال اجرا کنید:
sudo add-apt-repository universe sudo apt update sudo apt install alien
حال با دستور زیر با استفاده از Alien اقدام به تبدیل فایل با فرمت rpm می کنیم:
sudo alien packagename.rpm
پس از تبدیل، برای نصب فایل با فرمت .depاز دستور زیر استفاده کنید:
sudo dpkg –i packagename.deb
و تمام 🙂
دیدگاهتان را بنویسید
با سلام و درود، احتمالا اگر در حال خوندن این مطلب هستید یه پرینتر اچ پی (HP) دارید که با کابل USB به سیستم با سیستم عامل لینوکس خودتون وصلش کردید و سیستم عامل هم اون رو شناخته و تو لیست پرینتر ها آورده ولی پرینت نمیگیره!!! تو لیست job ها پیرنتر پرینت ها را اضافه می کنه ولی پرینت نمیگیره !!!
خب برای حل مشکل پرینتر های اچ پی در لینوکس کافی است ایتدا با دستور زیر python3-pyqt5 را نصب کنید:
sudo apt-get install python3-pyqt5
اگر نسخه اوبونتویی که دراید کمتر از ۱۸.۰۴ هست، دستور زیر را نیز استفاده کنید:
sudo apt-get install python3-pyqt4
حال دستور زیر را بزنید :
sudo hp-setup
تصویر زیر را مشاهده خواهید کرد:
خب از قسمت GUI دکمه next رو بزنید و پیش برید، قسمتی رو برای دانلود hp plugin از سمت ترمینال باید دکمه d کیبورد را بزنید و سپس enterکنید.
مشکل پرینتر HP شما روی لینوکس اوبونتو جل خواهد شد.
سلام دستور زدم ولی ارور داد راه حل دیگه ای داره؟
دیدگاهتان را بنویسید
خب برای فعال سازی مخفف ها برای زبان جاوااسکریپت کافیست وارد settings ویژوال کد شوید ، در نوار جستجو، emmet.includeLanguages
را جستجو کنید و سپس add item را بزنید همانند شکل زیر javaScript را وارد کنید:
به غیر از جاوااسکریپت، می توانید موارد دیگری را، مانند vue-html و غیره اضافه کنید:
"javascript": "javascriptreact", "vue-html": "html", "razor": "html", "plaintext": "pug"
دیدگاهتان را بنویسید
با سلام و درود، امروز با یه مفهوم ساده ای در جاوا اسکریپت همراهتون هستم، تفاوت عملگرهای == و === در چیست؟؟
در یک کلام، تفاوت اصلی بین عملگرهای == و === در بررسی کردن type مقدار داده شده به هنگام مقایسه می باشد، اگر شما یک عدد «number» را با یک متن «String» مقایسه کنید، == اجازه ی این کار را می دهد، ولی === اجازه این کار را نمی دهد، چرا که نه تنها مقادیر را بررسی می کند، بلکه نوع «type» آنها را نیز بررسی می کند. اگر دو value در حال مقایسه دارای type متفاوتی باشند، === مقدار false را بر می گرداند، در حالیکه == مقدار true را بر می گرداند.
if (2 == '2') // TRUE if (2 === '2') // FALSE 0==false // true, because false is equivalent of 0 0===false // false, because both operands are of different type 2=="2" // true, auto type coercion, string converted into number 2==="2" // false, since both operands are not of same type
دیدگاهتان را بنویسید
با سلام و درود، مشکل از کجا شروع میشه !! از ارور زیر :
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to
به شما اجازه push کردن نمیده! به همین سادگی :)))
قضیه از این قراراه که به احتمال قوی شما با مسئله Protected branches روبرو هستید، و نوع user فعلی شما اجازه pushکردن رو نداره، به تصویر ذیل نگاه کنید
حال راه حل چیه؟؟ باید دسترسی branch Protection رو تغییر بدید، برا این کار ابتدا :
۱) وارد Settings شوید .
۲) سپس وارد Repository شوید. (Settings ➔ Repository)
۳) اسکرول کنید تا Protected branches را پیدا کنید.
۴) از منو دراپ دان Branch ، برنچ مورد نظر خودتون رو انتخاب کنید.
۵) حال branch انتخاب شده در لیست “Protected branches” نمایش داده می شود.
۶) حال به راحتی مقادری Allowed to push و allowed to merge رو میتونید تغییر بدید و روی maintainer+dfeveloper بگذارید.
مرجع: https://docs.gitlab.com/ee/user/project/protected_branches.html
دیدگاهتان را بنویسید
برای بدست آوردن اینکه کدام display manager روی لینوکس شما نصب است کافیست از دستور زیر استفاده کنید:
cat /etc/X11/default-display-manager
خروجی دستور فوق به شکل زیر خواهد بود :
دیدگاهتان را بنویسید
با سلام، احتمالا دارید از VSCode استفاده می کنید و یه پروژه پایتونی 🙂 حالا با ارور Class has no objects member مواجه شدید 😐
اول از همه به نصب pylint-django
اقدام کنید (از دستور زیر استفاده کنید):
pip install pylint-django
حال داخل محیط VS Code از کلید های Ctrl + Shift + P استفاده کنید تا Command Palette نمایش داده شود،
حال خط زیر را در آن تایپ یا کپی کنید:
Preferences: Configure Language Specific Settings
و سپس pythonرا انتخاب کنید.
حال در فایل باز شده داخل گیومه {} ، کدهای زیر را وارد نمایید:
"python.linting.pylintArgs": [ "--load-plugins=pylint_django", ]
و تمام 🙂
دیدگاهتان را بنویسید
با سلام و درود، برای اینکه بفهمیم در حال حاضر کدام یک از پورت های سیستم عامل در حال استفاده هستند (لیست پورت های لینوکس)، کافی است از یکی از دستورات زیر استفاده کنید:
sudo lsof -i -P -n | grep LISTEN sudo netstat -tulpn | grep LISTEN sudo lsof -i:22 ## see a specific port such as 22 ## sudo nmap -sTU -O IP-address-Here
در تصویر زیر از دو دستور متفاوت برای پیدا کردن پورت های در حال استفاده (استفاده شده) در لینوکس استفاده کردم که می توانید خروجی آنها را ببینید:
دیدگاهتان را بنویسید
با سلام و درود، خب با رفع ارور Exception in thread “main” java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper در لینوکس و به هنگام اجرای فایل جاوا در خدمتتون هستم، برای رفع ارور کافی است فایل accessibility.properties در آدرس زیر را باز کرده :
sudo nano /etc/java-8-openjdk/accessibility.properties
و مقدار
assistive_technologies=org.GNOME.Accessibility.AtkWrapper
را کامنت کنید:
#assistive_technologies=org.GNOME.Accessibility.AtkWrapper
دیدگاهتان را بنویسید
با سلام درود، برای رفع ارور Parsing filters unsupported بهنگام استخراج یا آن زیپ کردن یک فایل زیپ کافیست دو دستوپر زیر را اجرا کنید (دو پکیج نصب کنید):
sudo apt-get install unrar sudo apt-get install file-roller
پس از اجرای دستورات فوق، مجدد استخراج یا آنزیپ کردن فایل زیر در لینوکس را امتحان کنید.
دیدگاهتان را بنویسید
با سلام و درود در این آموزش به نحوه پیدا کردن نام منطقی شبکه یا network device logical name پرداخته شده.
برای مشاهده نام منطقی ابزار شبکه خودتون کافیست دستور زیر را در ترمینال لینوکس اوبونتو وارد کنید :
sudo lshw -C network
دیدگاهتان را بنویسید
با سلام و درود، موقع استفاده از دستور sudo apt-get installیا داخل اپلیکیشن softwareاز اوبونتو و به هنگام نصب به ابزار جدید احتمالا با چنین اروری مواجه شوید، ارور داره میگه که یه دستور دیگه ای در حال نصب پکیج دیگه ای هست و به قلی لاک کرده و نمیشه شما هم زمان نصب پکیج داشته باشید، برای حل ارور اتول مطمین بشید در حال نصب پکیج در ترمینال دیگه ای نیستید و اگه مطمین شدید چیز دیگه ای در حال نصب نیست کافیست دستورات زیر را انجام دهید:
sudo killall apt apt-get
اگر دستور فوق مشکل را حل نکرد، دستورات زیر را اجرا کنید:
sudo rm /var/lib/apt/lists/lock sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock*
باز اگر مشکل حل نشد دیگه دسترو زیر حتما مشکل رو حل می کنه:
sudo dpkg --configure -a
و تمام
دیدگاهتان را بنویسید
با سلام و درود، به هنگام نصب Gitlab روی اوبونتو سرور به ارور زیر بر خوردم:
E: Unable to locate package gitlab-ee
نسخه اوبونتو 20.04 بود، مشکل از اینجا بود که پکیج های گیتلب بر خلاف ادعای خود گیتلب روی اوبنتو فوکال (20.04) وجود نداشت.
برای حل این مشکل کافیست پکیج نسخه ۱۹.۰۴ را اضافه کنیم و از روی همان نسخه گیت لب را نصب کنیم :
curl -L -o gitlab-ee_13.0.6.deb https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/buster/gitlab-ee_13.0.6-ee.0_amd64.deb/download.deb sudo EXTERNAL_URL="https://gitlab.example.com" apt install ./gitlab-ee_13.0.6.deb
دیدگاهتان را بنویسید
با سلام، یکی از مواردی که با ارور زیر برخواهید خورد این است که password authentication را برای root فعال کرده اید ولی از دستور sudo mysqlبرای دسترسی به shellدارید استفاده می کنید.
ERROR 1045 (28000): Access denied for user 'sadegh-khan'@'localhost' (using password: NO)
برای حل این ارور کافیست برای ورود به Shellاز دستور زیر استفاده کنید:
mysql -u root -p
به همین راحتی 🙂
ممنون کارم راه افتاد
دیدگاهتان را بنویسید
با سلام، ممکن به هنگام اجرای دستور sudo systemctl start mongod.service با ارور زیر مواجه بشید:
Failed to start mongod.service: Unit mongod.service not found.
برای حل این مشکل کافیست دستور زیر رو اجرا کنید :
sudo systemctl unmask mongod
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهحل ارور Error opening directory ‘/media’: Permission denied در لینوکس
خب داخل اپلیکیشن GIMP بودم که میخواستم یه فایل از درایور ویندوزم رو باز کنم که به ارور زیر برخوردم:
Error opening directory ‘/media’: Permission denied
واضحه که داره میگه دسترسی به درایو های دیگه نداری !
مشکل به سادگی حل میشه، صرفا کافیه اپلیکیشن Ubuntu Software را باز کنید، اپلیکیشن مورد نظرتون رو داخل اون جستجو کنید و پس از پیدا کردن، وارد اون اپلیکیشن شود (قاعدتا باید تیک Installed را داشه باشه)، تب Permissions رو باز کنید و گزینه Read/Write files on removable storage devices را فعال کنید 🙂
با توجه به تصویر زیر، آخرین گزینه می باشد
دیدگاهتان را بنویسید
با سلام، اگر کلاس های کاستوم از django_cities_light ساخته بودید و به ارور زیر برخورد کردید :
cities_light.Region.country: (fields.E304) Reverse accessor for 'Region.country' clashes with reverse accessor for 'Region.country'. HINT: Add or change a related_name argument to the definition for 'Region.country' or 'Region.country'.
برای حل این مشکل با توجه به اسناد خود django_cities_light کافیست به تنظیمات دیجنگو خط زیر را اضافه کنید :
CITIES_LIGHT_APP_NAME = ‘yourapp_name’
yourapp_name باید نام اپ باشد که داخل مدل آن کلاس های کاستوم را ساخته اید.
برای مثال اگر کلاسهای ساخته شده کاست.م در این آدرس باشند: geo/models.py پس خط اضافه شده در تنظیمات باید به شکل زیر باشد:
CITIES_LIGHT_APP_NAME = 'geo'
دیدگاهتان را بنویسید
با نام خدا وسلام، ارور no cached version available for offline mode رو ممکن است به هنگام اجرای پروژه باهاش مواجه شوید. این ارور داره میگه به یک ورژنی از گردل نیاز دارد ه شما در حال حاضر آن را ندارید، و چون حال آفلاین شما روشن می باشد، امکان دانلود آن را نیز ندارد و ارور ذیل را به شما نشان می دهد:
no cached version available for offline mode
برای حل مشکل تنها کافیست حالت آفلاین گردل را در انردوید استادیو(Android studio) یا IntelijIdea غیر فعال کنید.
در اندروید استادیو ورژن های جدید ( من در حال حاضر ورژن ۳.۶.۱ را استفاده می کنم و عکس زیر از این ورژن می باشد)، برای غیر فعال کردن کافیست از سمت راست بالا (داک سمت راست)، روی آیکون گردل کلیک کنید تا داک از حالت پین (میخ شده) خارج شود :
شکل زیر حالت پین شده را نشان می دهد:
شکل زیر حال از پین خارج شده :
باید روی آیکون کلیک کرده و از حالت آفلاین آن را خارج کنید تا به صورت زیر شود :
دیدگاهتان را بنویسید
با سلام، تو این مطلب میخوام به این سوال بپردازم: چگونه اطلاعات اسلات های رم را در لینوکس بدست بیاوریم؟
خب دستور اول استفاده از DMI Table Decoder است. با استفاده از دستور زیر، شما اطلعتی همچون تعداد اسلات ها و حداکثر مقدار رم رو به شما نمایش می دهد.
sudo dmidecode -t 16
برای نمایش اطلاعات کاملتر از دستور زیر استفاده کنید :
sudo dmidecode -t 17
دیدگاهتان را بنویسید
با سلام، هنگام برخورد با ارور فوق، به احتمال قوی سایتی که Scrapy را روی آن اجرا می کنید، جلوی فعالیت شما را گرفته است. به قولی شما را بَن کرده است. خزنده شما تلاش می کند robots.txt را بخواند، اما سایت مورد نظر اجازه نمی دهد 🙂
اول از همه وارد Settings.py شوید و مطمین شوید مقدار ROBOTSTXT_OBEY برابر با False باشد (در نسخه های جدید از Scrapy این مقدار به صورت پیشفرض True است)
اگر با تغییر فوق، باز هم مشکل داشتید، بهتر است userAgent خود را تغییر دهید، برای نمونه از UserAgent زیر در فایل Settings.pyاستفاده کنید. اگر مشکل حل شد که یا باشد دنبال یه پروکسی باشید که هر دفعه IP شما را عوض بکنه یا هر دفعه UserAgent متفاوت بسازید (در این مورد داخل بلاگ حتما یه پست خواهم گذاشت ، از بالای صفحه اصلی و قسمت جستجو با عبارت scrapy یه سرچی بکنید تا ببینید الان که این مطبی رو میخوانید مطلب مربوط به پروکسی را گذاشتم یا خیر)
USER_AGENT=’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36′
دیدگاهتان را بنویسید
با سلام ودرود، بحث ساده ای رو در پیش داریم، تغییر TimeZone در Django. به صورت پیشفرض TimeZone دردیجنگو فعال می باشد.
برای تغییر TimeZone یا دیگر تنظیمات مربوط به آن باید به فایل Settings.py پروژه دیجنگوتان مراجعه کنید.
خب تو تصویر فوق ملاحظه می کنید که مقدار USE_TZ برابر با True می باشد. به این معنی که از TimeZoneاستفاده می شود. برای تغییر کافیست مقدار TIME_ZONE = ‘Asia/Tehran’ را تغییر دهید.
من تایمزون رو برابر با تهران قرار دادم، که هر مقداری می توانید قرار دهید. اینجا می توانید لیست تایمزون ها را ببینید.
دمت گرم صادق خان.
کاربردی بود.
دیدگاهتان را بنویسید
با سلام و درود، برای تغییر چینش محصولات در ووکامرس بستگی به نسخه ای از ووکامرس که استفاده می کنید، روش متفاوت است، اگر از نسخه ۳.۳ به بالا استفاده می کنید، کافیست به مسیر زیر بروید:
Dashboard > Appearance > Customize > WooCommerce > Product Catalog
برای نسخه های قدیمی تر به این مسیر بروید:
WooCommerce > Settings > Products > Display
دیدگاهتان را بنویسید
با سلام، برای به دست آوردن شماره سریال لپتاپ که لینوکس را روی آن اجرا می کنید، کافیست از دستور زیر استفاده کنید :
sudo dmidecode -s system-serial-number
دیدگاهتان را بنویسید
با سلام، امروز اومدم سایت رو چک کنم که دیدم هیچ کدوم از پست ها رو نشون نمیده 🙁 وارد هاست و phpmyadmin شدم و جدوا wp_posts را نگاهی انداختم که ارور زیر رو داد:
- Table './DB_NAME/wp_posts' is marked as crashed and should be repaired
برای حل مشکل کافیه اون جدولی که مشکل داشت رو repair کرد، تو تصویر زیر روش کار مخصه:
سلام
دمت گرم مشکلم حل شد
دیدگاهتان را بنویسید
حل ارور ImportError: cannot import name ‘python_2_unicode_compatible’ from ‘django.utils.encoding’
با سلام، من ارور رو به هنگام افزودن django-cities-light دریافت کردم:
ImportError: cannot import name 'python_2_unicode_compatible' from 'django.utils.encoding'
برای این منظور کافیه جایی که python_2_unicode_compatible را import کرده اید ویرایش کنید و به جای django.utils.encoding مقدار six را قرار دهید.
همانطور که در تصویر زیر ملاحظه می کنید:
آدرس فایل برای django-cities-light آدرس زیر می باشد:
cities_light/abstract_models.py
دیدگاهتان را بنویسید
من خودم حین نصب pgadmin4 روی سرور اوبونتو و virtualenv دارای پایتون ۳.۷.۱ به این مشکل بر خوردم و کامل ارور به شکل زیر بود:
(.asemanenv) (base) sadegh_khan@aseman_ecommerce:~/w$ python .asemanenv/lib/python3.7/site-packages/pgadmin4/setup.py
Traceback (most recent call last):
File ".asemanenv/lib/python3.7/site-packages/pgadmin4/setup.py", line 17, in
from pgadmin.model import db, User, Version, ServerGroup, Server, \
File ".asemanenv/lib/python3.7/site-packages/pgadmin4/pgadmin/__init__.py", line 25, in
from flask_security import Security, SQLAlchemyUserDatastore, current_user
File ".asemanenv/lib/python3.7/site-packages/flask_security/__init__.py", line 13, in
from .core import Security, RoleMixin, UserMixin, AnonymousUser, current_user
File ".asemanenv/lib/python3.7/site-packages/flask_security/core.py", line 28, in
from .forms import ChangePasswordForm, ConfirmRegisterForm, \
File ".asemanenv/lib/python3.7/site-packages/flask_security/forms.py", line 17, in
from flask_wtf import FlaskForm as BaseForm
File ".asemanenv/lib/python3.7/site-packages/flask_wtf/__init__.py", line 17, in
from .recaptcha import *
File ".asemanenv/lib/python3.7/site-packages/flask_wtf/recaptcha/__init__.py", line 2, in
from .fields import *
File ".asemanenv/lib/python3.7/site-packages/flask_wtf/recaptcha/fields.py", line 3, in
from . import widgets
File ".asemanenv/lib/python3.7/site-packages/flask_wtf/recaptcha/widgets.py", line 5, in
from werkzeug import url_encode
ImportError: cannot import name 'url_encode' from 'werkzeug' (.asemanenv/lib/python3.7/site-packages/werkzeug/__init__.py)
و اما مشکل از کجاست ؟؟
مشکل میشه خط زیر :
ImportError: cannot import name 'url_encode' from 'werkzeug'
به نظر میرسه که ارور فوق ارور ورژنی باشد (versioning error)، ورژن جدید پکیج werkzeug دیگه دارای url_encode نیست که pgadmin4 داره دنبالش می گرده :))
راه حل :
نصب ورژنی پایینتر از ورژن فعلی werkzeug ، مشکل شما را حل خواهد کرد، برای مثال نصب ورژن werkzeug==0.16.0 با ساتفاده از دستور زیر:
pip install werkzeug==0.16.0
دیدگاهتان را بنویسید
با سلام و درود، ارور ذیل رو ممکن به هنگام نصب یکی از پکیج های پایتون باهاش برخورد کنید 🙂
FileNotFoundError: [Errno 2] No such file or directory: ‘curl-config’: ‘curl-config’
من خودم بهنگام نصب پکیج pyspider با ارور فوق برخورد داشتم. اما راه حل چیه؟؟
خیلی ساده فقط کافیه دستور زیر رو داخل ترمینال اجرا کنید :
sudo apt install libcurl4-openssl-dev libssl-dev
قط توجه داشته باشید که ارور میتونه به شکل زیر باشه (در حقیقت ارور فوق داخل ارور زیر باشه):
Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-install-z0gvhchc/pycurl/
برای حل ارور فوق باید از دستور زیر استفاده کنید :
pip install –upgrade setuptools
اما به احتمال قوی با دستور فوق که برای ارور Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-install-z0gvhchc/pycurl/ استفاده کردید مشکل حل نخواهد شد و باید از همون دستور اولی استفاده کنید :
sudo apt install libcurl4-openssl-dev libssl-dev
برای فهم بیشتر اینکه ارور چطور زیر مجموعه یه ارور دیگه باشه، تصویر زیر رو مشاهده کنید:
همونطور که می بینید ارور اون خط قرمز رنگ هست، منتهی دلیل ارور قرمز رنگ، اروری هست که در بالاتر ذکر شده
سلام وقتی دستورات رو توی ترموکس میزنم No such file or directoryمیاره باید چکار کنم هر دستوری میزنم خطا میزنه
-
خوب داداش نصب نداری فایلارو
termux-change-repoاینو بزن بعد اوکی بعد یه دونه از اونایی که تو لیست بودش اونم بزن اوکی بزن بعد بزن pkg upاینو بزن بعد کد خودتو بزن درس میشه -
سلام میشه یه مقدار با جزییات بیشتر بگید، دقیق برای انجام چه کاری و دقیق چه دستوری و برای چه کاری که می زنید این ارور رو میده
-
سلام هر کدی که تو بگی ارور میده
-
سلام داداش اینجا نمیشه بیا ی پیام رسان تا بهت بگم ولی داداش هر کدی که میزنم این خطا رو میزنه هر کدی که تو بگی
-
سلام
برای ویندوز هم آموزششو میدین ؟
تشکر
دیدگاهتان را بنویسید
کافیست فقط از دستور زیر استفاده کنید :
sudo -u postgres psql postgres
حال باید بعد از علامت #ظاهر شده، عبارت زیر را تایپ و enter کنید :
\password postgres
حال رمز جدید را وارد کنید و تمام
دیدگاهتان را بنویسید
خب با فرض اینکه ما postgresql به درستی نصب کردیم، منتهی به هنگام نصب psycopg2 با ارور ذیل روبرو بشیم:
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application
برای حل این ارور کافیه دستورات زیر را به ترتیب احرا کنید:
sudo apt-get install postgresql
sudo apt-get install python-psycopg2
sudo apt-get install libpq-dev
بهترهست برای اینکه به مشکلی احتمالاً بر نخورید از پیلترشکن استفاده کنید
پس از سه دستور فوق، مجدد دستور زیر را اجرا کنید:
pip install psycopg2
باسلام وقتتون بخیر
ببخشید این مطالب برای ویندوز ههم درست هست یا فقط برای لینوکس میباشد
اگر ممکنه پاسخ دهید
ممنون
-
برای ویندوز رو متاسفانه اطلاع ندارم،
داخل لینوکس کتابخانه libpq-dev مشکل را حل میکنه که باید به ترتیب بعد از نصب postgresql و python-psycopg2 نصب بشه
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهحل ارور Syntax error: “(” unexpected
با سلام و درود، ارور Syntax error: “(” unexpected زمانی رخ میده که شما میخواید فایل bash را اجرا کنید ولی shebang در خط اول اون فایل نباشه
برای حل مشکل کافیه فقط یه عبارت bash قبل از دستور مورد نظر تون بزنید، برای مثال اگر دستور ه صورت زیر بوده:
./start.sh
کافیه bash رو قبل دستور وارد کنید :
bash ./start.sh
دیدگاهتان را بنویسید
با سلام و درود، یه مشکلی معمولا کاربرها با بلوتوث در سیستم عامل اوبونتو دارند و اون چیه !!
روشن نشدن بلوتوث !! یا به قولی ظاهرا در تنظیمات روشن شدن ولی در عمل روشن نشدن و Grayبودن آن 🙂
برای رفع مشکل یه کار خیلی ساده هست کافیه فقط دستور زیر را در ترمینال اجرا کنید :
sudo service bluetooth restart
اگر دستور بالا کارساز نبود از دو دستور زیر برای ریست کردن bluetoothدر اوبونتو استفاده کنید:
sudo rmmod btusb sudo modprobe btusb
پس از دو دستور فوق، حتما بلوتوث رو از تنظیمات خاموش و روشن کنید
دمت گرم
دمت گرم داداش
ممنون از راه حلتون من کلی سایت دیگه هم گشتم ولی همش چرت و پرت تحویل ادم میدادند و اصلا به راه حل اشاره نمی کردند
-
خیلی خوشحالم که مشکلتون رفع شده 🙂
دیدگاهتان را بنویسید
با سلام، اگر از zshاستفاده می کنید. کافیه مراحل زیر رو برای حل مشکل انجام بدهید:
۱- فایل .zshrcرا باز کرده. (این فایل داخل پوشه home شما می باشد – hidden است)
۲- خط زیر را به آن اضافه کنید :
export PATH="/home/username/anaconda3/bin:$PATH"
توجه کنید که مسیر رو با توجه به محل نصب anaconda تغییر دهید (اگر داخل محل پیشفرض نصب کردید، فقط باید usernameا تغییر دهید)
۳- ترمینال را ببندید و باز کنید و یا از دستور زیر استفاده کنید:
source ~/.zshrc
دیدگاهتان را بنویسید
با سلام و درود، امروز میخوام در مورد ارور:
No toolchains found in the NDK toolchains folder for ABI with prefix mips64el-linux-android
یا ارور زیر صحبت کنم:
No toolchains found in the NDK toolchains folder for ABI with prefix mipsel-linux-android
برای رفع این ارور کافیه تا گردل gradle خود رو به ورژن ۳.۱ یا بالاتر بروزرسانی کنید.
برای این منظور کافیه فایل Build.gradle را باز کنید و خط مشابه زیر را نسخه اش را بالاتر از ۳.۱ کنید :
classpath 'com.android.tools.build:gradle:3.2.1'
الان خط بالایی نسخه ۳.۲.۱ هست که منجر به رف ارور میشه. فقط توجه داشته باشید که اگر از Ndk استفاده می کنید باید ورژن اون رو نیز بالاتر از ۱.۲.۵۱ انتخاب کنید (ورژن کوتلین – kotlin نیز از طریق همان فایل build.gradlerقابل تغییر می باشد)
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهپس از بروزرسانی به اندروید ۳ و گردل ۳ اگه یه سر به فایل build.gradle بزنید می بیندی که تمام compile ها شدند implementation که این یکی از تغییراتی است که گوگل با انتشار گردل ۳ اون رو در اینجا ارائه کرده. و از این به بعد به جای compile باید از implementationاستفاده بشه.
در ذیل نیز قسمتی از اسناد گردل در این مورد رو می بینید:
dependencies {
api 'commons-httpclient:commons-httpclient:3.1'
implementation 'org.apache.commons:commons-lang3:3.5'
}
Dependencies appearing in the api
configurations will be transitively exposed to consumers of the library, and as such will appear on the compile classpath of consumers.
Dependencies found in the implementation
configuration will, on the other hand, not be exposed to consumers, and therefore not leak into the consumers’ compile classpath. This comes with several benefits:
- dependencies do not leak into the compile classpath of consumers anymore, so you will never accidentally depend on a transitive dependency
- faster compilation thanks to reduced classpath size
- less recompilations when implementation dependencies change: consumers would not need to be recompiled
- cleaner publishing: when used in conjunction with the new maven-publish plugin, Java libraries produce POM files that distinguish exactly between what is required to compile against the library and what is required to use the library at runtime (in other words, don’t mix what is needed to compile the library itself and what is needed to compile against the library).
The compile configuration still exists but should not be used as it will not offer the guarantees that the api and implementation configurations provide.
و اما تغییرات به شکل زیر می شوند:
compile تبدیل به implementation
testCompile تبدیل به testImplementation
debugCompile تبدیل به debugImplementation
androidTestCompile تبدیل به androidTestImplementation
compileOnly اما هنوز پا برجاست :)
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهبا سلام و درود، امروز میخوام یه اکستنشن خوب برای Gnomeمعرفی کنم و اونم تقویم پارسی یا جلالی برای لینوکس 🙂
صفحه گیت هاب : امید راد
روش نصب سادش با نصب اکستنشن از Gnome Extension با این آدرس هست.
امیدوارم استفاده کنید ازش.
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهبا نام خدا و سلام. میخوام یه روش ساده توسط Terminal برای دانلود کلیپ های یوتیوب (Youtube) معرفی کنم خدمتتون.
قدم اول با استفاده از دستور زیر youtube-dl را دانلود کنید:
sudo apt-get install youtube-dl
حال داخل ترمینال ابتدا دستور youtube-dl بزنید و سپس یه فاصله (space) و سپس لینک مورد نظرتون رو بنویسید و تمام
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهخب هنگام run کردن سرور Django یکی از ارور های رایج ModuleNotFoundError می باشد. که داره میگه ماژولی را در کد استفاده کردیم که نصب نیست و راه حل نصب ماژول مورد نظر هست. در ادامه یه چند تا از ماژول های رایج و کد نصبشون جهت حل مشکل مورد نظر را آوردم:
مشکل : ModuleNotFoundError: No module named ‘httplib2’
دستور جهت رفع ارور :
pip3 install httplib2 --upgrade
مشکل : ModuleNotFoundError: No module named ‘oauth2client’
دستور جهت رفع ارور :
pip3 install --upgrade oauth2client
مشکل : ModuleNotFoundError: No module named ‘apiclient’
دستور جهت رفع ارور:
pip3 install --upgrade google-api-python-client
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهحل ارور ModuleNotFoundError: No module named ‘requests’ در پایتون.
خب ارور فوق مشخصه که داره میگه ماژولی با نام requests رو نصب نداریم. برای نصب کافیه دستور زیر را بزنیم:
sudo pip3 install requests
اگر در هنگام نصب با مشکلی مشابه زیر مواجه شدیم:
من از این دستور استفاده کردم و مشکل حل شد :
easy_install requests
یک راهکار دیگه نیز میتونه باشه و اینکه شما سرور را با python اجرا کردید در صورتی که با pyhton3 اگر اجرا کنید مشکل حل خواهد شد (برای مثال):
python3 manage.py runserver 8002
سلام من توی vscode یه تابع مینویسم و این پیغام رو میده
python.python-2023.10.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher’ ‘56229’ ‘–‘ ‘-m’ ‘enter-your-module-name’
C:\Users\Ya Ali\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\python.exe: No module named enter-your-module-name
PS D:\my tools\python>
-
سلام، یه مقدار بیشتر توضیح بدید.
دقیق قصد انجام چه کاری رو داشتید که به این ارور خوردید؟
سلام
من از هر ماژولی که دانلود میکنم با خطای ModuleNotFoundError مواجه میشم بعد که از دستور pip list استفاده میکنم میبینم که اسم ماژول هست و کامل نصب شده
ولی نمیدونم چرا فراخاونی نمی کنه میشه یک راهنمایی کنید؟ اخرین نسخه pip هم نصب کردم یعنی 23.1.2
راه حلی دارید؟
-
یه مقدار باید اطلاعات بیشتر بدید،
با لینوکس کار می کنید؟
امکانش رو دارید یه عکس از ترمینال و دستوراتی که می زنید ارسال کنید.
سلام من برای اجرای یک بات تلگرام با پایتون وقتی دستور اجرا رو میفرستم با همچین خطایی مواجه میشم من از پایتون3.8 استفاده میکنم
Traceback (most recent call
last):
File “bot.py”, line 2, in
from config import Config
File “/root/MDOMultiBot/config.py”, line 4, in
class Config:
File “//root/MDOMultiBot/config.y”, line 5, in Config
API_ID = int(os.environ.get(“7248171”))
TypeError: int() argument must be a string, a bytes-like object or a number, not ‘NoneType’
تمام ورودی های فایل کانفیگ رو هم درست نوشتم اما همش همین خطا رو میده
-
سلام و درود، با توجه به اروری که شما فرستید، مشکل جای دیگه است. تا کد رو ندید نمیشه گفت مشکل چیه، ولی باتوجه به ارور گفته شده، شما یه آرگومان از نوع intدارید که باید string شی ای از نوع byte یا یک عدد باشه ولی شما احتمالا یه شی خالی بهش دادید که NoneType رو عنوان کرده
سلام
ممنونم … تو محیط ویندوز هستم بله
بله اگه امکان داره آموزش نصب pip رو محبت می کنید ؟
تشکر فراوان از لطفتون
سلام
من پایتونم 3.8.3 هست … وقتی ران می کنم همچین اروری میده
Traceback (most recent call last):
File “C:/Users/IMAN/AppData/Local/Programs/Python/Python38/222.py”, line 3, in
import requests
ModuleNotFoundError: No module named ‘requests’
البته در همین پست هم ظاهرا شما همین مشکل رو برای رفعش آموزش دادین … ولی نمیدونم اینهایی که گفتین رو دقیقا باید کجا وارد کنم ؟
ممنون میشم راهنمائیم کنین
-
سلام، اگر داخل محیط لینوکس کار می کنید، کافیست محیط ترمینال را باز کنید و با دسترسی sudo دستوری که بالا ذکر شده را اجرا کنید.
sudo pip3 install requestsنکته:
با توجه به اروری که نوشتید : C:/Users/IMAN/AppData/Local/Programs/Python/Python38/222.py تو محیط ویندوز در حال اجرای پایتون هستید، داخل ویندوز کافیست CMD (command prompt) را باز کنید و دستور را اجرا کنید .
اگر هم pip را نصب ندارید، نصبش داخل ویندوز آموزش دیگه ای داره، اگر نیاز به آموزش نصبش داشتید بگید تا نصبش را کامل توضیح بدم.
سلام/ خیلی ممنون که وقت گذاشتید. بله مشکل error حل شد ولی الان ماژول های function و نمیشناسه و هیچ کدوم و نمیتونه ایمپورت کنه (راه حلی هست؟)
ImportError Traceback (most recent call last)
in
8 # create_envelope calculates the surface of the first n particles from x,y, given r
9 # create_envelope_selected calculates the surface only for the particles with indices given in nlist
—> 10 from functions import circles,deposit_particles,create_envelope,create_envelope_selected
11
12 # interactions
ImportError: cannot import name ‘circles’ from ‘functions’ (C:\Users\Win 8.1\Anaconda3\lib\site-packages\functions.py)
سلام، از پایتون ۳ استفاده می کنید؟ اگر آره، اجازه استفاده از پرانتز در آنپک کردن آرگومان ها در لامبدا برای پایتون ۳ وجود نداره. احتمال قوی ماژول مورد استفاده شما از پایتون ۳ پشتیبانی نمیکنه.
در کل در پایتون ۳ بهنگام استفاده از لامبدا، باید بجای استفاده با پرانتز:
lambda (k, v): (-v, k)
به صورت زیر از لامبدا استفاده کنید:
lambda kv: (-kv[1], kv[0])
میتونید، خط ۶۸ از function.pyرا به همین صورت اصلاح کنید و ببینید مشکل حل میشه یا خیر
سلام/من در ایمپرت یه مودول دچار مشکل شدم البته نصب کردم ولی invalid syntax میده
from functions import circles,deposit_particles,create_envelope,create_envelope_selected
این ارور و میده
from functions import circles,deposit_particles,create_envelope,create_envelope_selected
File “C:\Users\Win 8.1\Anaconda3\lib\site-packages\functions.py”, line 68
nodes = tuple(map(lambda (k, v): process_node(inner, k, v),
^
SyntaxError: invalid syntax
مشکل کجاست؟؟؟؟؟
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهبا سلام برای بستن پورت مشخص در لینوکس کافی است از دستور زیر استفاده نمایید (برای مثال اگر قصد بستن پورت 8002 را داشته باشیم):
sudo kill $(sudo lsof -t -i:8002)
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهبا نام خدا و سلام، من خودم ترجیح میدم postman رو به عنوان یه اپ native روی سیستمم داشته باشم و نه به صورت یه app روی google chrome. برای اینکار ابتدا ostman را برای لینوکس دانلود کنید. برا دانلود از اینجا اقدام کنید.
البته به جای دانلود می توانید دستورات زیر را نیز بزنید که جوابگو نیاز شما هست.
wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz sudo tar -xzf postman.tar.gz -C /opt rm postman.tar.gz sudo ln -s /opt/Postman/Postman /usr/bin/postman
دستورات بالا آخرین نسخه برای لنوکس ۶۴ بیت را دانلود می کنه سپس فایل را استخراج می کنه ، فایل دانلود شده را حذف و یه لینک برای دسترسی به فایل استخراج شده می سازد.
حال برای اینکه فایل postmanبه unity desktopنیز اضافه بشه، کافیه دستورات زیر را درون terminal ک\ی کنید و سپس اینتر بزنید:
cat > ~/.local/share/applications/postman.desktop <<EOL [Desktop Entry] Encoding=UTF-8 Name=Postman Exec=postman Icon=/opt/Postman/resources/app/assets/icon.png Terminal=false Type=Application Categories=Development; EOL
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهبا نام خدا و سلام، برای نصب فایل ها با فرمت .bin در محیط لینوکس (اوبونتو) کافیه درون دایرکتوری که فایل با فرمت .binوجود داره دستور زیر را اجرا کنید:
chmod a+x name_of_file.bin
دقت کنید name_of_file.bin همون فایل مورد نظرتون هست که قصد نصب کردنش رو دارید.
سپس دستور زیر را اجرا کنید:
./name_of_file.bin
به همین سادگی
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهبا سلام، خب ارور واضحه که داره میگه شما گیت را نصب ندارید و برای حل این ارور کافیه گیت را نصب کنید، برای نصب در لینوکس اوبونتو کافیه دستور زیر را استفاده کنید:
sudo apt-get install git
اگر روی ویندوز نیز این ارور را داشتید مطمین بشید که گیت به درستی نصب شده و داخل path نیز تنظیم شده باشد
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهبا سلام، اگر هنگام کلیک کردن بر روی دکمه run از اندروید استادیو با پیام “Please select Android SDK” برخوردید و صفحه زیر براتون نمایش داده شد:
برای حل این مشکل کافیه به این مسیر بروید: Tools -> Android -> Sync Project with Gradle Files (این مسیر برای اندروید استادیو ۳.۰.۱ می باشد)
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهبا سلام، ممکن نخواید آهنگ های یک فولدر مشخصی درون playerموبایل اندروییدیتان سینک بشه (برای مثال فایل های ضبط شده مکالمات تان)، برای حل این مشکل کافیه داخل فولدر مورد نظرتان یک فایل با نام (.nomedia) (اولش باید نقطه (.) باشد و سپس nomedia ، در حقیقت یک پسوند به حساب میاد) بسازید.
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهاگر هنگام باز کردن درایو با فرمت NTFS ، مانند هارد درایوهای اکسترنال به اروری مشابه ارور زیر بر خورد کردید:
Failed to mount ‘/dev/sdc2’: Input/output error NTFS is either inconsistent,
or there is a hardware fault, or it’s a SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows then reboot into Windows twice.
The usage of the /f parameter is very important! If the device is a SoftRAID/FakeRAID then first activate it and mount a different device under the /dev/mapper/ directory, (e.g. /dev/mapper/nvidia_eahaabcc1). Please see the ‘dmraid’ documentation for more details.
برای حل ارور زیر کافیه ntfs-3g را نصب کنید، برای اینکار دستور زیر را داخل ترمینال بزنید:
sudo apt-get install ntfs-3g
حال باید دستور زیر را بزنید:
ntfsfix [options] device که به جای device باید نام درایو مشکل دار را بزنید و Option را نیز خالی بگذارید، برای مثال با توجه به ارور فوق دستور به صورت زیر می شود:
sudo ntfsfix /dev/sdc2
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهبا سلام، برای تغییر برنامه های پیش فرض (برای مثال تغییر video player به vlc) کافیست وارد system setting بشید، سپس وارد details شوید و از آنجا نیز Default Applications را انتخاب کنید.
لیستی از برنامه های پیش فرض رو ملاحظه خواهید کرد که می توانید برای هر کاری برنامه مورد نظر خودتون رو انتخاب کنید.
مرسی کارمو راه انداخت
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهبا سلام، داخل fragment اگر بخواهید به context دسترسی داشته باشید اگر از getApplicationContext() استفاده کنید به ارور زیر بر می خورید:
The method getApplicationContext() is undefined
برای حل مشکل کافیه به activity که شامل fragment میشه دسترسی پیدا کنید و برای این کار کافیه از getActivity() استفاده کنید و د رنتیجه داریم:
getActivity().getApplicationContext()
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهبا سلام، خب یکی از ارور هایی که هنگام استفاده از findViewById در fragment بهش بر می خوریم ارور زیر هست:
cannot resolve method findviewbyid
برای حل مشکل کافیه که قبل از findviewbyid از getView() استفاده کرد (داخل onViewCreated
). برای نمونه کد زیر را ببینید:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
//return inflater.inflate(R.layout.fragment_t12, container, false);
recyclerView = (RecyclerView) getView().findViewById(R.id.recycler_view);
return view;
}
با این کار view ریشه از fragment برگشت داده می شود (return) .
دیدگاهتان را بنویسید
زمان مطالعه: < 1 دقیقهتفاوت احرازهویت با مجوز در چیست؟
- Authentication – احراز هویت: به فرآیندی که در آن به تایید این که شما چه کسی هستید می پردازد، گفته می شود. زمانی که داخل PC خودتون با استفاده از نام کاربری و رمز عبور وارد می شوید (Log in)، شما Authentication شده اید.
- Authorization – مجوز : به فرآیندی که در آن به تایید اینکه شما به چه چیز هایی دسترسی دارید می پردازد، مجوز گفته می شود. دسترسی به یک منبع (به عنوان مثال دسترسی به یک دایرکتوری روی دیسک سخت) با توجه به اینکه مجوز هایش به طوری پیکربندی شده است که به شما مجوز دسترسی را داده است.
عالی متشکرم