분류 전체보기 264

[Javascript] 함수의 호출(apply)

이 내용은 '생활코딩'에서 공부한 내용을 정리한 글이다. 자세한 내용은 https://www.opentutorials.org/course/743 이곳에서 확인할 수 있다. 모든 내용의 출처는 이곳이다. 다른 언어를 알고있는 상태로 공부한 내용이다. JavaScript는 함수를 호출하는 특별한 방법을 제공한다. 함수는 객체이며 후에 말하겠지만, 자바스크립트에서 불리언, 문자열, 숫자, null, undefined가 아니면 모두 객체이다. 예제에서 함수 sum은 Function 객체의 인스턴스이다. 이 때문에 객체, Function의 메소드 apply를 호출 할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2..

JavaScript 2019.05.27

[JavaScript] arguments 객체

이 내용은 '생활코딩'에서 공부한 내용을 정리한 글이다. 자세한 내용은 https://www.opentutorials.org/course/743 이곳에서 확인할 수 있다. 모든 내용의 출처는 이곳이다. 다른 언어를 알고있는 상태로 공부한 내용이다. arguments 객체는 모든 함수 내에서 사용할 수 있는 지역변수이다. 보통 함수의 인자로 매개변수가 없음에도 자바 스크립트에서는 매개변수를 포함하여 호출할 수 있다. 이것이 arguments 객체에 들어간다고 생각하면 된다. 그리고 이 argumets객체는 배열은 아니지만 배열과 비슷하다. arguments는 함수안에서 사용할 수 있도록 그 이름이나 특성이 약속되어 있는 일종의 배열이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16..

JavaScript 2019.05.19

[JavaScript] 변수의 유효범위

이 내용은 '생활코딩'에서 공부한 내용을 정리한 글이다. 자세한 내용은 https://www.opentutorials.org/course/743 이곳에서 확인할 수 있다. 모든 내용의 출처는 이곳이다. 다른 언어를 알고있는 상태로 공부한 내용이다. 보통 변수의 유효범위는 scope를 통해 알 수 있다. C/C++에서 기본적으로 함수 안에있는 것을 지역변수, main함수 밖에 있는 것을 전역변수라 하며 각 변수마다 사용할 수 있는 범위가 존재한다. 자바스크립트에서는 var을 사용하지 않은 변수는 전역변수가 된다. 함수안에서 var을 사용해야 지역변수가 된다. 아래의 예시와 주석을 통해 이해할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2..

JavaScript 2019.05.19

[JavaScript] 객체

이 내용은 '생활코딩'에서 공부한 내용을 정리한 글이다. 자세한 내용은 https://www.opentutorials.org/course/743 이곳에서 확인할 수 있다. 모든 내용의 출처는 이곳이다. 다른 언어를 알고있는 상태로 공부한 내용이다. C++에서 객체라 하면 클래스, 인스턴스 그에따른 다형성, 오버라이딩 등의 객체지향적 개념들이 생각날 수 있다. Javascript에서 객체라 하면 C++의 map컨테이너와 비슷하며 더 나아가 클래스라고 생각하면 이해하기 쉬울 수 있다. -실습 코드- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 var grades..

JavaScript 2019.05.08

[JavaScript] 함수, 배열

이 내용은 '생활코딩'에서 공부한 내용을 정리한 글이다. 자세한 내용은 https://www.opentutorials.org/course/743 이곳에서 확인할 수 있다. 모든 내용의 출처는 이곳이다. 다른 언어를 알고있는 상태로 공부한 내용이다. Funtion : 함수(function)란 하나의 로직을 재실행 할 수 있도록 하는 것으로 코드의 재사용성을 높여준다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 function f(num, num2){ // 자바스크립트 함수 모양 - ()안은 매개변수(파라미터)라고 생각하면 된다. r..

JavaScript 2019.05.08

[JavaScript] 조건문, 반복문

이 내용은 '생활코딩'에서 공부한 내용을 정리한 글이다. 자세한 내용은 https://www.opentutorials.org/course/743 이곳에서 확인할 수 있다. 모든 내용의 출처는 이곳이다. 다른 언어를 알고있는 상태로 공부한 내용이다. -조건문 if- //조건문은 boolean을 반환한다. if(true){ //if가 true면 if문을 실행하고 아니면 else문을 실행 //현재 if는 무조건 true이기 때문에 if가 실행되고 else는 실행되지 않는다. //C++과 같이 동작함. console.log(100); } else{ console.log(-200); } prompt("당신의 나이는"); //프롬프트 창이 뜨면서 사용자 입력을 받을 수 있다. alert(prompt("시험 몇점??..

JavaScript 2019.04.28

[JavaScript] 변수

이 내용은 '생활코딩'에서 공부한 내용을 정리한 글이다. 자세한 내용은 https://www.opentutorials.org/course/743 이곳에서 확인할 수 있다. 모든 내용의 출처는 이곳이다. 다른 언어를 알고있는 상태로 공부한 내용이다. var a = 1,b=3; //자바 스크립트 변수는 var로 시작한다. 생략가능하다. var str = "coding", str2 = "algorithm"; console.log(a + 1 + b); console.log(str + str2); //변수는 재활용성을 높여준다. var num = 100; num = num + 10; console.log(num); num = num/10; console.log(num); num = num * 100; consol..

JavaScript 2019.04.28

[Javascript] 숫자, 문자열

이 내용은 '생활코딩'에서 공부한 내용을 정리한 글이다. 자세한 내용은 https://www.opentutorials.org/course/743 이곳에서 확인할 수 있다. 모든 내용의 출처는 이곳이다. 다른 언어를 알고있는 상태로 공부한 내용이다. *실습환경은 메모장이나 sublimetext, visual studio 혹은 구글 크롬 개발자도구를 사용한다.* -숫자- alert(1); alert(1.1); alert(1 + 2.1); alert(1 * 10); // 정수 실수, alert는 그냥 경고창을 뛰움. // alert가 2개 이므로 2번의 경고창이 뜸. // 자바스크립트에서는 *정수, 실수의 구분이 중요하지 않다.* // 에디터가 싫다면 구글 크롬 개발자도구를 이용해 console창에서 실습가능..

JavaScript 2019.04.28

[필기,면접]객체지향 프로그래밍

대부분이 Java, Phyton 등을 사용하면서 객체지향언어에 대해 이해를 하고 있을 것 같다. 그래도 본 책에 있는 내용을 정리해보았다. 필자는 C++사용자라 가비지 컬렉터에 대해 잘 모르지만 면접에서 자주 물었던 개념이다. C++ 사용자라면 스마트 포인터에 대해서도 알고있으면 좋다. 객체지향 프로그래밍 다형성 : 한 클래스에서 서로다른 매개변수로 한 메서드를 두가지 버전으로 정의, 부모 클래스와 서브클래스에서 정의한 메소드를 다르게 정의하여 서브 클래스의 인스턴스에 대해서는 서브클래스에서 정의한 메서드가 부모 클래스에서 정의한 메서드를 오버라이드하도록 할 수 있음 가비지 컬렉터 : 메모리할당을 추적하고 할당된 메모리가 더 이상 필요없을 때 자동으로 해체하는 작업 스마트 포인터 : 메모리 누수(memo..

[필기,면접] 디자인패턴

디자인 패턴 : 객체지향 프로그래밍에서 공통적인 디자인 문제를 찾아내고 해결하는 가이드라인 프레임워크나 클래스 라이브러리와 달리 추상적임 왜 쓰는가? -> 공통적인 SW디자인 문제를 해결하는데 도움이 되기때문 디자인 문제와 그 해결책을 논할 떄 디자인패턴이 간결한 용어모음을 제공 *안티패턴 : 사용하면 안 되는 패턴, 비효율적이거나 효과적이지 못한 코드를 만들어냄 생성패턴 - 싱글톤 : 어떤 클래스의 인스턴스 개수가 최대 한개를 넘지 않도록 하는 패턴 싱글톤이 정적 메소드보다 나은 이유? 상속과 인터페이스, 동적 바인딩, 다수 객체로 전환가능(싱글톤패턴을 안쓰는 셈) 빌더 : 객체가 어떤 식으로 구축되는지에 대해 모르는 상황에서 단계별로 객체를 생성하는 패턴, 객체를 초기화하는 과정이 깔끔하고 이해하기 ..