주어진 리스트가 정렬이 되어있다는 가정하에서는 

이진 검색(binary search)를 사용하는게 매우 효율적인 방법이란다.


소스를 보니 재귀호출을 사용하여 검색이 진행된다.

(JAVA 프로그래밍 면접 이렇게 준비한다 - 73P)



public class BinarySearch {

public static boolean binarySearch(final List<Integer> numbers, Integer value) {

if(numbers==null || numbers.isEmpty()) // 전달받은 numbers 리스트가 null이거나 비워져있는지 확인

return false;

Integer comparsion = numbers.get(numbers.size() / 2); //  리스트 크기 반띵하여 원소 위치의 값을 추출

if(value.equals(comparsion)) {   

return true;

}

if(value<comparsion) {

return binarySearch(numbers.subList(0, numbers.size() / 2), value);

} else {

return binarySearch(numbers.subList(numbers.size() / 2 + 1, numbers.size()), value);

}

}

public static void main(String[] args) {

List<Integer> list = new ArrayList<>();

list.add(1);

list.add(4);

list.add(5);

list.add(9);

list.add(14); // 정렬하기 귀찮아서 삽입할때 순서대로 삽입시켰다.



System.out.println(binarySearch(list, 9)); // 삽입된 리스트와, 찾고하자는 밸류값을 파라메터로 던진다.

}

}


소스가 어렵지 않아 쉽게 이해할 수 있었다.






안녕하세요.


AWS EC2 인스턴스에 FTP를 이용하여 파일전송을 해보는 포스트를 작성해보겠습니다.






준비물 


1. FileZilla

FileZilla_3.29.0_win64-setup.exe


2. ppk파일




순서 

1. 파일질라 설치


2. FTP 서버 접속 및 파일 전송




1. 파일질라 설치 

- 첨부한 파일질라 클라이언트 설치파일을 받으시고 설치하세요.

- 파일질라 설치 과정은 생략하겠습니다.



설치 후 실행한 모습


2. FTP 서버 접속 및 파일 전송

- ec2 인스턴스 퍼블릭 ip를 알아야합니다. 

- pem키를 변환한 ppk 파일이 필요합니다.



파일 -> 사이트 관리자를 클릭하세요



호스트 : 퍼블릭 아이피

프로토콜 : SFTP

사용자 : ubuntu

키 파일 : ppk 파일


연결 버튼 클릭



(접속 화면)


- 끝 -



  1. kail 2018.01.10 20:29 신고

    혹시 그 서버로 SSL 인증서를 받아서 서버에 적용도 시켜보셧나요?
    전..지금 이틀정도 찾아보는데.. 잘 안되네요;;;







오늘은 AWS로 만든 서버에 

MySQL 서버 구축과 외부 접속을 허용해보도록 하겠습니다.


[ AWS EC2 인스턴스 생성 방법은 http://luji.tistory.com/6를 참조하세요. ]





순서


1. MySQL 설치


2. 방화벽 설정


3. 외부접속 허용 설정


4. 접속 확인





1. MySQL 설치

- 터미널에 접속했다는 전재하에 진행합니다.

- 리눅스 명령어로 진행됩니다.


▶ sudo su

▶ apt-get update



▶ apt-get install mysql-server


[ Y 입력 ]


[ ROOT 계정 비밀번호 입력 ]


[ 비밀번호 재입력 ]

▶ mysql -u root p

▶ (비밀번호)

[ 설치완료 및 접속 화면 ]




2. 방화벽 설정

- 자신의 인스턴스에 적용된 보안그룹을 확인합니다.



[ 보안 그룹 이동 ]



[ 적용된 그룹 선택 후 편집 버튼 클릭 ]



사용자 지정 tcp 선택

3306 포트

위치 무관 선택 후 저장




3. 외부접속 허용 설정

- 터미널에 접속했다는 전재하에 진행합니다.

- 리눅스 명령어로 진행됩니다.


▶ sudo su

▶ cd /etc/mysql/mysql.conf.d

▶ vi mysqld.cnf


bind-address 값을 0.0.0.0 으로 수정


vi 에디터 수정 하는 방법

i 키 누르면 수정

ctrl + c 로 명령행

:wq로 저장후 vi 종료


▶ service mysql restart

▶ mysql -u root -p



grant all privileges on *.* to root@'%' identified by '루트계정 비밀번호'; 




4. 접속 확인

- mysql workbench 이용




- 끝 -










  1. 감사합니다 2018.04.03 19:24 신고

    감사합니다.
    마지막에 MySQL workbench 사용할 때, 호스트 네임에 ipv4 가 들어가는건가요
    프라이빗 ip가 들어가는건가요 ?

    your connection attempt failed for user 'root' from your host to server at 52.25.133.238:3306:
    Host '203.249.39.187' is not allowed to connect to this MySQL server

    1. Check that mysql is running on server 52.25.133.238
    2. Check that mysql is running on port 3306
    3. Check the root has rights to connect to 52.25.133.238 from your address
    4.Make sure you are both providing a password if needed and using the correct password for 52.25.133.238 connecting from the host address you're connecting from
    이런 오류가 나오네요..
    아니면 다른 방법으로 접속을 할 수 있을까요

    • 루우지 2018.04.03 19:50 신고

      접속 아이피는 aws 퍼블릭 아이피로 하셔야 합니다.퍼블릭 dns로 하셔도 됩니다. 정상적으로 서버가 돌아가고 있다면 방화벽포트를 의심해보세요

안녕하세요. 

아마존에서 제공하는 AWS를 이용한 개인 서버를 만들어 보도록 하겠습니다.



국내에는 네이버의 네이버클라우드 플랫폼이 작년에 공식으로 런칭되었죠.

구글도 구글 클라우드 플랫폼이란 서비스를 제공하고 있습니다.



하지만 많은 기업들이 아마존에서 서버를 운영하고 있는지 

구인구직 사이트를 보면 AWS 관련 기술을 요구하는곳이 많더라구요.



그래서! 

저는 AWS를 이용한 리눅스 서버 구축과 접속하는 방법을 포스팅 해보도록 하겠습니다.




순서


1. 회원가입 (생략)


2. ec2 인스턴스 생성 (서버 생성)


3. Putty 설치 및 pkk파일 만들기


4. 서버 접속




1. 회원가입 

- 계정 생성은 어렵지 않으니 이 파트는 생략하겠습니다.




2. ec2 인스턴스 생성 (서버 생성)



2.1 로그인하기

https://console.aws.amazon.com 접속해서 콘솔 로그인하기







2.2 리전 바꾸기 (지역)

- 우측 상단의 지역이름을 클릭하세요

- 아시아 태평양(서울)을 클릭하세요



2.3 EC2 서비스 생성하기

- 로그인하면 AWS 서비스 화면이 뜹니다.

- 컴퓨팅 메뉴의 EC2를 클릭해주세요


(1)

[ EC2 클릭 ]




(2)

[ 인스턴스 시작 클릭 ]







(3)

[ 저는 우분투 서버를 선택했습니다. 원하시는 OS가 있다면 해당 OS로 선택해주세요 ]






(4)

[ 기본 사양 선택 ]






(5)

[ 시작 클릭 ]






(6)

 ※ 중요한 키페어 생성 단계입니다.


서버 접속시 필요한 고유한 키입니다.

보관에 유의하세요.






(7)

[ 인스턴스 보기 클릭 ]






(8)

생성된 인스턴스(서버)를 확인하실 수 있습니다.

퍼블릭 IP와 퍼블릭DNS가 할당되었네요!






3. Putty 설치 및 pkk파일 만들기


3.2 PuTTY 설치

- 설치파일입니다. 다운로드 받으세요


putty.exe

puttygen.exe




3.2 PuTTYgen으로 pem파일 ppk파일 변환

- 푸티로 접속하기위해선 서버생성시 받은 키페어(펨키)를 푸티용으로 변환시켜야합니다.



(1)

[ Conversions -> import key 클릭 ]



(2)

[ 다운로드 받은 pem파일 선택 ]





(3)

[ Save private Key 클릭 ]





(4)

[ 예 클릭 ]





(5)

[ 저장할 위치 선택 ]





(6)

[ 만들어진 pkk파일 ]





4. 서버 접속

- 푸티를 이용한 서버 접속을 진행하겠습니다.

- 진행하기 앞서 앞에 만들었던 인스턴스의 퍼블릭 IP를 알으셔야합니다.

- AWS EC2 대시보드에 생성된 인스턴스의 퍼블릭 IP가 표기됩니다. 



(1)

[ Host Name 에 ubuntu@Public IP 를 입력해주세요 ]





(2)

[ Connection -> SSH -> Auth 이동 후

Private Key file for authentication 의 browse 버튼을 클릭 ]




(3)

[ 생성한 ppk파일 선택 ]




(4)

[ Open 클릭 ]






(5)

[ 예 클릭 ]





리눅스 터미널에 접속된 화면입니다.

이로써 AWS Ubuntu 서버 구축이 끝났습니다. 

^^

+ Recent posts

티스토리 툴바