전체 글(64)
-
자바스크립트의 다중프로세스 아키텍처, 렌더러, DOM, 컴포지터
DOM 웹페이지는 일종의 document이다. 이 문서가 웹브라우저를 통해 그 내용이 화면에 나타나거나, 그저 html 소스 자체로 나타나기도 한다. 이 웹브라우저와 관련된 집합을 브라우저 객체모델(BOM : Browser Object Model) 이라고 부른다. 이 BOM을 이용하여 브라우저와 관련된 기능으 ㄹ구성하는데, DOM은 BOM의 여러종류 중 하나다. BOM의 최상위 객체는 window라는 객체로, DOM은 window객체의 하위객체이기도 하다. 그렇다면 DOM은, Document Object Model으로, 문서 객체 모델이다.,같은 html 문서의 태그를 자바스크립트가 이용가능한 객체로 만들면!! 그것이 DOM이 되는 것이다! 풀어서 말해서 이렇지, 한마디로 웹 브라우저가 HTML코드를 인..
2019.11.22 -
javascript URL parser구현(tokenizer, laxer, parser)
URL 파서 Protocol ^(https?):\/\/ ^(문자열) : 문자열의 시작과 일치 할 때 ? : 바로앞에오는 문자가 존재할수도, 존재하지 않을 수도 있음. (https, http를 모두 가져오기 위함) \/ : \가 메타문자를 문자열에서 찾고싶을 때 사용! \/ == \ Domain ([^:\/\s]+) // 그냥 모든 문자열을 찾음 ., -을 비롯한 문자들로만 구성된다. ^ : 대괄호 안에 존재할때는 부정, 대괄호 밖에서는 문자의 시작을 표현. 여기서는 대괄호 안에 존재하므로 http(protocol) 다음을 보니까, port 번호가 나오기 전까지를 체크한다. + : 앞에 존재하는 문자가 1번 이상 반복될 때! \s : 공백문자 또는 영문 PORT (:([^\/]*))? pathFile ((..
2019.11.21 -
자바스크립트의 Prototype, 객체, this
자바스크립트의 Prototype Object란? 자바스크립트는 객체기반의 스크립트 언어이고, key :value로 구성된 property들의 집합이다. 그리고 객체는, 데이터를 의미하는 Property와 데이터를 참조하고 조작할수있는 동작을 의미하는 Method(Property값이 함수인 경우)로 구성된 집합이다. 자바스크립트 객체는 객체지향의 상속을 구현하기 위해 prototype이라고 불리는 객체의 프로퍼티, 메소드를 상속받을 수 있다. 객체 리터럴 let student = { name: 'pong', score: 100, sayHello: function () { console.log('hello' + this.name)} } student.sayHello(); 사실 자바스크립트 엔진은 객체 리터럴..
2019.11.20 -
[리액트네이티브(RN)] OAuth 2.0 과 소셜로그인(네이버아이디로로그인[네아로])
리액트 네이티브로 프로젝트를 진행하기로 했다. 그렇게 회원가입/로그인 구현 시 소셜로그인이야 워낙 api이용을 위한 가이드라인도 꼼꼼하게 되어있어 큰 걱정을 하지 않았으나, 허허 우리는 expo cli 를 사용하고있었어서, and, ios로 앱을 export 하지 않을 것이기 때문에 사용하고있는 프레임워크들에서 네아로 구현을 했어야만 했다 ㅎㅎ 그래! 네이티브앱 내에서 웹을 porting하는 방식으로 소셜로그인을 구현하자! 그렇게 해서 이 대장정이 시작되었다... 소셜로그인 React native expo로 개발을 진행하면서, 소셜로그인을 구현하는데 알아야 할 개념들을 먼저 알자. OAuth 2.0이란? API(or 서비스) 이용시 인증, 리소스(제공 서비스)에 대한 권한부여방법 중 하나. 비유하자면, ..
2019.11.19 -
[git] git의 상황 별 프로세스
# 1. Git 이란 무엇인가? ✔️버전관리를위한 소프트웨어 버전관리? 소스 하나 또는 묶음을 하나의 버전으로 간주하여 관리 프로젝트 어떤 부분도 겹쳐쓰지 않게 프로젝트 변경을 관리 파일/폴더를 추가/수정/삭제하여 사람이 직접 묶음을 버전으로 관리 -> ex. 최종.ai, ㄹㅇ최종.ai, 이거진짜최종.ai, 하이게진짜.ai … 이렇게 여러버전을 저장할 필요 없이, 저장하면 이전 file 위에 overwrite하거나 여러 version으로 나누어 저장함 ✔️분산저장소 개발 협업을 위해 사용 -같은 모듈을 개발하더라도 소스를 서로 공유하면서 개발 -전체 개발 소스를 공유하며 개발파트를 나누어 공유 ✔️GitHub는? : Git 저장소를 직접 설치하지 않고, GitHub을 통해 사용 가능 GitHub-fork..
2019.11.18 -
웹의 작동원리(1)
네트워크 과목을 수강하기 전이나, 웹의 프로세스들을 가볍게 알고가면 좋은 정보들을 정리해보았다. 인터넷이란? 수십억대의 컴퓨터를 모두 연결할 수 있는 기술 인프라 인터넷의 작동 원리 2대의 컴퓨터를 연결하면, 서로 통신이 가능함 -> 네트워크 근데 10개의 컴퓨터를 연결하려는 경우 45개의 케이블이 필요!! 그래서, 라우터라는 작은 컴퓨터에 10개의 컴퓨터를 연결하면, 10개의 케이블로만 연결이 가능! 이 라우터끼리 연결하면, 무한대로 확장하여 다른 pc끼리도 통신이 가능함. 이때, 라우터-PC 의 연결은 케이블로연결하지만 라우터-라우터의 연결은 라우터의관리를 담당하는 ISP(Internet Service Provider)에 의하며, ISP-다른 회사의 ISP를 통하여 라우터에 액세스. 주소 찾기 173..
2019.11.14