'분류 전체보기'에 해당되는 글 128건

  1. 2020.02.13 예외처리
  2. 2020.02.12 리눅스 파일관리 4
  3. 2020.02.12 리눅스 파일 관리 3
  4. 2020.02.11 정적 변수와 매소드
  5. 2020.02.10 리눅스 파일관리 2

예외처리

JAVA 2020. 2. 13. 20:47
반응형

예외처리문은 파이썬과 같았다.

 

ok 에러가 잘 발생했다. 프로그래머한테 오류가 나는 일은 기쁜 일이라고 했다.

성공적으로 오류를 강제적으로 발생시켰다.

try 문을 사용해서 성공적으로 오류를 처리해 보았다.

 

Exception 클래스는 쿠게 두가지로 나뉘는 부분에서 가장 신기하다고 생각이 됬다.

예측가능한 오류는 미리 처리를 하고 예측되지 않은 오류에 대해서도 대처가 가능하며 앞으로 설명을 하겠지만 예외처리 기법을 활용하면 큰 프로젝트를 제작하면서 코드를 읽기 쉽게 만드는 효과도 볼 수 있으며 자바로 제작한 프로그램의 안정성을 입증도 할 수 있다.

 

저번시간에 사용한 throw 를 사용했다. throw는 오류를 위로 올리는 기능을 가진다. 그래서 main 함수에서 오류가 발생한다. 그래서 main 매소드에서 오류를 try 문으로 처리해주는 과정이 필요하다.

 

예외처리에는 transaction 트랜잭션 이 매우 중요하다.

 

어느시점에서 오류가 발생하면 어떤 클래스에서 처리를 하고 싶은가이다.

 

이는 클래스의 가독성을 높이는 효과와 객체 지향적으로 설계함에 있어서 매우 중요하게 작용이 된다.

가독성이 높고 쉽게 편집과 관리가 가능하게 하기 위해서 특정 클래스로 요류를 throw 해버림으로 오류를 손쉽게 처리하고 안정적인 프로그램을 설계할 수 있기 때문이다.

 

 

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

 

천채와 재능 앞에서 노력이 무너질 수 있다.

만약 포기한다면 나의 꿈도 끝이다.

쓰러지더라도 일어나야한다.

포기하기에는 내꿈은 너무 크니까!

 

화이팅!@!

 

https://comic.naver.com/webtoon/list.nhn?titleId=736989&weekday=thu

 

더 복서

누구도 범접할 수 없는 충격적인 재능! 그것은 과연 축복일까, 저주일까?!

comic.naver.com

 

좋아하는 작가님의 작품입니다.!! ㅈ재미있어요

오늘 안 사실인데 더북 자료를 사용했는데 url배포는 가능한데 이미지 같은것은 블로그에 쓸수 없어서 몇몇 이미지가 없어도 양해해 주세요

반응형

'JAVA' 카테고리의 다른 글

쓰레드  (0) 2020.02.14
정적 변수와 매소드  (0) 2020.02.11
패키지  (0) 2020.02.10
파일 입출력  (0) 2020.02.06
콘솔 입출력  (0) 2020.02.03
Posted by 53C
,

리눅스 파일관리 4

Ubuntu 2020. 2. 12. 14:20
반응형

파일을 검색하는 명령어 find를 사용해 봤다. sudo 관리자 권한으로 접근 할 수 없는 파일에는 접근이 불가능 했다.

그래서 다른 계정으로 파일을 만들어 보았다.

다른 사용자의 파일 또한 검색이 가능한것 같다. 아마 접근 금지 된 곳도 관리자 권한으로 접속은 가능할 것 같다.

 

cat 명령어로 파일의 내용을 만든데 덧붙여 쓴ㄴ 것이 아니라는 사실을 알아냈다!

cat 명령얼ㄹ 공부해보니 >> 옵션을 붙여주면 덫쓰기 가 가능한것 같다.

좀더 자세한 내용은 cat --help 에서 확인이 가능하다.

grep 명려어 까지 공부를 했다.

 

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

오늘 비가 오는데 비오는 날에는 시력이 나빠져서 피곤하고 어지럽다 조금만하고 쉬어야 된다

반응형

'Ubuntu' 카테고리의 다른 글

리눅스 네트워크 관리  (0) 2020.02.14
리눅스 프로세스 관리  (0) 2020.02.13
리눅스 파일 관리 3  (0) 2020.02.12
리눅스 파일관리 2  (0) 2020.02.10
리눅스 파일 관리  (0) 2020.02.10
Posted by 53C
,

리눅스 파일 관리 3

Ubuntu 2020. 2. 12. 01:18
반응형

리눅스의 시스템 파일은 파일 시스템 계층 구조 표준Filesystem Hierachy Standard, FHS 에 의해서 디렉토리를 구성한다.

 

우리가 지난 시간에 사용한 디렉토리가 포함되어 있다. 디렉토리를 알아보니 아마도 자주 사용하게 될것 같다.

/dev 또한 라즈베리파이를 사용하게 되면 많이 사용할것 같다.

 

하.. 씨이벌 이 기능 만든 사람은 노벨상 줘야 된다고 생각함ㅋ

 

그리고 키보드는 무조건 텐키리스로 사고 키패드 따로 사야됨 ㅈㄴ 불편한데 있으면 편한 좃같은 존재

 

 

파일 삭제와 파일만들기 디렉토리 생성등 기본 파일을 관리하는 명령어를 학습했다.

https://thebook.io/006718/

 

더북(TheBook): 리눅스 서버를 다루는 기술

 

thebook.io

자세한 내용은 여기서 확인!

 

이제는 죽을것 같다.... 자야한다!

반응형

'Ubuntu' 카테고리의 다른 글

리눅스 프로세스 관리  (0) 2020.02.13
리눅스 파일관리 4  (0) 2020.02.12
리눅스 파일관리 2  (0) 2020.02.10
리눅스 파일 관리  (0) 2020.02.10
우분투 리눅스  (0) 2020.02.07
Posted by 53C
,

정적 변수와 매소드

JAVA 2020. 2. 11. 17:56
반응형

static 키워드를 사용하면 자바에서는 한가지 변수만 만들게 된다.

count 라는 변수를 확인해보면 두객체에서 실행했을떄 각각 변수를 설정하는 반면 static 키워드를 변수앞에 적어주면 하나의 변수만 할당을 하게된다. 이를 통해서 메모리적인 여유를 얻을 수 있다.

 

static method

 

 

매우 어렵고 신기 했다.

객체가 아닌 클래스로 매소드를 호출했다... 보통이라면 객체로 호줄되어야 한다. static 매소드를 이용해서 클래스에 대한 하나의 매모리를 만든 것인지 분석을 해보았다.

 

객체가 생성이되면 Heep영역에 매모리가 할당이 된다. 하지만 static 키워드를 하게 되면 heep 영역 밖에 다른 매모리 위치를 가지게 된다.

이때 변수에 대해서 모든 객체에서 공유가 가능하지만 GC관리 영역 밖에 매모리가 할당이 되면서 매모리 관리가 어려워진다. 그래서 많이 사용 할 경우 프로그램 종료시까지 매모리가 할당이 된 상태로 있는다.

 

힙오버 플로우라는 공격이 있다. 힙도 자료구조상 자료를 저장하는 공간으로 버퍼 오버플로우가 가능하여 공격이 가능하다.

 

 

예제 2의 소스 이다. 처음 했을떄 결과값이 이상해서 찾아 봤는데

 

utill 클래스는 유용한 패키지의 집합이고 SimpleDateFormat에서 데이터를 가져오는 패턴이 있느데 거기서 문제가 발생했다.

 

싱글톤 패턴

 

프로그램 개발에서 디자인 패턴은 매우 중요하다고 생각이 든다. 특히 이런 디자인 패턴을 머신러닝을 이용해서 악성코드소스의 디자인 패턴과 github등 코드 공유사이트에서 용의자를 찾아내는데 도움이 되지 않을까? 하는 생각이 든다. 

디자인 패턴은 정해져 있지만 프로그램 코드에 따라 사람마다 차이가 있기 때문에

 

우선 디자인 패턴중에 하나인 싱글톤 패턴에대해서 배워보자

싱글톤 패턴은 하나의 클래스에 하나의 객체를 만드는 것을 말한다.

 

클래스 하나에 2가지 클래스가 들어가는게 가능하나? 에서 의문이 들기 시작했고

그래서 두개의 클래슬 만들어 주었다.

 

 

접근제어자인 private 로 new를 이용해서 객체를 만드는 것을 제한했고

스테틱매소드로 메모리를 할당하여 heep영역 밖에 one 매모리를 할당했다.

 

Singleton 클래스에서는 객체가 한번 생성이 된다.

그리고 singletonTest에서 2개의 객체를 new를 이요하지 않고 객체를 만들고

두 객체에는 각각 one 이 return 된다. 

그리고 결과적으로 true가 리턴 된다.

 

특히 분기문에서 햇갈리는 부분이 있었는데

객체가 생성이 되지 않은 상태에서 클래스가 하나의 변수를 가지게 하기위한 분기이다.?

뭔가 이해가 되면서도 이해가 되지 않는다.... 

 

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

아 진짜 죽을 것 같다... 오늘 실밥풀고 동국대 수강신청 자료 찾아보고 특히 망할 프로그램 다운 받는데 5시간 가까이 허비한것 같다. 개빡친다.

 

인생의 동반자가 될것같은... 불길한 예감이 든다.

밀크티는 정말 잘만든 음식이다. 간단하고 속도 편하고 달고 부드럽다

영국 뽕 터진다.

 

걍 지금 멘탈 저세상 감ㅋ

반응형

'JAVA' 카테고리의 다른 글

쓰레드  (0) 2020.02.14
예외처리  (0) 2020.02.13
패키지  (0) 2020.02.10
파일 입출력  (0) 2020.02.06
콘솔 입출력  (0) 2020.02.03
Posted by 53C
,

리눅스 파일관리 2

Ubuntu 2020. 2. 10. 23:57
반응형

https://53c-hi.tistory.com/77

 

리눅스 파일 관리

리눅스에서는 모든것이 파일로 이루어져있다. 그래서 텍스트 환경에서도 모든 활동이 가능하고 시스템 제어가 가능하다. 1. ls(list) 명령어 ls [옵션] [파일] 의 형식을 사용한다. -l : 파일의 형태, 파일 접근..

53c-hi.tistory.com

티스토리 글자수 제한이 있는지는 모르겠지만 더이상 글쓰기가 어려워서 포스팅을 더 만들었다.

 

지난 티스토리에서 파일을 지우는 것까지 하고 다시 제대로 된 이름으로 파일도 만들어 주었다.

 

이번에는 디렉토리의 사용권 권한을 변경 해보겠다.

 

디렉토리를 만들때는 mkdir 이라는 (mack dircetory) 명령어를 사용하여 images라는 디렉토리는 만들어 주었다.

그리고 디렉터리안에 파일 두개와 하위 디렉토리를 만들고 하위디렉토리에도 파일을 만들어 주었다.

osc010524@c-VirtualBox-53C:/tmp$ ls -l sample
-rw-r--r-- 1 osc010524 osc010524 0  2월 10 23:20 sample
osc010524@c-VirtualBox-53C:/tmp$ sudo -u 53Cbot mkdir images
osc010524@c-VirtualBox-53C:/tmp$ cd /images
bash: cd: /images: 그런 파일이나 디렉터리가 없습니다
osc010524@c-VirtualBox-53C:/tmp$ cd /images
bash: cd: /images: 그런 파일이나 디렉터리가 없습니다
osc010524@c-VirtualBox-53C:/tmp$ ls
config-err-5ZJgSN
images
sample
ssh-csmL4JFeOTNM
systemd-private-1fbced96d4e64be3b4acf6dee938834e-ModemManager.service-vRqLUY
systemd-private-1fbced96d4e64be3b4acf6dee938834e-bolt.service-FljEpO
systemd-private-1fbced96d4e64be3b4acf6dee938834e-colord.service-OXwNX8
systemd-private-1fbced96d4e64be3b4acf6dee938834e-fwupd.service-xNzHK2
systemd-private-1fbced96d4e64be3b4acf6dee938834e-rtkit-daemon.service-KZHBUL
systemd-private-1fbced96d4e64be3b4acf6dee938834e-systemd-resolved.service-AWKoVq
osc010524@c-VirtualBox-53C:/tmp$ ls -l images
합계 0
osc010524@c-VirtualBox-53C:/tmp$ ls images
osc010524@c-VirtualBox-53C:/tmp$ ls -a images
.  ..
osc010524@c-VirtualBox-53C:/tmp$ cd /images
bash: cd: /images: 그런 파일이나 디렉터리가 없습니다
osc010524@c-VirtualBox-53C:/tmp$ cd images
osc010524@c-VirtualBox-53C:/tmp/images$ sudo -u 53Cbot touch image01
osc010524@c-VirtualBox-53C:/tmp/images$ sudo -u 53Cbot touch image02
osc010524@c-VirtualBox-53C:/tmp/images$ sudo -u 53Cbot mkdir images02
osc010524@c-VirtualBox-53C:/tmp/images$ ls
image01  image02  images02
osc010524@c-VirtualBox-53C:/tmp/images$ ls -l
합계 4
-rw-r--r-- 1 53Cbot 53Cbot    0  2월 10 23:35 image01
-rw-r--r-- 1 53Cbot 53Cbot    0  2월 10 23:36 image02
drwxr-xr-x 2 53Cbot 53Cbot 4096  2월 10 23:36 images02
osc010524@c-VirtualBox-53C:/tmp/images$ 

 성공적으로 만들어 졌는데 코드블럭을 사용하면 오류가 자주 뜬다. 미치겠다..

 

어쨋든

 

53Cbot권한으로 만들어 줬다.

 

osc010524@c-VirtualBox-53C:/tmp/images$ sudo -u 53Cbot thoch images02/image03
sudo: thoch: 명령이 없습니다
osc010524@c-VirtualBox-53C:/tmp/images$ sudo -u 53Cbot thouch images02/image03
sudo: thouch: 명령이 없습니다
osc010524@c-VirtualBox-53C:/tmp/images$ sudo -u 53Cbot touch images02/image03

ㅅㄴㅇㄴ쉬이벌 망할 영어 스펠링 하.. 이 질긴 인연을 여기서 만나게 되다니... 보통은 에디터에서 자동완성을 지원해서 스펠링이 잘 안틀리지만 터미널 환경에서 자동완성하는 법을 아직 몰라서 빨리 찾아 봐야겠다. 아 진짜 영어 싫다...

 

drwxr-xr-x  3 53Cbot 53Cbot 4096  2월 10 23:36 .
drwxrwxrwt 15 root   root   4096  2월 10 23:33 ..
-rw-r--r--  1 53Cbot 53Cbot    0  2월 10 23:35 image01
-rw-r--r--  1 53Cbot 53Cbot    0  2월 10 23:36 image02
drwxr-xr-x  2 53Cbot 53Cbot 4096  2월 10 23:41 images02
osc010524@c-VirtualBox-53C:/tmp$ ls -l images/images02
합계 0
-rw-r--r-- 1 53Cbot 53Cbot 0  2월 10 23:41 image03
osc010524@c-VirtualBox-53C:/tmp$ 

sㄴㄴㄴㄴ 자세히 보니 코드 블럭 아래에 처음에 몇 글자가 오류가 나서 앞에 이렇게 처리해주면 오류가 안난다는 것을 알았다.

 

어쨋든 53Cbot 권한으로 여러개의 디렉토리와 파일을 만들어 주었다.

디렉토리의 사용자 권한을 바꾸어 보겠다.

 

osc010524@c-VirtualBox-53C:/tmp$ sudo chown osc010524.osc010524 images
osc010524@c-VirtualBox-53C:/tmp$ ls -l images
합계 4
-rw-r--r-- 1 53Cbot 53Cbot    0  2월 10 23:35 image01
-rw-r--r-- 1 53Cbot 53Cbot    0  2월 10 23:36 image02
drwxr-xr-x 2 53Cbot 53Cbot 4096  2월 10 23:41 images02
osc010524@c-VirtualBox-53C:/tmp$ ls -l
drwxr-xr-x 3 osc010524 osc010524 4096  2월 10 23:36 images

sdㄴㅇㄴㅇㅇ 디렉토리의 사용자 권한은 변했지만 하위 디렉토리와 파일의 권한은 그대로이다.

다음 명령어를 이용해서 모든 파일의 권한을 바꾸어 보겠다.

 

osc010524@c-VirtualBox-53C:/tmp$ sudo chown -R osc010524.osc010524 images
osc010524@c-VirtualBox-53C:/tmp$ ls -l images
합계 4
-rw-r--r-- 1 osc010524 osc010524    0  2월 10 23:35 image01
-rw-r--r-- 1 osc010524 osc010524    0  2월 10 23:36 image02
drwxr-xr-x 2 osc010524 osc010524 4096  2월 10 23:41 images02
osc010524@c-VirtualBox-53C:/tmp$ ls-l images/images02
ls-l: 명령을 찾을 수 없습니다
osc010524@c-VirtualBox-53C:/tmp$ ls -l images/images02
합계 0
-rw-r--r-- 1 osc010524 osc010524 0  2월 10 23:41 image03

ㄴㄴㄴ 보면 하위 파일과 하위 디렉토리 안의 파일의 권한이 모두 수정이 되어있다/.

반응형

'Ubuntu' 카테고리의 다른 글

리눅스 프로세스 관리  (0) 2020.02.13
리눅스 파일관리 4  (0) 2020.02.12
리눅스 파일 관리 3  (0) 2020.02.12
리눅스 파일 관리  (0) 2020.02.10
우분투 리눅스  (0) 2020.02.07
Posted by 53C
,