전체 글 30

타입 시스템

동적/정적(static/dynamic) 타입프로그래밍 언어에서 변수를 어떻게 다루냐에따라 static 타입과 dynamic 타입으로 나뉜다.Static type(정적 타입)예시 언어: Java, C, C++, TypeScript, Swift...변수가 선언될 때 타입이 결정됨let age: number = 25; age = "twenty-five"; //string 타입ㅁ 할당 안되장점컴파일에서 오류를 잡을수 있기에 안정성 증가코드에디터에서 자동완성이나 오류 검사 가능단점코드의 유연성 감소변수 사용전 타입 명시 필요Dynamic type(동적 타입)예시 언어: JavaScript, Python, Ruby, PHP...변수가 할당될 때 타입이 결정(runtime 중 변경될수 있음)let age = 25; ..

삼항연산자 / 중첩삼항연산자

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Conditional_operator 조건 (삼항) 연산자 - JavaScript | MDN조건 (삼항) 연산자는 JavaScript에서 세 개의 피연산자를 받는 유일한 연산자입니다. 앞에서부터 조건문, 물음표(?), 조건문이 참(truthy)일 경우 실행할 표현식, 콜론(:), 조건문이 거짓(falsy)일 경우developer.mozilla.org삼항연산자조건 ? Truthy : Falsy?, : 를 이용해 조건에 따라 다른값을 선택할때 쓰는 연산자이다.if...else 문을 대체하기 위해서 사용한다.let age = 18;let canVote = (age >= 18) ? ..

자바스크립트 Array.prototype 표준 내장 객체3(every, fill)

every()every() 메서드는 배열 안의 모든 요소가 주어진 판별 함수를 통과하는지 테스트합니다. Boolean 값을 반환합니다.// 화살표 함수every((element) => { ... } )every((element, index) => { ... } )every((element, index, array) => { ... } )// 콜백 함수every(callbackFn)every(callbackFn, thisArg)// 인라인 콜백 함수every(function callbackFn(element) { ... })every(function callbackFn(element, index) { ... })every(function callbackFn(element, index, array){ .....

자바스크립트 Array.prototype 표준 내장 객체2(concat, copyWithin)

concat() concat() 메서드는 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환합니다. 기존배열을 변경하지 않습니다. 추가된 새로운 배열을 반환합니다. array.concat([value1[, value2[, ...[, valueN]]]]) 매개변수 배열 또는 값 만약 value1 ~ valueN 인자를 생략하면 기존배열의 얕은 복사본을 반환. valueN (Optional) 반환값 새로운 Array 객체. 예제 console.log("test start"); let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; let arr3 = ['A', 'B', 'C']; console.log(JSON.parse(JSON.stringify(arr1))); cons..

자바스크립트 Array.prototype 표준 내장 객체 1(map, reverse, pop, push)

map map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다. arr.map(callback(currentValue[, index[, array]])[, thisArg]) 매개변수 callback 새로운 배열 요소를 생성하는 함수. 다음 세 가지 인수를 가집니다. currentValue : 처리할 현재 요소. index (Optional) : 처리할 현재 요소의 인덱스. array (Optional) : map()을 호출한 배열. thisArg (Optional) callback을 실행할 때 this로 사용되는 값. 반환 값 배열의 각 요소에 대해 실행한 callback의 결과를 모은 새로운 배열. 예제 console.log("test star..

[안드로이드 / XML] Button 기본 Padding 없애기

간만에 글올립니다. ㅎㅎ(출장을 다니다보니 귀찮아 지는군요) 안드로이드 개발하면서 기본 버튼을 사용할 때 Top/Bottom에 기본 패딩이 적용되어 보기 싫었는데 제거하는 방법을 알게되어 올립니다. 기본 버튼 생성시 모습 버튼을 생성하면 padding 값이 적용되어 Top/Bottom에 공간이 생김 기본 패딩 제거 android:minHeight="0dp" android:minWidth="0dp" minHeight/minWidth를 0dp로 추가하여 기본 패딩 제거 제거후 원하는 Padding(Start, End, Top, Bottom)옵션 추가 가능

08장 피에조 스피커 사용하기(1/2) tone(), notone(), delay()

피에조 스피커 전기적 신호를 이용해 소리를 내는 전자부품 동작하는 전압에 따라 다양한 피에조 스피커가 존재함 컴퓨터전원을 켤때 나는 삐 소리도 메인보드에 달린 피에조 스피커가 내는 소리 도레미파솔라시도 연주하기 피에조에 +를 8번핀으로 -를 GND로 연결한다. 소스코드 //배열 순서대로 도,레,미,파,솔,라,시,도 int melody[] = {262, 294, 330, 349, 392, 440, 494, 523}; void setup() { for (int i = 0; i < 8; i++) { tone(8, melody[i], 250); //tone함수를 이용해 8번핀으로 주파수 연주 delay(100); noTone(8); //음 종료 } } void loop() { } tone(핀번호, 헤르츠, 재생..

07장 삼색 LED 사용하기

삼색 LED 하나에 LED에서 빨강, 파랑, 초록의 색을 낼 수 있다. 4개의 다리는 빨강, 파랑, 초록, 그라운드이며 전압을 조절해 색을 조합할 수 있다. 버튼으로 색 바꾸기 *교재랑은 다른 코드로 작성함 버튼 입력을 읽어서 LED의 RGB를 켜도록 만들어보자 bool r = false, g = false, b = false; void setup() { Serial.begin(9600); //2,3,4번으로 버튼입력 감지 pinMode(4, INPUT); pinMode(3, INPUT); pinMode(2, INPUT); //9,10,11번으로 LED 출력 pinMode(11, OUTPUT); pinMode(10, OUTPUT); pinMode( 9, OUTPUT); //LED 전체 OFF digita..

06장 LED와 버튼 사용하기;

LED 액추에이터 빛을 내는 액추에이터 긴 쪽이 '+', 짧은 쪽이 '-' 반대로 연결하지 않도록 주의하자 LED가 고장 날 수 있다. 전류가 너무 크면 LED가 탈 수 있지만 작으면 빛이 약하기 때문에 저항으로 전류를 조절해줘야 한다. 5mm LED의 필요전압은 15mA에 강하 전압이 2V 정도이다. 이것은 LED에 색에따라 조금씩 다르므로 참고하자 아두이노의 전압은 5V이므로 2V의 강하 전압을 만들기 위해 3V의 전압을 내려주면 된다. 옴의 법칙에서 V에 3, I에 0.015를 대입하여 계산 시리얼 통신 활용하기 int light = 100; Serial.print("Light: ");//println이 아닌 print Serial.println(light);//println에 변수명을 입력 시리얼..