일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 머신러닝
- ios 메모리
- 아이폰 메모리 관리
- TENSOR
- singular vector decomposition
- 행렬 분해
- CORS c#
- Machine Learning
- Cross-origin resource sharing
- 태그를 입력해 주세요.
- nonatomic
- property 속성
- 딥러닝
- 스펙트럼 분해
- OCRS
- 안드로이드
- 딥러닝 첫걸음
- 텐서
- matrix decomposition
- dot syntax
- objective-c
- 딥러닝 책
- Property
- retatin
- 머신러닝 책
- spectral decomposition
- Objective c
- CORS
- 기계학습
- ios 메모리관리
- Today
- Total
목록Develop (22)
One Step for A Little Progress
레퍼런스 카운팅objective-c는 reference counting을 통해서 메모리를 관리하게 되는데, 대략적인 이론은 다음과 같다.alloc이나 retain 으로 메모리를 할당하게되면 이에 해당하는 release(해제) 명령을 주어야 한다. 레퍼런스 카운팅의 대략적인 동작원리alloc(+1) -> retain(+2) -> release(+2-1=+1) -> release(+1-1=0) alloc 이나 retain 같은 메모리를 할당하는 명령어를 이용하면 레퍼런스가 하나 증가하게되고release 명령어와 같은 메모리 해제 명령어를 사용하면 레퍼런스가 하나 줄어들게 된다. 객체 생성(인스턴스 생성)객체를 생성의 목적에는 두가지가 있다.1. 인스턴스 변수의 유지(객체 내에서 변수를 생성하고 전체 메소드에..
objective-c에서 메모리 관리는 reference counter(참조 카운터)를 통해서 이루어지게 된다.메모리가 할당이 되면 이 카운터가 하나 증가하게 되고, 해제가 되면 하나 감소하게 되어 메모리 관리를 해주는 것이다. 이렇게 설명을 하면 간단한 것이나 실제로는 그렇게 간단하지가 않다.어떻게 선언을 해야 autorelease 되고 어떻게 선언을 해야 release 또는 dealloc 해주어야 하는지 헷갈릴 수 있기 때문이다. 일반적으로 objective-c 에서는 메모리 관리를 위한 garbage collection을 제공한다.그래서 복잡한 프로그램, 또는 메모리 관리에 민감한 프로그램이 아닌 이상 메모리 관리에 크게 신경쓰지 않아도 된다는 것을 의미한다. 그러나 효율적인 메모리 관리를 위해서는..
@property (nonatomic, retain) 변수타입 변수명; property는 위와 같이 사용해서 getter와 setter 메소드를 자동생성해주는 역할을 한다.그런데 여기서 nonatomic, retain과 같은 키워드가 어떤 의미로 쓰이는지 의문이 든다.이것은 property를 사용할때의 속성인데, 다음과 같은 종류의 속성값이 있다. - readonly : property가 변경되지 않을 때 사용. 컴파일러가 setter를 생성하지 않는다.getter 메소드만 쓸때 읽기전용으로 생성한다. - retain : 객체를 다룰때 사용, 객체를 계속 사용하겠다는 reference count를 증가시킨다.(메모리 관리부분에서 자세히 설명) - readwrite : property를 변경할 필요가 있을..
objective-c 에서는 getter, setter 메소드를 사용하기를 권장하고 있다.변수에 직접 접근하는게 아니라 메소드를 통해 간접 접근을 하면서 캡슐화를 완성하여보안성을 높이는 차원에서 이러한 접근이 권장되고 있다. 하지만 getter와 setter 메소드를 각 변수마다 일일이 만들어 주는 것은 시간도 많이 들 뿐더러 귀찮은 작업이 아닐 수 없다. 그래서 objective-c 에서는 이러한 두개의 메소드를 자동으로 작성해주는property를 제공한다. objective-c 코드 내에서 property를 통해 getter와 setter를 추가하는 것은 손쉽게 할 수 있다.먼저 objective-c에서 클래스의 선언을 하는 파일명.h 파일에 다음과 같이 작성한다. @interface 클래스명 :상속..
objective-c의 기본개념을 잘 설명해놓은 링크 http://snowhouse-textcube.blogspot.com/2010/01/%EC%95%84%EC%9D%B4%ED%8F%B0-%EA%B0%9C%EB%B0%9C-%EC%99%84%EC%A0%84-%EC%B4%88%EB%B3%B4%EB%8F%84-%EB%B3%B4%EB%8A%94-objective-c-%EA%B8%B0%EC%B4%88%EA%B0%9C%EB%85%90.html
http://blog.naver.com/PostView.nhn?blogId=huewu&logNo=110090363656 안드로이드 개발자 블로그에 있는 내용을 해석해 놓은 것멀티 스레드를 이용한 이미지 다운로드를 통해 ui의 버벅거림 현상을 제거한 것.
http://croute.me/503 뷰 클래스를 이용해서 한 아이템 당 사용되는 레이아웃을 재활용해서 성능개선을 이루고 있다.
간혹 리스트뷰를 만들다보면, Resource$NotFoundException을 볼 수가 있다. 보통 커스텀 리스트뷰를 만들때 뜨게되는데, 이때 Resource Id 0x012를 찾을수 없다고 보통 뜨게된다. 왜 그런지 찾아봤더니, 커스텀 리스트뷰에서 리스트뷰 아이템에 setText로 지정해줄때 String 부분에 Integer형을 넣어서 그렇다. 의외로 간단한 오류였다.
LinearLayout내의 아이템의 비율을 정할때는 android:layout_weight를 사용할 수 있다.relativelayout을 사용할 수도 있지만, 내생각엔 weight를 사용하는게 훨씬더 편한 것 같다. layout_weight는 아이템의 비율을 정하는 것인데, 모든 아이템의 웨이트의 합에서 한 아이템이 가진 웨이트의 비율을 따져서 화면에서의 비율을 정할 수 있다. 이때 가로정렬할때는 width를 0dp로, 세로정렬 할때는 height를 0dp로 두어야 한다.
1. signal abort 라는 의미이다.2. 코드상 오류가 있어서 이런 오류가 생길수도 있지만 가만히 둬도 이런경우가 생기는 일이 빈번하다.2. 결론부터 말하자면 딱히 고칠 수 있는 방법이 없다.3. 여러가지 경우가 있을 수 있는데, 보통 사람들은xcode를 다시킨다.시뮬레이터를 다시킨다.재부팅을한다(나는 이방법으로 해결했다)4. 이런 오류가 나는 이유는 아마도 메모리상에 이미 해당 앱이 실행이 되어있는데, 여러번에 걸쳐서 build, run을 반복하다보니, 미쳐 그전에 사용하던 프로세스를 끄지 못해서, 다시 실행할때 해당 앱의 프로세스가 이미 실행중인게 있어서 생기는 것 같다. 근거없이 이렇게 판단하는 것은 아니고, 콘솔창에서 로그를 보면서 진행했더니, 해당 앱의 프로세스가 이미 실행중인게 있다 라..