728x90
검색해보니 리눅스의 파일탐색기 구조는 트리로 되어있다고 한다. 자료구조 알고리즘을 이용하여야 하니, 링크드 리스트 linked-list를 이용하여 LCRS를 통해 구현하기로 했다. 노드는 파일 또는 디렉토리이다. 구현해야하는 명령어 중에 ls에 -al옵션을 붙여보면 숨겨진 파일을 포함한 세부 정보 리스트를 볼 수 있다. 우선 이 리스트에서 보여주는 정보들 중 구현 가능한 것들을 구조체의 변수로 넣기로 했다. -l 옵션을 하면 아래의 사진처럼 세부 정보를 보여주는데, 변수를 정하기 위해서는 해당 정보들이 무엇을 의미하는지 알 필요가 있다고 느껴 서치해보았다. 우선 합계, 구현하기 어려운 부분이라 숫자로 따로 표시하지는 않았지만, 해당 리스에 나오는 파일 폴더들의 사이즈 합을 의미한다. 유형+권한 맨 처음 ..
1. ADC 아날로그 신호는 디지털 신호와 다르게 연속적이기 때문에 신호의 정보를 이용하기 위해서 디지털 신호로 바꾸어 주어야 한다. 아두이노에는 Analog-Digital Converter(ADC)가 내장되어있다. ADC는 아날로그 전압값을 프로그램에서 사용할 수 있는 디지털 값으로 변환해주는 장치이다. 정확도는 해상도(비트 개수)로 결정되는데 아두이노는 10bit ADC를 사용하기 때문에 1024단계의 값의로 나타낼 수 있다. 기준전압 출력값 5V 1023 2.5V 512 0V 0 아두이노 모델 ATmega2560은 16개의 채널을 갖고 있지만, 한 개의 ADC를 공유하기 때문에 동시에 여러 채널을 사용할 수 없다. 2. PWM Pulse Width Modulation(PWM)은 펄스 폭 변조를 말한..
1. 새 controller 만들기 :~/mySimpleApp$ rails generate controller main index create app/controllers/main_controller.rb route get 'main/index' main controller (디폴트 생기는 거)의 index 함수 실행 invoke erb create app/views/main create app/views/main/index.html.erb index template. Directory의 default 파일 -> index.html invoke test_unit create test/controllers/main_controller_test.rb invoke helper create app/helpers..
아래 작업 전, 루비와 레일즈 설치가 미리 필요하다. 설치 후 터미널 창에 명령어들을 입력한다. 1. rails 어플리케이션 만들기 ~$ rails new mySimpleApp --skip-spring rails는 레일즈 명령어 2. 어플리케이션 폴더로 이동 :~$ cd mySimpleApp :~/mySimpleApp$ ls cd [폴더명]: change directory, [폴더명]에 해당하는 위치로 이동 (디렉토리가 ~$에서 ~/mySimpleApp$로 바뀜) ls: list 디렉토리 내부의 파일과 하위 디렉토리 목록 출력 3. 새로 생긴 파일들의 목적 File/folder Purpose app/ Contains the controllers, models, views, helpers, mailers ..
터미널 입출력 장치와 컴퓨터 간의 소통을 가능하게 하는 인터페이스. 기본적으로 'Shell' 프로그램을 사용한다. 문자기반 명령어를 컴퓨터 언어로 변환하여 컴퓨터에게 전달하는 일종의 User Interface. 1. pwd (print working directory) 역할: 현재 작업 중인 디렉토리의 위치를 알려줌 옵션: - 2. ls (List) 역할: 디렉토리 내부의 파일과 하위 디렉토리 목록 출력 옵션: -a (all): 숨김 속성을 가진 파일까지 모두 표시 -l (long): 파일이나 디렉토리의 세부정보 표시 . : 자신의 폴더 의미 .. : 상위 폴더 의미 3. cd (change directory) 역할: 작업중인 디렉토리의 위치를 변경 옵션: 절대경로명 '/ (root directory)'..
1. 주제 - Mini Operating System 구현 2. 목적 이번 프로젝트의 목적은 리눅스 시스템의 이해와 응용에 있다. 본 프로젝트는 C 언어를 통해서 리눅스 시스템을 구현함에 있다. 리눅스의 기본 동작 구조와 체계를 이해하고 동일하게 작동 가능한 시스템을 구현한다. 3. 내용 본 프로젝트에서 구현하는 내용은 다음과 같다. - 리눅스 시스템과 동일한 파일 탐색기 구조를 구현한다. (자료구조 알고리즘 사용) - 필수 구현 명령어 : cd, mkdir, pwd, ls, rm, cat, cp, find - 명령어 별 수업 시간에 설명한 옵션들 구현 - cat 명령어를 통해서 파일 생성 및 읽기 구현 - 파일 입출력을 통해서 폴더 및 파일 생성된 현황을 저장하고 읽어야 함 - mkdir 명령어를 통해..