단 15 분만에 파이썬으로 속도 읽기 앱 코딩 VIBE

저자의 이미지 | 표의 문자
사진 : 속도 읽기 앱에 대한 아이디어가 있습니다. 사용할 Python 모듈 및 라이브러리를 연구하고 다양한 구성 요소를 코딩하며 구문 오류를 디버깅하는 데 시간을 소비하는 대신 일반 영어로 원하는 것을 설명합니다. 몇 분 안에 글꼴 크기를 조정하고 AI 코딩 파트너와 사용자 경험 개선에 대해 논의합니다.
이것은 “Vibe Coding”입니다. 자연 언어 지침이 반복 대화를 통해 기능적 응용 프로그램을 얻는 데 도움이되는 공동 작업 접근법입니다. 전통적인 코딩 기술을 대체하는 것이 아니라 개념에서 작업 프로토 타입으로의 여정을 가속화하는 것입니다.
오늘, Python을 사용하여 단 15 분 만에 완전히 기능적인 RSVP (Rapid Serial Visual Presentation) Speed Reading 앱을 구축 한 방법을 살펴 보겠습니다.
🔗 Github의 속도 읽기 앱에 링크
아이디어에서 구현으로 이동합니다
아이디어가 있고 그것을 분위기로 코딩하고 싶다고 말하십시오. 이미 chatgpt, claude 또는 gemini를 사용하는 경우 계속해서 동일하게 사용할 수 있습니다. 이 프롬프트 (또는 더 나은 버전의 동일)를 사용하여 무엇을 구축 할 수 있는지 확인하는 것이 좋습니다.
1 단계 : 구축하려는 내용을 설명하십시오
간단한 요청으로 열 수 있습니다.
“RSVP (Rapid Serial Visual Presentation) 기술을 구현하는 Python을 사용하여 명령 줄 속도 읽기 애플리케이션을 만들고 싶습니다. 앱은 Ubuntu에서 실행되고 조정 가능한 속도로 순차적으로 단어를 표시해야하며 키보드 입력을 기반으로 기본 컨트롤을 포함시켜야합니다. 적절한 오류 처리로 깨끗하고 구조적으로 구조화 된 구현을 제공 할 수 있습니까?”
기술 사양이 없습니다. 자세한 요구 사항이 없습니다. 분명한 의도. Vibe Coding이 매우 시원한 곳입니다. 무엇아닙니다 어떻게.
이것은 우리에게 좋은 출발점을 제공합니다. 이 초기 프롬프트에서 기능적 터미널 기반 속도 읽기 응용 프로그램을 가져와야합니다.
class RSVPReader:
def __init__(self, text, wpm=250, chunk_size=1):
self.text = text
self.wpm = wpm
self.words = self._prepare_text()
self.current_index = 0
self.is_paused = False
self.delay = 60.0 / (wpm * chunk_size)
초기 구현에는 다음이 포함됩니다.
- 텍스트 처리 : 컨텐츠를 읽기 쉬운 청크로 분할합니다
- 속도 제어 : 구성 가능한 단어-분당
- 대화식 컨트롤 : 일시 정지, 이력서, 탐색, 속도 조정
- 진행중기 추적 : 진행률 표시 줄을 사용한 시각적 피드백
- 파일 지원 : 텍스트 파일 또는 직접 입력에서 읽으십시오
클래스의 전체 구현을 위해서는 rsvp_reader.py 파일을 확인할 수 있습니다.
2 단계 : 사용자 경험을 향상시킵니다
개선을 요청할 때, 우리는 설명적인 목표 지향 언어를 사용했습니다.
“터미널 창에 텍스트 디스플레이를 중심으로하여 시각적 프레젠테이션을 향상시키고 더 나은 가독성을 위해 글꼴 강조를 높이고 싶습니다. 깨끗하고 전문적인 출력을 유지하면서 터미널의 중앙 영역을보다 효과적으로 활용하기 위해 코드를 수정할 수 있습니까?”
이것은 터미널 조작을 자극했습니다.
def _get_terminal_size(self):
"""Get terminal dimensions for responsive layout"""
try:
import shutil
cols, rows = shutil.get_terminal_size()
return cols, rows
except OSError:
return 80, 24 # Sensible fallbacks
이제 속도 읽기 앱은 여전히 작동합니다. 그러나 최종 개선 사항을 추가 할 수 있습니다.
3 단계 : 필요에 따라 사용자 인터페이스 요구 사항을 개선합니다
최종 반복 요청은 요구 사항을 명확하게 지정합니다.
“저는 이러한 특정 요구 사항으로 인터페이스 디자인을 개선하고 싶습니다. 1) 1) 터미널 화면의 40%의 40%, 2) 더 나은 이해력을 위해 기본 판독 속도를 줄이기, 3) 읽기 텍스트 만 동적으로 업데이트하지 않는 정적 제어 인터페이스를 만듭니다.
이로 인해 다음 터미널 제어가 발생했습니다.
def _get_display_area(self):
"""Get the 40% center rectangle dimensions"""
cols, rows = self._get_terminal_size()
display_width = int(cols * 0.4)
display_height = int(rows * 0.4)
start_col = (cols - display_width) // 2
start_row = (rows - display_height) // 2
return start_col, start_row, display_width, display_height
def _draw_static_interface(self):
"""Draw the static interface"""
# Controls stay fixed, only words change
기술 세부 사항에 대한 개요
우리는 우리가 구축 한 RSVP Speed Reading 앱에서 다음과 같습니다.
반응 형 제어를위한 스레딩
이 방법은 터미널을 원시 모드로 전환하고 비 차단 I/O 폴링을 사용하여 메인 프로그램을 일시 중지하지 않고 실시간으로 키보드 입력을 캡처합니다.
def _get_keyboard_input(self):
"""Non-blocking keyboard input handler"""
old_settings = termios.tcgetattr(sys.stdin)
try:
tty.setraw(sys.stdin.fileno())
while self.is_running:
if select.select([sys.stdin], [], [], 0.1)[0]:
# Handle real-time input without blocking
스마트 터미널 포지셔닝
이 메소드는 ANSI Escape 시퀀스를 사용하여 터미널 스크린의 정확한 좌표로 텍스트를 배치합니다. 여기서 코드는 커서를 특정 행과 열로 이동하여 단어를 인쇄하기 전에 다음과 같습니다.
def _display_word(self, word):
# Use ANSI escape codes for precise positioning
print(f'\033[{word_row};{word_start_col}H{large_word}')
적응 속도 제어
이는 단어 길이에 따라 읽기 속도를 동적으로 조정하여 사용자가 긴 단어 (8 개 이상의 문자)에 대해 20% 더 많은 시간을 제공하고 짧은 단어 (4 자 미만)의 20% 적은 시간을 이해하여 이해력을 최적화합니다.
# Longer words get more display time
word_delay = self.delay
if len(current_word) > 8:
word_delay *= 1.2
elif len(current_word)
예, 앱을 실행하고 작동 방식을 직접 볼 수 있습니다.
먼저, 그렇게 실행할 수 있습니다. 스크립트 상단에 Shebang 라인을 추가 할 수 있는지 확인하십시오.
$ chmod +x rsvp_reader.py
당신은 그렇게 실행할 수 있습니다 :
$ ./rsvp_reader.py sample.txt
readme 파일에서 자세한 내용은 찾을 수 있습니다.
결론
우리의 분위기 코딩 세션은 다음과 같습니다.
- Python의 완벽한 기능적 터미널 기반 속도 읽기 앱
- 가변 읽기 속도 지원 (50-1000+ WPM)
- 일시 중지, 내비게이션 및 속도 조정에 대한 실시간 제어
- 모든 터미널 크기에서 작동하는 적응 형 디스플레이
- 깨끗하고 산만없는 인터페이스는 40% 센터 영역에 중점을 둡니다
- 길이와 복잡성을 기반으로하는 스마트 단어 타이밍
15 분 만에, 우리는 간단한 아이디어에서 누군가가 실제로 사용할 수있는 기능 응용 프로그램으로 갔다.
직접 바이브 코딩을 시도해 볼 준비가 되셨습니까? 간단한 아이디어로 시작하여 평범한 영어로 설명하고 대화가 어디로 가는지 확인하십시오. 코드는 다음과 같습니다.
발라 프리 야 c 인도의 개발자이자 기술 작가입니다. 그녀는 수학, 프로그래밍, 데이터 과학 및 컨텐츠 제작의 교차점에서 일하는 것을 좋아합니다. 그녀의 관심 분야와 전문 지식에는 DevOps, 데이터 과학 및 자연어 처리가 포함됩니다. 그녀는 독서, 쓰기, 코딩 및 커피를 즐깁니다! 현재 그녀는 자습서, 방법 안내, 의견 조각 등을 통해 개발자 커뮤니티와 지식을 배우고 공유하는 작업을하고 있습니다. Bala는 또한 매력적인 리소스 개요 및 코딩 자습서를 만듭니다.
Post Comment