BE

· BE/Spring
Java 11 버전만 사용하다가 17 버전을 사용해 보기 위해 JDK 17을 다운로드하고 스프링 프로젝트를 생성했다. 바로 실행을 해봤는데 오류가 발생했다. error: invalid source release: 17 1. [FILE] -> [Project Structure] -> [Project] -> SDK : 17 버전으로 변경 2. [FILE] -> [Project Structure] -> [Project] -> Language level : 17 버전으로 변경 3. [FILE] -> [Project Structure] -> [Modules] -> Soureces -> Language level java 17로 변경 4. 3. [FILE] -> [Project Structure] -> [Modul..
· BE/Java
SOLID란? SRP(Single Responsibility Principle) : 단일 책임 원칙 OCP(Opne Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Interface Segregation Priciple) : 인터페이스 분리 원칙 DIP(Dependency Inversion Principle) : 의존 역전 원칙 1.SRP(Single Responsibility Principle) : 단일 책임 원칙 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다. - 로버트 C.마틴 위에서 남자 클래스는 역할과 책임이 너무 많다. 남자라는 클래스의 책임범위를 너무 방대하게 잡았기 때문에 하나의 클..
· BE/Spring
1.1 스프링이란? 스프링이란? 스프링은 자바 언어 기반의 웹 서비스를 만들 수 있는 프레임워크입니다. 스프링의 공식문서에서는 스프링은 엔터프라이즈 어플리케이션을 위한 프로그래밍 및 Confifuration Model을 제공한다.라고 언급되어 있습니다. 스프링은 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있고, 전자정부 표준프레임워크의 기반 기술로 사용되고 있습니다. 1.2 스프링 부트란? 스프링 부트는 스프링을 쉽게 사용하기 위한 도구라고 보면 된다. 스프링은 기본적으로 프로젝트를 시작할 때 기본적으로 세팅해야 될 요소들이 많았고 불편함을 줄이기 위해 스프링 부트가 나왔다 스프링 부트는 Spring Framework을 설정하는데 필요한 설정을 알아서 해주는 Spring Framewo..
· BE/Java
빌드 관리 도구란 프로젝트에서 필요한 xml,properties,jar 파일등을 자동으로 인식하여 빌드해주는 도구 소스 코드를 컴파일, 테스트, 정적분석 등을 하여 실행가능한 앱으로 빌드해줌 프로젝트 정보 관리, 테스트 빌드, 배포 등의 작업을 진행해줌 외부 라이브러리를 참조하여 자동으로 다운로드 및 업데이트를 관리해줌 자바의 대표적인 빌드 도구 : Ant, Maven, Gradle 메이븐(Maven) 메이븐(Maven)이란? 자바의 대표적인 관리 도구였던 Ant를 대체하기 위해 개발된것으로 프로젝트의 외부 라이브러리를 쉽게 참조할 수 있게 pom.xml파일로 명시하여 관리함. 참조한 외부 라이브러리에 연관된 다른 라이브러리도 자동으로 관리됨 메이븐(Maven)을 사용하는 이유 - 기존에 사용하던 Ant..
· BE/Java
class Car{ Name name; Position position; } 최근에 박재성(포비)님이 운영하시는 넥스트스텝에 과정을 들으며 "일급 컬렉션을 쓴다"라는 요구사항에 맞춰서 프로그래밍하기 위해 일급 컬렉션이 무엇인지 알아보았다. 우선 일급 컬렉션이 무엇이고 언제 써야 하며 썼을 때 얻는 이점이 무엇인지 궁금했다. 우선 일급 컬렉션이란? 규칙 8: 일급 컬렉션 사용 이 규칙의 적용은 간단하다. 컬렉션을 포함한 클래스는 반드시 다른 멤버 변수가 없어야 한다. 각 컬렉션은 그 자체로 포장돼 있으므로 이제 컬렉션과 관련된 동작은 근거지가 마련된 셈이다. 필터가 이 새 클래스의 일부가 됨을 알 수 있다. 필터는 또한 스스로 함수 객체가 될 수 있다...
해싱이란? 자료구조를 공부하다 보면 보이는 HashMap Hashset 같은 것들이 있습니다. 여기서 Hash는 무엇이고 왜 이렇게 많이 쓰는 걸까요? 우선 해시는 데이터를 다루는 기술 중 하나입니다. 법원같이 여러 자료들을 정리해놔야 하는 곳은 그냥 어떤 규칙도 없이 마구잡이로 정리를 해놨을까요? 사건번호 같은걸 부여해 규칙에 맞게 정리했을 거라고 예상할 수 있습니다. 해싱이란 해시함수를 이용하여 데이터를 저장하고 검색하는 기법을 말합니다. 해시함수는 임의의 데이터를 고정된 길이의 값으로 리턴해주는 함수로 데이터가 저장되어 있는 곳을 알려주기 때문에 많은 데이터 중에서도 원하는 데이터의 위치를 빠르게 찾을 수 있어서 자주 이용됩니다. 여기서 만들어진 값을 저장하고 접근할 수 있는 구조로 있는 곳을 해시..
자료구조란? - 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리 저장을 의미한다. 더 정확히 말해, 자료구조는 데이터 값의 모임, 데이터 간의 관계, 데이터에 적용할 수 있는 함수나 명령을 말한다. 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다. 배열(Array) 자료구조의 가장 기본이다. 데이터를 순차적으로 저장해 0번 인덱스부터 인덱스를 통해 접근할 수 있다. 데이터를 순차적으로만 접근할 수 있어 위치를 모르는 경우 효율이 떨어짐. 배열을 선언할 때 지정된 크기로 크기가 고정됨. 배열에 들어갈 수 있는 데이터는 선언된 자료형으로 고정됨. 보통 크기가 고정되어 있거나 데이터 위치의 변경이 필요하지 않은 경우 사용한다. ArrayList 배열과 유사하지만 배열의 부족한 효율성을 보안하..
Vector ArrayList 동기화 O X 용량증가분 요소가 용량을 초과하면 현재 배열크기의 50%증가 요소가 용량을 초과하면 현재 배열크기의 100%증가 도입 JDK1.0 JDK1.2 속도 동기화가 되어 있기 때문에 느립니다. 동기화되지 않기 때문에 빠릅니다. - 차이점 - 우선 이 글을 보면 ArrayList에는 용량 증가분을 조절할 수 있는 파라미터를 받는 생성자는 존재하지 않지만 Vector의 생성자에는 초기 용량과 용량 증가분을 설정할 수 있는 생성자가 존재한다. - ArrayList는 동기화되지 않기 때문에 Vector보다는 성능이 빠르다. 또한 ArrayList는 데이터수가 용량을 초과하는 경우 현재 배열의 50%를 추가로 늘려주는 반면 Vector는 100%를 추가로 늘려줘 메모리를 과하..
E@st
'BE' 카테고리의 글 목록 (4 Page)