Posted by linuxism
,

Scanner를 이용한 문자열 입출력 예제

오늘은 예고한데로 Scanner 클래스를 이용한 문자 입출력 예제인데 설명에 앞서 위의 코드를 에디터에 치고 실행부터 해보기 바란다. 잘 작동하면 오히려 이런 반문이 생길 것이다. 진작 이걸로 알려주지 헤깔리게 다른거 보여줬냐고 말이다. 배우는게 힘이다. 모르면 몸이 고달프다. ^^ 이렇게 같은 값을 얻더라도 그 과정은 다를수 있다는걸 알려주기 위한 예제이니 어떤 프로그램이든 기왕이면 좀더 효율적으로 값을 얻어내는 방법이 있는지 항상 탐구하는 자세를 갖기 바라면서 이제 본격적으로 코드 설명을 시작해 보겠다.

일단 맨 첫줄에서는 Scanner 클래스를 쓰기 위하여 import 해왔다. 이 클래스는 java.util 패키지에 들어있는데 util 이라는 말에서 짐작할수 있듯 편리한 기능들이 많이 있으니 심심할때 한번씩 들여다보기 바란다. 어디에서? jdk api 문서에서... 이미 저번에 설명한바 있으니 어떻게 찾는지는 생략하겠다.

클래스 Test4에 메인메소드가 들어있는데 안에 무슨 내용이 있는지 살펴보자. 처음에 보이는 구문은 Scanner 인스턴스를 만들면서 입력값(System.in)을 받을 준비를 하라는 뜻이다. 그리고 마지막에 sc.next() 메소드는 그 인스턴스를 이용해 받은 문자를 처리하는 것이고 말이다. 더 설명할게 없네. 끝이다. 허걱~ 너무 간단한가? 아쉬움을 달래기 위해 조금 더 설명하자면,

String s=sc.next();
System.out.println(s);

System.out.println(sc.next()); 이 라인은 위의 두 라인과 일맥상통한다. 어느쪽이든 좋은 쪽으로 쓰기 바란다. 그런데 위의 자바소스는 띄워쓰기를 허용하지 않으므로 한 단어 밖에는 입출력할수 없다. 그럼 라인 전체를 입력받아서 출력할수는 없을까? 하는 의문이 생길지도 모르겠다. (생겼길 바란다. ^^)

딱 하나만 바꿔주면 된다. 바로 next() 를 nextLine() 으로 바꾸어주면 띄워쓰기 몇번을 해서 입력하든 상관이 없다. 즉, 문자열을 출력하길 원하면 nextLine() 메소드를 이용하면 되는 것이다. 지금 이 예제는 문자열이므로 숫자나 문자나 상관이 없지만 숫자만 받아들이게 만들수도 있다. 그럴 경우 next() 대신에 nextInt() 메소드로 교체해주면 숫자만 입출력할수 있게 만들어준다. Int 는 당근(?)이지만 integer를 뜻한다. 라이브러리에 이처럼 다양한 메소드들이 있으니 이해가 되든 안되든 눈에 익도록 자주 들여다보기 바란다. 언젠가 써먹을 날이 있을 것이다.^^

마지막으로 저번 입출력 예제와 이번 입출력 예제에서 크게 다른 점이 하나 남아있다. 혹시 발견한 똑똑한 이(?)가 있다면 손들어봐라. 과연 있을까? ㅎㅎ 숨은그림찾기에 가까운데 아직 발견 못했으면 다시 한번 찾아보고 정답을 들여다보기 바란다. 둥둥~두두둥~~ 그것은 바로 입출력 예외처리(IOException)를 할 필요가 없다는 것이다. 허걱~ 이럴수가! ㅎㅎ Scanner가 마술사라서 그렇다.^^


출처 - 
http://alecture.blogspot.com/2011/04/scanner.html 

Posted by linuxism
,

Live CD

System/Linux 2012. 3. 7. 23:23

Live CD (라이브 씨디)는 콤팩트 디스크 에서 하드 디스크 드라이브 에 설치 하지 않고 운영 체제 를 부팅하기위한 것이다.

일반적으로 운영 체제를 사용할 수있는 환경을 구축하기 위해 주로 컴팩트 디스 크나 DVD 등의 광디스크 에서 운영 체제 설치 를 시작하고 거기서 운영 체제를 시작하는 데 필요한 데이터를 하드 드라이브 에 전송시키는 공정이 필요하지만, LiveCD는 광디스크를 삽입하는 것만으로 그대로 이용할 수있는 환경이 구축된 상태에서 운영 체제를 시작합니다.

하드 디스크에 설치된 운영 체제는 하드 드라이브에 파일이 저장되지만, LiveCD에서 해당 파일을 RAM 과 같은 임시 저장 메모리를 인식하기 위해 ( RAM 디스크 ) 하드 드라이브를 전혀 필요로하지 않는다. 이 방법은 약간의 성능 향상을 대신 응용 프로그램 소프트웨어에 사용할 수있는 메모리 양이 감소한다.따라서 LiveCD는 256MB에서 512MB 이상의 메모리가 탑재된 환경에서 이용하는 것이 바람직하다고한다.

LiveCD는 콤팩트 디스크뿐만 아니라 DVD (Live DVD), 플로피 디스크 (Live floppy), USB 메모리 (Live USB) 같은 보조 기억 장치 (특히 이동식 미디어 )에서도 마찬가지로 취급할 수있다.

목차

  [ 숨기기 ] 

주요 LiveCD 편집 ]

Apple Macintosh OS 기반의 LiveCD 편집 ]

  • 플로피 디스 크나 CD에있는 Mac OS 시스템 폴더
  • BootCD from Charlessoft for Mac OS X
  • Clone X from Tri-Edre for Mac OS X - Commercial Product

BSD 기반 LiveCD 편집 ]

Linux 기반의 LiveCD 편집 ]

Linux 기반의 LiveCD를 1CD Linux 등과 표기되는 경우가있다.

  • Debian Live - 데비안 엣지 / Lenny / Sid 기반 LiveCD. Debian Live Project의 릴리스.
  • KNOPPIX - Debian 기반 원래 LiveCD.
  • Damn Small Linux - 명함 크기의 CD 또는 USB pendrive위한 경량 Knoppix.
  • Tiny Core Linux - GUI를 갖추고 있으면서 용량 10MB 전후의 가벼운 Linux 배포판.
  • dyne : bolic - 멀티미디어 제작 · 배급 전용.
  • Mandriva One - Mandriva 에 따르면 LiveCD. GNOME 버전과 KDE 버전이있다.
  • MEPIS - Debian (APT compatible) 도입을위한.
  • Morphix - GNOME 이나 Window 관리자 fluxbox 를 사용합니다. Debian 기반.
  • Puppy Linux - 50-90MB 정도의 경량 LiveCD. CD 및 DVD 자체에 데이터 쓰기 저장 가능.
  • PCLinuxOS - Mandrake 에 따르면 LiveCD 프로젝트.
  • sidux - 데비안 SID 기반의 sidux 프로젝트의 LiveCD. 일본어 버전
  • SLAX - Slackware 파생 소프트. 모듈과 아주 간단한 리마 스터링을 가진다.
  • Sabayon Linux - Gentoo Linux의 배포판. Gentoo의 특징인 커스 터 마이즈는 소리를 감추고 있지만, 다양한 응용 프로그램이 포함되어있다.
  • Ubuntu - 아주 인기있는 Debian 배포판. PC 잡지 에 잡지사 특제 Live CD / DVD로 제공되는 경우가있다.
  • Fedora - Fedora 7에서 동시 발매. Fedora Project의 FedoraLiveCD 프로젝트의 릴리스.
  • Berry Linux - 일본에서 제작되는 Live CD. Fedora 기반.
  • BackTrack - 침투 테스트에 특화된 LiveDVD. Debian 기반.
  • WindOS - 데비안 Squeeze 기반으로 만들어진 경량 OS

마이크로 소프트 Windows 기반 LiveCD 편집 ]

OpenSolaris 기반 LiveCD 편집 ]

다른 OS를 기반으로 한 LiveCD 편집 ]

구출 · 수리용 LiveCD 편집 ]

  • SystemRescueCd - Windows와 Linux 수리 도구를 정리한 Linux 기반 LiveCD. 2.6 kernel 기반.
  • 911 Rescue CD - Windows 수리용 도구를 정리한 DOS 기반 CD. (※ 기술적으로 LiveCD는 아니지만 복구 도구에 대한 설명입니다.)
  • UBCD - ultimate boot cd
  • treehel 's FreeSTAR - UBCD 기반. Windows 용 오픈 소프트웨어를 정리한 부팅 CD. 러시아어와 영어의 Windows 인터페이스를위한.
  • ikakeya linux - vinelinux 기반 구조에 대한 livecd 현재 β 버전



'System > Linux' 카테고리의 다른 글

Centos6에서 resolv.conf 이슈  (0) 2012.03.09
SELinux  (0) 2012.03.09
리눅스 명령어  (2) 2012.03.02
linux - LVM(Linux Volume Manager) 예제  (0) 2011.11.02
A typical north/southbridge layout  (0) 2011.11.02
Posted by linuxism
,