본문 바로가기

분류 전체보기173

[자바스크립트] 연산자 [산술연산자] : 수적 계산을 위해 사용하는 연산자1) + : 덧셈2) - : 뺄셈3) * : 곱셈4) / : 나눗셈5) % : 전항을 후항으로 나눴을 때 나머지 출력6) ++ : 점차 증가7) -- : 점차 감소 알아둬야할 점) 문자열 + 정수 를 할 경우 자료형은 문자열(String type), 값은 원래 "문자열정수"로 출력됨 [대입연산자] : 변수에 연산 후 대입을 하기위해 사용하는 연산자 1) = : 일반 대입2) += : 덧셈 후 대입3) -= : 뺄셈 후 대입4) *= : 곱셈 후 대입5) /= : 나눗셈 후 대입6) %= : 나눗셈 후 나머지 대입알아둬야할 점) 산술연산자와 마찬가지로 문자열 연산을 하면 같은 결과가 나옴(콘솔이미지) [비교연산자] : 값과 값을 비교할 때 사용하는 연산자,.. 2017. 3. 8.
[자바스크립트] 자료형과 변수 [기본 자료형(primitive type)]1) Boolean : true / false 논리 요소를 나타냄, 숫자 1은 true, 숫자 0, 빈문자열, null, undefined는 false를 뜻함 2) null : 의도적으로 값을 제거하는 것, 변수에 참조 정보(값을 참조할 메모리 주소값)가 없음을 명시할 때 사용함 주의해야할 점 : null이 주어진 변수를 typeof()(변수의 자료형을 판별하는 함수) 파라미터로 전달하면 object로 반환함 null 타입의 변수인지 아닌지 확인하기위해서는 일치연산자(===)를 사용해야함 3) undefined : 값을 할당하지않은 변수, 선언만 하고 할당된 값이 없거나, 존재하지 않는 Object의 프로퍼티에 접근할 경우 반환함 null은 null 자체가 값임.. 2017. 3. 8.
[자바스크립트] 기본문법 [자바스크립트 데이터 (주로 웹브라우저) 표시 방법]1) window.alert() : alert box를 가지고 데이터를 보여줌2) document.write() : html 문서의 내용 변경하는 방식(기존 문서내용 없애고, 데이터만 표시)으로 데이터를 보여줌3) DOM객체.innerHTML : html 문서의 특정 태그에 내용을 추가하는 방식(태그 추가 가능)으로 데이터를 보여줌 => 기존 내용 대체, DOM API를 통해서 html 태그를 DOM 객체화하는 방법 참조(1번 포스팅)4) console.log() : 웹브라우저의 콘솔(개발자도구 이용)로 데이터를 보여줌 [자바스크립트 구문] : 웹브라우저에 명령을 하기위한 방식, 문법1) 구성- 변수명 : 연산에 의해 변할 수 있는 값을 넣는 공간, 사.. 2017. 3. 8.
[자바스크립트] 자바스크립트 소개 - 웹은 물론이고, 하이브리드 앱, 서버사이드(nodejs), 데스크탑(electron) 등에서도 자바스크립트는 사용됨 : 환경의 다양화 1) html, css로 이뤄진 정적인 웹을 동적으로 바꾸어주는 역할(웹브라우저를 프로그래밍적으로 제어)로 사용이 되었음2) 구글의 V8 자바스크립트 엔진(속도 개선)을 기반으로 한 nodejs(웹서버)를 통해 서버사이드 개발 가능해짐3) 프론트앤드 영역에서 Angular, React, Vue 등 자바스크립트 프레임워크들이 각광을 받고 있음4) 백엔드 영역에서 nodejs, soketIO, express 등 자바스크립트 프레임워크들이 각광을 받고 있음 5) Google Apps의 Script 편집기에 자바스크립트를 삽입(문서 제어)하여 사용가능함 - 함수 기반1) 자바.. 2017. 3. 7.
[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.
[ruby] 루비 기초편 - Hash [Hash란?]- key-value 구조로 이뤄진 데이터타입- 우리들이 흔히 알고 있는 사전이라고 생각하면 됨 : 안녕 이라는 단어의 뜻을 찾는다, 안녕은 key / 안녕의 뜻이 value다. [Hash 선언]1) jinbro = Hash.new{ "name" => "jinbro", "age" => 25 } - key를 일반 데이터타입(string, integer 등)으로 저장하는 경우, value는 상관없음2) jinbro = Hash.new { :name => "jinbro", :age => 25 } - key를 symbol형태로 저장하는 경우, value는 상관없음2-1) jinbro = Hash.new {name: "jinbro", age: 25 } - 2번과 같음, 표현방식이 루비 버젼에 따라 .. 2017. 2. 17.