목록분류 전체보기 (108)
Keep going
인텐트시스템이 알아 먹을 수 있는 포맷을 정의한 것이다.화면을 실행하는 일은 안드로이드 시스템에서 담당하는데 인텐트는 시스템으로 전달되는 일종의 명령을 담고 있는 객체인 것이다.즉, 이 인텐트 안에 들어있는 명령이나 데이터를 시스템에서 이해한 후에 시스템이 어떤 일을 해주게 된다.인텐트의 기본 구성 요소는 액션(action)과 데이터(data) 이다.액션은 수행할 기능이고 데이터는 액션이 수행될 대상의 데이터를 의미한다.범주, 타입, 컴포넌트, 부가 데이터라는 인텐트 속성이 있다. 명시적 인텐트 vs 암시적 인텐트명시적 인텐트인텐트에 클래스 객체나 컴포넌트 이름을 지정하여 호출할 대상을 확실히 알 수 있는 경우암시적 인텐트액션과 데이터를 지정하긴 했지만 호출할 대상이 달라질 수 있는 경우 플래그플래그는 ..
애플리케이션 구성요소 액티비티 서비스 브로드캐스트 수신자 내용 제공자 애플리케이션 구성요소라고 분류해서 부르는 이유? 시스템에서 관리하기 때문. 우리가 애플리케이션 구성요소 중의 하나를 만들어 프로젝트에 추가하게 되면 시스템이 이것들을 다루게 된다. 새로 추가한 구성요소들을 시스템이 알게 하기 위해서 Manifest 파일에 어떤 구성요소가 추가되었는지 넣어주어야 한다. 앱이 설치되는 시점에 시스템이 Manifest 파일에 구성요소가 들어있는지 확인한다. 액티비티 실행하기 한 화면에서 새로운 액티비티를 화면에 보여주고 싶다면 startActivity나 startActivityForResult 메소드를 사용할 수 있다. 위의 메소드들을 호출할 때는 인텐트 객체를 파라미터로 전달해야 한다. Intent int..
파일 시스템 (2가지 개념) Unified filesystem 사람들이 이해하기 편한 형태로 hierarchy (루트부터 시작해서 디렉토리 구조) 를 갖추어 주는 것에 대함 Filesystem types physical storage에 파일이나 디렉토리르 어떻게 저장할 건지 formatting에 대함 Unified Filesystem 리눅스 시스템은 root 부터 시작하는 unified filesystem을 가지고 있다. 한 가지 파일형식을 가진 디바이스로만 구성되는 것이 아니라 여러개의 포맷을 가지는 여러개의 Individual Filesystem으로 구성된다. 여러개의 Individual 파일시스템이 하나의 unified 파일 시스템 내부로 접목(mounting 된다고 표현) 이 되서 동작을 하는 것..
어떤 프로그램이 임계 구역에서 실행하고 있다. = 공유 데이터를 건드리는 일을 하고 있기 때문에 다른 프로젝트가 공유 데이터를 건드리는 임계 구역에서 실행하고 있으면 안된다. 어느 한 순간에는 임계구역에 하나의 프로세스만 들어가 있어야 한다. peterson's 방법 - 속도가 느리고 현대 컴퓨터에서 사용할 수 없는 솔루션 이라는 문제가 있기 때문에 하드웨어 자원을 받아서 임계 구역 해결하는 기법들 알아볼 필요가 있다. 현재 컴퓨터는 실행속도를 빠르게 하기 위해 컴파일러가 필요하면 명령어 실행 순서를 바꾸기도 한다. Peterson 방법이 명령어가 재배치가 되면 상호 배제를 보장하지 못한다. → 현재 컴퓨터에는 Peterson 방법 맞지 않다. 하드웨어가 지원하는 기능들 memory barrier(Fen..
매뉴얼 페이지 대부분의 리눅스 명령어들은 manual page를 가지고 있다. (manpage라고 불린다.) 텍스트 기반으로 명령어들에 대한 설명을 필요하는 체계 → manual page (각 명령어, 프로그램마다 만들어 리눅스 시스템에서 관리한다.) q를 누르면 man page가 종료되고 쉘 프롬프트로 돌아간다. 매뉴얼 패이지에서 네비게이팅하기 커서를 이용해 스크롤링한다. space : 1 페이지 넘기기 b : 1페이지 뒤로 백하기 /word : 패턴에 일치하는 것 검색 n : 검색 한 것 계속해서 찾기 g : 맨위로 올라가기 q : 종료 h : 도움말 창 열기 매뉴얼 페이지 형식 NAME : 명령어에 대해 이름, 한 줄로 표현되는 명령어 특징 (명령어 검색을 위해 사용되는 내용) SYNOPSIS : ..
Vim console 중심의 text editor만 사용가능한 경우가 있다. 데스크탑 버전이 아닌 서버 버전을 하게 되면 console을 만들게 된다. console terminal → graphic gui 사용 불가 유닉스/리눅스가 가지고 있는 가장 기본적인 text editor Vim 파일 여는 방법 vi + filename 가장 마지막에 커서 대기 vi + n(숫자) filename 파일의 n번째 줄에서 커서 대기 vi + /pat(패턴) filename 해당하는 패턴에 대해서 호출, 존재하는 패턴중 첫번째위치에서 커서 대기 -R read only 파일 VI 종료하기 w filename 수정하고 있는 파일은 유지, 새로운 파일명으로 저장 새로운 파일 작성하면 입력한 파일명으로 저장 저장만 함 꺼지지..
결정적 모델링, 큐잉 모델, Little's Fomula, Simulations 결정적 모델링 상황결정 후 상황을 이용해서 방법 A, B ,C 에 대한 waiting average 값들을 계산 단점 : 상황이 변하는데 한 상황가지고 어떤 알고리즘에도 좋다 이야기하기 어렵다. 수학적분석은 더 어려움 큐잉 모델 시스템에 여러가지 큐 작업들이 큐에 들어와서 다른 큐로 갔다가 또 다른 큐로 갔다가 움직이는 상황의 큐 네트워크 있고 작업들이 큐에 들어와서 큐 사이 움직이는 모델 가정하기를 큐에 들어오는 속도 , 큐에 들어오는 작업 확률 분포가 있다. 전체에서 기다리는 것 몇개인지, 평균시간이 얼마나 걸리는지 하는 것들을 계산해 낼 수 있다. 작업 도착 순서, 대기 시간에 대한 확률 분포들을 가정하고 난 다음 큐잉..
실시간 스케줄링 어떤 사건이 일어나면 언제까지 처리가 되어야 된다는 시간에 대한 제약조건 일반적으로 사용하고 있는 시스템에 RealTime Schedulling 기능을 더할려고 하니까 문제 생긴다. (어려워짐) Real Time 전용 → 문제 쉬움 Soft realtime-system 이 시스템에서는 real time task 와 Non real time task 들이 혼재되어 있는 상황에서 Real time 애플리케이션에 대해서 Real time process가 들어오면 우선순위를 더 주긴주지만 deadline 에 맞춰서 끝내줄거라는 보장이 없는 시스템을 말한다. (다른애들보다 우선순위를 주지만 너가 언제까지 실행이 된다 보장 못할 경우) Hard realtime system 어떤 process의 de..