Android 에서 Recycler View를 사용할 때 Adapter에 데이터 List를 넘겨주게 된다. 아래 처럼 말이다. ArrayList imageUrls; StoryImageAdapter adapter = new StoryImageAdapter(context, imageUrls); 이 때 imageUrls라는 ArrayList에 데이터를 넣고 Adapter Constructor의 매개 변수로 넘겨주게 되는데 보통은 아래처럼 데이터를 넣어 주게 된다. public void setImageUrlSet(ArrayList urls) { this.imageUrls = urls; } 위의 코드는 urls라는 매개 변수 값을 받아와서 imageUrls라는 ArrayList에 대입해주는 구문인데 자세히 살펴보..
추상 클래스와 추상 메소드 추상 함수 추상 메소드(Abstract Method)는 미완성 함수 혹은 실행 영역이 없는 함수를 의미합니다. 메소드는 선언부와 실행부 2가지가 존재하는데 추상 메소드는 실행부가 없는 형태를 띄고 있습니다. 추상 메소드(Abstract Method)를 포함하는 클래스는 반드시 추상 클래스(Abstract Class)가 됩니다. 1 2 3 4 5 6 abstract class AbstractTest1 { fun myFun1() { //.... } abstract fun myFun2() } cs abstract는 클래스 선언부에 존재하고 있습니다. 그리고 abstract라는 예약어(Keyword)는 클래스 내부에서만 사용할 수 있습니다. 또한 클래스 내부에 선언된 메소드에서만 사용..
이번 포스트에서는 문제 풀이를 위한 프로그래밍 기법 두번째 재귀적 알고리즘에 대해서 알아보도록 하겠습니다. 재귀를 사용하면 알고리즘을 잘 구현할 수 있게 되는 경우가 많이 있습니다.(안좋은 경우도 있지만) 문제 풀이를 하면서 답이 될 수 있을 만한 재귀적 풀이 후보들을 소개해보고자 합니다. 1. 부분집합 생성하기 재귀를 사용하는 예 중 부분집합 생성하기에 대해 살펴보도록 하겠습니다. 원소가 n개인 집합의 모든 부분집합을 생성하는 알고리즘을 구현해야하는 상황에 있다고 생각해봅시다. {1, 2, 3}의 부분집합은 (공집합), {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3} 이렇게 있습니다. 우선 부분집합을 구하는 search라는 함수는 다음과 같은 벡터를 사용합니다. 1 vec..
이번 포스트에서는 Lottie 사용법에 대해 간단하게 알아보려고 합니다. 그동안 우리가 만들어온 어플리케이션들이 뭔가 밋밋하고 생동감 넘치지 않은 느낌이 들었던 경험이 한 번쯤은 가지고 있을 것입니다. 그러한 밋밋함을 채워줄 무언가를 소개해드리려고 합니다. AirBnB에서 개발한 Lottie Animation 라이브러리 입니다. Lottie란? After Effect에서 제작한 Motion Graphic을 Android에서 그대로 보여줄 수 있는 것으로써 OOM(OUT OF MEMORY)에 대해서도 신경을 많이 쓴 라이브러리 입니다. 이전에 Facebook에서 KeyFrame이라는 라이브러리를 개발했었는데 이보다 더 많은 기능을 제공하는 라이브러리가 바로 Lottie가 되겠습니다. Lottie는 실제 A..
이번 포스트에서는 RxJava를 사용하여 간단하게 EditText에 Debounce를 구현하는 시간을 가져보도록 하겠습니다. 우선 시작하기에 앞서 Debounce가 무엇인지 알아보고 가도록 하겠습니다. Debounce vs. Throttle Debounce를 더 잘 설명하기 위해 비슷한 개념 중 하나인 Throttle과 함께 설명하도록 하겠습니다. Scrolling Event가 발생 할 때 마다 호출되는 Call Back이 있다고 가정해보도록 합시다. 이 말은 1px만 스크롤되어도 이벤트가 발생한다는 것을 의미합니다. 이런 Scrolling Event에 매 번 Call Back이 발생한다면 어떨까요? 그리고 그 Call Back이 수행하는 일이 리소스를 굉장히 많이 먹는 작업이라면 어떨까요? Thrott..
iOS 개발에 있어서 반드시 사용할 수 밖게 없는 Component가 있습니다. 바로 UI Alert Controller입니다. Android에서는 Dialog라고 불리는 것인데 iOS에는 UI Alert Controller가 2가지 형태로 제공됩니다. 1. alert 2. actionsheet Component의 이름이 생소해서 이게 뭐지? 했을 것이지만, 막상 이미지를 보니 아~ 이런 거구나 하고 생각했을 것입니다. iOS 에서 Swift를 사용하여 위 2가지 컴포넌트를 간단하게 구현해보도록 합시다. UI Alert 우선 아래의 코드를 보도록 합시다. uiAlertAction을 정의하기 전에 dialog를 띄워줄 버튼 이벤트를 연결합니다. (IBAction) @IBAction func onClickB..
알고리즘 문제 풀이를 위한 프로그래밍 기법에 대해 간단히 정리해보고자 한다. 단순 입/출력에서도 어떤 함수를 써야 실행 시간이 조금이라도 짧아질 수 있는지 알아보자. #include using namespace std; int main() { // 이 부분에 원하는 코드 } #include 는 표준 라이브러리 전체를 포함시키는 g++ 컴파일러의 기능이다. iosttream, vector, algorithm 등의 라이브러리를 개별적으로 포함시키지 않아도 자동으로 사용할 수 있게 된다. 작성된 소스 코드의 컴파일은 터미널에서 아래와 같은 명령어로 컴파일한다. g++ -std=c++11 -02 -Wall test.cpp -o test 컴파일러는 c++11 표준을 따르고(-std=c++11) 코드를 최적화 하며..
- Total
- Today
- Yesterday
- Apple Watch
- watchos
- java
- retrofit
- Notissu
- apple
- Elliotable
- XCode
- Kotlin
- Reactive programming
- 코틀린
- Swift
- databinding
- CloudComputing
- 상속
- 함수형프로그래밍
- 스위프트
- C++
- android
- Auto Layout
- 함수형
- ios
- Rxjava
- 애플워치
- 컬렉션
- 오토레이아웃
- SwiftUI
- 아이폰
- 안드로이드
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |