시작하기Vue.js에서 생성한 객체는 $watch라는 메소드를 갖고 있습니다. 이 메소드를 이용해 데이터 변경을 모니터링(감시)할 수 있습니다. 그러나 $watch 메서드는 객체의 추가 및 삭제를 감지합니다만, 객체(오브젝트) 값이 변경된 경우엔 작동하지 않습니다. 😢 다음과 같은 Vue.js 예를 봐주세요. (※ 예제에서는 Vue 인스턴스의 watch 옵션이 설정되어 있지만, 인스턴스화할 때 객체의 각 항목에 대해 $watch 메서드가 호출됩니다) export default { data () { return { someObj: { a: 'obj-a', b: 'obj-b', c: 'obj-c' } } }, watch: { someObj: function (val, oldVal) { console.log(..
갤럭시노트10 플러스와 갤럭시노트10 전원 버튼이 빅스비 버튼과 통합되면서 "측면 버튼"이라는 하나의 버튼이 되었습니다. 갤럭시노트10 스크린샷도 "전원 + 음량(down)"으로 찍을 수 있을까요? 노트10+에서는 어떻게 해야 할까요? 외국 버전과는 다르게 한국에선 빅스비 기능이 우선이지만, 설정을 바꿔 측면버튼을 전원 버튼으로도 사용할 수 있습니다. 예전처럼 "전원 + 소리(down)"로도 스크린샷을 촬영할 수 있는 것이죠. 오늘 소개할 방법은 s10, 노트10, 노트10+ 등 최신 기종에서 사용 가능한 5가지 방법입니다. (스크린샷, 스크롤 캡처 포함) 갤럭시노트10 시리즈 전원 버튼은 빅스비 버튼과 통합된 "측면 버튼"Galaxy Note 10과 Galaxy Note 10+는 전원 버튼과 빅스비 버..
빅스비 사용법 포스팅도 어느새 4번째가 되었군요. 이번에 소개하는 것은 갤럭시노트10 전원끄기입니다. 빅스비가 탑재된 갤럭시 s10, 갤럭시노트10, 갤럭시노트10 플러스를 포함해 이전 갤럭시 스마트폰에서도 모두 사용할 수 있습니다. 갤럭시노트10 전원끄기 방법은 총 3가지인데요. 하나는 빅스비 사용하기, 전원 버튼 길게 누르기, 상단의 전원 끄기 버튼 누르기입니다. 핸드폰 전원 끄는 방법 하나씩 살펴볼게요. 첫 번째. 빅스비 "전원꺼줘" 빅스비에게 "휴대전화 꺼줘", "전원 꺼줘", "전화기 꺼줘" 등으로 말하면, 이를 인식하고 갤럭시노트10 전원끄기를 할 수 있습니다. 빅스비가 종료를 인식하면 아래처럼 "디바이스를 종료할까요?"라고 묻습니다. 여기서 전원 끄기 또는 취소라고 말해 실제로 스마트폰을 종..
undefined와 nullJavaScript / TypeScript에 undefined와 null이 있습니다. 다른 언어에는 null(또는 None, nil 이라고도 부름)만 있는 경우가 대부분이지만, JavaScript / TypeScript에는 2종류로 등장합니다. 이 가운데 타입스크립트 undefined는 정의되지 않거나 아직 값이 할당되지 않은 변수를 참조할 때, 객체의 정의되지 않은 속성에 접근하면 리턴되는 값입니다. TypeScript는 클래스 등의 형식 정의 기능이 있어 코딩이 쉽다고 알려져 있는데, "undefined 발생으로 코드를 사전에 체크해 준다"는 것이 그 이 키워드의 본질이라는 생각이 듭니다. let favoriteGame: string; // 아직 대입하지 않아서 undefi..
TypeScript string literal (스트링 리터럴)타입스크립트 string 리터럴은 문자열을 표현합니다. 작은따옴표, 큰따옴표로 묶어 표현할 수 있습니다. 작은따옴표와 큰따옴표 중간에 줄 바꿈이 들어가면 "끝이 없다"고 오류가 납니다만, 역 따옴표로 여러 줄을 묶을 수 있어서 여러 줄 텍스트를 표현할 수 있습니다. JavaScript는 UTF-16이라는 문자 코드를 채용하고 있습니다. Java와 같습니다. 이모티콘(그림 문자) 등 일부 문자열은 하나의 문자로 데이터를 취급하지 못하여 두 문자로 표현할 수 있습니다. 이를 게이트 짝(게이트 쌍)이라고 합니다. // 값을 표시 // 싱글 쿼트, 더블 쿼트, 백 쿼트로 묶기 console.log('hello world'); // 변수에 대입. 변수..
웹 응용 프로그램 개발에 localStorage와 sessionStorage 등 Web Storage를 사용하는 경우가 많아지고 있습니다. 이 글에서는 웹 스토리지에 대한 개요와 사용 방법을 정리해 소개합니다. Web Storage 란 무엇인가브라우저의 로컬 영역에 key-value 형식의 데이터를 저장하는 구조입니다. Web Storage의 사양을 지원하는 브라우저는 Web Storage API를 사용할 수 있습니다. JavaScript에선 API를 이용해 Web Storage에 액세스(접근)할 수 있습니다. 저장할 수 있는 데이터 형식은 문자열만으로 오리진으로 구분된 저장 영역(5MB까지)을 보유하며, 다른 오리진의 웹 스토리지에 액세스 할 순 없습니다. "오리진"에 대해 조금 구체적으로 설명하면, ..
지난 2번의 포스팅을 통해 빅스비 사용법 2가지를 알아봤는데요. 하나는 "배고파"로 맛집 찾기였고, 다른 하나는 유튜브, 구글지도 검색, 전화걸기였습니다. 이번에 알아볼 빅스비 음성호출 기능은 기존에 설정한 목소리를 변경하는 내용입니다. 음성호출 변경, 안됨, 오류, 끄기 등 문제점을 불편해하는 분들을 위한 글이기도 합니다. 삼성 빅스비는 삼성 그룹 자체에서 꾸준히 밀고 있는 기능이라 전원 버튼이 사라지는 등 부침이 많았으며, 앞으로 발전 가능성이 높으니 지금이라도 사용법을 제대로 파악해 두시는 편이 좋다고 생각합니다. 빅스비 음성호출 메뉴 이동먼저 빅스비 앱을 실행하세요. 그리고 화면 위쪽, 오른쪽에 있는 메뉴 버튼을 터치합니다. 저는 별명을 칠칠이라고 설정해 칠칠님이라고 나오네요. 다음 화면에선 "설..
일렉트론 사용 중 서버에 올라온 컴파일된 소스를 반영하지 못할때가 있습니다. 업데이트가 되지 않을 땐 캐시를 지워보며 테스트하는 과정이 필요합니다. 일렉트론이 업데이트 반영하지 못할 땐, 직접 윈도우 폴더를 지우거나 electron API를 호출해 소스에서 삭제하는 방법을 선택할 수 있는데요. 여기서 주의할 점은, 캐시를 무조건 지우면 인터넷 끊겼을 때 캐시를 이용할 수 없으므로 운용의 묘가 필요합니다. 이 포스트에선 Electron이 사용하는 캐시 폴더와 API 캐쉬 삭제 함수를 소개합니다. 일렉트론 캐시 폴더 Windows:C:\Users\\AppData\Roaming\\Cache Linux:/home//.config//Cache OS X:/Users//Library/Application Suppor..
타입스크립트에는 많은 타입이 있습니다. 자바스크립트 콜백 함수 좋아하는 분들에게도 이 글은 도움이 되리라 생각합니다. Solution 1 - any가장 안 좋은 방법입니다. 변수를 any 유형으로 선언하면 나중에 다른 함수를 할당할 수도 있습니다. let a:any; a = function ():void{ console.log("It works"); } Solution 2 - Function종종 인터페이스를 디자인할 때 실제 정의 형태를 모를 수 있는데, 키워드 Function을 사용하여 유형(정의 형태)의 형태를 쉽게 확인할 수 있습니다. let a:Function; a = function ():void{ console.log("It works"); } any 보단 괜찮죠? 변수 a에 function ..
연산자+, -, *, /, %(나머지) 일반적인 수학(수치 계산) 연산자를 사용할 수 있습니다. 타입스크립트에선 이 밖에도 **라는 거듭제곱 연산자가 ES2016에 추가되었습니다. (예전에는 Math.pow(x, y) 사용) 또한, number 정수로 다루므로 typescript 역시, 비트 연산이 가능합니다. 비트 연산은 2진수로 표현된 표를 사용하여 계산한다고 생각하시면 됩니다. 컴퓨터의 내부는 비트 단위로 처리하므로 고속 로직 구현에 사용되는 경우가 많습니다. 비트 연산 용도로는 유전자 정보를 고속으로 계산하는데 사용하는 FM-Index와 같은 알고리즘 등이 있습니다. 타입스크립트 역시 간결한 데이터 구조가 핵심입니다. 그러나 비트 연산 시 정확도는 32비트 정수로 반올림하여 이루어집니다. 이 점은..
숫자TypeScript에는 2종류의 내장된 숫자형이 있습니다. 대부분의 경우 타입스크립트 number를 사용합니다. numberTypeScript(또는 그 아래에서 실행되는 JavaScript)는 64비트 부동 소수점을 취급합니다. 이는 어떤 CPU에서도 기본적으로 같은 정밀도(IEEE 754 규격)를 가집니다. 정수를 손실 없이 저장할 수 있는 것은 53비트(-1)까지므로, ±약 9007조까지의 정수를 다룰 수 있습니다. 그 이상의 숫자를 넣으면 뒷자리가 오차로 잘리는 등 타입스크립트에서 문제가 발생합니다. 타입스크립트에서 정확한 상한과 하한은 Number.MAX_SAFE_INTEGER, Number.MIN_SAFE_INTEGER라는 상수로 확인할 수 있습니다. 또한 Number.isSafeIntege..
Primitive 타입프로그램을 설명할 때 흔히 리터럴이라는 말이 나옵니다. 리터럴이란 것은 소스 코드의 고정된 값을 대표하는 용어(데이터 자료형)입니다. TypeScript에는 여러 종류가 있습니다. booleannumberstring배열객체함수undefinednull 이 가운데 더는 분해할 수 없는 단순한 데이터를 타입스크립트에선 "기본 형식, 원시형(Promitive 프리미티브)"이라고 합니다. boolean 리터럴타입스크립트 boolean 형은 true/false 두 논리 값을 표현하는 데이터 자료형입니다. if문, while 루프 등의 제어 구문과 삼항 연산자 등을 사용하여 Typescript 프로그램 동작을 제어하는 중요한 자료형입니다. // 값을 표시console.log(true);conso..