본문 바로가기

전체 글28

bundler 오류 해결하기 feat. 디펜던시 지옥 1.서론 저는 오늘도 평화롭게 jets 프로젝트에 gem을 추가하고 있었습니다. google oauth2를 이용한 로그인 기능을 구현하기 위해 omniauth-google-oauth2라는 gem을 사용하고 싶었기 때문이죠. 그래서 아래처럼 gemfile에 gem 'omniauth-google-oauth2' 라는 문장을 추가하고 bundle install 커맨드를 이용해서 gem을 설치했습니다. 그랬더니 아래처럼 뭔가 굉장한 실패 메시지가 쭉쭉 나옵니다. ❯ bundle install Fetching gem metadata from https://rubygems.org/........ Resolving dependencies... Bundler could not find compatible versions.. 2020. 2. 19.
ruby로 서버리스 개발하기 aws lambda - ruby on jets 2. dotenv로 환경변수 설정하기 1.서론 서버개발을 할때 보통 db config나 외부 서비스의 credential등의 정보는 코드에 노출시키지 않고 환경변수에 저장합니다. 보안상의 이유도 있고 개발 환경에서에서 사용하는 config와 실제 prod환경에서 사용하는 config가 다를때가 많기때문인데요. 직접 각각의 서버에 환경변수를 넣어주는 방법도 있지만 한대의 서버에서 여러개의 프로젝트가 돌아가는 경우에는 각각 설정을 따로 해줘야하기 때문에 좀 귀찮습니다. jets에서는 이런 귀찮음을 해결해주는 dotenv라는 gem을 기본적으로 사용합니다. 오늘은 dotenv를 이용해서 jets 프로젝트의 prod, dev, test 환경들의 환경변수를 설정해보도록 하겠습니다. 2.dotenv 기본 사용방법 사용 방법은 아주 간단합니다. 프로젝트.. 2020. 2. 6.
ruby로 서버리스 개발하기 aws lambda - ruby on jets 1. 설치하기 1.서론 서버리스가 뭔지 모르는 개발자는 있어도 한번도 안들어본 개발자는 없을 것입니다. 저도 지금까지 서버리스 서버리스 듣기만 했지 제대로 사용해 본적이 없어서 사실 별로 감이 없었는데요, 이번에 회사에서 푸시 시스템을 서버리스로 개발하면서 처음으로 사용을 해봤습니다. 저희 회사는 기본적으로 api를 ruby로 개발중이라 ruby on jets를 serverless 프레임워크로 선택했습니다. jets는 rails와 유사한 점이 굉장히 많아서 jets를 잘 몰라도 개발하기가 어렵지는 않았지만 복습도 할겸 내용을 정리해가며 ruby on jets로 간단한 토이프로젝트를 개발하는 포스팅을 해보려고 합니다. 2. 서버리스란 서버리스는 클라우드 컴퓨팅의 일종으로 단어 뜻 그대로 서버를 사용하지 않는 컴퓨팅 모델.. 2020. 2. 3.
windows에서 Ruby on Rails 개발환경 구축하기 (wsl + rubymine) 1. 서론 처음 레일즈를 시작할 때 윈도우 위에 레일즈 개발 환경을 구축하다가 실패한 적이 있었습니다. 그때 그냥 속 편하게 회사맥북으로 개발하자고 다짐했었는데요, 지난 금요일에 맥북을 집으로 가져오는 걸 깜빡하는 바람에 자의반 타의반 재도전 했습니다. 2. windows와 rails 보통 Rails 개발은 윈도우 위에서 하면 안된다고들 얘기 합니다. 그런데 Ruby는 java 기반 언어라서 사실 이론적으로는 어떤 환경에서든 개발이 가능합니다. 그럼 왜 하지말라고 하는 걸까요? 가장 큰 이유는 gem 때문입니다. 윈도우에 아예 설치가 불가능한 gem들도 많고 Nokogiri 같은 gem은 윈도우의 파일 시스템을 지원하지 않습니다. 또 레일즈 커뮤니티 자체가 리눅스나 mac os 중심이기때문에 윈도우 위에.. 2020. 1. 8.
rails CORS 이슈 처리하기 1. 서론 최근 회사 동료분과 사내 행사 관련한 웹사이트를 만드는 토이프로젝트를 했습니다. 백엔드파트인 저는 api개발을, 웹파트인 동료분은 프론트를 맡아서 각각 개발한 후 웹에 api를 붙이려는 계획이었는데요, 간단한 사이트니까 주말동안 뚝딱 만들어오죠?ㅋㅋ 라며 경거망동하게 입을 놀렸던 스스로를 반성하게 되는 보람된 시간이었습니다. 사실 개발보다는 배포과정에서 이슈가 많았는데요, 그 얘기는 나중에 또 적도록 하겠습니다. 아무튼 우여곡절 끝에 잘 배포를 했고 http test에서 response가 잘 나오는 걸 확인하고 동료분께 api를 드렸습니당. "혜리님 오류나는데요 ㅠ" "네..?ㅠ 왜요..?ㅠ" 그냥 브라우저 상에서 api를 직접 호출할 때는 잘 작동을 하지만 local web 개발 환경에서는 .. 2019. 12. 26.
airflow 시작해보기 1 - 설치 1. 서론 Apache Airflow는 오픈 소스 워크 플로우 관리 플랫폼입니다. 말그대로 일련의 작업들의 흐름을 관리해주는 플랫폼인데요, cron만으로 하기 어려운 분기를 한다거나 예외처리를 하는 등의 복잡한 로직을 쉽게 만들 수 있습니다. 최근에는 주로 빅데이터 분석 등의 작업에 많이 사용되는 듯 합니다. airflow 공식 웹페이지에서 설명하는 airflow의 특징은 다음과 같습니다. 1. 순수한 파이썬 코드로 사용이 가능합니다. cmd나 xml코드 없이 복잡한 workflow도 쉽게 빌드할 수 있습니다. 2. web ui를 제공합니다. 3. 다양한 plug-and-play operator 들을 제공합니다. Google Cloud Platform, Amazon Web Services, Microso.. 2019. 12. 12.