본문 바로가기
반응형

전체 글243

[JAVA] 제네릭(Generic) 제네릭(generic) 이란? 자바에서의 제네릭이란 데이터 타입(data type)을 일반화한다(generalize)는 것을 의미한다. (JDK 1.5부터) 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법이다. 제네릭의 장점 1. 객체의 타입 안정성을 높일 수 있다. 2. 타입 체크와 형변환을 생략할 수 있어 코드가 간결해진다. 1) 제네릭의 용어 2) 제네릭의 선언 및 생성 - 클래스를 작성할 때, Object타입 대신 T와 같은 타입변수를 사용한다. // Object 타입 class Box{ Object item; void setItem(Object item){this.item=item;} Object getItem(){return item;} } // Generic 타.. 2020. 8. 2.
동기(Synchronous)와 비동기(Asynchronous )의 개념과 차이점 출처 : https://webclub.tistory.com/605?category=501058 1) 동기식 처리 모델(Synchronous processing model) 동기식 처리 모델은 직렬적으로 task를 수행한다. 태스크는 순차적으로 실행되며 어떤 작업이 수행 중이면 다음 작업은 대기하게된다. 예를 들어 서버에서 데이터를 가져와서 화면에 표시하는 작업을 수행할 때, 서버에 데이터를 요청하고 데이터가 응답될 때까지 이후의 태스크들은 블로킹(blocking, 작업중단)된다. function func1() { console.log('func1'); func2(); } function func2() { console.log('func2'); func3(); } function func3() { cons.. 2020. 8. 2.
[pl/sql] 변수, 상수, 매개변수, 함수, 프로시저의 명명법 “이렇게 지어야 한다”라는 규칙은 없다. 변수 variable의 맨 앞 글자인 v +데이터 타입의 앞 글자(문자는 s, 숫자는 n, 날짜는 d) + 변수 설명(테이블 컬럼 값을 사용할 때는 컬럼명) 예) vs_emp_name ,vn_employee_id, vd_hire_date 상수 constant의 맨 앞 글자인 c + 나머지는 변수와 동일 예) cn_pi (파이 값), cn_inch_to_meter (인치를 미터로 변환하는 상수) 매개변수 parameter의 맨 앞 글자인 p + 나머지는 변수와 동일 예) pn_employee_id, pn_salary, pd_retire_date 함수 get (값을 가져오므로) + 함수 설명 약자 + fn get_dep_name_fn (부서명을 가져오는 함수), ge.. 2020. 7. 31.
[DataBase] DBMS의 개념 DBMS(Database Management System) : 데이터 베이스 관리 시스템 - 다수의 사용자들이 DB내의 데이터를 접근할 수 있도록 해주는 소프트웨어 - DBMS는 보통 Server 형태로 서비스를 제공함 - ex) Oracle, MySQL, MariaDB, PostgreSQL 등 - DBMS Server에 직접 접속해서 동작하는 클라이언트 프로그램의 문제점 1. 클라이언트에 로직이 많아지고 이에 따라 클라이언트 프로그램의 크기가 커진다. 2. 로직이 변경될 때마다 매번 배포가 이루어져야한다. 3. 클라이언트에 대부분의 로직이 포함되어 배포되기때문에 보안에 취약하다. 4. 이러한 문제점을 해결하기 위해 등장한 것이 MiddleWare MiddleWare - Client -> MiddleWa.. 2020. 7. 30.
[WEB] Web Server(웹서버) / WAS(웹어플리케이션) / Web Container ▶ Static Page(정적 페이지) - 웹 서버는 파일 경로 이름을 받아 경로와 일치하는 파일 컨텐츠를 반환 - 항상 동일한 페이지 반환 - ex) image, html, css, javascript 파일과 같이 컴퓨터 저장되어 있는 파일들 ▶ Dynamic Page(동적 페이지) - 파라미터의 내용에 맞게 동적인 컨텐츠를 반환 - 웹 서버에 의해 실행되는 프로그램을 통해 만들어진 결과물을 반환 (ex. Servlet) 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성을 위해 Web Server와 WAS분리 ▶ Web Server 1) 웹 서버의 개념 - 하드웨어 : Web서버가 설치되어있는 컴퓨터 - 소프트웨어 : 클라이언트로부터 HTTP요청을 받아 정적인 컨텐츠를 제공하는 프로그램 2.. 2020. 7. 30.
[SQL] DELETE / TRUNCATE / DROP 차이점 1) DELETE - WHERE절을 사용하여 테이블에 있는 데이터를 하나하나 선택하여 제거하는 방식 - WHERE절을 사용하지않고 테이블의 모든 데이터를 삭제하더라도, 내부적으로는 한줄 한줄 일일히 제거하는 과정을 거침 - 처리속도가 늦고, 퍼포먼스에 좋지않은 영향을 줄 수 있음 - 원하는 데이터만 골라서 삭제할 때에는 DELETE 사용 / 전체 데이터 삭제할 때에는 TRUNCATE 사용 - 데이터를 삭제하더라도 데이터가 담겨있던 Storage는 Release 되지않는다. - DELETE된 데이터는 COMMIT 명령어를 사용하기 전이라면, ROLLBACK 명령어를 통해 되돌릴 수 있음 DELETE FROM dbtable; DELETE FROM dbtable WHERE {조건}; ROLLBACK; COMM.. 2020. 7. 30.
[SQL] 구조적 질의 언어 DDL / DML / DCL SQL(Structured Query Language) : 구조적 질의 언어를 통해 데이터베이스를 관리 DDL(Data Definition Language) : 데이터 정의어 - 데이터베이스를 정의하는 언어로 데이터를 생성, 수정, 삭제하는 등의 데이터의 전체 골격을 결정하는 역할을 하는 언어 - SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용하는 언어 - 데이터 베이스 관리자나 데이터베이스 설계자가 사용 종류 역할 CREATE 데이터베이스, 테이블등을 생성하는 역할 ALTER 테이블을 수정하는 역할 DROP 데이터베이스, 테이블을 삭제하는 역할 TRUNCATE 테이블을 초기화 시키는 역할 DML(Data Manipulation Language) : .. 2020. 7. 30.
[Spring] 스프링 MVC 모델 스프링 MVC는 Model2 방식을 따르며 이 Model2의 아키텍처에 맞게 설계되어 있다. 1) DispatcherServlet가 Client요청을 받음 (중앙 제어실과 같음) 2) HandlerMapping이 알맞은 Controller를 찾음 3) HandlerMapping에 실행할 Controller의 메서드를 찾음 4) Controller의 메서드를 실행하며 그 결과 Model로서 DispatcherServlet에 반환 5) ViewResolver는 알맞은 JSP파일을 찾음 6) View는 JSP파일을 Model의 정보를 토대로 Client에게 반환 2020/07/14 - [Jsp] - [JAVA/JSP] 모델2 기반의 MVC(MODEL-VIEW-CONTROLLER) Design Pattern [.. 2020. 7. 30.
복잡한 쿼리를 작성해야 할 때, 어떻게 해야 할까? 정답은 없다. 오히려 정답이 있는 것이 이상하다. 조회 대상 테이블과 컬럼, 원하는 결과가 때에 따라 모두 다르기 때문이다. 하지만 마음을 가다듬고 차근차근 작성한다면 불가능한 일은 없다. 예로부터 전해오는 복잡한 문제를 풀 때 사용하는 방법이 있는데, 바로 “분할해서 정복하라(Divide & Conquer)” 이다. 복잡한 쿼리를 작성할 때에도 작은 단위로 분할한 뒤, 다시 합치면 의외로 간단히 해결할 수 있다. (1) 최종적으로 조회되는 결과 항목을 정의한다. (2) 필요한 테이블과 컬럼을 파악한다. (3) 작은 단위로 분할해서 쿼리를 작성한다. (4) 분할한 단위의 쿼리를 하나로 합쳐 최종 결과를 산출한다. (5) 결과를 검증한다. 참고서적:https://thebook.io/006696/ 2020. 7. 29.
[Oracle] import / export 기능 imp : 데이터를 DB(테이블)로 삽입하는 기능 exp : DB(테이블)의 데이터를 추출하는 기능 2020. 7. 27.
[JAVA] Iterator method : hasNext() vs next() 메소드 차이점 Interface Iterator boolean hasNext() : 다음에 가져올 값이 있으면 true, 없으면 false 반환 E next() : Parameter 타입으로 Iterator에 입력된 값들을 반환 2020. 7. 25.
[JAVA/자료구조] 자바 컬렉션 프레임워크(java collection framework) 총정리 - 컬렉션(collection) : 여러 객체(데이터)를 담을 수 있는 자료구조, 다수의 데이터 그룹 - 프레임워크(framework) : 표준화, 정형화된 체계적인 프로그래밍 방식 ▶ 컬렉션 프레임워크(collection framework) : 배열의 단점을 보완해주는 컬렉션 - 다수의 객체를 다루기위한 표준화된 프로그래밍 방식 - 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 인터페이스와 클래스 제공 - java.util 패키지에 포함되어있고 JDK1.2부터 제공됨 - 이미 구현되어 있는 것을 사용함으로써 코딩 시간 감소, 코드 품질 보장, 유지보수 용이 ▶ 컬렉션 프레임워크의 구성 요소 - 컬렉션 인터페이스 : java.util 패키지 안에 있음 - 컬렉션 클래스 : 컬렉션 인터페이스를 상속받고 ja.. 2020. 7. 24.
반응형