Bucket Place/Ruby on Rails 21

[Ruby on Rails] 이미지 URL 이용하여 resize하고 s3에 upload하기

이 글이 필요하신 분... 1. URL로 가져온 이미지를 S3로 업로드 하고 싶다. 2. 추가적으로 나는 resize도 하고 싶다. 이 글은 최적의 방법은 아님을 작성하기 전에 미리 알려드립니다. 제가 아는 최적의 방법은 paperclip을 이용하여 thumbline을 구성하는 것입니다. 하지만, 이미 누군가 저질러놓은 잘못에 적용하기 위해서 이 방법을 체택하였습니다. 1) 필요한 Gem - gem 's3' - gem 'mini_magick' - gem 'open_uri_redirections' // FACEBOOK 이미지를 사용하는 경우 2) 구현 단계 1. 필요한 파일 require 추가 require 'open-uri' require 's3' 3) 구현 단계 2. S3 연동/접속 amazon = S..

[Rails] ActionMailer & Mail 서비스를 시작하자!

들어가며... 안녕하세요. Bucket Place에서 개발자를 맡고 있는 Cloud Travel이라고 합니다. 정말로 오랜만에 글을 쓰네요. 개발일정에 이리처이고 저리치이며... ㅠ_ㅠ 눈물이 앞을 가리는 하루하루를 살았답니다. 아직도 바쁘지만, 그래도 언젠가 들어올 후임을 위해서 그리고 저를 위해서 간단하게 Mailer에 대해서 정리해보고 넘아가려고 합니다. Mailer는 한글로 번역하면 우체부(?) 정도로 해석하면 좋을 것 같습니다. Rails에는 기본으로 제공해주는 ActionMailer를 포함해서 다양한 Mailer가 존재합니다. 오늘 제가 Mailer를 이용해서 해볼 일은 2가지가 있습니다. 1) 사용자에게 간단한 이메일 문의 받기 2) 사용자에게 이메일 보내기 설명에 앞서서 기본적으로 제가 작..

[Ruby on Rails] Polymorphic Associations (다중 연관성)

들어가면서 안녕하세요. Bucket Place의 게으름뱅이 Cloud Travel입니다. 오늘은 Ruby on Rails에서 제공해주는 다양한 관계 중에서 Polymorphic Associations(다중 연관성)에 대해서 알아보도록 합시다. 일단, 기본적으로 Ruby on Rails에서 제공해주는 일반적인 관계에 대해서 알아봅시다. - Ruby on Rails 기본제공 관계 관계 이름 관계 설명 belongs_to Foreign Key 관계를 설정할 수 있다. has_on 1:x 관계를 설정할 수 있다. has_many n:x 관계를 설정할 수 있다. has_many :through [model class] n:x 관계를 설정하면서 model클래스를 통해서 연결된 다른 정보를 얻어 올 수 있다. has..

[Ruby on Rails] Devise gem

들어가면서 오랜만에 글을 쓰는데, 왠지 갑자기 글씨체가 마음이 안들어서 "들어가면서"를 쓰면서 10분을 보낸 Cloud Travel 입니다. 오늘은 Rails의 Devise gem에 대해서 알아보도록 하려고 합니다. Devise gem은 참 좋은 것 같습니다. 회원가입부터 세션관리, e-mail 등 사이트에 접속하는 사용자에 대한 정보를 관리하는데 능통한 Gem인 것 같습니다. 이전에는 사용자(User)모델, 세션(Session)모델 등을 만들어서 일일이 하였는데, 처리를 쉽게 하기 위해서 Devise Gem을 사용하게 되었습니다. Pre-Condition Devise gem을 사용하기 위해서는 미리 설정해야 할 것이 있습니다. 1. Rails 버젼 확인 - Devise gem을 이용하기 위해서는 rai..

[Ruby on Rails] Rails Database Table Relationships

들어가면서 Rails를 하면서 신기하면서도 고생했던 부분은 데이터베이스에서 테이블간의 관계를 나타내는 부분이었다. 이 글에서는 간단하게 Rails에서 모델을 통해서 데이터 테이블들을 관계 맺는 방법(belongs_to, foreign_key, throught, ... 등)을 알아보고, 좀더 나아가 팔로잉 기능을 위한 데이터 모델을 셋팅하는 방법에 대해서 알아보겠다. 여기서 모델에 집중을 하기 위해서 dependent와 validation에 관련된 내용은 언급하지 않겠다. 의사와 환자의 관계 팔로잉에 대해서 설명하기 전에 의사와 환자의 관계에 대해서 간단하게 보면서 모델에서 테이블 관계를 표현하는 법에 대해서 보도록 하겠다. 여기서 다루게 되는 요구사항은 다음과 같다. 병원에는 의사들과 환자들이 존재한다...

[Ruby on Rails] Session & User login

들어가면서... 안녕하세요. Bucket Place개발자 Cloud Travel입니다. 오랜만에 형식에 맞춰서 글을 쓰는 느낌이 듭니다. Rails에 적응하고, 분석하고, 예제를 실험해보는 과정에서 필요한 내용을 간략하게 메모만 해왔는데, Session에 대해서는 잘 알고 넘어가야 하는 것 같아서 형식에 맞춰 잘 정리하려고 합니다. 어떤 프레임워크 또는 언어를 사용하더라도 Session관리는 웹 어플리케이션을 제작하고 관리하는데 큰 이슈가 됩니다. 이에 대해서 정확히 알고 사용할 필요가 있습니다. 일단, 오늘의 목표는 다음과 같습니다. - Session에 관련된 컨트롤러 생성 - Session에 필요한 각 모듈을 제작 - Session의 정보를 Database와 사용자의 브라우져에 저장 - 이와 동시에 ..

[Ruby on Rails] 메모...

설명글이라기보단 간단한 나의 메모를 간략하게 적은 것이다. 1. routes를 이용한 주소 변경 흔히 link_to를 이용하여 다른 페이지로의 연결을 할때에는 [Controller_name]_[Action]_path 라는 형식을 이용했다. 예를 들어 say 컨트롤러의 hello 액션이 정의되어 있을 때 이 페이지로 접근하기 위해서는 아래의 URL로 접근을 해야한다. "http://localhost:3000/say/hello" 이는 사용자에게 필요없는 정보를 제공해줄 수 있다. 이런 것을 방지하기 위해서 routes.rb 파일을 수정하여 접근하는 주소를 변경할 수 있다. match '/signup', to: 'users#new', via: 'get' match '/hello' to: 'say#hello',..

[Ruby on Rails] Paginate

들어가면서... 어느 사이트에서나 꼭 들어가는 것이 있다면 컨텐츠 페이징기능 일 것이다. 너무 많은 자료를 한 화면에 보여주기 힘들때 사용하는게 페이징기능이다. 요즘은 인피니티 스크롤 기술의 개발로 점점 사용 추세가 줄고는 있지만, 블러그, 게시판 등 글을 다루는 곳에서는 항상 필요하게 되는 기능이 페이징 기능이다. 오늘은 Rails에서 기본적으로 만들어주는 페이징 기능인 Paginate를 사용해보도록 하겠다. 시작하기전에... 이번 설명을 위해서 간단하게 프로젝트와 데이터베이스를 하나 만들겠다. 목표는 친구이름, 핸드폰번호를 갖고 있는 간단한 테이블을 갖고 있으며 친구 리스트를 보여주는 것에 페이징 기능을 추가하도록 하겠다.> rails new paginate...> cd paginate> rails ..