Monday, May 12, 2014

Jose Fernandez는 결국 부상자 명단에

결국 15일짜리 부상자 명단에 올랐고 부상 부위나 정도는 아직 모르며, MRI를 찍었다고.

http://www.cbssports.com/mlb/eye-on-baseball/24559842/report-jose-fernandez-having-mri-for-unknown-injury

저 링크 따라가 보면 구속이 50개 쯤부터 확 줄어든 걸 볼 수 있다.

Friday, May 9, 2014

Jose Fernandez, Gyorko에게 홈런 두 방 맞다

오늘 경기 2회부터 Gyorko에게 홈런 맞으며 어렵게 시작,

그 뒤에도 홈런성 타구 맞은 후 (3루타로 정정됨) 무실점으로 간신히 넘기는 등 내용이 안 좋다가 5회까지 무실점으로 2실점 1자책...

결과만 보면 여기까지는 그러저럭 괜찮은 수준이었는데
6회 스트라이크를 전혀 못 던지며 무사 만루, 다시 만난 Gyorko에게 몸쪽 직구 쑤셔넣다가 홈런---

그러나 결과보다 더 중요한 문제가 있는 게 아닌가 하는 생각이 드는 것이,
5회 들어 90마일 넘는 fastball이 한 개도 없었다.
(경기 내용은 나빴지만) 1-4회에는 지 94-97마일을 유지하던 fastball 속도가 5회 들어 갑자기 87-88마일에서 놀았다는 것. Texas 시절 박찬호의 88마일 악포심-_-을 보는 것 같아 모골이 송연하였다.
Changeup이 fastball로 잘못 찍혔을 가능성도 있긴 한데 그러면 5회에 속구를 한 개도 안 졌다는 말인가?

속구 저하는 6회에도 이어져 90마일 대 공이 거의 없었다.

Gyorko에게 만루 홈런 맞은 공은 93마일. 6회의 거의 유일한 90마일 대 공이었는데 브레이킹볼만 연달아 던지다 제구 안 돼서 쑤셔넣다 맞은 것.

어디 아픈 데가 있지 않는 한, 한 회만에 이리 되긴 힘든 거 같은데, 5회 끝나고 나서 (60여개 밖에 안 던진 상황) 코치진이 한 번 체크를 해봤어야 하는 상황이 아니었을지?

비디오는 6회만 봤는데 속구 던지는 팔 각도도 평소보다 좀 올라가 보이고(Texas 박-_-)??

Friday, March 28, 2014

HashSet에서는 반드시 GetHashCode를 구현해야 한다

IEquatable<T> 만 구현했을 때 괜히 GetHashCode 구현 안 했다고 경고 뜨는 게 아님.


Set 내 존재 여부를 hash만 체크하고 말기 때문에 (그래야 hash의 속도면에서의 이점을 얻을 수 있겠지) reference equals 수준으로 그냥 방치해 두면 안 됨.


Friday, February 28, 2014

치즈에 붙은 테이프를 떼고 있으면

차라리 사은품을 주지 말라고 하고 싶다.

아오...


우유 등 1+1/1+2 상품도 마찬가지.

Tuesday, February 25, 2014

Saturday, February 8, 2014

ListView 아이템을 Drag and Drop으로 순서 바꾸기 Reorder ListViewItem

놀랍게도 ListView 아이템은 드래그앤드랍이 기본으로는 안 되는데, 더 놀라운 것은 이것이 버그라는 것이다. (오작동뿐 아니라 코드를 빠뜨려서 작동 안 하는 것도 버그이긴 하지...) 1)
http://support.microsoft.com/kb/822483/en-us


위 링크에서 제공하는 코드를 적당히 붙이는 것만으로도 drag & drop으로 순서를 변경하는 작업이 잘 된다.

단, ListViewItem.Name은 보존되지 않는다. 이러면 ListView.Items.RemoveByKey(string=Name)를 할 수 없게 된다.

이는 아마 ListView.Items 내에서의 순서 이동은, 실제로는 ListViewItem 객체의 복사(Clone()이 호출된다) 후 원본 ListViewItem 객체 삭제이므로, container 내에 같은 Name의 객체를 두 개 이상 가질 수 없기 때문일 것이다.
그래서 다음과 같이 Name을 재지정해야 한다.
        void listView1_DragDrop(object sender, DragEventArgs e)

        {
                //(전략)
                ListViewItem insertItem = (ListViewItem)dragItem.Clone();
                listView1.Items.Insert(itemIndex, insertItem);
                listView1.Items.Remove(dragItem);
             
                //dragItem을 Remove한 뒤 다시 설정해 줌:
                insertItem.Name = dragItem.Name; 

            }

물론 처음부터 Name을 쓰지 않고 있었다면 해 주지 않아도 된다.

참고로, 위 코드를 ListView에 적용하기 위해 핸들러를 만들어야 하는 이벤트는 ItemDrag, DragEnter, DragDrop의 3개이다.
IDE 디자이너의 '속성' 창에서 찾을 수 있긴 한데,
DragDrop, DragEnter는 "끌어서 놓기" 분류에,
ItemDrag는 "작업" 분류에 들어가 있어 찾기가 매우 어렵다.

그냥 코드로 치는 게 (적절히 tab하면 핸들러도 만들어 주니까) 편하다.


-----------------------
1) 의도된 사항(design)이라고 답변한 것이다.

Sunday, February 2, 2014

Age of Empires: Rise of Rome 고해상도로 플레이하기

Voobly라는 데를 발견했다!

설치하고, 가입하고 적당한 로비에 들어가서 방을 만든 후 플레이하면 된다.

 http://www.voobly.com/games/view/Age-of-Empires

여기는 Age of Empires 로비이다.

기본적으로 멀티플레이 모드가 실행되지만
싱글 플레이도 가능하다.

http://www.voobly.com/pages/view/310

따라서 캠페인도 고해상도로 플레이 가능.

Rise of Rome 로비는 따로 있으니 주의. Rise of Rome으로 해야 EMPIRESX.EXE가 실행된다.

iOS26 거울 아이콘

오래 전에 iPhone을 기울이면(tilt) 아이콘이 살짝 움직이는 업데이트가 있었다. Motion toggle이라고 한다... (Reddit 포스트조차 5년 전이다) https://www.reddit.com/r/jailbreak/comments/gg...