Elixir/Phoenix 맘에 안 드는 초보자 시작 Ruby on Rails

개시하다


이 화면을 보세요.

특별히 Rails 페이지에 표시되는 것은 없습니다. 저는 오늘부터 Ruby on Rails를 시작합니다.
그리고 실제 템플릿과 컨트롤러의 코드가 마지막이니까 훑어보지 마세요.
원래는 밴드 멤버/기타리스트 지원을 거쳐 음악 프로듀싱 위주의 사람이었는데, 우주가 가장 좋아하는 앱은 애블리턴 라이브였다.
첫 번째 프로그래밍을 한 달 동안 자바의 가르침을 포기하고 Elixir가 되겠다는 뜻을 세웠습니다. 그래서 저는 북규슈에 10개월 동안 갔습니다.지금은 HKB 마니아다.
현재 도쿄도 내 Elixir/Phoenix의 기업에서 실습을 하고 있지만 현실은 상당히 심각하다.
그리고 국내에는 아직 Elixir 초보자를 위한 문헌이 충분하지 않다.
'하고 싶은 거 돈 없어'.
음악이랑 똑같잖아!
하지만 음악을 통해 키워낸 못지않은 노력으로 목숨을 걸었으니 그 기업이 원래 프로였던 루비 온 레일스를 해야 하지 않을까.
수정 4판 베이스 루비 온 레일스(IMPRESS KISO SERIES) 구로다 누
나는 이 책을 손에 쥐고 하루에 80페이지 정도 진행되었다.
"Elixir랑 비슷해서"완고하게 나서지 못한 루비.
하지만'엘릭시어'와 비슷해서 단 하루만에 많은 것을 배웠기 때문에 나 혼자 샘플 PJ를 생각하면서 프로젝트를 하고 있다.

환경 구조


현재 환경
Apple MacBook Pro(16inch, 2019)
2.3GHz 8core Core i9/32GB RAM/1TB SSD/Radeon Pro 5500M 4 GB
(이래도 음악 제작의 다핵 병행 처리는 엄격하고 불쾌하다.)
macOS 10.15.2
Xcode, Commandrain 개발 도구, Home Brew를 설치하는 전제에서 먼저 사랑을 베십시오.
(Time Machine 복원을 하지 않아 환경을 만들었기 때문에 C++를 할 때 이 근처에서 까다롭다고 느낀다)

rbenv


brew install rbenv ruby-build
(Elixir로 말하자면 이 asdf야. 그것도 버전이 지정됐는지 kokura.ex 디렉터리에 넣었잖아...)

Ruby

rbenv install x.x.x
rbenv global x.x.x #有効化
ruby -v #確認
많은 언어가 좌절을 겪었기 때문에 나는 환경 구축에 익숙해졌다.
농담하다
많이 부러졌어, 이 정도야!
기본적으로 SQLite3이라는 데이터베이스가 사용됩니다.
Elixir 때 Postgres의 구축 미스 Ex가 빨갛게 변했어요...

Rails 애플리케이션 생성


적당한 디렉터리에서

rails new helloandcalc -BCMT --skip-coffee -d sqlite3
나중에 bundle 명령을 사용하기 때문에 - B (Phoenix를 mix deps.get이라고 하나요?)
CMT에 관해서는 먼저 매개변수를 지정하지 않고 사용하지 않는 것을 생성합니다.
-d 데이터베이스를 지정합니다.
(SQL이 되고 싶지만 아무것도 안 했는데...)
이렇게 해서 포닉스와 비슷한 김PJ를 만들었다.
(U2 포노의 지연 작업은 로버트 플립이 모방한 말...)
cd helloandcalc
bundle install
이렇게 되면 Gemufilelock에 따라 필요한 Gem 패키지를 설치합니다.
(역시mixdeps.get의 결말 63;)

어플리케이션 구현


컨트롤러 생성

bin/rails g controller controller top index
여기서 앱/controllers를 켜주세요.
app/controllers/top_controller.rb

class TopController < ApplicationController
  def index
  end
end
class~ 대상을 향한 것 같아요.
의도적으로 제작한 TopControlle r급이 원래의 Application Controller급을 계승했다는 말씀이십니까?
그리고 def~end 이 Elixir 모듈에서 흔히 볼 수 있는 기법입니다.
루비는 방법이라고 하던데.아니면 대상을 향해.

경로


Rails에는 MVC 아키텍처가 있습니다.
모델은 DB의 데이터를 처리하고 컨트롤러는 이 데이터를 받아들여 보기라고 불리는 HTML에 포함된 템플릿을 통해 클라이언트의 브라우저에 데이터를 표시합니다.
그 인수인계를 위해 PJ의 경로를 만지작거리다.
Phoenix에서 전체 베껴쓰기로 끝나는 이 부분을 명확하게 배우기 시작했다.
저는 개인적으로'서버 측'이라는 개념을 알게 된 후에 프론트 데스크는 정말 표면적인 일이고 백엔드는 기본적으로 인프라 시설점이어서 매일 혼란스럽다고 생각합니다.
말이 빗나가다.경로를 만지작거리다.
config 디렉터리의routes.rb를 열고 안에 있는 것들을 모두 삭제해라
config/routes.rb
Rails.application.routes.draw do
  root "top#index"
end
Node.js에서'뭐라고 썼는지 전혀 몰라요'라고 좌절한 적이 있어요.
이럴 때는 프레임워크 라이브러리와 모듈을 사용합니다.
이렇게 되면 첫 페이지에 대응하는 동작은 TopController의 index가 된다
그러니까

뷰 생성하기


드디어 HTML에 삽입된 템플릿을 만들려고 합니다.
Phoenix 및 indexhtml.eex로 <%===>을 둘러싸고 묻은 물건입니다.
근데 라일스도 완전 똑같잖아!
app/views/top 아래의 index.html.eb 열기
app/views/top/index.html.erb
<h1><%= @hello %></h1>
<p><%= puts 2 * @calc %></p>
미리 준비하다.
PJ로 만든 Helloandcalc 폴더로 이동합니다
bin/rails s
필닉스의 iex-Smix phx를 호되게 때렸다.서버 녀석이야!
그런데 틀만 만들어서 컨트롤러가 없어요.

오류가 발생했습니다.

템플릿에 Ruby 구문 포함


한 시간 동안 격투를 하면서 템플릿에서 할 수 없는 식의 오류를 지켜보면서 최종적으로 완성된 코드가 여기에 있다.
app/views/top/index.html.erb
<h1><%= @hello %></h1>
<p><%=   @calc  %></p>
<p><%= "わたしの生まれ年は1989年です。" %></p>
<p>kmizuno0211の生まれ年をtop.controller.rbに表記:</p>
<p>@yearの値は: <%= @year %></p>
<p>わたしは西暦 <%= @year %> 生まれです。</p>
<p>西暦から1988を引くと:<%= heisei = @year - 1988 %></p>
<p><%= "わたしは平成#{heisei}年生まれです。" %></p>
컨트롤러의 index 방법은
app/controllers/top_controller.rb
class TopController < ApplicationController
  def index
    @hello = "Hello"
    @calc = 2 * 6
    @year = 1989

  end
end
다음 단계를 반복하면서 당초 Helloandcalc와 PJ명을 결정했을 때의 디자인과 크게 벗어났다.쓴웃음
작곡도 늘 있는 일이야.도구에 익숙해졌으면 좋겠어요!(단맛)

끝말


공부가 순조롭게 진행되더라도 자신이 하고 싶으면 여러 가지 실수를 하게 된다.
마지막으로 간신히 갔다는 지령 중git에 대한push가 잘못 막힐 것 같아서 (울음)
멀티코어 병렬 처리와 데이터 양의 증가를 예견하고 함수형 언어인 Elixir를 걸었다.
하지만'엘릭시와 비슷하다'는 생각에 끈질긴 루비온 레일스부터 많은 것을 배웠다.
꾸준히 노력하겠습니다.
Kento Mizuno

좋은 웹페이지 즐겨찾기