[Rails] ".].erb"를 전혀 사용하지 않고 비동기 처리만 사용하여 디스플레이 속도(views)가 폭발 속도로 변하는 이야기

1516 단어 Railstech
안녕하십니까? 저는 흐리멍덩한 아마추어 엔지니어입니다.'유기'라고 합니다.
오늘 트위터에서'젠'이라는 새로운 프로그래머를 위한 서비스가 시작된 것을 본 것 같아서 바로 사용해 보기로 했어요!
그렇다면 이번 화두는 가벼운 레일스다.
내가 사용하는 서버 Rails의 응답 시간은 600ms→50ms입니다.
(views 400ms→0.1ms)
 
Rails를 사용하면 뷰 렌더링이 느려도 신경 쓰이겠죠.
그리고 늦어서 그렇지만... ".].erb"파일을 자주 읽습니다.
(이런 느낌. 적은 페이지를 처리해도 평균 300ms)
아, 너무 느려요.내부에 코드를 쓰지 않아도 렌더가 하기만 하면 처리 시간을 낭비한다(1~10ms라고 적혀 있지만views의 수치에 렌더링에 걸리는 시간이 추가되었다).
 
따라서 Controller 의 가장 아래 처리 방법
render js: 'javascriptの文'
이 점을 기술한 후, 아이고, 신기하게도 반응 시간이 극적으로 개선되었다!
...아니야, 신기한 게 아니라 Rails에게 일반적인 렌더링을 시키지 않았을 뿐이야(땀).
 
'Ajax+Jquery'를 통해 사이트를 업데이트할 수 있다(일례:javascript의 글→"$('.app_container').html('#{escape_javascript('何らかのhtmlの文章。JavaScriptも含む')}');".JavaScript 형식의 렌더링 정보를 조금만 전달하면 Rails 측에서'javascript의 글'만 생성하기 때문에 처리가 곧 끝납니다.
(Rails 측의 재현 처리가 없으면 상당히 빠르다. 상기 처리는 가상 머신 + 개발자이기 때문에 조금 느리지만 기본적으로 제품 환경에서 더욱 빠르다.)
views의 딜레이로 곤란하신 분들은 시도해 보세요.
 
※ 비고1: "escapejavascript(")에서 따옴표(따옴표)를 피할 수 있습니다. "등) 중복은 피할 수 있습니다.
※ 비고2: escape javascript () 이외에 "include Action View: Helpers: JavaScriptHelper"선언 필요
※ 비고 3: "비동기 통신은 하지 않습니다! 위의 방법은 사용할 수 없습니다."이런 사람은'.].erb'1개의 읽기량을 줄이기만 하면 된다.그래도 돼요.파일을 읽는 것을 줄여도 속도를 높일 수 있습니다!
 

좋은 웹페이지 즐겨찾기