ONLINE CLASS

루비 스크립트 [입문부터 차근차근]

COURSE FOCUS

이 강의에서 배우는 핵심 실무

루비 설치 후 숫자와 문자열을 입력하고 사칙연산과 비교·논리 연산자의 결과를 확인하며 스크립트 문법을 익힙니다. 상수와 메서드 호출, 객체를 다루는 방식을 살펴보고 BasicObject와 Numeric 등 클래스의 메서드를 실습합니다. 파일 속성과 오류 관련 클래스도 함께 확인하면서 값의 형태에 따라 사용할 연산과 메서드를 구분해봅니다.

?

수강 전 꼭 확인하세요

수강 전 자주 묻는 내용을 간단히 안내드립니다.

Q초보자도 교재 없이 수강 가능한가요? 프로그램 정보는?
A

네, 영상과 실습자료로 쉽게 학습할 수 있습니다. 알지오는 원격평생교육원으로 프로그램 관련 정보는 제공하지 않습니다.

◆
기업이 선택한 신뢰 강의

검증된 커리큘럼과 전문 강사진으로 높은 만족도를 제공합니다.

자세히 보기  >
♥
수강료 일부는 사회환원에 사용됩니다.

작은 나눔이 더 나은 내일을 만듭니다.

자세히 보기  >
REAL REVIEW

수강생 리얼후기!

실제 수강생의 학습 경험을 확인해 보세요.

수강후기를 불러오는 중입니다.

RECENT Q&A

최근 수강질문

최근 등록된 수강질문을 작성순서대로 확인해 보세요.

ALZIO DEEP GUIDE

Ruby을 더 깊게 이해하기

20강에서 값·문자열·배열·객체를 시작해 메타프로그래밍·인코딩·열거자·파일·직렬화로 이어집니다. 구형 taint 개념과 현재의 외부 입력 신뢰 문제를 분리하고, Rails 전체 과정으로 확대하지 않습니다.

공식 기술정보 확인20강 커리큘럼 연결2026 현재 기술정보

루비 스크립트 [입문부터 차근차근] · 20강 · 6시간 47분

01

Ruby은 무엇인가

Ruby는 객체·메서드·블록을 중심으로 자료와 처리 동작을 표현하는 동적 언어입니다. 짧은 스크립트부터 라이브러리와 웹 개발까지 활용하지만 Ruby 자체와 Rails 프레임워크는 구분합니다. 실행 중 객체가 어떤 동작을 제공하는지 읽는 관점이 중요합니다.

02

관련 플랫폼과 개발도구의 관계

Ruby 실행환경·표준 라이브러리·gem 패키지는 서로 다른 역할입니다. 인터프리터가 코드를 실행하고 라이브러리는 파일·자료·응용 기능을 제공합니다. 패키지를 사용할 때는 현재 Ruby와 그 패키지의 호환 조건을 확인해야 합니다.

03

Ruby의 핵심 기능

기술 자체의 기능과 이 강좌의 직접 학습 범위는 다릅니다. 아래 연결 표시는 저장된 공개 커리큘럼에 근거합니다.

객체·메서드

값과 동작을 객체로 다룹니다. 어떤 클래스의 어떤 메서드를 호출했는지 확인하면 실행 중 오류를 찾기 쉽습니다. 이름이 같더라도 객체의 실제 역할과 반환값을 대조해야 합니다.

강좌에서 직접 학습 · 5·8·10·19~20강

배열·해시·범위

순서 있는 값과 키 기반 자료·구간을 표현합니다. 자료의 접근 규칙을 선택하면 불필요한 검색과 분기를 줄일 수 있습니다. 배열 인덱스와 해시 키는 다른 계약입니다.

강좌에서 직접 학습 · 3~4강

블록·열거자

반복 동작을 전달하고 순회를 구성합니다. 자료를 한꺼번에 만들지 않는 처리와 결과 배열을 만드는 처리를 구분할 때 유용합니다. 지연된 순회도 결국 실행되는 작업 비용을 확인해야 합니다.

강좌에서 직접 학습 · 7·13~15강

클래스·모듈·메타프로그래밍

코드의 구성과 동작 정보를 다룹니다. 공통 기능과 동적으로 조사할 정보를 분리해 재사용할 수 있습니다. 동적으로 메서드를 다룬다고 모든 오류를 실행 전에 찾는 것은 아닙니다.

강좌에서 직접 학습 · 8·10~12·19강

문자·파일·예외

문자 인코딩과 외부 자료의 실패를 처리합니다. 파일의 바이트와 해석된 문자열을 나누면 깨진 글자와 읽기 오류를 구별할 수 있습니다. 예외 이름을 외우기보다 실패 조건과 처리 범위를 확인하세요.

강좌에서 직접 학습 · 13~14·16~18강

직렬화·실행환경 도구

객체 자료의 저장과 실행 자원의 상태를 다룹니다. Marshal은 신뢰하지 않는 입력을 읽는 용도로 무심코 사용하면 안 됩니다. 저장 형식과 외부 입력의 신뢰 조건을 함께 살펴야 합니다.

17~18강 · 안전한 외부 입력 처리 전체는 직접 학습 미확인
04

이 과정의 실제 작업 흐름

1~8강은 숫자·문자열·배열·해시·객체·연산·분기·반복·메서드·클래스입니다. 9강은 공개 제목과 설명이 일반적인 영문 소제목이므로 특정 앱 구축 기능으로 확정하지 않았습니다. 확인된 회차만 직접 학습 범위로 연결합니다.

10~15강은 Method 정보·표준 클래스·Dir·ENV·인코딩·URI·파일·Enumerator입니다. 16~20강은 Fiber·파일·GC 도구·직렬화·MatchData·Math·오류·Object로 넓어집니다. 서로 다른 표준 클래스의 예시를 하나의 완성 앱 제공으로 읽지 않습니다.

  1. 값·문자열
  2. 배열·객체
  3. 제어·클래스
  4. 메서드·모듈
  5. 파일·열거자
  6. 예외·직렬화 확인
05

핵심 구조를 이해하는 방법

변수의 이름과 실제 객체의 형식은 같은 개념이 아닙니다. 객체 비교·동등성·ID·메서드를 나눠 읽으면 같은 객체를 공유하는 상황을 설명할 수 있습니다. 동적 언어도 자료의 형식과 허용 동작이 있으므로 아무 값에 아무 호출을 해도 된다는 의미가 아닙니다.

06

실무 적용과 결과 확인

3·13강의 문자열과 인코딩을 복습할 때 원래 바이트와 화면 문자를 구분해 보세요. 잘못된 인코딩과 파일 접근 실패를 각각 확인하는 것은 추가 응용 점검입니다. 외부 파일을 읽었다는 사실만으로 내용이 올바르게 해석된 것은 아닙니다.

14~15강의 열거자를 배열 결과와 비교해 필요한 값이 만들어지는 시점을 기록하세요. 18강 직렬화는 자료 형식뿐 아니라 입력의 출처를 확인하는 학습으로 연결합니다. 신뢰하지 않는 Marshal 입력은 추가 보안 주의사항이며 안전한 외부 입력 처리 전체를 강좌가 제공한다는 뜻은 아닙니다.

파일·문자 자료

13~15강에서 인코딩·파일·열거자를 연결합니다. 깨진 문자와 잘못된 파일 경로를 비교하는 것은 추가 점검 제안입니다.

실제 회차와 복습 응용 구분

표준 객체의 동작 조사

10·18~20강의 Method·Marshal·MatchData·Object를 호출과 결과의 관계로 읽습니다. 신뢰하지 않는 직렬화 자료를 실행하는 용도로 안내하지 않습니다.

실제 회차와 복습 응용 구분
07

이 강좌에서 집중할 전문주제

본 과정의 전문 축은 표준 객체·열거자와 파일 자료입니다. 10강의 Method 정보를 19~20강 객체·모듈·메서드 확인에 연결하면 객체 이름과 실행 동작을 분리하기 쉽습니다. 14~15강에서 순회와 파일 처리의 결합을 비교하세요.

6강 오염된 객체 표기는 구형 taint 체계로 읽어야 합니다. Ruby 3.2에서는 관련 taint/untrust 메서드가 제거되었습니다. 그 기능이 외부 입력의 안전성을 자동으로 보장하는 현행 방법이라고 안내하지 않습니다.

08

현재 기술과 강좌 환경의 관계

공개 자료만으로 Ruby·표준 라이브러리 전체의 제작 버전은 확정되지 않습니다. 예전 taint 표기와 IO::Buffer 등 다른 시기 기능이 함께 등장하므로 한 버전을 추측해 묶지 않습니다.

현재 Ruby의 라이브러리와 각 호출의 지원 조건을 대조하세요. 제거된 taint 체계는 당시 개념이며 신뢰하지 않는 자료를 별도로 검증해야 합니다. Rails·최신 패키지 관리·배포·보안 전체는 본 강좌 직접 범위로 확인되지 않습니다.

09

목적에 맞는 기술 선택과 비교

아래 비교는 목적과 작업 구조를 선택하기 위한 안내입니다. 다른 기술 전체를 본 강좌에서 가르친다는 뜻은 아닙니다.

목적에 맞는 기술 선택과 비교
선택지작업 접근이 강좌와의 관계
Ruby객체·블록·동적 호출본 과정 중심
Python다른 동적 언어와 자료 처리문법·라이브러리는 별도 학습
RailsRuby 웹 프레임워크언어와 프레임워크를 구분
10

기술개념과 알지오 커리큘럼 연결

회차는 공개 커리큘럼의 실제 순서입니다. 실습 후 응용 제안과 현재 기술 참고정보를 강의에서 제공하는 실습으로 해석하지 않습니다.

기술개념과 알지오 커리큘럼 연결
기능·개념무엇인가실무 의미강좌 회차학습 상태
값·문자열·자료 구조입력 자료와 표현형식과 접근 방식1·2·3·4강강좌에서 직접 학습
객체·연산·제어·클래스실행과 상태 구성동작·공유 상태 확인5·6·7·8강강좌에서 직접 학습
공개 제목 기준 기초 소개영문 소제목만 확인세부 학습 미확정9강기초 소개 · 세부 범위 미확정
Method·표준 클래스·환경객체 정보와 실행 자원API 역할 구분10·11·12강강좌에서 직접 학습
인코딩·파일·열거자외부 자료와 순회바이트·값·처리 시점13·14·15강강좌에서 직접 학습
Fiber·파일·GC실행환경과 자원 도구상태·진단 결과 확인16·17강강좌에서 직접 학습
직렬화·매칭·수학·오류객체 자료와 예외입력 신뢰와 실패 조건18·19·20강강좌에서 직접 학습
11

처음 배울 때 자주 생기는 오해

Ruby와 Rails는 같은가?

언어와 웹 프레임워크의 관계입니다. 공개 20강은 Ruby 객체와 표준 클래스 중심입니다. Rails 웹 서비스 전체 제공으로 확대하지 않습니다.

동적이면 타입이 없나?

객체의 형식과 허용 동작이 있습니다. 5·20강에서 객체와 메서드를 확인하세요. 잘못된 호출은 실행 중 실패할 수 있습니다.

taint로 현재 보안이 해결되나?

제거된 구형 기능입니다. 6강의 당시 개념과 현재 입력 검증을 구분하세요. 자동 안전성 보장으로 읽지 않습니다.

Enumerator는 항상 배열인가?

순회를 나타내는 역할입니다. 14~15강에서 결과와 처리 시점을 대조하세요. 지연된 실행이 비용을 없애는 것은 아닙니다.

Marshal이면 모든 외부 자료를 읽어도 되나?

신뢰하지 않는 입력은 위험할 수 있습니다. 18강의 저장·복원과 입력 출처를 구분하세요. 외부 교환 형식 전체의 안전한 대안으로 단정하지 않습니다.

9강에서 특정 앱을 완성하나?

공개 설명은 세부 기능을 특정하지 않습니다. 기초 소개로만 연결했습니다. 확인되지 않은 결과물을 제공한다고 표시하지 않습니다.

12

다음 학습 방향

파이썬 (실무+데이터분석)

다른 동적 언어의 자료형·파일·객체 범위를 비교합니다.

자료 보기 →

Ruby 관련 과정 비교

입문·실무·심화 과정의 실제 커리큘럼을 목적에 맞게 비교합니다.

자료 보기 →

실습과 복습 계획

새 환경에서 예제를 확인하고 학습 계획을 세우는 방법을 살펴봅니다.

자료 보기 →

기술정보는 Ruby 공식 프로젝트의 공식자료를 기준으로 검토했으며, 강좌 범위는 루비 스크립트 [입문부터 차근차근]의 공개 커리큘럼과 구분했습니다.

공식 기술정보 확인일: 2026-10-05 · 강좌 업데이트일을 의미하지 않습니다.

루비 스크립트 [입문부터 차근차근] 루비 스크립트 [입문부터 차근차근]
  • 루비 스크립트 [입문부터 차근차근]

  • 강의구성
  • (20강) 전체 : 6시간 47분|평균 : 20분21초
  • 이용기간/강사
  • 1개월2개월
    알지오 R&D [IT]
  • 증빙가능
  • 수료증, 수강증, 학습진도
  • 수강료
  • 190,000원할인95,000원
?

수강 전 꼭 확인하세요

수강 전 자주 묻는 내용을 간단히 안내드립니다.

Q 초보자도 교재 없이 수강 가능한가요? 프로그램 정보는?
A

네, 영상과 실습자료로 쉽게 학습할 수 있습니다. 알지오는 원격평생교육원으로 프로그램 관련 정보는 제공하지 않습니다.

  • 01.13분 루비 설치 후 주석입력, 숫자,식별자
    리터럴, 정수, 부동소숫점수 숫자의 형태를 공부합니다
    루비를 설치합니다, 숫자에 대해서 알아봅니다 식별자란 무엇일가? 키워드의 의미, 공백과 메소드 호출의 문제를 설명합니다/리터럴을 설명합니다/블록의 의미/인코딩 정수 진수표현 부동소숫점
  • 02.9분 사칙연산, 문자열
    사칙연산과 나눗셈의 결과, 거듭제곱을 공부합니다. 문자열을 입력합니다
    사칙연산, 피연산자에 따른 나눗셈, 거듭제곱연산자, 문자열을 입력
  • 03.21분 here document, 문자열 연산자
    이스케이프 문자, 문자열 전개, 부분문자열, 배열
    이스케이프 유니코드 문자열 구분자, Here Document 쉘 연산자문자열 반복 비교, index를 이용해서 부분 문자열
  • 04.19분 배열, 해시, 범위
    배열을 선언 참조 연산자 해시 범위값
    범위 지정 부분문자열, 배열 항목 제거 배열 합집합 교집합, 해시 심볼로 해시 범위값 문자의 객체의 참조
  • 05.16분 객체와 클래스
    객체의 형식을 확인합니다, 선언된 객체의 메서드를 확인합니다, 객체를 비교합니다
    객체의 형식과 클래스 상위클래스, is_a 포함관계 respond_to?, 객체 비교
  • 06.14분 비교연산, 객체 얼리기, 오염된 객체
    상수, 메서드 호출, 대입 연산자 논리연산자. 비트연산자, 3항연산자
    비교연산자 객체(동결), 오염된 객체 상수 메서드 호출, 부호 연산자,지수 연산자,사직연산의 우선순위,비트이동연산자, 논리연산자. 비트연산자, 3항연산자
  • 07.18분 if, unless, case, case, 반복문, 반복자
    if, unless, case, while, until, for/in 반복자 여러값 조작
    문장과 제어구문, 외부 인수 if elsif unless case, while until for, in, times each map upto collect select reject inject return break
  • 08.20분 next, redo, 싱글톤메서드, alias, 인수의 기본값, 클래스정의
    접근자, 클래스메서드, 클래스변수
    next, redo, 오류 메시지, 싱글톤메서드, 메서드에 별명, 인수에 기본값, 클래스 정의, 접근자, 클래스 변수
  • ruby 스크립트 오픈소스 실습
  • 09.13분 All together now, All's Well That Ends Well, And Now For the Startling Conclusion
    The Stuff Apps are Made of, Quickening it Up
    You've Taught Your App to Reject Worthless Things, Your Own Turf, What's that Blurb all about?
  • 10.16분 Ruby에서 메타프로그래밍, 클래스의 메소드
    Method 객체의 inspect 메소드를 사용하여 메소드의 정보를 문자열로 반환하는 예제
    객체의 메서드를 동적으로 바인딩 호출, 클래스의 메소드가 어떻게 동작하는지, 다형성 -> 클래스의 상속과 메소드의 동작
  • 11.25분 ARGF 클래스 BasicObject module, Complex
    클래스 바인딩, 모듈 비교, 공용 클래스 메서드, 클래스 연속
    ARGV와 ARGF, Private 인스턴스, 모듈 및 싱글톤 클래스의 메서드를 제거, 클래스의 행동을 동적으로 변경, 공용 클래스 메서드, Public, Private Instance 메서드
  • 12.24분 클래스 데이터, 공용 클래스 메서드 및 Dir ENV
    Public Instance 메서드, 배열 분해
    Data 클래스 Measure 정의, Comparable Event 클래스, 상수에 클래스 저장 가독성, 데이터 클래스를 정의, Ruby에서 디렉토리를 나타내는 Dir, 현재 환경 변수를 주어진 해시로 대체
  • 13.28분 클래스 인코딩 변환 InvalidByteSequenceError URI 클래스
    UndefinedConversionError 예외발생에 모든것, 모듈 열거 가능 triples
    Encoding.locale_charmap, Converter incomplete_input?, 인코딩 호환성, include Enumerable, ll? 메서드, 웹 페이지에서 단어 그룹화, drop each_entry , 피타고라스의 삼중수(triples), 주어진 블록, 기호 연산을 열거
  • 14.25분 클래스 열거자 mbox 파일 파싱, slice_when 배열관련
    파일을 가져와서 파일의 수정 시간, 여러 개의 배열
    sort, sort_by 배열, 해시, 블록 benchmark 모듈, 파일의 수정 시간, 누적 해시값 Array#tally, 여러 개의 배열을 묶는, each_with_object, each, Enumerator와 Fiber의 상호, 객체의 내부 반복자(internal iterator) 외부 반복자(external iterator)
  • 15.21분 to_enum Enumerator Enumerator::Chain, Lazy
    공용 클래스 메서드, 객체의 메서드 Enumerator, with_object
    변환된 Enumerator를 사용하여 반복 작업, Enumerator에 객체 연결반복, feed 메서드를 사용, next 메서드 값, next 메서드를 호출, 다음에 반환될 값, 입력으로 받은 시퀀스 필터 변환, lazy 사용하면 필요한 만큼의 연산, 무한대의 시퀀스
  • 16.26분 Product, Errno, MyLibrary, FalseClass, Fiber, File.blockdev, Spaceship
    StandardError, (AND), (XOR), (OR)는 불리언, File::Constants, File.world_readable File.world_writable, Public Instance Methods
    StandardError backtrace nil 이 반환, 비트 연산자 (AND), (XOR), (OR), worker-manager Fiber에게 제어를 넘기는 역할, 새로운 스레드를 생성하여 백그라운드에서 비동기적으로 작업 File.world_readable? truncate 메서드
  • 17.22분 이진 플래그, GC::Profiler, IO::Buffer, Array#fetch
    GC::Profiler.report 가비지 컬렉션GC::Profiler
    클래스의 인스턴스, (Hash)를 생성 수정, include? 메서드와 배열, 객체를 키로 사용하여 해시를 생성, eof? 여부 확인, gets 파일에서 한 줄씩, File.open 바이트 수만큼, 버퍼를 생성하고 조작, 버퍼를 해제, locked 잠금, slice 확인 수정, Array#fetch
  • 18.26분 LocalJumpError, Marshal, MatchData
    객체 직렬화와 관련된 메소드들, 비트 슬라이싱
    Integer.sqrt, 이진수 비트 시프트 <=> >= >> bit_length, divmod, fdiv, gcd 최대 공약수, gcdlcm 최소 공배수 배열,, remainder, size, to_s, upto, fetch, Marshal.dump
  • 19.25분 Math, Method, Module
    THX1138., hoge, MatchData, offset, MatchData, 모듈의 여러 삼각 함수와 쌍곡삼각 함수
    정규표현식을 사용하여 패턴에 일치하는 부분을 추출, 시작과 끝 인덱스, values_at, Math, method, curry, Math CONST meth, 클래스에 다중 상속, autoload, module_eval, class_exec, Fred
  • 20.26분 NameError, NilClass, Numeric, Object
    메모리 위치(오브젝트 ID)를 공유, abs, 여러 메소드 실습
    객체지향 프로그래밍과 객체의 불변성, @string, Rational 분수, 숫자의 절대값, coerce 혼합 타입, divmod, eql?, clone과 dup, extend, inspect, instance_variable_defined

강의목록 다운로드                        1:1 강의 질문&답변






도움이 필요하신가요?
💬
알지오 학습·수강 도우미
운영진이 확인한 안내를 자세히 보고, 필요하면 바로 상담하세요.
상담 상태 확인 중