Forwarded from کدنویس یکروزه (𝕻𝖊𝖉𝖗𝖆𝖒 𝕽𝖆𝖍𝖎𝖒𝖎)
مدیریت-هزینه.htm
32.2 KB
اَپلیکیشن مدیریت هزینه ها
امنیت مضاعف و سه زبانه!
توقع خودم رو از اپلیکیشن تک صفحه (SPA) بالا بردم که بدون رفرش صفحه یعنی بدون Server و اینجا حتا بدون دیتابیس امن قراره کار کنه! کنجکاوی هم نگذاشت دست از سر هوش مصنوعی بسیار قدرتمند چینی به نام Deep Seek بردارم.
بنابراین برنامهی دفتر تلفن پیشرفته رو که خودش نوشته بود بهش دادم و در قالب یک برنامه ی جدید برای «ثبت هزینههای ماهانه» این تغییرات رو ازش خواستم:
- اپلیکیشن سه زبانه: فارسی، انگلیسی و چینی!
- رمز عبور Hash یا رمزنگاری شده تا از لوکال استوریج داخل مرورگر قابل مشاهده نباشه!
- لیست هزینه ها از گران به ارزان یا برعکس قابل سورت و مرتب سازی!
- جمع مبلغ خریدها محاسبه و در زیر جدول هزینهها.
بله حدود ۶۰۰ خط کد پیچیده رو در ۵ دقیقه نوشت گذاشت جلوم! در حالی که قبل از این برنامهی ساده و ۵۰ خطی محاسبهی شارژ ساختمان رو یک ساعت طول کشید با کلی دیباگ و سرچ بنویسم!
ابزارهای مرتبط:
تبدیل وب به EXE
تبدیل وب به APK
#javascript #html
امنیت مضاعف و سه زبانه!
توقع خودم رو از اپلیکیشن تک صفحه (SPA) بالا بردم که بدون رفرش صفحه یعنی بدون Server و اینجا حتا بدون دیتابیس امن قراره کار کنه! کنجکاوی هم نگذاشت دست از سر هوش مصنوعی بسیار قدرتمند چینی به نام Deep Seek بردارم.
بنابراین برنامهی دفتر تلفن پیشرفته رو که خودش نوشته بود بهش دادم و در قالب یک برنامه ی جدید برای «ثبت هزینههای ماهانه» این تغییرات رو ازش خواستم:
- اپلیکیشن سه زبانه: فارسی، انگلیسی و چینی!
- رمز عبور Hash یا رمزنگاری شده تا از لوکال استوریج داخل مرورگر قابل مشاهده نباشه!
- لیست هزینه ها از گران به ارزان یا برعکس قابل سورت و مرتب سازی!
- جمع مبلغ خریدها محاسبه و در زیر جدول هزینهها.
بله حدود ۶۰۰ خط کد پیچیده رو در ۵ دقیقه نوشت گذاشت جلوم! در حالی که قبل از این برنامهی ساده و ۵۰ خطی محاسبهی شارژ ساختمان رو یک ساعت طول کشید با کلی دیباگ و سرچ بنویسم!
ابزارهای مرتبط:
تبدیل وب به EXE
تبدیل وب به APK
#javascript #html
Forwarded from کدنویس یکروزه (پدرام رحیمی)
لینکهای فراگیری Javascript
علاوه بر اینکه در یک پُست هشتگ های کانال رو معرفی کرده ام، حالا لینکهایی از مطالب مربوط جاوااسکریپت رو هم براتون میذارم که دوره کنید:
- کار با Local storage دیتابیس داخلی
- مشکلات محاسباتی در جاوااسکریپت
- روش ساخت برنامه تست چند جوابی
- چهار فرآیند CRUD در جاوااسکریپت
- آموزش Typescript یا جاوااسکریپت۶
- یک برنامه ی محاسباتی جاوااسکریپت
- جزوه ی مدرن جاوااسکریپت فارسی
- قفل گذاری روی برنامه ی تحت وب
- جزوه ی نصب و آموزش Node.js
- روش ساخت اَپ تک صفحه در Vue.js
- روش ساخت تاس با ۵ خط کدنویسی
علاوه بر اینها روی هشتگ زیر بزنید:
#javascript
علاوه بر اینکه در یک پُست هشتگ های کانال رو معرفی کرده ام، حالا لینکهایی از مطالب مربوط جاوااسکریپت رو هم براتون میذارم که دوره کنید:
- کار با Local storage دیتابیس داخلی
- مشکلات محاسباتی در جاوااسکریپت
- روش ساخت برنامه تست چند جوابی
- چهار فرآیند CRUD در جاوااسکریپت
- آموزش Typescript یا جاوااسکریپت۶
- یک برنامه ی محاسباتی جاوااسکریپت
- جزوه ی مدرن جاوااسکریپت فارسی
- قفل گذاری روی برنامه ی تحت وب
- جزوه ی نصب و آموزش Node.js
- روش ساخت اَپ تک صفحه در Vue.js
- روش ساخت تاس با ۵ خط کدنویسی
علاوه بر اینها روی هشتگ زیر بزنید:
#javascript
Telegram
کدنویس یکروزه
دسترسی به مطالب کانال:
مبتدی #beginner
گرافیک #graphics
بانک #database
کدها #code
محیط #ide
ابزارها #tools
بازی #game
کتاب #book
آندروید…
مبتدی #beginner
گرافیک #graphics
بانک #database
کدها #code
محیط #ide
ابزارها #tools
بازی #game
کتاب #book
آندروید…
Forwarded from کدنویس یکروزه (پدرام رحیمی)
Media is too big
VIEW IN TELEGRAM
افزودن هوش مصنوعی به
بازی سنگ کاغذ قیچی
در این ویدیوی متفاوت و جالب روش ساخت یک بازی معروف را این بار با استفاده از سناریو و الگوریتم های هوش مصنوعی تمرین می کنیم. کد برنامه نیز در کانال است.
اینجا در ارتباط با بازی سازی باز داریم:
- ساخت تاس بازی با یک خط کدنویسی
- دوره ی ویدیویی فارسی آموزش Unity
- ساخت حرفه ای بازی با Construct 2
- آموزش ساخت بازی با Game maker
- ساخت ساز بلز با کمک App inventor
- کد بازی هیجان انگیز و فارسی بارچین
#javascript #game #vue
بازی سنگ کاغذ قیچی
در این ویدیوی متفاوت و جالب روش ساخت یک بازی معروف را این بار با استفاده از سناریو و الگوریتم های هوش مصنوعی تمرین می کنیم. کد برنامه نیز در کانال است.
اینجا در ارتباط با بازی سازی باز داریم:
- ساخت تاس بازی با یک خط کدنویسی
- دوره ی ویدیویی فارسی آموزش Unity
- ساخت حرفه ای بازی با Construct 2
- آموزش ساخت بازی با Game maker
- ساخت ساز بلز با کمک App inventor
- کد بازی هیجان انگیز و فارسی بارچین
#javascript #game #vue
Forwarded from کدنویس یکروزه (پدرام رحیمی)
rock-paper-scissors.zip
327.4 KB
کد بازی سنگ کاغذ قیچی
که در ویدیویی در مورد تکنیک متفاوت هوش مصنوعی به کار رفته در آن صحبت شده است.
#javascript #game #vue
که در ویدیویی در مورد تکنیک متفاوت هوش مصنوعی به کار رفته در آن صحبت شده است.
#javascript #game #vue
Forwarded from کدنویس یکروزه
تاس سه بُعدی فقط با CSS
با این برنامهی بسیار جالب که فقط با اسکریپت CSS بسیار هنرمندانه تاس های واقعی را شبیه سازی کرده می توان بدون صدا تخته نرد هم بازی کرد!
برای چرخش تاس ها و انیمیشن نرم اونها هم از جاوااسکریپت استفاده شده.
کدنویسی با هوش مصنوعی DeepSeek
#javascript #css #html
با این برنامهی بسیار جالب که فقط با اسکریپت CSS بسیار هنرمندانه تاس های واقعی را شبیه سازی کرده می توان بدون صدا تخته نرد هم بازی کرد!
برای چرخش تاس ها و انیمیشن نرم اونها هم از جاوااسکریپت استفاده شده.
کدنویسی با هوش مصنوعی DeepSeek
#javascript #css #html
Forwarded from کدنویس یکروزه
کتاب های با ارزش ما
این مجموعه:
- آموزش سریع جاوااسکریپت
- آشنایی با تایپ اسکریپت
- آشنایی با SQL server
- آموزش PHP و MySQL
- کتاب جامع Word press
- آموزش Multimedia builder
- آموزش JavaScript تحت سِرور
- آموزش مبانی #C در مدرسه
- مرجع کامل HTML 5
- آشنایی با فریمورک Angular
- کتاب کامل آموزش CSS 3
- کتاب آموزش Bootstrap
- آموزش مقدماتی Linux
- آموزش #C در متن باز
- آموزش تصویری Laravel
حتماً در فراغت سری به آنها بزنید!
این مجموعه:
- آموزش سریع جاوااسکریپت
- آشنایی با تایپ اسکریپت
- آشنایی با SQL server
- آموزش PHP و MySQL
- کتاب جامع Word press
- آموزش Multimedia builder
- آموزش JavaScript تحت سِرور
- آموزش مبانی #C در مدرسه
- مرجع کامل HTML 5
- آشنایی با فریمورک Angular
- کتاب کامل آموزش CSS 3
- کتاب آموزش Bootstrap
- آموزش مقدماتی Linux
- آموزش #C در متن باز
- آموزش تصویری Laravel
حتماً در فراغت سری به آنها بزنید!
Telegram
کدنویس یکروزه
جزوه ی مدرن آموزش جاوااسکریپت
به همراه نکاتی در مورد کار در محیط ویژوال استودیو کد و مبانی کدنویسی.
#javascript #book
به همراه نکاتی در مورد کار در محیط ویژوال استودیو کد و مبانی کدنویسی.
#javascript #book
Forwarded from کدنویس یکروزه (پدرام رحیمی)
angular.pdf
1.1 MB
جزوه ی آشنایی با انگولار Angular
سال ۲۰۱۰ محصول همکاری مایکروسافت و گوگل و یک کار تیمی عظیم این فریم ورک شد که برنامه نویسان سی شارپ خیلی با محیطش راحت بودن و تلخی و سختی کار با جاوااسکریپت یا کتابخانه های مرتبط مثل React رو از بین برد و میتونستن صفحات بی نیاز از رفرش یا SPA بسازن. هر چند بعد از اون فقط ۴ سال بعد یکی از اعضای تیم توسعه دست به تولید ابزاری به مراتب قوی تر و ساده تر زد که به صورت پیشرونده یا Progressive (بدون لود حجم زیادی از کتابخانه و استفاده از کد فقط زمان نیاز) همان کارهای انگولار رو این بار ساده تر و سریع تر انجام میداد و مخترعش آقای ایوان یو، نام Vue رو براش انتخاب کرد.
اگر فیلم و متن آموزش Node رو هم یک مرور کنید بد نیست.
#javascript #angular #book
سال ۲۰۱۰ محصول همکاری مایکروسافت و گوگل و یک کار تیمی عظیم این فریم ورک شد که برنامه نویسان سی شارپ خیلی با محیطش راحت بودن و تلخی و سختی کار با جاوااسکریپت یا کتابخانه های مرتبط مثل React رو از بین برد و میتونستن صفحات بی نیاز از رفرش یا SPA بسازن. هر چند بعد از اون فقط ۴ سال بعد یکی از اعضای تیم توسعه دست به تولید ابزاری به مراتب قوی تر و ساده تر زد که به صورت پیشرونده یا Progressive (بدون لود حجم زیادی از کتابخانه و استفاده از کد فقط زمان نیاز) همان کارهای انگولار رو این بار ساده تر و سریع تر انجام میداد و مخترعش آقای ایوان یو، نام Vue رو براش انتخاب کرد.
اگر فیلم و متن آموزش Node رو هم یک مرور کنید بد نیست.
#javascript #angular #book
Forwarded from Dev Dastan
➖➖➖➖➖➖
➖➖➖➖➖➖
#javaScript #react
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Dev Dastan
This media is not supported in your browser
VIEW IN TELEGRAM
// Inefficient: Repeatedly resizing the array
let arr = [];
console.time("Resizing Array");
for (let i = 0; i < 10000; i++) {
arr.push(i);
}
console.timeEnd("Resizing Array");
// Time varies, typically slow
// Efficient: Using a pre-sized array
let arr2 = new Array(10000);
console.time("Pre-sized Array");
for (let i = 0; i < 10000; i++) {
arr2[i] = i;
}
console.timeEnd("Pre-sized Array"); // Time varies, typically faster
➖➖➖➖➖➖
➖➖➖➖➖➖
#javaScript #performance #softwareEngineering
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Dev Dastan
This media is not supported in your browser
VIEW IN TELEGRAM
// Inefficient: Repeatedly resizing the array
let arr = [];
for (let i = 0; i < 10000; i++) {
arr.push(i);
}
// Efficient: Using a pre-sized array
let arr2 = new Array(10000);
for (let i = 0; i < 10000; i++) {
arr2[i] = i;
}
➖➖➖➖➖➖
➖➖➖➖➖➖
#javaScript #performance #softwareEngineering
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Dev Dastan
➖➖➖➖➖➖
➖➖➖➖➖➖
#JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Ditty | دیتی
🔺اکمااسکریپت ۲۰۲۵ و متدهای جدید Set
- توی جدیدترین آپدیت اکمااسکریپت (۲۰۲۵) متدهای جدید و کاربردی به مجموعه Set اضافه شده
- توی جدیدترین پست دیتی اونها رو بررسی میکنیم:
ditty.ir/589
#javascript
- توی جدیدترین آپدیت اکمااسکریپت (۲۰۲۵) متدهای جدید و کاربردی به مجموعه Set اضافه شده
- توی جدیدترین پست دیتی اونها رو بررسی میکنیم:
ditty.ir/589
#javascript
Forwarded from Ditty | دیتی
🔺آزادسازی قانونی جاوااسکریپت
- شاید جالب باشه که بدونیم مالکیت کلمهٔ «جاوااسکریپت» در اختیار شرکت اوراکل هست. این در حالیه که این شرکت نه جاوااسکریپت رو ساخته و نه تلاشی برای توسعهٔ اون انجام داده
- بهتازگی گروهی از افراد معروف حوزهٔ برنامهنویسی (از جمله خالق جاوااسکریپت، خالق نودجیاس، خالق npm و ۲۱هزار نفر دیگه) از طریق قانون درخواستی برای لغو مالکیت واژه «جاوااسکریپت» توسط اوراکل رو ارائه دادن
- دلیل این اقدام اینه که جاوااسکریپت اسم یک زبان برنامهنویسی عام هست که توسط میلیونها شخص و شرکت داره استفاده میشه. همچنین طبق قوانین امریکا اگه شرکتی از یک اسم برند طی مدت ۳ سال استفادهای نکنه، اون اسم میتونه به صورت قانونی از مالکیت شرکت بیرون بیاد
- اوراکل چکار کرد؟ اوراکل برای اینکه به دادگاه ثابت کنه که داره از کلمهٔ جاوااسکریپت استفادهٔ تجاری میکنه زیاد خودش رو به زحمت نینداخت. رفت از وبسایت رسمی نودجیاس یک اسکرینشات مرموزانه گرفت و به دادگاه ارائه داد و گفت «من دارم استفاده تجاری میکنم. لطفاً برند من رو تمدید کنید!»
- این کار باعث عصبانیت بیشتر رایان دال (مالک نودجیاس) شد. تا جایی که شکایتی رو در این مورد هم ثبت کرد (که البته شکایت برای این قسمت به جایی نرسید)
- اما موضوع آزادسازی و عامیت بخشیدن به کلمه «جاوااسکریپت» هنوز در حال بررسی هست و شرکت اوراکل تا تاریخ ۷ آگوست ۲۰۲۵ میبایست در این مورد اظهار نظر کنه
- این اتفاق چرا مهمه؟ توی دنیایی که کپیرایت اهمیت داره، استفاده کردن از نام جاوااسکریپت ممکنه تبعات قانونی برای افراد و سازمانها داشته باشه و برای همین افراد و سازمانها سعی میکنن با ریسک کمتری از این واژه استفاده کنن. مثلاً استفاده از JS Conf بجای JavaScript Conf
- صفحه رسمی با این درخواست:
https://javascript.tm
#javascript
- شاید جالب باشه که بدونیم مالکیت کلمهٔ «جاوااسکریپت» در اختیار شرکت اوراکل هست. این در حالیه که این شرکت نه جاوااسکریپت رو ساخته و نه تلاشی برای توسعهٔ اون انجام داده
- بهتازگی گروهی از افراد معروف حوزهٔ برنامهنویسی (از جمله خالق جاوااسکریپت، خالق نودجیاس، خالق npm و ۲۱هزار نفر دیگه) از طریق قانون درخواستی برای لغو مالکیت واژه «جاوااسکریپت» توسط اوراکل رو ارائه دادن
- دلیل این اقدام اینه که جاوااسکریپت اسم یک زبان برنامهنویسی عام هست که توسط میلیونها شخص و شرکت داره استفاده میشه. همچنین طبق قوانین امریکا اگه شرکتی از یک اسم برند طی مدت ۳ سال استفادهای نکنه، اون اسم میتونه به صورت قانونی از مالکیت شرکت بیرون بیاد
- اوراکل چکار کرد؟ اوراکل برای اینکه به دادگاه ثابت کنه که داره از کلمهٔ جاوااسکریپت استفادهٔ تجاری میکنه زیاد خودش رو به زحمت نینداخت. رفت از وبسایت رسمی نودجیاس یک اسکرینشات مرموزانه گرفت و به دادگاه ارائه داد و گفت «من دارم استفاده تجاری میکنم. لطفاً برند من رو تمدید کنید!»
- این کار باعث عصبانیت بیشتر رایان دال (مالک نودجیاس) شد. تا جایی که شکایتی رو در این مورد هم ثبت کرد (که البته شکایت برای این قسمت به جایی نرسید)
- اما موضوع آزادسازی و عامیت بخشیدن به کلمه «جاوااسکریپت» هنوز در حال بررسی هست و شرکت اوراکل تا تاریخ ۷ آگوست ۲۰۲۵ میبایست در این مورد اظهار نظر کنه
- این اتفاق چرا مهمه؟ توی دنیایی که کپیرایت اهمیت داره، استفاده کردن از نام جاوااسکریپت ممکنه تبعات قانونی برای افراد و سازمانها داشته باشه و برای همین افراد و سازمانها سعی میکنن با ریسک کمتری از این واژه استفاده کنن. مثلاً استفاده از JS Conf بجای JavaScript Conf
- صفحه رسمی با این درخواست:
https://javascript.tm
#javascript
JavaScript™
We need your help to continue our fight over Oracle's claim to the JavaScript trademark. Here's where we are now and what you can do to help.
Forwarded from Code Lab (𝘮𝘰𝘯𝘪𝘣 𝘴𝘢𝘭𝘦𝘩𝘪)
🔥 تفاوت جاوااسکریپت و تایپاسکریپت
جاوااسکریپت یه زبان Dynamic هست یعنی تایپ دادهها رو موقع اجرا مشخص میکنه و این باعث میشه گاهی با خطاهای عجیب روبرو بشی
تایپاسکریپت اومده تا این مشکل رو حل کنه و به جاوااسکریپت قدرت Static Typing بده یعنی از همون اول تایپ متغیرها رو مشخص کنی و قبل از اجرا خطاها رو ببینی
در واقع تایپاسکریپت مثل یه لایه امن روی جاوااسکریپت عمل میکنه و کدتو تمیزتر و قابل پیشبینیتر میکنه
یه نکته مهم بدون تایپاسکریپت تبدیل به جاوااسکریپت میشه پس برای اجرا همیشه به JS برمیگرده
#TypeScript #JavaScript
CODELAB | GpCodeLab
جاوااسکریپت یه زبان Dynamic هست یعنی تایپ دادهها رو موقع اجرا مشخص میکنه و این باعث میشه گاهی با خطاهای عجیب روبرو بشی
تایپاسکریپت اومده تا این مشکل رو حل کنه و به جاوااسکریپت قدرت Static Typing بده یعنی از همون اول تایپ متغیرها رو مشخص کنی و قبل از اجرا خطاها رو ببینی
در واقع تایپاسکریپت مثل یه لایه امن روی جاوااسکریپت عمل میکنه و کدتو تمیزتر و قابل پیشبینیتر میکنه
یه نکته مهم بدون تایپاسکریپت تبدیل به جاوااسکریپت میشه پس برای اجرا همیشه به JS برمیگرده
#TypeScript #JavaScript
CODELAB | GpCodeLab
Forwarded from DevTwitter | توییت برنامه نویسی
#پروگرمر_عاشق
#کارفرمای_آلت_چهره
#شرکت_بانوآور_صاحاب
#ترمال_کدر
#بدرد
#دریای_کدگویی_ساحل_ندارد
#برنامه_نویس_مکان_جور_کن
#کدشعر
#کدشر
#شیاف_زوری
#بپا_نره_درت
#از_ترس_کیونشون
#نقل_کد
#کدبوک
#حاجی_پشمام
#به_سوی_گا
#بگایی_در_کمین
#دون
#تو_کوچمون_عروسیه
#گوز_گوز
#وی_اس_کد_تیپ
#جامه_بدرید
#کوته_نیوز
#دراز_نیوز
#میم_شبانگاهی
#لاس
هشتگهای موضوعی:
#angular
#browser_extension
#javascript
#linux
#llm
#php
#python
#wordpress
هشتگ هایی که احتمالا پست جدیدی در موردشون گذاشته نمیشه:
#آقای_هاشمی
#گیتهاب_پک
#کارآموز_مفتی
#برنامه_نویس_یبس
#کارفرمای_آلت_چهره
#شرکت_بانوآور_صاحاب
#ترمال_کدر
#بدرد
#دریای_کدگویی_ساحل_ندارد
#برنامه_نویس_مکان_جور_کن
#کدشعر
#کدشر
#شیاف_زوری
#بپا_نره_درت
#از_ترس_کیونشون
#نقل_کد
#کدبوک
#حاجی_پشمام
#به_سوی_گا
#بگایی_در_کمین
#دون
#تو_کوچمون_عروسیه
#گوز_گوز
#وی_اس_کد_تیپ
#جامه_بدرید
#کوته_نیوز
#دراز_نیوز
#میم_شبانگاهی
#لاس
هشتگهای موضوعی:
#angular
#browser_extension
#javascript
#linux
#llm
#php
#python
#wordpress
هشتگ هایی که احتمالا پست جدیدی در موردشون گذاشته نمیشه:
#آقای_هاشمی
#گیتهاب_پک
#کارآموز_مفتی
#برنامه_نویس_یبس
Forwarded from DevTwitter | توییت برنامه نویسی
#javascript
زبان CoffeeScript دقیقا برعکس تایپاسکریپته: TypeScript به جاوااسکریپت قابلیتهای تایپ و ساختار اضافه میکنه، ولی CoffeeScript تلاش میکنه با سینتکس سادهتر و کوتاهتر جاوااسکریپت رو راحت تر کنه دیگه حتی همون var و let هم نیاز نیست بزارین:
https://coffeescript.org/
@DevTwitter | <Nimo/>
زبان CoffeeScript دقیقا برعکس تایپاسکریپته: TypeScript به جاوااسکریپت قابلیتهای تایپ و ساختار اضافه میکنه، ولی CoffeeScript تلاش میکنه با سینتکس سادهتر و کوتاهتر جاوااسکریپت رو راحت تر کنه دیگه حتی همون var و let هم نیاز نیست بزارین:
https://coffeescript.org/
@DevTwitter | <Nimo/>
Forwarded from Gopher Academy
🔵 عنوان مقاله
be experimenting with
🟢 خلاصه مقاله:
از کتابخانههای زیادی که میخواهند به مخاطبان بیشتری برسند، در حال حاضر نسخههای JavaScript ارائه میشود تا هم در مرورگر و هم در محیطهای Node.js، Deno و Bun در دسترس باشند. مزیت اصلی، دسترسی گسترده، توزیع ساده از طریق npm و تجربه کاربری یکپارچه بین فرانتاند و بکاند است.
دو مسیر رایج وجود دارد: بازنویسی بومی با TypeScript برای ارائه APIهای استاندارد، تایپهای دقیق و قابلیت tree-shaking؛ یا پورت از زبانهای سطح پایین به WebAssembly برای حفظ کارایی و استفاده مجدد از کد موجود. ابزارهایی مانند Emscripten، wasm-bindgen و ابزارهای Go این کار را تسهیل میکنند و با ارائه TypeScript declarations سطح استفادهپسند ایجاد میشود.
چالشها شامل انتخاب بین ESM و CJS، بهینهسازی اندازه باندل و داراییهای WASM، محدودیتهای مرورگر (فایلسیستم و سوکت خام)، تفاوتهای اجرا در Node.js/Deno/Bun، و مدیریت کارایی و زمان راهاندازی است. استفاده از Web Workers، بارگذاری تدریجی، بنچمارکگیری در محیطهای مختلف و مستندسازی دقیق کمککننده است. در حوزه امنیت نیز باید مراقب زنجیره تأمین، نسخهبندی SemVer، تست و انتشار مرحلهای بود.
نمونههای موفق شامل OpenCV.js، نسخه WASM از SQLite، TensorFlow.js، ONNX Runtime Web و Pyodide است که نشان میدهند با طراحی API مناسب و ابزار درست، پورتهای جدی عملی است. قاعده تصمیمگیری: اگر کتابخانه سنگین و بهینه است، WASM انتخاب خوبی است؛ اگر هدف تجربه توسعهدهنده در اکوسیستم JavaScript است، بازنویسی با TypeScript بهتر است؛ و برای قابلیتهای سختافزاری/سیستمی، رویکرد هیبریدی یا سمت سرور منطقی است. با پیشرفت WebAssembly/WASI، WebGPU و پلتفرمهای edge مانند Cloudflare Workers و Vercel Edge، زمان مناسبی برای آزمایش و تکرار است.
#JavaScript #WebAssembly #TypeScript #NodeJS #Deno #npm #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/175359/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
be experimenting with
🟢 خلاصه مقاله:
از کتابخانههای زیادی که میخواهند به مخاطبان بیشتری برسند، در حال حاضر نسخههای JavaScript ارائه میشود تا هم در مرورگر و هم در محیطهای Node.js، Deno و Bun در دسترس باشند. مزیت اصلی، دسترسی گسترده، توزیع ساده از طریق npm و تجربه کاربری یکپارچه بین فرانتاند و بکاند است.
دو مسیر رایج وجود دارد: بازنویسی بومی با TypeScript برای ارائه APIهای استاندارد، تایپهای دقیق و قابلیت tree-shaking؛ یا پورت از زبانهای سطح پایین به WebAssembly برای حفظ کارایی و استفاده مجدد از کد موجود. ابزارهایی مانند Emscripten، wasm-bindgen و ابزارهای Go این کار را تسهیل میکنند و با ارائه TypeScript declarations سطح استفادهپسند ایجاد میشود.
چالشها شامل انتخاب بین ESM و CJS، بهینهسازی اندازه باندل و داراییهای WASM، محدودیتهای مرورگر (فایلسیستم و سوکت خام)، تفاوتهای اجرا در Node.js/Deno/Bun، و مدیریت کارایی و زمان راهاندازی است. استفاده از Web Workers، بارگذاری تدریجی، بنچمارکگیری در محیطهای مختلف و مستندسازی دقیق کمککننده است. در حوزه امنیت نیز باید مراقب زنجیره تأمین، نسخهبندی SemVer، تست و انتشار مرحلهای بود.
نمونههای موفق شامل OpenCV.js، نسخه WASM از SQLite، TensorFlow.js، ONNX Runtime Web و Pyodide است که نشان میدهند با طراحی API مناسب و ابزار درست، پورتهای جدی عملی است. قاعده تصمیمگیری: اگر کتابخانه سنگین و بهینه است، WASM انتخاب خوبی است؛ اگر هدف تجربه توسعهدهنده در اکوسیستم JavaScript است، بازنویسی با TypeScript بهتر است؛ و برای قابلیتهای سختافزاری/سیستمی، رویکرد هیبریدی یا سمت سرور منطقی است. با پیشرفت WebAssembly/WASI، WebGPU و پلتفرمهای edge مانند Cloudflare Workers و Vercel Edge، زمان مناسبی برای آزمایش و تکرار است.
#JavaScript #WebAssembly #TypeScript #NodeJS #Deno #npm #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/175359/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Forwarded from Gopher Academy
🔵 عنوان مقاله
qjs: Run JavaScript in Go
🟢 خلاصه مقاله:
qjs یک روش تازه برای اجرای JavaScript داخل اپهای Go است که بدون نیاز به Cgo کار میکند. بهجای اتصال به یک کتابخانه بومی، نسخه فورکشدهای از QuickJS را به WebAssembly کامپایل کرده و آن را زیر Wazero اجرا میکند. این رویکرد کل زنجیره را در محیط خالص Go نگه میدارد و فرایند بیلد، استاتیکسازی و کراسکامپایل را سادهتر میکند. مزیت دیگر، ایزولهسازی و سندباکس طبیعی ناشی از WebAssembly است. هرچند احتمالاً نسبت به اتصال بومی اندکی سربار دارد، اما برای سناریوهایی مثل اسکریپتنویسی، افزونهها و اجرای امن منطق کاربر، توازن خوبی بین سادگی، پرتابلبودن و امنیت ارائه میدهد.
#Go #JavaScript #WebAssembly #Wazero #QuickJS #Cgo #GoLang #Embedding
🟣لینک مقاله:
https://golangweekly.com/link/175350/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
qjs: Run JavaScript in Go
🟢 خلاصه مقاله:
qjs یک روش تازه برای اجرای JavaScript داخل اپهای Go است که بدون نیاز به Cgo کار میکند. بهجای اتصال به یک کتابخانه بومی، نسخه فورکشدهای از QuickJS را به WebAssembly کامپایل کرده و آن را زیر Wazero اجرا میکند. این رویکرد کل زنجیره را در محیط خالص Go نگه میدارد و فرایند بیلد، استاتیکسازی و کراسکامپایل را سادهتر میکند. مزیت دیگر، ایزولهسازی و سندباکس طبیعی ناشی از WebAssembly است. هرچند احتمالاً نسبت به اتصال بومی اندکی سربار دارد، اما برای سناریوهایی مثل اسکریپتنویسی، افزونهها و اجرای امن منطق کاربر، توازن خوبی بین سادگی، پرتابلبودن و امنیت ارائه میدهد.
#Go #JavaScript #WebAssembly #Wazero #QuickJS #Cgo #GoLang #Embedding
🟣لینک مقاله:
https://golangweekly.com/link/175350/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - fastschema/qjs: QJS is a CGO-Free, modern, secure JavaScript runtime for Go applications, built on the powerful QuickJS…
QJS is a CGO-Free, modern, secure JavaScript runtime for Go applications, built on the powerful QuickJS engine and Wazero WebAssembly runtime - fastschema/qjs
Forwarded from Gopher Academy
🔵 عنوان مقاله
vite-plugin-use-golang: Write Go in JavaScript Files?
🟢 خلاصه مقاله:
** این افزونه با نام vite-plugin-use-golang برای Vite یک آزمایش جالب است که با قرار دادن دستور "use golang" داخل فایلهای JavaScript، کدهای Go را شناسایی کرده و آنها را برای استفاده در فرانتاند به WebAssembly کامپایل میکند. نتیجه این است که میتوانید بخشی از منطق Go را مستقیماً در مرورگر و کنار کدهای JavaScript فراخوانی کنید. این رویکرد برای بهرهبرداری مجدد از منطق موجود در Go یا آزمایش بخشهای حساس به کارایی مفید است، اما پیچیدگی فرایند ساخت، افزایش حجم باندل، زمان راهاندازی WASM، دشواری دیباگ و محدودیت دسترسی مستقیم به DOM از چالشهای آن هستند. در مجموع، این کار «نامتعارف اما واقعی» است و نشان میدهد زنجیره ابزارهای امروز تا کجا قابل گسترش است.
#Vite #Go #WebAssembly #WASM #JavaScript #Frontend #DevTools #WasmInBrowser
🟣لینک مقاله:
https://golangweekly.com/link/176347/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
vite-plugin-use-golang: Write Go in JavaScript Files?
🟢 خلاصه مقاله:
** این افزونه با نام vite-plugin-use-golang برای Vite یک آزمایش جالب است که با قرار دادن دستور "use golang" داخل فایلهای JavaScript، کدهای Go را شناسایی کرده و آنها را برای استفاده در فرانتاند به WebAssembly کامپایل میکند. نتیجه این است که میتوانید بخشی از منطق Go را مستقیماً در مرورگر و کنار کدهای JavaScript فراخوانی کنید. این رویکرد برای بهرهبرداری مجدد از منطق موجود در Go یا آزمایش بخشهای حساس به کارایی مفید است، اما پیچیدگی فرایند ساخت، افزایش حجم باندل، زمان راهاندازی WASM، دشواری دیباگ و محدودیت دسترسی مستقیم به DOM از چالشهای آن هستند. در مجموع، این کار «نامتعارف اما واقعی» است و نشان میدهد زنجیره ابزارهای امروز تا کجا قابل گسترش است.
#Vite #Go #WebAssembly #WASM #JavaScript #Frontend #DevTools #WasmInBrowser
🟣لینک مقاله:
https://golangweekly.com/link/176347/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Forwarded from Golden Code (علی 🇨🇴)
خیلی وقتا برای نمایش عددها، قیمتها یا درصدها کمی دردسر داریم ( ویرگول، اعشار، واحد پول، زبان کاربر و...)
اما جاوااسکریپت خودش یه ابزار آماده داره که همهی اینارو خودش انجام میده 👇🏾
چی هستش؟
این Intl.NumberFormat یه قابلیت Native و قدرتمنده
که اعداد رو بر اساس زبان و منطقهی کاربر فرمت میکنه.
نه نیاز به کتابخونه داریم نه regex بنویسیم
یه مثال:
👆🏾 همون عدد، ولی متناسب با زبان کاربر نمایش داده میشه.
برای پول و درصد :
مزایاش؟
• داخلی و سریع (بدون نصب کتابخونه)
• پشتیبانی از تمام زبانها و ارزها
• کنترل اعشار، جداکنندهها، و سبک نمایش
• ظاهر حرفهایتر برای کاربر 👌🏾
خلاصه:
وقتی Intl.NumberFormat هست، دیگه نیازی به کدنویسی اضافی برای فرمت اعداد نیست.
#JS #JavaScript #جاوااسکرپیت
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/KaraBharat/status/1984635931832328388?t=nyibER_ZCoXfs8nLIFoy7g&s=19
اما جاوااسکریپت خودش یه ابزار آماده داره که همهی اینارو خودش انجام میده 👇🏾
چی هستش؟
این Intl.NumberFormat یه قابلیت Native و قدرتمنده
که اعداد رو بر اساس زبان و منطقهی کاربر فرمت میکنه.
نه نیاز به کتابخونه داریم نه regex بنویسیم
یه مثال:
const num = 1234567.89;
new Intl.NumberFormat('en-US').format(num);
// 1,234,567.89 ✅
new Intl.NumberFormat('fa-IR').format(num);
// ۱٬۲۳۴٬۵۶۷٫۸۹ 🇮🇷
👆🏾 همون عدد، ولی متناسب با زبان کاربر نمایش داده میشه.
برای پول و درصد :
new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
}).format(4999.99);
// $4,999.99 💵
new Intl.NumberFormat('fa-IR', {
style: 'percent',
maximumFractionDigits: 1
}).format(0.853);
// ٪۸۵٫۳ 🔢مزایاش؟
• داخلی و سریع (بدون نصب کتابخونه)
• پشتیبانی از تمام زبانها و ارزها
• کنترل اعشار، جداکنندهها، و سبک نمایش
• ظاهر حرفهایتر برای کاربر 👌🏾
خلاصه:
وقتی Intl.NumberFormat هست، دیگه نیازی به کدنویسی اضافی برای فرمت اعداد نیست.
#JS #JavaScript #جاوااسکرپیت
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/KaraBharat/status/1984635931832328388?t=nyibER_ZCoXfs8nLIFoy7g&s=19
X (formerly Twitter)
Bharat Kara (@KaraBharat) on X
Intl.NumberFormat makes it so easy to format numbers and it's native 👇
#JavaScript
#JavaScript