공부일기
-
웹 백엔드 - 1. SQL & JDBC 프로그래밍(2)공부일기/부스트코스 2021. 1. 2. 15:21
INSERT문 기본 문형 insert into 테이블명(필드1, 필드2, 필드3, 필드4 ...) values (필드1의 값, 필드2의 값, 필드3의 값, 필드4의 값 ...) insert into 테이블명 values (필드1의 값, 필드2의 값, 필드3의 값, 필드4의 값 ...) 필드명을 지정해주는 방식은 디폴트 값이 세팅되는 필드는 생략할 수 있다. 필드명을 지정해주는 방식은 추후, 필드가 추가/변경/수정되는 변경에 유연하게 대처 가능하다. 필드명을 생략했을 경우에는 모든 필드 값을 반드시 입력해야 한다. 컬럼명을 나열해 원하는 컬럼에 값 입력이 가능하지만, NOTNULL조건이나 PRIMARY키를 가진 컬럼의 경우 반드시 컬럼을 나열해 값을 입력해야한다. 예) role 테이블에 role_id는 2..
-
웹 백엔드 - 1. SQL & JDBC 프로그래밍(1)공부일기/부스트코스 2021. 1. 1. 22:15
데이터베이스란? 데이터의 집합 여러 프로그램들의 통합된 정보를 저장하여 운영할 수 있는 공용 데이터의 집합 효율적으로 저장, 검색, 갱신할 수 잇도록 데이터 집합들끼리 연관시키고 조직화 되어야 한다. 데이터 베이스의 특성 실시간 접근이 가능해 사용자의 요구를 즉시처리할 수 있다. 정확한 값을 유지하기 위해 삽입, 삭제, 수정 작업 등을 이용하여 데이터를 지속적으로 갱신한다. 동시에 여러 사람이 동일한 테이터에 접근하고 이용할 수 있다. 사용자가 요구하는 데이터의 내용인 데이터의 값에 따라 참조할 수 있어야 한다. 데이터베이스 관리 시스템(Database Management System = DBMS) 데이터베이스를 관리하는 소프트웨어 필수 3기능 - 정의기능 : 데이터베이스의 논리적, 물리적 구조를 정의 ..
-
Java 항해일지 - 7. 패키지공부일기/자바 스터디 2020. 12. 28. 17:07
목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 접근제어자 클래스패스 CLASSPATH 환경변수 -classpath 옵션 패키지(package) 클래스의 묶음 클래스 또는 인터페이스를 포함할 수 있고, 서로 관련된 클래스들끼리 그룹 단위로 묶어 클래스를 효율적으로 관리할 수 있다. 클래스의 실제 이름은 패키지명을 포함한 것이다. 예를들어 ArrayList클래스의 경우 실제 이름은 java.util.ArrayList이다. 한 패키지에 속한 클래스는 해당 디렉토리에 존재하는 class파일이어야 한다. 패키지도 다른 패키지를 포함할 수 있으다. 이 경우 '.' 으로 구분한다. 위의 조건들을 예를 들어 설명하면, java.util.ArrayList 클래스는 물..
-
Java 8 - 8. 애노테이션의 변화공부일기/Java 8 2020. 12. 26. 13:57
애노테이션 관련 변화 자바 8부터 애노테이션을 타입 선언부에도 사용할 수 있게 됨. 자바 8부터 애노테이션을 중복해서 사용할 수 있게 됨. 타입 선언 부 제네릭 타입 변수 타입 매개변수 타입 예외 타입 ... 타입에 사용할 수 있으려면 TYPE_PARAMETER: 타입 변수에만 사용할 수 있다. TYPE_USE: 타입 변수를 포함해서 모든 타입 선언부에 사용할 수 있다. import java.util.Arrays; import java.util.List; public class App { public static void main(@Chicken String[] args) throws @Chicken RuntimeException { List names = Arrays.asList("Something")..
-
Java 8 - 7. Callable과 Future공부일기/Java 8 2020. 12. 25. 16:18
Callable Runnable과 유사하지만 return을 통해 작업의 결과를 받아볼 수 있다. Future 비동기적인 작업의 현재 상태를 조회하거나 결과를 가져올 수 있다. https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html 결과를 가져오기 get() 블록킹 콜이다. 타임아웃(최대한으로 기다릴 시간)을 설정할 수 있다. 아래 예제 같은 경우 started! 출력 후 2초를 기다린다. 그 후 Hello를 꺼내고 출력한 뒤 End!를 출력, 그리고 쓰레드를 종료한다. package Java8; import java.util.concurrent.*; public class Main { public static void main..
-
Java 8 - 6. Concurrent 프로그래밍과 Executors공부일기/Java 8 2020. 12. 24. 21:55
Concurrent 소프트웨어란? 동시에 여러 작업을 할 수 있는 소프트웨어 예) 웹 브라우저로 유튜브를 보면서 키보드로 문서에 타이핑을 할 수 있다. 또는 화면녹화를 하면서 인텔리J로 코딩을 하고 워드에 적어둔 문서를 보거나 수정할 수 있다. 위의 예시처럼 여러가지 프로그램을 사용하는 것도 맞고, 한 프로그램 내에서 여러가지 동시작업이 일어나는 것도 해당한다. 게임을 하는 경우 캐릭터가 이동하거나 시선을 바꿀 때 캐릭터를 이동시키면서 새로운 배경을 불러오는 것을 예로 들 수 있다. 자바에서 지원하는 컨커런트 프로그래밍 멀티프로세싱 (ProcessBuilder) 멀티쓰레드 자바 멀티쓰레드 프로그래밍 Thread / Runnable Thread 상속 package Java8; public class Mai..
-
Java 항해일지 - 6. 상속공부일기/자바 스터디 2020. 12. 24. 11:23
상속이란? 기존의 클래스를 재사용해 새로운 클래스를 작성하는 일이다. 상속을 통해 클래스를 작성하게 되면 보다 적은 양의 코드로 새로운 클래스 작성이 가능하고, 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 코드의 재사용성을 높이고, 코드의 중복을 제거해 프로그램의 생산성과 유지보수에 크게 기여할 수 있다. 자바 상속의 특징 extends : 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 extends 키워드와 사용하면 된다. 단일 상속 : 두 개이상의 클래스로부터 상속을 받을 수 없다. 다중 상속을 허용하게 될 경우 여러 클래스로부터 상속받을 수 있어 복합적인 기능을 가진 클래스를 작성하기 쉽지만, 클래스 간의 관계가 매우 복잡해지고 상속받은..
-
Java 항해일지 - 5. 클래스공부일기/자바 스터디 2020. 12. 23. 20:45
클래스란? '객체를 정의해놓은 것.' 클래스는 객체를 생성하는데 사용되며, 객체는 클래스에 정의된 대로 생성되기 때문에 '객체의 설계도 또는 틀'로도 설명할 수 있다. 그렇다면 객체란 무엇일까? 객체의 사전적인 정의는 '실제로 존재하는 것' 이다. 흔히 붕어빵과 붕어빵 틀로 설명하곤 하는데, 붕어빵 틀이 클래스라면 붕어빵은 객체인 것이다. 설계도 하나로 여러 개의 동일한 제품을 만들어 낼 수 있듯이 클래스 하나의 정의로 여러개의 객체를 만들어낼 수 있다. 물론 다른 속성을 가진 제품들을 만들어 낼 수도 있다. 클래스의 구조를 살펴보며 클래스에 대해 좀 더 자세히 알아보자. 클래스 정의하는 방법 필드 : 클래스 객체의 상태 속성을 나타낸다. 멤버 변수라고 불리며 필드에서 초기화하는 것을 필드 초기화 혹은 ..