메모리 구조프로그램이 실행되면 메모리에 로드 되게 됩니다. 이때 프로그램에서 사용되는 변수들을 저장할 메모리도 필요한데, 이때 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있습니다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 총 4가지(코드 영역,데이터 영역, 힙 영역, 스택 영역) 이 있습니다. 스택(Stack) 영역메모리의 스택(stack) 영역은 함수의 호출과 관계되는 지역변수와 매개변수가 저장되는 영역입니다.스택영역은 함수의 호출화 함께 할당되며, 함수의 호출이 완료되면 소멸합니다.스택영역은 푸시 동작으로 데이터를 저장하고, 팝 동작으로 데이터를 인출합니다.스택 구조는 후입선출(LIFO, Last-In Frist-Out) 방식에 따라 동작하므로, 가장 늦..
개발지식
코드와 함께 싱글스레드와 멀티스레드에 대해서 포스팅해보겠습니다. 1. 스레드란?하나의 프로세스 내부에서 독립적으로 실행되는 하나의 작업 단위라고 할 수 있다.싱글 스레드말 그대로 싱글이라고 생각하면 된다.하나의 프로세스에서 하나의 스레드를 실행하는 것을 말한다.하나의 레지스터와 스택으로 표현한다.예시public class Main { public static void main(String[] args) { long start = System.currentTimeMillis(); for (int i = 0; i 멀티 스레드그러면 멀티는 당연히 여러 개의 스레드를 사용하는 것을 말한다.하나의 프로세스에서 다수의 스레드를 실행하는 것을 말한다고 볼 수 있다. 예시public cl..
목차 JSON 이란 JSON 특징 JSON 문법 JSON 형식 JSON 문제점 JSON 파싱 예제 1. JSON 이란? *위키피디아 JSON(JavaScript Object Notation)은 속성-값 쌍(attribute–value pairs), 배열 자료형(array data types) 또는 기타 모든 시리얼화 가능한 값(serializable value) 또는 키-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. JavaScript Object Notation의 두 문자어로 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식이다. javascript에서 객체를 만들 때 사용하는 표현식을 말한다. JSON 표현식은 ..
목차 HTTP 통신이란? HTTP 특징 요청과 응답 HTTP 메서드 HTTP 상태코드 1. HTTP 통신이란? Hyper Text Transfer Protocol의 약자로 HTML파일을 전송하는 프로토콜 웹브라우저에서 통신이 일어나며, 초기에는 HTML파일을 전송하려는 목적으로 만들어졌으나 현재는 JSON, Image파일 등 또한 전송한다. 일반적으로 전송 계층 프로토콜로 TCP를 사용하고, 네트워크 계층 프로토콜로 IP를 사용한다. 이 두계층을 합쳐서 TCP/IP 라는 이름으로 부른다. TCP/IP에서는 IP 주소를 사용해서 통신할 컴퓨터를 결정하고, 포트 번호를 사용해서 해당 컴퓨터의 어떤 프로그램과 통신할 것인지 결정한다. (HTTP에서는 기본적으로 80 포트를 사용한다.) 프로토콜이란? 통신 프로..
목차 Gradle이란? 빌드도구의 역사 Gradle 특징 및 장점 Gradle 빌드 스크립트 Gradle 정리 1. Gradle 이란? 그래들의 정의는 다음과 같다. 2012년에 출시된 Groovy를 기반으로 한 오픈소스 빌드 도구로, 거의 모든 타입의 소프트웨어를 빌드할 수 있는 빌드 자동화 시스템 Groovy Groovy는 Apache 재단에서 개발된 동적 객체 지향 프로그래밍 언어이다. JVM 위에서 작동하며 JAVA의 강점 위에 Python 등의 언어의 영향을 받았다. Groovy Shell도 지원하여 간단한 코드를 테스트할 수 있는 환경도 제공한다. Java와 호환이 되며 Java 클래스 파일을 그대로 Groovy 클래스로 사용할 수 있다. 빌드 빌드는 우리가 작성한 소스코드를 실행 가능한 파일..
RESTREST는 REpresentational State Transfer의 약자로 직역하면 대표 상태 전송을 말한다.이 REST는 아키텍처 스타일 중 하나이다. 아키텍처 : 서비스의 동작 원리아키텍처 스타일 : 특정한 특성을 공유하는 아키텍처의 집합 정리하자면 REST는 특정한 특성을 공유하는 서비스 동작원리의 집합 중 하나이다. 1. REST란?자원(resource)의 표현(representation)에 의한 상태 전달자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고받는 모든 것을 의미한다. 상태(정보) 전달데이터가 요청되어지는 시점에서 자원의 상태(정보)를 전달한다.일반적으로 JSON 이나 XML 형태의 데이터를 주고받는 것이 일반적이다.월드 와이드 웹(www)과 같은 분산 하..
API API는 Appication Programming Interface의 약자로 직역하면 응용 프로그래밍 인터페이스이다. 위키피디아에서는 다음과 같이 정의한다. 컴퓨터나 컴퓨터 프로그램 사이의 연결이다. 일종의 소프트웨어 인터페이스이며 다른 종류의 소프트웨어에 서비스를 제공한다. 단순히 사전적 정의로만 API를 파악하기엔 어려움이 크기 때문에 풀어서 하나씩 알아보자. 여기서 말하는 인터페이스란 뭘까? 인터페이스는 상호 간의 소통을 위해 만들어진 접점이라고 한다. 예를 들면, 내가 차문을 열고 싶을 때, 자동차 문을 열기 위해서는 '스마트 키'의 오픈 기능을 사용할 수 있다. 이렇게 자동차(사물)와 나(사람)의 소통을 위한 접점역할을 해주는 친구가 스마트키이면서 이게 바로 인터페이스라 할 수 있다. 하..