fedora 20 에서 virtualbox 설치가 안될 때

공대생의 팁 2014. 10. 5. 09:53

 한국에서 순수 리눅스를 사용하고 싶으신 분들은 꽤 많으시라 생각됩니다만 아직까지도 Active X 환경의 국내 인터넷의 현 상황을 지켜볼 땐 절대적으로 리눅스에 의지하는 것은 아직까지도 힘든 일이라 생각합니다.

 그러기 위해 리눅스 상에서 virtualbox를 설치하여 windows를 사용하시는 분들이 많으실 거라 생각합니다. 페도라를 사용하는 저 또한 virtualbox를 설치한 후 실행을 하려 했더니 다음과 같은 상콤한 오류가 뜨면서 작동이 되지 않는군요,







경고 표시의 내용을 읽어보자 하니 /etc/init.d/vboxdrv setup를 실행하라는 듯한 의미인 듯 합니다.

무언가 상황이 복잡해 보이는 상황이 펼쳐지는군요,


우선 해당 패키지를 설치한 후 진행하도록 합니다.


$ sudo yum install DKMS


 DKMS 패키지를 실행한 후 커널을 재설치 해보도록 합니다.


$ sudo /etc/init.d/vboxdrv setup


 여기까지 진행한 후 정상적으로 완료가 되시는 분이라면 재부팅후 virtualbox를 실행해 주시면 되겠습니다.


 그러나 이 단계에서 완료가 되지 않으신 분들의 경우 다음과 같은 화면을 맟닥트리게 될 것입니다.




 이러한 화면이 나오더라도 당황하지 마시고 다음과 같은 명령어를 입력해 봅니다.


$ sudo yum -y install kernel*


 위의 명령어를 입력하신 후 재부팅 하시면 드디어 다음과 같이 버추얼박스가 실행되는 것을 확인하실 수 있습니다.



300x250

[JAVA]윈도 CMD를 통해 자바 Command Line 명령어 활용하기

프로그래밍 팁 2014. 10. 4. 01:54

 자바로 프로그래밍을 하시는 분들이라면 많은 분들께서 eclipse를 통해 프로그램을 컴파일 하고 실행하실 겁니다. 아시는 분들이라면 아시겠지만 사실 eclipse는 자바를 좀 더 편하게 작업할 수 있게 해주는 IDE(통합 개발 환경)입니다. 자바를 처음 접하는 분들에게 마치 eclipse 자체가 자바인 것처럼 이해하셨던 분들도 많으셨으리라 생각합니다.

 그렇다면 아마 어떤 분들은 '그렇다면 eclipse를 사용하지 않고도 자바 프로그래밍이 가능하다는 건가?'라는 생각을 하시는 분도 계실겁니다. 정답은 '그렇다'입니다! 그것도 Windows 의 CMD(명령 프롬프트)만으로도 컴파일 및 실행이 된다는 것이지요!

 이번 포스팅에서는 윈도의 CMD를 활용하여 자바 프로그램을 간단하게 만들어보도록 하겠습니다.


※본 포스팅을 읽기 전에 자신의 컴퓨터에 자바 JDK가 설치되어있는지 확인합니다. 만약 설치가 되어있지 않다면 최신 버전의 JAVA JDK를 설치하도록 합니다.


http://www.oracle.com/technetwork/java/javase/downloads/index.html



 위의 사진과 같이 JAVA SE 다운로드 페이지가 나오면 왼쪽의 Java Platform (JDK) 를 선택 후 자신의 운영체제에 맞는 버전을 설치하면 된다.


1. 자신의 컴퓨터에 JDK가 설치되었다면 환경변수를 변경하에 JAVA 컴파일을 할 수 있도록 설정해줍니다. 먼저 자신의 컴퓨터에 JDK가 설치된 폴더로 이동한 후 bin 폴더 내의 javac가 있는 것을 확인합니다.



 JDK가 정상적으로 설치되었다면 다음과 같이 javac 파일을 확인하실 수 있습니다. JDK에서 기본설정된 폴더대로 설치하셨다면 C:\Program Files\Java\자신의 컴퓨터에 깔린 JDK의 버전(jdkX.X.X_XX)\bin


2.창의 윗부분을 오른쪽 클릭을 한 후 '주소 복사'를 클릭힙니다.



3. 컴퓨터에서 마우스 우측 클릭후 '속성'을 클릭합니다.



4. '고급 시스템 설정'을 클릭합니다.



5. 시스템 속성에서 '고급' 탭을 선택한 후 '환경 변수'를 클릭합니다.



6. 환경변수 창에서 시스템변수(S) 내에 Path를 더블클릭합니다.



7. 변수 값의 뒷부분에 다음 값을 추가합니다.

위의 과정에서 복사한 주소를 Ctrl+v로 붙여넣기 후 '\bin;'를 붙여줍니다.



※주의!!

 절대로 변수 값의 내용을 지우시면 안됩니다! 만약 실수로 변수 값을 덮어쓰셨다면 바로 취소 버튼을 누릅니다. 만약 기존의 환경변수를 덮어쓰기로 모두 삭제할 경우 연결된 프로그램들이 동작을 하지 못하게 되는 참사가 발생합니다!

 만약 실수로 덮어쓰기 후 확인 버튼을 눌러 변수가 지워지신 분들은 절대로 당황하지 마시고 제가 이전에 포스팅한 내용을 따라가며 원래 환경 변수값을 복구하시길 바랍니다.


[윈도7] 환경변수 path 삭제시 복구하는 방법 ← 클릭하시면 새창으로 이동합니다.


========================================================================================================

 여기까지 진행하셨다면 Windows의 CMD를 통한 자바 프로그래밍의 설정을 완료하였습니다. 이제부터 본격적으로 CMD를 통해 자바 프로그래밍을 진행해 보도록 하겠습니다.


8. 메모장을 열고 코드를 간단하게 작성합니다.



9. 작성한 코드를 .java 확장명으로 저장합니다.

여기서 주의할 점은 파일명은 반드시 public로 설정된 class의 명칭으로 하여야 합니다!



10. dir 명령어를 입력하여 java 파일이 생성된 것을 확인합니다.



11. 명령어를 입력하여 java 파일을 컴파일 합니다. 컴파일 명령어는 다음과 같이 입력합니다.


> javac 파일명.java



컴파일이 완료되면 위의 그림에서 보는 바와 같이 class 파일이 생성된 것을 확인할 수 있습니다.


12. 생성된 class 파일을 실행합니다. 실행 명령어는 다음과 같이 입력합니다.


> java 클래스명



class 파일을 실행하면 프로그램일 정상적으로 실행되고 있는 것을 확인할 수 있다.

다음은 커맨드 라인으로 입력된 값을 그대로 출력하는 프로그램을 작성해 보겠습니다.


13. Command Line을 통해 입력된 값들을 처리하는 부분을 추가합니다.

Command Line에 추가로 입력된 값들은 main 함수의 인자인 String 배열 변수인 args를 통해 프로그램에 적용됩니다.


14. 위에서 진행했던 과정대로 컴파일한 후 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.



위에서 입력된 값은 다음과 같은 구성을 하고 있습니다.


>java 클래스명 args[0] args[1] args[2] .....


이와 같이 입력된 String 값들이 main의 args 인자로 출력할 수 있게 됨을 확인하실 수 있습니다.

300x250

MediaPlayer, VideoView 재생이 끝났을 때 이벤트 처리하기 (setOnCompletionListener)

public void setOnCompletionListener (MediaPlayer.OnCompletionListener listener)


 안드로이드를 통해 동영상이나 mp3 파일 등을 재생한 후 해당 미디어를 모두 재생이 되었을 때 설정하는 이벤트입니다. 사운드를 재생하는 MediaPlayer라던가 동영상을 재생하는 VideoView에서 사용할 수 있습니다.


 함수의 인자로 OnCompletionListener()가 사용됩니다. 이 함수는 인터페이스로 new 로 함수를 새로 선언함으로서 적용할 수 있습니다.


 아래는 MediaPlayer에 setOnCompletionListener 함수를 적용한 예제입니다. 음악이 모두 재생된 후 이벤트가 정상적으로 발생되는 것을 확인하실 수 있습니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
MediaPlayer mp;
mp = MediaPlayer.create(this, R.raw.melody);
mp.start();
mp.setOnCompletionListener(new OnCompletionListener(){
 
        @Override
        public void onCompletion(MediaPlayer mp) {
            // TODO Auto-generated method stub
            l1.setBackgroundColor(Color.TRANSPARENT);
            l2.setBackgroundColor(Color.TRANSPARENT);
            l3.setBackgroundColor(Color.TRANSPARENT);
            pb1.setVisibility(View.INVISIBLE);
            pb2.setVisibility(View.INVISIBLE);
            pb3.setVisibility(View.INVISIBLE);
            tv4.setText("");
            tag = 0;
        }
        
    });


300x250