ToCode
Kanalga Telegramโda oโtish
ืืืคืื ืงืฆืจืื ืืืชืื ืชืื ืืืช ืื ืื ืคืจืง
Ko'proq ko'rsatish1 419
Obunachilar
Ma'lumot yo'q24 soatlar
Ma'lumot yo'q7 kunlar
-430 kunlar
Postlar arxiv
1 419
ืืืืื ืื-
ืืื ืงื ืืืืื ืื ืฆืจืื. ืืืืื ืืื ืืืฆืืื ืืืืื, ืืื ืืืฆืืื ืืขืืืื, ืืื ืืืฆืืื ืืชืงืฉืจ ืขื ืื ืฉืื. ืืฉืืืืืื ืืฉืืื ืืืฆืืื ืื ืื ื ืืืื ืื ืืืฉืงืืข ืืช ืืฉืขืืช, ืืืืืข ืื ืืื, ืืืชืืืฅ ืืืืื ืื ืืฉืงืฉื. ืืื ืืจืืจื. ืื ืฉืืืืืง ืืืชื ื ืื ืฉืืฉ ื ืงืืืช ืกืืื ืืืืื ืืืืื ืืืฉืงืขื.
ืืจืื ืื ืฉืื ืืืืืื ืืฉืืื ืืืืฃ. ืื ืื ื ืืืืืื ืืืฉื ืื ืืื ื ืื ืืืชืื ืฉืืจืื, ืืืชืืืื ืืืืื ืืืชื ื ืืืืื ืืื ืืืชืจ ืืช ืืขืืื. ืืขื ืืื ืืื ืื ืขืืื, ืืขื ืืื ืืื ืืืจืื ืขืืฉืื ืืช ืื, ืืขื ืืื ืื ืืงืจื ืื ... ืืฉืืืืืื ืืฉืืื ืืืืฃ ืื ืื ื ืฉืืืื ืืืฉืงืืข ืืช ืืฉืขืืช ืืชืืื ืืืฆืืื ืืื ืืื ืืืชืงืื ืืชืืืื ืฉืื ื, ืขื ืฉืืฉ ืขืืืก ืืื ืชืงืืคื ืื ืืืฆืืื ืืื ืื ืฉืืืขื ื ืืืืง ืงืฉื ืื ืืฉืขืื ืืื ืืชืงืืืื ืืืืืื ืืืืืื ืืืจ. ืชืืืื ืืคืฉืจ ืืืืฉืื ืืคืชื ืืืืจื ืฉื ืื ืืื ืฉืืืืืง ืืืชื ื ืืื ืืขื ืืื ืืชืืื.
ืืืคืขืืื ืื ืื ื ืืืืืื ืืฉืื ืืืื ืฉืืื ืืฉืื.
ืืฉืืืื ืืื ืฆืจืืืื ืืืืื ืื ืฉืืืข JavaScript Framework ืืืฉ ืืื ืื ืฉืื ืฉืขืฆืจื ืืื ืืืืื ืืื ืื ืื ืืคืืคื, ืืื JavaScript ืขืืืืช ืืืื ืืื ืืช JavaScript Framework ืืืคืก. ืื ืืืชืืจืื ืืคืืชืื Single Page Application ืืืื ืคืืชืจืื ืืืชื ืืื Framework, ืืื ืืืชืื ืคืืชืจืื Router ืืืคืก. ืื ืืื ืืืืข ืืื ืขืจื ืืืืื. ืื ืื ืืืคืืข ืืฉืื ืจืฉืืืช ืืจืืฉืืช ืืืืืขืืช ืืจืืฉืื ืืื ืืืคืืข ืืืฃ ืกืืืืืก. ืืืื ืืืช ืื ืฉืื ืฉืืฉืงืืขื ืืช ืืขืืืื ืืืืืื ืืืกืืืืช ืืฆืืืื ืืืืื ืคืจืืืืืืจืงืื ืืืฉืื ืืจืื ืืืชืจ ืืืจ ืืืขืืื ื ืืื ืืืชืจ.
ืืืชืืจ ืขื ืืืจืื ืืฉืืืื ืืื ืฉืืื ืืืจืื ืฉืื ืื ื ืืืืืื ืืฉืืื ืืืฆืืื ืื ืื ืืืจืฉืื ืืฉืงืขื ืขืฆืืื, ืืื ืื ืื ืืืืืื ืืืื ืืืืื ืื ื ืงืืืช ืกืืื. ืื ืืขื ืืื ืื ืืืชืืื ืืื ืืืจ ืืืื ืืืืข ืืืืง ืืงืฉื, ืืืืืืืฆืื ื ืขืืืช ืืื ืื ื ืฆืจืืืื ืืืฆืื ืกืืื ืืืจืช ืืืืฉืื ืืืฉืงืืข.
ืืฉืืชืืืืื ืืืืื ืืฉืื ืืืฉ ืืืื ืืืืื ืืื ืื ื ืืืื ืืช ืื, ืืื ืืจืื ืชืืืื ืืืืืื ืืืื ืชืฉืชื ื ืืืืืืืฆืื ืฉืื ืืืืจื ืืชืืืื. ืืฉืื ื ืืืฆื ืืืจื ืขื ืืื ื ืฉื ืืืกืืื ืืกืืืื ืืืฆืืื ืืื ืืฉืืขืืชืืช.
1 419
</div>
<div className="carousel-indicators">
{images.map((_, index) => (
<button
key={index}
className={\carousel-indicator ${index === currentIndex ? 'active' : ''}\}
onClick={() => goToSlide(index)}
aria-label={\Go to slide ${index + 1}\}
/>
))}
</div>
{images.length > 1 && (
<div className="carousel-countdown">
Next image in: {countdown}s
</div>
)}
</div>
)
}
export default ImageCarousel
ืื ืืื ืขืืื ืืคืขื ืขื ืืฉืชื ื ืกืืืื ืืืื.
ืืืืื ืืืจ ืืฉืืืจ ืืช ืืงืฉืจ ืืื ืืคืจืง ืืช ืืงืืืคืื ื ืื ืืฉืชื ืงืืืคืื ื ืืืช - ืงืืืคืื ื ืื ืืืช ืฉื ืงืจืืกืืช ืชืืื ืืช ืืงืืืคืื ื ืื ืฉื ืื ืืื ืืฉืขืื ืขืฆืจ. ืื ืืงืื ืขื ืืคืจืืช ืงืืืคืื ื ืืืช:
import { useState, useEffect } from 'react'
import './ImageCarousel.css'
interface CountdownTimerProps {
interval: number
onTimeout: () => void
}
const CountdownTimer: React.FC<CountdownTimerProps> = ({ interval, onTimeout }) => {
const [countdown, setCountdown] = useState(interval / 1000)
useEffect(() => {
const timer = setInterval(() => {
setCountdown((prevCountdown) => {
if (prevCountdown <= 1) {
onTimeout()
return interval / 1000 // Reset countdown
}
return prevCountdown - 1
})
}, 1000) // Update every second
return () => clearInterval(timer)
}, [interval, onTimeout])
return (
<div className="carousel-countdown">
Next image in: {countdown}s
</div>
)
}
interface ImageCarouselProps {
images: string[]
interval?: number
}
const ImageCarousel: React.FC<ImageCarouselProps> = ({ images, interval = 3000 }) => {
const [currentIndex, setCurrentIndex] = useState(0)
const goToSlide = (index: number) => {
setCurrentIndex(index)
}
const goToPrevious = () => {
setCurrentIndex((prevIndex) =>
prevIndex === 0 ? images.length - 1 : prevIndex - 1
)
}
const goToNext = () => {
setCurrentIndex((prevIndex) => (prevIndex + 1) % images.length)
}
if (images.length === 0) {
return <div className="carousel-empty">No images to display</div>
}
return (
<div className="carousel-container">
<div className="carousel-wrapper">
<button
className="carousel-btn carousel-btn-prev"
onClick={goToPrevious}
aria-label="Previous image"
>
‹
</button>
<div className="carousel-image-container">
<img
src={images[currentIndex]}
alt={\Slide ${currentIndex + 1}\}
className="carousel-image"
/>
</div>
<button
className="carousel-btn carousel-btn-next"
onClick={goToNext}
aria-label="Next image"
>
›
</button>
</div>
<div className="carousel-indicators">
{images.map((_, index) => (
<button
key={index}
className={\carousel-indicator ${index === currentIndex ? 'active' : ''}\}
onClick={() => goToSlide(index)}
aria-label={\Go to slide ${index + 1}\}
/>
))}
</div>
{images.length > 1 && (
<CountdownTimer
key={currentIndex}
interval={interval}
onTimeout={goToNext}
/>
)}
</div>
)
}
export default ImageCarousel
ืืื ืฉืื ืืฉ ืื ื ืืช ื set ืืชืื set, ืืื ืืคืขื ืืืืชื ืืช ืืืคืงื ืจืง ืืงืืืคืื ื ืื ืฉื ืืฉืขืื ืฉืืื ืืจืื ืืืชืจ ืงืื ื ืืื ืืฉืชื ื ืกืืืื ืฉืืืจ ืืงืืืคืื ื ืื ืฉืื.
ืื ืืขืชืื? ืืืื ืืืจืกื ืืชื ืืื ืืืืืื ืืืื?1 419
ืขืืืื ืกืืืื ืืชืื ืขืืืื ืกืืืื
ืืืืืื ืจ ืืืื ืืืงืฉื ื ืืงืืื ืืขืืื ืงืืืคืื ื ืืช ืจืืืงื ืฉืืฆืืื ืงืจืืกืืช ืชืืื ืืช ืืืืืกืืฃ ืื ืฉืขืื ืขืฆืจ ืฉืืจืื ืืื ืืื ืขื ืืืืคืช ืืชืืื ื ืืืื. ืืืชืืื ืืื ืืฆืจ ืฉื ื ืืคืงืืื ืืืฉืืชืขืงืฉื ื ืืืฆืืจ ืืคืงื ืืื ืงืืืื ื ืืช ืืงืื ืืื:
useEffect(() => {
if (images.length <= 1) return
// Reset countdown when component mounts or when interval changes
setCountdown(interval / 1000)
const timer = setInterval(() => {
setCountdown((prevCountdown) => {
if (prevCountdown <= 1) {
// Time to switch image
setCurrentIndex((prevIndex) => (prevIndex + 1) % images.length)
return interval / 1000 // Reset countdown
}
return prevCountdown - 1
})
}, 1000) // Update every second
return () => clearInterval(timer)
}, [images.length, interval])
ืฉืืื ืื ืืงืจืืื ื setCurrentIndex ืืชืื ืคืื ืงืฆืืืช ืืขืืืื ืฉืขืืืจืช ื setCountdown. ืืฆื ืื ืืืชืื ืงืื ืืกืื ืื ืืื ืืื ืคืขื ืฉืื ืงืจื ืื ืืขืื ืขื ืืืืืฉืื ืืขืื ืืชืื ืื ืืงืืืคืื ื ืื ืืืกืืคื ืฉื ืืืจ ืืฆื ืืฉืืืื ืืืจื ืืืืืื ืืืืจืื ืืืงืืืืช ืืืจืื. ืืืื ืืืช ืืงืื ืฉื ืงืืื ืขืืื.
ืืืจื ืืืืืื ืจ ื ืืกืืชื ืืืืื ืื ืืคืจืืข ืื ืืคืืชืจืื ืืื ื ืืืฉื ืฉืืืขืื ืืื ืืคืืืืช ืืกืืืื - ืืขืฆื ืืฉ ืคื ืฉื ื ืืฉืชื ื ืกืืืื ืงืฉืืจืื ืืื ืื ื ืฆืจืืืื ืืช ืืขืืืื ืืชืื ืขืืืื ืืื ืืืื ืืช ืืงืฉืจ ืืื. ืืคืฉืจ ืืืฉืื ืขื ืื ืฉืจืฆืื ืฉืืฉืชื ื ืกืืืื ืฉื ืงืืืคืื ื ืื ืืืื ืืืจืชืืืื ืืืื ืืืฉืืฉ ืงืฉืจ ืืื ืืื ืื ืืืืจ ืฉืืฉืื ืื ืืืืืง ืืืจืืืืงืืืจื.
ืื ืืฉ ืืฉืชื ื ืกืืืื ืงืฉืืจืื ืืืื ืื ืืืืจ ืฉืืื ืืื ืืืื ืืืืืช ืขืจื ืืืืฉื? ืืืืื ืืื ืืืื ืืืืืช ืืกืคืืจ ืจืง ืืช ืืืื ืฉืขืืจ ืืื ืฉืืงืืืคืื ื ืื ื ืื ืกื ืืืกื, ืืื ืืคืฉืจ ืืืฉื ืืช ืืื ืืงืก ืืชืืื ื ืืืฆืื ืขื ืืืืืง ืืฉืืจืืช. ืืืขืื ืืื ืื ืขืืฉืื ืขื ืืืืืฆืืช. ืื ืืืฉืืืื ืืืืชื ืืืืื ืืคืฉืจ ืืืืืืจ ืฉืืืืืฆืืช "ืืงืืื" ืืช ืืฉืขืื, ืืื ืืฉ ืื ื ืืช ืืงืื ืืื:
import { useState, useEffect } from 'react'
import './ImageCarousel.css'
interface ImageCarouselProps {
images: string[]
interval?: number
}
const ImageCarousel: React.FC<ImageCarouselProps> = ({ images, interval = 3000 }) => {
const [elapsedTime, setElapsedTime] = useState(0)
// Derive currentIndex and countdown from elapsedTime
const currentCycle = Math.floor(elapsedTime / interval)
const currentIndex = currentCycle % images.length
const timeInCurrentCycle = elapsedTime % interval
const countdown = Math.ceil((interval - timeInCurrentCycle) / 1000)
useEffect(() => {
if (images.length <= 1) return
const timer = setInterval(() => {
setElapsedTime((prevTime) => prevTime + 1000)
}, 1000) // Update every second
return () => clearInterval(timer)
}, [images.length, interval])
const goToSlide = (index: number) => {
// Calculate the elapsed time that would result in the desired index
const targetCycle = Math.floor(elapsedTime / interval) + (index - currentIndex)
const adjustedCycle = targetCycle >= 0 ? targetCycle : targetCycle + Math.ceil(Math.abs(targetCycle) / images.length) * images.length
setElapsedTime(adjustedCycle * interval)
}
const goToPrevious = () => {
const prevIndex = currentIndex === 0 ? images.length - 1 : currentIndex - 1
goToSlide(prevIndex)
}
const goToNext = () => {
const nextIndex = (currentIndex + 1) % images.length
goToSlide(nextIndex)
}
if (images.length === 0) {
return <div className="carousel-empty">No images to display</div>
}
return (
<div className="carousel-container">
<div className="carousel-wrapper">
<button
className="carousel-btn carousel-btn-prev"
onClick={goToPrevious}
aria-label="Previous image"
>
‹
</button>
<div className="carousel-image-container">
<img
src={images[currentIndex]}
alt={\Slide ${currentIndex + 1}\}
className="carousel-image"
/>
</div>
<button
className="carousel-btn carousel-btn-next"
onClick={goToNext}
aria-label="Next image"
>
›
</button>1 419
ืืืื ื ืคืกืืง ืืืืื "ืขืืืื"
ืขืืืจ ืืืืจ ืืคืชืืจ ืืื, ืืืจื ืืืคืืฉืื ืืฆืื ื ืืช ืืืขืื, ืคืชืจื ื ืืื ืฉืืคืจื ื ืืช ืื ืืืจืืืืงืืืจื ืฉื ืืงืื ืืื ืฉืืืืื ืืืื ืื ืืืืื ืืืืืจ. ื ืืืจ ืืื ืื ืฉื ืกืืคืืื ืง ืฉืืืื ืฉืขื ืกืืฃ ืืฉื ื ืืื ืืคืืจ ืืช ืื ืืืชืื ืชืื ืืืืืืฃ ืืช ืืืื ื ื AI ืืืืืื ืืืืจ:
ืดืืชื ืจืืื, ืฉืื AI ืื ืืืืืฃ ืืืชื ื ืืืื ืืงืจืืืด
ืจืง ืืฉืืื ืืฉืืืข ืฉืื ืืช ื ืดืขืืืื...ืด.
ืืืื ืืืืืจ:
1. ืืื ืืืืืืืช AI ืื ืืืืืช ืืฉืืคืืช ืชืื ืืืช ืืืืืฆืจืช ืืงืกืืื ืืืฉืื ืืคื ืชืื ืืืช. ืืื ืื ืืืฉืืช.
2. ืืืง ืืฉืืขืืชื ืืืขืืืื ืฉืืื ืืื ืืฉืืื.
3. ืื ืคืจืืืงื ืชืืื ื ืืขื ืืื ืฉืจืืืชื ืืจืฉ ืืฆืืจืชืืืช ืืคืืชืจืื ืืช ืืืืฅ ืืื ืฉืืชืื ืืกืคืจ. ืจืืืชื ืืกืคืืง ืคืขืืื ืื ืงืืจื ืืคืจืืืงืืื ืืฉืืขืชืืงืื ืืฆืืจื ืขืืืืจืช ืชืื ืืืช ืืกืคืจืื. ืื ืื ื ืืืจ ืืื.
ืื ืืื ืืื ืืืื ืืืฉืื ืืื ื AI ืฉืืืื ืืืืื. ืืชืืชื ืขื ืืืืื ืืื:
https://www.tocode.co.il/blog/2025-05-emergent-is-crazy
ืื ืื ื ืื ืฉื ืืืืื ืืืืืื ืื ืืืืืช ืื ืืงืจืืช ืืืชื ื ืืฉื ืืืชืจ ืืื ืฉืืืื ื ืืคื ื ChatGPT. ืื ืืืจ ืืขืืืื ืขื AI ืจืง ืืืืื ืืฆืื ืืช ืืืื ื ืืื ืืืงืฆืืข ืฉืื ื ืืืจืื ืืืื ืชืฉืืืช ืื ืืจืืฉื ืืื ืืืืฆืจ ืืืื ืื ืืื ืฉื ืืขืจืืช ืชืืื ื ืืืฉืื ืื ืืื ืคืจื ืงืื. ืืืืื "ืขืืืื" ืื ืืื ืืืืื ืฉืืืฉืืื "ืขืืืื" ืื ืืกืืื ืืืชืื ืืืืืืช. ืื ืืืกืจ ืืื ื ืฉื ืืืื. ืืืฉืืื ืืขืืื ืื ืืืื ืืกืืื ืืืชืื ืืืืื ืืชืืืืช ืื ืืื ืื ื ืืขื ืืื, ืืืืืง ืืื ืฉืืขืจืืช ืืื ื ืืืืืืชืืช ืื ืจืืืืืช ืืขืืื ืื ืชืืื ืืกืืืืช ืืชืืืง ืงืื. ืืืช ืื ืืืื ืืืืืื.
1 419
ืืชืืื ื ืืชืืืคืช ืื ืฉืืืฉ ืฉื ืืืช ืืคืืื ืื ืืฉืชืืฉืื ืืขืืืจืื ืชืืื ื ืืื ืืช. ืืืขืื ืืื ืฉืื ืื ื ืืืืืฃ ืืื ืืช ืชืืื ื ืื ืืืื ืืืืืช ืฉืื ื ืืืืืฃ ืืืืืง ืืจืืข ืฉืขืืืจืืช 3 ืฉื ืืืช ืืื ืื ื ืืืืฅ ืืื ืืงืจืืกืื ืืื ืืฉืชื ืชืืื ืืช. ืืืชืจ ืืืืื ื ืืืื ืืกืคืืจ 3 ืฉื ืืืช ืืจืืข ืฉืืชืืื ื ืืชืืืคืช, ืืื ืงืฉืจ ืื ืืื ืืชืืืคื ืืืื ืืฉืชืืฉ ืื ืืืื ืฉืื ืื ืืืืืืื. ืืฉื ืืงืฉ ืืงืืื ืืชืงื ืืื ืืืชืื ืืช ืืงืื ืืื:
useEffect(() => {
if (images.length <= 1) return
const timer = setInterval(() => {
setCurrentIndex((prevIndex) => (prevIndex + 1) % images.length)
}, interval)
return () => clearInterval(timer)
}, [images.length, interval, currentIndex])
ืืืืืจ ืงืืื ืฉื ืื ืฉืืืื ืื ืืืคืก ืืช ืืืคืงื ืื ืคืขื ืฉืืืื ืืงืก ืืฉืชื ื ืืื ืืื ืื ืืฉื ืืฉื ืืช ืืช setInterval ื setTimeout, ืืืจืืช ืฉ setTimeout ืืืชืจ ืงืจืื ืื ืืื ืืืงืฉืจ ืืื.
ืืืืจ ืืื ืืืงืฉืชื ืืื ื ืฉืืืกืืฃ ืฉืขืื ืกืคืืจื ืืืืืจ ืขื ืืฉืื ืื ืืื. ืงืืื ืืืื ืฉืืื ืฆืจืื ืขืื ืืฉืชื ื ืกืืืื ืฉื "ืืื ืืื ื ืฉืืจ" ืืืืกืืฃ ืืืชื, ืืื ืืื ืื ืจืื ืฉืืขืฆื ืฉื ื ืืืคืงืืื ืงืฉืืจืื ืืืคืฉืจ ืืืื ืืืชื.
ืืืช ืืืช ืืกืืืืช ืฉืื ืื ื ืจืืืื ืืจืื ืืคื ืงืื ืืงืื ืฉ AI ืืืืฆืจ, ืืืฉืืื ืืช ืืฉืื ืฉืื ืื ืกืื ืืืฉืชืืฉ ื AI ืืื ืืฉืืชื ืงืื. ืื ืืกืืื ืฉื AI ืืฉืืจ ืงืื ืืฉื ืืืืื ืืงืื ืืจืื ืืืกืืจืื ืืืชืจ ืืคืขืืื ืจืืืช ืืคืื.
ืจืืฆืื ืืฉืืืข ืืืชืจ ืคืจืืื ืขื ืืืืืืืืช, ืืจืืืช ืืืืืืืช ื ืืกืคืืช ืื ืืฉืชืฃ ืืืืืืืช ืืฉืืื? ืื ืชืชืืืืฉื ืืืฆืืจืฃ ืืืื ืืืจ ืืขืฉืจ ื ืคืชื ืืช ืืื ืืื ื ืจืื ืืื ืืฉืื ื ืืืืข ืืืขืืืช ืืืื ืื ื ืืืื ืืื ืืข ืืืชื ืื ืืืชืืืื ืืืชื.1 419
# Count cows by counting occurrences of each digit in both sequences
# and taking the minimum, then subtracting bulls
secret_counts: dict[int, int] = {}
guess_counts: dict[int, int] = {}
for digit in self.secret_code:
secret_counts[digit] = secret_counts.get(digit, 0) + 1
for digit in guess:
guess_counts[digit] = guess_counts.get(digit, 0) + 1
total_matches = sum(min(secret_counts.get(digit, 0), guess_counts.get(digit, 0))
for digit in set(secret_counts.keys()) | set(guess_counts.keys()))
cows = total_matches - bulls
# Store the guess and result
self.guesses.append(guess.copy())
self.results.append((bulls, cows))
return bulls, cows
ืื ืื ืืฉืืื ืืกืคืืจ ืืื ืกืคืจืืช ืืืคืืขืืช ืืืงืื ืื ืืื, ืืืื ืกืคืจืืช ืืืคืืขืืช ืืืกืคืจ ืืื ืืืื ืืงืก ืืืจ. ืื ืงืื ืฉืื ืฉืคืืชืจ ืืช ืืืชื ืืขืื:
def compare(guess, code):
bulls = 0
cows = 0
for i in range(len(code)):
if guess[i] == code[i]:
cows += 1
elif guess[i] in code:
bulls += 1
return (bulls, cows)
ืืืจื ืฉืงืืื ืืืืื ืฉืฆืจืื ืืืฉื ืืช ืืกืคืจ ืืคืืืขืืช ืื ืืกืืช ืืืขืจื ืืืืืจื ืืืืช:
> Count cows by counting occurrences of each digit in both sequences and taking the minimum, then subtracting bulls.
ืื ืื ืืจืขืืื ื ืืื ืืื ืคืฉืื ืืืชืจ ืืื ืืกืืจืื ืืชืจืืื ืืื.
ืงืื ืืฉื ืืื ืงืื ืืื
ืืืขืืช ืืืื ืฉื AI ืฉืืืืจืช ืื ืคืขื ืฉืืื ืืืชื ืงืื ืื ืืืขืืคื ืืงืื ืืงืืื. ืงืื ืงืืื ืืื ืืืง ืืืคืจืืืคื ืืืื AI ืืืื ื ืืืจ ืื ืืืขืช ืืืืื ืืื ืื ืื ืืืงืฉืชื ืืืคืืจืฉ ืืื ืื ืื ืืืื. ืืืืืื ืืืื ืืืงืฉืชื ืืงืืื ืืืชืื ืงืืืคืื ื ืื ืฉื ืงืจืืกืืช ืชืืื ืืช ืฉืื ืืื ืฉื ืืืช ืืชืืื ื ืืฉืชื ื ืืงืืืืชื ืืช ืืงืืืคืื ื ืื ืืืื:
const ImageCarousel: React.FC<ImageCarouselProps> = ({ images, interval = 3000 }) => {
const [currentIndex, setCurrentIndex] = useState(0)
useEffect(() => {
if (images.length <= 1) return
const timer = setInterval(() => {
setCurrentIndex((prevIndex) => (prevIndex + 1) % images.length)
}, interval)
return () => clearInterval(timer)
}, [images.length, interval])
const goToSlide = (index: number) => {
setCurrentIndex(index)
}
const goToPrevious = () => {
setCurrentIndex((prevIndex) =>
prevIndex === 0 ? images.length - 1 : prevIndex - 1
)
}
const goToNext = () => {
setCurrentIndex((prevIndex) => (prevIndex + 1) % images.length)
}
if (images.length === 0) {
return <div className="carousel-empty">No images to display</div>
}
return (
<div className="carousel-container">
<div className="carousel-wrapper">
<button
className="carousel-btn carousel-btn-prev"
onClick={goToPrevious}
aria-label="Previous image"
>
‹
</button>
<div className="carousel-image-container">
<img
src={images[currentIndex]}
alt={\Slide ${currentIndex + 1}\}
className="carousel-image"
/>
</div>
<button
className="carousel-btn carousel-btn-next"
onClick={goToNext}
aria-label="Next image"
>
›
</button>
</div>
<div className="carousel-indicators">
{images.map((_, index) => (
<button
key={index}
className={\carousel-indicator ${index === currentIndex ? 'active' : ''}\}
onClick={() => goToSlide(index)}
aria-label={\Go to slide ${index + 1}\}
/>
))}
</div>
</div>
)
}
ืจืืืื ืืช ืืืขืื? ืืืื ื ืชืืงื ืืืคืงื:
useEffect(() => {
if (images.length <= 1) return
const timer = setInterval(() => {
setCurrentIndex((prevIndex) => (prevIndex + 1) % images.length)
}, interval)
return () => clearInterval(timer)
}, [images.length, interval])1 419
ืฉืืืฉ ืืืืืช ืฉื AI ืฉืืฉืื ืืืืืจ ืืฉืืืชืืื ืงืื
ืืืื ืืชืืื ื ืื ืขื ืืงืื ืืืจืืข ืฉ AI ืืืืฆืจ ืืื ืื ืื ืืืืืง ืืืืจ? ืืชื ื AI ืืืขื? ืืืื ืืืืืง ืืื ืืกืื ืืช ืืชืืื ืืืช ืฉืื ื? ืืืจ ืืขืฉืจ ืืืืงืจ ืื ื ืืขืืืจ ืืืืื ืจ ืฉื ืฉืขื ืขื ืืกืืจืื ืืืืืืืืช ืกืคืฆืืคืืื ืขื ืืืืืืช ืฉื AI ืืืชืืืช ืงืื ืืืื ืืฉืื ืืฉืื ืื ืืฉืื ืื ื ื ืขืืจืื ืื ืืงืืืื. ืืืืขืืช ืืืืืจืืช ืขื ืืืืืช ืืื ืืืืื ืืขืฉืืช ืืช ืืืืื ืืื ืงืืืื ืืคืงืืืื ืขื AI ืืืืืื ืืื, ืื ืืฉืื ืื ื ืืืืขืื ืืื ืืฆืคืืช ืื ืื ื ืืืืขืื ืืชืงื ืืช ืื. ืื ืืกืชืืจ ืืื ืืืืื ืื ืืืฆืืจืฃ ืืืื ื ืืืื - ืฆืจืื ืจืง ืืืืจืฉื ืืื ืืืงืืืื ืงืืฉืืจ ืืืืื:
https://tocode.ravpage.co.il/tocodeai
ืขืืฉืื ืืืื ื ืจืื ืืช ืขืืงืจื ืืืืจืื.
ืืขืืคื ืืชืื ืืช ืืื ืื ืขืฆืืื
ืืชืืจ ืจืืฉืื ืืขืืืื ืขื AI ืืื ืืืขืืคื ืฉืื ืืืืฉืช Object Oriented. ืขื ืคื ืื ืชืื ืืช ืืื ืื ืขืฆืืื ืืื ืืืฉื ืคืืคืืืจืืช ืืชืื ืืช, ืฉืคืืช ืจืืืช ืืฉืชืืฉืืช ืื ืืชืืจ ืคืจืืืืื ืืืืืื ืื ืืฃ ืืืืื ืืืฆืืคื ืืืคืชืืื ืืืืืจ ืืช ืืคืจืืืืื.
ืืื ืืืขืื ืืื ื"ืืื". ืืืืจืช ืืงืืืกืื ืืืืืจืช ืืืืกืืจืงืฆืืืช ืืืจืฉืช ืืืืจืืช ืขื ืืืขืจืืช, ื ืืกืืื ืืืจืื ืคืขืืื ืืฉืืื ืืฆืืจืชืืช. ืืฉ AI ืืืจืื ืงืื ืืงืืืกืื ืืื ืืคืกืคืก ืืืืื ืืืืช ืืงืืืกืื ืืืืื, ืืืืฆืจ ืืคื ืงืื ืืื ืงืืืกืื ืืืืืืจ ืงืืืกืื ืฉืืืื ืงืฉื ืืืชืืื ืืืชื ืืชื ืืื ืืืฉืชื ืื ืืขืชืื.
ืืืืื ืจืืฉืื ื ืืื Rails ื Stimulus - ืืืงืฉืชื ื AI ืืืชืื ืืื ื ืืืืฆืืช ื Stimulus ืืงืืืืชื ืืช ืืงืื ืืื:
import { Controller } from "@hotwired/stimulus"
// Connects to data-controller="click-counter"
export default class extends Controller {
static targets = ["count"]
static values = { count: Number }
connect() {
// Initialize count if not set
if (!this.hasCountValue) {
this.countValue = 0
}
}
increment() {
this.countValue++
}
countValueChanged() {
this.countTarget.textContent = this.countValue
}
}
ืืืืืจ ืืงืืืก JavaScript ืืฆืจืื ืืืืื - ืืงืื ืขืืื. ืงืืื ืฉืืข ืืื ื ืืืืฆืืช ืืืื ืืฆืจ ืงืืืก ืฉืืกืคืจ ืืืืืฆืืช ืืื ืืฉืชื ื Instance Variable ืืชืื ืืงืืืก. ืืืขืื? ืืขืจื ืฉื ืืกืคืจ ืืืืืฆืืช ืืืจ ืืชืื ื DOM ืืชืื ืืืืื ื this.countTarget. ืืคืฉืจ ืืจืืืช ืืคืืื ืืงืื ืฉื ืืฆืจ ืฉืื ืื ืฉืืื ืขืืฉื ืฉื ืื ืืืขืืืช ืืช ืืขืจื ืฉื ืืืชื ืืฉืชื ื this.countValue ืืื ืืืชืื ืืืชื ื textContent ืฉื ืืืืื ื.
ืงืื ื ืืื ืืงืฆืจ ืืืชืจ ืืืื:
import { Controller } from "@hotwired/stimulus"
// Connects to data-controller="click-counter"
export default class extends Controller {
static targets = ["count"]
increment() {
this.countTarget.textContent++
}
}
ืืืืื ืฉื AI ืืืืืื ืคืืชืื ืืื ืื ืขืฆืืื ืืืืืกืช ืืืืข ืืจืื ืืืฆืืจืช ืงืื ืื ืืคื ืฉืืืื ืงืฉื ืืืชืจ ืืฉื ืืช ืืืชืืืง ืืขืชืื.
ืืกืืื ืืืชืจ ืืื ืืคืฉืื
ืืื ืฉื ืคืืืชืื ืืชืื Simple is better than Complex ืืื ืืฆื AI ืืกืืคืืจ ืืื ืืคืื - ืืืคื ืฉืืคืฉืจ ืืื ืืช ืคืืชืจืื ืืืขืื ืืกืืืืช ืืืชืจ ืืื ืืขืืืฃ ืืช ืืคืืชืจืื ืืืกืืื. ืืืคื ืฉืืฉ ืงืื ืืกืืื ืฉืคืืชืจ ืืขืื ืื ืืงืื ืขืืืคืืช.
ืืืืืื ืจืืฉืื ื ืืืงืฉืชื ืืงืืื ืืืืฆืจ ืืฉืืง ืืืงืก ืขืืืื ื ืื ืืืืฉื. ืืื ืืฆืืื ืืื ืืืืฉ ืืช ืฉืืงื ืืืืฉื, ืงืืื ืืืจ ืืืืฉ ืืืืืจืืชื min-max ืืื ืืืืฆืจ ืืช ืฉืืงื ืืืืฉื ืืืื ืืืืชืจ ืฉืืื ืืืืจ. ืืืฉืืืื ืืื ื ืืื, ืื ืืชืืืืืื ืืื ืืฉืืื ืฉืื ืืงืืจืกื ืคืืืชืื ืฉืงืืืื ืืฉืืื ืืืืฉ ืืืงืก ืขืืืื ืืืืฉื ืงืืื ืฉืืงื ืืืฉื ืฉืื ืืืืคื ืืงืจืื ืืจืง ืืืจ ืื ืืืฉืืืช ืืื ืืก ืืช ืฉืืงื ืืืืฉื ืืืื.
ืืืืืื ืฉื ืื ืืืงืฉืชื ืืฉืืง ืืื ืคืืืขื. ืื ืืงืื ืฉืงืืื ืืฆืจ ืืื ืืืืืช ืืื ืืืืื ืืืื ืคืืืขืืช ืืฉ ืื ืืืืฉ ืืกืืื:
def evaluate_guess(self, guess: List[int]) -> Tuple[int, int]:
"""
Evaluate a guess and return the number of bulls and cows.
Args:
guess: List of integers representing the guess
Returns:
Tuple of (bulls, cows) where:
- Bulls: correct digits in correct positions
- Cows: correct digits in wrong positions
"""
if len(guess) != self.code_length:
raise ValueError(f"Guess must be {self.code_length} digits long")
if not all(self.min_digit <= digit <= self.max_digit for digit in guess):
raise ValueError(f"All digits must be between {self.min_digit} and {self.max_digit}")
bulls = sum(1 for i in range(self.code_length) if guess[i] == self.secret_code[i])1 419
ืืชืืืฉื ืฉืื ื ืืฉ ืืื ืืืฉ ืฉื ืงืจื AI ืืืื ืืคืชืืจ ืื ื ืืช ืื ืืืขืืืช ืืืืขื ืืืืืค ืืืื ืกืืื ื AI
ืืื ืืฉืื ืฉืื ืืืื ืืืฉืชืืฉ ืืื ืื ืืืืื ืฉืืฉ ืขืงืืืช ืืืืื ืืฉืืคืืื ืืืจื ืขืงืืืช ืืืืืื ืื ืื ืืืืจืื ืืืชืจ ืืื ืื ืคื 100 ืืื ืื ืคื 10
ืื ื ืืืืจืื ืฉืืืืื ื AI. ืืื ืืืื ืืืืืืื. ืืื ืฆืจืื ืืืืื
ืื ืื ืืืืืค ืืืฆืืง
ืืชืื ืชืื ืื ืืืืืื ืืืืขืื
ืืฉ ืขืงืืืช ืืืืื
1 419
ืงืืข ืืชืื ืืืื ืฉืฉืื ืืื ืืืชืณื (ืืืืฆืจ ืฉื ืืืืืืืื ื) ืขื ืคืจืืืงื ืฉืื ืื ื - ืฉืืื ืื ื AI
But even with all this effort, the results were honestly so inconsistent that I'm absolutely certain that reviewing + polishing all of the work done by the robots took more time than if we just did every single block by hand in the first place ๐ We signed up for this project thinking that with AI we could do it in maybe ~6 weeks, and it turned out to be more like ~12 weeks.
1 419
ืืืค ืคืืืชืื - ืืจืฆืช ืชืืื ืืช ืืืืืจืช ืืชืืฆืื
ืืคืงืืื eval ืืคืืืชืื ืืจืืฆื ืคืงืืื ืืืืืช ืืืืืืจื ืืช ืืชืืฆืื:
result = eval('2 + 5')
ืืื ืื ืืืื ื JavaScript, ื eval ืฉื ืคืืืชืื ืืงืื ืจืง ืคืงืืื ืืืช. ืื ืื ืขืืื:
result = eval("""
import os
os.name
""")
ืืืงืื eval, ืืคืงืืื exec ืืืืขืช ืืงืื ืงืื ืืืืจืืฅ ืืืชื. ืืืขืื ืขื exec ืืื ืฉืืื ืื ืืืืืจื ืขืจื ืืืื ืืฉืืื ืืืฉืชืืฉ ืื ืื ื ืืจืฆื ืืชืื ืืงืื ืฉืื ื ืืจืืฅ ืืฉืื ืขืจื ืืชืื ืืืืืืื. ืื ื ืืขืืืจ ื exec ืืืืื ืืชืืจ ืคืจืืืจ ืฉื ื ืืื ืืืฉืชื ืื ืืืืืืืืืื ืืืฉืืจื ืืืืชื ืืืืื. ืื ื ืจืื ืืื:
ns = {}
exec("""
import os
result = os.name
""")
print(ns['result'])
ืืกืืื ืืจืื ืคืขืืื ื ืจืฆื ืืขืืืฃ ืืช ื exec ื try/except ืืื ืืืคื ืืฉืืืืืช ืชืืืืจ ืืืืืื:
try:
ns = {}
exec("""
import os
result = os.name
""")
print(ns['result'])
except SyntaxError as e:
print(f"Syntax error: {e}")
ืคืงืืืช exec ืืืืื ืืขืืืจ ืืฉืื ื ืจืืฆื ืืืขืื ืงืื ืคืืืืจืฆืื ืืงืืืฅ ืฉื ืจืื ืืื ืคืืืชืื ืืืืืื ืงืืืฅ ืืื:
* settings.conf *
font_face = ""
font_size = 10
line_numbers = True
tab_size = 4
auto_indent = True
ืืคืขืืช ืืงืืืฅ ื exec ืืืขืืจืช ืืืืื ืจืืง ืืคืจืืืจ ืืฉื ื ืชืืื ืืช ืืืืืื ืืืคืชืืืช ืืืงืืืฅ. ื ืฉืื ืื ืฉืื exec ืืื eval ืืืืขืื ืขื ืกืืืื ื ืืืืื ืืฉืืขืืชืืื ืืืฉ ืืืืืืจ ืืืืคืขืื ืืืชื ืจืง ืืชืื ืกืืืืช sandbox. ืืคืืื ืื ืื ืื ื ืจืง ืจืืฆืื ืืืจืืฅ ืงืื ืฉ AI ืืฆืจ ืืชืื ืคืจืืืคื ืฉืื ื ืฉืืืชื.
ืืืืืข ื ืืกืฃ ืืขืื ืืืืืืืช ืขื exec ืฉืืื ืืงืจืื ืืื:
https://realpython.com/python-exec/1 419
ืืื ืขืงืืืช ืืืืื
ืื ืืจืืืฉ ืืื ืขื AI ืืคืขืืื, ืื?
ืฉืคืช ืืชืื ืืช ืืจืืฉืื ื ืฉืืืืชื ื ืงืจืื Turbo Pascal. ืืื ืื ืกืคืจ ืืฉื ืืืืจืื ืืฉืื ื Turbo Pascal 6 ืืืื ืื ืืกืืจืื ืืงืืขื ืงืื ืืืืืชื ืืขืชืืง ืงืืขื ืงืื ืืืกืคืจ ืืืืฉื ืืื ืกื ืืืืื ืืืืกืืจืื ืื ืื ืืืจ ืขืืฉื ืืื ืืฉื ืืช ืืช ืืงืื. ืืคืืื ืืืชืื ืชืืื ืืืช ืคืฉืืืืช ืืงื ืืจืื ืืื ืืื ืฉืื ืื ืงืื ืืื ืืจืื ืืืืื ื ืืกืืื ืืช ืฉืื ืขืืื.
ืขืืจื ื ืืจืื ืืื.
ืืืื ืืคืฉืจ ืืืืื ืก ืืงืืคืืืืื ืื ืงืจืกืจ ืื ืืืืก44 ืืืงืื ืืช ืืชืืื ืืช ืฉืืชื ืจืืฆื, ืืืงืฉ ืฉืื ืื ืืืงืื ืืืชื. ืืื ืืขืืืืช ืชืืืืจ, ืืื ืืขืืืช ืงืืืคืืืฆืื ืืขื ืืกืืจ ืืื ืืืขืืจืืช ืื ืื ืฉืืจื ืขืืฉื.
ืื ืคืื ืฉืื ืฉืื ืืืืื ืืืชืืื:
> Learning how to use LLMs in a coding workflow is trivial
ืื ืขืืจืช ืืช ืื ืืืจื ืฉืื ืื ื ืขืืจื ื. ืื ืืชื ืืืจ ืืืืข ืืืชืื ืงืื, ืื AI ืืกืื ืืืชื? ืืชื ืจืง ืืืชื ืฉืืื ืืื ืืืืช ืืืงืื ืชืฉืืื. ืื ืืืชืจ ืงื ืืื? ืืฉืฉืืืชื ืืืจ ืืืจ ืืื ืื ืืชืืื ื ืื ืืฉืืืื ืงืืคืืืืื ืืฆืืืชื ืืคืืชืื ืืืืฉื ืืืชื "ืคืฉืื ื ืืชื ืืืชืื ืชืื ืืืฉื ืืื ืืืจ ืืืื ื ืื ืฆืจืื ืืขืฉืืช". ืืืจ ืืืจ ืืกืืืจ ืื ืฉืื ืคืฉืื "ืืื ืืื ืืื".
ืืื ืื ืืคืืกื ืืกืชืืื ืขื ืืชืืื ื:
> Every time I tried using an LLM for core features of applications I develop at work, the implementations were questionable and I spent at least as much time rewriting the code than I would have spent writing it from scratch.
ืืืืขืฉื ืืืช ืืชืืื ื ืฉืื ื ืฉืืืข ืืื ืืจืื ืคืขืืื ืืืคืชืืื ืฉืขืืืืื ืขื AI ืืฉืื ื ืฉืืื ืืื ืืืื ืขื ืื.
ืขืงืืืช ืืืืืื ืฉื AI ืืืืืืช. ืืฉืจืืืืื ืขื ืืืคื ืืื ืืชื ืืืืข ืื ืืชื ืืฆืืื ืื ืืืจืช ืืชื ื ืืคื. ืืฉืืืืชื ืืืชืื ืงืื ืืื ืืฆืืืชื ืืชืืื ืืช ืื ืจืฆื ืื ืืจืงื ืฉืืืืืช. ืืื AI? ืื ืืื ืื ื ืืชื ืชืืฆืื ืืกืคืืง ืืืื ืืื ืืืืจืื ืฉืื ืืืื ืฉืืฉ ืืืชืจ ืืื ืืืืค, ืฉืืื AI ืื ืืืืื ืืกืคืืง ืื ืกืืคืืจ ืืืื.
ืืืื ืืืืืจ:
1. ืื ื AI ืืฉ ืขืงืืืช ืืืืื.
2. ืืฃ ืืื ืื ืืืื ืืืืืืฃ ืืชืื ืชืื ื AI.
3. ืืืืจืืช ืขื ืืืืืืืช, ืืืืืืืช ืืืืคื ืืขืืืื ืฉื AI ืืฉืคืจืช ืืฉืืขืืชืืช ืืช ืืชืืฆืื ืฉืืงืืืื ืืืืื.
Endi mavjud! Telegram Tadqiqoti 2025 โ yilning asosiy insaytlari 
