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

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

단 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

당신은 놓쳤을 수도 있습니다