728x90
반응형

java 7

JPA - (1) 프로젝트 생성

JPA JPA란 Java Persistence API의 약자로, Java 객체와 관계형 DB를 맵핑해주는 ORM 프레임워크입니다. 개발환경 앞으로의 포스팅을 통해 JPA를 사용해볼 것인데, 이에 사용할 환경은 다음과 같습니다. IDE: IntelliJ Community 빌드툴: Gradle 언어: Java Database: H2 프레임워크: Spring Boot Spring Boot를 왜 사용하는지 의아해 하실 수 있지만, H2를 별도로 설치하지 않아도 되어서 사용하는 것입니다. 프로젝트 설정 Spring Initializr 먼저 아래 링크를 통해 스프링 부트 어플리케이션을 생성해 다운받겠습니다. https://start.spring.io/ 프로젝트는 아래와 같이 설정해 주었습니다. Gradle Proj..

서버 개발/JPA 2019.08.05

Java Thread - (3) 동기화

동기화 Thread는 독자적입니다. 이 말은 즉 보통은 다른 Thread를 신경쓰지 않고 자신의 작업을 수행한다는 의미입니다. 멀티프로세서 기반의 시스템에서는 보통 여러개의 CPU에서 각각 많은 양의 Thread들이 동시다발적으로 작업을 수행합니다. 이번 포스팅에서는 이 많은 양의 Thread들이 어떻게 협업하고, 동기화 되는지, 그리고 공유 자원을 접근할 때에는 어떤 방식으로 할 수 있는지에 대해 알아보겠습니다. Lock Thread들을 동기화 할때는 락이라는 개념을 사용합니다. 이 Lock은 보통 자원을 하나의 Thread만 접근 가능하게 잠궈놓는다는 의미로 쓰입니다. 하나의 Thread가 자원을 접근하고 있을 때, 다른 Thread가 같은 자원에 접근한다면, 이 자원은 의도하지 않은대로 변경이 될 ..

Java Thread - (2) 제어

Thread 제어 Thread 일종의 생명주기 (LifeCycle)을 가집니다. 보통은 start()메소드를 호출해 쓰레드가 작업을 시작하게 합니다. 이번 포스팅에서는 몇가지 Thread를 제어하는 메소드들을 알아보고자 합니다. Thread.sleep() - static메소드로 현재 이 메소드를 호출하는 Thread가 일정 시간동안 멈춰있게 합니다. wait() / join() - 2개 혹은 그 이상의 Thread들을 기다리거나 협업할 수 있게 합니다. interrupt() - sleep중이거나 wait중인 Thread들을 재가동 시킵니다. 위의 메소드들에 대한 예제를 구현해보겠습니다. sleep sleep중인 Thread는 아무것도 하지 않고 기다리는 상태 (IDLE상태)입니다. 이 작업은 일정 시간동..

Java Thread - (1) 기본 개념

Thread란 개념적으로 Thread는 프로그램 내의 Control Flow의 일종입니다. 이는 Process와 비슷한 개념인데, 차이점은 한 어플리케이션의 Thread끼리는 OS Process끼리의 관계보다 더 가까운 개념입니다. Thread는 기본적으로 프로그램의 모든 객체, 인스턴스, static변수들에 접근이 가능합니다. 하지만 Thread들은 각각 다른 local변수들을 가지고 있게 됩니다. Runnable 인터페이스 자바의 모든 실행기능은 Thread와 연관되어있습니다. 기본적으로는 main Thread가 작업들을 수행합니다. 이 Thread는 생성될 때 매개변수를 통해 수행할 작업을 전달받습니다. 이 작업이 바로 Runnable 입니다. 아래는 Runnable 인터페이스의 정의입니다. pub..

하둡 1.0 튜토리얼 - (7) HDFS 파일 입출력

환경설정 이번에는 Java 프로그램을 통한 파일 입출력을 해보겠습니다. 먼저 Java언어로 개발을 하기위한 환경설정을 해야합니다. 제가 사용할 환경은 다음과 같습니다: IntelliJ IDEA Community: https://www.jetbrains.com/idea/download/#section=windows Gradle (IntelliJ에서 자동으로 관리) 주의해야할 사항은 Community버전이 아니면 유료라는 것입니다. Gradle의 문법에 대해서는 따로 설명하지 않고 진행하도록 하겠습니다. 프로젝트 생성 IntelliJ IDEA에서 프로젝트를 생성해보겠습니다. IntelliJ를 처음 실행하면 위와같은 화면이 나옵니다. 여기서 Create를 눌러주겠습니다. 위와같은 화면이 나오면 왼쪽 메뉴에서는..

빅데이터/하둡 2019.07.14

하둡 1.0 튜토리얼 - (3) 하둡 설치

하둡 1.0 다운로드 이제 하둡 1.0을 설치해보도록 하겠습니다. 하둡 1버전은 이제 조금 오래된 버전이라 apache웹사이트에서는 archive를 한 상태입니다. 아래의 주소로 가시면 하둡 1.2.1버전을 다운받으실 수 있습니다. https://archive.apache.org/dist/hadoop/core/hadoop-1.2.1/ 위에 보이는 리스트 중 hadoop-1.2.1.tar.gz를 다운받으시기 바랍니다. 웹사이트로 접속하지 않으셔도 아래 명령을 터미널에 입력하시면 다운을 받을 수 있습니다. > wget https://archive.apache.org/dist/hadoop/core/hadoop-1.2.1/hadoop-1.2.1.tar.gz 다운로드가 완료되면 다시한번 scp를 사용해 VM으로 ..

빅데이터/하둡 2019.07.12

하둡 1.0 튜토리얼 - (2) 자바 설치

네트워크 설정 지난 포스팅에서 CentOS를 VM에 설치해 보았습니다. 루트계정으로 로그인 하시면 위와 같은 리눅스 Shell이 나옵니다. 먼저 VM의 네트워크를 설정해주겠습니다. VM상단의 메뉴에서 Devices > Network > Network Settings... 메뉴로 들어가겠습니다. Attached to 메뉴를 NAT에서 Bridged Adapter로 바꾸고, Name에는 본인이 사용하는 네트워크 어댑터를 선택해줍니다. OK를 누르시고 VM에서 아래의 커맨드를 순서대로 입력해보겠습니다. > dhclient > ifconfig ifconfig를 입력하면 나오는 inet옆의 ip주소를 잘 적어두시기 바랍니다. 편의를 위해 이 포스팅에서는 해당 주소를 192.168.1.1로 지정하고 진행하겠습니다...

빅데이터/하둡 2019.07.11
728x90
반응형