개발 일지 168

[Java] 타입(Type)

타입(Type)은 어떤 값의 유형 및 종류를 나타내며, 타입에 따라 값이 차지하는 메모리 공간의 크기와 값이 저장되는 방식이 결정된다. 예를 들어, 정수형 타입의 데이터는 4byte, 문자형 타입의 데이터는 1byte이다. 자바의 타입은 실제 값을 의미하는 기본 타입(primitive type)과 어떤 값이 저장된 주소를 값으로 갖는 참조 타입(reference type)으로 분류된다. 기본 타입 (primitive type) : 정수 타입(byte, short, int, long), 실수 타입(float, double), 문자 타입(char), 논리 타입(boolean) 참조 타입(reference type) : 객체의 주소를 저장하며 8개의 기본형을 제외한 나머지 타입이다. 정수 타입 정수 타입은 숫..

개발 일지/Java 2022.12.21

[Java] 변수(Variable)와 상수(Constant)

변수(Variable)란 값이 변할 수 있는 데이터를 임시적으로 저장하기 위한 수단이다. 프로그래밍은 데이터가 어떻게 처리할 것인가를 컴퓨터가 인지할 수 있는 언어로 작성하는 것을 의미한다. 어떤 데이터를 프로그래머가 원하는 대로 처리하기 위해서는 그 데이터를 임시적으로 컴퓨터에 저장해둘 필요가 있다. 컴퓨터는 데이터를 메모리에 저장하고 RAM이 메모리에 해당된다. 메모리는 1byte 크기의 데이터를 저장할 수 있는 메모리 셀들이 모여서 만들어지며, 각 메모리셀에는 고유 번호가 오름차순으로 매겨져 있다. 이처럼 메모리셀에 붙여져 있는 고유 번호를 '메모리 주소'라고 한다. class Example { public static void main(String[] args) { 0xf38d2a6c = 1; /..

개발 일지/Java 2022.12.21

[Java] Java란?

자바(Java)는 객체지향 프로그래밍(Object Oriented Programming, OOP) 언어이다. 운영체제에 독립적으로 실행이 가능하기 때문에 'Write Once', 'Run Anywhere' 이라는 슬로건을 내세워 빠르게 많은 사용자를 확보했다. 다양한 운영체제가 공존하는 웹 환경에 적합한 언어로써 현재까지도 전 세계에서 많이 쓰이는 인기 있는 언어이다. 자바의 주요 특징 운영체제에 독립적이다 자바 이전의 언어들은 특정 CPU에서만 작동하거나 특정 OS에 따라 다르게 작성해야 하는 언어(C, C++)들이 대부분이었다. 자바는 이 문제를 해결하고자 JRE(Java Runtime Environment)가 설치되어 있는 모든 운영체제에서 실행이 가능하도록 만들어졌다. * JRE : JVM(자바 ..

개발 일지/Java 2022.12.21

[Git] Git과 Github

버전 관리 시스템(Version Control System)이란 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 불러올 수 있는 시스템을 말한다. 코드를 수정한 뒤 에디터를 종료했다면 다시 실행한 텍스트 에디터에서 이전 코드로 돌아갈 수 없기 때문에 이런 경우를 위해서라도 이전에 작성한 내용을 보존해야할 필요가 있다. Git은 버전 관리 시스템 중 가장 많이 쓰이는 강력한 도구이다. 실무에서 사용하는 협업 도구(Git)의 사용법을 익히고 오픈 소스(Open Source : 소스 코드가 공개된 소프트웨어) 생태계에 기여할 수 있는 개발자가 되는 것을 목표로 한다. Git은 Linux OS를 만든 리누스 토르발즈가 만든 일종의 프로그램이다. 리누스 토르발즈는 약 26년동안 2천만줄이 넘는..

개발 일지/Git 2022.12.20

[Linux] 사용 권한

임의로 파일과 폴더 하나를 각각 생성하고 ls -l 명령어를 입력하니 다음과 같이 출력되었다. 가장 왼쪽의 표현을 살펴보면 파일 hello.java는 -rw-r--r-- 이라고 출력되었고 폴더 linux는 drwxr-xr-x 라고 출력되었다. 여기서 처음 시작되는 d 와 - 는 각각 directory와 not directory를 나타낸다. 즉, 폴더이면 d로 시작하고 파일이면 -로 시작한다. 이어지는 r, w, x r (read permission) : 읽기 권한 w (write permission) : 쓰기 권한 x (execute permission) : 실행 권한 폴더 linux 좌측을 보면 drwxr-xr-x로 나타내는데 맨 앞은 폴더를 의미하는 d, 그리고 뒤에 rwxr-xr-x 이렇게 rwx가..

개발 일지/Linux 2022.12.19

[Linux] 환경변수(Windows)

Linux 기반의 운영체제에서는 시스템 자체에 전역변수를 설정할 수 있는데, 이렇게 시스템에 설정한 전역변수를 환경변수라고 한다. 환경변수는 환경에 따라 프로그램의 동작에 영향을 줄 수 있는 값들을 의미한다. 운영체제는 환경변수에 따른 문제를 해결하고자 환경변수를 설정하고 프로그램이 환경변수를 찾아서 사용할 수 있도록 도와준다. 즉, 우리가 알고 있는 환경 설정 기능을 제공하는 것이다. 우리는 스마트폰이나 컴퓨터에서 환경 설정을 통해 컴퓨터의 세팅을 설정하는 것처럼 환경변수 설정을 통해 프로그램이 동작하는 환경을 설정할 수 있다. Windows에서는 환경변수를 영구적으로만 설정할 수 있다. 즉, 한번 설정해두면 사용자가 삭제하지 않는 이상 환경변수는 사라지지 않는다. 환경변수 설정하기 1. '환경 변수'..

개발 일지/Linux 2022.12.19

[Linux] 패키지 매니저 - apt

apt (Advanced Packaging Tool)란 리눅스 계열의 패키지 관리(설치, 삭제, 업데이트) 명령어 도구이다. 우분투는 기본적으로 apt라는 패키지 매니저가 내장되어 있다. 터미널을 열어서 프롬프트에 apt라고 입력하면 다음과 같은 화면이 나온다. apt 패키지 매니저 주요 명령어 패키지 목록 갱신 : apt update (관리자 권한 필요) 업그레이드 가능한 패키지 목록을 출력 : apt list --upgradable 전체 패키지 업그레이드(버전 업) : apt upgrade (관리자 권한 필요) 특정 패키지만 업그레이드(버전 업) : apt --only-upgrade install 패키지 이름 (관리자 권한 필요) 패키지 설치 : apt install 패키지 이름 (관리자 권한 필요)..

개발 일지/Linux 2022.12.19

[Linux] 관리자 권한과 경로

컴퓨터를 사용하다 보면 관리자 권한으로 실행한다는 문구를 여러 번 본 적이 있다. 컴퓨터를 구매하고 유저 정보를 등록한 내가 관리자가 아닌가? 라는 생각을 가끔 했었는데 관리자 권한이 필요한 이유가 있다는 것을 알게 되었다. 바로 사용자와 관리자를 명확히 분리함으로써 사용자의 실수로 발생할 수 있는 시스템 에러로부터 운영체제를 보호한다는 것이다. 사용자와 관리자 컴퓨터의 운영체제에는 사용자와 관리자가 있다. 사용자가 우리처럼 노트북이나 PC를 켜고 바탕하면에 진입하기 위해 로그인하는 계정이다. 그리고 관리자는 사용자가 접근할 수 없는 영역에 접근할 수 있는 높은 권한을 가지고 있다. Windows의 초기 버전에는 관리자 권한이 없었다고 한다. 정확히는 관리자와 사용자의 구분 없이, 항상 관리자 권한으로 ..

개발 일지/Linux 2022.12.19

[Linux] CLI 기본 명령어

프롬프트(Prompt) 프롬프트는 컴퓨터 터미널 또는 터미널 애뮬레이터의 CLI의 명령줄 대기모드를 가리킨다. 터미널을 실행시키면 프로그램 하단에 명령어를 입력할 수 있는 커서가 보이는데 키보드로 문자나 숫자를 눌러보면 커서가 있던 자리에 입력한 문자나 숫자가 나타난다. 이처럼 키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간을 프롬프트라고 한다. 명령어 pwd (print working directory) : 현재 위치 확인하기 여기서 directory는 폴더라고도 한다. mkdir (make directories) : 새로운 폴더 생성하기 명령어 mkdir은 생성할 폴더의 이름을 함께 입력해야한다. 명령어와 폴더의 이름을 공백으로 구분한다. mkdir helloWorld ls (list) : 특..

개발 일지/Linux 2022.12.19

[Linux] CLI 공부의 필요성

CLI 기본 명령어를 알아보기에 앞서 CLI에 대해서 알아볼 필요가 있다. 명령어로 컴퓨터를 제어하는 방식을 명령줄 인터페이스(Command-Line Interface, CLI)라고 하며, 우리가 컴퓨터를 사용할 때 적용되는 컴퓨터 제어 방식은 그래픽 사용자 인터페이스(Graphic User Interface, GUI)라고 한다. 우리는 GUI에 더 친숙하지만 프로그래밍을 한다면 CLI를 잘 다룰 줄 알아야 한다. 그 이유는, CLI가 상대적으로 높은 안정성과 빠른 속도를 갖고 있기 때문이다. GUI는 사용자가 쉽게 컴퓨터를 제어할 수 있지만 그래픽에 컴퓨터 자원을 많이 사용할 수밖에 없기 때문에 CIL에 비해 비교적 느리다. 하지만 CIL는 화면에 나타날 내용에 그래픽 작업을 거치지 않아도 되기 때문에..

개발 일지/Linux 2022.12.19