배포를 하는도중, pre-compille이 안되는 Gem이 존재해서 위와같이 배포가 안됐다는 경험담 및 해결방법을 풀겠습니다. 정말 아주 간단한 해결법은 해다 Gem의 버전을 바꾸는겁니다. : ex : [before] gem "pg", "~> 1.3.4" [after] gem "pg", "~> 1.2.3" 실제로 gem의 버전에 변화를 주고 다시 bundle install 및 배포를 하니 잘 되는것을 확인할 수 있었습니다.
오랜만의 개발을 주제로 한 이야기입니다. 그동안 일을 하며 지내다보니 블로그에 개발을 주제로 글을 쓸 여력도 거의 없었는데.. 마침 얼마전에 일을 한지 1년을 넘겼더라고요. 어찌보면 약 1년 간의 개발 경험을 가지게 된 셈인데, 이에대해 개인적인 회고이자 마음 속 옹알이를 글로서 표현좀 해보고자 합니다. 참고로 아래 회고록에서 나오게 될 개발 용어, 코드는 Ruby/Ruby on Rails를 기준으로 작성했습니다. 코드리뷰를 통한 실력발전 ' 내 코드는 못믿는다 ' ' 코드 속 오타, 오류는 내 눈에 안보인다' 한번 쯤 개발을 하면서 흔히 이런말을 들어본 적이 있곤 했을겁니다. 우리 회사는 개발을 하면서 뭔가 기존의 기능이 수정되거나, 새로운 걸 개발을 해내면 개발팀 내부에서 코드리뷰를 거치는 과정이 있..
글 시작 전 1. 본문에서 AWS EC2+Capistarano 설치에 있어 서버 내 백엔드 기술의 사용조합은 다음과 같습니다 : 배포서버 : AWS EC2 t2.micro Ubuntu 20.04 Nginx 1.18.0 rbenv Database : PostgreSQL ruby 2.6.3 (local Rails 프로젝트와 AWS EC2와 동일) rails 6.0.3.4 (local Rails 프로젝트와 AWS EC2와 동일) 참고 버전을 떠나서 AWS EC2 및 rbenv 사용, Ubuntu OS 사용을 한다는 조건만 맞으면 됩니다. 2. 해당 본문을 읽기 전, 기본적인 Ruby on Rails 프로젝트가 준비되어 있어야 합니다. 3. 해당 글은 Capistrano가 메인 주제이다보니, Nginx 설치 및..
알림 해당 글은 아직 작성중이다보니 개념 설명에 있어선 좀 써야할 부분이 많습니다. (현재 내용은 실습 위주로 작성되어 있음을 알립니다.) 내용 편집이 끝나면 '알림' 부분의 내용은 지워낼 겁니다. Docker 설치에 있어 컴퓨팅 환경 해당 글 작성에 있어, 저는 다음 컴퓨팅 환경에서 실습을 했습니다. AWS EC2 : t2.micro ubuntu 18.04 도커, 거 무엇이고 왜 쓰는고? 세상에는 다양한 OS가 존재합니다 : 윈도우, Ubuntu, Linux, ... 그리고 각 OS마다 패키지에 대한 설치방법이 다릅니다. 또한 같은 OS이라 할지에도, OS는 다양한 버전이 존재합니다 : Ubuntu 18.04, Ubuntu 16.04, ... OS에 대한 차이라던지, 서버 버전에 대한 차이 때문에 설치..
rbenv 개념 및 사용 이유 rbenv는 루비의 버전을 독립적으로 사용할 수 있도록 도와주는 패키지 입니다. 기본적으로 Mac 같은 경우, 주로 뭔가 패키지를 설치할 때 Homebrew 명령어를 입력해서 설치를 하곤 하는데, Homebrew가 Ruby언어 기반입니다. 그렇다보니 Mac에서 ruby 명령어를 입력해보면 기본적으로 루비가 설치되어 있는것을 볼 수 있습니다. 하지만 위 사진에서 보시다싶이 Mac에 설치된 ruby는 기본적으로 OS에 기본적으로 의존되다 보니, 이런 일이 생길수도 있습니다 : 1) 현재 개발자가 진행하는 프로젝트는 2개이긴 하나, 각 프로젝트 별로 사용되는 Ruby 버전이 다릅니다. * 2.6.3 버전, 2.3.3 버전 2) 개발자는 두 프로젝트를 자주 오가며 개발을 하는데, ..
지난 시간에는 API 명세서를 작성해보는 시간을 가졌습니다. 이번에는 API에 대해 가상으로 request/response를 만드는 Mocking 작업을 해보겠습니다. Postman : API 명세서 Mocking 과거에 만들었던 예제를 기반으로 Request/Response Mocking 작업을 해보겠습니다. 1. POSTMAN에서 Request 하나를 들어간 후, Examples 를 클릭합니다. 그리고 Add Example 버튼을 클릭합니다. Tip 일단 Send 버튼을 눌러서 요청에 따른 결과를 받아낸 후, Mocking 생성 페이지로 이동 시, 응답결과에 대해 자동으로 작성됩니다. 2. 새 Mocking 작업을 입력하는 페이지입니다. 여기서 여러분들이 의도할 Request 및 Response를 작..
여러분들은 POSTMAN 하면 어디까지 써봤나요? 저같은 경우, 초반에는 POSTMAN을 단순히 API 서버에 통신테스트를 하는 툴인줄로만 알았는데, 나중에 캐치딜 프로젝트를 하면서 알고보니 API 명세서 제작, API 테스트 자동화 등 다양한 기능을 제공해준단걸 알았습니다. '언젠가는 이 글을 써야지' 를 품고 있었다가, 요새 바쁘고 적절한 상황을 찾지 못해서 글을 못써왔었는데, 이번에 마침 개인 프로젝트 중 하나를 새로 물갈이(?) 해야할 게 생겨가지고 겸사겸사 POSTMAN 활용법에 대해 글을 올리게 되었습니다. Postman 넌 뭐니? 앞전에 설명했다 싶이, Postman은 API 통신 테스트를 위해 많이 쓰이는 툴입니다. 단순히 저희가 요청사항에 대한 Parameter을 입력하고 'Send' 버..
과거에 Ruby on Jets를 다룰 때 당시, Cloud9을 기준으로 설치법에 대해 소개했었는데, 이번에는 Mac OS을 기준으로 설치법을 설명해보겠습니다. 본문에서는 Ruby on Jets에 대한 자세한 설명은 생략합니다. rbenv 설치 및 Ruby 설치 Jets를 설치 전, AWS Lamba에서 지원되는 Ruby를 설치해줘야 할 필요가 있습니다. 20. 8. 2 기준 Ruby 버전은 2.5버전을 지원하고 있습니다. 본격적인 Ruby 설치 전에 앞서, Ruby 버전을 관리해주는 rbenv를 설치해보겠습니다. 1. homebrew를 이용해서 rbenv를 설치합니다. brew install rbenv 2. 이제 앞으로 터미널을 킬 때 마다 rbenv가 설치된 Path를 인식해줘야 합니다. (초기화) 터..