배열이란?


여러 데이터를 하나의 이름으로 그룹핑하여 관리하기 위한 자료구조


거의 모든 언어에 포함



배열의 구성

    public class ArrayTest {
         int[] numbers1 = new int[4];
       // int[]에서 
       // int는 엘리먼트의 데이터 타입, []은 배열을 의미
       // new int[4]에서
       // new는 생성자, [4]는 배열의 크기
    }
    

배열은 엘리먼트로 구성되어 있고,

엘리먼트는 index와 value로 구성되어 있다.


 학생1

학생2 

학생3 

학생4 

 0


여기서 학생1이 value이고 0은 index

학생1과 0을 묶어서 엘리먼트 하나를 이룬다.


배열의 생성

    public class ArrayTest {
         int[] numbers1 = new int[4];
         int[] numbers2 = {10, 20, 30, 40};
         int[] numbers3 = new int[] {10, 20, 30, 40};
    }
    

배열에 들어갈 값을 미리 알고 있을 경우, 생성과 초기화를 한번에 할 수 있다.



배열의 조회

    public class ArrayTest {    
        public static void main(String[] args) {
                 int[] numbers1 = new int[4];
                 int[] numbers2 = {10, 20, 30, 40};
                 int[] numbers3 = new int[] {10, 20, 30, 40};
          
                 // 나중에 배열 초기화 방법
                numbers1[0] = 10;
                numbers1[1] = 20;
		
                //배열의 값조회(인덱스를 이용)
                System.out.println(numbers1[0]); //  10이 출력
                
               //배열의 길이
               System.out.println(numbers1.length);  // 4가 출력(처음 만들때 4개의 방을 만들었음)
	}     
    }



배열과 반복문 (배열 사용법!!)

  
               //배열의 길이
               System.out.println(numbers1.length);  // 4가 출력(처음 만들때 4개의 방을 만들었음)

               for(int i=0; i


배열의 단점과 장점


단점 : 배열의 크기가 조정이 불가능, 처음 생성할 때 크기로 고정

        별다른 기능(메서드)가 없다.


장점 : 크기가 고정되어있고, 별다른 기능이 없기 때문에 작고 가볍고 단순하다.

         이는 다른 곳의 부품이 되기 쉽다는 의미, 배열의 확장성이 강하다!! 다른 자료구조나 활용도 면에서...



참고: https://opentutorials.org/module/1335/8738

'자료구조' 카테고리의 다른 글

[Map] HashMap  (0) 2017.03.10
[Set]HashSet의 특징  (1) 2017.03.09
[그래프]넓이 우선 탐색(BFS)  (0) 2017.03.07
[그래프] 인접리스트와 인접행렬을 이용한 구현  (0) 2017.02.26
ArrayList와 LinkedList  (0) 2017.01.02

컴퓨터 네트워크의 종류


컴퓨터 네트워크 : 여러 대의 컴퓨터를 서로 연결하여 서로 데이터를 주고받을 수 있도록 망이 사전에 구축된 것.

LAN : 가정이나 사무실처럼 실내에서 비교적 근거리에 위치한 컴퓨터들이 연결된 것을 LAN(Local Area Network)

WAN : 집 밖이나 회사 건물 밖처럼 비교적 먼 거리에 위치한 컴퓨터들과 연결된 것을 WAN(Wide Area Network)

인터넷 : 여러 네트워크 중에서도 가장 큰 네트워크

모바일 네트워크 : 휴대전화나 스마트폰을 연결하기 위해 무선 기술을 활용한 것




컴퓨터 네트워크의 역할


이메일, 채팅, VoIP(인터넷 전화)

파일공유, 주변 기기의 공유

분산처리

파일전송 : 서버에 웹 페이지 파일 등을 업로드한다.

원격제어 : 서버로 명령어를 보내어 원격으로 제어한다.

www(웹), 동영상 및 음악 스트리밍 서비스 : 클라이언트에게 웹페이지, 동영상, 음악 데이터 등을 제공한다.



서버와 클라이언트


서버 : 네트워크에 연결된 컴퓨터들 중 서비스를 제공하는 쪽


#서버의 종류

웹 서버 : 웹 페이지의 내용을 전송하는 서비스를 제공

메일 서버 : 메일을 송수신하는 서비스를 제공


클라이언트 : 서비스를 받는 쪽


서비스별 서버와 클라이언트의 역할


웹 서비스 

- 서버의 역할 : 클라이언트로부터 요청을 받고 해당하는 웹 페이지를 전송한다.

- 클라이언트의 역할 : 서버에 웹 페이지를 요청하고 응답으로 받은 웹 페이지를 화면에 표시한다.


메일 서비스 
    - 서버의 역할 : 메일을 전달하는 송신 기능과 받은 메일을 저장하는 수신 기능이 있다.

    - 클라이언트의 역할 : 사용자가 작성한 메일을 메일 서버로 보내고 다른 사라이 보낸 메일을 받아 화면에 표시한다.


FTP 서비스 

- 서버의 역할 : 서버 컴퓨터의 하드 디스크 폴더 안으로 업로드한 파일을 저장하는 기능과 하드 디스크 폴더 안에 있는

  다운로드하는 기능이 있다.

- 클라이언트의 역할 : 클라이언트 PC에 저장된 파일을 서버에 업로드하거나 서버의 파일을 클라이언트 PC에 다운로드한다.


원격 제어 서비스 

    - 서버의 역할 : 클라이언트가 내린 명령을 서버에서 실행하고 그 결과를 클라이언트에게 보여준다.

    - 클라이언트의 역할 : 사용자의 제어 명령을 원격지의 서버에 전달하고 그 결과를 받아 화면에 표시한다.


Peer to Peer


정의 : 네트워크에 연결된 두 대의 컴퓨터가 클라인트와 서버의 역할을 동시에 수행할 수 있어서 서로에게 서비스를 주거나

         받을 수 있는 통신 방식



'네트워크' 카테고리의 다른 글

네트워크 서비스와 애플리케이션 계층(2)  (0) 2017.01.11
네트워크 서비스와 애플리케이션 계층(1)  (0) 2017.01.10
프로토콜 종류  (0) 2017.01.04
컴퓨터네트워크(3)  (0) 2017.01.03
컴퓨터 네트워크(2)  (0) 2016.12.24

Spring JDBC를 이용해서 데이터를 불러 올 때, 일어나는 오류


EmptyResultDataAccessException


Spring JDBC를 이용할 때,

 repository의 메서드를 호출하여 DB의 데이터를 불러 올 때,

일치하는 데이터가 실제로 없을 때 일어나는 오류.


예상되는 데이터는 1개이지만 실제로는 데이터 0개가 나올 때 발생하는 오류





해결방법


repository에서 catch ~ try를 묶어서 처리해도 되지만, 오류를 일으키는 곳인 controller에서

오류를 처리하는 것이 바람직하다.











'Error note' 카테고리의 다른 글

[Oracle]ora-30036 : unable to extend segment by 4 in undo tablespace  (0) 2017.01.12
[Mysql]Error code 1175  (0) 2017.01.02

CSS 파일을 수정 후 적용이 안될 때


CSS 파일을 수정 후 테스트 했을 때, 수정한 내용이 적용이 되지 않는 경우가 있습니다.


이 같은 경우 HTML 문서에서


<link href="css/freelancer.css" rel="stylesheet"> 이 구문이 웹서버에서 캐시에 올려놓고 이전 버전을 계속 쓰기 때문에 발생하기도 합니다.


그래서 


<link href="css/freelancer.css?ver=1" rel="stylesheet"> 이런 식으로 버전 정보를 같이 보내면 웹서버에서 새로운 CSS파일을 캐시에 로드하여 수정한 내용이 반영됩니다.


수정한 내용이 반영되지 않아 끙끙됬는데 이렇게 간단하게 해결할 수 있습니다.



참고한 사이트 및 블로그

http://kanu.tistory.com/30 

+ Recent posts