[Rails] Devise Gem 을 이용한 사용자 인증관리 웹 페이지를 개발할 때 사용자 회원가입, 로그인, 로그아웃, 회원탈퇴, 권한인증 등은 거의 필수요소 중 하나입니다. 이런 부분들을 세션과 쿠키를 이용하여 직접 구현할 수 도 있지만 보안, 안정성 등을 고려하면 오픈소스 라이브러리를 이용하는 것도 현명한 선택입니다. Rails에는 오픈소스 라이브러리이인 devise gem 이 이런 기능들을 수행해줍니다. 유사 여러 라이브러리들이 있지만 devise gem 이 가장 인기가 좋습니다. 이번에는 devise gem을 이용한 사용자 인증관리를 구현해보도록 하겠습니다. 실습 개발 환경OS: Ubuntu 14.04LTSRails 4.xRuby 2.x 우선 Gemfile 에 devise 라이브러리를 추가해줍니..
[Rails][Web API] Post 요청 처리하기 웹 API 제작을 하는 관점에서 레일즈에서 응답코드를 넣어 반응하는 것이 클라이언트에서 처리를 할 때도 용이하고 바람직합니다. 앞 전 게시글에서 JSON 혹은 XML로의 응답에 대해 다루어 보았습니다. 이번에는 Post, Put, Patch 그리고 Delete 중 Post의 처리 방법을 살펴보겠습니다. POST METHOD 처리POST 처리 시에 201 HTTP 응답코드를 이용하는 것이 바람직합니다. 201 상태응답은 다음과 같습니다:201 Created새로운 URI가 만들어질 때마다 사용되며 결과 코드와 함께 새로운 데이터가 위치한 곳을 지정하기 위해 Location 헤더가 서버에 의해 주어집니다. 원 서버는 201 상태 코드를 리턴하기 전에 반드시..
[RabbitMQ] 원격 프로시저 호출 (RPC)(using the Bunny client) 두 번째 강의에서 여러 worker들 사이에서 시간이 소요되는 작업을 분배하는 Work Queue에 관해서 배웠습니다. 하지만 만약 원격지의 함수를 실행시키고 해당 결과를 기다리는 경우에는 어떨까요? 이 경우는 약간 다른 경우입니다. 흔히 보통 이런 경우를 원격 프로시저 호출 또는 RPC(Remote Procedure Call)라고 알려져 있습니다. 이번 강의에서 RabbitMQ를 RPC 시스템을 구축하는데 사용해볼 것 입니다: 클라이언트와 확장가능한 RPC 서버로 구성됩니다. 실제의 시간이 소요되는 작업이 없기 때문에 피보나치 수열을 반환하는 가짜 RPC 서비스를 제작해볼 것 입니다. 전제조건이 튜토리얼에서 R..
[RabbitMQ] Topics(using the Bunny client) 이전 강의에서 우리의 로그 시스템을 발전 시켜봤습니다. 단순히 브로드캐스팅을 하는 fanout exchange 대신에 direct 를 이용하여 메시지 로그를 선택적으로 수신할 수 있게 해보았습니다. 비록 direct exchange를 사용하여 우리의 시스템을 진보시켜보았지만 여전히 다중 기준에 의한 라우팅을 할 수 없는 한계가 존재합니다. 우리의 로그 시스템은 info, warning, error 와 같은 규칙에 분류한 구독을 할 수 있지만 로그를 출력하는 프로그램에 따른 구독은 할 수 없습니다. 유닉스의 syslog 툴의 개념을 생각하면 됩니다. syslog는 규칙(info/warn/cri..)와 출처(auth/cron/kern..
[RabbitMQ] Routing(using the Bunny client) 이전 강의에서 간단한 로그 시스템을 만들어봤습니다. 로그 메시지들을 여러 receiver들에게 브로드캐스트할 수 있었습니다. 이번 강의에서는 메시지의 일부를 수신할 수 있게 해볼 것 입니다. 예를들어, 콘솔에 전체 로그 메시지들을 출력하는 동안 치명적인 에러 메시지들은 디스크 공간에 저장될 수 있게 로그 파일에 기록하게 할 수 있습니다. 전제조건 이 튜토리얼에서 RabbitMQ가 localhost에 설치되어있고 기본 포트인 5672로 동작 중인 것을 가정으로 진행됩니다. 다른 호스트나, 포트를 사용할 경우 적절한 세팅을 하셔야합니다. Bindings이전 예제에서 bindings을 이미 만들었습니다. 다음 코드와 같습니다.q.bi..
[Rails] 웹 API를 위한 JSON, XML 응답 보통 웹 API를 작성할 때 응답 형태를 JSON 혹은 XML 형태로 제공한다. Rails에서는 Model의 객체를 손쉽게 JSON 혹은 XML로 변환할 수 있게 제공해준다. 아래 코드의 posts_controller가 왜 api 하위 디렉토리에 있는지, module Api 가 무엇인지 궁금하다면 아래 글을 참고하세요. (일반 controller 에서 사용하신다면 그냥 무시해도 좋습니다.)2015/07/06 - [Ruby&Rails/Rails] - [Rails] Rails에서의 subdomain 설정하기 app/controller/api/posts_controller.rbmodule Apiclass PostsController < Applicatio..
[Rails] Rails에서의 subdomain 설정하기 레일즈를 이용하여 Web API를 제작할 때 서브도메인을 이용하면 DNS 레벨에서 트래픽을 로드밸랜싱해줘 효율적입니다. 서브도메인 설정은 routes.rb 파일에서 설정해주시면 됩니다. config/routes.rbresources :users resources :posts, constraints: { subdomain: 'api' }resources :comments, constraints: { subdomain: 'api' } 이렇게 설정하면 다음과 같이 사용할 수 있습니다.http://api.example.com/postshttp://api.examle.com/comments 여러 resources들이 서브도메인이 필요한 경우 아래와 같이 묶..
- Total
- Today
- Yesterday
- 이수페타시스
- ruby
- OpenStack
- 반도체관련주
- 투자전략
- html
- 주식투자
- 알고리즘
- Java
- Rails
- install
- 이펙티브 자바
- 삼성전자
- javascript
- ruby on rails
- codecademy
- 현대차
- IT
- 티스토리 초대장
- 한미반도체
- ubuntu
- SK하이닉스
- rabbitmq
- CSS
- 엔비디아
- Message Queue
- 프로그래밍
- 자료구조
- 웹프로그래밍
- HBM
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
