4. 변수 (Variable)
정보를 담는 박스
var_name = content
var_name
content라는 내용이 var_name이라는 이름으로 저장되었다.
number
string
true / false
변수 선언 : 변수의 이름만 적으면 된다.
변수 할당 : =을 사용해서 변수에 값(내용)을 부여하는 것
> var_name
> var_name = 1
1
5. 배열 (Array)
박스들의 묶음
arr = [con1, con2, con3, …]
> arr = [“하나”, “둘”, “셋”, …]
> arr[0] = “하나” arr[1] = “둘” arr[2] = “셋”
같은 자료형을 가지는 것들 끼리 묶는다. (숫자, 문자열 …)
배열안에 있는 각 요소에는 index가 부여된다.
arr[0] arr[1] arr[2] arr[3]
하나 둘 셋 넷
6. 해시 (Hash)
이름이 지정된 박스들의 묶음
hash = {
key1 => value1,
key2 => value2
}
> hash = {“ewha”=>”hack”, “like”=>”your”,
“lion”=>”life”, “hello”=>”hi”}
> hash[“ewha”] = “hack”
hash[“like”] = “your”
hash[“lion”] = “life”
hash[“hello”] = “hi”
자동으로 부여된 숫자대신!
원하는 이름으로 index를 지정한다.
ehwa like lion hello
hack your life hi
hash
8. 심볼 (Symbol)
var
var1 / var2
string stringstring
string
> 공간의 낭비X
> 속도도 빠름
> 재사용 O
Hash의 Key로 Symbol을 사용한다.
9. 조건문 (control flow)
if (조건문1)
block1
elsif (조건문2)
block2
else
block3
end
조건문1이 true이면 block1 실행
조건문1이 false이고 조건문2가 true이면
block2 실행
조건문1, 조건문2 모두 false이면 block3 실행
10.
11.
12. 반복문 (Loop)
for var in range
block
end
1…10 : 1~9의 값 (배제)
1..10 : 1~10의 값 (포함)
for loop
루프를 반복횟수를 아는 경우
while loop
루프를 반복횟수를 모르는 경우
(특정 조건이 참일 때까지!)
count = 1
While (조건)
block
count += 1
end
16. .each
[배열에서]
한번에 하나씩 각 요소에 식을 적용
||사이에 원하는 변수설정 (해당 loop에서만)
array = {“a”, “b”, “c”}
array.each do |x|
puts “#{x}”
end
[해시에서]
한번에 한 섹션을 반복하기 때문에,
키 – 값 쌍을 반복 할 수 있다.
x에 key, y에 value가 온다.
array = {“a”=>1, “b”=>2,
“c”=>3}
array.each do |x, y|
puts “#{x} : #{y}”
end
19. .rand
그냥 rand만 써서 무작위로 숫자를 뽑을 수 있다.
rand : 0~1사이의 실수
()안에 숫자를 써서 해당 범위내의 숫자를 뽑는다.
rand(x) : 0~x사이의 정수
범위 지정을 위해 ..과 …을 쓸 수 있다.
숫자를 실수로(소수점이 있는 수) 쓸 수 있다.
메소드로 사용해서 배열, 해시에 있는 값을
랜덤하게 뽑을 수 있다.
rand
>> 0.19844698345
rand(1000)
>> 668
rand(5.0…9.0)
>> 6.489320
array = [“ㄱ”, “ㄴ”, “ㄷ”]
array.rand
>> “ㄷ”
20. .sort_by
배열을 지정한 목적에 맞는 순서로 정렬
colors = {“blue”=> 3, “green”=>1, “red”=>2}
colors = colors.sort_by do |color, count|
count
end
|color, count|에서 count로 지정을 했기 때문에 count기준
즉, 숫자기준으로 정렬한다. (오름차순 정렬)
>>> [[“green”, 1], [“red”, 2], [“blue”, 3]]
Q. 여기서 sort_by대신 sort를 쓴다면?
21. .select
특정 기준을 충족하는 값에 대해 해시를 필터링한다.
자신이 설정한 조건과 일치하는 키-값 쌍을 선택
grades = { hack: 100, your: 95, life :97, coding: 92}
grades.select{ |name, grade| grade < 97}
>> {:your => 95, :coding => 92}
Grades.select{ |k,v| k== :hack}
>> {:alice => 100}
22. .length 문자열, 배열의 길이를 알려준다.
.times 초소형 for loop , 지정된 횟수만큼 반복한다.
.reverse 문자열, 배열의 역방향 버전으로 만든다.
.upcase / .downcase 문자열을 모두 대문자 / 소문자로 변환한다.
.chomp 여분의 줄을 제거한다 (gets랑 많이 쓰인다.)
.capitalize 문자열의 가장 첫번째를 대문자로 변환한다.
.include? “char” 문자열에 “char”가 들어갔는가? (true / false)
gsub(/char/, “replace”) 문자열 “char”을 “replace”로 값을 바꾼다.
.split(“,”) “,”를 볼때 마다 문자열을 분할하여 배열로 만든다.
Hash.new(“nothing”) 초기값이 “nothing”인 해시를 생성한다.
.to_s / to_sym 심볼을 문자열로 / 문자열을 심볼로 변환한다.
.intern .to_sym과 같은 의미이다
●색은 대체가능
인터넷에서 웹을 통해 접근되는 대부분의 웹 페이지들은 HTML로 작성된다.
Html이라는 언어를 통해서 만든 파일을 html파일이라고 하며
크롬, 인터넷 EX 등에서 볼 수 있도록 만든 파일, 웹 문서라고 생각하면 됩니다.
인터넷에서 웹을 통해 접근되는 대부분의 웹 페이지들은 HTML로 작성된다.
Html이라는 언어를 통해서 만든 파일을 html파일이라고 하며
크롬, 인터넷, EX 등에서 볼 수 있도록 만든 파일, 웹 문서라고 생각하면 됩니다.
웹 브라우저에서 html을 사람이 볼 수 있는 형태로 바꾸어준다.
Html 파일로 어느정도 우리는 웹의 기본적인 기능은 구현할 수 있습니다.
각종 이미지, 배경음악삽입 동영상 등을 재생해서 사람들에게 정보를 줄 수 도있구
A태그를 이용해서 우리가 보통 사용하는 어플처럼 클릭화면 넘어가고 클릭하면 다음 html파일로 넘어가고 등등 다양한 페이지 네이션도 할 수 있습니다.
사실 네이버만 봐도 a태그 넘어가기 각종 이미지 삽입 등등 할 수 있어요.
그렇지만 우리가 지원서에 쓴 웹서비스를 html로만 만들 수 있을까요?
다시 네이버 화면을 볼까요? 우리는 그 화면을 넘어갈 수는 있지만
아이디 입력해서 확인은 어떻게요?
검색해서 그 검색결과에 대한 서치는 어떻게요?
사람들의 실시간 검색어를 분석해서 뜨게 만드는 거는 어떻게요?
사실 html은 모든걸 할 수 없어요. Html만 이용해서 보이는 페이지는 만들 수 있지만, 그 보이는 정보는 어떻게 띄울 건데요? 그냥 단순히 <h1>태그로 모든 내용을 써서?
단순히 <h1>, <p> 태그로만 해당 html 파일을 만들게 되면 네이버 처럼 정보가 업데이트가 되지 않아서 정적인 웹사이트가 되어버려요.
정보를 업데이트하려면 매번 새로운 정보를 <p>태그에 써서 새로운 html파일을 봐야하는거죠
내가 만든 html파일을 보려면 오로지 내 pc에서 html파일 뿐만 아니라 그 파일안에 들어가는 이미지 파일까지 모두 다운받아서 컴퓨터에서 실행시켜야 해당 html파일을 볼 수 있다.
하지만 우리가 사용하는 웹 사이트는 이 html파일을 웹 브라우저로 접속해서 볼 수 있어야한다.
하지만 우리가 사용하는 웹 사이트는 이 html파일을 웹 브라우저로 접속해서 볼 수 있어야한다.
멋사에서 만들 웹 서비스는 여러분들이 만들 고 싶은 웹 서비스이기 때문에 이런 제약점이 없어야 합니다.
멋사에서 만들 웹 서비스는 여러분들이 만들 고 싶은 웹 서비스이기 때문에 이런 제약점이 없어야 합니다.
멋사에서 만들 웹 서비스는 여러분들이 만들 고 싶은 웹 서비스이기 때문에 이런 제약점이 없어야 합니다.
이 웹 서비스 같은 경우는 한장의 문서파일인 html을 통해 제공한다.
이 웹 서비스 같은 경우는 한장의 문서파일인 html을 통해 제공한다.
이 웹 서비스 같은 경우는 한장의 문서파일인 html을 통해 제공한다.
이 웹 서비스 같은 경우는 한장의 문서파일인 html을 통해 제공한다.
이 웹 서비스 같은 경우는 한장의 문서파일인 html을 통해 제공한다.
이 웹 서비스 같은 경우는 한장의 문서파일인 html을 통해 제공한다.
이 웹 서비스 같은 경우는 한장의 문서파일인 html을 통해 제공한다.
즉 이런 한계점을 해결하기위해 프로그래밍 언어를 ruby로 사용하는 웹 프레임워크인 ruby on rails를 통해서 모두 해결 할 수 있습니다.
프로그래밍 언어인 ruby로 반복, 조건, 함수 등을 이용해서 코딩으로 원하는 대로 할 수 있다면
Rails로 ruby에서 한 프로그래밍을 바탕으로 웹사이트에 용이하게 적용 시켜준다.
그렇지만 우리가 원하는 건 그냥 인터넷 연결로 url을 치면 웹 브라우저로 많은사람들이 볼수 있게 하는것이다!
하지만 우리가 사용하는 웹 사이트는 이 html파일을 웹 브라우저로 접속해서 볼 수 있어야한다.
하지만 우리가 사용하는 웹 사이트는 이 html파일을 웹 브라우저로 접속해서 볼 수 있어야한다.
즉 이런 한계점을 해결하기위해 프로그래밍 언어를 ruby로 사용하는 웹 프레임워크인 ruby on rails를 통해서 모두 해결 할 수 있습니다.
프로그래밍 언어인 ruby로 반복, 조건, 함수 등을 이용해서 코딩으로 원하는 대로 할 수 있다면
Rails로 ruby에서 한 프로그래밍을 바탕으로 웹사이트에 용이하게 적용 시켜준다.
하지만 우리가 사용하는 웹 사이트는 이 html파일을 웹 브라우저로 접속해서 볼 수 있어야한다.
하지만 우리가 사용하는 웹 사이트는 이 html파일을 웹 브라우저로 접속해서 볼 수 있어야한다.
하지만 우리가 사용하는 웹 사이트는 이 html파일을 웹 브라우저로 접속해서 볼 수 있어야한다.
프레임워크: 앞서 웹 개발을 위해 각종 개발자들이 루비로 웹 서버를 만들고, 데이터베이스를 연결하고, html과 ruby를 연결하기 위해 코드를 전부다 작성했던 앞썬 경험들이 정형화 되어서 축적되어 하나의 틀로 굳어진 것!
개발을 위한 라이브러리는 물론, 코드 생성을 위한 툴 또는 동작 확인을 위한 서버 등을 한번에 제공해주는 풀스택(모두 들어있는) 프레임워크이다.
Rails 하나를 설치하는 것만으로도 애플리 케이션 개발에 필요한 모든 환경을 구축 할 수 있어서 환경을 준비하는데 필요한 시간과 노력이 비교적 적다.
하지만 우리가 사용하는 웹 사이트는 이 html파일을 웹 브라우저로 접속해서 볼 수 있어야한다.
프레임워크: 앞서 웹 개발을 위해 각종 개발자들이 루비로 웹 서버를 만들고, 데이터베이스를 연결하고, html과 ruby를 연결하기 위해 코드를 전부다 작성했던 앞썬 경험들이 정형화 되어서 축적되어 하나의 틀로 굳어진 것!