본문 바로가기

프로그래밍458

git 기본 사용법 git의 간단한 사용법입니다. git은 로컬에 모든 형상 정보를 저장합니다. 여러명이 협력하여 작업할 때는 서버를 따로 두고 공유를 할 수 있습니다. 서버를 사용하더라도 참여하는 모두가 자신의 로컬에 전체 형상 정보를 가지게 됩니다. 1. 파일의 상태 작업 디렉토리내의 파일은 git으로 관리하지 않는 Untracked 파일(추적하지 않는 파일)과 git에 의해 관리하는 Tracked 파일(추적하는 파일)로 나뉩니다. Untracked 파일은 .ignore 파일에 등록하여 git에서 제외합니다. Tracked 파일은 다시 세가지 상태로 나눕니다. 각각 Modified, Staged, Committed입니다. 파일이 처음 작업 디렉토리에 추가되면 Untracked입니다. 이 파일을 "git add" 하면 S.. 2023. 6. 5.
[React] React 프로젝트 만들기(yarn, npx) fedora 리눅스에서 React 프로젝트를 만듭니다. 프로젝트를 만들기 위해서 npx 또는 yarn을 사용할 수 있습니다. TypeScript를 사용하도록 지정하는 방법도 알아봅니다. yarn을 사용하여 생성 yarn을 사용해서 프로젝트를 생성합니다. typescript를 사용하도록 지정합니다. $ yarn create react-app first-app --template typescript 프로젝트들을 한 곳에 모으기 위해 홈 디렉토리 아래에 workspace 폴더를 만들고 그 폴더에서 명령을 실행했습니다. 프로젝트의 이름은 first-app 입니다. workspace폴더 아래에 first-app 폴더가 만들어지고, TypeScript를 사용하는 템플릿이 생성됩니다. 프로젝트 생성 명령 실행시 다음.. 2023. 6. 5.
[리눅스] 사용하지 않을 때 화면 잠금 시간 설정하기 Fedora 리눅스의 그놈에서 사용자의 입력이 없을 때 화면 잠금 시간 설정 방법입니다. 설정 앱을 열고, "개인정보" -> "화면 잠금"으로 들어갑니다. "빈 화면 지연 시간" 부분을 원하는 시간으로 변경 하면 됩니다. "자동 화면 잠금"을 끄면 빈 화면으로 전환되지만 화면이 잠기지는 않습니다. 2023. 6. 5.
[자바스크립트] 구조 분해/비구조화 할당(Destructuring assignment) 구조 분해/비구조화 할당(Destructuring assignment)은 객체나 배열의 내용을 개별 변수로 간편하게 할당하는 방법입니다. 배열의 구조 분해 할당 // 배열 생성 let arr = [ 1, 2, 3 ]; // a, b, c 변수에 각각 할당합니다. let [ a, b, c ] = arr; // 결과 - 1:2:3 console.log(a + ":" + b ":" + c); // 기본 값 지정하기(기본 값이 없으면 undefined이다) let arr = [1]; let [ a=3, b=4 ] = arr; // 결과 - 1:4 console.log(a + ":" + b); // 변수값 교환하기 let a = 1; let b = 2; [a, b] = [b, a]; // 결과 - 2:1 cons.. 2023. 6. 5.
[자바스크립트] 컬렉션(Collections) 자바스크립트에서 사용할 수 있는 데이터 자료구조는 인덱스(index) 기반의 컬렉션과 키(key) 기반의 컬렉션이 있습니다. 인덱스 기반의 컬렉션 인덱스 기반의 컬렉션은 Array 객체와 TypedArray 객체가 있습니다. 1. Array 객체 // new 연산자를 이용해서 생성한다. let arr = new Array(); // 위 코드는 아래와 동일하다. let arr = []; 2. TypedArray는 지정된 타입의 데이터만 저장할 수 있습니다. TypedArray는 실제 생성할 수 있는 타입이 아닙니다. 각 타입별로 객체가 있습니다. Int8Array, Unit8Array, Unit8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array.. 2023. 6. 5.
[Fedora] 화면 비율 조정하기(feat. Gnome Tweaks) 화면 해상도가 2560x1440인 17인치 노트북을 사용하게 되었습니다. 화면에 글자가 너무 작게 보이네요. 글자를 키우는 방법을 알아보았습니다. 설정을 실행해보면 디스플레이 항목에 화면 해상도와 비율을 조정할 수 있습니다. 해상도를 변경해서 글자를 키우려고 하니까, VirtualBox를 사용하고 있는 것이 문제가 되었습니다. VirtualBox 상에서 해상도를 줄이니, 모니터안에 조그맣게 화면이 보여지는것입니다. 비율조정을 사용해서 200%로 올리니까, 원하는 형태로 글자가 커졌습니다. 하지만, 선택할 수 있는 옵션이 100%, 200%, 300%밖에 없었습니다. 150%정도가 원하는 크기입니다. 구글링을 해보니 Gnome Tweaks라는 프로그램으로 비율을 섬세하게 조정할 수 있다고 합니다. Gnom.. 2023. 6. 5.
[자바스크립트] 전개 구문(spread syntax) 전개 구문(spread syntax)는 점 세 개(...)가 이어진 연산자를 통해 사용됩니다. 이 전개 연산자(spread operator)를 배열, 문자열과 같은 반복 가능한(iterable) 요소 앞에 사용해서 배열의 개별 요소를 다른 배열이나 함수의 인자로 펼쳐서 넘기는게 가능합니다. 객체에 대해 전개 연산자를 사용하면 객체의 속성을 넘기는 것이 가능합니다. 말로 설명하려니 좀 이상하네요. 예를 보겠습니다. 함수 인자에 사용 여러 개의 인자를 받는 함수에 배열을 사용해서 한번에 인자를 넘길 수 있습니다. function sum(a, b, c) { return a + b + c; } let nums = [1, 2, 3]; // 전개 연산자를 사용해서 한번에 넘깁니다. let result = sum( .. 2023. 6. 5.
[자바스크립트] 화살표 함수(arrow function) 화살표 함수는 함수를 간편한 문법으로 사용할 수 있도록 한 표현방법입니다. 화살표 함수 정의하기 간단한 익명 함수(anonymous function)의 정의를 보겠습니다. let sum = function(a, b) { return a + b; } 이 익명함수와 동일한 기능의 화살표 함수는 아래와 같습니다. 소괄호 안에 인자 리스트가 있고, 다음에 화살표 모양의 기호(이름이 화살표 함수인 이유), 다음에 반환값을 나타내는 표현식이 옵니다. let sum = (a, b) => a + b; 화살표 함수의 다양한 형태 화살표 함수는 인자의 갯수 본문내의 문장의 갯수등에 따라 조금씩 다른 형태를 사용할 수 있습니다. // 인자가 없을 경우 소괄호만 사용합니다. 소괄호를 생략할 수 없습니다. let val = (.. 2023. 6. 5.
[자바스크립트] 상수 (const)와 심볼(Symbol)의 비교 자바스크립트에서 바꿀 수 없는 값을 지정하기 위해서 const 와 Symbol 을 사용할 수 있습니다. 두 가지의 사용법과 차이점을 알아봅니다. 상수(const) 상수는 선언과 동시에 값을 지정하고, 이후로 변경이 불가능합니다. 중복 선언 또한 불가능합니다. // 선언과 동시에 초기화 합니다. const num = 5; // 이후에 값을 바꾸려고 하면 에러가 발생합니다. num = 10; // 중복 선언을 하려고 하면 에러가 발생합니다. const num = 7; 심볼(Symbol) 심볼은 값을 바꿀 수 없으면서 유일한 값을 만듭니다. 한번 만들어진 값은 자신외에 어떤 값과도 같지 않습니다. // 심볼을 하나 생성합니다. const SUN = Symbol(); // 심볼 생성시 인자값을 줄 수 있습니다... 2023. 6. 5.
OpenOffice Calc에서 행과열을 바꾸기 오픈오피스 Calc에서 행과 열을 바꾸는 방법을 알아봅니다. 아래와 같은 표가 있습니다. 행은 판매처이고 열은 품종으로 되어 있습니다. 이 표를 행은 품종이 열은 판매처가 오도록 아래처럼 바꾸는 것입니다. 1. 원본 표 전체를 선택하고 복사(Ctrl+C) 합니다. 2. 붙여넣기 원하는 곳에 커서를 두고 선택하여 붙여넣기(단축키: Ctrl+Shift+V 또는 메뉴: "편집 -> 선택하여 붙여넣기")를 합니다. 3. 아래 그림처럼 선택하여 붙여넣기 옵션창이 뜨면 아래쪽 "옵션"부분의 "행과 열 맞바꾸기"를 체크하고 "확인"을 누르면 행과 열이 바껴서 붙여넣기가 됩니다. 오픈 오피스에서 행과열을 바꾸는 방법을 알아보았습니다. Microsoft Excel에서는 붙여넣기 옵션에 행과 열을 바꿔서 붙여넣는 기능이 .. 2023. 6. 5.
VirtualBox 디스크 확장하기(Fedora 37 Workstation) VirtulaBox에 Fedora 37 Workstation을 설치했습니다. 설치시에 디스크 크기를 기본값인 8GB로, 디스크 타입은 VDI로 설정을 했었습니다. 프로그램 몇가지 설치하지 않았는데 금방 용량이 부족하다는 메세지가 뜨네요. 디스크 크기를 10GB로 확장하였습니다. VirtualBox디스크 확장은 크게 두가지 단계를 거칩니다. 1. VirtualBox에서 디스크 크기를 늘립니다. 이는 물리적인 디스크 크기를 늘리는 것과 같다고 생각하면 됩니다. 2. 운영체제의 논리 파티션 크기를 늘립니다. 이를 위해서 Gparted라는 소프트웨어를 사용했습니다. 이제 확장해 봅니다. 먼저 VirtualBox를 실행해서 디스크 크기를 늘립니다. 이를 위해서 가상머신은 "전원 꺼짐" 상태에 있어야 합니다. "파.. 2023. 6. 5.
JupyterLab과 Jupyter notebook 알아보기 Python에 대해 이것저것 알아보다 보니, 많이 보이는 것이 Jupyter notebook이라는 것이었습니다. 그래서 이게 뭘까 찾아 보았습니다. Jupyter 프로젝트의 공식 사이트는 https://jupyter.org/ 입니다. Jupyter프로젝트는 "모든 프로그래밍언어에서의 대화형 컴퓨팅을 위한 무료 소프트웨어, 개방형 표준 및 웹 서비스"를 모토로 하고 있었습니다. 처음에는 Jupyter notebook이라는 말을 듣고, 노트북 컴퓨터를 예기하나 생각했었는데, 역시 notebook 컴퓨터는 콩글리시이고, 본토의 의미대로 공책인 notebook을 말하는 것이었습니다. 아래 이미지는 Jupyter Notebook을 실행한 모습입니다. Chrome 웹 브라우저 상에 실행되어 있습니다. Noteboo.. 2023. 6. 5.
Fedora 37 + Visual Studio Code환경에서 Python패키지 설치와 가상환경 사용하기(feat. matplotlib, tkinter) Fedora 37 + Visual Studio Code 환경에서 가상환경을 만들고 패키지를 설치하는 방법을 알아봅니다. 예제로 matplotlib를 설치하고 그래프를 그려보겠습니다. Linux에서 실행되는 Visual Studio Code는 WSL(Windows Subsystem for Linux)을 사용해서 터미널을 실행하고 프로그램들을 실행합니다. WSL 내에서 실행되는 matplotlib은 WSL의 UI 지원 부족으로 그래프를 보여줄 수 없습니다. 그래서 tkinter를 설치해서 그래프를 출력합니다. tkinter는 Python interface to Tcl/Tk로 Tcl/Tk GUI 툴킷을 사용할 수 있도록 해 줍니다. 1. tkinter를 설치합니다. sudo dnf install python3.. 2023. 6. 5.
Fedora 37 + Visual Studio Code에서 Python사용하기 리눅스 Fedora 37에 설치된 Microsoft Visual Studio Code에서 Python을 사용해 보겠습니다. Fedora 37 Workstation을 설치하면 기본적으로 Python 인터프리터가 설치되어 있었습니다. 아래 명령어로 설치된 python을 확인할 수 있습니다. 설치된 python의 버전은 3.11.1이었습니다. python --version Python이 설치되어 있으므로 Visual Studio Code에 Python 확장을 설치합니다. Visual Studio Code를 실행하고, 왼쪽 메뉴바에서 확장 아이콘을 클릭하여 마켓플레이스를 열고 python으로 검색합니다. 검색된 확장들 중 Microsoft에서 나온 Python 확장을 설치합니다. Python확장이 설치되었습니다.. 2023. 6. 5.
리눅스 Fedora 37에 Visual Studio Code 설치하기 Fedora 37에서 사용할 개발툴로 Microsoft Visual Studio Code를 설치합니다. 설치 방법은 Visual Studio Code 공식 사이트인 https://code.visualstudio.com/docs/setup/linux 에 리눅스 배포판 별, 버전 별 설치 안내가 자세히 나와 있습니다. Fedora 37에 설치하는 방법을 보겠습니다. 명령들은 관리자 권한으로 실행되어야 하므로 sudo 명령을 사용하고 있습니다. 먼저 Microsoft저장소를 사용할 수 있도록 추가하는 과정입니다. rpm --import 명령으로 검정용 키를 추가합니다. 다음으로 저장소 파일인 "/etc/yum.repos.d/vscode.repo" 파일을 생성합니다. sudo rpm --import https:.. 2023. 6. 5.