기본 콘텐츠로 건너뛰기

(번역) Piecewise linear function

원문 보기:  https://dawoum.duckdns.org/wiki/Piecewise_linear_function Original article: w:Piecewise linear function 수학(mathematics) 및 통계학(statistics) 에서, 조각별 선형 ( piecewise linear , PL 또는 segmented ) 함수는 그것의 그래프(graph) 가 직진-선분으로 구성된 실수 변수의 실수-값 함수(real-valued function) 입니다. Definition 조각별 선형 함수는 함수의 각각이 아핀 함수(affine function) 인 구간의 모음이 있음을 만족하는 실수(real number) 의 (아마도 비-경계진) 구간(interval) 에 정의된 함수입니다. 만약 함수의 도메인이 컴팩트(compact) 이면, 그러한 구간의 유한 모음이 있어야 합니다; 만약 도메인이 컴팩트가 아니면, 그것은 유한해야 하거나 실수에서 지역적으로 유한(locally finite) 해야 할 수 있습니다. Examples 다음에 의해 정의된 함수는: \(\quad\displaystyle f(x) = \begin{cases}  -x - 3     & \text{if }x \leq -3 \\  x + 3      & \text{if }-3 < x < 0 \\  -2x + 3    & \text{if }0 \leq x < 3 \\  0.5x - 4.5 & \text{i...

Alacritty

원문 보기: https://dawoum.duckdns.org/wiki/Alacritty

Alacritty는 성능과 단순성에 초점을 맞춘 자유와 오픈-소스 GPU-가속된 터미널 에뮬레이터입니다. 결과적으로, 그것은 탭이나 분할을 지원하지 않고 텍스트 파일을 편집함으로써 구성됩니다. 그것은 러스트로 작성되었고 (성능을 위해) OpenGL을 사용합니다.[3][4][5] OpenGL을 사용하는 유사한 터미널 에뮬레이터는 kitty가 있습니다.

Installation

데비안 저장소에서 설치할 수 있습니다:

  • sudo apt install alacritty

latest development version

개발 저장소의 소스를 가져와서 패키지를 만드는 것이 쉽지 않는데, 왜냐하면 러스트 의존성 패키지를 별도로 업데이트해야 하기 때문입니다. Dependency hell로 인해 생각처럼 쉽게 처리되지 않습니다.

이런 이유로, 다른 방법을 시도해 봅니다.

먼저, 패키지 목록을 확인해 보니, 바이너리 파일은 alacritty만 있고 별도의 라이브러리 파일이 존재하지 않습니다.

따라서 바이너리 파일만 현재 개발 소스로부터 컴파일할 수 있으면, 해당 파일만 교체하고 그 외의 파일들은 데비안 패키지에서 제공하는 파일을 그대로 사용해서 패키지를 만들 수 있습니다. 자세한 과정에 대해 Quickly edit a deb package 문서를 참조하십시오.

아래 과정은 바이너리를 만드는 과정입니다:

Configuration

Alacritty는 TOML 형식에서 템플릿 파일을 편집함으로써 구성됩니다.

보통은 사용자 디렉토리 아래에 파일을 만듭니다:

  • mkdir -p ~/.config/alacritty
  • touch ~/.config/alacritty/alacritty.toml

아래는 몇 가지 설정을 보여줍니다:

import = ["~/.config/alacritty/themes/dracula.toml"]

[window]

opacity = 0.9

padding = { x = 5, y = 5 }

decorations = "Full"
decorations_theme_variant = "Dark" # "Light"

dimensions.lines=19
dimensions.columns=80

[font]

normal.family = "D2CodingLigature Nerd Font"
bold.family = "D2CodingLigature Nerd Font"
italic.family = "D2CodingLigature Nerd Font"
bold_italic.family = "D2CodingLigature Nerd Font"

size = 11.25

위에서 사용한 색상 테이블은 아래에서 받을 수 있습니다:

History

Joe Wilm은 2017년 1월 6일 자신의 블로그에서 Alacritty를 발표했습니다. 그는 이를 "기존 터미널 에뮬레이터가 갖는 좌절의 결과. 많은 터미널에서 tmux 내부에서 vim을 사용하는 것은 특히 나쁜 경험이었습니다. 그 중 어느 것도 충분히 빠르지 않았습니다"라고 설명했습니다. 그는 urxvt와 st를 구성하기 어렵다고 생각했고 "X11이 아닌 플랫폼에서 실행할 수 없다"고 비판했습니다.[1]

2018년 9월 버전 0.2.0이 출시되면서 Alacritty는 스크롤백에 대한 지원을 얻게 되었습니다.[6]

2019년 4월에 출시된 버전 0.3.0에서 Alacritty는 베타 단계에 진입했으며 윈도우, 텍스트 리플로우, URL 클릭에 대한 지원이 추가되었습니다.[7]

2020년 7월에 출시된 버전 0.5.0에서는 텍스트 검색 및 복사를 위한 vi 키 바인딩이 있는 모드가 추가되었습니다.[8]

2020년 11월에 출시된 버전 0.6.0에서는 검색을 취소하고 vi 모드를 종료하는 새로운 Ctrl+C 바인딩이 추가되었습니다.[9]

Features

Alacritty는 표준 16 ANSI 색상 외에도 true color를 지원합니다.[10]

Alacritty는 유사한 기능을 터미널 멀티플렉서나 창 관리자를 통해 달성할 수 있기 때문에 탭이나 분할을 명시적으로 지원하지 않습니다.[11][12]

Troubleshootings

색상 변형

Ghostty와 같은 색상 구성표를 사용함에도 불구하고, 다른 색상으로 표시될 수 있습니다. 다음 설정을 추가할 경우에 그런 현상이 발생할 수 있습니다:

  • draw_bold_text_with_bright_colors = true

설정 변경

버전이 바뀌면 설정이 바뀝니다. 좋은 점은 고칠 부분을 지적해 주기 때문에, 조언대로 수정하면 작동합니다.

한글 입력기

첫 문자만 자음/모음이 각각 입력되고 다음 문자부터는 문자가 완성되어야 화면에 출력됩니다. 이 현상은 nimf 입력기에서 발생하고, kime 입력기에서는 정상 작동합니다.


 

댓글

이 블로그의 인기 게시물

리눅스 한글 입력기 (Wayland 편)

원문 보기: https://dawoum.duckdns.org/wiki/한글 입력기/On_Wayland   최근 소프트웨어들의 버전 업그레이드로 인해, X11에서도 님프 입력기에서 문제들이 발생하고 있습니다. 따라서 이제는 X11이든, Wayland이든 kime을 사용하는 것이 바람직해 보입니다!!   리눅스 생태계에서 X11에서 Wayland로의 전환은 여러 가지 새로운 장점과 단점을 만들어 냅니다. 일반 사용자들은 이런 전환이 가진 장점에 열광하기도 하지만 기존에 작동하는 메커니즘이 작동하지 않을 때 더욱 불만을 표출합니다. 리눅스에서 가장 큰 문제점은 한글 입력에 있습니다. 그러나, 이 문제는 거의 한국 사람들에 국한된 문제입니다. 물론, 중국과 일본도 비슷한 처지에 있어서 CJK로 묶어서 얘기가 되지만, 한글은 다른 두 언어에 비해 더 고려할 사항이 있어서 한글 입력기 개발에 어려움이 더해진다고 알려져 있습니다. 이런 상황 아래에서, kime과 nimf는 최근에 한국에서 개발된 두 개의 한글 입력기입니다. 먼저, 개인적인 경험을 기반으로 결론부터 얘기하자면, X11에서는 nimf를 추천합니다. Wayland에서는 kime을 추천합니다. 이유는 간단하게도, X11에서는 nimf가 더 많은 프로그램에서 올바르게 동작했지만, Wayland에서는 X11에서 잘 입력되던 프로그램에서 입력이 되지 않거나 잘못 입력되는 경우가 발생합니다. 반면에 kime은 Wayland에서 nimf가 입력하지 못하는 프로그램에서 입력이 되거나 잘못 입력되던 것이 제대로 입력되는 경우가 있기 때문입니다. 예를 들어, 그놈 Wayland에서 적어도 아래의 현상이 있습니다: gnome-calendar : nimf 입력기 전환 안됨. kime 정상 작동. nimf 이 문제는 gooroom에서 제공되는 gtk4 패치를 이용해 보십시오. kakaotalk (bottles: wine) : nimf 마지막 점을 찍으면 마지막 글자 앞에 찍힘. ...

Btrfs 압축 수준 설정

원문 보기:  https://dawoum.duckdns.org/wiki/Btrfs 보통, 마운트 옵션에서 compress=zstd를 사용할 경우에 압축 레벨 3를 사용하고, HDD와 느린 플래시 스토리지에 적합하다고 알려져 있습니다. 좀 더 빠른 SATA SSD는 압축 레벨 2가 적당하고, NVME는 압축 레벨 1이 적당하다고 합니다: Yup, this is it. On slow storage higher compression levels tend to yield higher total storage throughput because you spend less time bound by slow storage bandwidth, instead you spend CPU time compressing/decompressing that data. The rick is to pick a compression level that yields greater total throughput than storage bandwidth can accommodate on its own. This approach works well on bandwidth limited storage like HDD pools, slow flash nand, flash nand attached to the system via slow USB, etc. On the flip side you don't want to constrain high bandwidth storage by sending data through a compression algorithm that limits throughput so lower compression levels (like zstd:1 on nvme storage, or zstd:2 on fast SATA SSDs) are usually safe choices. —  seaQueue, Btrfs compress level, https://...

원리합계

원문 보기:  https://dawoum.duckdns.org/wiki/원리합계 등비급수 는 대표적으로 닮은 도형의 합을 구하는 것과 원리합계가 있습니다. 닮은 도형의 합은 무한등비급수에서 자세히 설명될 것입니다. 원리합계 는 원 금과 이(리) 자를 합하는 것들을 통칭하는 말입니다. 여기서는 기본 이론으로부터 다음의 네 가지 유형을 생각할 수 있습니다. 기수불 기말불 상환(할부) 연금의 현가 원리합계의 네 가지 유형에 대한 공식을 외우는 것보다는 원금과 이자를 구하는 과정과 등비급수를 만드는 과정을 이해해 두는 것이 필요합니다. 그래야만 이를 응용한 문제들에 적응할 수 있습니다. 원리합계 문제에 대한 분석 등비수열의 합인 등비급수 이므로 공비가 1인 경우와 그렇지 않은 경우로 나누어집니다. 그렇지만 공비가 1인 경우에는 변화 없이 초항이 계속 유지되는 경우이므로 이를 다루지는 않습니다. 한편, 공비가 1이 아닐 때 등비급수의 식은 다음과 같이 구해져 있습니다. \(\quad\)\(\displaystyle S_n=\frac{a_1 (1-r^n)}{1-r}\) 위 식에서 미지수로 둘 수 있는 것은 초항 , 공비 , 항수 뿐입니다. 문제의 표현에 따라 수식을 세우는 기본 방법만 이해한다면, 원리합계와 관련된 문제들은 쉽게 풀 수가 있습니다. 공비 구하기 원리합계와 관련된 문제들은 실생활 문제이므로, 공비가 얼마라는 표현을 쓰지 않습니다. 다음과 같은 형태로 표현됩니다. 현재값의 k%씩 증가한다. 현재값의 k%씩 감소한다. 첫 번째 값이 \(A\)인 경우에 두 번째 값은 다음과 같이 표현됩니다. 증가 \(\displaystyle A+A\times \frac{k}{100}=A\left(1+\frac{k}{100}\right)\) 감소 \(\displaystyle A-A\times \frac{k}{100}=A\left(1-\frac{k}{100}\right)\) 세 번째 값을 구할 때에도 두 번째 값을 \(A\)라고 치환해 버리면 항상 같은 수식을 이용할 수 있...