본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


Javascript72

RxJs 기본, Subject와 BehaviorSubject 그리고 Observable Rxjs는 데이터의 변화를 감시자를 만들어 바라보게 하다가 데이터가 변하는 순간 사용자가 입력 한 행동을 하도록 구성된, 소위 반응형 방식으로 구성되어 있다. 기본적인 관측은 Subject를 활용하여 간단하게 구현 할 수 있다. import { Subject } from 'rxjs'; const sub = new Subject(); sub.next(1); var a = sub.subscribe(console.log); //a 감시자, 지나간 1에 대해서는 행동을 하지 않음 sub.next(2); // a에서 2 출력 var b = sub.subscribe(console.log); //b 감시자, 지나간 2에 대해서는 행동하지 않음 sub.next(3); //a와 b에서 3출력 위 예제를 보면, Subje.. 2019. 5. 7.
Rxjs 반응형 프로그래밍 시작 - Typescript 개발환경 구축 반응형 프로그래밍이라는 말을 심심치 않게 찾아 볼 수 있다. 반응형 프로그래밍은 쉽게 말하면 한번 코딩을 해 놓으면 이후에 데이터가 변화하는 행동을 알아서 처리하는 것을 의미 한다. 예를들어, 게시판 같은 곳에서 하단의 페이징 버튼을 눌러 다음페이지로 이동하는 부분에서, 기존에 코딩방식은 데이터를 가져와서 기존 데이터를 삭제하고 다시 그려주는 역할을 사용자가 전부 다 코딩하였다면, 반응형 프로그래밍 기법을 활용하면 최초 1번만 사용자가 코딩을 해 주고 이후에 변동되는 데이터에 대해서는 알아서 처리를 해 준다. Rxjs는 Javascript로 이루어진 반응형 프로그래밍으로도 잘 알려진 오픈소스이다. Rxjava, RxPy, RxPhp등등..Reactivex 홈페이지로 이동하면 다른 언어로 만든 오픈소스 라.. 2019. 5. 7.
ES6 문법을 HTML에 활용해보기 export class userClass { constructor() { //생성자를 통해 내부 변수를 만들 수 있다. } accessToServer(server_url, param) { return new Promise((resolve, reject) => { //Promise 객체를 통해 ajax 통신 후 이벤트를 받로독 한다. $.ajax({ url: server_url, //보낼주소 type: 'post', data: param, //보낼 데이터 success: function (result) { resolve(result); //성공시 행위 }, error: function (errors) { reject(errors); //실패시 행위 } }); }); } } 자바스크립트 버전이 ES6이 등장.. 2019. 4. 27.
Input type File 다중 파일 선택 & Ajax 전송 input type file 테그 속성중에 multiple이라는 속성이 있다. 해당 속성을 선택하면 파일이 여러개 선택 되는데, 해당 데이터가 배열로 리턴된다. 해당 내용을 한번에 던져도 상관없지만 만약 프로그래스를 구현하려면 각각 전송하는 것을 권장한다. function sendData(){ $.each(formArray, function (uniquId, DATA) { //앞서 유니크한 아이디로 프로그래스 아이디를 매칭하면 파일마다 각각 //전송상태 효과를 줄 수 있다. $.ajax({ url: '주소', xhr: function() { var myXhr = $.ajaxSettings.xhr(); //PROGRESS_KEY 값에 앞서 지정한 유니크한아이디를 넣어주자. myXhr.upload.PROGR.. 2019. 4. 27.
Firebase 파일다운로드 크로스 도메인(Cross-origin) 파이어베이스 연동을 하다보면 파일 업로드는 뭐 상관없이 되는데.. 파일 다운로드를 하는 경우에 데이터가 있는 곳을 url로 주기 때문에 일반 웹에서 접근하면 크로스 도메인에 걸리게 된다. 뭐..jsonp나 기타등등 방법을 사용해도 안된다. 아무튼, 이 현상을 해결하려면 검색에서 "Firebase 저장소 크로스도메인" 이런 내용으로 검색하면 해결 방법이 나온다. 대충 몇자 적어보면, 1. Cloud SDK 설치 프로그램을 다운로드 2. Google Cloud SDK shell 실행 3. gcloud components update로 업데이트를 수행 (옵션, 안해도된다.) 4. gsutil 명령어 실행 5. 변경할 프로젝트 선택 6. cors.json 파일 만들기 7. 변경할 버킷 url 가져와서 set 명.. 2019. 4. 27.
Javascript로 일반 문자열을 배열로 파싱, 변환 서버에서 데이터를 받은 경우에..헤더나 네트워크문제로 해당 데이터가 객체가 아니라 일반 문자열로 들어오는 경우가 있다. 또는 콤마, json형식처럼 보이는 문자열을 가져와서 파싱만 해주면 반복문으로 사용하면 참 편리한데 이걸 일일이 split하거나 사용자 정의의 파싱메소드를 만들기에는 참 귀찮은 일이지 않을 수 없다. 이럴때는 아래 소스코드를 활용하면 쉽게 배열형태의 객체로 파싱이 가능하다. var string = "0,1,2,3,4,5"; //콤마로된 문자열 var objectstring = '{Name:"김이사", number:12345}'; //json형태의 문자열 var stringToArray = (new Function("return [" + string+ "];")()); var object.. 2019. 4. 27.