오라클에서 쿼리문을 작성시 테이블이 없이 데이터를 만들고 싶을때가 있다. MS-SQL이나 MySQL에서는 FROM절 없이 SELECT 절만 사용해서 쿼리를 실행할 수 있다. 오라클은 FROM절이 없을경우 쿼리문이 실행되지 않는다. 그래서 FROM절에 사용가능한 가상테이블 DUAL 이라는 DUMMY 테이블을 제공하고 있다. 실무에서도 데이터 확인등을 할때 dual 테이블을 많이 사용하였다. 현재의 날짜 SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd') FROM dual 덧샘 SELECT 330+ 600+ 250+ 300 FROM dual; 연관된 글 : 참고: https://gent.tistory.com/304
제어자(modifier) 제어자(modifier)란 클래스와 클래스 멤버의 선언 시 사용하여 부가적인 의미를 부여하는 키워드를 의미합니다. 자바에서 제어자는 접근 제어자(access modifier)와 기타 제어자로 구분할 수 있습니다. 기타 제어자는 경우에 따라 여러 개를 함께 사용할 수도 있지만, 접근 제어자를 두 개 이상 같이 사용할 수는 없습니다. 이러한 접근 제어자와 기타 제어자는 조합에 따라 함께 사용할 수 있습니다. 접근 제어자 (Access Modifier) 접근제어자는 멤버 또는 클래스에 사용되어 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다. 자바에서는 다음과 같은 네 가지의 접근 제어자를 제공합니다. 1. private 2. public 3. defaul..
Garbage Collection(GC) 개념 가비지 컬렉션(Garbage Collection, 이하 GC)는 자바의 메모리 관리 방법 중의 하나로 JVM(자바 가상 머신)의 Heap 영역에서 동적으로 할당했던 메모리 중 필요 없게 된 메모리 객체(garbage)를 모아 주기적으로 제거하는 프로세스를 말한다. 어떤 인스턴스가 생성되어 메모리 공간을 차지한 상태에서 해당 인스턴스가 프로그램에서 사용되지 않게 되었다면(null 처리 되었거나 해당 인스턴스를 참조하는 부분이 없다면) 해당 인스턴스가 Garbage가 된다. 이런 불필요한 메모리 낭비를 방지하기 위해서 개발자가 직접 인스턴스를 찾아서 제거하는 것이 아니라, JVM이 불필요한 메모리를 정리해주는 기능이 Garbage Collection 이다. Ja..
상속이란 (Inheritance) 위의 그림을 볼때 상자 하나 하나는 모두 객체(Object)이고 자바 용어로는 Class이다. 이러한 계층을 표현하기 위해 만들어진것이 바로 상속이며 하위 객체는 상위 객체(부모)의 특징을 물려받는다. 예를들어 동물의 특징인 '움직이다'를 포유류, 조류, 파충류는 그대로 물려받게 된다. 즉, move()라는 메소드를 포유류, 조류, 파충류 객체가 모두 사용할수 있게 된다는 뜻이다. 또 다른 예로 나이라는 변수가 동물 객체에 선언되어 있다면 포유류, 조류, 파충류는 나이 변수를 물려받게 된다. 이 메소드 혹은 변수를 그대로 "구현" 하는가 "사용" 하는가에 따라서 상속의 형태가 달라지게 된다. extends : 부모에서 선언 및 정의를 모두 하며 자식은 메소드 및 변수를 ..
웹에대한 이해 💡웹, 어느 정도 알아야 해요? 프론트엔드 개발자가 웹을 알아야 하는 이유는 굉장히 많습니다. 하지만 간단히 요약하자면 성능 최적화를 위해 디테일한 통신/에러 핸들링을 위해 프론트엔드 개발자는 다양한 브라우저를 다루기 때문 프론트엔드 개발자는 웹의 거시적인 구조와 웹 중에서도 브라우저와 네트워크를 알고 있는게 좋습니다. 1️⃣ 웹의 거시적인 구조 거시적인 웹의 구조는 생각보다 별거 없습니다. 클라이언트와 서버, 그리고 그 둘을 이어주는 네트워크 이 세 개를 묶어서 거시적인 웹구조로 보시면 됩니다. 쉽게 말해 통신 과정이 웹의 구조인 셈이죠. 주니어 프론트엔드 개발자는 저 웹 구조 중에서도 브라우저와 네트워크에 관련된 기본기가 상당히 중요합니다. 2️⃣ 브라우저와 네트워크의 이해 🔴 브라우저..
요즘 핫한 gpt와 함께 업무에 도움이 될만한 자동완성 도구이다 Github Copoilot 마이크로 소프트 에서 제공 장점 : 주석, 코드, 함수명 분석하여 코드 자동완성 단점 : 60일동안은 무료지만, 이후부터는 유료 서비스로 전환. tabnine gpt2 기반 코드 자동완성 장점 : 폴더명을 인식하여 폴더명의 함수 컴포넌트를 만들어줌, 주석도 잘 달아줌 단점 : tabnine 자동완성이 자동완성 1,2 순위에 자리잡으면서 IDE 자동완성 우선순위가 밀림 Intellicode 단순 기능 코드 완성 확장팩 연관된글 : 인텔리제이 환경설정/플러그인/ 단축키/꿀팁 참고 : Github Copoilot vs 주니어 개발자 (feat. 뭐야 내 직업 돌려줘요) - 코드캠프님의 블로그 - 인프런 | 커뮤니티 챗..
ANSI SQL DBMS(Oracle, My-SQL, DB2 등등)들에서 각기 다른 SQL를 사용하므로, 미국 표준 협회(American National Standards Institute)에서 이를 표준화하여 표준 SQL문을 정립 시켜 놓은 것이다. 어디서나 통용될 수 있는 공통적인 기준 이라고 볼 수 있다. 대표적으로 JOIN 구문에서 확인할 수 있다. ANSI SQL 특징 표준 SQL문이기 때문에 DBMS의 종류에 제약을 받지 않는다. (MySQL, Oracle..) 즉, 특정 벤더에 종속적이지 않아 다른 벤더의 DBMS로 교체하더라도 빠르게 다른 벤더사를 이동할 수 있다. 특정 DBMS의 이탈이 가속되는 것도 ANSI SQL의 영향이 크다고 할 수 있다. 테이블간의 Join 관계가 FROM 에서 ..
iBatis와 MyBatis iBatis( ~ 2.3)의 버전이 변경되면서 MyBatis(2.5 ~)로 변경이 되었다. Apache project팀에서 google code 팀으로 이동하면서 명칭이 변경 변경된 사항 Java 요구 버전 Java 요구버전도 iBATIS는 JDK 1.4 이상에서 사용 가능하지만, MyBatis는 JDK 1.5 이상에서 사용 가능하도록 변경되었다. MyBatis 3.2 이상 버전은 JDK 1.6 이상 요구 패키지 내부 구조 패키지 내부구조도 변경되었는데 iBATIS의 패키지 구조 com.ibatis.*에서 MyBatis 패키지 구조org.apache.ibatis.*로 변경 되었다. sqlMap.xml 내부 구조 sqlMap.xml도 Mapper.xml로 변경되며 내부구조도 바..