본문 바로가기

전체 글28

[기타] 칭다오 흔히 말하는 맥주 칭다오의 이름은 중국의 지역 칭다오(청도)다 (성도(청두)랑은 다름). 그래서 어떤 양꼬치 집을 가면 청도 맥주라고 적힌 것을 볼 수 있기도 하다. 중국에 칭다오 맥주 공장은 지역별로 많은데 칭다오 지역에서 나는 맥주는 또 맛이 다르며 칭다오 지역 내에서도 '로우산' 이라는 산에서 내려오는 물로 만든 칭다오는 더욱 더 각별하다고 하다. 이전에 골목식당에 막걸리 집이 나왔었는데, 거기서도 막걸리를 만들 때 쓰는 물을 바꾸라는 조언을 했던 것 같고... 이름은 기억안나는데 어떤 양주도 좋은 물터를 구해 그곳에 양조장을 만들고 술을 만들었다는 이야기도 어디선가 들었었다. 한국에서도 옛 조상들은 술을 빚을 때 발효가 잘되고 원료가 잘 삭는 물을 ‘힘 센물’이라 하고 그 반대 성질을 지니는 물을.. 2023. 2. 25.
[기타] 마리 앙투아네트의 유언 미안해요, 고의가 아니었어요. 마리 앙투아네트는 프랑스 혁명 과정에서 프랑스 역사상 처음이자 마지막으로 단두대에서 처형당한 왕 루이 16세의 왕비이다. 루이 16세가 처형당하며 마리 앙투아네트도 혁명 정부로부터 유죄판결을 받고 처형장으로 이송되었고, 도착한 마리 앙투아네트가 실수로 사형 집행자의 발을 밟으며 한 말이 유언이 되었다. 미안해요, 고의가 아니었어요. 곧 처형 당할, 두려운 순간에 자신의 목을 칠 사람의 발을 밟고 사과를 한다는 것은 그저 습관에서 나온 것일 수도 있고, 혁명 정부로부터 유죄 판결을 받았어도 본인은 죄가 없다라는 강렬한 믿음에서 기인한 어떠한 도덕적 행위라고 볼 수도 있다. 그녀의 속마음을 누가 알겠느냐만은, 어느 이유로 그랬건 참 인상 깊은 유언이라는 생각이 든다. (+) 마.. 2023. 2. 25.
[Go] 파일 존재 여부에 대한 os.Stat() vs os.Open() os.Stat() vs os.Open() 일단, 위의 두 메서드는 사용처가 다르다. os.Stat()의 경우 파일에 대한 정보를 얻을 때 사용하며, os.File()의 경우, 파일을 컨트롤 할 때 사용한다. 내가 이 글에서 비교하고자 하는 상황은, 파일이 존재하는지 확인하는 경우이다. 결론 단순히 생각해보았을 때, 파일에 대한 정보만 가져오는 os.Stat()이 훨씬 빠를 것 같다. 실제로도 더 빠르다. package test import ( "os" "testing" ) func BenchmarkStatExistFile(b *testing.B) { for i := 0; i < b.N; i++ { _, _ = os.Stat("./source") } } func BenchmarkOpenExistFile(b.. 2023. 2. 25.
[Go] strings.ToLower() vs bytes.ToLower() strings.ToLower() vs bytes.ToLower() Golang의 ToLower(). 뭐가 더 빠를까? 결론 strings.ToLower를 사용하는 것보다 string을 []byte로 변환하여 bytes.ToLower 사용하는 것이 훨씬 빠르다. package test import ( "bytes" "strings" "testing" ) const TestString = "Lower Testing StaRtINg. Files Containing teSts shoUld bE CalLeD." func BenchmarkStringLower(b *testing.B) { for i := 0; i < b.N; i++ { _ = strings.ToLower(TestString) } } func Benc.. 2023. 2. 25.