반응형

Archive 76

[Javascript] 자바스크립트의 메모리 관리

자바스크립트의 메모리 관리? 이전에 자바스크립트의 동작원리에 대해서 정리를 했었다. "그래 이젠 자바스크립트가 어떻게 동작하는지는 알겠어.." 라면서, 자바스크립트에 대해 이해한 줄 알았다. 하지만, 얼마 전에 누군가가 "자바스크립트는 메모리 관리 어떻게 해요?"라고 물어봤는데 대답을 할 수 없었다.. 다른 언어들의 메모리 관리 C 언어 malloc()나 free()와 같은 저수준의 메모리 관리를 위한 원시함수(primitive) 존재 개발자는 이들을 이용하여 명시적으로 운영체제로부터 메모리를 할당 받거나 돌려주는 작업 Java JVM(Java Virtual Machine)의 GC(Garbage Collection) 이용 JVM(Java Virtual Machine)과 Garbage Collection ..

Archive/Javascript 2019.03.03

[Javascript] 자바스크립트 Coding Convention 및 네이밍 규칙

[Javascript] 자바스크립트 Coding Convention 및 네이밍 규칙 포스팅 계기 지금까지 학부 때부터 Java만 쭉 써오다가, 회사에 들어와서 Javascript에 관심이 생겼고, 프로가 되고 싶었다. 그래서 요즘 Javascript에 대한 포스팅을 늘리면서 지식을 정리하고, javascript로 코딩을 프로처럼 할 수 있는 날을 꿈꾸며 Coding 규칙과 네이밍 규칙 같은 convention에 대해서 정리하려 했지만.... 할 수 없다....(너무 양이 많음ㅠ) convention을 따라야 하는 이유? 무엇보다도 같이 일할 팀원을 위해서이고 다른 개발자들을 배려하기 위해서!!이다. 원래 코드에 대한 convention 가이드가 나와 있는 레퍼런스가 따로 있다. w3schools Java..

Archive/Javascript 2019.03.02

[Ant] Ant 설치방법 및 환경변수 설정

Ant 설치방법 및 환경변수 설정 Requirement JDK 설치 Apache Ant를 사용하기 위해서는 먼저 JDK가 필요합니다. 자세한 내용은 JDK 설치 및 환경변수 설정 방법 참고해주세요. Ant 설치 Apache Ant 설치 설치하고 원하는 곳에 압축 풀어주세요 (저 같은 경우 "C:\Users\USER"에 'develop'라는 폴더를 만들어서 JDK같은 개발 관련 파일들을 관리합니다) 여기까지 Apache Ant 설치는 끝났습니다. 그 다음은 Apache Ant를 사용하기 위해서 환경변수를 설정해야 합니다. 따라서 방금 설치한 'apache-ant-1.10.5' 폴더의 Path가 필요합니다!! Ant 환경변수 설정 과정 이 과정은 JDK 환경변수 설정 과정과 거의 같습니다. windows 탐..

Archive/JAVA 2019.02.21

[JAVA] JDK 설치 및 환경변수 설정

[JAVA] JDK 설치 및 환경변수 설정JDK란? 자바 개발 키트(Java Development Kit)의 줄임말으로써 오라클에 의해 바이너리 제품으로 제공됩니다.자바 플랫폼의 등장 이래 지금까지 가장 널리 사용되는 소프트웨어 개발 키트(SDK)이며,자바를 사용하기 위해서는 기본적으로 JDK가 설치되어 있어야만 사용이 가능합니다. JDK 설치/다운로드 1. JDK 설치 링크 접속 2. 아래와 같은 화면이 나올텐데, Download 버튼을 클릭한다. 3. License를 동의한다는 버튼을 클릭하고, 자신의 OS 맞는 파일을 다운받는다. 난 Windows10이므로 windows 선택..(이 때, zip파일같이 압축 파일을 다운 받는다.) 4. 다운로드가 완료되고, 압축을 풀면 아래와 같은 폴더가 생성된다...

Archive/JAVA 2019.02.19

[Ant] Windows 10에서 ant build 시, URI 관련 에러

[Ant] Windows 10에서 ant build 시, URI 관련 에러 "java.net.URISyntaxException: Illegal character in query at index"Issue)build하는 프로젝트 폴더 Path에 공백이 존재하는 경우 발생ex) C:\Program Files\project\~ Sol)공백 제거 https://stackoverflow.com/questions/2366270/what-does-uri-has-an-authority-component-mean "java.lang.IllegalArgumentException: URI has an authority component"Issue)URI Path가 슬래시 2개("//")로 시작하는 경우 Sol)build.x..

Archive/JAVA 2019.02.19

Apache Ant 란?

Apache Ant 란?자바 기반의 빌드 도구 (현재 자바 개발 환경에서 표준 빌드 도구) Ant는 Tomcat처럼 Jakarta 프로젝트의 일환으로 만들어진 산출물로 C에서 말하는 make파일과 같은 Java 프로그램용 build이다. 기존의 make, gnumake와 같은 build tool도 존재하지만 ANT는 OS와 상관없이 사용하게 되어 있다. 또한 ANT는 Configuration파일이 XML로 되어 있어 애플리케이션 구조에 맞게 적용하기에 편리하게 되어 있다. cf) 빌드(Build)란? 윈도우를 개발 하는 것까지 '개발'이라고 한다면, 사용자의 컴퓨터에 설치되어 실행되기까지의 단계를 빌드라고 함ANT의 주요 기능 - 자바 소스 파일 컴파일 - jar, war, ear, zip 파일의 생성 ..

Archive/JAVA 2019.02.19

[Javascript] Closure(클로저) 란?

[Javascript] Closure(클로저) 란? ClosureClosure(클로저)는 두 개의 함수로 만들어진 환경 으로 이루어진 특별한 객체의 한 종류이다. 여기서 환경 이라 함은 클로저가 생성될 때 그 범위 에 있던 여러 지역 변수들이 포함된 context를 말한다. 이 클로저를 통해서 자바스크립트에는 없는 비공개(private) 속성/메소드, 공개 속성/메소드를 구현할 수 있는 방안을 마련할 수 있다.클로저 생성하기다음은 클로저가 생성되는 조건이다.내부 함수가 익명 함수로 되어 외부 함수의 반환값으로 사용된다.내부 함수는 외부 함수의 실행 환경(execution environment)에서 실행된다.내부 함수에서 사용되는 변수 x 는 외부 함수의 변수 스코프에 있다.function outer() ..

Archive/Javascript 2018.07.14

[Javascript] Hoisting(호이스팅) 이란?

[Javascript] Hoisting(호이스팅) 이란? HoistingES6 문법이 표준화가 되면서 크게 신경쓰지 않아도 되는 부분이 되었지만, JavaScript 라는 언어의 특성을 가장 잘 보여주는 특성 중 하나이기에 정리했습니다.정의hoist 라는 단어의 사전적 정의는 끌어올리기 라는 뜻이다. 자바스크립트에서 끌어올려지는 것은 변수이다. var keyword 로 선언된 모든 변수 선언은 호이스트 된다. 호이스트란 변수의 정의가 그 범위에 따라 선언과 할당으로 분리되는 것을 의미한다. 즉, 변수가 함수 내에서 정의되었을 경우, 선언이 함수의 최상위로, 함수 바깥에서 정의되었을 경우, 전역 컨텍스트의 최상위로 변경이 된다.우선, 선언(Declaration)과 할당(Assignment)을 이해해야 한다..

Archive/Javascript 2018.07.14

[JAVA] JVM(Java Virtual Machine)과 Garbage Collection

[JAVA] JVM(Java Virtual Machine)과 Garbage Collection #JVM이란?JVM이란 JAVA Virtual Machine, 자바 가상 머신의 약자를 따서 줄여 부르는 용어이다 (가상머신이란 프로그램의 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것이다.) JVM 역할은 자바 애플리케이션을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행하는 것이다. 그리고 JVM은 JAVA와 OS사이에서 중개자 역할을 수행하여 JAVA가 OS에 구애받지 않고 재사용을 가능하게 해준다. 그리고 가장 중요한 메모리관리, Garbage collection을 수행한다. 그리고 JVM은 스택기반의 가상머신이다. ARM 아키텍쳐 같은 하드웨어는 레지스터 기반으로 동작하는데 ..

Archive/JAVA 2018.07.12
반응형