Java에서 List, ArrayList, LinkedList는 모두 데이터를 저장하고 관리하는 데 사용되는 컬렉션 클래스와 인터페이스입니다. 하지만 각각의 구조와 사용 방식, 성능 특성이 다릅니다.컬렉션 클래스데이터를 모아놓는 "그릇" 같은 역할을 하는 클래스입니다.즉 배열처럼 여러 데이터를 한곳에 저장할 수 있지만, 크기가 고정되지 않고 데이터를 쉽게 추가하거나 삭제할 수 있는 것을 말합니다.인터페이스인터페이스는 기능만 정의하고 실제 구현은 없습니다.즉 클래스들이 따라야 할 "규칙" 이나 "약속"을 정의한 것입니다.ListList 는 인터페이스입니다. 데이터를 순서대로 저장하며, 중복된 값을 허용합니다. 또한 데이터를 추가하거나 삭제, 검색할 때 사용할 여러 메서드가 정의되어 있습니다. ArrayLi..
자바에서 제어자는 아주 중요한 개념입니다. 자바에서 제어자는 클래스, 메서드, 변수, 생성자 등의 동작 방식을 정의하거나 제한하는 키워드입니다.이 중 접근 제어자는 클래스, 메서드, 변수 등에 접근할 수 있는 범위를 제어합니다. 제어자의 종류제어자는 크게 두 가지로 나눌 수 있습니다.접근 제어자클래스, 메서드, 변수의 접근 범위를 정의합니다.public, protected, private 등이 있습니다. 기타 제어자동작 방식을 추가적으로 정의해 줍니다.static, abstract, final 등이 있습니다. 접근 제어자 설명Java 에서 public, private, protected, default 는 접근 제어자(Access Modifiers) 라고 하며,클래스, 메서드, 변수, 생성자 등의 접근..
로그의 사전적 의미는 "무엇인가를 기록하는 행위" 입니다.이러한 파일을 모아 놓은 것을 Log 파일이라고 합니다. 어플리케이션을 운영하던 도중에 장애가 발생, 잘못된 접근, 사용자의 악의적인 행위, 예상치 못한 작동 등과 같이 문제가 발생했을 경우, 문제의 원인을 파악해야 합니다. 이를 위해서 날짜, 시간, 서비스, 로직 등에 대한 정보가 필요합니다.이런 정보를 얻기 위해서 Exception 이 발생하거나 중요한 기능들이 실행되는 부분에서는 로그(log) 를 남기는 것이 필요합니다.로깅간단히 말하자면 로그를 기록하는 행위를 로깅(loggin) 이라고 합니다.정보를 제공하는 일련의 기록인 로그를 생성하도록 시스템을 작성하는 활동이며 버그에 대한 유용한 정보를 제공해 줄 수 있거나 성능에 관한 통계와 정보를..
해시맵은 이름 그대로 해싱(Hashing) 된 맵(Map) 입니다. 해싱을 사용하기 때문에 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능을 보입니다.간단한 설명HashMap 은 데이터를 저장할 때 키(Key) 와 밸류(Value) 가 짝을 이루어 저장됩니다.데이터를 저장할 때는 키(Key) 값으로 해시함수를 실행한 결과를 통해 저장위치를 결정합니다.따라서 HashMap 은 특정 데이터의 저장위치를 해시함수를 통해 바로 알 수 있기 때문에 데이터의 추가, 삭제, 특히 검색이 빠르다는 장점이 있습니다.이러한 이유로 HashMap 은 키(Key) 값을 통해서만 검색이 가능하며, HashMap 의 키(Key) 값은 중복될 수 없고, 밸류(Value) 값은 키(Key) 값이 다르다면 중복이 가능합니다. 간단한..
MyBatis 를 사용하면 DB 를 쉽게 다룰 수 있습니다. 설명MyBatis 는 Java 애플리케이션에서 데이터베이스와 쉽게 상호작용할 수 있도록 도와주는 친구 입니다.즉 자바 오브젝트와 SQL 사이의 자동 매핑 기능을 지원하는 ORM(Object Relational Mapping) 프레임워크 입니다. 왜 MyBatis 를 사용하나요?1. 직접 SQL 작성 가능SQL 쿼리를 직접 작성하기 때문에 복잡한 쿼리를 쉽게 제어할 수 있습니다.2. 객체와 데이터베이스 매빙데이터베이스에서 가져온 데이터를 Java 객체에 자동으로 변환해 줍니다.또한 데이터베이스 컬럼과 Java 객체의 필드를 매핑해줍니다.3. 설치와 사용이 간단Spring 과 통합하여 편리하게 사용할 수 있습니다.쿼리만 작성하면 나머지는 MyBat..
간단한 코드와 함께 자세히 알아보도록 하겠습니다. MVCMVC(Model-View-Controller) 는 소프트웨어를 설계할 때 사용되는 구조적인 디자인 패턴 입니다.MVC 에 대한 설명Model모델은 프로그램의 데이터와 로직을 담당하는 부분입니다. 즉 실제로 저장하거나 처리해야 하는 정보를 다루는 곳입니다. 예를 들어, 회원가입 시스템이라면, 사용자 정보를 저장하고 관리하는 역할을 합니다. 데이터 추가, 수정, 삭제하는 기능도 모델에서 처리합니다. Model 은 아래에서 설명하는 VO, DAO 가 포함되는 개념입니다.View뷰는 사용자에게 보여지는 화면을 담당합니다. HTML, CSS, JavaScript 같은 걸 이용해서 사용자에게 데이터를 어떻게 보여줄지 결정합니다. 예를 들어, 웹사이트에서 로그..
Web처음에는 인터넷 서비스의 종류로 SMTP(전자우편), FTP(파일전송), Telnet(원격접속) 등 다양하게 있었습니다.하지만 팀 버너스리가 SMTP, FTP 를 통해 정보를 주고 받는 것을 비효율적이라고 생각해 www(world wide web) 을 고안하였습니다. 즉 웹이란, 사전적 의미는 거미집 모양의 망이며 인터넷 망 안에서 정보를 공유, 검색할 수 있게 하는 시스템이며, 아까 말한 www 인 world wide web 의 줄임말 입니다.Web Application웹 어플리케이션은 웹에서 실행되는 응용프로그램을 뜻하며, 인터넷을 통한 여러가지의 서비스를 일컫습니다.사용자는 필요한 데이터를 Request(요청) 하고 서버에서는 사용자의 Request 를 수행하며, 요청한 데이터를 Respon..