2020/05/10

스캔 완료

필름로그에 지난 주 맡겼던 필름 스캔이 완료됐다.
카메라에 거의 2년 동안 방치 돼 있던 필름이라서 상태가 괜찮을까 했는데 36장 중에 35장이 인화 가능했던 모양이다.

제주에 필름 현상 아직까지 해주는 데가 연동에 딱 한군데 남아있다고 들었는데, 원래는 거기에 맡기려고 했었다.
몇 주 전 화요일인가, 마침 병원 가는 날이라 오전 반차도 썼겠다, 한 번 가볼까 했는데 하필 그 날이 쉬는 날.
어쩔 수 없지, 또 미뤄뒀다가, 그냥 또 제주 필름 현상소를 다시 검색해봤더니 필름로그 제주점이 한 달 전에 생겼다는 소식이!
주말에 스시 먹으러 전농로 이노찌 가는 길에 들렀다.
원래 학교 앞 분식점이던 곳을 개조했는지 아주 레트로(..?)한 분위기의 가게. 각종 필름과 카메라들도 전시 돼 있어서 필름 구경하면서 잠깐 정신을 빼놨다가,
엑타크롬 E100, 포트라 160 한 개 씩 챙기고 필름을 맡겼다.

필름은 택배로 서울에 보내서 현상/스캔 해서 롤 별로 사이트에 올려준다. 인화는 별도.
마침 방문한 날이 연휴 직전이라 좀 오래 걸렸지만, 아래 처럼 사진이 나왔다.


Pentax MX + Kodak Gold 200
렌즈는 주로 A50.4 인데 아닌 것도 있는 것 같다.

주말 출근 했는데 햇볕이 너무 좋아서

두 컷이나 찍었다


맛있는 윙 먹고 싶다


케왕이와 동수2 .. 인 것 같다


튤립 인 것 같다

대충 이정도 느낌인데, 나머지는 거의 망했거나 얼굴이 찍혀서 웹에 올리긴 좀 그렇고, 사실 이번 롤에 있던 사진들은 크게 맘에 드는 게 없다.
일단 있던 필름 빼내고 새 필름 껴서 필름 사진 다시 시작하는게 목표였던 거라 뭐 일단 새 필름을 사서 넣었으니 만족.
그리고 슬라이드 필름도 하나 사놨으니 만족. 마지막으로 필름로그를 찾았으니 만족.

오랜만의 포스팅 끝.

2020/02/16

Unreal 4.2x 이후 Visual Studio 빌드 오류 인코딩 깨짐

집에서 설치판으로 가지고 놀다보니 답답하길래 대충 고쳤다.
utf8과 ascii를 섞어쓰는 양코백이 놈들이 잘못했다.

2020/02/16
4.24.2 설치형 + VS2019 기준으로 작성

Unreal Build Tool에서 입력 출력이 틀려먹었는데,
정확히는 DotNETUtilities에서 잘못 하고 있는게 맞다.

1. 출력
UBT 실행 결과를 VS로 던질 때 UTF-8로 던져야 한다.
Engine\Source\Programs\DotNETCommon\DotNETUtilities\Log.cs
@@ -232,6 +232,7 @@
                        IncludeCallingMethod = true;
                        IncludeCallingMethodForConsole = false;
                        ColorConsoleOutput = true;
+                       Console.OutputEncoding = Encoding.UTF8;
                }

                /// <summary>

2. 입력
컴파일러를 DotNETUtil의 ManagedProcess를 사용해 병렬 처리를 하는데,
실행되는 프로세스의 인코딩을 Console.OutputEncoding과 일치한다고 생각하고 사용하고 있다.
아쉽게도 우리는 cp949로 실행된다.

그래서 일단 두 군데를 고치는데,
ManagedProcess가 초기화 될 때 ReadStream 의 인코딩을 Encoding.Default로 지정해주고,
ReadAllLines에서 ReadStream.CurrentEncoding 을 이용해서 문자열을 해석 하도록 할 것이다.


UE_4.24\Engine\Source\Programs\DotNETCommon\DotNETUtilities\ManagedProcess.cs
@@ -481,7 +481,7 @@

                                        // Create the stream objects for reading the process output
                                        InnerStream = new FileStream(StdOutRead, FileAccess.Read, 4096, false);
-                                       ReadStream = new StreamReader(InnerStream, Console.OutputEncoding);
+                                       ReadStream = new StreamReader(InnerStream, Encoding.Default);

                                        // Wrap the process handle in a SafeFileHandle
                                        ProcessHandle = new SafeFileHandle(ProcessInfo.hProcess, true);
@@ -648,7 +648,7 @@
                                {
                                        if(NumBytesInBuffer > 0)
                                        {
-                                               OutputLines.Add(Console.OutputEncoding.GetString(Buffer, 0, NumBytesInBuffer));
+                                               OutputLines.Add(ReadStream.CurrentEncoding.GetString(Buffer, 0, NumBytesInBuffer));
                                        }
                                        break;
                                }
@@ -664,7 +664,7 @@
                                        {
                                                if(Buffer[Idx] != '\n' || LastCharacter != '\r')
                                                {
-                                                       OutputLines.Add(Console.OutputEncoding.GetString(Buffer, LastStartIdx, Idx - LastStartIdx));
+                                                       OutputLines.Add(ReadStream.CurrentEncoding.GetString(Buffer, LastStartIdx, Idx - LastStartIdx));
                                                }
                                                LastStartIdx = Idx + 1;
                                        }

이렇게 하면 나중에 readstream encoding만 변경하면 readalllines 도 같이 바뀌겠지
뭔가 조금 더 정리해서 적고 싶지만 졸리니까 나중에..

어쨌든 이걸 적용하면 UBT 등등 dotnetutils를 사용해서 외부 프로세스를 띄운 다음 로그를 받아서 에디터나 vs로 띄우는 과정에서 생기는 인코딩 오류가 전체적으로 사라질 것인다.
물론 외부 프로세스 자체가 utf-8 출력을 지원하는 경우에 또 ManagedProcess의 기본값이 Default이기 때문에 오동작 할 수 있을거 같은데 다른 방식으로 풀 수 있지 않을까 싶음

2019/09/15

워치

생일 선물로 갤럭시 워치 액티브 2를 받았다. 해인 감사!!

디바이스가 새로 생기면 반갑구나 세상아를 안 띄워볼 수 없지!
이래저래 문서 좀 읽어봤더니, .net으로 만들어 보는게 편할것 같다.

우선 디바이스에 바로 올려보려고 일단 간단하게 버튼 하나만 넣어보았다.


근데 안 올라간다. 로그는 Check certificate error -12
기본 써트로 안 되는거 같아서 새로 생성 했는데 그걸로도 안된다.
한 시간 정도 열심히 찾아봤는데, 아래 문서를 찾았다.

https://stackoverflow.com/questions/54384374/application-failed-to-install-due-to-signature-error

타이젠 인증이랑 삼성 인증이랑 다르구나 ..
따로 있다고 왜 아무도 안 알려주냐

따로 안 깔았더니 메뉴도 완전 다르고
삼성 계정에 로그인 해야 써트도 해주는구나.

삼성 써트 생성 해서 기본 써트로 설정하고 빌드해서 디플로이.

어쨌든 실기에 올리는데는 성공.




추석 지나고 나서 뭐 재밌는 거 없을까 하다가,
에뮬레이터를 띄워보기로 했다.

근데 HAXM 이 안 깔린다.
회사에서 (..?) 했을때는 Hyper-V 만 껐더니 잘 됐는데,

개발 환경 문젠가? 해서 DELL XPS 15 9550 이랑 열심히 조합해서 검색해봤는데,
일단 델 문제는아닌 듯.

https://github.com/intel/haxm/issues/105#issuecomment-465146602
https://github.com/intel/haxm/issues/226#issuecomment-521105504

대충 이런걸 찾아서 해보았다.

결론은 세 가지 징도 꺼야 하는 것 같다.

우선 가상화 기반 보안을 껐다.
https://docs.microsoft.com/ko-kr/windows/security/identity-protection/credential-guard/credential-guard-manage 참고
Win 10 18362 프리뷰 쓰고 있는데,
Windows 기능에서 샌드박스도 꺼야하는 것 같다.
하이퍼바이저 플랫폼도 꺼야한다고 한다.
가상 머신 플랫폼도 의심스러워서 껐는데 이건 잘 모르겠다 일단 세팅이 됐으니 다시 켜보기는 귀찮아졌다.

세팅은 다 됐고 그래서 이제 뭐하지 ..

2019/01/11

아아 마이크 테스트

사실 마이크는 아니고 syntax highlighter 테스트


#pragma once

UCLASS( abstract )
class USomeClass : public UObject
{
    GENERATED_BODY()

public:
    UPROPERTY( EditAnywhere )
    int32 SomeInteger;

    UFUNCTION( BlueprintCallable )
    const AActor* GetActor() const;
private:
    bool SomeBool;

    AActor* SomeActor;
    TArray< FName > SomeArray;

    FString SomeString;
};

갖다 붙인 하이라이터는 https://prismjs.com

기본 타입이 아니면 잘 안되는 것 같기도 하고 ..

2019/01/10

블로그에 글 쓰기

오랜만에 다시 시작하는 블로그다.

예전처럼 텍스트큐브 설치나 한 번 해볼까 하고 홈페이지에 들어갔더니 보안 업데이트도 안 된지 3년이 다 됐더라. 그리고 서버에 PHP 세팅하고 nginx 연결하고 .. 라는 생각을 했더니 역시 그런 짓은 다시 못하겠더라.

그래서 몇 가지 블로그 서비스를 살펴봤는데, 국산은 애초에 답이 없고 미디엄은 한글 글꼴이 너무 구리고 텀블러는 속도가 너무 느리고 .. 이것 저것 재보다가 결국 구글님이 알아서 다 해주는 블로거로 결정.

그런데 기본 테마가 너무 못생겼다. 이글루스때도 텍스트큐브 때도 테마는 엄청 건드렸었는데, 막상 여기다가 다시 하려니 너무너무 너무너무 너무 귀찮아서 그냥 기본 스킨에 글꼴만 조금 바꿔서 살기로 했다. 아무리 귀찮아도 제목 세리프는 포기 못 해.

사실, 한 때 열심히 손 댔던 이글루스 스킨에서 뭐 좀 주워올 거 없을까 하고 이글루스에 들어갔었다. 로그인 하자마자 숨김 처리 해 놨던 예전 글들이 바로 보여서 본의 아니게 몇 개 읽게 됐는데, 세상에 이럴수가 으아ㅇ아아ㅏ 부끄러워 죽고싶어져서 창을 꺼버렸다.
테마 꺼내오기라는 목표는 달성도 못하고 도망. 흑역사는 흑역사인 채로 묻어두는게 아무래도 세상에(내게도) 좋을 것 같다.

어쨌건 그래서 블로그는 연결했고, 이제 뭘로 채우느냐인데, 뭔가 거창하게 할만한 건 없고 개인 프로젝트 하는 것들 로그나 일기 비슷한거나 사진이나 뭐 이런게 되지 않을까?
뭔가 대단한 사람이 아니다보니 사실 별게 없다.

다만 당분간은 일기 쓰듯이 별일 태그나 늘려가봐야겠다. 이 짧은 글을 쓰는데 얼마나 걸린건지. 게다가 문장은 또 왜 이렇지? 문법도 엉망이고 내용도 엉망이고 총체적인 난국.


글을 너무 오랫동안 안 써 버릇한 것 같다. 회사에서 맨날 무슨 설명서나 작성하고 구매 요청서나 날리고 코드 주석이나 달고 하다 보니 그냥 글 쓰는데 관련된 모든 능력이 퇴화했다. 내용을 제외하고 문장 자체의 형식적인 면만 본다면 흑역사쪽이 지금보다 훨씬 나은 듯.

글 마무리도 안된다. 결론은 뭐랄까, 최소한 일반인 수준의 글쓰기 실력까지는 돌아가고 싶다? 일까?