-
[C언어/Day2] C언어 수업정리 (정보처리기사, 실기) / 자바스크립트와 산술연산 결과가 다르게 나오는 이유Backend 2019. 5. 13. 12:11
1. 산술연산자 / 증감연산자 #include int main() { int num5 = 3, num6 = 3, num7 = 3, num8 = 3; num5++; // ++num5; num5=num5+1; num5+=1; printf("num5= %d \n", num5); ++num6; // num6++; num6=num6+1; num6+=1; printf("num6= %d \n", num6); num7--; // --num7; num7=num7-1; num7-=1; printf("num7= %d \n", num7); --num8; // num8--; num8=num8-1; num8-=1; printf("num8= %d \n", num8); system("pause"); return 0; } 자바스크립트..
-
[C언어/Day1] C언어 수업정리 (정보처리기사, 실기)Backend 2019. 5. 12. 15:38
정보처리기사 실기반 수강을 시작하면서 C언어 기초를 배우게 되었다. 아마 컴퓨터공학 관련 학과를 나왔다면 아마 필수적으로 공부했을 과목인데, 나는 비전공이라서 이번 기회에 처음 접하게 되었다. 내가 지금 공부하고 있는 자바스크립트와 가장 크게 다른 점은 자바스크립트는 인터프리터 언어이고 C언어는 컴파일러 언어라는 점이다. 이 부분에 대해서는 아래 글에 좀 더 자세하게 설명되어 있다. https://im-developer.tistory.com/77 [JS/호이스팅] Interpreted Language인 자바스크립트의 호이스팅(Hoisting)에 대하여 자바스크립트, 인터프리터 언어(Interpreted Language) 보통 우리가 사용하는 프로그래밍 언어는 고급 언어(High Level Language..
-
[JS/호이스팅] Interpreted Language인 자바스크립트의 호이스팅(Hoisting)에 대하여Frontend 2019. 5. 3. 13:16
자바스크립트, 인터프리터 언어(Interpreted Language) 보통 우리가 사용하는 프로그래밍 언어는 고급 언어(High Level Language), 컴파일러 언어라고도 한다. 즉, 기계가 이해할 수 있는 0과 1로 표현된 2진수 언어가 아니라 인간이 이해하기 쉬운 자연어와 비슷한 구조를 갖는 언어를 말한다. 이러한 고급 언어를 사용하여 프로그래밍을 하면 반드시 기계어로 번역하는 과정을 필수적으로 거쳐야 하는데, 그 과정에서 사용되는 번역기에는 두 종류가 있다. 바로 컴파일러와 인터프리터이다. 컴파일러를 사용하는 고급 언어를 우리는 Compiled Language라고 한다. 대표적인 Compiled Language에는 C언어가 있다. 컴파일러를 사용하면 프로그램 전체를 목적 프로그램으로 번역한 ..
-
[JS/스코프] 자바스크립트 스코프(scope)와 즉시실행함수(IIFE)Frontend 2019. 5. 2. 16:02
스코프(scope) 스코프란 일종의 "범위"와 같은 것이다. 어떤 변수를 선언하였을 때, 그 변수에 접근할 수 있는 범위라고 생각하면 쉽니다. 스코프에는 Global(전역)과 Local(지역)이 있는데, Global scope는 말 그대로 어떤 함수에 종속되어있지 않고 어디서나 접근할 수 있는 전역 범위를 말한다. 반면, Local scope는 어떤 함수나 블록 단위로 국한되는 범위를 말한다. 만약에 Global scope에 어떤 변수가 선언되었다면, 그 변수는 Global Variable(전역 변수)가 된다. 반면, 어떤 변수가 Local scope에 선언되었다면, Local Variable(지역 변수)가 된다. 위 그림에서 파란색 영역이 Global scope, 보라색 영역이 Local scope이다..
-
[JS/반복문] 자바스크립트, 가장 기초적인 반복문 for문의 동작 원리 (for문/이중for문/break/continue)Frontend 2019. 4. 28. 14:17
어떤 언어에서든지 매우 중요하게 다뤄지는 반복문에 대해서 정리해보려고 한다. 1. for문 반복문은 어떤 동작을 여러 번 실행할 때 사용한다. 만약에 어떤 변수에 1부터 10까지 더한다고 생각해보자. 반복문이 없다면 우리는 변수에 계속해서 숫자를 더하는 코드를 10줄 써야할 것이다. var sum = 0; sum += 1; sum += 2; sum += 3; sum += 4; sum += 5; sum += 6; sum += 7; sum += 8; sum += 9; sum += 10; 이 얼마나 귀찮은(!) 100까지 더하면 100줄, 1000까지 더하면 1000줄로 늘어난다(!) 물론 컴퓨터는 매우 똑똑해서 귀찮은 반복작업을 대신 해준다. 그 때 사용하는 것이 반복문인데 가장 많이 사용되는 for문으로 ..
-
[IT] 객체지향 프로그래밍이란?Computer Science 2019. 4. 25. 01:40
요즘 IT업계에서 공부를 하거나 일하고 있는 사람들이라면 많이 들어봤을 단어. 객체지향 프로그래밍, 객체지향 소프트웨어 공학, 객체지향 블라블라~~ 내가 배우고있는 자바스크립트라는 언어도 객체지향적인 언어라고 할만한 요소들이 있고 우리가 프로그래밍을 할 때도 객체지향 기법으로 해야한다고 하는데 그래서 대체 이 객체지향 프로그래밍이라는 것이 무엇일까? 뭔가 단어만 들으면 감이 안오고 생소한 객체지향이란 말은 사실 별게 아니다. 객체지향 기법이란 현실 세계의 개체(Entity)를 기계의 부품처럼 하나의 객체(Object)로 만들어, 기계적인 부품을 조립하여 제품을 만들 듯이 소프트웨어를 개발할 때에도 객체들을 조립해서 작성할 수 있도록 하는 기법이다. 말은 댑따 어렵지만 개념을 쉽게 설명해보면 그렇게 어려운..
-
[JS/Arguments] 자바스크립트, Arguments 객체에 대해서.Frontend 2019. 4. 24. 15:40
Javascript, The Arguments Object function makeSum (num1, num2) { return num1 + num2; } makeSum(4, 7); 만약에 위와 같이 어떤 숫자의 합을 구하는 간단한 function을 만들었다고 해보자. 함수 파라미터로 num1, num2에 각각 숫자를 넣으면 그 숫자의 합을 구해서 return하는 함수이다. 그런데 위와 같이 함수를 만들면 우리는 딱 2개의 숫자만 더할 수 있다. 그러니까 즉, 함수를 처음 만들 때 지정한 parameter의 개수만큼만 가져와서 연산할 수 있다는 말이다. 그렇다면 만약에 어떤 경우에는 파라미터로 3, 5, 6, 8을 넘겨주고 이 숫자들의 합을 구하고 어떤 경우에는 7, 34, 2, 7, 8, 23, 4 이..
-
[JS/클로져] 자바스크립트의 Lexical scoping과 ClosureFrontend 2019. 4. 23. 15:25
하.. 너무 이해하기 어렵고 힘들었는데 최대한 MDN이랑 W3Cschools 글을 읽고 또 읽어서 이해한 내용을 정리해보려고 한다. 내가 정리한 내용들은 모두 아래 링크로 들어가면 나온다. Closures A closure is the combination of a function and the lexical environment within which that function was declared. developer.mozilla.org JavaScript Function Closures JavaScript Closures JavaScript variables can belong to the local or global scope. Global variables can be made local (pr..
-
[JS] 자바스크립트, 가장 기초적인 조건문 정리 (if문/if-else문/삼항연산자/switch문)Frontend 2019. 4. 12. 22:34
1. if문 / if - else문 if(조건식) { // 조건식이 true인 경우 } else { // 조건식이 false인 경우 } 조건식이 만족하면 바로 아래로, 조건문이 만족하지 않으면 else문으로 빠지는 형태이다. else문은 생략가능하다. 제일 많이 쓰고 가장 중요한 제어문 중에 하나이다. if-else문의 명령어가 한 줄이면 {}는 생략가능하다. if(조건식) //명령어 else //명령어 다음은 자바스크립트에서 false로 인식하는 값들이다. (이를 falsy한 값이라고 표현한다.) 0 "", '' (빈값) NaN undefined null 위 값들을 제외한 모든 값들은 다 true로 인식한다. (truthy한 값이라고 표현.) console.log(!!'hello'); 예를 들면 위 값..
-
[JS] 자바스크립트, 연산자 정리 (산술/할당/비교/논리 연산자)Frontend 2019. 4. 11. 23:23
1. 기초 산술연산자 분류 연산자 이름 기호 설명 사칙 연산자 더하기 + 두 값을 더한다. 빼기 - 앞의 값에서 뒤의 값을 뺀다. 곱하기 * 두 값을 곱한다. 나누기 / 앞의 값을 뒤의 값으로 나눈다. 나머지 연산자 나머지 % 앞의 값을 뒤의 값으로 나눈 나머지 값 증감 연산자 증가 ++ 변수의 값을 1 증가 감소 -- 변수의 값을 1 감소 # 증감연산자의 위치 증감연산자가 피연산자 앞에 위치 ex) ++a 전체 수식 처리하기 전에 적용됨 증감연산자가 피연산자 뒤에 위치 ex) a++ 전체 수식의 처리가 끝난 뒤 적용됨 var a = 10; var b = a++ + 5; console.log(a, b);// a = 11, b = 15가 출력됨 var a = 10; var b = ++a + 5; conso..