분류 전체보기

    이펙티브 자바 규칙 2 - Builder 패턴

    클래스를 만들 때 가장 기본이 되는 건 생성자는 만드는 일일 것이다. 생성자로 객체를 만들어 전달하는 건 컴퓨터 자료관리의 기본이다. 여기 영양소를 관리하는 클래스를 만든다고 가정해보자 public class NutritionFacts { private int calories; private int fat; private int sodium; private int carbohydrate; . . . }이런 식으로 만들게 될 것이다. 가장 기본적인 방법은 그냥 생성자를 만드는 일이다. public NutritionFacts(int calories, int fat, int sodium, int carbohydrate) { this.calories = calories; this.fat = fat; this.s..

    리눅스 - 라운드 로빈 서버

    리눅스 - 라운드 로빈 서버

    웹서버에 대량의 접속이 생기면 과부화가 생긴다. 이 과부화를 막아주기 위해 서버는 같은 웹사이트로 연결해주는 IP를 다수 가지고 있다가 접근이 있으면 그 해당 사이트로 연결해주는 방식이 라운드 로빈 방식이다. 리눅스에서 nslookup 하고 네이버나 다음을 때려보자 주소가 두개 돌아온다. 어느 주소든 접근하면 네이버나 다음으로 접근이 가능하다. 이처럼 한 접근에 대해 연결해주는 주소를 두개 이상 가지게 되면 부화가 분할되는 장점이 있다. 브라우저에서 네이버나 다음을 치게되면 저 두 IP가 무작위로 접근이 될 것이다. 테스트를 한번 해보자 이전 포스트에서 만든 vi /var/named/centos.com.db 를 수정해보자 위에서부터 yes24, 다나와, 네이트의 IP 이다. 이렇게 하면 이 네임서버를 사..

    리눅스 - 마스터 네임 서버 만들기

    리눅스 - 마스터 네임 서버 만들기

    이전 포스트에서 캐싱네임서버를 만들어보았다. 캐싱네임서버는 루트네임서버를 통해 IP주소를 전달받는 형식이었지만 이번에 만들 마스터네임서버는 직접 설정한 IP주소를 db를 조회해서 그에 기록된 IP 주소를 직접 반환하게끔 만들어 보도록 하겠다. 먼저 httpd를 깔고 구동시켜주자 그리고 firewall-config 에 들어간다. http를 체크하고 재불러오기 그리고 vi /var/www/html/index.html 로 원하는 텍스트를 편집하자. 나중에 우리가 띄어줄 메시지이다. ftp 서버까지 동시에 실습할 것이다. 때문에 다른 서버컴퓨터를 준비한 뒤(내 경우에는 다른 가상 서버 머신) yum -y install vsftpd 명령어로 ftp 서버를 깔아주자. firwall-cmd --permanenet -..

    리눅스 - 도메인 체계, 캐싱전용네임서버 만들기

    리눅스 - 도메인 체계, 캐싱전용네임서버 만들기

    도메인의 개념이다 이전 포스트에서 만든 그림에 더 붙여서 만들어봤다. 네임서버에서 해당하는 문자열에 상응하는 IP가 있을 경우 그 값을 돌려준다 이전포스트에서설명했다. 만약 돌려줄 값이 없다면? 접근실패로 끝나는가? 아니다. 네임서버에서 없을 경우 네임서버는 루트 네임서버에 요청한다. www.naver.com 일 경우 루트네임서버에 요청하고 루트 네임서버는 com 을 기반으로 다른 네임서버에 정보를 전달한다. com네임서버는 naver를 기반으로 정보를 넘겨줄 다음 네임서버를 찾을 것이다. 이렇게 반복해서 주소값을 특정하는 것이 가능해졌을 때 ip주소를 넘겨주고 웹페이지에 접근이 가능하게 되는 구조다. 그렇다면 리눅스에서 캐싱 전용 네임서버를 구축해보겠다. 어떠한 설정도 하지 않을 것이므로 이 서버는 루..

    이펙티브 자바 규칙 1 - 정적 팩토리 메소드

    이펙티브 자바 규칙 1 - 정적 팩토리 메소드

    자바에서 객체를 만들 때 가장 많이 사용하는 방법은 생성자를 부르는 것이다. 생성자 이외에도 인스턴스 정보를 보내주는 다른 방법이 있다. 책을 읽으면서 나름의 예제코드를 만들어보았다. 만든 예제코드로 한번 알아보자 먼저 예제로 이용할 클래스들이다. package homework; public class Tv { String screen;String audio;int button; public static Tv newInstance(String type){if (type.equals("SmartTv")) {return new SmartTv();} else if (type.equals( "NormalTv" )) {return new NormalTv();}return null;} public void test..

    리눅스 - 네임 서버 개념, ip 주소 획득 경로

    리눅스 - 네임 서버 개념, ip 주소 획득 경로

    우리가 인터넷을 사용할 때 흔히 www.naver.comwww.daum.com 이런 형식으로 접속한다. 본래 각 웹 홈페이지에 접속할 때는각 고유의 IP주소를 사용한다. 이런 IP주소를 문자열로 사용할 수 있게끔도와주는 역할을 하는 것이 네임서버, DNS 이다. 리눅스에서 연습을 해보자 터미널에서 nslookup을 해보자 nslookup 에서 www.naver.comwww.daum.com 등을 하면 아이피 주소가 나타나게 된다. 이 ip주소를 직접 입력하게 되면웹 홈페이지가 나오게 된다. 예를 들어 네이버는 125.209.222.141 이다. 네이버가 나온다. 이 주소는 일반적으로 네임 서버를 이용해서 ip주소를 받게 된다. www.naver.com 이라고 입력하는 순간 네임서버로 www.naver.co..

    리눅스 - SSH, VNC CentOS, 윈도우

    리눅스 - SSH, VNC CentOS, 윈도우

    저번 포스팅에서는 텔넷을 연습했다. 이번엔 ssh를 연습할 것이다. 텔넷보다 보안성이 더 뛰어난 것으로 알려져 있다. rpm -qa | grep openssh 먼저 ssh가 깔려있는지 확인한다.깔려있는 것을 확인할 수 있다. systemctl status sshd현재 작동중인지 확인한다. 3,4를 보면 작동 중임을 확인할 수 있다. centos에서 ssh는 기본으로 작동하는 듯하다. firewall-config로 ssh가 예외처리 되어있는지도 확인해보자 예외처리되어있다. 다음은 다른 centos에서의 접근법을 알아보자 마찬가지로 1로 설치가 되어있는지 확인하고 2로 접속을 시도하자 ssh 아이디@아이피 방식이다. 비밀번호를 입력하면 접속이 가능하다. 다음으로 윈도우에서 테스트를 해보자 윈도우에는 ssh가..

    리눅스 - 텔넷(telnet) 서버, 클라이언트 설치 및 실습

    리눅스 - 텔넷(telnet) 서버, 클라이언트 설치 및 실습

    텔넷은 원격 조종을 가능케 하는 툴이다. 만약 서버 A 컴퓨터와 B 클라이언트가 있다고 하자 A와 B는 물리적으로 거리가 멀다. 이 때 B가 A의 서버컴퓨터에서 작업을 하고 싶을 때 사용하는 툴이다. A가 먼저 텔넷 서버를 깔아두고원격 조작을 가능하게끔 ID와 PW를 만들어둔다 B는 텔넷 클라이언트를 통해 A의 IP로 텔넷 서버에 직접 접속 한 후로그인을 하고 A 서버에서 작업을 하는 로직이다. WMware에서 한번 실습해보자 먼저 서버컴퓨터에서 텔넷 서버를 깔자 rpm -qa | grep telnet 으로 텔넷이 깔려있는지 확인하고 아무것도 나오는게 없다면 yum -y install telnet-server 로 서버설치 1은 텔넷 서버를 실행하는 것이다.(꺼져있다면 실행하고, 켜져있다면 재시작한다) 2..

    리눅스 - 쿼터(사용자별 공간 할당)

    리눅스 - 쿼터(사용자별 공간 할당)

    같은 하드에 다른 사용자들이 여렷 있어 동시에 같은 하드를 사용하면 디스크 경합이 일어날 수 있다 이런 점을 예방하기 위해 하드 공간에 사용자를 할당해 별도의 하드를 사용하게끔 만드는 방법이 있다 그 방법이 리눅스 centos에서 쿼터라고 한다. VMWare에서 실습을 해보도록 하겠다. 먼저 하드를 만들어주자 이전 포스트들에서 여러번 한 하드 설정 및 포맷 작업이다. 쭉 진행해주자. 하드 작업이 끝나면 디렉토리를 만든 후 마운트 하고 fstab에서 설정을 해주자. 재부팅시 초기화 방지 설정 실습에 사용할 유저를 만들자 두개 만들고 비밀번호도 설정해준다 하드를 쿼터로 만들어보자 아까 들어갔던 vi/etc/fstab에 다시 들어가서 defaults,usrjquota=aquota.user,jqfmt=vfsv0..

    리눅스 - RAID 시스템에 CentOS 설치

    리눅스 - RAID 시스템에 CentOS 설치

    여지껏 추가된 하드를 RAID로 묶는 작업은 이전 페이지에서 많이 했지만 첫 설치때부터 RAID를 사용한적은 한번도 없었다 리눅스 시스템을 처음 시작할 때부터 RAID로 하는 실습을 이 페이지에서 하도록 하겠다. VirtualVM에서 가상머신을 추가한다. 리눅스CentOSnext 차례대로 클릭 중간에 나오는 용량은 80G로 했다 공간이 부족하다면 20~30G선에서 해도 될것이다. 1. 먼저 하드를 만들자. RAID1로 만들 것이기 때문에똑같은 크기의 하드가 필요하다. 2. CD롬에 CentOS iso를 추가해준다. 3. OK 클릭 그리고 부팅을 하면 CentOS 설치가 나올 것이다 소프트웨어는 그놈으로 설정하고인터넷을 연결해주고 시스템 - 설치대상으로 들어간다. 하드를 두개 다 클릭하고 파티션을 설정한다..