본문 바로가기

기타/멋쟁이사자처럼21

[firebase] Authentication - OAuth 개념과 페이스북 OAuth #1 [firebase Authentication]- 페이스북, 구글 등 계정의 권한을 위임하는 과정, 위임받아 인증 key(Access Token)를 보관하는 서버를 쉽게 구현할 수 있음- 로그인 서버를 따로 두는 개념 [OAuth란]- 인증을 위한 오픈 스탠다드 프로토콜 + 인증과 허가의 뜻을 모두 가짐- 다른 어플리케이션에 아이디, 비밀번호를 노출하지않고, API 접근 권한 위임 요청 시 사용하는 방법- 아래의 필수 개념을 통해 어떻게 권한을 위임받고, 관리하는지 알아보자 [OAuth 필수 개념]1) Service Provider : OAuth를 사용하는 Open API를 제공하는 서비스 - fb, google, naver, kakao 등2) Consumer : OAuth 인증을 사용하여 Service .. 2017. 6. 1.
[firebase] 시작하기 전 - firebase가 뭐야 [firebase란]- 구글의 웹과 모바일 개발에 필요한 기능을 제공하는 BaaS(Backend as a Service, 백엔드 서비스)- 백엔드 기능을 클라우드 서비스 형태로 제공하는 것을 말함, 실질적으로 서버리스 어플리케이션을 만들 수 있음- 서버 아키텍쳐 설계 : 보안, 인증, DB 설계, API 설계, 애널리틱스 등 쉽게 만들고 할 수 있음- 모두 다 써야하는게 아니라 필요한 기능을 골라서 쓰면됨- 프로젝트를 만들어 어플리케이션 서버와 연결해서 사용하는 형태, 프로젝트 별로 관리 콘솔을 제공함- firebase 공식페이지 : https://firebase.google.com/?hl=ko- firebase 소개영상 : 아래 영상 하나만 봐도 firebase가 뭐하는건지, 구글이 뭘 추구하는지 알 .. 2017. 5. 31.
[git] 버젼관리 #3 [버젼 되돌리기]현재 버젼에서 이전 버젼 혹은 특정 순서의 버젼으로 되돌아가는 것을 말함버젼을 돌아간다고해서 커밋했던 내용이 모두 사라지지는 않음, 다만 보이지않게 숨겨져있음간단하게 되돌리는 것에 대해서만 보여줄 것임버젼 되돌리는 것에 있어서 신중해야함 그렇기때문에 git의 버젼관리 원리를 알고 있어야 좋음 1) git log -p 명령어를 통해 커밋된 버젼 정보 리스트를 가져옴 2) 1번 과정을 통해 가져온 결과에서 commit 옆에 있는 id값(돌아가고자하는)을 기록해둠현재의 버젼에서 이전 버젼인 first commit 메세지를 가지고 있는 커밋 내역으로 돌아갈 것임git 버젼 넘버 : feb84a6edacb052f59d34bb58519b27a510907ab현재 커밋 버젼의 a.html 파일 내용 :.. 2017. 3. 24.
[git] 버젼관리 #2 [버젼 추가하기]- git add를 통해 해당 파일을 버젼 관리하도록 등록해놓았다면 버젼을 추가하는 부분이 필요함- 앞선 포스팅에서 알아본 점을 복습하는 차원임 1) 파일 간의 버젼 차이를 만듬 : 이전에 만든 파일을 수정함(vim을 이용) 2) git status를 통해 버젼관리에 포함시킨 파일의 상태를 확인해봄 : modified 3) 수정하려고 했던 목표까지 수정을 다했다면 git add와 git commit으로 버젼 등록을 함 : stage area -> repository 이동 [버젼 기록 확인]- 커밋 로그 기록을 확인하여 버젼 기록에 대한 정보를 얻을 수 있음 1) git log 명령어 입력- commit : 커밋의 식별번호- Author : 커밋한 사람의 정보- Date : 커밋된 날짜와 .. 2017. 3. 22.
[git] 버젼관리 #1 [버젼관리]- 말그대로 버젼관리의 필요성을 느끼고 그에 따른 프로그램을 사용함- 대표적인 프로그램으로 SVN, git이 있음 - github은 코드 공유에 초점이 맞춰져있음- 지금부터 할 것은 git에 초점을 맞춘 것 : 버젼관리! [git으로 특정파일 버젼관리]1) 전용 디렉토리를 만듬 : 분류를 위해 2) git init을 통해 전용 디렉토리 내에 .git 디렉토리(버젼관리기록이 저장될 디렉토리 > 자동으로 만들어짐)를 만듬 3) vim(텍스트 편집기)으로 임의 html 문서 만들고 편집 후 저장, 빠져나오기 === 버젼관리 확인을 위해 4) git status를 통해 우선적으로 현재 디렉토리 안에 있는 파일에 대한 버젼관리 상황을 확인을 해봄 - Untracked files라면서 방금 만들었던 파일.. 2017. 3. 20.
[rails] 레일즈 모델 - 트랜잭션 [트랜잭션이란]- db 처리를 할 때 묶음별로 처리를 할 때 묶음 내 모든 과정이 성공하면 비로소 db 처리를 하도록 할 때 사용함- 트랜잭션으로 묶인 일련의 처리과정 속에 개별적인 sql 명령이 성공했을 때 처리 대기를 시켜둠- 트랜잭션으로 묶인 개별 처리과정 모두가 성공했을 때 비로소 db 처리가 실행됨. 이것을 커밋(commit)이라 함- 트랜잭션으로 묶인 일련의 처리과정에서 하나라도 실패하면 롤백(rollback)됨. 즉, 모든 저장된 db 처리가 취소됨- 트랜잭션처리 흐름 1) sql 명령2) sql 명령 처리3) 처리 성공 시 처리 대기 / 실패 시 rollback3) 모두 성공 시 commit / 하나라도 실패 시 rollback4) 트랜잭션 rollback 시 예외처리(rescue)- 사용.. 2017. 3. 4.
[rails] 레일즈 모델 - 쿼리 인터페이스 스코프 [스코프란]- 자주 사용하는 쿼리메서드를 사용하기 간편하게 하는 방법, 하나의 예약어로 묶은 다음, 예약어를 호출하여 사용하는 방법- 또는 쿼리메서드를 사용하여 레코드 작업 시 쿼리메서드에 기본적으로 설정하고싶은 설정사항을 넣어두는 방법 [스코프 종류]- named scope : 자주 사용하는 쿼리메서드를 사용하기 간편하게 하는 방법- default scope : 테이블 레코드 작업(모델 쿼리메서드)을 할 시에 기본적으로 적용받는 설정을 저장함, 수정/제거 작업 이외에도 생성에도 영향을 미침 [스코프 사용하기]- named scope 1) 적용하고싶은 모델 클래스 파일을 연다(app > models > 적용하고싶은 모델클래스 이름.rb)2) scope :스코프이름, -> { 적용할 쿼리(ActiveRec.. 2017. 3. 3.
[ruby] 루비 기초편 - Array [Array란]- 같은 종류의 값들을 한 변수(배열타입)에 넣어둘 때 사용함- [ ] (대괄호)를 사용하여 묶고, ,(쉼표)를 사용하여 배열 안에 들어가는 개별 요소를 구분함 [Array 기본]- 선언하기1) 변수명 = [요소1, 요소2, 요소3] 2) 변수명 = Array.new # => 빈 배열의 변수를 만듬 3) 변수명 = Array.new(요소갯수) { Hash.new } # => [ { }, { }, { }, { } ] - 빈 해시 4개가 들어가는 하나의 배열을 만듬4) 변수명 = Array.new(3) { Array.new(4) } # => [ [1, 2, 3, 4번째 요소], [1, 2, 3, 4번째 요소], [1, 2, 3, 4번째 요소] ]5) 변수명2 = Array.new(Array변수.. 2017. 3. 2.
[rails] 레일즈 모델 - 쿼리메서드 [모델 활용 기본개념]레일즈의 기본(루비의 기본) : 객체.메서드, 모든 흐름은 객체가 어떤 메서드를 사용하는가에 초점이 맞춰져있음 [모델 객체+메서드로 db 테이블 접근하기 - 쿼리메서드, 쉽고 빠르게 쿼리문을 날리기] 1) 메서드 사용 명령 즉시 데이터베이스에 접근하여 알맞는 레코드를 찾아오는 메서드2) 메서드 사용 명령 시점에 데이터를 뽑지않고, 조건에 조건을 더해 최종적으로 데이터가 필요할 때 뽑아오는 쿼리문을 날림3) 데이터 수정 쿼리메서드4) 데이터 삭제 쿼리메서드 [선택 쿼리메서드 1번째 방법]쿼리문 : SELECT에 해당함 : SELECT "테이블명" .칼럼명( *을 씀으로서 모든 칼럼을 선택할 수 있음) FROM "모델객체명" 1) find(key) : 레코드 idx 값으로 데이터찾기, .. 2017. 2. 21.
[github] github 협업 flow [git과 github차이]- git은 버젼관리를 위한 저장소라고 생각하면 됨.- github은 버젼관리 + 팀프로젝트를 위해 사용함, 오픈소스화 하기위해서 사용하기도 함- git은 보통 개인저장소, github은 협업을 위한 도구로 사용한다고 보면 됨, 한마디로 공유 개념이 붙었는가 붙지 않았는가에 차이 [github을 활용한 협업 flow]그럼 어떻게 github을 활용해서 협업을 해나가는지 살펴볼 것이다. 1) 이미지로 흐름 살펴보기 2) 실습하기 1) github 레포지토리를 만든다(위의 이미지에서는 프로젝트 저장소에 해당한다) 2) github 레포지토리의 협업 팀원을 추가한다. 3) 추가를 시키면 추가된 팀원의 이메일(github 사용메일)로 수락 메일이 가고, 수락하면 collaborator.. 2017. 2. 17.