해당 글은 https://blog.naver.com/kbs4674/221682881216 로 부터 게시글이 이전되었습니다. 해당 글은 당근마켓에서 주최한 루비 4번 째 모임(19. 10. 10)에서 소개된 이슈 및 해결법입니다. bundle update --conservative 때로는 Ruby on rails 기반 웹사이트를 운영하면서, 피하고 싶지만 피할 수 없는 순간이 있습니다. 바로 Update입니다. 그런데 선뜻 bundle update 명령어를 치기란 쉽지 않습니다. 왜냐하면 Gem의 Update로 인해 버전에 따라 문법이 달라지거나, Gem 버전의 업데이트 규칙에 따라 Gem의 설정을 재정의를 하고자 추가적으로 config 폴더 혹은 config/initializers 에서 코드를 입력을 해..
루비온 레일즈의 인기비결 중 하나인 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) =..