۱۸ آذر، ۱۴۰۰

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

سلام دوستان. توی پروژه‌ای که با nodejs ,nuxt و express نوشته شده، نیاز دارم که ویدیوهایی که میفرستم سمت کلاینت رو به نحوی رمزنگاری، استریم یا ... کنم تا به نحوی از اینکه کاربر عادی بتونه اون‌هارو دانلود کنه جلوگیری کنم. توی ریسرچ هام به استریم کردن و یا تغییر فرمت به ts و همچین چیزاهایی رسیدم اما نمونه کد یا اطلاعات بیشتری ازشون به دست نیاوردم. اگه تجربه‌ای درباره‌ی اینکه چطوری میشه سمت بک، انکریپت و سمت فرانت دیکریپت کرد یا راهکاری میشناسید که بشه جلوی دانلود کردنشون رو گرفت ممنون میشم به تشتراگ بذارید.

۱ اردیبهشت، ۱۴۰۰

٢ سال پیش ٢۰۰+ امتیاز
@danial_kh یک گفتگو به اسم تغییر تنظیمات وب پک و ترجمه es6 به es5 درست کرد.

سلام دوستان. یه appی دارم که با nuxtjs و vuetify نوشتمش و هر پکیجی هم که نصب شده از جلمه همین vuetify از es6 دارن استفاده میکنن و خب مرورگرهای IE 10 و ‍ IE 9 رو دیگه ساپورت نمیکنه. اما داریم شرکت هایی که هنوز دارن از این مرورگرها استفاده میکنن و نمیتونم مجبورشون کنم که نسخه مرورگرشون رو ببرن بالا به IE 11 و میگن appت کار نمیکنه. میخواستم ببینم راه حلی وجود داره که کانفیگ هارو تغییر بدم تا es6 رو موقع build به es5 ترجمه کنه؟!

۴ بهمن، ۱۳۹۹

٢ سال پیش ٢۰۰+ امتیاز
@danial_kh یک گفتگو به اسم استاندارد داکیومنت نویسی برای یک اپ درست کرد.

سلام دوستان.

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

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

ممنون میشم اگه تجربه ای دارید به اشتراک بذارید.

۲۲ دی، ۱۳۹۹

٢ سال پیش ٢۰۰+ امتیاز
@danial_kh یک گفتگو به اسم نمایش فایل ها با فرمت ‍docs, xls, csv, pdf, pptx و ... توی صفحه html درست کرد.

چطوری میتونیم فایل هایی با فرمت ‍docs, xls, csv, pdf, pptx و ... توی صفحه html نمایش داد؟

الان از تگ iframe استفاده کردم و فقط pdf رو تونست نمایش بده و بقیه فایل ها رو پشتیبانی نکرد.

روش بعدی که پیش رفتم این بود که از api google استفاده کردم. این روش مشکل پشتیبانی از فرمت های مختلف رو واسم برطرف کرد اما مشکل دیگه ای به وجود اورد که اولین دفعه لود نمیشه و داخل body تگ iframe چیزی نیست و حتمن باید reload بشه تا ساخته بشه.

<iframe :src="'https://docs.google.com/viewer?embedded=true&url=' +  resume.url />

۱۸ اسفند، ۱۳۹۸

٣ سال پیش ١۰۰+ امتیاز
@danial_kh به گفتگوی تغییر زبان صفحات در Vue جواب داد.

i18n.set('fa')$ اینو امتحان کن اگه جواب داد، v-model درست کار نمیکنه یا اون return-object اشتباهه

۱۱ دی، ۱۳۹۸

٣ سال پیش ١۰۰+ امتیاز
@danial_kh به گفتگوی انتخاب برنامه نویسی برای بازی تحت وب جواب داد.

shahryarjb@ من مدتیه دارم با vuejs و nodejs کار میکنم و یکی از دوستام چند سالیه با جاوا کار کرده. اون بدون استفاده از هیچ موتوری و فقط با کدنویسی محض توی اندروید استدیو داره گیم میسازه و بازی هاشو توی مارکت ها منتشر میکنه و چون کارش هم عالیه روزی نیست از طرف شرکت های بازی سازی یا تبلیغات باهاش تماس گرفته نشه. خب؛ منم به این صنعت علاقه ی زیادی دارم، هم درآمدش و هم الگوریتم و فرایندی که پشت پیاده سازی گیم وجود داره. نمیخوامم که برم جاوا یا زبان دیگه ای یاد بگیرم. میتونی اگه اطلاعاتی یا منابعی بابت گیم های تحت وب با جاوا اسکریپت (پیاده سازی و درآمدزایی) داری بهم بدی؟؟؟؟

۵ اسفند، ۱۳۹۷

۴ سال پیش ١۰۰+ امتیاز
@danial_kh به گفتگوی پادکست جواب داد.

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

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

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

۲۵ بهمن، ۱۳۹۷

۴ سال پیش ١۰۰+ امتیاز
@danial_kh به گفتگوی ‎ارسال لینک صفحه به ایمیل کاربر و ریدایرکت کاربر پس از لاگین به آن صفحه با کلیک روی لینک جواب داد.

amir@ شما هم از سشن برای این کار استفاده کردین؟ و پس از لاگین، سشن رو چک میکنید اگر وجود داشت router رو تغییر میدید؟

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

۴ سال پیش ٢۰۰+ امتیاز
@danial_kh یک گفتگو به اسم ‎ارسال لینک صفحه به ایمیل کاربر و ریدایرکت کاربر پس از لاگین به آن صفحه با کلیک روی لینک درست کرد.

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

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

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

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

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

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

۲۰ بهمن، ۱۳۹۷

۴ سال پیش ١۰۰+ امتیاز
@danial_kh به گفتگوی نحوه ی شروع یادگیری برنامه نویسی (معرفی جاوا) جواب داد.

اقا shahryarjb@ شما برای آموزش swift برنامه‌ای ندارین؟!

۴ دی، ۱۳۹۷

۴ سال پیش ١۰۰+ امتیاز
@danial_kh به گفتگوی آموزش vue-ssr جواب داد.

ممنون amir@ از جوابت.

۲ دی، ۱۳۹۷

۴ سال پیش ٢۰۰+ امتیاز
@danial_kh یک گفتگو به اسم آموزش vue-ssr درست کرد.

اقای amir@ هیچ برنامه ای برای آموزش 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 داره بهم بده؟

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

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

۷ امرداد، ۱۳۹۷

۵ سال پیش ١۰۰+ امتیاز
@danial_kh به گفتگوی خطای تغییر داده ها خارج از mutation در Vuex هنگام edit جواب داد.

با زیر و رو کردن وب و نشون دادن خلاقیت از خودم! به یه راه حلی رسیدم که برای اینکه بحث بسته بشه مینویسمش. همواره برای اینکه داده ای را داخل 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 کردن آرایه به آرایه جدید و کار کردن با آن است.

۳۰ تیر، ۱۳۹۷

۵ سال پیش ١۰۰+ امتیاز
@danial_kh به گفتگوی خطای تغییر داده ها خارج از mutation در Vuex هنگام edit جواب داد.

@tilkacoder وقتی اون بخش از کدها رو بارگذاری کردم، لینکشو میذارم

۲۹ تیر، ۱۳۹۷

۵ سال پیش ٢۰۰+ امتیاز
@danial_kh یک گفتگو به اسم خطای تغییر داده ها خارج از mutation در Vuex هنگام edit درست کرد.

سلام دوستان

یک 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 جواب داد.

@psobhanlo بله ما هر کدوممون یه fork گرفتیم

۲۰ خرداد، ۱۳۹۷

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

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

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

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

۵ سال پیش ٢۰۰+ امتیاز
@danial_kh یک گفتگو به اسم کار تیمی در GitLab درست کرد.

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

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