mnr tech – Telegram
mnr tech
108 subscribers
24 photos
4 videos
7 files
53 links
توی این کانال لینک ویدیو های آموزشی کانالم در یوتیوب قرار میگیره.
آدرس سایت : https://mnrtech.ir
همچنین ممکنه نکته های آموزشی برنامه نویسی و شاید اخبار و همچنین معرفی پروژه های خودم هم قرار بگیره.
ارتباط با ما : @mnr73
Download Telegram
mnr tech
dark_background_abstract_background_network_3d_background_3840x2160.png
5 والپیپر قشنگ و با کیفیت برای دسکتاپ.

اگر دوست داشتین لایک کنین در آینده باز هم میگذارم 😉
7👍2
🙂 مشکل floating-point numbers در دیتابیس

😰 چرا اعداد اعشاری در کامپیوتر مشکل‌زا هستند؟
اعداد اعشاری در سیستم‌های دیجیتال به صورت float یا double ذخیره می‌شن که بر اساس استاندارد IEEE 754 عمل می‌کنن. این استاندارد باعث می‌شه که همه اعداد اعشاری به صورت دقیق ذخیره نشن و در نتیجه، خطای گرد کردن (Round-off Error) به وجود بیاد. برای مثال:

عددی مثل 0.1 یا 0.01 به صورت باینری نمایش دقیقی نداره و به عددی خیلی نزدیک به اون مقدار واقعی تبدیل می‌شه.
نتیجه این می‌شه که اگر شما چند محاسبه روی این اعداد انجام بدین، ممکنه انتظار نتیجه دقیق مثلاً 1.00 داشته باشید، اما کامپیوتر عددی مثل 0.999999999999 یا 1.000000000001 رو ذخیره کنه.

🥸 چرا در پایگاه داده‌ها هم این مشکل وجود داره؟
پایگاه داده‌ها هم وقتی داده‌های اعشاری رو ذخیره می‌کنن (مثل FLOAT یا REAL)، دچار همین مشکلات دقت می‌شن.
برای مقادیر مالی (مثل قیمت کالا یا موجودی حساب)، این خطاهای کوچک می‌تونه اثر بزرگی بذاره. مثلاً اگر شما روزانه میلیون‌ها تراکنش مالی داشته باشید و هر بار خطای ناچیزی مثل 0.00001 رخ بده، در طول زمان این خطاها می‌تونن به زیان یا اشتباه بزرگی منجر بشن.

🥹 راه‌حل: ذخیره اعداد به صورت صحیح
برای حل این مشکل، یک روش مرسوم در کامیونیتی اینه که به جای ذخیره مقادیر اعشاری، مقادیر صحیح رو ذخیره می‌کنن و بعد در زمان نمایش، اون عدد رو بر 100 تقسیم می‌کنن. مثلاً:

به جای ذخیره 10.25، عدد 1025 ذخیره می‌شه.

به جای ذخیره 0.99، عدد 99 ذخیره می‌شه.

این روش دو مزیت داره:

دقت بالا: چون اعداد صحیح دقیقاً همون‌طوری که هستن ذخیره می‌شن و مشکل گرد کردن یا دقت اعشار ندارن.

بهینه‌سازی پردازش: پردازش اعداد صحیح معمولاً سریع‌تر از اعداد اعشاری انجام می‌شه، به ویژه در محاسبات سنگین و دیتابیس‌های بزرگ.

🧐 نوع داده مناسب در دیتابیس برای ذخیره اعداد مالی:
اگرچه روش بالا (ذخیره اعداد صحیح) رایجه، پایگاه داده‌ها نوع داده‌ای به نام DECIMAL یا NUMERIC هم دارن که دقت بالاتری نسبت به FLOAT دارن و می‌تونن برای مقادیر مالی هم استفاده بشن. این نوع داده به جای ذخیره باینری، اعداد رو به صورت ده‌دهی ذخیره می‌کنه و بنابراین از مشکل گرد کردن باینری جلوگیری می‌کنه.

‼️ بین استفاده از نوع داده DECIMAL (یا NUMERIC) و ذخیره اعداد به صورت صحیح همراه با ضرب و تقسیم (مثلاً ضرب در 100)، هر کدوم مزایا و معایب خودشون رو دارن و انتخاب بین این دو به نیاز پروژه و شرایط سیستم بستگی داره.

کدام روش بهتر است؟
اگر اولویت شما دقت و سادگی در کدنویسی است:
بهتره از DECIMAL یا NUMERIC استفاده کنید. این روش خطاهای کمتر و خوانایی بالاتری داره و برای مقادیر مالی معمولاً گزینه استاندارد محسوب می‌شه.

اگر اولویت شما بهینه‌سازی عملکرد (سرعت و فضای کمتر) است:
اگر حجم داده‌ها بسیار زیاد باشه و بهینه‌سازی عملکرد براتون اهمیت بیشتری داره، می‌تونید از روش اعداد صحیح (ضرب و تقسیم) استفاده کنید.

✔️ منظورم از پروژه بزرگ پروژه ای با میلیون ها رکورد هست اگر نه همون مقدار DECIMAL جوابگو هست و لازم نیست حساس بشین.
✔️ اگر از حالت دوم یعنی ضریب استفاده می‌کنید باید حتما هم خودتون حواستون باشه که بعدا اشتباه پیش نیاد و هم به خوبی داکیومنت نویسی کنید که نفر بعدی به خوبی متوجه بشه.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
۱۳ بدر خود را چگونه گذرندام.

https://rasherburger.ir


امروز ساعت ۱۱ بیدار شدم گفتم جایی که نرفتن بشینم سایت و منو مغازه خواهرمو بسازم. حدودا یه ۵ ساعتی طول کشید همین سایت استاتیک ساده.
👍62
mnr tech
اگر شما هم از Docker روی WSL ویندوز استفاده می‌کنید حتما به این مورد بر خوردید که بعضی وقت ها خطا میده که این پورت ها بسته هست Error response from daemon: Ports are not available: exposing port TCP ... ولی شما از اون پورت ها استفاده نمیکنید. برای حل این…
قبلا در مورد این مشکل داکر با WSL توی ویندوز صحبت کردیم و یک راهکار دادم ولی بعدش فهمیدم که این راهکار باعث میشه ارتباط WSL با اینترنت قطع بشه و آخرش باید سیست را ریستارت می‌کردیم.

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

اول طبق همون راهکار قبلی دستورات زیر رو بزنید توی پاور شل به صورت ادمین
net stop winnat

net start winnat


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

net stop hns

net start hns


در آخر هم دستور زیر رو بزنید
wsl --shutdown


حالا یک بار دیگه یه ترمینال WSL باز کنید تا از اول ران بشه اینطوری مشکل حل میشه و همه چیز اکی میشه بدون ریستارت کردن کل سیستم.

👀 می‌تونید نتوورک رو کلا بگذارید روی حالت mirrored اگر ویندوز 11 دارین این کار با wsl settings راحت انجام میشه ولی توی 10 باید دستی انجامش بدین.

این یکی دستور هم یه جا خوندم ولی چون مشکلم حل شد تست نکردم. مثل این که این دستور دیگه کاری میکنه پورتی که مشخص میکنید کلا دیگه براش این مشکل پیش نیاد. حالا وقتی دوباره این مشکل پیش اومد این رو امتحان میکنم و نتیجه رو میگم. (پیشنهاد نمیشه تا تست نکردم تست کنید) 😭

netsh int ipv4 add excludedportrange protocol=tcp startport=3306 numberofports=1


امیدوارم به کارتون بیاد
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
با پیشرفت هر روز هوش مصنوعی برنامه نویس های بیشتری هم هر روز دارن از هوش مصنوعی برای نوشتن کد ها و تسک هاشون استفاده می‌کنند. بعضی فقط در حد ساجسشن هایی که میده، بعضی کارهای پیچیده تر و یه عده دیگر هم کلا پروژه رو تعریف میکنن و هوش مصنوعی کامل اون رو انجام میده.

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

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

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

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

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

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

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

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

در غیر این صورت مینتینر پروژه میتونه به جای این که تسک رو برای شما تعریف کنه خودش برای هوش مصنوعی تعریف کنه و نیازی به شما نداره
👍6
همیشه وقتی یه برنامه ای رو میبینم که خیلی فیچر های خوبی داره و سازنده به جزئیات و نکات دقت زیادی کرده ازش لذت می‌برم.

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

https://chromewebstore.google.com/detail/json-beautifier-and-edito/lpopeocbeepakdnipejhlpcmifheolpl?hl=en-US&utm_source=ext_sidebar
5
مدتی بود دوستم در مورد سردوشی که پدرش تولید کرده بود یه حرفایی میزد ولی از اونجا که این مدت خیلی درگیر بودم فرصت نشده بود قشنگ دل به حرفاش بدم و ببینم چیه داستان.

دیشب یه سر اومد پیشم و دوباره صحبت این سردوش‌ها شد که داره پیگیری میکنه برای فروش تعدادی از این ها که باقی مونده. پرسیدم چیه داستان این سردوش‌ها کجا بوده؟

گفت پدرش قبلا می‌افته توی این فکر که یه سر دوشی درست کنه که فشار آب رو کم نکنه بلکه با فشار آب کم هم خوب کار کنه.

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

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

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

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

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

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

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

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

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

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

امیدوارم همتون از این جنس موفقیت ها تجربه کنید...
21👏1
Please open Telegram to view this post
VIEW IN TELEGRAM
چند وقت پیش توی شرکت دنبال یه سری کامپوننت input بودیم که نیاز هامون رو جواب بده. استایل قشنگی داشته باشه کامل از RTL پشتیبانی کنه، date picker داشته باشه و ...

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

- تجربه بیشتری داشتم و کمبودهای کامپوننت های قبلی رو دیده بودم
- کمک AI رو داشتم و به لطف مدیرمون که اکانت Copilot رو برام خریده بود

پس اینطوری شد که https://viputy.ir متولد شد.

- کامپوننت هایی که کاملا با RTL سازگاره.
- یه date picker ساده ولی حرفه ای داره که هم تقویم میلادی داره هم شمسی و در آینده چند استایل پیشرفته تر هم بهش اضافه میشه
- رسپانسیو و واکنشگرا هست
- قابلیت اینو داره که بتونید باهاش input های کاستوم درست کنید

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

این پکیج فقط با vue3 و tailwind4 کار میکنه.
🔥3👏3💯21👍1
خواهرم هر موقع قیمت برگرهاشون رو عوض میکرد من علاوه بر تغییر قیمت توی سایت (چون فعلا استاتیک هست) چون نیمچه دستی هم توی طراحی دارم باید قیمت رو توی منو و همچنین با قیمت برای استوری های اینستا هم عوض می‌کردم.

تازگی تغییرات زیادی داده بودند و من دیدم نمیشه هر بار کلی زمان بذارم. پس اومدم یه صفحه به سایتشون اضافه کردن منو رو به جای اینکه با برنامه COREL طراحی کنم با Vue.js طراحی کردم و بعد هم با کمک پکیج زیر خروجی گرفتم
html-to-image

تازه الان از یه فایل js برای قیمت های سایت و منو و اینستا استفاده میکنم یعنی فقط قیمت رو یه جا تغییر میدم.

دیگه عوض کردن قیمت و خروجی گرفتن منو و استوری اینستا توی 10 دقیقه انجام میشه 😎

اینم چندتا از خروجی ها
👏81
اگر طراح هستید و دنبال تصاویر وکتوری یا PNG های خوشگل برای طراحی‌هاتون 🎨 می‌گردید، یا اگر برنامه‌نویس هستید و می‌خواید برای سایت‌تون عکس‌های جذاب انتخاب کنید 💻، می‌تونید از لیست سایت‌های زیر استفاده کنید:

🖼 سایت‌های تصاویر وکتوری و گرافیکی:

undraw.co

iradesign.io

storyset.com

humaaans.com

opendoodles.com

drawkit.com

manypixels.co

freepik.com

برخی از این سایت‌ها قابلیت ویرایش رنگ و جزئیات تصاویر قبل از دانلود رو دارن. اما اگه با ابزارهای وکتور مثل Adobe Illustrator، CorelDRAW یا سایر نرم‌افزارهای طراحی مسلط باشید، می‌تونید فایل‌ها رو بعد از دانلود هم به راحتی ویرایش کنید 🛠.

📦 برای آیکون‌ها هم سایت‌های زیر خیلی خوبن:

noscriptrepo.com

icons8.com

flaticon.com

و همچنین:

iconify.design

این وب‌سایت برای استفاده از آیکون در پروژه‌های برنامه‌نویسی خیلی پیشنهاد می‌شه. می‌تونید آیکون‌ها رو هم به‌صورت کامپوننت در پروژه‌هاتون استفاده کنید، هم به‌صورت SVG دانلود کنید 🔧.
👍5🙏1
از هوش مصنوعی استفاده بکنیم یا نکنیم؟
آیا استفاده از آن مارا تنبل و ضعیف میکنه؟
آیا هوش مصنوعی جای ما رو میگیره؟
از هوش مصنوعی استفاده بکنیم یا نکنیم؟
آیا استفاده از آن مارا تنبل و ضعیف میکنه؟
آیا هوش مصنوعی جای ما رو میگیره؟

چند روزی هست که ذهنم درگیر این سوال هست، خیلی از افراد هم این مدت به این موضوع پرداختن. همینطور که داشتم به این موضوع فکر میکردم و با خودم کلنجار می‌رفتم که آیا استفاده زیاد از اون هرچند سرعت من رو بالا میبره آیا باعث ضعیف شدن و تنبل شدن من به مرور میشه؟

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

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

در زمان قدیم هم وقتی توپ های جنگی اومد مهم نبود مثلا سرباز های ایرانی بدن بهتری داشته باشن یا شجاعت بیشتری باز هم جلوی توپ های عثمانی کاری از پیش نمی‌برند.

حالا هم ممکنه یه عده (شاید از جمله خودم) به جای استفاده از هوش مصنوعی بشینیم و بگیم استفاده از اون مارو ضعیف میکنه پس ازش استفاده نکنیم. در همین حین ممکنه آدمهایی که تجربه کمتری از ما دارن به کمک همین هوش مصنوعی پروداکت های درست کنند که بازار رو متحول کنه و به شدت پیشرفت کنند و تو در حالی که هنوز درگیر این هستی که استفاده کنی یا نه اون با ماشین آخرین مدلش از کنارت رد میشه.

چند روزی از اومدن chat GPT 5 میگذره و توی این چند روز واقعا منو شگفت زده کرده. تستک هایی که شاید یک هفته از من زمان ببره رو توی 1 روز برام انجام داده و قطعا در آینده بهتر هم میشه.

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

پ.ن: عکس بالا هم با ai درست شده. به نظرتون در یک نبرد کدوم یکی پیروز میشه؟
👍3👎1🔥1👏1
داستانی که این روزها در شبکه‌های اجتماعی پخش شده درباره‌ی خرگوش‌ها و سنجاب‌هایی با ظاهری عجیب—مثل رشد شبیه شاخ یا زگیل‌های متورم—واقعاً اتفاق افتاده، اما هیچ ربطی به ویروس «شکل‌دهی» یا تغییر ژنتیکی عجیب ندارد. در ادامه، حقیقت پشت این تصاویر را بررسی می‌کنیم:

خرگوش‌ها با رشدهای شبیه شاخ (Frankenstein Bunnies)
این خرگوش‌ها از ویروسی به نام Shope papillomavirus (SPV) یا cottontail rabbit papillomavirus رنج می‌برند که باعث رشد زگیل‌های سطحی (papillomas) روی صورت، گردن یا بدن آن‌ها می‌شود. گاهی این زگیل‌ها طولانی و شبیه شاخ یا رشته‌هایی از جنس کراتین می‌شوند. این پدیده در مناطقی مانند کلرادو یا داکوتای جنوبی گزارش شده و قدمتی چند دهه‌ای در طبیعت دارد.
People.com
The Economic Times
AP News
TIME

نکات مهم:
⁧- SPV فقط خرگوش‌ها را مبتلا می‌کند و به انسان یا حیوانات خانگی قابل سرایت نیست.
- معمولاً رشدها بی‌ضررند و پس از مدتی با مبارزه سیستم ایمنی بدن، از بین می‌روند.
- در برخی موارد، اگر زگیل‌ها روی چشم یا دهان رشد کنند، ممکن است باعث مشکلات تغذیه‌ای یا بینایی شوند.

سنجاب‌های پوک‌پوک یا «زامبی» (Zombie Squirrels)
سنجاب‌هایی که تصاویرشان در فضای مجازی پخش شده، به یک بیماری ویروسی به نام squirrel fibromatosis یا squirrel fibroma virus (SFV) مبتلا هستند. این ویروس متعلق به خانواده‌ی leporipoxvirus بوده و باعث بروز تومورهای پوستی—فیبروما—می‌شود؛ تومورهایی که گاهی پر از مایع هستند و ظاهر جالب یا ترسناکی دارند.
Indiatimes
The Sun
Gizmodo
Tyla
Newsweek

نکات مهم:
- این ویروس هم فقط سنجاب‌ها را مبتلا می‌کند و خطری برای انسان یا حیوانات خانگی ندارند.
- بیشتر موارد این تومورها خودبه‌خود طی چند هفته تا چند ماه (معمولاً ۴–۸ هفته) کوچک شده و از بین می‌روند.
- این شرایط اغلب در مناطقی رخ می‌دهد که سنجاب‌ها در نزدیکی هم حضور دارند یا نیش حشرات مثل پشه یا کنه زیاد است.

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

این روز ها در پیجهای مختلف این ویروس هارو با فیلم و بازی آخر زمانی the last of us مقایسه می‌کنند و این فقط جنبه دیده شدن و لایک گرفتن داره.
👍1🤣1
امروز توی شرکت داشتم میگفتم که چقدر این اینترنت دانلود منیجر رو مخه. UI قدیمی داره و همیشه هم این پیام لایسنسش میره روی مخ و وقتم آزاد بشه یه دانلود منیجر با کمک AI خودم میسازم. که یهو همکارم گفت دوست من یکی ساخته.

و لینک اینو بهم داد
https://abdownloadmanager.com/

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

اکستنشن مرورگر هم داره 🔥
🔥4👏2
تجربه ای که این مدت در استفاده از AI در کدنویسی داشتم اینه که همیشه کاری رو که میخوای انجام میده و همه چیز هم درست کار می‌کنه ولی وقتی عمیقتر میشی تو دل کد می‌بینی که اصلا (حد اقل در بار اول) کدی که زده لزوما پرفورمنس خوبی نداره.

این مدت هم خودم به این مشکل بر خوردم چه مثلا در کد های بکند یه جاهایی کوئری N+1 زده چه مثلا در فرانت متد هایی نوشته که با سطح پیچیدگی O(n) که میشده ساده تر باشه.

من هم وقتی خودم با AI کد زدم اینهارو دیدم هم وقتی افراد تیم این کار رو کردن.

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

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

یه نکته خیلی مهم اینه که اگر maintainer های تیم به این نکته توجه نکنن و پروژه اینطوری پیش بره همه چیز داره درست کار می‌کنه مدیر هم راضیه ولی یک روز اینها دردسر ساز میشه.
👍6
برای فرانت سایت جدید با همکارم داشتیم بررسی می‌کردیم که از چه فریموورکی استفاده کنیم. از nuxt یا vue.

به این فکر کردیم که اگر بخوایم SSR داشته باشیم برای SEO بهتر ولی از nuxt هم استفاده نکنیم چه آپشنی میتونیم داشته باشیم تا این که رسیدیم Vike.

چند روزی Vike رو بررسی کردیم که ببینیم چه چالش هایی ممکنه داشته باشیم و نتایج عالی بود.

🔨 حالا وایک چیه؟

به کمک Vike میتونی SSR رو نه تنها به پروژه Vue بلکه به React و Solid.js هم اضافه کنی. اون هم به راحتی هرچه تموم تر. حتی در آینده میتونی از وایک در فریم وورکهایی مثل svelte و ... هم استفاده کنی.

از خوبی های وایک می‌تونم به این نکات اشاره کنم

اضافه کردن SSR به ساده ترین شکل ممکن به پروژه
خیلی سبک و سریع هست و شما درگیر متا فریموورک هایی مثل nuxt و next نمی‌شید
میتونید صفحات مختلف رو SSR یا SPA بزنید حتی ترکیبی با SSG
سیستم روتینگ حرفه ای بر اساس ساختار دایرکتوری صفحات

نقاط ضعف وایک

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

ما حتی راضی به خوندن داکیومنت نشدیم و گفتیم بهتره یه پروژه کوچیک به صورت واقعی باهاش بزنیم قبل این که سایت شرکت رو بخوایم باهاش بزنیم. پس اومدیم و سایت vike.mnrtech.ir رو باهاش نوشتیم که بازنویسی شده همون سایت mnrtech.ir هست.

vue -> mnrtech.ir
vike -> vike.mnrtech.ir

شما الان با باز کردن این دوتا سایت می‌تونید از نظر SSR مقایسشون کنید. البته به زودی vike.mnrtech.ir رو میبرم روی سایت اصلی پس اگر میخواین این دو رو مقایسه کنید زمان زیادی ندارین.

⚠️ نکته: اگر میخواین به vike مهاجرت کنید باید در نظر داشته باشین یه سری چیزا متفاوته یعنی شما دیگه vue router ندارین هرچند توی داکیومنتش گفته میتونید استفاده کنید از اون هم ولی پیشنهاد نمیکنه.
پس در نتیجه کمی اولش ممکنه گیج بشین ولی ما توی کمتر از 3 روز تا حد زیادی تونستیم باهاش آشنا بشیم اون هم لابه‌لای کارهای دیگه.

پیشنهاد میکنم حتما تستش کنید این هم سایتش
https://vike.dev/

لینک پست توی لینکدین
👍4🔥1
mnr tech
Photo
2 هفته سخت ولی شیرین!

حدود 2 هفته هست که بعد از 8 ماه تلاش بالاخره ERP شیواامواج رو به صورت کامل لانچ کردیم. 🚀

از قابلیت های کلیدی و اصلی این پروژه

سیستم جامع انبار داری
مدیریت و برنامه ریزی تولید و کارگاه ها
مدیریت سریال محصولات همراه با QR کد
مدیریت تست کیفیت (QC)
مدیریت خرید و فروش
سیستم نقش ها و دسترسی های حرفه ای

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

⚡️ اول از همه حدود یک ماه به واحد های مختلف سر می‌زدم تا با روند کلی کار آشنا بشم، حرف‌هاشون رو ضبط و بعد داکیومنت می‌کردم
⚡️ بعد بر اساس صحبت ها تحلیل و طراحی انجام میدادم و این باعث شد نسخه اولیه برنامه بعد از 6 ماه دمو بشه و کامنت های مثبتی بگیره و نیاز به تغییرات بنیادی زیادی نباشه
⚡️ نیاز هایی که داشتن بعضی جاها بسیار پیچیده بود و باید حالت های مختلف رو شامل می‌شد
⚡️ یک سری سیستم قدیمی داشتن که من بیشتر دیتا اولیه رو به صورت خودکار از همه اونها آوردم و امکاناتی برای بررسی و وارد کردن راحت تر این اطلاعات اضافه کردم
⚡️ مهاجرت روی سیستم جدید باید بدون توقف روند تولید شرکت انجام می‌شد و من باید برای این کلی برنامه ریزی می‌کردم
⚡️ تولید سریال ها و QR ها خودش یه چالش جداگانه بزرگی بود که در پست دیگه اشاره شده

😅 به طور خلاصه این پروژه انقدر بزرگ شد و کد هاش زیاد شد که دیگه هر ریپو دیگه ای رو باز میکنم برام یه پروژه کوچیک به نظر میاد ولی در عین حال که پروژه بزرگیه کد های تمیزی داره طوری که هر مشکلی تو این دو هفته پیش اومد در سریع‌ترین زمان ممکن حل شد یا فیچرهای درخواستی در کمتر از یک روز یا چند ساعت اضافه می‌شد

و در نهایت با اعتماد کامل و بدون ترس پروژه لانچ شده و تا همینجا هم کلی کاغذ بازی رو کم کرده و بخش های مختلف شرکت رو راضی کرده هرچند هنوز جای بهبود داره ولی تو این دو هفته استیبل شده و همینطور هم در حال بهبوده

برای بکند این پروژه از Laravel و برای فرانت از Vue3 استفاده شد.

🙏🏻 در آخر باید تشکر بکنم اول از تمام بچه های شرکت و بخش های مختلف که خیلی در ساخت این ERP همکاری کردند و روند مهاجرت رو دلپذیر کردند.
🙏🏻 دوم از مدیرت شرکت که این فرصت رو به من داد و بهم اعتماد کرد
🙏🏻 سوم از تیم IT کوچیک ولی قوی که ساختیم آقای مهدی حیدری که در بخش هایی از فرانت منو تو این پروژه یاری کرد آقای مهدی غلامرضایی و آقای محمد صدیقی که هرچند نقش مستقیم توی این پروژه نداشتند ولی با پیش بردن درست کارها در سایر پروژه ها و قسمت ها باعث شدند و من بهتر روی این پروژه تمرکز کنم.
🔥3❤‍🔥2🆒1