MySQL 에서 제공하는 시간 반환 함수에는 NOW() 와 SYSDATE() 두가지가 존재합니다. 두 함수 모두 현재 날짜 값을 가지고 오지만, 현재라는 기준이 다릅니다. SELECT NOW() NOW_START , SLEEP(1) , NOW() AS NOW_END , SYSDATE() AS SYSDATE_START , SLEEP(1) , SYSDATE() AS SYSDATE_END; 위 실행 결과를 보면 NOW() 실행 시 NOW_START와 NOW_END 사이에 1초의 SLEEP이 있지만 같은 시간대를 반환합니다. 반면 SYSDATE() 실행 시 SYSDATE_START와 SYSDATE_END가 1초의 SLEEP이 적용 되어 시간이 출력된 것을 볼 수 있습니다. 즉, NOW()는 쿼리가 실행되는 그 ..
Spring Framework 란? Spring Framework란 자바 플랫폼 개발을 위한 오픈소스 애플리케이션 프레임워크로, 간단히 Spring이라고 불립니다. 동적인 웹사이트 개발을 위한 여러가지 서비스를 제공 하고 있습니다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준 프레임워크의 기반 기술로 사용되고 있습니다. Spring 장점 👉 경량컨테이너 Spring은 객체를 담고 있는 컨테이너로 자바 객체의 생성, 소멸과 같은 라이프사이클을 관리하고, 언제든 필요한 객체를 가져다 사용 할 수 있도록 해줍니다. 👉 IoC(Invertion of Control: 제어의 역전) 말 그대로 해석하면 제어하는 주체가 바뀐다는 의미로 객체의 생성, 소멸, 의존관계 설정과 같은 라이프 ..
인터페이스 특징 내부의 모든 메서드는 public abstract 로 정의 (default 메소드 제외) 내부의 모든 필드는 public static final로 정의 (상수) 클래스에 다중 구현 (implements) 지원 인터페이스 끼리는 다중 상속 (extends) 지원 인터페이스에도 static, default, private 제어자를 붙여 클래스 같이 구체적인 메서드를 가질 수 있음. 따라서 하위 멤버의 중복 메서드 통합을 어느정도 할 수 있겠지만 필드는 상수이기 때문에 중복 필드 통합은 불가능 인터페이스는 부모 자식 관계인 상속에 얽매이지 않고, 공통 기능이 필요할 때마다 추상 메서드를 정의해놓고 구현(implements)하는 식으로 추상클래스보다 자유롭게 붙였다 떼었다 사용 인터페이스는 클래..
spring 프로젝트의 완전한 이름 변경을 위해 아래와 같이 순서에 따라 프로젝트 이름을 변경할 수 있습니다. 1. 프로젝트 복붙 이름을 변경하고자 하는 프로젝트를 마우스 우클릭하여 copy 후 paste 로 붙여넣기 합니다. 2. Web Project Setting 변경 프로젝트 마우스 우클릭 > properties > Web Project Settings 아래와 같이 Context root에 변경한 프로젝트 이름으로 설정 후 Apply and Close 버튼을 클릭합니다. 3. Rename Maven Artifact 변경 프로젝트 마우스 우클릭 > Refactor > Rename Maven Artifact Group Id와 Artifact Id를 변경 해 줍니다. 4. 패키지명 변경 만약 패키지명 변..
JDK (Java Development Kit) 란? JDK는 자바 개발키트(Java Development Kit)의 약자로 개발자들이 자바로 개발하는 데 사용되는 SDK 키트라 생각하면 됩니다. 그래서 JDK안에는 자바를 개발 시 필요한 라이브러리들과 javac(컴파일러), javadoc 등의 개발 도구들을 포함되어 있고, 개발을 하려면 자바 프로그램을 실행도 시켜줘야 하기 때문에 뒤에서 배울 JRE(Java Runtime Environment)도 함께 포함되어 있습니다. 💡 SDK란? Software Development Kit (소프트웨어 개발 키트) 로, 하드웨어 플랫폼, 운영체제 또는 프로그래밍 언어 제작사가 제공하는 툴입니다. 키트의 요소는 제작사마다 다르며 이 SDK를 활용하여 애플리케이션을..
Exception과 Error 차이 자바에서는 실행 시(runtime) 발생할 수 있는 프로그램 오류를 '에러(Error)'와 '예외(Exception)' 두 가지로 구분하였습니다. 에러(Error)는 메모리 부족(OutOfMemoryError)이나 스택오버플로우(StackOverflowError)와 같이 일단 발생하면 복구할 수 없는 심각한 오류이고, 예외(Exception)는 발생하더라도 수습될수 있는 비교적 덜 심각한 것입니다. 에러가 발생하면, 프로그램의 비정상적인 종료를 막을 길이 없지만, 예외는 발생하더라도 프로그래머가 이에 대한 적절한 코드를 미리 작성해 놓음으로써 프로그램의 비정상적인 종료를 막을 수 있습니다. 자바에서는예외(Exception)뿐만이 아닌 에러(Error) 역시 클래스로 정..
이클립스를 실행하다보면 가끔 The default workspace 'workspace 폴더' is in use or cannot be create, please choose a different one. 에러를 마주 할때가 있습니다. 이에 대한 해결 방법에 대해 알아보겠습니다. 1. 작업관리자 열려있는 이클립스를 강제 종료 해줍니다. 2. .lock 삭제 workspace의 경로 > .metadata > .lock 파일을 삭제 해줍니다. 그 후 이클립스를 재실행해주면 됩니다.
** NOTICE VirtualBox Version : 7.0.10 👉 VirtualBox(버추얼 박스) 설치 👉 VirtualBox에 Ubuntu 설치 [기본 용어] Host (호스트) OS : 자신의 메인 PC (VirtualBox가 설치된 PC) Guest (게스트) OS : 모든 가상 서버 (생성한 가상머신) 가상 네트워크 어댑터 : Virtual Box를 설치하면 생성되는 가상 네트워크 어댑터 (가상머신과 호스트 컴퓨터 간의 통신 및 가상 머신간의 통신을 지원하는데 사용) DHCP 서버 : 네트워크에서 컴퓨터나 장치에 IP 주소 및 기타 네트워크 설정을 자동으로 할당하는 프로토콜 (가상머신에 동적으로 IP를 할당) 공인 IP (외부 IP) : 외부 세계와 연결할 때 쓰는 통신사에 돈을 내고 얻은..
Ubuntu(우분투)란? Ubuntu는 Linux(리눅스) 기반으로 개발된 사용 편의성에 초점을 맞춘 OS로 리눅스의 배포판입니다. 다양한 Linux(리눅스) 배포판이 있는데 그중 하나가 Ubuntu이며, 그외 Red Hat, CentOS, Debian, Fedora, Linux Mint 가 있습니다. Ubuntu(우분투) 설치 *** 먼저 VirtualBox가 설치 되어 있어야 합니다. 설치되어 있지 않다면 아래 링크를 클릭하여 VirtualBox를 설치해주세요. 👉 VirtualBox 설치하기 [VirtualBox] VirtualBox(버추얼박스), virtual machine(가상머신) 이란? VirtualBox란? VirtualBox는 Oracle Corporation에서 개발한 무료 오픈 소스 ..
VirtualBox란? VirtualBox는 Oracle Corporation에서 개발한 무료 오픈 소스 가상화 소프트웨어 입니다. 다양한 OS를 자신의 컴퓨터에서 사용할 수 있게 만들어주는 프로그램입니다. VirtualBox는 가상 머신을 생성하고 관리하는 소프트웨어입니다. VirtualBox 자체는 가상 머신이 아니며, 가상 머신을 생성하고 실행하는 도구입니다. 사용자는 단일 VirtualBox 호스트 에서 여러 가상 머신을 생성할 수 있습니다. 별도로 컴퓨터를 마련해서 다른 OS 환경을 갖추기에는 다양하고 번잡하기 때문에 가상머신으로 사용하는 것이 효율적입니다. 💡 가상머신(Virtual Machine) 가상 머신(Virtual Machine, VM)은 컴퓨팅 환경을 소프트웨어로 구현한 것, 즉 하..
클라우드란 "클라우드 컴퓨팅" 이나 "클라우드 서비스" 의 약칭으로, 인터넷으로 가상화된 IT 리소스를 서비스로 제공하는 것을 의미합니다. (자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술) 클라우드 컴퓨팅에서 가상화 하여 서비스로 제공하는 대상은 서버, 네트워크, 스토리지, OS 등 다양한 것을 제공합니다. 이때, 클라우드 이용 형태에 따라 서비스의 종류가 나누어지는데 IaaS, PaaS, SaaS가 이에 해당합니다. IaaS, PaaS, SaaS 차이 IaaS (Infrastructure as a Service, 아이아스, 에이스) : 정보 시스템 가동에 필요한 가상 서버를 비롯한 장비나 네트워크 등의 인프라를 인터넷상의 서비스로 제공하는 형태를 말하는 것으로, 즉 개발사에게 제공..
실선 실선(Identifying) : A테이블과 B테이블은 "식별관계" 부모테이블[A테이블]의 PK가 외래키로써, 자식테이블[B테이블]의 PK에 포함되는 경우 부모, 자식 관계(부모가 있어야 자식이 생기는 경우) 즉, 자식 테이블[B테이블]이 부모 테이블의 FK이면서 PK인 경우 ex) User 테이블과 UserComment 테이블이 있을 경우, UserComment는 User가 반드시 있어야 존재할 수 있음 점선 점선(Non-Identifying) : A테이블과 B테이블은 "비식별관계" 부모테이블[A테이블]의 PK가 외래키로써, 자식테이블[B테이블]의 PK가 아닌 일반 속성이 되는 경우 부모, 자식 관계가 아닌 모든 경우(부모가 없어도 자식이 생기는 경우) ex) User 테이블과 Task 테이블이 있..