리눅스를 활용하게 되면 오픈소스와 레파시토리로 인하여 프로그래밍과 정말 가까워 진다.

그렇기에 자바 및 파이썬 그리고 c 언어 까지 컴파일 및 실행이 무척이나 빠르다.

또 그러므로 BASH 스크립트를 이용하여 이에 대한 과정을 2차 프로그래밍 하여 소스 패키지로써 재배포가 가능한 것이다.

하지만 물론 기초적으로 처음 설치한 리눅스에 java 클라이언트가 설치되어 있을지는 미지수 이다.

그렇기 때문에 먼저 java가 설치 되어 있는지 확인이 필요하다.

    ## 터미널을 열고서 java를 실행해 본다.

    $ java

다음과 같은 설명문이 나오면 java가 설치 되어 있음을 확인한 것이다.



하지만 이와 같은 화면은 oracle-java 가 아닌 openjdk 이다.

본 필자도 마찬가지고 인터넷 에서의 기초 전문가들도 대부분 openjdk 보다는 oracle-java를 설치 하기를 권고 하고 있다.

그렇다면 설치되어 있는 java 클라이언트가 openjdk 인지 아니면 oracle-java 인지 확인이 필요할 것이다.

    ## java 클라이언트의 특성과 버전을 확인한다.

    $ java -version

    ## 만일 다음과 같은 화면이 나온다면 openjdk가 설치되어 있는 것이다.

    openjdk version "9-internal"
    OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)
    OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)

    ## 만일 다음과 같은 화면이 나온다면 oracle-java 가 설치되어 있는 것이다.

    java version "9-ea"
    Java(TM) SE Runtime Environment (build 9-ea+126)
    Java HotSpot(TM) 64-Bit Server VM (build 9-ea+126, mixed mode)
 

만약 openjdk가 설치되어 있다면 oracle-java로 클라이언트를 바꾸어 보자.
이는 다른 운영체제 처럼 굳이 Oracle 홈페이지를 방문할 필요 없이 '레파시토리'를 등록하여 자유롭게 다운받아 사용할 수 있을 것이다.

openjdk를 삭제하고 레파시토리를 등록한 다음 설치 아카이브정보를 업데이트 하고 oracle-java9을 설치 하도록 하자.


 

 user@user~$

sudo apt-get purge openjdk*   
sudo apt-add-repository ppa:webupd8team/java   
sudo apt update   
sudo apt install oracle-java9-installer   
java -version


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


   
   

다음 페이지 - 리눅스 우분투 터미널에서 본격적으로 java를 컴파일 및 실행하기 (예제 파일 포함) 바로가기

   

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 바로 위의 한 번의 체크 만으로  기기의 성능을 기반으로 하여 본 블로그에 아주 잠깐 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :




파이썬에서 명령행의 필드를 인지하여 활용하는 방법에 대하여 알아 보도록 하자.

Bash에서 명령행의 필드를 인지할 때는 '$1(필드의 첫번째)'를 사용하면 되지만 파이썬 에서는 시스템 모듈과 'sys.argv[NUM]'명령을 활용해야 한다.

먼저 간단한 명령행 필드열1만 읽어 들여 간단하게 응용하는 파이썬 소스코딩 부터 해 보도록 하자. 


무제

Source_File name : tp1.py     |     [Download]    |     Type : Python         클립보드로 복사 → (본문 클릭)



그렇다면 이제 저장한 파이썬 파일을 '1' 과 함께 입력 했을때와 다른 것들을 입력했을때를 실행 테스트 해 보자.



// 실행 명령행에 1을 입력해 본다.


root@test:~$ python pb1.py 1

Good!



//  이번에는 다른 문자를 입력해 본다.



root@test:~$ python pb1.py test

Sorry you insert test


-> 입력한 'test'를 텍스트로 그대로 반환한다.




실행 및 테스트에 성공 하였다면 이번에는 명령행의 '필드열 1'과  '필드열 2'를 실행시 입력받아 둘의 숫자를 더하여서 출력하는 프로그램을 만들어 보자.


무제

Source_File name : tp2.py    |     [Download]    |     Type : Python         클립보드로 복사 → (본문 클릭)


테스트를 실시해 본다.



// 실행과 함께 명령행  필드에 두 가지 숫자를 입력한다.


root@test:~$ python tp2.py 3 5

3+5=

8

-> 입력한 각 필드의 출력과 함께 계산된 값이 출력 된다.




도움이 되셨다면 '♡' 버튼을 꼭 눌러 주시면 감사 하겠습니다.




요즈음은 GTK 개발 작업을 파스칼로 하고 있다.


개발이 빠르고 빌드와 컴파일이 빠르기 때문이다.


한가지 단점이 있다면.. 기존의 C언어로서의 소스코드를 똑같이 제공하지 못한다는 점...


하지만 다른 상대방도 free pascal 소스코드만 있다면 어떤 아키텍쳐 에서도 리컴파일, 즉 리빌드가 가능하다.

(armhf에서도 가능하다.)


하지만 정작 중요한 것은 gtk를 개발할때 부딛히는 한가지 문제점은 프로그램 자체에서의 홈폴더에서의 데이타를 불러 오는 일이다.


물론 예를들어 홈폴더가 user일 경우


memo1.lines.loadfromfile('/home/user/')로서 지정하면 얼마든지 홈폴더의 데이터를 가져올수 있다.


그러나 정작 중요한 문제는 이것은 개발자 입장에서의 홈 폴더이지 배포 후 타인의 홈폴더는 될 수 없다.


또한 당연히 '~/' , '$USER' 등은 전부 먹히질 않는다.


이 문제를 해결 하기 위해 여러 포스팅들은 전부 읽어 봤지만 명확한 해결 방안이 없다는 것을 깨닫고는 본격적인 스스로의 답안 찾기에 들어갔다.


가장 중요한 이유는 파스칼 언어 자체에서 BASH를 지원하지 않기 때문이다.


그래서 가장 쉬운 돌려치기 방법은 인식이 가능한 기존의 FS(파일 시스템)를 이용한 방법인데 그냥 /tmp 나 /usr . /var등 기존의 디렉토리를 이용 하는 방법이다.


하지만 이것은 불러오기는 가능하지만 저장은 안 된다는 점이다.


원할하게 하려면 프로그램 사용자가 본 프로그램을 sudo 명령을 통해 실행해야만 한다.


하지만 사용자에게 안전하게 소프트웨어를 개발하려면 최대한 su명령 없이 소프트웨어를 사용할 수도록 만드는 것이 바람직 하다.


그래서 본 필자가 찾아낸 가장 이상적인 방법은 바로 홈 디렉터리의 심볼릭 링크를 상위 파일 시스템에 거는 것이었다.


물론 /tmp 폴더를 제외한 나머지 상위 폴더들은 sudo 명령이 있어야만 링크가 가능하다.


그러나 이 문제는 사용자가 처음 sudo 명령으로 소프트웨어를 설치할때 충분히 해결 할 수가 있다. (debian/postinst)


그리하여 이런 방식으로 하여금 예를 들어 /usr/share/program/home/ 등의 경로를 사용하여 파스칼 gtk 에서의 홈폴더에 대한 데이타 불러오기가 가능해 진다.





+ Recent posts