کاربر تایید شده
آخرین فعالیت ٢ هفته پیش

@danial_kh

پارس کلیکی از ١ سال پیش

تجربه

3800

  • ۷ ماه پیش @danial_kh یک گفتگو به اسم ارسال notification از nodejs درست کرد.

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

  • ۷ ماه پیش @danial_kh به گفتگوی پادکست جواب داد.

    [email protected] آیا بهتر نیست برای پادکست هاتون هم یه بخش نظرات بذارید تا کاربران هم در مورد مطلبی که صحبت کردی نظرشون رو بیان کنن؟!

    مثلن همین چیزی که در مورد پادکست "چرا بعضی ها ساکت هستند؟" میخوام بگم و اون اینه که:

    منم دارم با vue و nuxt اپلیکشن مینویسم اما هنوز توی بخش های authentication ، session و ssr توی nuxt مشکل دارم و از اینکه شنیدم میخوای فیلم آموزشی برای nuxt بسازی واقعن خوشحال شدم چون طبق ویدیوهای قبلی ای که ازت دیدیم، میدونیم مفاهیم رو کاملا اصولی و پایه ای یاد میدی.

  • [email protected] شما هم از سشن برای این کار استفاده کردین؟ و پس از لاگین، سشن رو چک میکنید اگر وجود داشت router رو تغییر میدید؟

    منapp رو با nuxt و vue نوشتم.

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

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

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

    مشکلم اینجاست:

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

    و اینکه آیا میشه اعتبار سنجی آدرس قبلی رو انجام بدم تا اول اینکه آدرس درست باشه و بدون پارامترهای اضافه ای که کاربر ممکنه توی لینک اضافه کرده باشه دوم اینکه ممکنه کاربر آدرس یک صفحه که فقط مدیر حق دسترسی به اونو داره وارد کرده و وقتی با کاربر نوع فروشنده و خریدار لاگین میکنه به اون صفحه ریدارکت نشه؟

  • ۹ ماه پیش @danial_kh یک گفتگو به اسم آموزش vue-ssr درست کرد.

    اقای [email protected] هیچ برنامه ای برای آموزش vue-ssr ندارین؟

    حتی توی سایت های انگلیسی زبان هم نمیشه آموزش به درد بخوری برای vue-ssr پیدا کرد. دموی سایتی که خود Evan You با vue-ssr ساخته و گذاشته هم کار نمیکنه. اغلب همه nuxt را برای ssr پیشنهاد میکنند و چیزی برای vue-ssr نمیگن. مدیریت کوکی و شسن برای express نوشته شده و برای استفاده اون در vue-ssr هیچ راهی پیدا نکردم و موقعی که قراره از لاگین داخل سایت استفاده کنی نمیدونی چطور از کوکی و سشن بهره ببری.

    ای کاش شما برنامه ای برای آموزش vue-ssr داشتین.

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

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

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

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

    چطور میتونم مدیریت کنم که سطری از جدول به جای اینکه شکسته بشه و قسمتی از اون داخل یه صفحه و بقیش داخل صفحه بعد قرار میگیره از css و page-break-before استفاده کنم تا کل اون سطر به صفحه بعدی منتقل بشه و شکسته شدنی در کار نباشه!

  • ١ سال پیش @danial_kh به گفتگوی آموزش ویو جواب داد.

    اگه زبان انگلیسی تون خوبه، توی یوتیوب بگردین، آموزش های متعددی پیدا میکنین که برای سایت های مختلف، از پایگاه داده های مختلف و از فریم ورک های مختلف استفاده کرده برای آموزش vue که پایین همین پیغام، لینک دوتاشو براتون میذارم

    اما اگه زبانتون خوب نیست، توصیه میکنم همین فیلم آموزش vue اقای عظیمی رو چند بار نگاه کنید تا پایه ی vue رو کاملا یاد بگیرید تا وقتی میرید سراغ فیلم های انگلیسی بدونید چیزایی که دارن استفاده میکنن چی هست و فقط استفاده ها از اونا رو یاد بگیرید.

  • ١ سال پیش @danial_kh به گفتگوی پادکست جواب داد.

    @amir

    آقا امیر، پادکست " توسعه وب در سال جدید " واقعا برام مفید و کارآمد بود، شاید سمت و سوی برنامه‌ریزی چند ساله‌ام با این پادکست تغییر کرد.

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

  • ١ سال پیش @danial_kh به گفتگوی راه اندازی GitHub روی سرور محلی جواب داد.

    @woohee گیت هاب، یک سرویس میزبانی وب برای پروژه‌هایی است که از سیستم سورس کنترل گیت استفاده می‌کنند.

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

    خب وقتی کار شما تموم میشه، بقیه چطور باید به کدهای شما دسترسی پیدا کنن و اونا رو به پروژه اصلی اضافه کنن؟! یا شما چطور می خواین کدهایی که بقیه نوشتن رو ببینید و پروژه تکمیل بشه؟! ممکنه بگین خب میرم کپی میکنم توی پروژه اصلی، اما اگه فقط دو نفر روی یه فایل محتوا بریزن، مسلما محتوای قبلی از بین میره.

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

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

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

  • ١ سال پیش @danial_kh به گفتگوی راه اندازی GitHub روی سرور محلی جواب داد.

    @tilkacoder

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

    باید کار رو با ubuntu و gitlab شروع کنم.

  • ١ سال پیش @danial_kh به گفتگوی راه اندازی GitHub روی سرور محلی جواب داد.

    @amin ممنون دوست عزیز

  • ١ سال پیش @danial_kh یک گفتگو به اسم راه اندازی GitHub روی سرور محلی درست کرد.

    شاید بدونید که چند روزی هست که GitLab هم روی ابر گوگل رفته و ایران عزیزمون هم تحریم شده از طرف گوگل هست و حتی به GitLab هم دسترسی نداریم! پرداخت های GitHub هم برای پروژه های private از داخل ایران به راحتی صورت نمیپذیره، البته اگه اونم تا آینده نزدیک مثل GitLab نشه.

    با چند نفری که صحبت کردم میگفتن توی شرکتشون اونا GitLab رو روی ubuntu و حتی GitHub رو روی سرور محلی خودشون (windows) قرار دادن و دارن کدهاشون رو روی همین سرور محلی مدیریت میکنن.

    اما اطلاعاتی که بهم دادن، فقط در همین حد بود!

    خواستم بیبینم از شما دوستان، کسی اطلاعاتی در مورد قرار دادن GitHub روی سرور محلی (اگه ویندوز باشه که چه بهتر) یا حتی GitLab داره بهم بده؟

    خلاصه هم اکنون، به شدت نیازمند یاری شما هستم!

    تو این شرایط، به یاد جمله‌ای که امیر عزیز توی یکی از پادکست هاش گفت "همیشه وضع همین جور نمیمونه و شما‌هایی که داخل ایران هستید هم، اینترنت آزاد خواهید داشت" می افتم!

  • با زیر و رو کردن وب و نشون دادن خلاقیت از خودم! به یه راه حلی رسیدم که برای اینکه بحث بسته بشه مینویسمش. همواره برای اینکه داده ای را داخل store ذخیره کنیم، باید از action به mutation بریم و توابع ذخیره را بنویسیم. حالا اگه داخل store حالت سختگیرانه (یا strict = true) فعال باشه، هر وقت غیر از action و mutation داده ای داخل store تغییر کنه با error مواجه خواهیم شد. این معمولا زمانی به وجود می آید که ما مدل رو (v-model) دقیقا داده ای انتخاب کنیم که از store گرفتیم. با اینکار با تغییر مقدار داده به دلیل bind شدن، داده ی داخل store تغییر میکند و خطا ظاهر میشود. راه حل در اینجا استفاده کردن از eventها بجای v-model است. اگر آرایه ای داخل store داریم و بخواهیم اون رو تغییر بدیم، ممکنه با event ها هم مسئله حل نشود و نشه برای هر مقدار داخل آرایه یه event در نظر بگیرید. این جا حتی با assign کردن آرایه به آرایه جدید هم، پیوند بین داده ی local و store شکسته نمیشه و خطا ظاهر خواهد شد. راه حل در اینجا push کردن آرایه به آرایه جدید و کار کردن با آن است.

  • سلام دوستان

    یک input دارم با یک button

    <input v-model="product.name">
    
    <button @click="save">save</button>

    که تابع save داره متغیر داخل store را تغییر میده، به شکل زیر:

    methods: {
      save () {
        this.product.id = create_UUID () // create unique ID
        this.$store.dispatch('addToProducts', this.product)
      }
    }

    و تابع addToProducts هم توی store داخل action وجود داره که تابع دیگه را که توی mutation وجود داره فراخونی میکنه و اون هم مقدار را داخل آرایه مورد نظر ذخیره میکنه. تا این جا همه چی بدون مشکل داره کار میکنه. مشکل اونجایی شروع میشه که مقدار داخل همین آرایه رو از طریق getters از store میگیرم و می خوام edit کنم

    computed: {
      getProduct () {
        this.editProduct = this.$store.getters.products
      }
    }
    <input v-model="editProduct.name">
    
    <button @click="saveChange">save Change</button>

    مشکل درست همینجاست. به محض اینکه کاربر متن داخل input رو تغییر میده به دلیل bind بودن، ارور زیر به وجود میاد:

    "Error: [vuex] Do not mutate vuex store state outside mutation handlers."

    در حالیکه من دارم داخل تابع saveChange میگم مقدار آرایه داخل store را تغییر بده (توابع داخل action و mutation را بدلیل طولانی شدن سوالم، نمی نویسم)

    methods: {
      saveChange () {
        this.$store.dispatch('editProducts', this.editProduct)
      }
    }

    حتی گفتم یک شیء جدید بسازم و مساوی آرایه ای که از store گرفتم بذارم و edit رو روی اون انجام بدم اما باز هم همون ارور به وجود اومد.

    نکته: داخل store من strict: true رو هم قرار دادم تا این ارور رو بهم نمایش بده لطفا اگه کسی راه حلی داره کمکم کنه چون یکی دو روزی هست وقتم رو گرفته و هیچ نتیجه ای هم نگرفتم، مخصوصن مدیر سایت؛ امیر آقا که با vue کار میکنن.

  • ١ سال پیش @danial_kh به گفتگوی کار تیمی در GitLab جواب داد.

    سپاس از راهنماییتون

  • ١ سال پیش @danial_kh به گفتگوی کار تیمی در GitLab جواب داد.

    @tilkacoder من اینجوری متوجه شدم که هر بار پس از commit کردن ابتدا باید جدیدترین تغییرات روی سرور رو دریافت کنیم و سپس push رو انجام بدیم. حالا اگه درخواست merge بفرستم و تغییراتم پس از تایید شدن، روی پروژه اعمال بشه و من مشغول کار جدیدی روی بخشی از پروژه باشم دوباره قبل از push کردن باید اون تغییر جدید روی پروژه رو دریافت کنم که مثلا همون تغییری هست که من ایجاد کرده بودم و به پروژه اضافه شده بود.

  • ١ سال پیش @danial_kh یک گفتگو به اسم کار تیمی در GitLab درست کرد.

    من و دوستم در حال یادگیری git هستیم و قصد کار کردن به صورت گروهی روی یک پروژه توی سرویس gitlab رو داریم. هر کدوممون روی یک قسمت کار می کنیم و کار رو را تا قبل از مرحله push کردن ادامه میدیم (کارهایی که امیر اقا عظیمی توی آموزش git برای همکاری توضیح دادن) اما وقتی قصد داریم push را انجام بدیم با اروری مواجه میشیم که میگه قبل از push کردن باید pull کنید و وقتی این کار رو می کنیم تمام تغییراتی که توی فایل هامون به وجود آورده بودیم از بین میره. حالا سوالم اینه کجا رو داریم اشتباه میریم یا کدوم کار رو انجام نمیدیم که به این مشکل برمی‌خوریم.

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