목록분류 전체보기 (33)
pat coding
1. 배열 만들기 # 기본적인 배열 만들기 arr = [] arr2 = Array.new # 여러가지 배열 만들기 arr_with_stuff = ["value", "separated by comma"] arr_with_stuff2 = Array.new(["a", "b", "c"]) range_to_arr = (1..9).to_a # 중복 배열 만들기 arr = Array.new(5, " ") puts -> [" ", " ", " ", " ", " "] # %w 를 통한 문자열 배열 만들기 arr = %w(cat dog mouse 1 2) puts -> ["cat", "dog", "mouse", "1", "2"] 2. 메소드 - split # 문자열을 배열로 분할 # 분할하려는 인수를 넣지 않으면 공백으로..
1. Watir(워터) ruby 언어를 통해 사용하는 프레임워크로써 웹 테스트 자동화에 사용됩니다. 워터는 셀레니움과 많이 유사합니다. gem watir-rails 를 통해 사용이 가능합니다. 2. 사용법 browser = Watir::Browser.new browser.goto("사이트 명") 열고자 하는 사이트 명을 입력 하면 크롤링 할 준비가 됩니다. browser.div(:id => "my_id") browser.div(:class => 'my_class', :text => 'navigate') browser.element(:tag_name => 'small') browser.div(:xpath => '//ul[contains(@class,"reviews reviews-product")]/li')..
1. respond_to 형식에 따라 다른 템플릿을 출력해주는 메소드 여러가지 템플릿(HTML, JSON, XML 등등) 의 형식으로 출력이 가능하다. 2. redirect_to 어딘가로 이동한다는 뜻 밑의 예시에서는 post가 save에 성공하면 게시물로 이동하게 된다. 3. flash flash[:notice], flash[:alert] 등으로 성공했을때와 실패했을때 메세지를 띄워줄수있다. 독자적인 notice, alert 등의 이름으로도 사용할 수 있다. flash[:아무 이름] = "넣고 싶은 메시지" 형식으로 사용도 가능 def new respond_to do |format| if @post.save format.html {redirect_to @post, notice: '저장이 성공적으로 되었..
write_xlsx 루비온레일즈에는 excel 읽고 쓰기, 내보내기가 가능한 gem 들이 있다. 그 중 내보내기 gem 인 write_xlsx 를 알아보자. book = WriteXLSX.new(파일 경로) : 파일 생성 sheet = book.add_worksheet : 워크 시트 생성 book.add_format : 옵션(텍스트 및 색 등) sheet.write_string(행, 열, 내용, 옵션) : 셀 추가 sheet.freeze_panes(고정할 셀) : 헤더로 고정 sheet.set_column : 열 설정 sheet.set_row : 행 설정 WriteXLSX.new 를 통해 파일 경로를 설정해주면 원하는 곳에 파일이 생성된다. file_path = "/home/ubuntu/download/..
Redis 란? "키-값" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템 메모리에 데이터를 쓰는 in memory 데이터베이스 그리고 NoSQL 데이터베이스라고 분류 된다. 많은 양의 데이터를 효율적으로 처리, 데이터의 안정성이 필요할때 사용, 속도도 빠르다. 인메모리 데이터 저장소로서 서버에 장애가 났을 경우 데이터 유실이 발생 Snapshot과 AOF 기능을 통한 복구 시나리오가 제대로 세워져 있어야 데이터 유실에 대비한 사고에 대처가능 키-값 구조 의 구조로 데이터를 저장하고 key를 이용해서 값을 불러오는 구조이다. key타입은 string(문자열)으로 JSON, XML등 문자열로 된 데이터들을 저장할 수 있다. 바이너리(binary)데이터도 저..
Active Record 란? 레일즈 아키텍쳐의 모듈 이름이며, 엔터프라이즈 어플리케이션 아키텍쳐의 패턴 중의 하나이다. 데이터베이스 테이블과, 객체를 연결(ORM)하여 객체의 property를 이용해 데이터베이스를 읽고 쓸 수 있다. 도메인 로직이 복잡하지 않은 CRUD같은 경우에 사용하며, 매우 간편하고 빠르게 만들 수 있는 장점이 있다. 하지만 복잡하고 거대한 스케일의 어플리케이션은 구현이 복잡하므로 엑티브 레코드와 맞지 않는다.