Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from کدنویس یکروزه (پدرام رحیمی)
Media is too big
VIEW IN TELEGRAM
افزودن هوش مصنوعی به
  بازی سنگ کاغذ قیچی

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

اینجا در ارتباط با بازی سازی باز داریم:
- ساخت تاس بازی با یک خط کدنویسی
- دوره ی ویدیویی فارسی آموزش Unity
- ساخت حرفه ای بازی با Construct 2
- آموزش ساخت بازی با Game maker
- ساخت ساز بلز با کمک App inventor
- کد بازی هیجان انگیز و فارسی بارچین

#javascript  #game  #vue
Forwarded from کدنویس یکروزه (پدرام رحیمی)
rock-paper-scissors.zip
327.4 KB
کد بازی  سنگ کاغذ قیچی

   که در ویدیویی در مورد تکنیک متفاوت هوش مصنوعی به کار رفته در آن صحبت شده است.
#javascript  #game   #vue
تاس سه بُعدی فقط با CSS

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

#javascript #css #html
Forwarded from کدنویس یکروزه (پدرام رحیمی)
angular.pdf
1.1 MB
جزوه ی آشنایی با انگولار Angular

سال ۲۰۱۰ محصول همکاری مایکروسافت و گوگل و یک کار تیمی عظیم این فریم ورک شد که برنامه نویسان سی شارپ خیلی با محیطش راحت بودن و تلخی و سختی کار با جاوااسکریپت یا کتابخانه های مرتبط مثل React رو از بین برد و میتونستن صفحات بی نیاز از رفرش یا SPA بسازن. هر چند بعد از اون فقط ۴ سال بعد یکی از اعضای تیم توسعه دست به تولید ابزاری به مراتب قوی تر و ساده تر زد که به صورت پیشرونده یا Progressive (بدون لود حجم زیادی از کتابخانه و استفاده از کد فقط زمان نیاز) همان کارهای انگولار رو این بار ساده تر و سریع تر انجام میداد و مخترعش آقای ایوان یو، نام Vue رو براش انتخاب کرد.
اگر فیلم و متن آموزش Node رو هم یک مرور کنید بد نیست.

#javascript #angular #book
Forwarded from Dev Dastan
🖼️ React is Just document.createElement() With Good Marketing, and I Can Prove It

React, the darling of modern web development, is nothing more than document.createElement() wrapped in excellent marketing and increasingly complex abstractions.


📚 Article: [here]

#javaScript #react


🖥 Follow @devDastan for more content.
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
🖼️ The Hidden Cost of JavaScript Arrays (Part 1 - Memory Allocation)


✔️ JS arrays can tank performance and there are ways to optimize them.


Operations like push(), pop(), and splice() can trigger memory reallocation, copying, and fragmentation.

Using fixed-size or oversized arrays can be more efficient.


// 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


📚 Article: [here]

#javaScript #performance #softwareEngineering


🖥 Follow @devDastan for more content.
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
🖼️ The Hidden Cost of JavaScript Arrays (Part 1 - Memory Allocation)


✔️ JS arrays can tank performance and there are ways to optimize them.

Operations like push(), pop(), and splice() can trigger memory reallocation, copying, and fragmentation.

Using fixed-size or oversized arrays can be more efficient.



// 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;
}





📚 Article: [here]

#javaScript #performance #softwareEngineering


🖥 Follow @devDastan for more content.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Dev Dastan
🖼️ A Brief History of JavaScript: This year, JavaScript turns 30


🔸 1994: Netscape releases Netscape Navigator 1.0


🔸 1995: Brendan Eich creates the very first version of JavaScript


🔸 1996: Microsoft introduces JScript in Internet Explorer 3 to compete with Netscape Navigator


🔸 1996: Netscape Navigator 2.0 is released with JavaScript 1.0


🔸 1997: Netscape submits JavaScript to ECMA International


🔸 1998: Official release of the first ECMAScript language specification (ECMAScript 2)


🔸 1999: Microsoft releases Internet Explorer 5, which uses more proprietary technology than before.


🔸 2001: The first JSON message is sent


🔸 2002: JSLint, the “grandfather of all JavaScript syntax checkers” is introduced


🔸 2003: Apple introduces Safari and WebKit


🔸 2004: A beta version of Gmail is released, which uses a new asynchronous JavaScript protocol, “AJAX”


🔸 2006: John Resig creates first commit to a project named jQuery


🔸 2007: The first Apple iPhone is released with its mobile safari not supporting Flash


🔸 2008: Netscape Navigator is sunset, marking the end of the “First Browser War”


🔸 2008: Douglas Crockford publishes “JavaScript: The Good Parts”


🔸 2008: Google releases the Chrome browser, the fastest web browser at the time, and with it, the V8 engine.


🔸 2009: Ryan Dahl begins work on Node.js


🔸 2009: The first commit on Express.js is created


🔸 2010: npm 1.0 is released


🔸 2010: WebStorm 1.0, a new JavaScript IDE by JetBrains, is released


🔸 2010: AngularJS and Backbone.js are released


🔸 2012: Webpack, a module bundler, is introduced


🔸 2012: Microsoft makes TypeScript 0.8 available for the public


🔸 2013: Facebook releases React


🔸 2014: Vue.js is released


🔸 2014: The first commit to Babel.js is created


🔸 2014: Amazon announces AWS Lambda, powered by Node.js


🔸 2015: GraphQL, a query language for APIs, is launched


🔸 2015: Redux is released


🔸 2015: Web assembly is released


🔸 2015: ECMAScript 6 (ES2015) is released


🔸 2016: Microsoft releases VSCode 1.0, a lightweight, fast, cross-platform IDE


🔸 2016: Angular (Angular2) is released


🔸 2016: Next.js 1.0 is released


🔸 2017: Prettier 1.0 is released


🔸 2017: Facebook launches Yarn, a new package manager


🔸 2018: TensorFlow.js is released, bringing machine learning to the browser via WebGL or WebGPU without needing compute


🔸 2019: Node.js stabilizes support for ECMAScript modules in v13.2.0


🔸 2020: JavaScript makes it into space with SpaceX Dragon


🔸 2020: Deno 1.0 is released


🔸 2022: Internet Explorer 11 is retired


🔸 2023: Bun 1.0 is released


🔸 2025: TypeScript will be ported to Go



📚 Article: [here]

#JavaScript


🖥 Follow @devDastan for more content.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Ditty | دیتی
🔺اکمااسکریپت ۲۰۲۵ و متدهای جدید Set

- توی جدیدترین آپدیت اکمااسکریپت (۲۰۲۵) متدهای جدید و کاربردی به مجموعه Set اضافه شده

- توی جدیدترین پست دیتی اونها رو بررسی می‌کنیم:
ditty.ir/589

#javascript
Forwarded from Ditty | دیتی
🔺آزادسازی قانونی جاوااسکریپت

- شاید جالب باشه که بدونیم مالکیت کلمهٔ «جاوااسکریپت» در اختیار شرکت اوراکل هست. این در حالیه که این شرکت نه جاوااسکریپت رو ساخته و نه تلاشی برای توسعهٔ اون انجام داده

- به‌تازگی گروهی از افراد معروف حوزهٔ برنامه‌نویسی (از جمله خالق جاوااسکریپت، خالق نودجی‌اس، خالق npm و ۲۱هزار نفر دیگه) از طریق قانون درخواستی برای لغو مالکیت واژه «جاوااسکریپت» توسط اوراکل رو ارائه دادن

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

- اوراکل چکار کرد؟ اوراکل برای اینکه به دادگاه ثابت کنه که داره از کلمهٔ جاوااسکریپت استفادهٔ تجاری می‌کنه زیاد خودش رو به زحمت نینداخت. رفت از وبسایت رسمی نودجی‌اس یک اسکرین‌شات مرموزانه گرفت و به دادگاه ارائه داد و گفت «من دارم استفاده تجاری می‌کنم. لطفاً برند من رو تمدید کنید!»

- این کار باعث عصبانیت بیشتر رایان دال (مالک نودجی‌اس) شد. تا جایی که شکایتی رو در این مورد هم ثبت کرد (که البته شکایت برای این قسمت به جایی نرسید)

- اما موضوع آزادسازی و عامیت بخشیدن به کلمه «جاوااسکریپت» هنوز در حال بررسی هست و شرکت اوراکل تا تاریخ ۷ آگوست ۲۰۲۵ می‌بایست در این مورد اظهار نظر کنه

- این اتفاق چرا مهمه؟ توی دنیایی که کپی‌رایت اهمیت داره، استفاده کردن از نام جاوااسکریپت ممکنه تبعات قانونی برای افراد و سازمان‌ها داشته باشه و برای همین افراد و سازمان‌ها سعی می‌کنن با ریسک کمتری از این واژه استفاده کنن. مثلاً استفاده از JS Conf بجای JavaScript Conf

- صفحه رسمی با این درخواست:
https://javascript.tm


#javascript
Forwarded from Code Lab (𝘮𝘰𝘯𝘪𝘣 𝘴𝘢𝘭𝘦𝘩𝘪)
🔥 تفاوت جاوااسکریپت و تایپ‌اسکریپت

جاوااسکریپت یه زبان Dynamic هست یعنی تایپ داده‌ها رو موقع اجرا مشخص می‌کنه و این باعث میشه گاهی با خطاهای عجیب روبرو بشی
تایپ‌اسکریپت اومده تا این مشکل رو حل کنه و به جاوااسکریپت قدرت Static Typing بده یعنی از همون اول تایپ متغیرها رو مشخص کنی و قبل از اجرا خطاها رو ببینی
در واقع تایپ‌اسکریپت مثل یه لایه امن روی جاوااسکریپت عمل می‌کنه و کدتو تمیزتر و قابل پیش‌بینی‌تر می‌کنه
یه نکته مهم بدون تایپ‌اسکریپت تبدیل به جاوااسکریپت میشه پس برای اجرا همیشه به JS برمی‌گرده

#TypeScript #JavaScript

CODELAB | GpCodeLab
#javascript

زبان 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
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