해당 글은 https://blog.naver.com/kbs4674/221420109694 로 부터 게시글이 이전되었습니다. 좌 : A서버 / 우 : B서버 서버는 다르더라도 두 서버의 DB는 하나의 외부 DB(RDS)를 공유하고 있기 때문에 보여지는 DB가 같음. (즉, A서버에서 DB 데이터를 생성하면, B서버에서도 같은 결과가 보여짐.) 시작 전 유의사항(종합) 1. AWS 계정이 이미 있다는 가정 하에 설명합니다. 2. PostgreSQL v9.5.15 사용을 기반으로 설명하겠습니다. 3. Ruby on Rails 및 AWS의 기본지식을 가지고 시작하시는게 좋을겁니다. 4. 레일즈 환경은 Production Mode를 중점으로 설명하겠습니다. 5. Figaro Gem을 활용합니다. 자세한 설명은 생..
해당 글은 https://blog.naver.com/kbs4674/221250727072 로 부터 게시글이 이전되었습니다. 구글에서 제공하는 API 기능 중, 이미지를 분석해서 그 중 Text를 찾아내서 뽑아내는 'Google Vision API' 가 있습니다. 이번 시간에는 해당 API 연동법에 대해 알아보겠습니다. 실습 전 참고 해당 API는 초반에 무료로 제공되나, 무료제공 기간이 끝나면 유료로 전환됩니다. 사용에 주의 바랍니다. 구글 클라우드 콘솔 회원가입 하기 & API 연동 밑준비 하기. 1. https://cloud.google.com/vision/?hl=ko 사이트로 이동 후, '무료로 사용해 보기' 를 클릭합니다. 2. 가입과정을 진행해줍니다. 3. 아래 사진과같이 나오면 가입이 완료되었..
해당 글은 https://blog.naver.com/kbs4674/221237115010 로 부터 게시글이 이전되었습니다. Ruby를 이용해서 외부에서 지원하는 Open API를 활용하여 외부 API에 접근하는 방법에 대해 소개하고자 합니다. 이번 Open API 활용은 정부에서 서비스/지원을 하는 '데이터 공공데이터 포털'를 활용하고자 합니다. " https://www.data.go.kr " 공공데이터포털 : 시작 전 rest-client Gem 설치 실습 전 참고 사전에 공공데이터 API 신청 및 회원가입이 되어있다는 가정 하에 설명합니다. 1. Gemfile 파일에 gem 'rest-client' 위 코드를 입력 후, 터미널에 bundle install 을 입력하셔서 Gem을 설치해주세요! 공공데이..
해당 글은 https://blog.naver.com/kbs4674/221457563580 로 부터 게시글이 이전되었습니다. 크롤링 자료 연결고리 1. Nokogiri를 활용한 크롤링 [클릭] iframe/javascript 기반 사이트에 대해선 크롤링 지원이 안됩니다. selenium에 비해 크롤러가 가볍습니다. 2. Selenium을 활용한 크롤링 [클릭] iframe/javascript 기반 사이트에 대해선 크롤링 지원이 됩니다. Nokogiri에 비해 크롤러가 무겁습니다. 크롬 브라우저에 의존합니다. (크롬 브라우저 버전에 신경써야 합니다.) 3. Mechanize를 활용한 크롤링 (Nokogiri + 로그인 기능) [클릭] Nokogiri에 로그인 기능이 더해진 크롤러 입니다. 개인적으로 대체수단..
이번 시간에는 검색 기능에 있어 고민을 가지고 해결 과정을 파헤쳐보겠습니다. [떠리몰] 남성 플리스 기모 팬츠 (7,990원/무료배송) ORM 방식의 SQL을 통해 문자열 탐색에 있어 위 글자([떠리몰] 남성 플리스 기모 팬츠 (7,990원/무료배송))를 검색한다고 해보겠습니다. Case 1 : Full-Name [Model].where(title: "[떠리몰] 남성 플리스 기모 팬츠 (7,990원/무료배송)") 검색창에 "플리스[떠리몰] 남성 플리스 기모 팬츠 (7,990원/무료배송)" 라고 검색을 시도할 시 당연하게도 결과가 잘 나옵니다. Case 2 : 일부 단어 탐색 [Model].where(title: "플리스") 검색창에 "플리스" 라고 검색을 시도해 본다면 검색 결과는 안나옵니다. Case ..
해당 글은 https://blog.naver.com/kbs4674/221682881216 로 부터 게시글이 이전되었습니다. http://www.damda.info " Damda 홈페이지를 운영하면서 겪었던 이슈 중 하나인 SQL 검색어 문법으로 쓰이는 like 문법에 대해 소개하는 글입니다. " Damda 홈페이지 메인에는 대학교를 검색하는 창이 존재합니다. 그런데 홈페이지를 운영하게 되면서 해당 검색어 창에 대해 이슈를 겪게 되었습니다. 문제 찾아내기 1. Rails 내 검색 문법 일단, Rails 내에서 검색 문법에 쓰인 코드는 다음과 같습니다. @searches = Univ.where("univ_name_eng like ?", "%#{params[:search_univ]}%") 2. 데이터 애트리뷰..
Git에 add를 해서 자료를 올릴려 하는데 위와같은 이슈가 발생하게 됩니다. 해당 문제는 제가 Github에서 자료들을 pull 후, 일부 데이터에 대해서 삭제를 했었는데 삭제된 데이터에 대해 제대로 Git에 반영이 안되어 위와같은 문제가 생긴 것 같습니다. 해당 이슈에 대한 해결법은 간단히 터미널에 -all 혹은 -A 옵션을 주면 해결이 됐습니다. ## 삭제된 데이터에 대해 git에 반영하는 터미널 명령어 입니다. ## 다음 두 예시는 같은 결과를 낳는 코드입니다. git add --all . git add -A . 별첨 원래 삭제된 데이터에 대해서 Git에 반영을 하려면 따로 옵션을 입력해야 한다는거를 이번에 알았습니다. 그동안 --all(-A) 옵션을 입력을 안하고 해도 삭제데이터가 반영이 됐었는..
이번 글에서는 Devise 로그인 인증에 있어 Json Web Token(JWT)방식을 활용한 로그인 방식에 대해 다뤄보고자 합니다. 시작전에 앞서, JWT가 뭔지 간단히 소개하고 설명을 이어나가겠습니다. 1. 과거의 인증방식 : 세션 세션은 유저 고유 식별자로서, 서버가 관리합니다. 서버가 관리한다는 특징 때문에 결국은 서버가 개개인 별로 구분할 세션을 가지고 있다는 건데 서버는 그럼 결국 모든 유저들에 대한 세션을 관리를 해야 할 필요가 있었습니다. 사람이 적으면 상관이 없었으나, 사람이 많은 서비스 같은 경우에는 세션 관리에 있어 메모리에 많은 부담을 져야 할 필요가 있었습니다. 또한 만약에 서버 트래픽이 크게 증가해서 트래픽을 분산작업을 하는 로드밸런싱 방식으로 운영이 될 경우, 각 로드밸런싱 되..