Close() 메소드를 찾지 못함

go 인 액션 255페이지(ebook) 8장 예제 8.46을 맥북에서 실습중 os.Create()가 *os.File을 f에 반환하는데 f는 Close() 메소드를 찾지 못하고 있어서 이걸로 삽질......

 

https://cs.opensource.google/go/go/+/refs/tags/go1.19.2:src/os/file_posix.go;l=21 

 

https://cs.opensource.google/go/go/+/refs/tags/go1.19.2:src/os/file_posix.go;l=21

 

cs.opensource.google

 

Close 메소드 소스를 보니
5번째 줄에 go:build unix || (js && wasm) || windows 로 되어 있음

아마도 내가 맥북을 써서 darwin 운영체제로 기본값이 되어 있을꺼라 예측하고 내 컴퓨터에서 /usr/local/go/src/os/file_posix.go 파일을 찾음

 

file_posix.go 파일이 무시되고 있음.

'file_posix.go' is ignored by the build tool because of the OS mismatch

file_posix.go가 빌드툴에 의해서 무시되고 있다. OS 미스매치 때문에

라고 바로 나옴 Edit settings를 클릭

OS를 변경

go:build unix || (js && wasm) || windows || linux 에 맞춰서 OS를 windows로 변경 후 OK

그러면 Close() 메소드 사용 가능 해짐

 

 

# 맨 아래 코드 먼저 보시고 설명 읽으시길 추천!!!

 

메서드 집합(method sets)

값의 관점에서 본 메서드 집합
메서드 수신자
T (t T)
*T (t *T)

- 설명

T        (t T) : 값 u는 T이고,  notify메서드에서의 수신자 (u user)는 (t T)를 뜻한다.

*T      (t T) 그리고 (t *T) : &u는 *T이고, notify메서드의 수신자 (u *user) 또는 (u user)는 (t T) 와 (t *T)를 뜻한다.

 

수신자의 관점에서 본 메서드 집합
메서드 수신자
(t T) T와 *T
(t *T) *T

-설명

(t T)        T와 *T  : notify메서드에서의 수신자 (u user)는 (t T)이고, u와 &u는 T와 *T를 뜻한다.

(t *T)      *T  : notify메서드의 수신자 (u *user)는 (t *T)이고, &u는 *T를 뜻한다.

 

 

package main

import "fmt"

 

type notifier interface {

    notify()

}

 

type user struct {

    name  string

    email string

}

 

func (u *user) notify() { // (u *user) 수신자

    fmt.Printf("사용자에게 메일을 전송합니다: %s<%s>\n", u.name, u.email)

}

 

func sendNotification(n notifier) {

    n.notify()

}

func main() {

    u := user{"Bill", "bill@email.com"} // u값

    sendNotification(u) //&u로 전달해야 컴파일 가능

}

 

현재 이코드는 작동하지 않는데 이유는 notifier interface가 nofity() 메서드를 가지고 있는데 

notify메서드의 수신자는 u *user(포인터 수신자)이다. 하지만 main에서 sendNotification 인수로 &u가 아닌 u를 전달하고 있다.

위의 메서드 집합에 따르면 메서드 수신자 (u *user) 포인터 이므로 &u 같이 주소만를 전달할 있다. 

 

출처 : 책. Go 인 액션 132쪽 메서드 집합

x := 42 //int
y := 42.34543 // float64

이렇게 golang에서 타입선언 없이 := 연산자와 같이 값을 할당하면 정수는 int로, 실수는 float64로 자동으로 타입이 정해집니다.

int는 컴퓨터 시스템에 따라서 32비트 또는 64비트 입니다.
float64는 실수형 기본값

For instance, int32 and int are not the same type even though they may have the same size on a particular architecture.

int32와 int가 특정 시스템에서 사이즈가 같더라도 같은 타입이 아니라는 말이네요.
쉽게 설명하면 위에서 컴퓨터 시스템에 따라서 int는 32 또는 64라고 했는데 시스템이 32비트면 int는 32비트입니다.
그렇다고 해서 타입 int32와 int가 같은 타입은 아니라는 말입니다.

아키텍쳐 종류 출력

package main

import (
"fmt"
"runtime"
)

func main() {
fmt.Println(runtime.GOARCH) //아키텍쳐 종류
}

출력해보니 amd64가 나오네요.
64비트라는 뜻

Go 변수 초기 기본값

https://go.dev/ref/spec#The_zero_value
Each element of such a variable or value is set to the zero value for its type: false for booleans, 0 for numeric types, "" for strings, and nil for pointers, functions, interfaces, slices, channels, and maps.

초기 기본값
Booleans는 false
Numeric types(수 타입 : int, float)은 0
Strings(문자열)은 “” 빈 문자열
나머지 (포인터, 함수, 인터페이스 슬라이스 채널 그리고 맵)은 nil

var a int // 0
var b string // “”
var c bool // false
var d *int // nil

안녕하세요~

 

노트북에 붙일 스티커를 찾고 있었는데 국내에는 IT 스티커가 별로 없더라고요.

그래서 레드버블(REDBUBBLE)이라는 해외 사이트에서 스티커들을 구매 했습니다.~

이제부터 구입 방법을 설명해 드릴게요.

 

https://www.redbubble.com/

 

Awesome products designed by independent artists | Redbubble

Weirdly meaningful artMillions of designs on over 70 high quality products. Purchases pay artistsMoney goes directly into a creative person's pocket. Socially responsible productionWe're investing in programs to offset all carbon emissions.

www.redbubble.com

 

1. 장바구니

1. 스티커를 고르시고 장바구니로 가시면 이런 화면이 나옵니다

현재 4개 스티커 기준으로 배송비가 13.59달러 입니다.

스티커 마감 종류(Matte/Glossy/Transparent), 수에 따라서 배송비가 달라질 수 있습니다.

 

2. 배송 날짜 선택

2. 이제 배송 종류를 선택해야 됩니다. 총 두개로 나뉘어져 있습니다.

- 첫번 째는 배송비는 싸지만 더 늦게 받는 방식입니다. (5월 23-25일 사이에 도착 예정)

- 두번 째는 배송비는 비싸지만 더 빨리 받는 방식입니다. (5월 10일 도착 예정)

저는 첫번 째 방식으로 진행하겠습니다. 첫번 째 클릭

Shipping to KOREA, REPUBLIC Of 이쪽이 다른 나라로 설정되어 있으면 KOREA, REPUBLIC Of로 바꿔주세요.

 

 

3. 결제 방식

3. 이제 결제 방식을 설정하셔야 해요.

비자 또는 마스터카드로 결제하실 거면 Pay by Credit Card를 누르시면 돼요.

 

4. 주소

4. 주소를 이제 입력하셔야 되는데요.

일단 한국 주소를 영문으로 변환시켜야 합니다.

https://www.juso.go.kr/  이 사이트로 가셔서 도로명 주소 입력하시면 오른쪽에 영문 클릭하시면 바뀝니다.

그리고 이제 위의 사진 예시를 보시고 입력하시면 돼요.

 

다 입력하셨으면 Continue를 눌러주세요.

 

5. 결제 정보

5. 이제 마지막으로 결제 정보를 입력하시면 돼요

Save this card for next time : 다음번에도 이용하시기 편하게 카드 정보를 저장하는지 체크

Same billing & shipping info : 배송정보랑 동일한 곳으로 청구할지 체크

 

그리고 이제 Pay를 누르시면 배송현황이랑 영수증이 메일로 가실거에요.

 

 

배송 도착

 

6. 이런 메일을 받으시면 도착했다는 건데 실제로는 도착하지 않았어요.

이게 아마 공항이나 배송지에 도착했다는 걸 거에요.

저는 3월 12일날 이 메일을 받았어요.

 

Estimated Delivery(예상된 배달) : 예상 배달일은 3월 9~11일

주문한 날짜 : 2월 16일

실제 도착일 : 3월 17일

 

택배로 도착하는게 아니어서 문앞에 오는게 아니고 우편함으로 오네요. 사진 첨부하겠습니다 ㅎ.

 

스티커

 

개발자 스티커

저는 마감은 Matte로 했습니다.

생각보다 크네요 ㅎㅎ

 

만약 배송이 너무 지연되시면

https://www.facebook.com/Redbubble/ 에서 메세지를 보내시면 친절하게 답변 해주십니다.

대화는 영어를 사용해야 합니다. +충분히 구글번역기와 함께 가능

IntelliJ IDEA의 개발사 JetBrains에서 2011년에 공개한 오픈 소스 프로그래밍 언어. JVM 기반의 언어 코틀린(Kotlin)입니다. 2017년에는 구글이 안드로이드 공식 언어로 코틀린(Kotlin)을 추가 했습니다.

 

https://book.naver.com/bookdb/book_detail.nhn?bid=14644223 

 

코틀린 프로그래밍

2019년 가장 유망하고 배워 둘 가치가 있는 프로그래밍 언어 중 하나로 선정된 코틀린!‘빅 너드 랜치’의 풍부한 소프트웨어 교육과 개발 노하우가 담긴 코틀린 서적!코틀린은 객체지향뿐만 아

book.naver.com

 

-책 소개

코틀린을 공부하기 위해서 빅너드 랜치의 코틀린 프로그래밍 책을 읽어봤습니다.

이 책은 번역서 이고요 영문책이 처음 발행된 날짜는 2018년 6월 입니다. 번역서는 다음 해인 2019년 3월달에 출간 되었습니다.

코틀린 공식 홈페이지에서 추천하는 책으로 올라와 있습니다.

https://kotlinlang.org/docs/books.html

 

Kotlin books | Kotlin

 

kotlinlang.org

 

-책 후기

자바를 모르시고 읽어도 문제는 없습니다. 하지만 가끔식 자바랑 비교해서 설명하기도 합니다. 그리고 책은 무조건 처음부터 읽으시는게 좋습니다. 왜냐하면 문법을 기준으로 프로젝트를 완성해 나가는 구조입니다. 문법을 설명하고 프로젝트에 적용하는 구조입니다. IDEA는 Jetbrains에서 만든 IntelliJ를 사용합니다. 운영체제는 맥os와 윈도우 두개를 기준으로 설명하고 있습니다. 설명은 초보자가 읽기에 괜찮은 것 같습니다.

 

책구조는 문법 설명 -> 예제작성 그리고 프로젝트에 문법적용 -> 궁금증 해소기하기 -> 챌린지 형태로 구성되어 있습니다. 챌린지는 꼭 푸시기 바랍니다.

 

챌린지 답을 공유하는 사이트가 있는데 답은 여기서 참고용으로만 비교하시기 바랍니다. 

https://forums.bignerdranch.com/c/kotlin-programming/631

 

Kotlin Programming: The Big Nerd Ranch Guide

Errata (1st Edition) Last updated: 10/22/2018 On page 74, an invocation of runSimulation(String, (String, Int) -> String) in Listing 5.8 is changed from Listing 5.7. It should be struckthrough. On page 131, the following sentence is duplic…

forums.bignerdranch.com

 

 

 

코로나 검사 받은 시각 : 2022.01.22

안녕하세요~

독일에서 한달 반 정도 여행하고 귀국용 pcr 테스트를 받았습니다.

이 사이트에서 예약을 하고 갔습니다. (사이트 예약시 대기 안하셔도 돼요)

https://coronatest.de/book/?lang=en 

 

비용 : 49.99유로

테스트 받은 시간 : 2022.01.22 오후 15:17

결과 이메일로 받은 시간 : 2022 01.23 오후 22:46

출국시간 : 2022.01.24 15:40

방문시 준비물 : 여권

 

물어보니 당일날 샘플 채취해서 오후6시에 연구실로 보내진다고 하더라고요.

사이트를 클릭해서 들어가시면 예약하시는 홈페이지가 나와요.

 

 

1. Test location 에서 위치를 지정하셔야 돼요.

2. 어떤 pcr 테스트를 받으실건지 설정하셔야 돼요(저는 RT-PCR Nose-Throat-Swab 49.99 유로로 했습니다.)

 

 

3. 저는 Test result printed on site - €5 (Incl. VAT)를 선택했습니다. 물어보니 5유로를 더 내야되긴 하지만 98% 확률로 24-36시간안에 온다고 하더라고요. Test result via email보다 확실히 빨리온다고 하네요.

 

4. Are you vaccinated?에서 저는 백신을 맞아서 Vaccinated를 선택했습니다.

5. Have you tested positive for COVID-19 in the last 5 days?에서 코로나 테스트(COVID-19)에서 5일안에 positive를 받은적 있냐고 물어보길래 테스트 자체를 한적이 없어서 No

 

 

6. First name에 이름을 넣으시면 돼요

7. Last name은 성

8. Date of Birth는 생년월일

9. Nationality는 South Korea

10. Country도 South Korea

 

 

11. Street and house number에는 한국 도로명 주소를 입력했습니다.(네이버에 "도로명주소 영어로" 치시면 돼요)

12. Post Code는 우편번호

13. City는 서울

14. Gender 성별은 남자

15. Email에 결과를 받으실 이메일을 입력하시면 돼요.

16. Confirm Email은 그전에 입력하신 Email 주소가 맞는지 다시 한번 확인

 

 

17. Confirm Email아래에 Alternative E-Mail-Adresse를 클릭하시면 그전에 입력하신 이메일로 결과 메일이 안 갈수도 있으니 다른 이메일을 입력하는 칸입니다. (저는 G-mail과 네이버메일을 적었더니 결과메일이 둘다로 오네요) 혹시모르니 입력하시는게 좋겠네요.

 

18. Mobile Number는 한국 번호를 입력하시면 돼요.

19. Passport Number 입력칸 입니다.

나머지는 옵션이니 입력 안하셔도 돼요.

 

20. Legal은 서비스약관이랑 취소관련 조항 동의고 두개 체크 하셔야 돼요.

21. Corona-Warn-App approval /EU DCC에서 Do not sen test result to CWA를 선택하세요.

22. Payment에서 Debit/Credit Card - Online payment(신용카드,체크카드) 결제 선택해야 돼요.

 

 

23. Book date에서 날짜를 선택하시면 돼요

24. Book hour에서 시간을 선택하시면 돼요 (예약을 할수 없는 시간은 아마도 이미 예약이 꽉 차있는 시간입니다.)

25. BOOK NOW를 클릭하시면 이제 결제창으로 넘어갈 거에요.

 

결제를 하시면 메일로 quick.coronatest.de - Booking confirmation 이라는 메일이 오는데

pdf에 영수증이 있고, 메일본문에 Bookingcode라고 있는데 방문하실때 보여주셔야 돼요.

그리고 메일에 위치, 날짜, 시간이 나와있고 방문하실때 여권 가져가셔야 돼요

 

 

증명서 예시

https://quick.coronatest.de/wp-content/uploads/sites/19/2021/05/MusterPCR2021_mit_WZ.pdf

pcr 증명서 샘플 입니다.

 

'독일 > 뮌헨' 카테고리의 다른 글

독일 뮌헨 DM에서 프린트 하는 법  (0) 2022.01.30

2022.01.24

 

안녕하세요~

독일 뮌헨에서 코로나 음성 증명서 때문에 프린트 할일이 생겨서

DM에가서 프린트를 했습니다.

 

 

 

 

위치는 뮌헨 중앙역 바로 옆에있는 곳에서 했습니다.

들어가셔서 2층으로 올라가시면 프린트 하는 모니터가 있습니다.

 

 

 

1. English - UK 클릭

1. 찾으셨으면 검은색으로 표시해둔 English - UK를 클릭해주세요.

 

 

2. View All Products 클릭

2. 이제 View All Products를 클릭해 주세요.

그러면 목록이 보이실 거에요.

 

 

3. KODAK Copy Service 클릭

3. KODAK Copy Service를 클릭해 주세요.

 

 

4. Get Started

4. Get Started를 클릭해 주세요.

 

 

5. Mobile Device

5. 저장장치를 선택하는 목록인데 저는 핸드폰에 있는 파일을 옮길거여서 Mobile Device를 선택했습니다.

 

 

6. Android 또는 Apple

6. 이제 자신의 핸드폰이 어떤 운영체제인지 선택하는 목록인데요.

삼성은 ANDROID, 아이폰은 APPLE을 선택하시면 됩니다.

 

 

7. Using USB Cable

7. 이제 핸드폰을 연결하는데 USB 케이블을 사용할지 BLUETOOTH를 사용할지 선택해야 돼요.

저는 USB 케이블을 사용할거여서 Using USB Cable을 선택 했습니다.

-USB 케이블은 이미 매장에서 제공하고 있어서 바로 연결하시면 돼요.

 

 

8. usb 케이블 연결

8. 이제 usb케이블을 핸드폰에 연결하시면 돼요.

 

 

9. 휴대전화 데이터에 접근 허용

9. usb 케이블을 연결하시고 핸드폰에 접근할 수 있도록 설정 해주셔야 돼요.

 

 

10. 핸드폰에 연결

10. 핸드폰에 연결했고 파일을 찾는 중 이에요.

 

 

11. 파일 설정 목록

11. 출력하실 파일을 선택 하시고 Print Select를 누르시면 돼요.

12. 그러면 이제 선택하신 파일이 보이실거고 옵션을 선택하셔야 돼요.

 

 

13. 프린트 옵션

13. 프린트 옵션설정하는 목록입니다. 설정 후 Next를 눌러주세요

Print 가격
1 Sided Black & White : 단면 흑백 : 0,10 유로
1 Sided Colour : 단면 컬러 : 0,55 유로
2 Sided Black & White : 양면 흑백 : 0,15 유로
2 Sided Colour : 양면 컬러 : 1,00 유로

Page Range
All : 선택하신 파일에서 모든 페이지 출력
Range : 범위를 선택하시면 따로 지정가능

Copies : 몇장 출력하건지 선택(예시 : 페이지(Pages) 수가 3이고 Copies가 2이면 총 6장 프린트가 돼요)
Pages : 페이지 수

 

 

14. Range(범위) 설정

14. Range(범위)를 선택하셨다면 출력하시고 싶은 범위를 입력하시고 Ok 클릭

예시)

1,3을 입력하시면 1,3 페이지 2장 출력

6-8을 입력하시면 6쪽부터 8쪽까지 3장 출력

 

 

15. Done 클릭

15. 선택하신 파일에 어떤 옵션들을 선택하셨는지 보이실 거에요.

이제 Done을 눌러주세요

 

 

16. Place Order

16. 이제 마지막 단계로 Place Order을 클릭하시면 됩니다.

그러면 이제 영수증 같은게 나오고 영수증 가지고 카운터에서 계산하시면 돼요

프린트한 종이는 앞에서 직원한테 말씀하시고 받으시면 돼요.

 

+추가 : 다른 dm매장도 이용해봤는데 그쪽은 영수증을 바코드 기계에 가져다 되면 자동으로 프린트가 나오더라고요. 그다음에 카운터에서 계산

 

'독일 > 뮌헨' 카테고리의 다른 글

귀국용 pcr 음성 확인서(독일)  (2) 2022.02.05

+ Recent posts