본문 바로가기

Programming

[JavaScpript] 콜백 함수(Callback Function) 콜백 함수(Callback Function) 1. 콜백 함수(Callback Function) (1) 콜백 함수의 정의 - 콜백함수란, 파라미터(매개변수)로 함수를 전달받아 -> 함수의 내부에서 실행하는 함수이다. - 매개변수로 넘겨받은 함수는 일단 넘겨 받고 -> '때가 되면, 나중에 호출' 한다는 것이다. let num = [1, 2, 3, 4, 5]; num.forEach( x => { console.log(x * 5); }); output 5 10 15 20 25 (2) 콜백 함수 사용 목적 - 콜백 함수는, 비동기 방식으로 작성된 함수를 -> 동기 처리 하기 위해 주로 사용한다. - 비동기 방식을 기본 처리 방식으로 하지만, 일부 구간에서는 순차적인 처리가 필요할 수 있기 때문이다. 즉, 비동기.. 더보기
[Web] JPA와 Hibernate, Spring Data JPA JPA(Java Persistent API) 1. JPA(Java Persistent API) 정의 - JPA란, Java ORM 기술에 대한 API 표준 명세이다. - JPA는 특정 기능을 하는 라이브러리 X -> ORM을 사용하기 위한 인터페이스를 모아둔 것 -> 그렇다면, ORM은? - 아래 설명! - JPA는 자바 어플리케이션에서, '관계형 데이터베이스를 어떻게 사용해야 하는지를 정의' 하는 방법 중 하나로, - JPA는 단순한 명세이다. 즉, 구현이 없다. 2. JPA 등장 배경 (1) 기존 RDBS 방식 - 기존 스프링에서는 관계형 데이터베이스(RDBS)를 다룰 때, iBatis난 Mybatis와 같은 쿼리를 매핑하는 SQL Mapper 를 주로 사용했다. -> 하지만, 이러한 기술은 객체 모.. 더보기
[Web] application.properties / application.yml application.properties / application.yml 파일이란? 1. properties 와 yml 파일 용도 - application.properties 또는 application.yml 은 외부 설정값을 관리하는 파일 - 프로젝트 외부에서 특정 값을 받아와야 하는 경우, Ex) AWS나 외부 API를 사용하기 위한 secret key, API key가 있으며, 이러한 외부 설정값 등을 관리할 수 있다. 2. YAML(YAML Ain't Markup Language) (1) YAML 파일 구성 - YAML은 모든 데이터를 리스트, 해쉬, 스칼라 데이터 조합으로 만들며, - 들여 쓰기 및 XML의 특수기호를 사용해 XML과 거의 비슷하다. (2) yaml, yml 파일의 장점 - 계층.. 더보기
[JavaScript] 동기와 비동기 / blocking과 Non-blocking Vue를 접하면서, 아니 프론트를 공부하면서 계속 나오는 비동기! 감이 잡히지만 확실히 알고 넘어가자. 동기 Vs 비동기 처리 방식의 차이까지 정리하자. 동기와 비동기는, 프로세스 수행 순서에 대한 메커니즘이며, 동기/blocking - 비동기/Non-blocking 으로 연관지을 수 있다. 동기(Synchronous) 1. 동기(Synchronous) 방식의 정의 - 프로그래밍에서 말하는 동기는, '동시에 발생해야 하는 조건'으로, - JavaScript에서 작성한 코드는 위에서 -> 아래로 순차적으로 실행이 되며, - 상위 코드가 완료되지 않는다면 ? - 하위 코드 역시 실행이 디지 않는다는 것이다. -> 즉, 동기 = [모든 코드가 '순서'를 가지고 실행이 되는 것] 2. 동기방식의 처리 순서 - .. 더보기
[Algorithm] DP(Dynamic Programming) * 이것이 취업을 위한 코딩 테스트다 with 파이썬 책을 통해 공부한 내용을 정리한 것입니다. DP(다이나믹 프로그래밍) 이란, 1. Dynamic Programming(동적 계획법)의 정의 - 동적 계획법이란, 큰 문제를 작은 문제로 나누어 푸는 방식으로 - 메모리를 적절히 사용하여, 수행 시간 효율성을 비약적으로 향상시키는 방법이다. - 다이나믹 프로그래밍에서는, 이미 계산된 결과(작은 문제)는 -> '별도의 메모리 영역'에 저장하여 -> 다시 계산하지 않도록 한다. - 다이나믹 프로그래밍 구현 방식에는 Top-Down(하향식)과 Bottom-Up(상향식)의 2가지 방식이 있다. 2. Dynamic Programming 특징 - 다이나믹 프로그래밍 = '동적 계획법' 이라고 부른다. - 일반적으로 .. 더보기
[Java] 가비지 컬렉션(Garbage Collection) 여기저기서 나오는 메모리, 자바에서 말하는 가비지, GC 정리하자! 가비지 컬렉션(Garbage Collection) 정의 1. 가비지(Garbage) - 정리되지 않은 메모리, 유효하지 않은 메모리 주소 - 주소를 잃어버려 사용할 수 없는 메모리 - 앞으로 사용하지 않고, 메모리를 가지고 있는 객체도 포함 - 프로그래밍 언어에서Danling Object / Java에서 Garbage라고 부른다. public class Main { public static void main(String[] args) { int[] arr = new int[3]; arr[0] = 0; arr[1] = 1; arr[2] = 2; arr = new int[] {8, 9, 10}; } } 위의 부분에서, arr 이라는 배열이 .. 더보기
[Online Study 2주차] 자바 데이터 타입, 변수, 그리고 배열 [학습 주제] 자바 데이터 타입, 변수, 그리고 배열 [학습 목표] 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. [학습 내용] 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 프리미티브 타입 종류와 값의 범위, 그리고 기본 값 1. 기본형 타입(Primitive Type) - 사전에 정의해놓은 8가지 데이터 타입 - 저장 공간에 실제 리터럴 형태의 값이 저장 Ex) int, char, short. long, float, double, boolean, byte 값의 종류 Type 크기(byte).. 더보기
[Java] 변수 종류 - 클래스 변수 / 인스턴스 변수 / 지역 변수 한 번씩 헷갈리는 Java 변수 종류 정리 ! 구분 변수 종류 특징 멤버 변수 클래스 변수 1. static 을 붙여서 만듦 2. 객체 생성 없이도 사용 가능 [사용 이유] 1. 인스턴스에 따라 변하지 않는(불변의) 값이 필요할 경우 2. 인스턴스를 생성할 필요가 없는 값을 원하는 경우 3. 변수의 변경 사항을 모든 인스턴스가 공유해야 하는 경우 인스턴스 변수 객체를 생성해야만 사용 가능 지역변수 메서드 안에서만 선언 및 해당 메서드 안에서만 사용 가능 참고 - https://jishushu.tistory.com/11 더보기