[글쓴이:] Hello世界세계

  • ubuntu22.04 visual studio code 설치 /의존성이 맞지 않습니다.

    중간에 설치가 안되어서,

    해당 과정도 기록했습니다.

    1. 일단 visual studio code 웹사이트에 가서 deb파일 ubuntu용 64 바이트 부분 다운로드를 받고,

    2. 해당 다운로드 받은 파일 경로로 가서

    cd Download/
    sudo apt get install 다운로드 받은 파일 이름

    으로 쳤는데 에러가 났습니다.

    의존성이 맞지 않습니다. 패키지 없이 ~을 시도해보십시오. 라고 떠서.

    3. apt에 문제가 있는 것 같아서 –fix-broken install로 설치했습니다.

    sudo apt --fix-boken install

    앞에 sudo라고 치지 않으면 해결되지 않음.

    그럼 잘 돌아갑니다.

    다시 2번으로 돌아가서

    설치를 해줍니다.

    sudo apt get install 파일 이름~

    그럼 설치가 완료되고, visual studio code를 볼 수 있습니다.

    터미널 창에 code라고 쳐도 뜹니다.

    끝!

  • GO-linked list와 array

    GO-linked list와 array

    https://go.dev/play/ 로 들어가면 go 언어로 테스트 해볼 수 있다.

    이건 단방향 노드 링크드 리스트 코드인데, 테스트 해봤음. 그래프의 일종이다.

    // You can edit this code!
    // Click here and start typing.
    package main
    
    import "fmt"
    
    type Node[T any] struct {
    	next *Node[T]
    	val  T
    }
    
    func main() {
    	root := &Node[int]{nil, 10}
    	root.next = &Node[int]{nil, 20}
    	root.next.next = &Node[int]{nil, 30}
    
    	for n := root; n != nil; n = n.next {
    		fmt.Printf("node val: %d\n", n.val)
    	}
    }

    양방향으로 추가하려면 next뿐만 아니라 prev도 존재해야 한다. root 설정도 미리 해둬야 하고, prev는 root next는 새로운 노드 값으로 설정하는 것.

    해당 관련해서는 나중에 따로 정리해야 할 듯.

    이 부분은 새로운 숫자를 중간에 추가해주어야 할 때. array 로 만들고 중간에 넣으려고 하면 다음과 같이 뒷 부분은 따로 저장해서 넣어야 하는 단점이 있음.

    package main
    
    import "fmt"
    
    func main() {
    	var a [10]int = [10]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
    	var b [11]int
    
    	copy(b[0:], a[0:5])
    	b[5] = 1234
    	copy(b[6:], a[5:])
    
    	fmt.Println(a)
    	fmt.Println(b)
    }

  • 로지텍 k810, k811리뷰) 왜 단종되었는지

    로지텍 k810, k811리뷰) 왜 단종되었는지

    로지텍 k810, k811 블루투스 키보드를 사용하고 있습니다.

    k810은 2014년도? 2013년도 후반 쯤 샀던 걸로 기억해서 대략 9년 가까이 되어 가는데… 리뷰를… 최신 노트북도 아니고 9년 된 키보드 리뷰하는 이유는 이 키보드가 정말 좋기 때문에.

    그 때 당시 10만원 정도로 주고 샀던 걸로 기억합니다. 그 당시 기준으로는 상당히 고가의 블루투스 키보드였습니다. (그래도 그만큼 가치가 있는)

    중간에 키보드에 키에 문제가 있어서 한 번 교체한 것 빼고는 정말 오랜시간 쓰고 있는데, 키감도 정말 좋고, 작고 들고 다니기 편리해서 외부에 나갈 때 챙겨서 들고 다녔습니다. k810… 꼬질꼬질해보이는데 정말 오랜시간 쓴 키보드! 가볍고, 튼튼하고, 한 번 충전해두면 그 다음 충전 일을 까먹을 정도로 오랜시간 쓸 수 있는.

    뭔가 써본 사람들만 알 수 있는 키보드?

    k810
    k810

    k810과 k811의 차이점은 윈도우 용이냐 맥용이냐입니다.

    k810은 윈도우용! k811은 맥용입니다. 윈도우 로고와 command 로고가 있는 키보드를 볼 수 있습니다. 하지만 윈도우용이라도 맥으로 블루투스 연결해서 쓸 수 있습니다. window키를 command 로 인식해서 쓰면 되고 나머지 자판도 적당히 감으로 맥용 키보드 처럼 쓸 수 있습니다. 그런데 아이패드는 윈도우 용인 k810보다는 맥용 키보드 k811을 좀 더 인식을 잘 되는 듯합니다. (특히 playground 코드 짤 때 어쩔 땐 한글 인식이 이상하게 됨!)

    한글과 영어가 동시에 있는 한글 자판용… k810은 한글자판을 팔 던 때에 샀던 거라서 한글 자판이고, k811을 살 때는 품절? 판매 중단? 절판? 단종? 이라서 한글 자판 없이 영문 자판이 있는 키보드를 구매하게 되었습니다. 키보드 관련해서 주절주절 거리고 있어서 도대체 이 키보드에 대해서 포스팅을 할 정도로 쓸 게 많나 싶지만.

    k811

    저는 이 키보드를 정말 좋아합니다! 엄청 잘 만든 것 같은데 도대체 왜 단종되었는지 이해할 수 없습니다.

    몇 년 쓸 만큼 오래 써서 그런가? 란 생각도 했습니다. (너무 잘 만들어서 단종시킨 건지) 그리고 실용성이 상당히 뛰어나다고 생각합니다. (솔직히 맥 쓸 때 맥에서 주는 매직 키보드 보다 로지텍 키보드 이걸 쓰겠… )

    이해 되지는 않지만, 여전히 잘 쓰고 있습니다. 내년 되면 10년 째 쓰게 되는데, 기계를 처음 살 때는 아예 가격을 조금 들이더라도 좋은 제품을 쓰는 게 장기적으로 봤을 때는 좋다고 생각합니다. 그 중 하나가 이 키보드였습니다.

    이렇게… 정말 오래된 키보드 리뷰 끝 🙂

  • AttributeError: ‘Series’ /’DataFrame’ object has no attribute ‘~’ /

    AttributeError: ‘Series’ /’DataFrame’ object has no attribute ‘~’ /

    AttributeError: ‘DataFrame’ object has no attribute ‘difference’ 혹은 AttributeError: ‘Series’ object has no attribute ‘difference’

    에러를 보고, 얼른 Pandas 라이브러리로 pd로 만들어서 어찌저찌 했는데도 여전히

    에러가 뜨길래 다시 확인해보니

    difference라는 변수명을 가진 열 자체가 없었다. 알고 보니!

    변수명을 만들어주어야 한다!

    data[‘difference’] = data[‘열 이름’] + data[‘열 이름’]

    이런 식으로 만들어주고 호출해주면 된다….고 생각했는데 value error가 떴다.

    ValueError: Data must be at least length 3.

    오… 이 부분은 data.diff로 호출하는지. 아니면 data[‘diff’]로 호출하는지에 따라서 에러가 나는 것 같다.

    data[‘해당 열 이름’]

    으로 호출해주면 돌아간다.

  • Linux Ubuntu22.04 Go 언어 설치하다

    Linux Ubuntu22.04 Go 언어 설치하다

    Go 언어와 Rust 언어가 그렇게 핫하다길래…

    파이썬과 함께 go나 rust도 한 번 배워보라고 하셔서 둘 중 고민하다가 그나마 가장 쉽다는 Go부터 파고들려고 한다.

    저 귀여운 동물은 무엇인가

    우선 Go 웹사이트에 가서 다운로드 받기 링크는 하단에

    https://go.dev/learn/

    여기에서 download하면 리눅스용 tar 파일을 받을 수 있었다.

    윈도우용이랑 맥용, 리눅스용, source 파일도 있었다. 맥용이 친절하게 인텔 맥용이랑 m1맥용을 따로 만든 게 인상 깊었다.

    여기에서 리눅스용을 받고 저기 맨 에 installation instructions.부분을 클릭했다.

    installation 방법이 적혀 있었다. 이대로 치면 에러나더라. 호…

    1. 해당 tar파일을 받은 폴더로 이동해서

    cd Downloads/

    보통 다운로드 파일이니 다운로드 폴더로 이동하고

    2 저기 rm -rf는 관리자 권한으로 실행해야 한다.

    sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.19.2.linux-amd64.tar.gz

    비밀번호 입력하는 란이 있으니 비밀번호 입력

    3 .profile 을 열어서 경로 설정해주기

    nano 열어서 했었는데, 그냥 vim으로 해도 된다.

    홈디렉토리로 이동한 후,

    4 vim .profile해서

    하단에 저 코드를 입력하고

    5 source .profile

    6 그 다음에 go version으로 확인하니 설치되었단 걸 확인했다.

    그리고 돌아가는 걸 확인하기 위해서

    여기 샘플 코드가 있어서 원하는 폴더로 이동 후

    touch hello.go

    만들고

    vim hello.go

    로 들어가서

    그대로 입력해주고 저장했다.

    그 다음으로 터미널에서

    go run hello.go를 쳐주면 되었다.

    그냥 python3 생각해서 python hello.py 처럼 go hello.go 로 쳤다가 에러가 났다.

    go run hello.go 

    였고,

    실행 파일로 빌드하는 건

    go mod init example/hello
    go build
    만들어진 (초록색) 실행 파일

    로 치면 실행파일이 바로 만들어져서

    ./hello

    등으로 치면 실행 되었다.

    설치 끝.

error: Content is protected !!