분류 전체보기
-
[Tip] TedBottomPicker 사용 중 문제 발생 해결카테고리 없음 2017. 11. 14. 02:12
즐겨쓰는 Image Picker 라이브러리인 TedBottomPicker를 새로운 프로젝트에 적용 시켰는데, 이런 에러가 뜨면서 진행이 되지 않았다. No virtual method load(Landroid/net/Uri;)Lcom/bumptech/glide/DrawableTypeRequest; in class Lcom/bumptech/glide/RequestManager; or its super classes (declaration of 'com.bumptech.glide.RequestManager' ~~~ 이런 내용의 에러였는데, 구글에 검색해 봐도 나오지 않고, 그나마 있는 사람들도 글라이드 최선 버전으로 업그레이드 해 보라는 말 뿐이었다. 그래서 글라이드를 기존에 사용하던 3.7.0 버전에서 4...
-
[에러] Found conflicting getters for name: isChangingConfigurations 에러IT, 프로그래밍/Firebase 2017. 11. 9. 21:36
파이어베이스로 검색 기능을 구현 중에 이러한 에러가 발생하였다. 이상한게 json 데이터가 정확하게 넘어오는데, 회원 정보를 저장하기 위한 Member VO 형식으로 파싱이 되지 않았다.(Member.class 형식으로 파싱이 되지 않음) 확인해 봐도 특별히 이상한 부분은 보이지 않고, 이것 말고 똑같은 방식으로 값을 불러오는 다른 코드에서는 각각 VO에 정의해 놓은 대로 잘 파싱이 되었다. 이것 저것 다 바꿔보던 중에, 문제점을 찾아 내었는데, 아래와 같다. private HashMap chatroomList; 원래 이렇게 되어야 함 private HashMap chatroomList; 작성되어 있던 모습 필드인 HashMap의 value값으로 들어 가야 할 ChatroomVO 라는 부분이 오타로 Ch..
-
[디자인패턴] 데코레이터 패턴 (Decorator Pattern)IT, 프로그래밍/Design Patterns 2017. 10. 21. 19:22
데코레이터 패턴(Decorator pattern)이란 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴으로, 객체에 추가적인 요건을 동적으로 첨가하며, 기능 확장이 필요할 때 서브클래싱 대신 쓸 수 있는 유연한 대안이 될 수 있다. 복잡해 보이는 설명을 예시로 한 번 풀어서 표현해 보겠습니다. (본문에 나오는 예시가 아주 좋아서 그 주제를 가지고 설명하겠습니다.) 이 글을 보고 계시는 대부분의 분들이 카페에 한 번쯤 가보셨다고 생각을 합니다. 카페에 가서 주문을 하는 상황을 한 번 상상해 봅시다. 문을 밀고 들어가서 카운터에서 점원에게 주문을 합니다. "따뜻한 카페라떼 한 잔 주세요!", 옆에서 커피가 나오는 동안 기다리는데, 다른 손님이 들어와서 주문을 합니다. "카라멜 프라푸치노에, 헤이..
-
[디자인패턴] 옵저버 패턴 (Observer Pattern) - Java 내장 객체 사용IT, 프로그래밍/Design Patterns 2017. 10. 4. 13:07
지난 시간에는 옵저버 패턴의 기본 개념과 구현하는 것에 대해서 알아보았습니다. 우리가 알아본 옵저버 패턴은 흔하게 사용하는 디자인 패턴 중에 하나입니다. 특히 이벤트 처리에 사용되는데요. 자바의 swing 프로그래밍을 접해 보신 분들은 eventListener에 대해서 익숙하실 겁니다. 이벤트리스너를 통해 우리는 특정한 입력 신호가 들어 올 때 마다, 원하는 행동을 하도록 할 수 있습니다. 이 이벤트 처리 과정은 옵저버 패턴을 사용해 구현하였습니다. 컴포넌트에 eventListener라는 옵저버 부착하면, 해당 컴포넌트에서 발생하는 이벤트를 감시할 수 있습니다. 자바에서는 이 패턴을 편하게 사용할 수 있도록 API로 만들어 지원합니다. Observer 인터페이스와 Observable 클래스를 사용해서 지..
-
[디자인패턴] 옵저버 패턴 (Observer Pattern)카테고리 없음 2017. 10. 3. 01:26
위키백과 = 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 디자인 패턴이다. 즉, 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고, 자동으로 내용이 갱신되는 일대다(one-to-many) 의존성을 정의하는 디자인 패턴입니다. 동작원리 책에서는 신문이나 잡지를 구독을 예제로 들고 있습니다. 신문을 구독하는 과정을 나열해 보겠습니다. 1. 신문을 구독 하기 위해 신문사에 구독 신청을 합니다. 2. 신문사는 새로운 신문이 나오면 구독자에게 배달을 해 줍니다.구독을 하는 동안은 계속 해서 신문을 받을 수 있습니다. 3. 더 이상 신문을 구독하고 싶지 않아서 해지 신..
-
[디자인패턴] 스트래티지 패턴 (Strategy Pattern)IT, 프로그래밍/Design Patterns 2017. 9. 23. 01:25
스트래티지 패턴 (Strategy Pattern) = 알고리즘군을 정의하고 각각을 캡슐화하여 사용할 수 있도록 만든다. 스트래티지를 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경 할 수 있다. 상당히 설명이 어렵습니다. 처음 듣는 사람은 한 번에 이해 하기가 어려운 설명입니다. 위키 백과에서 한 번 볼까요? In computer programming, the strategy pattern (also known as the policy pattern) is a behavioural software design pattern that enables selecting an algorithm at runtime. The strategy patterndefines a family of al..
-
스트래티지 패턴 예제IT, 프로그래밍/Design Patterns 2017. 9. 18. 11:42
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816..