Skip to content

Instantly share code, notes, and snippets.

@audrl1010
audrl1010 / image1.png
Last active April 27, 2022 03:38
RxSwift Observable이란 무엇일까?

Reactive Programming이란 도대체 무엇일까?

흔한 정의... 리액티브 프로그래밍비동기이벤트 기반의 데이터 스트리밍을 Observable Sequence로 변환하여 개발하는 프로그래밍 방식이다.

저게 무슨 말일까? 전혀 이해가 안갑니다.

또한, Reactive Programming를 처음 마주하게 되었을 때 자주 보는 단어들은 Observable, Observer, Schduler, Operator, 모든 것을 stream으로 본다... 등등 이다. 이건 또 뭘까? 하..

차근차근 알아봐요.

@audrl1010
audrl1010 / Tree.md
Last active June 5, 2018 10:34
Tree
public class TreeNode<T> {
  public var value: T
  public var children: [TreeNode] = []
  
  public init(_ value: T) {
    self.value = value
  }
  
  public func add(_ child: TreeNode) {
public class BinaryNode<Element> {
  public var value: Element
  public var leftChild: BinaryNode?
  public var rightChild: BinaryNode?
  
  public init(value: Element) {
    self.value = value
  }
}
@audrl1010
audrl1010 / BinarySearchTree.md
Created June 5, 2018 11:35
BinarySearchTree
public class BinaryNode<Element> { 
  public var value: Element
  public var leftChild: BinaryNode?
  public var rightChild: BinaryNode?
  
  public init(value: Element) {
    self.value = value
  }
}
@audrl1010
audrl1010 / gist:3b3c1d3be4e9b30189a554f1448f923a
Last active June 20, 2018 05:48
에라토스테네스의 체
// '에라토스테네스의 체'로 n개의 범위의 소수들을 구하는 방법.
public int[] primes(int n) {
  int [] datas = new int[n+1];
  for(int i = 2; i <= n; i++) {
    datas[i] = i;
  }

  for(int i = 2; i <= n; i++) {
 if (datas[i] == 0) {
@audrl1010
audrl1010 / 소수 판별법.md
Created June 20, 2018 05:51
소수 판별법
public boolean isPrime(int n) {
  if (n <= 1) { return false; }
  int last = n / 2;
  for(int prime = 2; prime <= last; prime++) {
    if(n % prime == 0) {
      return false;
    }
  }
 return true;
@audrl1010
audrl1010 / 소인수분해.md
Created June 20, 2018 05:57
소인수분해
// fipf(FactorizationInPrimeFactors)
public ArrayList<Integer> fipf(int n) {
  ArrayList<Integer> primes = new ArrayList<Integer>();
  while(!(n == 1)) {
    for(int prime = 2; prime <= n; prime++) {
      // 나머지가 0이면 소수.
      if (n % prime == 0) {
        n /= prime;
 primes.add(prime);
@audrl1010
audrl1010 / LinkedList.md
Last active August 21, 2018 08:55
LinkedList
// Node.java
public class Node<Value> {
  public Value value;
  public Node<Value> next;
  
  public Node(Value value) {
    this.value = value;
    this.next = null;
  }
@audrl1010
audrl1010 / pageView.md
Created November 7, 2018 13:59
UITableView 비슷하게 구현해봄..
class PageReusableView: UIView {
  fileprivate var index: Int = 0
  func prepareForReuse() {}
}

protocol PagingViewDataSource: class {
  func numberOfPages(in pagingView: PagingView) -> Int
  func pagingView(_ pagingView: PagingView, pageForAt index: Int) -> PageReusableView
}
@audrl1010
audrl1010 / RxDataSource.md
Last active November 8, 2018 09:23
RxDataSources 해부 해보기

Differentiator

public protocol IdentifiableType {
  associatedtype Identity: Hashable
  var identity: Identity { get }
}

public struct IdentifiableValue<Value: Hashable> {