목록나무 숲 (808)
나무 숲
코로나 카테고리가 제가 처음으로 공부할 겸.. 해서 만든 곳이었다면 이곳은 저의 짧은 안드로이드 지식을 조금 다져볼까 하여 만든 곳입니다 (+자바력) 자급자족용 가계부/스케줄러 앱을 만드는 과정에서 나타나는 기능들이 주가 될 것 같습니다 (+자바공부) 우선 안드로이드 스튜디오는 가볍게 아래에서 다운받으시면 될 것 같아유 https://developer.android.com/studio/index.html 그 외에 제가 사용하고자 하는 것들입니다 https://bitnami.com/stack/wamp https://atom.io/ 설치 방법은 다른 블로그들에도 잘 정리되어 있기 때문에 따로 하지는 않았습니다..! (전 이미 설치되어 있어서 스샷 찍기도 힘들어서..) 짧은 지식으로 말씀드리자면, 비트나미 w..
유료였던 코로나SDK가 무료로 풀렸습니다! 현재 아래 사이트에서 다운로드가 가능하구요, 들어가면 스샷처럼 FREE라고 적힌 코로나sdk를 다운받을 수 있습니다 https://coronalabs.com/pricing/ 코로나 SDK는 Lua라는 스크립트 언어로 굉장히 쉽고 빠르게 모바일 애플리케이션을 만들 수 있는 프로그램입니다 대표적으로는 미국 14세 소년의 공을 굴리는 간단한 게임(버블볼)이 히트를 쳤다, 라는 기사가 옛날에 났었는데, 이 코로나 sdk로 만든 작품이라고 하네요 한 번의 코딩으로 간단히 빌드만 하면 안드로이드용/아이폰용을 따로 개발하지 않고도 다양한 디바이스 지원이 가능하다고 합니다 루아 언어란, 빠른 스크립트 언어이며 때문에 주로 게임에 사용됩니다저도 문법을 자세히는 모르지만 코로나를..
자료구조의 목적은 데이터를 효율적으로 저장하는 데 있다 이러한 자료구조를 기반으로 작성된 알고리즘은 메모리와 속도를 고려하게 되는데 우리가 더 관심있게 보는 것은 속도이다. 순차 탐색 알고리즘(배열의 첫 번째 원소부터 순서대로 탐색)보다 훨씬 좋은 성능을 보인다 단!!! 배열에 저장된 원소는 정렬되어 있어야 한다 방법 1 배열의 중앙(배열 길이가 n이라고 할 때, (처음0 + 끝n-1)/2)에 찾는 값이 저장되어 있는지 확인 2 만약 아닐 경우, 찾는 값과 배열의 값을 비교하여 찾고자 하는 값이 배열의 값보다 작으면, 배열의 값을 기준으로 오른쪽에 있는 원소들로 탐색 범위 제한 마찬가지로, 배열의 값보다 찾고자 하는 값이 크면, 배열 값 기준으로 왼쪽에 있는 원소들로 탐색 범위 제한 (오름차순 일 때!)..
Sequence Control (Flow Control)순서 Control 분류Sequence control : 수행 순서 제어Data control : 서브프로그램 사이의 데이터 흐름 제어 제어 대상(크기)에 따른 sequence control 분류expression, statement, subprogram 표현 여부에 따른 sequence control 분류Implicit : 기본적으로 정해져 있는 흐름 제어 (순차적으로 수행)Explicit : 기본 흐름을 변경하기 위한 제어 (goto문) Tree representation연산자를 서브트리의 루트에, 피연산자를 하위 노드에 나타냄 PostFixa + b : infix+ a b : prefix (함수같은 모습)a b +: postfix postfix..
Generic Type?타입을 인수로 받는 타입 (parameteric polymorphism)후자의 타입은 전자의 타입을 통해 생성된 타입 Instantiation of a Generic type : generic type에 타입 인수를 전달함으로써 새로운 타입을 만드는 것 구현 : 타입 인수는 컴파일 시간에 결정되므로 인수가 결정되면 일반 타입과 동일하게 구현 가능하다 Generic Modules : 타입을 인수로 받을 수 있는 프로그램 모듈Generic Packages in ada, Template class in C++ Inheritanceis -a일반적 관점한 프로그램 요소의 특징이 다른 프로그램 요소로 전달되는 것ADT 관점한 ADT를 보다 구체화하여 다른 ADT를 만드는 것. supercla..
프로그래밍이란?알고리즘과 데이터를 이용, 입력 데이터를 적합한 절차를 통해 처리하는 것 Encapsulation?데이터와 연산을 하나의 묶음, capsule로 묶을 수 있는 장치하나의 Unit으로 만드는 것지원 예) ada의 package, c++의 class User-defined Data Types?(필수)1 Structured data : 복합 데이터 생성2 Subprograms : 새로운 연산 정의(고급)3 Type Declarations : 특정 부류의 데이터와 관련 연산을 묶어 새로운 데이터 타입 정의4 Inheritance : 기존 데이터 타입의 기능을 포함, 확장된 데이터 타입을 생성 Structured Data?다른 데이터 객체를 원소나 요소로 하여 구성된 데이터 객체. (배열/구조체/스..
Micro-Operations - 컴퓨터가 프로그램을 실행하면, fetch/execute/indirect/interrupt 사이클 등등이 실행될 것이고 각 사이클은 micro-operation이라 불리는 몇몇 step이 있다. 각 스텝은 아주 조금 일하고 레지스터들을 포함한다. = >Atomic operation of CPU (원자급으로 더이상 쪼갤 수 없을 만큼 작은 단위) - Type레지스터들 간에 데이터를 전송레지스터와 외부 사이에서 데이터를 왔다갔다perform arithmetic or logical ops 잠시 Fetch sequence를 상기시켜보면,현재 명령어의 다음 주소가 PC에 있다. PC의 내용은 MAR로 복사되어지고, MAR에 있는 주소가 address bus를 탄다. Control ..
CPU Organization- CPU는 뭘 하나? Fetch Instruction, Interpret instruction, Fetch data, process data, write data- CPU의 주요 구성요소 : ALU, Control Unit, Register Register- CPU는 temporary storage와 같은 working space가 있어야 한다. (잠시 데이터를 저장하거나, 다음 명령어가 어디있는지 기억하는 것)- 레지스터들은 CPU의 temporary storage- 프로세서 디자인에 따라 function의 개수가 달라진다- 메모리 계층에서 가장 위에 있는 것: 비싸고 빠른 storage의 small set - Organization* 두가지 타입1) User Visibl..
Arithmetic & Logic Unit 논리연산장치- 컴퓨터에서 계산을 수행하는 부분. control unit, register, memory, I/O와 같은 것들은 ALU를 동작시키기 위해 데이터를 가져오고, 그 결과값을 가져간다. - 위 그림에서 레지스터를 통해 데이터들이 들어가고, 연산 결과가 레지스터에 저장된다. 그리고 ALU는 연산의 결과로 flag를 셋한다. 예를 들어 연산 결과값이 저장될 레지스터의 길이보다 커지면 overflow flag는 1로 set된다 Integer Representation- binary system에서, 0과 1만으로 다 표현한다 - 보통 양수만 표현하고, - 표시가 없다. 음수를 표현하기 위해 sign-magnitude, 2's complement를 쓴다1) S..
* CPU와 I/O 장치들을 바로 direct로 연결할 수 있을까?주변기기Peripheral의 종류가 많고, 다 다른 양의 데이터를 이동시키고, 다 속도가 다르고(CPU, RAM이 I/O 장치보다 빠르다 ) format이 다 다르다 => 속도별로 묶어서 버스Bus를 태우자!I/O module이 필요하다=> Interface to CPU~Memory, 여러 주변기기 (연결해주는 매개체같은 것) 옆 그림에서 System bus는 Internal device, Links to peripheral devices는 External device이다 External Devices- 사람이 읽을 수 있는 것 : 스크린, 프린터, 키보드.. 기계가 읽을 수 있는 것 : Monitoring, control => 소통 : ..
- 유저 메모리와 다르게 대우된다- 주로 free-memory pool로부터 할당된다 - 2 well known schemes1 Buddy system- allocate memory from fixed-size segment consisting of physically contiguous pages - Memory allocated using power-of-2 allocator 2 Slab allocation- Slab : one or more physically contiguous pages- Cache : consists of one or more slabs각각의 kernel data structure에 single cache가 있다. 각 캐시는 object들로 채워져 있다. 캐시가 만들어지면 fr..
Visual studio 라인정리: ctrl k + ctrl f Eclipse java 주석처리: ctrl / 블럭처리: ctrl shift / 라인정리: ctrl shift f
No enclosing instance of type Defines is accessible. Must qualify the allocation with an enlclosing instance of type Defines (e.g. x.new A() where x is an instance of Defines). static method 안에서 static으로 선언되지 않은 class를 생성, 사용할때 나는 오류
에러 표시 error_reporting(E_ALL); ini_set("display_errors", 1); php페이지가 뜨지 않을 때
만약 프로세스가 충분한 페이지가 없다면 page-fault rate는 매우 높을 것이다-> 낮은 CPU 이용율, OS는 멀티프로그래밍의 정도를 올려야 한다고 생각할 것이고.. 시스템에 다른 프로세스들이 추가되 Thrashing이란?- 프로세스가 페이지를 swapping (in, out) 하느라 바쁜 상태. 따라서 프로세스는 여기에 대부분의 시간을 쓰게 됨위 그림을 보면 갑자기 CPU 이용율이 낮아지는 부분이 Thrashing 프로세스가 여러 개 들어오면 페이지가 많아져서 instruction transfer 시간이 높아지.. To prevent Thrashing- 프로세스는 필요한 만큼의 프레임을 제공받아야 한다!- 필요한 만큼을 어떻게 아느냐? Locality model of process execut..