반응형
작성일: 2024년 4월 26일

 

 

Ubuntu 24.04 (Noble Numbat)이 정식 릴리즈되었다.

ubuntu.com 홈페이지에 들어가면 24.04 릴리즈 소식을 바로 볼 수 있다.

 

Ubuntu 24.04 Noble Numbat 릴리즈 소식을 전하는 Canonical 홈페이지 화면

 

지금 Ubuntu 24.04를 사용할 일은 없지만, 새로운 OS이니까 설치해봐야지 ^^

 

i9 CPU가 장착된 Desktop PC에서 KVM을 이용해서 Ubuntu 24.04를 설치해봤다.

ISO 파일을 다운로드한 시간을 제외하면, 실제로 OS 패키지를 설치한 시간은 대략 6분 정도 걸렸다.

Ubuntu 24.04를 부팅한 직후에

  • Chromium 브라우저를 설치하고, YouTube에서 4K 영상 재생.
  • SSH 설정해서 외부에서 접속.
  • Remote Desktop도 설정해서 접속.

30분 정도 사용해봤을 때, UX 측면에서 Ubuntu 22.04와 거의 바뀐 것은 없다. 

내가 알아낸 UX 측면의 변화는

  • [ Settings / Sharing ] 화면에서 Remote Desktop 기능이 빠짐
  • [ Settings / System ] 화면에 Remote Desktop 기능이 추가됨

즉, [ Remote Desktop ] 설정 메뉴가 [ Sharing ] 하위 메뉴에서 [ System ] 하위 메뉴로 이동했다.

 

Ubuntu 24.04 Noble Numbat 설치한 모습

 

 

 

며칠 더 사용해보고, 이슈가 있으면 여기에 메모를 추가하겠음~

 

 

2024년 4월 26일에 발견한 이슈.

내 PC에서는 문제가 없었는데, 회사의 동료들은 Ubuntu GUI Desktop 환경에 문제가 있다고 한다.

"Terminal" 앱을 제외하고 모든 GUI 창 모서리가 "깜빡~깜빡~"하면서 창 모양이 사라졌다 다시 보였다 하는 현상이 있다.

(1초에 10번 정도 깜빡이는 것처럼 보임)

그래서 동료들은 Ubuntu GUI Desktop 없이 Ubuntu Server 패키지만 설치해서 SSH 접속해서 사용하고 있다.

참고로, 이렇게 GUI 화면이 깜빡이는 동료들의 PC 운영 환경은 아래와 같다.

  • Baremetal --> 설치 단계부터 GUI가 안 보임
  • VirtualBox --> GUI Desktop 화면이 깜빡이는 현상 발생

정상적으로 잘 동작하는 경우는 아래와 같다.

  • KVM / Qemu 환경에 VM으로 Ubuntu 24.04를 설치한 경우 --> 정상 동작

 


 

반응형
작성일: 2024년 4월 25일

 

Go 언어를 2015~2020년 사이에 사용하고, 그 뒤로 거의 쓰지 않다가 오늘 go-pktgen 소스 코드를 보다가

몇년 사이 golang에 많은 변화가 있다는 것을 알았다.

내가 Go 언어를 좀 사용할 줄 안다고 생각했는데, 아니다. ㅠㅠ

새로운 Golang Feature도 파악하고, 다시 기억도 좀 살리기 위해 Golang 학습 문서를 봐야겠다. ㅠㅠ

 

오늘 기준으로 볼만한 온라인 문서를 찾아보니... 아래와 같다.

 

Effective Go (Go Official Site)

영어 문서: https://go.dev/doc/effective_go 

한국어 문서: https://gosudaweb.gitbooks.io/effective-go-in-korean/content/

 

Tucker의 Go 언어 프로그래밍 / 동영상 강의

YouTube 채널, Playlist: https://www.youtube.com/playlist?list=PLy-g2fnSzUTBHwuXkWQ834QHDZwLx6v6j

 

Tucker의 Go 언어 프로그래밍 (2021년, 공봉식)

종이 책(또는 eBook) 중에서는 이 책이 가장 괜찮은 것 같음 (나의 주관적 느낌)

 

Tucker의 Go 언어 프로그래밍 (책 표지)

 

 

Facebook 그룹

가끔 Facebook을 통해서 공식 행사를 알려준다. (예를 들어, GopherCon Korea 2024 같은 이벤트)

https://www.facebook.com/groups/golangko

 

 

 

 


 

반응형

 

작성일: 2024년 4월 25일

 

양수리 성당 ~ 봉주르 스퀘어 카페 ~ 팔당대교

  • 왕복 2시간 코스이고, 모두 평지라서 쉽게 다녀올 수 있을 듯.
  • 중간에 자동차 도로를 만나지 않으니까 안전함.

자전거 라이딩 코스: 양수리 성당 ~ 봉주르 스퀘어 카페 ~ 팔당대교

 

 

 

 

봉주르 스퀘어 카페 / 3층 전망대에서 보는 풍경

 

봉주르 스퀘어 카페 / 마당 풍경

반응형

 

작성일: 2024년 4월 24일

 

 

설치 작업을 시작하기 전에...

주의 - macOS에 기본 제공되는 VIM을 사용하는 경우 -> Homebrew로 재설치

모든 경우에 해당되는지 모르겠지만, 내 경우 macOS에 기본 제공되는 vim editor를 사용했더니

아래처럼 vim editor 화면에 E319 에러가 떴다.

VIM E319 Error

 

VIM E319 Error

 

아래와 같은 해결 방식이 정석인지는 모르겠지만, 내 경우에는 문제없이 vim과 vim-go 등 vim plugin들이 잘 동작했다.

따라서 macOS를 사용하는 사용자라면, Homebrew를 통해서 vim을 재설치하는 것을 추천한다.

 

$ brew remove vim
$ brew cleanup
$ brew install vim

 

그리고 macOS에 설치된 기본 vim editor보다 homebrew를 통해 설치된 vim editor의 실행 순서를 앞 당기기위 해서 아래와 같이 .zshrc 파일에 2줄을 추가한다.

 

$ cat ~/.zshrc
... 중간 생략 ...
alias vi=/opt/homebrew/Cellar/vim/9.1.0350/bin/vim
alias vim=/opt/homebrew/Cellar/vim/9.1.0350/bin/vim
... 중간 생략 ...

 

 

주의 - vim 버전 확인

$ brew info vim

 

만약, vim 8.0 이상이 아닌 경우라면 vim을 최신 버전으로 재설치

$ brew unlink vim
$ brew uninstall vim
$ brew install vim

 

 


 

 

 

공식 문서를 한번쯤 읽어주는 예절...

 

fatih/vimgo 공식 문서 열기

 

 


 

vim-plug 설치

vim-plug는 vim에서 사용할 수 있는 plugin manager로써 plugin을 설치하고 사용할 수 있게 해준다.

$ curl -fLo ~/.vim/autoload/plug.vim \
--create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

 

vim-go 및 기타 plugin 설치

${HOME}/.vimrc 파일에 설치할 plugin을 정의한다.

$ vi ~/.vimrc

... 중간 생략 ...

" ------------------------------------------
" vim-go 설정
" -----------------------------------------
filetype plugin indent on

" vim-Plug Plugin List
call plug#begin('~/.vim/plugged')

" 자동완성을 해주는 Plugin.
" :CoCInstall coc-<lang> 으로 지원되는 Language 설치가 가능
" NOTE: 내 경우는 아래 neoclide/coc.nvim을 설치하지 않았다.
"       왜냐하면, 나는 node.js를 사용하지 않기 때문.
" Plug 'neoclide/coc.nvim', {'branch': 'release'}

" 많이 사용되는 plugin list
Plug 'majutsushi/tagbar'
Plug 'vim-airline/vim-airline'
Plug 'tpope/vim-fugitive'

" vim-go 사용을 위한 Plugin
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }

" 자동 완성 Plugin 이다.
Plug 'SirVer/ultisnips'
Plug 'maralla/completor.vim'

" Misc utilities
Plug 'milkypostman/vim-togglelist'
Plug 'AndrewRadev/splitjoin.vim'
Plug 'mhinz/vim-startify'

" preview plugin
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } " fzf 사용시 꼭 설치;  ~/.fzf 에서 ./install --all 실행해야 함.
Plug 'junegunn/fzf.vim'

" Initialize plugin system
call plug#end()

... 중간 생략 ...

 

 

${HOME}/.vimrc 파일을 저장하고, 아래와 vim 편집기를 실행 후 vim 내부 명령을 수행한다.

$ vim 

... 중간 생략 ...

:PlugInstall

 

수십 초 정도 시간이 흐르면서 plugin을 설치할 것이다. (시간이 많이 걸리니까 다른 일을 하면서 신경을 끄는게 좋다)

vim plugins 설치 화면

 

 

 

 

vim-go 관련 설정 (개인 취향에 따라 설정 값 정하기)

아래 vim-go 관련 설정은 개인 취향에 따라 값을 정하면 된다.

 

$ vim ~/.vimrc

... 중간 생략 ...

" -------------------------------------------------------
" NOTE: *.go 파일을 저장할 때 Auto formatting하고, 
"       관련 go package를 자동으로 .go 소스 코드 파일에 추가해준다.
let g:go_fmt_command = "goimports"
let g:go_list_type = "quickfix"
let g:go_addtags_transform = "camelcase"

let g:go_autodetect_gopath = 1
let g:go_highlight_types = 1
let g:go_highlight_fields = 1
let g:go_highlight_functions = 1
let g:go_highlight_function_calls = 1
let g:go_highlight_extra_types = 1
let g:go_highlight_generate_tags = 1
let g:go_highlight_operators = 1
let g:go_auto_type_info = 1
let g:go_auto_sameids = 1

" NOTE: 문서를 Popup window 형태로 보여주기 (:GoDoc 명령)
let g:go_doc_popup_window = 1 

" NOTE: go source code 작성할 때, 실시간으로 자동 완성할 추천 문장을 보여줌.
let g:completor_filetype_map = {}
let g:completor_filetype_map.go = {'ft': 'lsp', 'cmd': 'gopls - remote=auto'}

" NOTE: quickfix 이동 및 open/close
nnoremap <C-n> :cnext<CR>
nnoremap <C-p> :cprevious<CR>
nnoremap <LocalLeader>q :call ToggleQuickfixList()<CR>

" NOTE: Coverage toggle
nnoremap <LocalLeader>c :GoCoverageToggle<CR>

" NOTE: Go 프로그램을 build, run, test하는 명령에 대한 설정
autocmd FileType go nnoremap <Tab>b :GoBuild<CR>
autocmd FileType go nnoremap <Tab>r :GoRun<CR>
autocmd FileType go nnoremap <Tab><Tab>r :GoRun %<CR>

autocmd FileType go nnoremap <Tab>t :GoTest<CR>
autocmd FileType go nnoremap <Tab><Tab>t :GoTestFunc<CR>
autocmd FileType go nnoremap <Tab>c :GoCoverageToggle<CR>
" -------------------------------------------------------

... 중간 생략 ...

 

 

vim-go 및 관련 plugin 설치 완료

 

 

간단하게 vim-go 동작 유무 확인하기

 

아래와 같이 새 파일 my-main.go 를 편집해보다.

$ vim  my-main.go

 

아래와 같이 기본 소스 코드 틀이 만들어진 .go 파일이 자동으로 생긴다.

vim-go가 자동으로 만들어준 새 소스 코드 파일

 

 

 

 

vim-go 사용법

 

 

많은 분이 잘 정리했으니까, 아래 문서를 보는 것을 추천!

 

A 문서 링크 열기

 

B 문서 링크 열기

 

 

 

 

 


 

반응형
작성일: 2024년 4월 22일

 

 

종이로 된 사용 설명서를 항상 책상 위에 올려 놓고 보면, 책상이 깔끔하지 않아서 종이된 사용 설명서를 치우고 공식 웹 문서를 보려고 했다.

그런데 이 Rainy75 키보드의 공식 홈피인 wobkey.com 에는 사용 설명서(Use Manual)을 제공하지 않는 것 같다. ㅠㅠ

(내가 못 찾는 것일 수도... ㅠㅠ)

 

그래서 가끔 키보드 설정이 필요할 때, 블로그에서 보려고 사진으로 박재했다.

 

 

Rainy75 User Manual (English)

RAINY75 User Manual (Windows / MACOS 전환)

 

 

 

 

RAINY75 User Manual / Multimedia combination shortcuts

 

 

 

 

RAINY75 User Manual / Lighting effect control / 키보드 백라이트 제어

 

 

 

RAINY75 User Manual / Check Battery Level (배터리 확인)

 

 

 

 

 


 

 

 

 

레이니75 키보드 한글 사용 설명서

아래 한글로 작성된 매뉴얼은 [ KypeKBD 카페 ]에서 제작한 것이다.

원문(PDF 파일)은 TypeKBD 카페 에서 열람할 수 있다.

 

 

레이니75 키보드 매뉴얼 (한글) / 윈도우 & macOS 간 전환

위 이미지 출처: KypeKBD 카페 

 

 

 

레이니75 키보드 매뉴얼 (한글) / 멀티미디어 조합 단축키

 

위 이미지 출처: KypeKBD 카페 

 

 

레이니75 키보드 매뉴얼 (한글) / 조명 효과 제어

 

위 이미지 출처: KypeKBD 카페 

 

 

레이니75 키보드 매뉴얼 (한글) / RGB 라이트 설정

 

위 이미지 출처: KypeKBD 카페 

 

 

 

레이니75 키보드 매뉴얼 (한글) / 배터리 상태 확인 및 무선 연결 & 블루투스 연결 & 유선 연결 설정 방법

위 이미지 출처: KypeKBD 카페 

 

 

레이니75 키보드 매뉴얼 (한글) / Q&A

위 이미지 출처: KypeKBD 카페 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

반응형
작성일: 2024년 4월 19일

 

 

Rust Programming 책을 구입해서 읽기 어려운 상황이라면, 아래의 온라인 문서를 추천.

 

https://doc.rust-kr.org/

 

The Rust Programming Language - The Rust Programming Language

Steve Klabnik, Carol Nichols 지음. 기여해주신 러스트 커뮤니티 여러분과 한국어 번역에 참여해주신 분들께 감사드립니다. 이 텍스트 버전은 여러분이 (2023년 2월 9일에 출시된) 러스트 1.67.1 혹은 이후

doc.rust-kr.org

 

 

 


 

반응형
작성일: 2024년 4월 18일

 

 

example.com에 대해서 새로 변경된 DNS Record 정보를 가져오게 하려면

기존에 내 Local Host의 DNS Cache에 저장된 DNS Record를 삭제해야 한다.

 

macOS를 사용하는 경우라면, 아래와 같이 명령을 수행하면 DNS Cache를 삭제할 수 있다. (또는 DNS 초기화, Flush, Reset)

 

$ sudo dscacheutil -flushcache

$ sudo killall -HUP mDNSResponder

 

 

## DNS Cache를 flush하기 전에는 CURL 같은 Application이 
## 예전에 조회해서 얻었던 Old IP address를 사용한다.
$ curl -v my-example.kr:8080
  Trying 12.15.20.38:8080...
  ... 중간 생략 ...


## DNS Cache를 flush
$ sudo dscacheutil -flushcache

$ sudo killall -HUP mDNSResponder

## DNS Cache를 flush한 후에는 CURL 같은 Application이
## 새 DNS Record를 조회하고, 새로 얻은 IP Address를 사용한다.
$ curl -v my-example.kr:8080
  Trying 19.12.25.113:8080...
  ... 중간 생략 ...

 

 

 

 

 

 

 


 

반응형
작성일: 2024년 4월 16일

 

 

Network(특히 ONOS, VPN), Linux OS, Kubernetes, GNS3, Raspberry Pi 등 관련 내용을 구글링하다보면, 자주 '톨티의 공작소'가 검색 결과로 뜬다.

그래서 의도하지 않게 '톨티의 공작소' 블로그를 보게 된다.

 

인터넷 문서(블로그)에 이렇게 정성과 공을 들여서 컨텐츠를 만들어주니, 나 같은 열람자(Reader) 입장에서는 고맙다.

문서 중간에 그림, 표 등이 많이 있어서 바쁠 때는 쓱 훑어보기에도 좋다.

 

https://m.blog.naver.com/love_tolty

 

톨티의 공작소 : 네이버 블로그

Tolty의 하드웨어 소프트웨어 공작소 입니다.^^

m.blog.naver.com

 

 

 

 

 

 

+ Recent posts