본문 바로가기

반응형

전체 글

(61)
[Java] 버퍼 입출력(Buffer I/O) 버퍼 입출력의 필요성 입출력 스트림은 운영체제에 API를 호출하여 입출력 장치와 프로그램 사이에서 데이터가 전송 되도록 한다. 운영체제 API가 자주 호출될수록 시스템의 효율이 나빠진다.(하드, 네트워크장치 등이 자주 작동하기 때문) 버퍼를 이용해서 운영체제 API를 호출하는 주기를 줄일 수 있다. ex) BufferedReader br; br = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8")); 버퍼 스트림은 버퍼를 가지고 있기 때문에 버퍼가 꽉 차지 않으면 출력하지 않기 때문에 br.flush() 메소드를 이용하여 버퍼에 있는 데이터를 강제로 출력장치로 보낼 수 있다. 버퍼도 스트림과 마찬가지로 사용을 마치면 close..
[Java] 스트립입출력(Stream I/O) 스트림이란 ? 연속적인 데이터의 흐름 또는 데이터를 전송하는 소프트웨어 모듈을 일컫는다. 컴퓨터에서 스트림은 도착한 순서대로 데이터를 흘러 보낸다. 입출력 스트림 이란? 자바에서 입출력 스트림은 응용프로그램과 입출력 장치를 연결하는 소프트웨어 모듈이다. 자바 응용프로그램은 입출력 장치를 직접 제어하지 않고 입출력 스트림객체와 연결하여 데이터 입출력을 실시한다. 입력장치------------->입력 스트림-----------------> 자바 응용 프로그램 출력장치
[IntelliJ] 03 - 인텔리제이 MyBatis 연동 Mybatis는 SQL문을 더욱 편리하게 처리하기 위해서 사용하는 프레임워크 이다. SQL 매핑 프레임워크로 분류 된다. Mybatis 객체 SQLSession : SQLSession을 통해서 Connection을 생성하거나 원하는 SQL을 전달하고 결과를 리턴받는다. SQLSessionFactory : 내부적으로 SQLSession을 만들어 낸다. pom.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 org.mybatis mybatis 3.4.6 org.mybatis mybatis-spring 1.3.2 org.springframework spring-jdbc ${org.springframework-version} or..
[IntelliJ] 02 - 인텔리제이 데이터베이스 연동 데이터 베이스 탭을 이용하여 +키를 누르고 데이터베이스를 추가해 준다. 프로젝트 설정에서 Libraries에 ojdbc8.jar파일을 추가해 준다. src/java/test/org/onett/persistence 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 package org.onett.persistence; import lombok.extern.log4j.Log4j; import org.junit.Assert; import org.junit.Test; import java.sql.Connection; import java.sql.DriverManager; @Log4j public class ..
[OS] System calls System calls은 operating system에 의해서 서비스가 사용 가능하게 하도록 하는 인터페이스를 제공한다. 예를 들어 데이터를 읽고 복사하는 프로그램을 만든다면 첫번째로 input file, output file의 이름을 입력받아야 한다. 그리고 유저에게 파일의 이름을 물어보아야 한다. 이때 필요한 것이 System calls이다. 이름입력창을 띄우고 키보드로 2개의 파일 이름을 입력 받는다. 이러한 과정에서 여러가지의 I/O system calls이 사용된다. 파일의 이름을 받았으면 input file을 열어야 하는데 만약 파일에 에러가 있거나 파일에 대한 접근 권한이 거부 된경우에 또 다른 System calls이 호출되고 비정상적으로 종료되었다는 것을 console에 출력해 준다. ..
[OS] System Structures Operatin-System Service Operation system은 프로그램이 실행될 수 있는 환경을 제공한다. OS는 프로그램과 프로그램을 사용하는 user에게 특정한 service를 제공한다. User interface 대부분의 os시스템은 user interface(UI)가 존재한다. command-line interface(CLI) : text commands를 이용하여 명령을 하는 ui batch interface : 해당 명령을 제어하기위한 명령 및 지시문이 파일에 입력되고 해당 파일이 실행됩니다. graphical user interface(GUI) 인터페이스는 I/O를 관리하는 장치, 메뉴선택하는 장치, 문자를 입력하는 키보드 결정을 하는 등의 장치를 가리키는 윈도우 시스템이다. P..
캐쉬-1/2 웹 캐시는 자주 쓰이는 문서의 사본을 자동으로 보관하는 HTTP장치이다. 웹 요청이 캐시에 도착하였을 때 , 로컬 사본이 캐시에 존재한다면 캐시에서 바로 문서를 전송해 준다. 캐시의 장점 불필요한 데이터 전송을 줄여준다.(클라이언트들이 똑같은 문서를 반복해서 호출할 경우) 네트워크의 대역폭을 늘리지 않고도 페이지를 빠르게 불러올 수 있다. 원 서버에 대한 부하를 줄여준다. 거리로 인한 지연을 줄여준다. 캐시의 작동 적중 부적중 적중 : 캐시에 요청이 도착했을때 대응하는 사본이 있다면 요청이 처리 된다. 부적중 : 사본이 없을때 원서버로 요청을 전달한다. 재검사 원 서버의 컨텐츠가 변경 되었을 경우 그를 캐시에서 확인하는 것이다.(신선도검사, HTTP재검사) 캐시 처리 단계 1. 요청받기 : 네트워크로 부..
[IntelliJ] 01 - 인텔리제이 환경설정 file -> new -> project 로 이동 Maven project로 생성 Next 클릭 적당한 이름과 GroupId를 작성하고 Finish를 클릭. 프로젝트명을 우클릭하고 Add Framework Support를 클릭하면 위의 창이 뜬다. spring MVC 클릭후 OK를 누른다. 그러면 디렉토리의 구조가 spring MVC에 적합하게 변한다. 처음 디렉토리 구성을 보면 위와 같을 것이다. 이번에는 xml을 사용하지 않고 java 파일을 이용하여 만들 것이기 때문에 위와 같이 파일 디렉토리와 xml파일을 삭제해 준다. (web을 폴더를 삭제하고 src/main/webapp/WEB-INF/views/index.jsp 디렉토리를 만들어 준다.) 프로젝트를 우클릭하여 open Module settin..

반응형