2015년 10월 29일 목요일

android sqlite db connection에 대해서

수많은 삽질 끝에, android sqlite db connection은 굳이 닫지 않아도 된다는 사실을 알았다.

오히려 닫는 경우에 문제가 생긴다.
대표적인 오류는 다음과 같다.

java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: 


각설하고,
android에서 sqlite를 사용해서 db 관련 처리를 할때 best practice는 다음을 참고하길 바란다.



요컨데, sqliteHelper class를 만들어서 singleton으로 관리하면 앱을 종료하면 알아서 db connection을 닫는다.

... 간단한 문제였구만.

2015년 10월 23일 금요일

Mac mini 2011, SSD를 달아주다


mac mini 2011 server.

quad core i7 2.0GHz로 램만 8gb로 업글해서 코딩하는데 큰 무리 없이 잘 사용해왔다.

hdd 500gb x2로 무려(?) 1tb에 해당하는 넉넉한(?) 용량을 자랑하는 녀석이었는데,
그런데 어느 순간인가 android studio가 버벅이기 시작했다.
코드 한줄 치고 바람개비 돌고 한줄치고 바람개비 돌고...

아무리 낮은 사양 컴퓨터도 잘 쓴다고 하지만 이건 좀 아니었다.

그래서 며칠 고민 끝에 ssd를 달아주기로 했다.

우선, ssd에 대해서 잠깐 탐색.
대충 평준화 되서 보증기간 긴게 좋을거란다.

그래서 고른게 sandisk x110이었다.








ssd도 사실 처음 달아보는 것이라 이리저리 살펴봤다.
컴퓨터를 뜯는 것도 오래간만인데, 맥 뜯어보는 것은 또 처음.
대충 별모양 드라이버랑 몇가지가 필요하다고 해서 드라이버 킷도 하나 샀다.

분해와 조립엔 iFixit을 참고하라고 하던가.
옆에 사이트 열어두고 mac mini 아래배를 열었다.


안테나망을 제거 했다.


오랫동안 쌓인 먼지들


안테나선(?)과 램을 제거했다.

... 중간 과정 사진은 안찍었나보다.


쿨러를 제거하고,


왠 덥개도 제거하고...



아래 보이는 검은 녀석이 하드 디스크다.
검은 랩핑(?)을 제거하면 워런티 날아간다고 경고하는데, 워런티 따위 벌써 끝났다.

그리고 조립은 분해의 역순...

나머지는 쉽게쉽게 했는데 안테나망이 제일 큰 난관이었다.
딱 맞게 맞물리지 않아서 들어가질 않았다...

어찌어찌 우여곡절끝에 조립 완료.




이후에 ssd 250gb와 hdd 500gb를 퓨전 드라이브로 묶어서 750gb 파티션으로 설정하고 타임머신으로 복원하는 것으로 마무리 했다.

그리고 대만족!
램 16gb 업글은 천천히 해도 될거 같다.

나중에 알았는데, 저녀석이 세컨 드라이브였다.
... 배를 열어서 위에 있는게 퍼스트인줄 알고 교체했는데 나름 본래대로 두었을때 위에 있는 녀석이 퍼스트였나 보다.

다시 뜯을 엄두는 안나서 그냥 사용하기로 결정 -_-;