루비온 레일즈의 인기비결 중 하나인 Gem입니다! Gem은 사람들이 만든 오픈소스 기능 모듈로서, 내가 기능을 만들 필요 없이 남들이 만든 기능을 그냥 다운로드를 받아서 쓸 수 있다는 Rails의 가장 큰 강점입니다. Gem 라이브러리, 외부 모듈 플레이 스토어의 어플과 같이 남이 만든 기능을 가져다가 손쉽게 사용할 수 있습니다. Gem을 통해 가져온 기능을 우리 입맛대로 커스터마이징도 할 수 있습니다. (백엔드적 기능, 디자인 둘 다 커스터마이징이 가능합니다.) 앞으로 해당 Gem을 통해서 여러분들은 다양한 것을 크게 시간을 쓰지 않고, 개발을 진행할 수 있습니다 : 회원가입, 관리자 페이지, 외부 SNS 로그인, 채팅, 알림(내 글에 누군가 댓글작성 시 나에게 알림), 메일, 크롤링, 그래프 차트, ..
레일즈의 서버 환경은 기본적으로 3가지가 존재합니다 : Development, Test, Product 사실 기본적으로 3가지가 주어졌을 뿐이지, 사용자가 원하면 추가적으로 이름을 가진 환경을 만들어낼 수 있습니다. 사실 저희는 Environment라는 개념에 대해선 이미 간접적으로 경험을 하고 있습니다. 서버를 킬 때 보면 Environment 정보가 보여지는데, 대부분 development로 맞춰져 있을겁니다. 이제 각 환경에 대해 설명해보겠습니다. 환경 1) Development 기본적으로 연습할 때 많이 쓰는 환경 서버 내 캐싱이 꺼져있다보니, 퍼포먼스가 다소 떨어지는 편 코드 수정이 이루어지면 바로 본 서버에 적용이 됩니다. 오류를 접할 시, 오류페이지가 활성화 됩니다. 2) test 자동화 테..
해당 글은은 https://blog.naver.com/kbs4674/221336658095 로 부터 게시글이 이전되었습니다. 레일즈에서 css/js 파일 및 이미지 파일을 저장할 수 있는 방법은 크게 두 가지가 존재합니다. 바로 public, assets 폴더 입니다. 일단 이 둘의 가장 큰 차이점은 캐싱의 영향 유무 입니다. 캐싱 웹 사이트에는 캐시라고 해서 어떤 사이트를 접속하면 그 사이트의 이미지 파일, CSS/자바스크립트(JS) 등을 기억해내려는 속성이 있습니다. 한 번 기억을 해내면 다음에 접속할 때에도 좀 더 빠르게 사이트 접속을 할 수 있기 때문입니다. Public Public 폴더는 레일즈 프로젝트 최상위에 존재합니다. 폴더속에 보면 다양한 파일들이 존재하는게 확인이 됩니다. 파일 설명 4..
읽을거리 캐치딜 백엔드 개발이야기 : Restful API 설계의 다양한 고민 https://kbs4674.tistory.com/118 Restful API는 효율적인 HTTP 프로토콜 통신을 위해 탄생된 아키텍쳐입니다. Restful API 방식의 통신은 다양한 웹 개발 환경에서 지원되는 통신방식입니다. 루비온 레일즈 또한 Restful API 아키텍쳐를 지원합니다. Restful API 아키텍쳐를 활용해서 Method에 따라 여러 역할을 수행을 할 수 있습니다. 예를들어, 위 사진을 보면 /posts/index와 /posts/show/:id는 동일한 라우터헬퍼를 가르키고 있는 상황입니다. 하지만 라우터헬퍼는 어느걸 선택해야할지 참 난감합니다. * 물론 /posts/show/:id 부분에 as 문법을 ..
폼 헬퍼 폼헬퍼는 view에서만 쓰이는 문법입니다. 그동안 form 태그가 HTML 태그로 표현이 되었다면, 이제는 Rails 방식으로 작성이 된다고 보면 됩니다. 또한, 일반적인 form 태그와 차이점이 몇 가지 존재합니다. 사실 언제나 첫 문법을 배울 땐 어렵고, 효율성이 떨어질거라고 예상을 하는데, 나중에 레일즈에서는 모듈을 활용할 때 HTML 문법으로 작성되기 보단 폼 헬퍼 문법으로 작성이 되다보니 미래에 코드를 읽을 때 있어 오히려 익숙하지 않아가지고 큰 어려움을 겪게될 수 있습니다.. 폼 헬퍼, 넌 무엇이 다르냐 CSRF 방지 토큰 자동 삽입 과거에 MVC 패턴을 활용한 CRUD 실습[클릭] 때 저희는 POST 방식으로 데이터를 전달할 때 다음 코드를 썼었습니다. 그 이유는 기존의 POST 방..
뷰 헬퍼 뷰헬퍼는 view에서만 쓰이는 문법입니다. 그동안 HTML 태그로 표현이 되었다면, 이제는 Rails 방식으로 작성이 된다고 보면 됩니다. 또한, HTML보다 의미가 명백해서 코드의 가독성이 좋다고 느낄 수 있습니다. 사실 언제나 첫 문법을 배울 땐 어렵고, 효율성이 떨어질거라고 예상을 하는데, 나중에 레일즈에서는 모듈을 활용할 때 HTML 문법으로 작성되기 보단 뷰 헬퍼 문법으로 작성이 되다보니 미래에 코드를 읽을 때 있어 오히려 익숙하지 않아가지고 큰 어려움을 겪게될 수 있습니다.. 다양한 뷰 헬퍼 소개 하이퍼링크 네이버로 이동 열람 참고 link_to 문법을 통해 get, post 뿐만 아니라 DELETE, PUT/PATCH 메소드도 표현이 가능합니다. div / span / p 태그 Ru..
여러분들은 루비온 레일즈로 개발을 하면서 빨간 에러창은 반드시 한번쯤은 겪어봤을 겁니다. 다음 사례는 URL 주소를 잘못 입력했을 때 볼 수 있는 에러창인데요. URL을 잘못 입력 했을 시, 위와같이 Routes 규칙이 보입니다. 사실 그동안 저희는 홈페이지 내 URI를 정의내릴 때 "/posts/index" 막 이런식으로 정의를 내렸었습니다. 그런데 레일즈에서는 기존의 http 방식과 더불어 라우터 헬퍼 라는 방식 또한 지원을 합니다. 라우터 헬퍼 기존의 URI를 Rails 방식으로 풀어 쓴 방식입니다. 예를들어 라우터 헬퍼와 http 표현 방식을 비교해 본다면 1) root_path = "/" 2) posts_index_path = "/posts/index" 3) posts_edit_path(5) =..
레일즈에서는 실제 코드를 돌리는 것 처럼 테스트를 해볼 수 있는 Console이 존재합니다! 실제 Controller 파일에 코드를 반영하기 전, Console을 통해서 테스트를 해가지고 올바르게 짜여진 코드인지 확인을 할 때, 데이터를 조회할 때 등 테스트 환경에 있어 매우 유용합니다. rails Console 콘솔을 키는 법은 매우 간단합니다! 레일즈 프로젝트에서 터미널에서 다음 명령어를 입력해주세요! rails c 위와같이 바로 뭔가 코드를 입력할 수 있는 창이 활성화가 되었습니다. Console을 통해서 다음과 같은 테스트 환경으로서 쓸 수 있습니다. 1) 데이터 조회 Univ.where("univ_name_eng like ?", "%national%") => Univs 테이블 중 univ_nam..