추상 클래스는 부분적으로 완성된 미완성 설계도, 인터페이스는 밑그림만 있는 기본 설계도 -인터페이스의 상속 인터페이스끼리 상속 가능하며 다중 상속 가능 -인터페이스의 구현 자신에 정의된 추상메소드의 몸통 만드는 클래스 작성시 implements 키워드 이용 만약, 인터페이스의 메소드 중 일부만 구현한다면 추상 클래스로 만들어야 함 -인터페이스를 이용한 다중 상속 클래스 A와 클래스 B가 있을 때, IB라는 인터페이스를 만들어서 B의 메소드들과 같은 형태의 추상메소드를 만들어 놓고 A를 상속하고 IB를 구현하는 클래스를 만들고 내부에 클래스 B를 선언하여 인터페이스들의 추상 메소드를의 몸통을 채울 경우 다중 상속과 같은 효과를 가진다. public class TVCR extends Tv implements..
위치정보로 날씨 정보를 가져오기 위해서는 우선 GeoPoint로 지역정보를 가져와야합니다. 이를 위해서는 Geocoder를 이용합니다. 지역->GeoPoint 를 지오코딩(Geocoding)이라고 하고, GeoPoint->지역 을 역 지오코딩(Reverse geocoding)이라고 합니다. 여기서는 역 지오코딩을 이용합니다. Geocoder의 getFromLocation()을 이용하여 Address 객체를 받아올 수 있습니다. ※ 주의 : 아시다시피 GeoPoint의 위도와 경도 값은 마이크로 값이므로 int형 입니다. 하지만 getFromLocation에서 사용되는 위도와 경도는 실제 값으로 double형입니다. 그래서 10^6으로 나누어서 인자를 넣어줘야 합니다. Address 객체를 통해 지역 값을..
리눅스에서는 사용자 마다 권한을 부여하여 권한의 범위 안에서만 파일을 제어하도록 한다. 리눅스에는 4가지 종류의 사용자가 있다. user, group, other, root이다. ls -al을 이용하여 권한을 확인할 수 있다. -rwxrwxrwx 1 test1 test2 5 10월 20 21:35 testtext 순서대로 첫 번째 rwx가 user의 권한이고, 그 다음이 group의 권한, 마지막이 other의 권한이다. rwx는 순서대로 읽기(read), 쓰기(write), 실행(execute)을 의미한다. test1은 user를, test2는 group을 의미한다. x권한이 있는 것은 실행파일을 의미한다. r권한이 없다면 읽을 수조차 없다. 예를 들어, /etc/shadow의 경우에는 ls 명령어로 ..
파일 만들기 cat > test.txt 위와 같이 입력 시 test.txt 파일이 만들어진다. test.txt가 존재할 경우에는 덮어씌우므로 이어서 내용을 입력하기 위해서는 >>를 이용한다. 파일 내용추가 cat >> test.txt >와 >>의 의미는 출력되는 것을 변경해 주는 것이다. 기본적으로 cat을 하게 되면 STDOUT(표준 출력)으로 출력되지만, 리다이렉션을 사용할 경우 해당 파일로 출력이 전환되게 된다. 그것을 file descriptor라고 하는데, 0~2번은 표준입력,출력,에러 스트림으로 지정되어 있다. 참조 : 해커스쿨(http://hackerschool.org)
root : x : 0 : 0 : Admin : /root : /bin/bash 첫 번째 필드(root) : 아이디 두 번째 필드(x) : 패스워드. 실제 정보는 /etc/shadow에 저장 세 번째 필드(0) : 컴퓨터가 받아들이는 아이디. uid값 네 번째 필드(0) : 컴퓨터가 받아들이는 그룹. gid값 다섯 번째 필드(Admin) : 사용자 이름 여섯 번째 필드(/root) : 로그인 시 초기 디렉토리 일곱 번째 필드(/bin/bash) : 로그인 시 초기 실행 프로그램(셸) 참조 : 해커스쿨(http://hackerschool.org)
해킹에서의 정보수집은 절대적으로 중요하므로 정보수집 명령어들에 대해 잘 알아야 함. whoami : 내 ID 확인 id : whoami보다 자세한 나의 정보를 확인. uid,gid에 대한 정보 cat /etc/passwd : 사용자들의 정보 확인 uname - a : 리눅스의 커널 버전 확인 (2.2.18 이전 버전의 커널들에는 취약점 존재) cat /etc/*release : 설치된 OS 버전 확인 rpm -qa : 패키지들에 대한 정보 확인 cat /proc/cpuinfo : 서버의 CPU정보 확인 참조 : 해커스쿨(http://hackerschool.org)
1. Runnable 이용하기 class UsingThread implements Runnable{ public void run(){ // 스레드의 동작 내용 } } public class MainClass { public static void main(String[] args){ UsingThread ut = new UsingThread(); Thread main_Thread= new Thread(ut); main_Thread.start(); } } 2. Thread클래스 이용하기 class MainThread extends Thread{ public void run(){ // 스레드 동작 내용 } } public class MainClass { public static void main(String[..
아이폰과 안드로이드폰의 시장 쟁탈전이 치열한 가운데 얼리 어댑터,블로거,팬보이(fanboy),네티즌들의 줄서기가 한창이다. 언론 보도를 놓고도 이들의 반응이 워낙 제각각이어서 별 생각없이 특정 진영에 유리한 기사를 썼다가는 팬보이들과 네티즌들의 집중 포화를 맞기 쉽다. 심한 경우 얼마받고 특정 진영에 유리한 기사를 썼냐는 댓글 또는 비난도 `가슴 아프게` 감수해야 한다. 그렇다면 실제 아이폰과 안드로이드폰 애플리케이션을 개발하고 있는 모바일 개발자들은 어느 쪽에 줄서기를 하고 있을까? 모바일 개발자들은 향후 아이폰(iOS)과 안드로이드 진영 가운데 어느 쪽에 승산이 있을지 냉정하게 판단한 후 애플리케이션 개발에 나설 수 밖에 없다. 별로 전망도 없는 플랫폼에 승부수를 던졌다가는 쪽박 차기 십상이다. ht..
- Total
- Today
- Yesterday
- linux
- 자료구조
- 카타르 음주
- 대학원
- 알고리즘
- Discrete Mathematics
- 리버싱
- Reverse Engineering
- 카타르
- java
- 데이터 사이언스
- 머신러닝
- Data Structure
- Algorithms
- operating systems
- 안드로이드
- android
- 통계학습
- Machine Learning
- statistical learning
- 개발
- 리버스엔지니어링
- 리눅스
- 기계학습
- 데이터 과학
- Data Science
- reversing
- 이산수학
- 자바
- 운영체제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |