반드시 라즈베리파이를 통해서가 아닌, 외부 PC에서도 라즈베리파이 컴퓨터에 접속해서 터미널 통신/제어를 할 수 있는 법에 대해 알아보겠습니다. 라즈베리파이 ↔ Remote PC SSH통신 1. Ubuntu에서 OpenSSH를 지원하는 패키지를 설치합니다. sudo apt-get install oepnssh-server 참고 간혹 패키지 설치 도중 아래와 같은 에러메세지와 함께 설치가 안될 수도 있습니다. 이런 경우에는 아래 명령어들을 입력해준 후, 다시 설치를 시도하면 됩니다. sudo rm /var/lib/apt/lists/lock sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock* sudo dpkg --configure -a sudo a..
얼마전에 Ubuntu에서는 20.04 버전을 발표했습니다. 이와 더불어 라즈베리파이 에서도 Ubuntu 20.04 지원이 됩니다. 현시간 글 작성 기준 라즈베리파이4B가 탄생한지 얼마 안됐다보니 지원이 적은 탓에 설치할 수 있는 OS 환경/버전은 많지 않을 것으로걸로 예상됩니다. 저 역시 원래는 Ubuntu 안정화 버전인 16.04를 설치하고 싶었으나, 라즈베리파이2 버전에서 밖에 지원이 안되는 파일을 찾아냈긴 한데, 해당 파일을 통해서라도 시도를 해봤으나 끝내 해내지 못했습니다. 그래서 아쉽지만.. Ubuntu 20.04 버전으로 설치를 해보겠습니다. 참고 이번에 설치해볼 Ubuntu는 온전히 서버를 사용할 목적만으로 사용할 CLI 기반으로 설치됩니다. Chapter 1 라즈베리파이 OS 다운로드 1...
해당 카테고리는 라즈베리파이4B를 활용한 글에 대해 작성될 예정입니다. 저의 라즈베리파이의 최종 사용목적은 Ruby on Rails/Ruby 설치, Ruby on rails 기반 크롤링이 되겠습니다. 라즈베리파이4B는 이전 버전의 라즈베리파이에 비해 많은 변화가 생긴 싱글보드 컴퓨터 입니다. 4B 3B+ 비교 CPU Broadcom Quad Core BCM2711 Cortex-A72 @1.5GHz Broadcom BCM2837B0 quad-core Cortex-A53 @ 1.4 GHz RAM 1GB / 2GB / 4GB LPDDR2 1GB LPDDR4 Only 4B부터 RAM 다양화 HDMI Micro HDMI 2개 HDMI 1개 HDMI → Micro HDMI 형식으로 변경, 4B에서는 듀얼모니터 가능..
Ruby on Rails 프로젝트 내부에는 환경변수 및 Rails 프로젝트 Secret Key 인증 용도로 사용할 수 있는 인증파일이 존재합니다. 해당 개념에 대해 Rails 5.1 버전과 Rails 5.2 버전을 나누어서 설명을 진행해 보겠습니다. Rails 5.1 버전의 인증방식 Raisl 5.1 버전의 인증파일 내용구조는 아래와 같습니다. Rails 5.1 버전에는 config/secrets.yml 파일에서 Key/Value 관리 및 secret Key 인증이 이루어집니다. 또한 5.1에서 Production 환경으로 서비스를 배포를 하려면 아래 과정을 거쳐야 하는게 있습니다. 1. 다음 명령어를 통해 랜덤으로 생성되는 secrets key를 알아냅니다. rake secret 2. 해당 Key를 F..
글 시작 전 1. 해당 글은 단순 Nginx의 개념에 대한 설명글입니다. 2. Nginx를 활용한 자동배포(CD) 기능을 통해 편리하게 Ruby on Rails 프로젝트를 배포할 수 있습니다. 부록 AWS EC2+Nginx+Capistrano 지속적(자동) 배포 목차 글 시작 전(Intro) c10k Problem 그래서 Nginx을 왜 써야 하는가? Apache와 Nginx의 차이는? 자료 참고 Puma.. 이제 안녕... Ruby on Rails은 기본적으로 PHP와 같이 서버엔진을 따로 깔지 않아도 된다는 장점이 있습니다. 하지만 이 장점이 미래를 바라보면 썩 좋은 장점은 아니었습니다. 왜 Puma 엔진이 미흡하다고 여겨졌는지 이번 글을 통해 이야기를 풀어보겠습니다. c10k Problem 글을 시..
소개 캐치딜 서비스는 2019년 10월부터 시작된 토이프로젝트의 일환으로, 같은 대학 주니어 대학생 3명이서 똘똘뭉쳐 제작된 프로젝트입니다. 캐치딜은 여러 플랫폼(뽐뿌, 클리앙 등)에 퍼져있는 핫딜특가 데이터를 Selenium 크롤링을 통해 데이터를 수집해서 보여주는 서비스입니다. 이번 이야기는 캐치딜 서버를 운영하면서 저에게 합리적인 서버 비용에 대해 찾아 나선 이야기를 나눠볼까 합니다. HEROKU 첫 캐치딜의 시작은 Heroku이었습니다. Heroku를 선택한 이유는 다음과 같습니다. 일단 기본 사용은 무료 (유료 서버 사용에 있어 Github Student Pack 인증 시 매 달 고정적으로 7달러, 최대 2년 지원) 서버 사용금액에 있어 카페24와 같이 사전에 서비스 금액을 계약하는게 아닌, 일..
Ruby on Rails에서는 기본적으로 서버를 키는 순간부터 로그기록이 시작됩니다. 로그는 서버의 성공부터 작업 실패까지 모든활동기록 을 담고 있고 해당 활동 때 무엇을 했는지에 대한 기록이 다 나타나있습니다. 그리고 만약에 언제 서버에 문제가 터졌을 경우에, 해당 로그기록을 보면 어떤 오류를 발생하며 문제가 생겼는지 대응을 할 수 있습니다. 사람은 24시간 내내 서버의 이벤트를 살펴볼 수 있지 않습니다. 그렇다보니 사실 로그파일은 성공에 대한 작업보단 실패에 대한 작업(라우터 경로 에러, 메소드 오류, nil 오류, 등) 등을 살펴보는 목적이 더 큽니다. 서비스를 운영함에 있어서 어느 날 특정 사용자 그륩만이 서비스 이용이 안된다고 제보가 왔거나, 예기치 못한 상황으로 서버가 죽었을 경우, 제일 먼저..
사전 안내 Rails에서 Redis를 다루는 법은 2개의 포스트로 나뉘어서 설명하겠습니다. 현재 포스트는 Rails에서 지원되는 Cache 메소드를 활용해서 Redis 개발을 할 수 있는 방법론을 다룹니다. 하지만 Redis의 문법(get, set 등)을 직접적으로 사용하지 않다보니, Redis 문법 개념이 좀 둔해질 수 있다는 단점이 존재합니다. Redis의 문법을 직접 사용하면서, Redis 내부에서 어떠한 Flow로 캐싱이 되는지 보고 싶으신 분은 여기를 클릭해서 참고해주세요. 과거의 서버와 클라이언트의 방식은 와와같은 흐름으로 이루어졌었습니다. 웹서버가 Database에 바로 참조를 하고 하는 방식이었는데, 위 방식은 딱 심플하고, 복잡(?)한게 없긴 한데, 한가지 문제점이 있습니다. 너무 많은 ..