
출처: https://velog.io/@reasonz/2022.05.25-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%BD%9C%EB%B0%B1%ED%95%A8%EC%88%98JS-callback-function [2022.05.02] 자바스크립트 콜백함수(JS callback function) 콜백함수는 다른 함수의 인자로 사용되는 함수로 외부 함수에서 호출되는 함수를 의미한다.즉, 함수의 파라미터로 함수가 들어가는 함수가 콜백함수라는 것이다.함수 두개를 만들었다. 하나는 velog.io 콜백 함수는 왜 사용할까? 콜백함수를 사용하면 순차적으로 실행하고 싶은 코드가 있을 때 순차적으로 실행시킬 수 있다. 자바스크립트는 동기식 언어로 코드를 한..

Docker 어플리케이션을 패키징 할 수 있는 툴, Container를 만들고 배포하고 구동. VM Ware와 다른 점: 무거운 OS를 포함하지 않는다. * pull: docker hub에서 image를 다운로드 받는 것 $ docker pull httpd * run: image를 container로 옮김 * image 확인 $ docker images * docker 현재 상태 확인 $ docker ps * docker run $ docker run httpd $ docker run --name competent_thompson httpd //docker run [OPTIONS] IMAGE [COMMAND] [ARG...] * docker stop $ docker start httpd $ docker ..
SELECT 쿼리의 수행 순서 FROM WHERE GROUP BY HAVING SELECT ORDER BY 프 웨 그 해 셀 오 트리거(trigger) 트리거는 특정 테이블에 대한 이벤트에 반응해 DML문이 수행되었을 때 데이터베이스에서 자동으로 동작하도록 작성된 프로그램 정규화 정의: 하나의 릴레이션에 하나의 의미만 존재하도록 릴레이션을 분해하는 과정, 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 방법 장점: 데이터베이스 변경 시 이상현상이 발생하는 문제점을 해결할 수 있다. 단점: 릴레이션 분해로 인해 릴레이션 간의 연산이 많아진다. 역정규화 정의: 성능 문제가 있는 DB의 전반적인 성능을 향상시키기 위함이다. 이상 현상 정의: 테이블을 설계할 때 잘못 설계하여 데이터를 삽..
RestFul API HTTP 통신을 Rest 설계 규칙을 잘 지켜 개발한 API RestFul하게 만든 API는 요청을 보내는 주소 그 모습 자체만으로 어떤 것을 요청하는지 파악 가능 REST 설계 규칙: URI는 정보의 자원만을 표현하고 자원의 상태와 행위는 HTTP METHOD에 명시하는 것을 말한다. 자원: 소프트웨어가 관리하는 모든 것(문서, 그림, 데이터, 해당 소프트웨어 자체) 상태: 데이터 요청 시점에 자원의 상태 전달(JSON, XML을 이용한 데이터 전달) 표현: 그 자원을 표현하기 위한 이름 REST: 어떤 자원에 대해 CRUD 연산을 수행하기 위해 URI로 GET, POST 방식을 사용하여 요청을 보내며 요청을 위한 자원은 특정한 형태로 표현된다. 구성요소: URI, METHOD, ..
Array 특징: 순차적으로 데이터를 저장하고 index를 사용해 특정 요소를 찾고 조작이 가능, 크기가 고정적, 초기화 시 메모리에 할당되어 속도가 빠름 단점: 데이터의 중간에 요소가 삽입되거나 삭제되는 경우 그 뒤 모든 요소들이 한 칸씩 뒤로 밀거나 당겨줘야 한다. 삽입/삭제가 느리다. 장점: 새롭게 추가되거나 삭제되지 않고 순서대로 저장되어야 하는 데이터에 적합, 검색이 빠르다. Stack Last In First Out 지역변수와 매개변수 데이터 값이 저장되는 영역으로 메소드 호출 시 메모리에 할당되며 종료되면 메모리에서 해제 public class Stack { private static int MAX_STACK_SIZE = 10; private int top; private int[] data..
프로세스와 쓰레드의 차이 프로세스: 실행 중인 프로그램, 메모리 영역을 다른 프로세스와 공유하지 않고 프로세스는 최소 1개의 쓰레드를 가짐 쓰레드: 프로세스 내에서 Stack만 따로 할당받고 그 이외의 메모리 영역은 공유하기 때문에 다른 쓰레드의 실행 결과를 즉시 확인할 수 있음, 프로세스 내에 존재하며 프로세스가 할당받은 자원을 이용하여 실행 멀티 프로세스와 멀티 쓰레드 멀티 프로세스: 하나의 프로세스가 죽어도 다른 프로세스에 영향을 끼치지 않고 계속 실행된다는 장점이 있지만 멀티 쓰레드보다 많은 메모리 공간과 CPU 시간을 차지한다는 단점이 있다. 멀티 쓰레드: 멀티 프로세스보다 적은 메모리 공간을 차지하고 문맥 전환이 빠르다는 장점이 있지만 하나의 쓰레드에 문제가 생기면 전체 쓰레드가 영향을 받으며..