일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- MySQL
- 네이티브쿼리
- Query
- 포트
- subquery
- 컨테이너실행
- 외부키
- WeNews
- EC2
- 커밋메세지수정
- 2 > /dev/null
- querydsl
- foreignkey
- 메소드명
- 참조키
- appspec
- AuthenticationEntryPoint
- 테스트
- 서브쿼리
- ㅔㄴ션
- 검색
- 적용우선순위
- application.yml
- 메세지수정
- 예약
- docker명령어
- 추후정리
- ubuntu
- 테스트메소드
- appspec.yml
- Today
- Total
목록코드스테이츠/정리 블로깅 (75)
제뉴어리의 모든것
트리(Tree)란? 자료구조 중 하나로, 데이터 구조가 마치 트리(나무) 형태 같다고 (정확히는 거꾸로된 나무 형태) 하여 지어진 이름이다. 자료구조 중에서도 그래프 형태의 자료구조로, 단방향 형태이며, 하나의 데이터를 기준(root)으로 삼아 나무의 가지처럼 뻗어나간 형태이다. 위 그림에서 알 수 있듯이, 데이터가 사람의 가계도처럼 계층을 이룬다. 하지만 각 데이터들의 방향성은 없다. 예를 들면, 1 -> 2-> 3-> 이런 형태가 아니라는것이다. 그냥 단지 연결되어져 있다. 하지만 tree 기준의 나름 정렬방법이 있어서 정렬은 되어져 있다. 각 데이터들(1, 2, 3, 4 ...... 15) 은 노드(Node)라고 불리우며, 1번 데이터는 root 라고 불리운다. 현 트리구조 데이터들의 뿌리인것이다...
자료구조란 데이터를 효과적으로 다루기 위해 고안된 여러가지의 데이터 저장 구조 형태. Stack 데이터가 순차적으로 쌓이며, 후입선출(선입후출)의 데이터 구조. 데이터를 넣고 꺼내고 방식 - push : 데이터 넣음 - pop : 데이터 꺼냄 (꺼낸 데이터는 스택에서 삭제) Stack 특징 후입 선출 데이터를 하나씩만 꺼내고 넣을 수 있음 하나의 입출력 입구를 가짐 (데이터가 들어온 곳과 나가는 곳이 같음) Queue 선입선출(후입후출) 형태의 자료 구조. Queue의 특징 선입선출 데이터가 하나씩만 꺼내고 넣을 수 있음 데이터가 들어오는 입구와 나가는 입구를 하나씩 가짐
JVM이란 Java프로그램과 OS간에 중간 매개체 역할을 하는 프로그램. JAVA 코드 내용을 OS에 맞게 알아서 번역하여 주는 프로그램인것이다. 쉽게 설명하자면, Java 프로그램에서 컴퓨터의 마이크 기능을 사용하기 위해 os에게 요청을 할 수가 있다. 그럴 경우, os마다 그 요청을 들어주기 위해 Java 프로그램에게 요청하는 것들이 다 다를수가 있다. 그런것을 개발자가 일일히 코드로 넣지 않아도, 그냥 "마이크 기능 요청" 이란 코드만 들어가면 JVM이 알아서 OS에서 요청한것들을 제출하는것이다. 그래서 OS마다 전용 JVM이 존재한다. JVM 구조 위에 내용을 설명하자면, 1. .java 파일을 컴파일러가 컴파일하여 .class 파일을 만든다. 2. JVM이 코드를 작동시키기 위해 필요한 메모리를..
애너테이션이란? 애너테이션의 우리말 번역은 주석이다. 그러나 우리는 기존에 주석을 사용하고 있었다. //, /** **/ 와 같이 코드를 주석처리 하였다. 그러나 이러한 주석은 코드를 작동하지 않게 막거나, 코드를 설명하기 위해 사용하였다. 그러나 애너테이션은 같은 주석이지만, 전달하려는 대상이 다르다. 기존 주석은 개발자에게 전달하기 위한 정보를 나타내는 주석이였다면, 애너테이션은 프로그램에게 내용을 전달하기 위한 주석이다. 애너테이션 용도 컴파일러에게 문법 에러를 체크하기 위한 용도 프로그램 빌드할때 코드를 자동으로 생성할 수 있도록 해주기 위한 용도 런타임시에 특정 기능을 실행하도록 정보 제공 애너테이션 사용 예 @Test @Test // 아래 메서드가 테스트 대상임을 테스트 프로그램에게 알리는 애..
재귀함수란 우선 재귀란 사전적 의미는 무엇인가? "원래 자리로 돌아오다" 이다. 프로그래밍 세계에서는 메소드가 자기자신을 다시 호출 하는것에 해당한다. 재귀의장점 코드의 간결화 반복적인 처리를 재귀로 처리하므로 반복문에 비해 코드가 간결해진다. 필요한 변수의 수가 줄어든다. 재귀가 아닐 경우 반복문에 사용되는 변수들만하여도 이미 재귀를 사용할때에 비해 많다. 재귀의 단점 코드의 흐름을 순차적으로 따라가면 확인하기가 어렵다. 메소드를 반복하여 호출하므로 지역변수, 매개변수, 리턴값을 모두 process stack에 저장한다. 이러한 이유 때문에 반복문 사용때보다 더 많은 메모리를 사용을 하게된다. 호출한 메소드가 종료될때마다 컨텍스트 스위칭 처리 비용이 발생한다. 그러므로 총 처리시간도 반복문으로 처리하는..
람다식이란? 자바에서 함수형 프로그래밍을 지원하기 위해 사용되는 기술. 메소드를 하나의 식(expression)처럼 표현하는 것이다. 익명 함수라고도 불린다. 마치 객체가 아닌것처럼 보이기 때문이다. 쉽게 말하자면 식으로 표현된 축약된 메소드라고 할 수 있다. 결국 그냥 메소드이다. 람다식의 장점 코드의 간결화 메소드 정의하기 위해 클래스를 생성할 필요가 없음. 기존에는 어떠한 메소드를 정의하기 위해 클래스를 정의 하여야만 했다. 그러나 람다식은 클래스를 만들 필요가 없다. 메소드의 매개변수로 메소드가 전달 가능 람다식의 특징 매개변수를 가진 메소드형태의 코드처럼 보이지만, 런타임에 익명 구현 객체를 생성 기본 람다식 코드 객체지향 프로그래밍 형식에서 기본 개념인 객체를 생성하는 부분이 없이 바로 참조 ..