ToCode
Kanalga Telegramโda oโtish
ืืืคืื ืงืฆืจืื ืืืชืื ืชืื ืืืช ืื ืื ืคืจืง
Ko'proq ko'rsatish1 418
Obunachilar
Ma'lumot yo'q24 soatlar
-17 kunlar
-430 kunlar
Postlar arxiv
1 419
ืืื ืืฉืืื ืืืืขืืช ืขืืืื ื Tools ื Vercel AI SDK
ืืืืืื ืืืืชืจ ืฉื Vercel AI SDK ืื ืืจืืื ืืื ืืงืจืื ืืืืื ืืชืื ืืกืืื ืขื ืืงืื ืืื:
import { z } from 'zod';
import { generateText, tool } from 'ai';
const result = await generateText({
model: yourModel,
tools: {
weather: tool({
description: 'Get the weather in a location',
parameters: z.object({
location: z.string().describe('The location to get the weather for'),
}),
execute: async ({ location }) => ({
location,
temperature: 72 + Math.floor(Math.random() * 21) - 10,
}),
}),
},
prompt: 'What is the weather in San Francisco?',
});
ืื ืขืืื ืืืคื ืืฉืืืื ืงืื ืืืืืจ ืืืจ, ืืื ืื ืื ืื ื ืฆืจืืืื ืืชืื ืืคืื ืงืฆืื ืฉื ืืืื ืืืฆืื ืืืฉืชืืฉ ืขืื ืืืืขืืช ืืืจืืืช ืืชืงืืืืช ืื ืืฉืืื ืืืฉืืจ ืื ืืืจ ืื ืืขืืื. ืืื ืืืืฉืง ืฉื Tools ืืืฉื ืืืืืืงื ื Stream.
ืืืื ืื ืคืขื ืฉืื ื ืืืื ืืืชืจ ืืื ืืื ืืชืืขืื ืฉื ืกืคืจืื ืืฉืืื ืืืฆืื ืื ืื ืื ืฉืืื ืฆืจืื ืืืืืช ืืจืื ืืืชืจ ืืจืืจ, ืื ื ืืขืื ืืช ืืคืืชืจืื ืืืื ืืื ืฉื ืืื ืืืืืจ ืืืืืืืจ ืื ืืขืชืื. ืืืงืจื ืฉื Tools ืืฉ ืืื ื ืงืืืืช:
1. ืฆืจืื ืืืฆืืจ ืืช ื Stream ืืฆืืจื ืืืืื ืืคื ื ืฉืืคืขืืืื generateText, ืืื ืืืืจ ืืช ืืคืื ืฉื generateText ื Stream ืฉืืฆืจื ื.
2. ืฆืจืื ืืฉืื ืื ืฉ Vercel AI SDK ืืืฆืืื ืคืจืืืืงืื ืืื ืืืขืืืจ metadata ืืฉืืื. ืืื ืืืืขื ืืฉ ืชืืืืืช ืฉื ืกืื ืืืืืขื ืืืืจืื ื ืงืืืืชืืื ืืื ืืืืืขื ืขืฆืื ืืชืื ืืจืืืืช. ืืชืืืืืช ืืืงืกื ืืื ืคืฉืื 0. ืืื ืืืื ื ืืืืืื ืืืชืื ืืฉืื ืืื:
writer.write('0:"hello"');
ืืื ืืืชืจ ืงื ืืืฉืชืืฉ ืืคืื ืงืฆืื ืืืื ืืช ืฉืืื ืฉื ืงืจืืช formatDataStreamPart.
ืืชืืฆืื ื ืจืืืช ืื:
import { openai } from '@ai-sdk/openai';
import { generateId, createDataStreamResponse, streamText, formatDataStreamPart } from 'ai';
import tools from '@/lib/tools';
// Allow streaming responses up to 30 seconds
export const maxDuration = 30;
export async function POST(req: Request) {
const { messages, data } = await req.json();
// immediately start streaming (solves RAG issues with status, etc.)
return createDataStreamResponse({
execute: dataStream => {
dataStream.write(formatDataStreamPart('text', 'Warming up!ึฟ'));
dataStream.writeMessageAnnotation({ chunk: 'processing' });
const result = streamText({
model: openai('gpt-4-turbo'),
maxSteps: 5,
tools: tools(jwtToken, dataStream),
messages,
onFinish() {
// message annotation:
dataStream.writeMessageAnnotation({
id: generateId(), // e.g. id from saved DB record
other: 'information',
});
// call annotation:
dataStream.writeData('call completed');
},
});
result.mergeIntoDataStream(dataStream);
},
onError: error => {
// Error messages are masked by default for security reasons.
// If you want to expose the error message to the client, you can do so here:
return error instanceof Error ? error.message : String(error);
},
});
}
ืขืืฉืื ืืชืื ืื tool ืืคืฉืจ ืืงืจืื ื dataStream.write ืืื ืืืืกืืฃ ืืืืขืืช ืืฉืืื, ืื ืืื ืืช Workflows ืืืชืจ ืืืจืืืื ืขื ืืกืคืจ ืกืืื ืื ืฉืื ืืื ืืืกืืฃ ืืืืขืืช ืืฉืืื ืืชืื generateText ืฉืื.1 419
ืงืืืืืืก ืืืืืืชื ื AI
ืืืืื ื ืฉืืฉ ืืื ืืืื ื ืืืคืืื ืฉืืืืื ืืืืฉ ืคืืฆ'ืจืื ืืืืืจืืช ืขื, ืืื ืืฉืืื ืฉืืื ืชืขืืื ืืงืื ืฆืจืื ืืืืืช ืืืื ื ืืกืืื. ืื, ืืืืืื ื ืืืืช, ืืฉืืื ืืืชืืช ืงืื ืืืฉ ืืื ืฉืืืจืช ืืช ืืืื ื ืฉืืื ืฆืจืืื.
ืงื ืืจืืืช ืฉืืืืื ื ืขืืืืช ืื ืืฉืื ื ืืืงืฉ ืืื ื ืืืชืื ืคืื ืงืฆืืืช ืคืืืชืื ืฉืกืืคืจืช ืืื ืฉืืจืืช ืืฉ ืืงืืืฅ ืื ื ืืงืื ืชืฉืืื ืืืื. ืื ืืฉืื ื ืืืงืฉ ืืื ื ืืืืกืืฃ ืืชืืื ืืช ืงืฆืจื ืงืื main ืฉืืคืขืื ืคืื ืงืฆืื ืืืืืื ืื ื ืืงืื ืชืฉืืื ืืืื. ืืคืืื ืืคืจืืืงืืื ืืืืืื ืื ืื ื ืจืง ืืขืชืืง ืคืื ืงืฆืื ืงืื ื ืืชืื ืืืืื ื ืืืืงืฉ ืฉืื ืื ืื ื ืืงืื ืชืฉืืื ืืืื. ืื ืืืขืืืช ืืืืืืืืืช ืืคืจืืืงืืื ืืืืืื ืฉืืืจืืื ืืืืื ื ืืืืฉืืจ? ืื ื ืจืฉืืื ืงืื ื ืฉื ืืืจืื ืฉืชืืงื ืชื ืืืื:
1. ืฉืืืฉ ืืจืืื ืืขืฉืืช X, ืืื ืจืง ืืืช ืขืืืืช.
2. ืฉืชื ืืืืืืช ื DB ืขื ืฉืืืช ืืืืื ืฉืืืืืงืืช ืืืืข ืฉืงืฉืืจ ืืืืจืื ืืืจืื ืืืืจื.
3. ืกืงืจืืคื ืฉืืจืืฅ ืืช ืืคืจืืืงื ืืื ืื ืืช ืื ืจืืืื ืืคืจืืืงื (ืื ืืฉ ืจืืื ืฉืืฃ ืืื ืื ืฆืจืื ืืื ืฉืฆืจืื ืืืืข ืืืจืืฅ ืืืชื ืืื).
4. ืืชืงื ื ืฉืืืจืฉืช ืฉืื ืื ืืื ื ื DB ืืืืฆืข ืืืจื.
5. ืฉืคื ืคื ืืืืช ืืื ืืชืืขืืช ืฉื ืฆืืืช ืืคืืชืื.
ืืื ืื ืืืจืื ืืืืืื ืืืคืืื ืื ืืืจืื ืฉืงืฉืืจืื ืืืจืืืืงืืืจื ืฉื ืืงืื. ืืืฉืืืขืจืืช ืืกืืืจืช, ืืืืืงืืช ืขืืืืืช ืืืฉืคื ืืคื ืืืืช ืืชืืขืืช ืืชืืฆืื ืืืืื ืืืืืช ืขืืฆืจืช ื ืฉืืื.
1 419
ืื ืืืื ืฉืืืืค
ืฉืืืฉ ืฉืืืืช ืขื ืงืืื-
1. ืืชืื ืงืื ืคืืืชืื ืฉืืชืืืจ ืืืืืืื ืืืืคืฉืจ ืื ืืืฆืืจ Issue ืืืฉ, ืืืฆืื ืืช ื Issues ืืงืืืืื ืืืกืืืจ Issue.
ืงืืื ืขืื ื ืขื ืงืืืก ืืฉื GitHubIssuesManager
2. ืืื ืืืจืช ืืืชืื ืงืืืก? ืืฆื ืืชืจืื ืืช ืืืกืจืื ืืช ืฉื ืืฆืืจืช ืงืืืก ืืื ืืชืืืช ืคืื ืงืฆืืืช ืืืืืฅ ืขื ืืจืืืืงืืืจื.
ืงืืื ืืกืืืจ ืฉืืืืช ืืืฉื ืืืืกืกืช ืคืื ืงืฆืืืช ืชืืื ืืืื ืืืจืื. ืืื ืืืจืื ืืืืฉ ืืช ืืงืื ืขื Named Tuple ืืฉืืื ืืฉืืืจ ืืช ืื ืืคืจืืืจืื ืฉื ืืืืฉื ืืคืื ืงืฆืืืช ื ืคืจืืืช ืืื ืคืขืืื:
def example_usage():
"""Example of how to use the functions programmatically."""
config = create_config("your_token", "owner", "repo")
# Open an issue
issue = open_issue(config, "Bug found", "Description here", labels=["bug"])
# List all open issues
issues = list_issues(config, state="open")
# Close an issue
if issues:
close_issue(config, issues[0]["number"], "Fixed!")
3. ืืืืื ืืฉืชื ืืืืฉืืช ืชืืื ืงืื ืืืชืจ ืขืืืจ AI ืืงืจืื ืืืชืืืง?
ืงืืื ืื ืืชืืืื ืืืกืืืจ ืฉืืืฉื ืืืืกืกืช ืคืื ืงืฆืืืช ืชืืื ืงืื ืืืชืจ ืืื ื ืืื ืื AI ืืงืจืืื ืืชืืืืงื. ืืื ืืกืืืจ ืฉืืืืฉืช ืืคืื ืงืฆืืืช ืืงืื ืืืชืจ ืืคืืจืฉ, ืืจืืจ ืื ืืกืืืื ืืื ืฆืจืื ืืืคืขืื ืืชื.
ืืืืืื ืฉืื ืืชืฉืืื ืืืืช ืื ื ืืื ื ืชืืื. ืืืชืื ืฉืืขืชืื ืืื ืืื ื ืืืืืืชืืช ืืฆืืืื ืืืงืืจ ืืื ืืืชืจ ืืช ืกืืืืชื, ืืืืื ืืืชืจ ืืขืืืง ืขื ืืืขืจืืช, ืืืคืชืืื, ืืฆืจืืื, ืืฉืื ืืืื ืฉืืื ืืฉืขืื ืืืื ืืืืขื ืืืืืืฅ ืืื ืืืืืจ ืืืจื ืืืืื ืืืืชืจ ืืฆืืจื ืชืืืืงื ืงืื ืืขืชืื. ืื ืื ื ืขืืืื ืืืื ืจืืืงืื ืืฉื.
ืืืืื ืฉื AI ืืื ืืืืื. ืชืื ืืกืคืจ ืืงืืช ืงืืืืชื ืืช ืคืื ืงืฆืืืช ืืคืืืชืื ืฉืจืฆืืชื ืืขืืืื ืขื ื API ืฉื ืืืืืื ืืืื ืืืืืฉ ืืื ืฉื ืื ืื ืื ืืืชืืืจืืช ืขื oauth ืืืฆืืจืช ืืืงื ืืจื ืืืคืืคื, ืืื ืฉืืืืฉ ืืกืคืจืืืช ืืืฆืื ืืืช ืืขื ืืืืจืช ืืืฉืงืื ืืืื ื pydantic. ืืื ืฉืื ืขืืื ืื ืืืืชื ืืืชื ืืช ืื ืืืจ ืืืชืจ ืืขืฆืื ืืืคืก.
ืืืืืื ืฉื AI ืื ืืืจืฉ ืื ืืื ืืืืค. ืืืืื ืฉื AI ืืืจืฉ ืฉืื ืื ื ื ืืื ืื ืฉ AI ืื ืืชืงืจื ืืืืืื - ืื ืืฆืจืืื ืืืืืชืืื ืฉื ืืืขืจืืช, ืืื ืฉืืืช ืืขืืืื ืืืืื ืืืืชืจ ืขืืืจ ืืืขืจืืช ืฉืื ื ืืืื ืืืชืื ืงืื ืฉืืืื ื ืืชื ืืชืืืืงื ืฉื ืื ืงืืืื.1 419
ืื ื ืืืืจ ืืงืจืื ืขืืฉืื ืืืื ืงืืืื?
ืชืืืื ืืงืืจืก ืืื ืฉืืื - ืื ืืฉ ืื ืืื ืืจืคื ืืขืืืื ืขื ืืื ืืื ื ืืืืฅ ืฉื ืขื ืื ืืืคืชืืจืื ืื ืืื ืื, ืื ื ืฆืจืื ืืืขืช ืื ืื ืืืื ืงืืืื? ืื ื ืฆืจืื ืืืืืง ืื ืืืืื ืงืืืื ืฉืื? ืื ืคืขื ืืชื ืืืืจ ืขื ืื ืฉืื ืืืจืื ืขื ืืืื ืงืืืื?
ืื. ืืฉืืืจืื ื ืฉืืจืื.
ืื ืื ื ืขืืื ืขื ืขืื ืื ืฉืื ืขื ืคืจืืืงื ืืฉื ืื ื ืจืืืื ืืืจืื ืฉืื ืื ืืืจืืช ืฉืื ืื ื ืืขืืืื ืื ืขื ืืืชื ืืจืื ืฅ', ืืืื ืฉื ืืข ืืงืจืื ืืช ืืืื ืืงืืืื ืืืืฉืืืช.
ืื ืืืจืื ืฅ ืฉืื ื ืืืง, ืื ืืืคืชื ืชืืฆืื ืฉื ืจืืืืืก ืืื ืืฉืืื, ืื ืืืฉืื ืฉืื ื ืืช ืืฉื ืฉื ืืืจืื ืฅ ืืื ืืืืื ... ืืคืขืืื ืืืจืื ืืืฉืืื ืืขืืื ืืืคืขืืื ื ืฆืืจื ืืืจืื ืืช ืืืกื ืืื ืืข ืืืืืจ ืืืืฉ ืืช ืืืืืื.
ืืื ืื ืืฉืื ืืืืื ืงืืืื ืืืื ืืื ืกืืื ืืืฉืื ืฉืื ื ืฆืืจื ืืืขืช ืืืกืชืื ืืชืืช ืืืืกื ืืื ืืข ืืฉืื ืื ื ืืืชืืื ืงืื ืขื AI. ืื, ืืืืื ืืืืืื, ืืฉ 90% ืืขืืื ืืืืชื ืขื ืืื AI.
1 419
ืืื ืื ืขืื
ืืชืืืชื ืืฉืืืข ืืช ืืจืืืื ืฉื DHH ืืฆื ืืงืก ืคืจืืืื. ืืื ืืืืจืื ืืจืืฉืื ืื ืฉืขืืืื ืฉื ืืื ืืชืืืื ืฉ DHH ืขืืจ ืขื ืฉืืืืข ืืชืื ืืช, ืืื ืกืืื ืืช ืืจืืฉืื ืื ืืืื 6 ืืขื ืคืืชืื ืืฃ HTML.
ืืคืขื ืืจืืฉืื ื ืืื ื ืืกื ืืืขืชืืง ืงืื ืฉื ืืฉืืงืื ืืืืืื ืื (ืื ืขืฉื ืคืขื ืืืจืื ืืืื), ืืื ืื ืื ืขืื ืืืื ืื ืืืื ืื ืืืืฉื ืจืืฆื ืืื ื.
ืืคืขื ืืฉื ืื ืืื ื ืืกื ืืืืื ืฉืคื ืืฉื Easy Amos, ืืื ืื ืฉื ืืคืืื ืืืจืื ืืกืืกืืื ืื ืขืืื ืืืื ืื ืืืื ืืช ืืฉืืืืืช. ืืื ืืื ืืืื ืืืชืืืืฉ ืื ืืฉื ืฉืืื ืื ืืื ืืกืคืืง ืืฉืืื ืืชืื ืช.
ื"ืงืืืง" ืฉืื ืขื ืชืื ืืช ืืื ืจืง ืืฉืจืื ืืจืืฉืื ื HTML ืืคืชืืื ืื ืื ืฉืืื ืืชื ืขืื. "ืืืื ืื ื ืืืื ืืืจืื ืืืงืกื ืืืืื" ืืื ืืื ืฉืืื ืชืืืจ ืืช ืื ืืจืืืื.
ืืกืชืืจ ืฉืืคืืืช ืขืืืจ DHH, ืืื ื ืืืื ืฉืขืืืจ ืจืืื ื ืืกืคืื, ืืืืฃ ืื ืงืืงื ืืช ืืจืฆืื ืืืืื ืืื ืืืืคื - ืกืืืื ืืืืืืืช ืฉืื ืื ืืืจ ืขืืื ืืืฆืจืช ืืช ืืจืฆืื ืืืืื. ื HTML ืฉืืจื ื DHH ืืจืฆืืช ืืืชืื ืงืื ืืื ื Vibe Coding ืฉื ืืืื, ืืื ื ืื ืืืื ืฉืืื ืฉื ืืฉืืฃ ืืืืื ืืืื ืฆืขืืจ ืืืชืจ ืืืื ืื ืืืช ืืืฆืจืื ืืืืกืกื AI ืื ื ืฉืคืจ ืืช ืืืืืืื ืืขืฆืื ืืืืืืืืฆืื ืฉืืื.
1 419
ืกืคืืจืช ืฉืืจืืช ืืงืืืฅ ืืคืืืชืื
ืืกืืคืืจ ืืืื ืืชืืื ืืฉืืืงืฉืชื ื ChatGPT ืืืืคืืก ืคืื ืงืฆืื ืฉืกืืคืจืช ืืื ืฉืืจืืช ืืฉ ืืงืืืฅ:
def count_lines(filepath):
with open(filepath, 'r') as f:
return sum(1 for _ in f)
ืืื - ืืื ืื ืขืืื? ืืืื ื ืคืจืง ืืช ืืงืื ืืื.
ืืคืงืืื with ืืืจืืืช ืขื ืืืฆืืข ืคืขืืื ืฉืืงืฆื ืืฉืืืื ืืคืขืืื ืืืจืช ืืกืืื ืืฉืืจืืจ ืืืฉืืืื. ืคืงืืืช with ืฆืจืืื ืืงืื ืืืืืงื ืฉืืฉ ืื ืคืื ืงืฆืืืช ืืชืืื ืืคืื ืงืฆืืืช ืกืืื, ืืืืช with ืฉืืืจืืืช ืขื ืืคืขืืช ืคืื ืงืฆืืืช ืืื. ื ืชืืื ื ื open:
>>> open('/etc/passwd', 'r')
<_io.TextIOWrapper name='/etc/passwd' mode='r' encoding='UTF-8'>
ืคืงืืืช open ืืืืืจื TextIOWrapper. ืฉืชื ืคืื ืงืฆืืืช ืืขืืืคื ืฉืื ืื:
>>> f.__enter__
<built-in method __enter__ of _io.TextIOWrapper object at 0x100e879f0>
ื:
>>> f.__exit__
<built-in method __exit__ of _io.TextIOWrapper object at 0x100e879f0>
ืคืงืืืช ื __exit__ ืืืจืืืช ืขื ืกืืืจืช ืืงืืืฅ ืืืื ืืืคืขืืช ืืืืืืืืช ืขื ืืื ืคืงืืืช ื with ืืกืืื ืืืืืง. ืื ื ืืืื ืืืคืขืื ืืืชื ืืื ืืช ืืื ืืืฉืชืื ืข ืฉืืงืืืฅ ื ืกืืจ:
>>> f=open('/etc/passwd', 'r')
>>> f.__exit__()
>>> f.read()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: I/O operation on closed file.
ืื ืืฉืืจื ืืฉืืืฉืืช ืืงืื ืืกืชืืจื ืืจืื ืืชื ืืืืช ืืืื ืืช ืฉื ืืฉืคื. ื ืชืืื ืขื:
>>> (1 for _ in f)
<generator object <genexpr> at 0x101013ed0>
ืื ืืืจื ื ืฉ f ืืื TextIOWrapper, ืื ืคืงืืืช for ... in f ืืื ืคืงืืืช ืืฆืืจืช ืื ืจืืืจ. ืืื ืขืืืื ืื ืืคืขืืื ืฉืื ืืืืื ืขื ืืงืืืฅ ืืื ืจืง ืืืืืจื ืืืืืงื ืฉืืืืข "ืืขืฉืืช ืืฉืื" ืขื ืืฉืืจืืช ืฉืืงืืืฅ:
>>> f=open('/etc/passwd', 'r')
>>> g=(1 for _ in f)
>>> next(g)
1
>>> next(g)
1
>>> next(g)
1
ืื ืงืจืืื ื next ืขื ืืื ืจืืืจ ืืืฆืขืช ืืืืจืฆืื ืืืืืช ืฉื ืืืืืืงื. ืืืงืจื ืฉื TextIOWrapper, ืืืืจืฆืื ืืืืืช ืืื ืงืจืืื ืฉื ืืืืข ืืืงืืืฅ ืขื ืืืืื ืืืืฆืฅ ืืืงืกืืืื (ืืืืืจ ื io.DEFAULT_BUFFER_SIZE), ืืืคืืฉ ืืฉืืจื ืืืื ืืืืืจืช ืืืชื ืืฉืืจื. ืืื ืจืืืจ ืขืืืฃ ืืช ืืืชื ืืืืช ืืืืช ืืืืืืจ ืืฉืื ืืืจ ืืืงืื ืืฉืืจื. ื ืชืืื ื ืจืืข ืืื ืจืืืจ ืืคืฉืื ืืืชืจ:
>>> g=(line for line in f)
>>> next(g)
'# Note that this file is consulted directly only when the system is running\n'
>>> next(g)
'# in single-user mode. At other times this information is provided by\n'
>>> next(g)
'# Open Directory.\n'
ืืื ืจืืืจ (line for line in f) ืืืืืจ ืืช ืขืจื ืืืฉืชื ื line ืืื ืืืืจืฆืื. ืืืืชื ืืืคื ืืื ืจืืืจ (1 for line in f) ืืืืืจ ืืช ืืขืจื 1 ืืื ืืืืจืฆืื ืืืชืขืื ืืืืฉืชื ื line. ืืืืื ืฉืื ืื ื ืื ืืชืืืกืื ืืืฉืชื ื ืืืืืื ืืจืื ืื ืฉืื ืืขืืืคืื ืืงืจืื ืื ืืฉื _, ืคืฉืื ืืื ืฉื ืืข ืฉืื ืื ื ืื ืืฉืชืืฉืื ืืขืจื ืฉืื.
ืืฉืืจื ืืืืื:
return sum(1 for _ in f)
ืืคืขืืื ืืช sum ืขื ืื ืจืืืจ. ืื ืืขื ืืื! ืื ืื ื ืจืืืืื ืืืคืขืื sum ืขื ืจืฉืืืืช:
>>> sum([10, 20, 30, 40])
100
ืืฉืืคืขืืืื sum ืขื ืื ืจืืืจ ืคืืืชืื ืื ืืืคื ืืืชื ืืจืฉืืื ืืื ืืืืข ืืจืืฅ ืืืืืื ืืืืืกืืฃ ืืืื ื ืื ืคืขื ืืช ืืขืจื ืืื ืืืื ืจืืืจ. ืื ืืืื ืืืืืื ืืืื:
>>> f=open('/etc/passwd', 'r')
>>> g=(1 for line in f)
>>> line_count = 0
>>> for value in g:
... line_count += 1
...
>>> line_count
140
ืืืขืฉื ืื ืืืื ื ืืืชืืื ืืืืื ืื ืจืื ืฉืื ืืืื ื ืืืืืจืื ืืช ืืื ืจืืืจ ืืืจืืฉ ืืืชืืื ืืืืื ืืืืช:
def count_lines(filepath):
with open(filepath, 'r') as f:
line_count = 0
for line in f:
line_count += 1
return line_count
ืืื ืจืืืจ ืืคืฉืจ ืืืจืื ืืืืฉ ืืช ืืืื ื ืืฆืืจื ืฉืืืชืจ ืืชืืืื ื sum ืืื ืืฆืืื ื ืืืชืื:
def count_lines(filepath):
with open(filepath, 'r') as f:
return sum(1 for _ in f)
ืื ืืืืืจืฆืื ืืืืฆืขืช ืืชืื ืืคืื ืงืฆืื sum.
ืฉืืจื ืชืืชืื ื - ืื ืืคืฉืจ ืืขืฆืืจ ืืืจื ืฉืงืืืื ื ื ChatGPT ืืช ืืคืื ืงืฆืื. ืืืชืจ ืืืืืฅ ืื ืฆื ืืช ืืืื ืืืคืจืง ืืช ืืงืื ืืฉืืจืืช ืืืคืขืืืืช ืืืกืืกืืืช ืฉืื ืืืืืื ืฉืื ืื ื ืืืื ืื ืื ืืืจ ืฉืืชืื ืฉื. ืืื AI ืืชืืืืื ืืืข ืื ืืกืืื ืืืื ื ืฉื ืืื ืื ืื ืื ืืืกืืกืืื ืฉื ืืฉืคื ืืื ืื ืืืืื ืืื ืืื ืืื ืืืคืชื ืืืกืืื ืืฉืืขืืชื ืืืจืื ืืื ืงืื ืืืื ืฉื ืืืฆืจ ืืขืชืื.1 419
ืืืื ืืืฉืื ืืืืืคืกืงืจืืคื 5.9 ืืื ืืื ืืฉืืคืืจืื ืืืืืืืื ืืฉืคื
ืื ืืื ืื ืื ืืืฉ ืืืืคืกืงืจืืคื ืืื ืฉืืคืืจ ื JavaScript, ืืื ืืืจ ืืืื ืฉืืื ื ืื ืืืืื. ืขื ืื ืื ืื ื ืืืืจืื? ื ืชืืื ืืชืืืืจ ืืืขืื:
1. ืขื ืืฉื ืื ืงืื JavaScript ืจืง ืืชืืจื.
2. ืื ืจืง ืฉืงืฉื ืืืืจืื ืงืื JavaScript ืืจืื ืืืฉืจืช (ืื ืืงืืืฅ ืืืชืจ ืืืื) ืืื ืฉืืจืฆื ืืคืืขื ืื ืฉื ืงืื ืืื ืืืืืืื ืขื ืืืคืืคื.
3. ืืืจื ืฉืืชืืช ืืช ืืงืื ืงืฉื ืืืืืืฃ ื import ืจืืื ื import ืืื ืื, ืืืื ืฉืื ืืืจืื ืืืชื ืืฉื ืืช ืืช ืื ืฉืจืฉืจืช ืืงืจืืืืช ืืงืจืืืืช ืขื await.
ืืืื ื ืื ืก ืืืืจ ืฉืื ื import defer. ืคืงืืื ืืืช ืืืขื ืช ืืืืื ืืื ืื ืืืฆืขืช ืืืชื ืืื ืืืกืืช ืืืคืืคื ืืช ืืื ืืจืืฆื ืฉื ืงืืืฅ ื JavaScript ืืืืื. ืืืช ืืืืืื ืืืฃ ืืชืืขืื - ืชืืืื ืงืืืฅ ืืืืืื:
Copy
// ./some-feature.ts
initializationWithSideEffects();
function initializationWithSideEffects() {
// ...
specialConstant = 42;
console.log("Side effects have occurred!");
}
export let specialConstant: number;
ืืืงืื ืฉืืฉืชืืฉ ืื:
import defer * as feature from "./some-feature.js";
// No side effects have occurred yet
// ...
// As soon as \specialConstant\ is accessed, the contents of the \feature\
// module are run and side effects have taken place.
console.log(feature.specialConstant); // 42
ืืืจืืช ืฉืืคืื ืงืฆืื ืืืคืขืืช ืืงืื ืืจืืฉื ืฉื some-feature.ts, ืืื ืื ืชืืคืขื ืขื ืฉืืืฉืื ืืืืช ืืืืฉ ืืขืจื ืืืืคืืก ืืืชื. ืื ืืฉืืจื ืืืืจืื ื ืืงืืืฅ ืืฉื ื ืืืชื ืืืชื ืืช ืื ืื ืืืคืขืืช ืืื ืกืืื ืฉืืื, ืื ืืืฃ ืืืืืื some-feature.ts ืื ืืื ืืืคืขื.
ืืืืื ืฉืืืื ื ืืืืืื ืืืืืข ืืืืชื ืชืืฆืื ืขื await import, ืืื ืื ืืืืืง ืืืืคื: ืืคืจืื ืืื ืืืคืืืืืืฆืื ืฉื ืืืฆืืขืื ืืกืื ืืืงื ืฉื await ื async.
ืืฃ ืืคืจืกืื ืืืื ืฉื ืืืืคืกืงืจืืคื 5.9 ืืื ืืืื ืืื ืืกืงืจื ืื:
https://devblogs.microsoft.com/typescript/announcing-typescript-5-9-beta/1 419
ืืืื ืืืฉืื ืืืืืคืกืงืจืืคื 5.9 ืืื ืืื ืืฉืืคืืจืื ืืืืืืืื ืืฉืคื
ืื ืืื ืื ืื ืืืฉ ืืืืคืกืงืจืืคื ืืื ืฉืืคืืจ ื JavaScript, ืืื ืืืจ ืืืื ืฉืืื ื ืื ืืืืื. ืขื ืื ืื ืื ื ืืืืจืื? ื ืชืืื ืืชืืืืจ ืืืขืื:
1. ืขื ืืฉื ืื ืงืื JavaScript ืจืง ืืชืืจื.
2. ืื ืจืง ืฉืงืฉื ืืืืจืื ืงืื JavaScript ืืจืื ืืืฉืจืช (ืื ืืงืืืฅ ืืืชืจ ืืืื) ืืื ืฉืืจืฆื ืืคืืขื ืื ืฉื ืงืื ืืื ืืืืืืื ืขื ืืืคืืคื.
3. ืืืจื ืฉืืชืืช ืืช ืืงืื ืงืฉื ืืืืืืฃ ื import ืจืืื ื import ืืื ืื, ืืืื ืฉืื ืืืจืื ืืืชื ืืฉื ืืช ืืช ืื ืฉืจืฉืจืช ืืงืจืืืืช ืืงืจืืืืช ืขื await.
ืืืื ื ืื ืก ืืืืจ ืฉืื ื import defer. ืคืงืืื ืืืช ืืืขื ืช ืืืืื ืืื ืื ืืืฆืขืช ืืืชื ืืื ืืืกืืช ืืืคืืคื ืืช ืืื ืืจืืฆื ืฉื ืงืืืฅ ื JavaScript ืืืืื. ืืืช ืืืืืื ืืืฃ ืืชืืขืื - ืชืืืื ืงืืืฅ ืืืืืื:
Copy
// ./some-feature.ts
initializationWithSideEffects();
function initializationWithSideEffects() {
// ...
specialConstant = 42;
console.log("Side effects have occurred!");
}
export let specialConstant: number;
ืืืงืื ืฉืืฉืชืืฉ ืื:
import defer * as feature from "./some-feature.js";
// No side effects have occurred yet
// ...
// As soon as \specialConstant\ is accessed, the contents of the \feature\
// module are run and side effects have taken place.
console.log(feature.specialConstant); // 42
ืืืจืืช ืฉืืคืื ืงืฆืื ืืืคืขืืช ืืงืื ืืจืืฉื ืฉื some-feature.ts, ืืื ืื ืชืืคืขื ืขื ืฉืืืฉืื ืืืืช ืืืืฉ ืืขืจื ืืืืคืืก ืืืชื. ืื ืืฉืืจื ืืืืจืื ื ืืงืืืฅ ืืฉื ื ืืืชื ืืืชื ืืช ืื ืื ืืืคืขืืช ืืื ืกืืื ืฉืืื, ืื ืืืฃ ืืืืืื some-feature.ts ืื ืืื ืืืคืขื.
ืืืืื ืฉืืืื ื ืืืืืื ืืืืืข ืืืืชื ืชืืฆืื ืขื await import, ืืื ืื ืืืืืง ืืืืคื: ืืคืจืื ืืื ืืืคืืืืืืฆืื ืฉื ืืืฆืืขืื ืืกืื ืืืงื ืฉื await ื async.
ืืฃ ืืคืจืกืื ืืืื ืฉื ืืืืคืกืงืจืืคื 5.9 ืืื ืืืื ืืื ืืกืงืจื ืื:
https://devblogs.microsoft.com/typescript/announcing-typescript-5-9-beta/1 419
ืืืืื AI ืืืื ืืื ืืืชื?
ืืืงืจ ืืืฉ ืฉืืชืคืจืกื ืืืืจืื ื ืืืง ืืช ืืืฉืคืขื ืฉื AI ืขื ืืชืื ืชืื ืืืชืืงืื ืืคืจืืืงืืื ืืื ืืฉ ืืื ื ืืกืืื. ืืืืงืจ ื ืืืจื ืืคืชืืื ืฉืชืืจืืื ืืืืช ืืฉืืขืืชืืช ืืคืจืืืงื ืงืื ืคืชืื ืืื ืืชืืงืฉื ืืืฆืข ืืฉืืื ืขื ืืคืจืืืงื ืืื. ืืืืง ืืืืฉืืืืช ืืื ืขืืืื ืืืืขืืจ ื AI ืืืืืง ืืืจ ืืกืืจ ืืื ืืื ืืืืขืืจ ื AI.
ืืชืืฆืืืช ืืขื ืืื ืืช ืืืืกืคืจ ืืืืืื:
1. ืื ืืคื ื ืืื ืืืจื ืืืืงืจ ืืืคืชืืื ืืจืืืฉื ืฉืื ืขืืื ืืืชืจ ืืืจ ืขื AI.
2. ืืืืืฆืข ืืคืชืืื ืื ืืกืื ืฉืืฉืชืืฉื ื AI ืขื ืคืจืืืงืืื ืฉืืืชื ืื ืืืืจืื ืขืืื ืืื ืืืชืจ ื 19% ืืืฉืืืื ืืืฉืืืืช ืฉืืืฆืขื ืืื AI. ืื ืฉืืขืชื ื ืืื - ืืื ืืืชืจ ืืืฉืจ ืืื AI.
3. ืขื ืื ืืื ืืืื? ืืื ืืงืืืื ืืคืืขื ืืชืงืฆืจ ืืฉืืขืืชืืช ืืขืืืื ืขื AI, ืืื ืืชืืืกืคื ืืื ื ืืืชื ื ื AI, ืืื ืืชืืืช ืคืจืืืคืืื, ืืื ืงืจืืื ืืืื ื ืฉื ืืงืื ืฉ AI ืืชื ืืืื ืืฉืืื.
ืื ืื ืื ืืืื ืืืชื ื? ืงืืื ืื ืฉืืื ืืืืืฆืื ืืื ืื ืืื ืืืืื. ืืฉืืื ืืืืื ืื ืื ืื ื ืืงืืืืื ืืืจ ืื ืืื ืืืชืจ ืขื AI ืฆืจืื ืืงืืืืช ืืกื ืืืืืืช ืืื ืื ืืืืืงืช.
ืืืจ ืฉื ื ืฉืื AI ืื ืืืืื ืืช ืืื ืฉืืืืฉ ื AI ืืืจืฉ ืืืข ืืงืฆืืขื ืกืคืฆืืคื. ืืืคืชืืื ืืืืงืจ ืงืืืื ืคืืืช ื 44% ืืืงืื ืฉืงืจืกืจ ืืฆืจ. ืคื ื ืื ืก ืืชืืื ื ืคืงืืืจ ืฉื ืืืืื ืืช ืฉืืืืฉ ื AI. ืืืืจื ืืื ืื ืืงืื ืื ืงืื ืฉืงืจืกืจ ืืืฆืจ ืืื ืืืจืื ืืงืจืกืจ ืืจืืฉ ืืืชืื ืงืื ืฉืื ืื ื ื ืกืืื ืืงืื ืืืืฉืชืืฉ ืืงืจืกืจ ืืืฉืืืืช ืืืชืืืืืช ืื.
ืืืชืื ืชืื ืืืืงืจ ืืืื ืฉืื ืงืืจืืื ืื ืฉืืจื ืฉืงืจืกืจ ืืชื. ืื ืืขืืื ืืืืคืืื ืืคืชืืื ืืืชืืงืื. ืืื ืืืฉืืื ืฉืื ื ืืืคืชืืื ืื ืืกืื ืฉื ืขืืจืื ืืงืจืกืจ ืืื ืืืืื ืืื ืืืจืื ืืงืจืกืจ ืืืชืื ืืช ืืงืื ืฉืื ืื ื ืืืื ื ืืืชืืื. ืจืง ืืฉืื ืืฆืืื, ืืจื ืืคืืืช ืืคืจืืืงื ืืืืชืจ AI Friendly, ืื ืืืืืช ืืงืื ืืื ืืืืจืืช ืืขืืืื ืืืืื ืืืฉืชืคืจ.
Endi mavjud! Telegram Tadqiqoti 2025 โ yilning asosiy insaytlari 
