JavaScript? ??? ???? ????? ? ?? ??? ?? ??? ?? ?? ? ????? ? ?? ?? ?? ??? ?????. ? ?? ???? ??????? ??? ??? ?? ???? ???? ?? ???? ?? ?? ??? ?? ?? ??? ?????.
??? ?? ???? ???? ???? ??? ???? ??? ????? ??????? ????? ??? ??? ??? ?????. ?????? ??? ???? ??? ???? ???? ??, ??? ??? ???? ??? ???? ????? ???? ?????.
??? ???? ?? ?? ??? ?? ????? ???? ??? ?????.
- ??????(ES6)
- ?? ???
- Node.js(??? ???)
- ?? ??? ???? ??
???? ???? ??? ??? ??? ????? ???? ?? ???? ???? ???? ???? ? ??? ???. ?? ??? ??? ????? ?? ?? ??? ?????.
??? ?? ?? ??? ???? ?? ??? ??? ??? ??? ??? ?? ?????. ??? ??? ??? ??? ??? ????? ???? ?? ?????? ???? ??? ???? ??? ? ??? ? ????.
? ???? ???? ??? ???? ??? ??? ?? ???? ?????.
- ?? JavaScript ??? ??? ?????? ??
- ?? ?? ??? ?? ??? ??
- ???? ?? ??????? ??
- ??? ??? ?? ??? ??
???? ?? ??? ?? ?? ???? ?? ?? ?? ??? ???? ?? ?? ??? ?? ??? ??? ? ?? ???? ????? ???????? ?? ??? ? ????.
??? ?? ?? ??? ???? ?? ??? ??? ??? ??? ??? ?? ?????. ??? ??? ?? ???? ??? ??? ????? ??? ?????? ?????.
??, ????? ? ??? ??? ???? ???? ???? ?? ?? ?? ??? ?? ??? ?????. ? ?? ??? ???? ??? ??? ?? ?? ??? ??? ??? ??? ??????. ??? ?????? ?????? ?????? ??? ????? ???? ????.
??? ??? ? ???? ?? ??? ???? ??? ?? ??? ?????. ???? ??? ?? ? ?? ?? ???? ??? ?????. ?????? ??? ??? ??? ???? ???? ?? ?????? ????.
???? ? ???? ?? ??? ??? ????.
- ?? ?? ????? ??
- ??? ???? ?? ??
- ??? ?? ?? ? ??
- ?? ??? ?? ?? ??
??? ??? ??? ? ??????? ??? ??? ??? ??? ??? ??? ?? ??? ??? ?????.
?? JavaScript ?????? ?????? ?? ????? ?? ???? ? ????. ??? ?? ??? ???? ???? ?? ?? ??? ?? ???? ? ?? ??? ??? ?? ??? ???? ??? ? ????.
??? ??? ?? ?? ??? ??????? ??? ?? ????? ???????. ??? ? ??????? ???? ??? ???? ???? ??? ??? ???? ??? ??? ?? ??? ??? ?????.
? ????? ??? ??? ?? ?? ???? ?? ? ????.
- ?? JavaScript ??? ???? ??? ??? ?????
- ?? ??? ?? ??
- ??? ?? ? ???? ?? ?? ??
- ??? ??? ?? ??
- ??????? ???? ?? ????? ?????
????? ? ??? ?? ???? ??? ???? ??? ?? ??? ?? ?? JavaScript ??? ???????.
?????? ??? ??
?????? ??? ??? ?? ?? ?? ????? ???? ???? ???? ??? ??? ????? ?? ??? ????. ?? JavaScript ??? ??? ??? ??? ???? ??? ??? ?? ???? ??? ?????.
RegEx ?? ??? ??
??? ??? ??? ??? ? ?? ??? ???? ?????. ?? ??? ??? 100% ???? ??? ?? ??? ?? ???? ?? ??? ??? ??? ??? ???????.
const emailRegex = /^[a-zA-Z0-9.!#$%&'* /=?^_{|}~-] @[a-zA-Z0-9-] (?:. [a-zA-Z0-9-] )*$/;`
? ??? RFC 5322 ??? ?? ??? ??? ???? ???? ??? ?????.
- ?? ??? ??? ??(@ ?)
- ?? @ ?? ??
- ??? ??? ?? ??
- ?? ????? ??? ??
?? ?? ??
??? ???? ?? ?? ?? ?? ???? ???? ???? ?? ??? ??? ?????. ? ?? ??? ??? ?? ?? ??? ?????.
`?? verifyEmail(???) {
// ??/?? ?? ??
const TrimmedEmail = email.trim();
// Basic structure check if (!trimmedEmail) { return { isValid: false, error: 'Email address is required' }; } // Length validation if (trimmedEmail.length > 254) { return { isValid: false, error: 'Email address is too long' }; } // RegEx validation if (!emailRegex.test(trimmedEmail)) { return { isValid: false, error: 'Please enter a valid email address' }; } // Additional checks for common mistakes if (trimmedEmail.includes('..')) { return { isValid: false, error: 'Invalid email format: consecutive dots not allowed' }; } return { isValid: true, error: null };
}`
?? ?? ? ?? ??
HTML ??? ??? ?? ??? ???? ??? ???? ?????. ? ??? ?? ?? ?? ??? ????.
`document.addEventListener('DOMContentLoaded', () => {
const emailInput = document.getElementById('email');
const errorDisplay = document.getElementById('error-message');
emailInput.addEventListener('input', debounce(function(e) { const result = validateEmail(e.target.value); if (!result.isValid) { errorDisplay.textContent = result.error; emailInput.classList.add('invalid'); emailInput.classList.remove('valid'); } else { errorDisplay.textContent = ''; emailInput.classList.add('valid'); emailInput.classList.remove('invalid'); } }, 300));
});
//??? ?? ??? ???? ?? ???? ??
?? ????(func, wait) {
?? ??? ?????.
?? ?? ???Function(...args) {
const ??? = () => {
ClearTimeout(timeout);
func(...args);
};
ClearTimeout(timeout);
timeout = setTimeout(???, ??);
};
}`
?? HTML ??? ??? ????.
?>
?
??="???"
> ??="???"
??
????="???"
>
??>
? ???? ? ?? ??? ??? ???? ????.
- ?? ??? ?? ???? ??
- CSS ???? ???? ??? ??? ???
- ?? ??? ?? ???
- ???? ??
- novalidate ??? ??? ???? ??
?????? ??? ? ?? ???? ???? ?? ?????. ?? ?? ? ??? ??????. ?? ???? ?? ???? ??????.
??? ??? ??
?????? ??? ???? ???? ???? ??, ??? ??? ??? ???? ??? ???? ?????. ? ????? Node.js? Express? ???? ??? ??? ?? ???? ???? ??? ?????.
????? ??
?? ?? ???? ??? ???? ??? ??? ?????.
`const express = require('express');
const crypto = require('crypto');
const nodemailer = require('nodemailer');
const ??? = require('???');
// ????
require('dotenv').config();
const app = express();
app.use(express.json());
// ??? ?? ??
const ???? = nodemailer.createTransport({
???: process.env.SMTP_HOST,
??: process.env.SMTP_PORT,
??: ??,
??: {
???: process.env.SMTP_USER,
??: process.env.SMTP_PASS
}
});`
??? ??? ??? ????? ?? ?? ????? ??? ???? ?????.
?? ?? ? ??
??? ??? ???? ?? ?? ?? ??:
`??? VerificationToken {
?? ??? ??() {
const ?? = crypto.randomBytes(32).toString('hex');
const ??At = new Date(Date.now() 24 * 60 * 60 * 1000); // 24??
// Basic structure check if (!trimmedEmail) { return { isValid: false, error: 'Email address is required' }; } // Length validation if (trimmedEmail.length > 254) { return { isValid: false, error: 'Email address is too long' }; } // RegEx validation if (!emailRegex.test(trimmedEmail)) { return { isValid: false, error: 'Please enter a valid email address' }; } // Additional checks for common mistakes if (trimmedEmail.includes('..')) { return { isValid: false, error: 'Invalid email format: consecutive dots not allowed' }; } return { isValid: true, error: null };
}`
?? ????? ??
?? ?? ??? ??? API ?????? ?????. ? ??? ??? ?? ?? ??? ????.
`// ??? ?? ??
app.post('/api/verify-email', async (req, res) => {
?????? {
const { ??? } = req.body;
emailInput.addEventListener('input', debounce(function(e) { const result = validateEmail(e.target.value); if (!result.isValid) { errorDisplay.textContent = result.error; emailInput.classList.add('invalid'); emailInput.classList.remove('valid'); } else { errorDisplay.textContent = ''; emailInput.classList.add('valid'); emailInput.classList.remove('invalid'); } }, 300));
??? ??
?? ??? ???? ??? ??? ?????.
??? ??
? ??? 24?? ?? ?????.
});
// Basic structure check if (!trimmedEmail) { return { isValid: false, error: 'Email address is required' }; } // Length validation if (trimmedEmail.length > 254) { return { isValid: false, error: 'Email address is too long' }; } // RegEx validation if (!emailRegex.test(trimmedEmail)) { return { isValid: false, error: 'Please enter a valid email address' }; } // Additional checks for common mistakes if (trimmedEmail.includes('..')) { return { isValid: false, error: 'Invalid email format: consecutive dots not allowed' }; } return { isValid: true, error: null };
});
// ??? ?? ??
app.get('/api/confirm-verification', async (req, res) => {
?????? {
const { ?? } = req.query;
emailInput.addEventListener('input', debounce(function(e) { const result = validateEmail(e.target.value); if (!result.isValid) { errorDisplay.textContent = result.error; emailInput.classList.add('invalid'); emailInput.classList.remove('valid'); } else { errorDisplay.textContent = ''; emailInput.classList.add('valid'); emailInput.classList.remove('invalid'); } }, 300));
});`
? ???? ??? ?? ?? ?? ??? ?????.
- ????? ??? ?? ??
- ?? ?? ??
- ?? ??(?? ?? ??)
- ?? ?? ? ??
- HTML ???? ??? ??? ??? ???
?? ??? ?? ?? ?? ??:
`const rateLimit = require('express-rate-limit');
const verifyLimiter = rateLimit({
windowMs: 60 * 60 * 1000, // 1??
??: 5, // IP? ?? 5?
???: '?? ??? ?? ????. ??? ?? ??? ???.'
});
app.use('/api/verify-email', verifyLimiter);`
???? ??? ????? ?? ???? ?? ??? ?? ?? ? ????? ???? ???.
?? ?? ??
??? ?????? ??? ?? ???? ????? ??? ?? ??? ???? ?? ?????. ? ????? ??? ???? ????? ????? ?? ???? ???? ? ??? ?? ?? ??? ????.
?? ?? ??
??? ?? ?? ? ??? ??? ? ?? ?? ???? ??? ?????. ??? ?? ??? ?? ??? ??????.
`??? TokenManager {
?? ??? generateSecureToken() {
// ???? ?? ??? ?? crypto.randomBytes? ?????
const tokenBuffer = crypto.randomBytes(32)? ?????.
return { token, expiresAt }; } static async verify(token) { const user = await User.findOne({ 'verification.token': token, 'verification.expiresAt': { $gt: Date.now() } }); return user; }
}`
??? ?? ??
?? ?? ??? ???? ?? ???? ?? ?? ? ????? ?????.
`const rateLimit = require('express-rate-limit');
const RedisStore = require('rate-limit-redis');
// ??? ?? ?? ??
const rateLimitConfig = {
// IP ?? ??
ipLimiter: {
windowMs: 60 * 60 * 1000, // 1??
??: 5, // IP? ??
?? ??: true,
?????: false,
???: (req, res) => {
res.status(429).json({
??: '?? ??? ??????. ??? ?? ??? ???.',
??? ?: Math.ceil(req.rateLimit.resetTime / 1000)
});
}
},
// Check if email already verified const existingUser = await User.findOne({ email, verified: true }); if (existingUser) { return res.status(400).json({ error: 'Email already verified' }); } // Generate verification token const { token, expiresAt } = await VerificationToken.generate(); // Store or update user with verification token await User.findOneAndUpdate( { email }, { email, verification: { token, expiresAt }, verified: false }, { upsert: true } ); // Send verification email const verificationLink = \`${process.env.APP_URL}/verify-email?token=${token}\`; await transporter.sendMail({ from: process.env.SMTP_FROM, to: email, subject: 'Verify Your Email Address', html: \``
};
// ?? ?? ???? ??
app.use('/api/verify-email', rateLimit(rateLimitConfig.ipLimiter));
app.use('/api/verify-email', rateLimit(rateLimitConfig.globalLimiter));`
???? ??????? ???? ?? ??? ?? ?? ?? ??? ?????.
??? ?? ?? ??? ??? ????.
`??? TokenEncryption {
?? ??? ??? ??(??) {
const ???? = 'aes-256-gcm';
const key = Buffer.from(process.env.ENCRYPTION_KEY, 'hex');
const iv = crypto.randomBytes(12);
// Basic structure check if (!trimmedEmail) { return { isValid: false, error: 'Email address is required' }; } // Length validation if (trimmedEmail.length > 254) { return { isValid: false, error: 'Email address is too long' }; } // RegEx validation if (!emailRegex.test(trimmedEmail)) { return { isValid: false, error: 'Please enter a valid email address' }; } // Additional checks for common mistakes if (trimmedEmail.includes('..')) { return { isValid: false, error: 'Invalid email format: consecutive dots not allowed' }; } return { isValid: true, error: null };
}`
?? ? ??? ???? ????? ??? ??? ?? ???? ???????.
`const ??? = require('winston');
const logger = winston.createLogger({
??: '??',
??: winston.format.json(),
????: [
??? winston.transports.File({
?? ??: 'verification-errors.log',
??: '??'
}),
??? winston.transports.File({
?? ??: 'verification-combined.log'
})
]
});
// ?? ?? ????
app.use('/api/verify-email', (req, res, next) => {
logger.info('?? ??', {
ip: req.ip,
???: req.body.email,
?????: ? ??(),
userAgent: req.headers['user-agent']
});
??();
});`
?? ??? ????? ???? ??? ??? ??? ?? ?? ??? ???? ???????.
??? ? ??
??? ??? ? ?? ??? ?? ??? ?? ???? ???? ???? ?? ???? ??? ? ????. ? ????? ?? ??? ??? ?? ?? ??? ????.
??? ??
Jest ?? Mocha? ???? ??? ?? ???? ???? ???? ???? ?????.
`describe('??? ?? ???', () => {
explain('?? ??? ??', () => {
test('??? ??? ??? ???? ???.', () => {
const validEmails = [
'user@domain.com',
'user.name@domain.com',
'??? label@domain.com'
];
emailInput.addEventListener('input', debounce(function(e) { const result = validateEmail(e.target.value); if (!result.isValid) { errorDisplay.textContent = result.error; emailInput.classList.add('invalid'); emailInput.classList.remove('valid'); } else { errorDisplay.textContent = ''; emailInput.classList.add('valid'); emailInput.classList.remove('invalid'); } }, 300));
});`
???? ?? ? ?? ??
??? ??? ??? ? ?? ???? ??? ?????.
???? ??? ?? ???? ? ?? ??:
`?? ???? = {
// ?? ?? ??
trackVerification: async (???, ??, ?? = null) => {
VerificationMetric.create? ?????({
???
??
??? ??????.
?????: ? ??()
});
},
// Basic structure check if (!trimmedEmail) { return { isValid: false, error: 'Email address is required' }; } // Length validation if (trimmedEmail.length > 254) { return { isValid: false, error: 'Email address is too long' }; } // RegEx validation if (!emailRegex.test(trimmedEmail)) { return { isValid: false, error: 'Please enter a valid email address' }; } // Additional checks for common mistakes if (trimmedEmail.includes('..')) { return { isValid: false, error: 'Invalid email format: consecutive dots not allowed' }; } return { isValid: true, error: null };
};`
??? ???? ????? ?? ?? ?? ??? ?????.
- ??? ?? ??
- ???? ?? ?? ??
- ?? ???? ??
- ??? ?? ?? ??
- ?? ? ?? ?? ??
???? ?? ?? ? ????? ??? ????? ??? ??? ?? ?? ???? ???? ? ??? ???.
`// ?? ?? ????? ??
app.get('/health', async (req, res) => {
?????? {
const ??? = ????? ?????.healthCheck();
const ?? =metrics.successRate>= 0.95 ? '???': '??';
emailInput.addEventListener('input', debounce(function(e) { const result = validateEmail(e.target.value); if (!result.isValid) { errorDisplay.textContent = result.error; emailInput.classList.add('invalid'); emailInput.classList.remove('valid'); } else { errorDisplay.textContent = ''; emailInput.classList.add('valid'); emailInput.classList.remove('invalid'); } }, 300));
});`
?? ?? ??
?????? ??? ??? ??? ??? ??? ?? ???? ?? ??? ??????
?????? ??? ???? ??? ???? ???? ??? ?? ??? ??? ???? ?? ??? ????. ??? ??? ?? ? ???? ????? ?? ? ??? ??????. ? ??? ?? ???? ??? ????? ??? ??? ????? ???? ?? ???? ?????. ??? ??? ???? ???? ???? ?? ?????? ??? ?? ??? ??? ?? ??? ??? ?????.
?? ?? ??? ????? ??? ?? ????
?? ?? ??? ???? ?? ??? ?????.
- ????? ??? ?? ?? ??
- ??? ?? ?? ?? ??(????? 24??)
- ?? ??? ?? ?? ?? ??
- ?? ?? ???? ? ??
- ?? ?? ? ?? ???
??? ?? ??? ???? ?? ?? ??? ??????
??? ???? ???? ?? ?? ??? ?????.
- ???? ??? ???? ?? ???
- ?? ?? ??? ?? ??? ??
- ???? ??? ?? ??? ????
- ???? ?? ?? ??
?? ??? ?? ?? ??? ?? ?? ??? ??????.
?? ??? ??? ?? ????? ????
?? ??? ??? ??? ???? ??? ??? ?? ????? 24?? ?? ?????. ? ??? ???? ?? ?? ??? ????? ???? ??? ??? ? ?? ??? ??? ?????. ??? ????? ? ?? ??? ??? ???? ?? ?? ?? ?? ????? ???? ? ?? ?? ??(4~8??)? ???? ?? ????.
??? ??? ??? ???? ????
??? ??? ??? ??? ???? ? ??? ???? ???? ???. ???? ?? ??? ?? ????? ????? ? ??? ????? ??? API ??? ???? ?? ??? ?? ? ??? ?????. ??, ???? ??? ??? ? ???? ??? ?? ??? ??? ??????.
? ??? ??? ??? ?? JavaScript ????: ?? ?? ? ?? ?? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??? ??











Java ? JavaScript? ?? ?? ????? ??? ?? ?? ?? ???? ????? ?????. Java? ??? ? ??? ?????? ??? ???? JavaScript? ?? ? ??? ??? ?????.

JavaScriptCommentsareEnsentialformaining, ?? ? ???? 1) Single-LinecommentsERUSEDFORQUICKEXPLANATIONS.2) Multi-linecommentSexplaincleClexLogicOrprovidedEdeDDocumentation.3) inlineecommentsClarifySpecificPartSofcode.bestPractic

JavaScript?? ??? ??? ?? ? ? ?? ??? ???????. 1. ?? ??? ??? ???? ?? ??? ????. ISO ?? ???? ???? ???? ???? ?? ????. 2. ?? ??? ?? ???? ??? ?? ???? ??? ? ??? ? ?? 0?? ????? ?? ??????. 3. ?? ?? ???? ???? ???? ?? ?????? ??? ? ????. 4. Luxon? ?? ???? ???? ?????? ???? ?? ????. ??? ?? ???? ????? ???? ??? ????? ?? ? ????.

JavaScriptIspreferredforwebDevelopment, whithjavaisbetterforlarge-scalebackendsystemsandandandoidapps.1) javascriptexcelsincreatinginteractivewebexperiences withitsdynatureanddommanipulation.2) javaoffersstrongtypingandobject-Orientededededededededededededededededdec

TAGGSATTHEBOTTOMOFABLOGPOSTORWEBPAGESERVESPRACTICALPURSEO, USEREXPERIENCE, andDESIGN.1.ITHELPSWITHEOBYOWNSESPORENGENSTOESTOCESKESKERKESKERKERKERDER-RELEVANTTAGSWITHOUTHINGTEMAINCONTENT.2.ITIMPROVESEREXPERKEEPINGTOPONTEFOCUSOFOFOFOCUSOFOFOFOCUCUSONTHEATECLL

javascriptassevenfundamentalDatatatypes : ??, ???, ??, unull, ??, ? symbol.1) ?? seAdouble-precisionformat, ??? forwidevaluerangesbutbecautiouswithfatingfointarithmetic.2) stringsareimmutable, useefficientconcatenationmethendsf

??? ?? ? ??? DOM?? ??? ??? ? ?????. ??? ?? ????? ?? ??????, ??? ?? ???? ?? ????????. 1. ??? ??? addeventListener? usecapture ?? ??? true? ???? ?????. 2. ??? ??? ?? ???? usecapture? ???? ????? ?????. 3. ??? ??? ??? ??? ???? ? ??? ? ????. 4. ??? ?? ?? ?? ??? ?? ??? ??????? ??? ???? ?????. 5. ??? ?? ?? ?? ??? ?? ???? ?? ???? ? ??? ? ????. ? ? ??? ???? ???? JavaScript? ??? ??? ??? ????? ???? ???? ??? ??????.

Java? JavaScript? ?? ????? ?????. 1. Java? ???? ???? ??? ? ??? ?????? ?????? ? ?? ???? ?????. 2. JavaScript? ?? ? ?? ?? ? ??? ?? ??? ???? ??? ? ?? ? ?? ?????.
