전체 글 49

[IntelliJ] getter, setter 단축키

개요 public class BirthDay { private int day; private int month; private int year; } class 내부의 멤버 변수들을 private으로 선언한 경우, 이 변수들을 사용하기 위해서는 getter, setter 메서드를 이용해야 한다. 이때 사용할 수 있는 IntelliJ에서 제공하는 getter/setter 생성 단축키에 대해 알아보자. getter, setter 생성 Alt + Insert getter와 setter를 만들고자 하는 클래스 내부에 커서를 두고 "Alt + Insert"를 누르면 위와 같이 뜬다. "Getter and Setter"를 클릭하면 위와 같은 창이 뜬다. 여기서 getter와 setter를 만들고자 하는 변수를 선택하..

IT/IntelliJ 2023.01.11

[백준] 10807번 개수 세기 - JAVA(자바)

https://www.acmicpc.net/problem/10807 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 문제 총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거나 같으며, 100보다 작거나 같다. 출력 첫째 줄에 입력으로 주어진 N개의 정수 중에 v..

[Git] Git 원격 저장소(Github) 연결 끊기

로컬 저장소(local repository)와 원격 저장소(remote repository)를 연결하기 위해 보통 git clone 명령어를 사용한다. 이렇게 연결된 로컬 저장소와 원격 저장소의 연결을 끊는 방법에 대해 알아보자. 현재 연결되어 있는 repository 확인하기 git remote -v 위의 명령어를 사용해 현재 연결되어 있는 원격 저장소를 확인할 수 있다. origin https://github.com/Github_Name/Repository_Name.git (fetch) origin https://github.com/Github_Name/Repository_Name.git (push) Repository_Name는 현재 연결되어 있는 원격 저장소의 이름이며, Github_Name는 나..

IT/Git 2023.01.02

[컴구] 7-2 디지털 로직 (Digital Logic)

디지털 회로 구분 디지털 회로의 종류는 2가지로 나누어 진다. 1. 조합 회로 (Combinational circuits) 조합 회로의 output은 오직 현재 회로 input들의 조합에 의해서만 결정된다. 조합회로에 같은 input이 들어온다면 항상 같은 ouput을 낸다는 특징이 있다. AND, OR, NOR, NAND, NOT 게이트들의 조합으로 구성되어 있다. 2. 순차 회로 (Sequential circuits) 순차 회로의 output은 현재 회로 input들과 회로의 상태 (혹은 과거 input들의 배열)에 의해서만 결정된다. 순차 회로는 플립플랍이나 레지스터와 같이 '상태'를 저장할 필요가 있는 메모리 구성요소들에 쓰인다. 또한, output 값이 상태에 영향을 미치기 때문에 같은 inpu..

DKU/컴퓨터구조 2022.11.29

[시프] 4-3 스택(stack)

01 스택이란? LIFO(Last In First Out) 특성을 가진 메모리 공간의 배열이다. stack에서 사용하는 operation에는 push와 pop이 있다. 그리고 stack은 bottom과 top으로 다루며, 이는 intel에서의 SS와 ESP이다. 02 intel 구조에서의 stack stack을 다루기 위해 사용되는 push와 pop은 실제로 intel에서 어떻게 구현될까? 먼저 ESP에 대해 알아야한다. ESP란 Extended Stack Pointer의 약자로, stack에서 가장 마지막으로 push된 item의 위치, 즉 top을 가리키는 레지스터이다. stack은 바로 이 ESP 레지스터를 이용한 push와 pop 메소드 사용으로 관리된다. push는 ESP가 감소하고 stack의..

[시프] 4-2 프로세스 구조

01 개념적 구조 프로세스에는 크게 text(code), data, heap, stack으로 영역이 나누어진다. 다음은 가상 메모리의 주소 공간을 나타낸 그림이다. 02 C프로그램으로 보는 프로세스 구조① (function pointer) #include int a = 10; int fun1(int arg1) { printf("fun1에서의 arg1 = %d\n", arg1); } int main() { int *pa; int (*func_ptr)(int); pa = &a; printf("a의 주소를 가리키는 포인터 pa = %p\n", pa); printf("포인터 pa안에 들어있는 값 *pa = %d\n", *pa); fun1(3); func_ptr = func1; func_ptr(5); printf..

[시프] 4-1 프로세스의 정의

01 process란? 프로세스는 다음과 같이 정의될 수 있다. 1. 수행 중인 프로그램 2. 자신만의 메모리 공간과 CPU를 가지고 있음 3. 스케쥴링의 대상 (scheduling entity) 4. 자원 할당을 위해 서로 경쟁 5. 부모-자식 관계 구성 (parent-child relation, family) 그렇다면, 프로세스(process)와 프로그램(program)의 차이는 무엇일까? Process(Task)는 active한 객체로, 메모리와 CPU 상에 올라가서 동작한다. Program은 passive한 객체로, 일종의 파일(binary)이라고 할 수 있다. 02 관련 용어(terminology) Load는 프로그램을 disk에서 main memory로 올리는 것을 의미한다. Load 구현을 ..

[시프] 3-2 disk를 위한 시스템 프로그램 ①

① disk device driver 정의 disk라는 장치를 관리하는 소프트웨어으로, 물리적인 disk를 논리적인 disk로 추상화한다. 이때, 논리적인 disk는 disk block들의 집합이라고 할 수 있고, disk block의 크기는 page의 크기와 동일하다. (4 or 8KB) (logical disk : 디스크를 네모 박스들이 쭉 있는 원기둥으로 생각하는 것이다.) 하는 일 disk command를 처리한다. 이외에도 disk initialization (디스크 초기화), scheduling (seek time 최적화), error handling, 등의 작업을 한다. * ATA command (Advanced Technology Atatchment) : type, start, size, ..

[시프] 3-1 disk의 구조

01 디스크의 구성요소 : Platter, Spindle, Surface / Track, Sector, Cylinder / Head, ARM Platter (원판) disk는 기본적으로 레코드판처럼 생긴 원판이 여러개 쌓여있는 형태이다. 원판의 개수는 disk 용량에 따라 다르다. Spindle (축) disk는 동작할 때 회전하면서 사용되고, 원판은 축을 중심으로 회전한다. Surface (표면) 실제 data를 저장하는 곳이다. 원판의 위아래 총 2곳에 데이터를 저장한다. 3개의 원판 → 6개의 표면 Track (동심원) 동심원은 원판(platter)마다 몇 천 개씩 그려져 있고, 각 동심원을 트랙이라고 부른다. Sector (섹터) track은 sector로 나누어져 있다. ‘disk는 sector..

[시프] 1-2 시스템 프로그램의 종류 ③

③ Runtime System (종류) 01 command (명령어) - file related : ls, cat, more, cp, mkdir, cd, … - task related : ps, kill, jobs, … - utility : vi, gcc, as, make, tar, patch, debugger, … - management : adduser, passwd, ifconfig, mount, fsck, shutdown, … (은행관련) - others : man, file, readelf, grep, wc, … 02 shell - command interpreter (명령어 해석기) - pipe, redirection, background processing - shell script prog..