وبلاگ محمد قاهری

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

وبلاگ محمد قاهری

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

  • ۰
  • ۰

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

محاسبه و استعلام تن کیلومتر

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

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

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

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

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

برای مثال در مسیری مثل کرج، چالوس که ادعا شده برای تردد کامیون و تریلی ممنوع است و مسیر تردد شهرهای مختلف است، دوستان با سیستم استعلام های متعدد انجام داده اند که فقط اشکالات محاسبات را به رخ عموم بکشند، ولی برای اصلاح این محاسبات هیچ پیشنهادی ثبت نکرده اند!

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

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

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

با سپاس، محمد قاهری نجف آّبادی، باروان

  • محمد قاهری
  • ۰
  • ۰

تن بر کیلومتر
سلام به همه خانواده حمل و نقل

تن بر کیلومتر یا فرمول های هوشمند محاسبه کرایه حمل بار در کشور تصویب و منتشر شد

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

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

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


دوستان گرامی لطفا نظرات خودتون درباره این ابزار رو اینجا برای من بنویسید

  • محمد قاهری
  • ۰
  • ۰
سلام به دوستان عزیز
در هفته های اخیر درگیر وصل کردن سرورهای شرکت به سرویس های WCF ارائه شده توسط یکی از سازمان های دولتی کشور بودم. آزمون و خطاهای خیلی زیادی انجام دادم. با استفاده از کتابخانه های soap و strong-soap و wcf تلاشهای زیادی کردم تا این ارتباط رو برقرار کنم. اما نهایتا موفق نشدم. نهایتا پروژه رو با کدهای c# اجرا کردیم و کاملا جواب گرفتیم. بعد برای اینکه نخواهیم سرور ویندوزی راه اندازی کنیم رفتیم سراغ mono تا با استفاده از اون، کد های ویندوزی رو روی لینوکس اجرا کنیم. جالب این بود که mono مدتی بود که تصمیم گرفته بود به علت مشکلات زیادش دیگه wcf رو پشتیبانی نکنه. بعد رفتیم سراغ dotnetcore جالبه که اونهم با اینکه تولید مایکروسافته wcf رو پشتیبانی نمی کنه
نهایتا وب سرویس رو با یک اپ کاملا ویندوزی راه اندازی کردیم!!!!!!!!!!!!!
گفتم بنویسم که حداقل شما خطاهای ما رو تکرار نکنید
  • محمد قاهری
  • ۰
  • ۰

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

می گن آب در کوزه و ما گرد جهان می گردیم!

راه حل استفاده از نرم افزار Google Translate است!

گوگل ترنسلیت برای کار کردن نیاز به اینترنت داره. اولین پیشنهاد من در هر سفر خارجی اینه که بلافاصله یک سیم کارت محلی و یک بسته اینترنت برای روزهای اقامتتون تهیه کنید. این کار بسیار راهگشاست.
بریم سر اصل مطلب. من سیم کارت خریدم و از قبل نرم افزار مترجم گوگل یا Google Translate رو هم روی گوشیم نصب داشتم و ازش استفاده می کردم.
نرم افزار مترجم گوگل Google Translate
یک روز که موقع خوندن یه تابلو حسابی گیج شده بودم و کاراکترهای ترکی رو هم توی کیبورد گوشیم نداشتم با خودم گفتم یعنی مترجم گوگل با این همه هوشش نمی تونه از روی عکس متن رو ترجمه کنه؟! همون موقع رفتم توی پلی استور و دیدم که برای نرم افزار آپدیت وجود داره. آپدیت رو سریع نصب کردم و دیدم که بله!!! مشکل حل شد!
چند امکان جالب به مترجم اضافه شده که براتون توضیح میدم
  1. ترجمه از روی تصویر
  2. ترجمه صوتی و ترجمه به صورت مکالمه
  3. ترجمه متون کلیپ بورد
امیدوارم از امکانات مترجم گوگل حسابی لذت ببرید
اگه فرصت کردم در این باره بیشتر براتون می نویسم
  • محمد قاهری
  • ۰
  • ۰

سلام به دوستان گرامی

اگر به دنبال یک روش ساده و سریع برای تنظیم زمان سرور Centos خودتون هستید، آموزشی که براتون می ذارم کمکتون می کنه که توی دو دقیقه هم timezone سرورتون رو تنظیم کنید و هم سرور رو به یک NTP سرور یا سرور تنظیم خودکار زمان متصل کنید.

How To Configure Server Timezone In CentOS 7

  • محمد قاهری
  • ۰
  • ۰

تبدیل آدرس به Coordinates

عمل تبدیل متن آدرس به مختصات جغرافیایی Geocoding نام دارد. چند وب سرویس در حال حاضر برای این موضوع موجود هستند که معروفترین آنها Google Map API هست. به دلیل اینکه کاربران فارسی زبان نیاز به وب سرویسی دارند که با آدرس های فارسی کار کند من Nominatim رو پیشنهاد می کنم

تبدیل Coordinates به آدرس

این عمل عکس عمل Geocoding است و Reverse Geocoding نام دارد

  • محمد قاهری
  • ۰
  • ۰

دوستان گرامی بی تردید همه شما سرویس قدرتمند گوگل مپ رو می شناسید

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

1- Yandex Maps

آدرس: https://yandex.com/maps/


2- OpenStreetMaps

آدرس: www.openstreetmap.org


3- Wikimapia

آدرس: wikimapia.org


4- Waze Live Map

آدرس: https://www.waze.com/livemap

  • محمد قاهری
  • ۱
  • ۰

درباره Regex ها

Regex ها یا Regular Expression ها عباراتی هستند که برای مقایسه رشته های کاراکتری به کار می روند. این عبارات که از به کاربردن علائم و حروف و اعداد ساخته می شوند برای ارزشیابی یا Validate کردن فرم های ورودی نیز به کار می روند
سایت https://regexr.com به شما کمک می کند این عبارات را به درستی بسازید و آزمایش کنید
  • محمد قاهری
  • ۰
  • ۰

ممکنه شما هم موقع نوشتن بات های تلگرامی با مدیریت منو ها یا همون کیبورد ها با مشکل مواجه شده باشید

منظورم از کیبورد همون نوع قدیمی کیبورد تلگرامه نه inline_keyboard ها

توضیح درباره کیبورد ها اینکه پس از ارسال اونها به سمت کاربر چند انتخاب وجود داره

1- کیبورد پس از کلیک روی کلیدش همچنان پدیدار باقی بمونه

2- کیبود پس از کلیک روی کلیدش ناپدید بشه (ولی همچنان با کلیک روی آیکن مخصوصش فعال بشه)

3- !! بعد از کلیک روی کلیدش مستقیما کیبورد نابود بشه (این امکان وجود نداره)

معمولا برنامه نویسها فورا راهکار روش اول و دوم رو یاد می گیرند:

برای روش اول کافیه هیچ پارامتری همراه کیبورد ارسال نکنید

و برای روش دوم باید مثل نمونه زیر مقدار one_time_keyboard رو برابر true قرار بدین. البته برای حالت قبل می تونید این مقدار رو برابر false قرار بدین.

$.sendMessage("لطفا با فشردن کلید زیر شماره خود را ارسال کنید",
                                {
                                    reply_markup:JSON.stringify({
                                        keyboard: [
                                          [{ text: 'ارسال شماره همراه من', request_contact: true }]
                                        ],
                                        resize_keyboard:true,
                                        one_time_keyboard:true
                                    })
                                });

اما بریم سر اصل مطلب یعنی

نابود کردن کیبوردها در بات تلگرام

برای این منظور لازمه که یک درخواست ارسال پیام (sendMessage) جدید ارسال کنید و امکان این درخواست در پیام حاوی کیبورد وجود نداره

و لازمه که در پیام جدید در پارامتر reply_markup مقدار remove_keyboard رو برابر true قرار بدید

دقت کنید که این message حتما باید متن داشته باشه حتی یک نقطه!

مثال این درخواست رو با NodeJS یا همون جاوا اسکریپت و با استفاده از ماژول Naltox در ادامه می بینید

$.sendMessage("متن پیام",
                            {
                                reply_markup:JSON.stringify({
                                    remove_keyboard : true
                                })
                            });
  • محمد قاهری
  • ۰
  • ۰

اگه شما هم کلی تلاش کردید و با تغییر دادن Owner دایرکتوری ها موفق به کار با فایل ها در Centos7 نشدید بدونین که مشکل از SELinux هست.

SELinux دسترسی رو به کلیه دایرکتوری ها و فایل های دارای دسترسی 777 و 755 محدود می کنه

دستورات زیر مشکل من رو حل کرد

chcon -R -t httpd_sys_content_t /path/to/www
chcon -R -t httpd_sys_content_rw_t /path/to/www/dir/for/rw

chcon -R --type httpd_sys_rw_content_t /path/to/your/directory
  • محمد قاهری