전체 글 71

스크립트 언어

스크립트(Script) 언어란 소스 코드를 컴파일(Compile)하지 않고도 실행할 수 있는 프로그래밍 언어를 말한다. -다른 응용 프로그램에 삽입되어서 동작하는 프로그래밍 언어이다. 예를 들어 C나 비주얼베이직, 자바같은 경우는 작성한 소스를 컴파일러를 통해 기계어 코드로 변경해야 사용자가 실행할수 있는 실행 파일이 얻어지는데 비해 스크립트 언어는 별도의 컴파일 없이 내장된 번역기에 의해 번역 되므로 바로 실행 할 수 있다. 스크립트 언어는 소스를 작성한 후 컴파일 과정 없이 바로 실행하여 결과를 확인할 수 있다는 장점이 있는 반면에 번역 과정을 거쳐야 하기 때문에 다소 느리다는 단점이 있다. C언어나 Java와 같은 비스크립트 언어의 경우 실행 속도가 빠른 장점이 있는 반면 컴파일 과정을 거쳐야 하는..

개발 2022.05.19

자바스크립트 변수 선언의 특징

특징 "변수 호이스팅" , 변수를 어디서 선언을 하든 변수 선언이 맨 앞으로 간다 변수 선언의 범위 var 를 사용해 선언된 변수는 가장 가까운 함수 범위를 갖는다 let 을 사용해 선언된 변수는 가장 가까운 블록범위를 갖는다 (즉 { } 내에서 사용가능하다) function scope2(print){ if(print){ var insideIf = '12'; } console.log(insideIf); } scope2(true); //'12'가 출력된다 function scope3(print){ if(print){ let insideIf = '12'; } console.log(insideIf); } scope3(true); //오류 발생 !!! **자바에서는 If 내부에 선언된 변수는 외부에서 사용할 수..

동적언어와 정적언어

동적언어 : 인터프리터가 프로그램을 번역하지 않고 그대로 실행하는데, 프로그램에서 변수가 사용될 때마다 자료유형을 점검하여 필요한 작업을 수행하면서 실행한다. 예) 코틀린,자바스크립트,루비, 파이썬 등 => 동적언어의 자료형은 실행 시 결정된다. 정적언어 : 타입(자료형)을 컴파일 할 때 결정하는 것 예) C C# 자바등의 언어가 여기 속한다 => 메소드 호출이 빠르다 오류가 생길 활률이 줄어든다 => 코드에서 다루는 객체가 어떤 타입인지 알 수 있어서 가독성이 좋다

개발 2022.05.18

빅오표기법

빅오 표기법은 알고리즘의 최악의 경우 복잡도를 측정한다. 알고리즘 분석의 목표는 빅오표기법을 통한 시간과 공간의 복잡성을 계산함으로써 알고리즘의 효율성을 이해하는 것이다. O(1) : 입력공간에 대해 변하지 않는다. O(n) : 선형시간, 최악의 경우 n번의 연산을 수행해야 하는 알고리즘 적용된다. f(n) : 알고리즘의 시간의 복잡도 n : 입력의 개수 f(n)time : 필요한시간 f(n)space : 필요한공간(추가적인메모리) f(n)에 관해 계산하는데 도움이 되는 기본적인 규칙 1. 계수 법칙 2. 합의 법칙 3. 곱의 법칙 4. 전이 법칙 5. 다항 법칙

개발/알고리즘 2022.05.18

자바스크립트 배열의 크기 변경

자바스크립트의 배열의 큰 특징은 배열의 크기를 임의로 변경 가능하다는 것이다 var arr = [ 1234, 'test' , true ]; //배열의 크기를 임의로 변경 (3->5) //arr[3],arr[4]는 값이 할당되지 않았기 때문에 undefined arr.length=5; //새로운 배열을 추가하면 크기는 자동으로 변경 (5->6) arr[5]='apple'; //새로운 배열을 추가하면 크기 변경 (6->7) arr.push('banana'); for (var i=0; i

클래스와 함수생성자

클래스와 객체 객체 클래스의 인스턴스 이다 1개의 클래스로 여러개의 객체를 만들 수 있다 객체 안에는 데이터가 있다. 메모리에 올라간다 클래스 템플릿 같은 역활을 한다 한번만 선언한다 클래스 안에는 데이터가 없다 메모리에 올라가지 않는다 클래스 선언 생성자 Constructor 생성자는 객체를 생성할 때 인자를 프로퍼티에 전달하여 생성 class Person { name='mike'; age=19; } //인스턴스 생성 let person= new Person(); class User { constructor(name) { // setter를 활성화합니다. this.name = name; } } //인스턴스 생성 let user=new User(name); 동적으로 선언 getter 와 setter cl..

자바스크립트 모달창만들기

1. 모달창 작성 import styled from "styled-components"; import { Button } from "components"; import { myTheme } from "style"; const { fonts, colors } = myTheme; function POPUP(props) { //프롭스로 set hook등을 받아와야함 매우중요 const { open, close, title, content } = props; return ( // 아래에 open?을 물어보는 삼항 연산자로 인해 modal창이 열림 매우중요 ! {title} x {content}{" "} ); } export default POPUP; //위치 고정과 배경이 검정색이 됨 그리고 z-index가 컴..

자바를 많이 사용하는 이유

각 운영체제 위에 JVM (Java Virtual Machine)이 설치되어있기만 하면 (자동으로 깔리는경우가많음) 운영체제별로 자바 프로그램을 만들지 않아도 실행이 가능하다 프로그램을 두개 돌리게 되어서 느리다는 단점과 애플+구글의 시장에서의 허용이 잘 안되서 ​에서는 모바일에서는 상대적으로 덜 발전하게 되었다. 파이썬도 자바와 같이 VM이 있어 운영체제에 영향을 받지 않는것 같다 ?

개발 2022.05.14