본문 바로가기

Development

[Scala] Automatic Type-Dependent Closure Construction 스칼라에서는 이름이 없는 함수를 파라미터로 전달이 가능하다. whileLoop라는 함수가 정의되어지고 Boolean과 Unit을 받는다. 그리고 내부에서는 true인 경우 계속해서 whileLoop를 호출하도록 구성이 되어져서 다른 언어에서 키워드처럼?! 사용이 가능하다. object TargetTest1 extends App { def whileLoop(cond: => Boolean)(body: => Unit): Unit = if (cond) { body whileLoop(cond)(body) } var i = 10 whileLoop (i > 0) { println(i) i -= 1 }} 다른 예를 보자 이것은 unless를 사용하는 방법이다. 위의 방법과는 다르게 body후에 파라미터를 입력 받는 방.. 더보기
[Scala] Nested Functions 스칼라에서는 내부 함수??를 만들어서 사용이 가능하다. 말보단 코드로... object FilterTest extends App { def filter(xs: List[Int], threshold: Int) = { def process(ys: List[Int]): List[Int] = if (ys.isEmpty) ys else if (ys.head 더보기
[Java Design Pattern] Design Patterns in Java Tutorial Java로 다양한 디자인 패턴을 정리한 사이트이다. http://www.tutorialspoint.com/design_pattern/index.htm 더보기
[Scala] Mixin Class Composition 각각의 다른 정의가 이루어진 클래스를 하나로 합치는 방법이다. AbsIterator 클래스를 상속 받아서 2개의 클래스가 정의가 된다. abstract class AbsIterator { type T def hasNext: Boolean def next: T} foreach를 구현한 클래스와 trait RichIterator extends AbsIterator { def foreach(f: T => Unit) { while (hasNext) f(next) }} String을 사용하는 클래스 class StringIterator(s: String) extends AbsIterator { type T = Char private var i = 0 def hasNext = i 더보기
[Scala] Implicit Parameters implicit 키워드를 사용하게 되면 prefix 없이 접근이 가능하고 그리고 넘겨 받을 수 있는 인수 또한 implicit라고 선언한 인수만 받을 수 있다. abstract class SemiGroup[A] { def add(x: A, y: A): A}abstract class Monoid[A] extends SemiGroup[A] { def unit: A}object ImplicitTest extends App { implicit object StringMonoid extends Monoid[String] { def add(x: String, y: String): String = x concat y def unit: String = "" } implicit object IntMonoid extend.. 더보기
'__curl_rule_01__' declared as an array with a negative size 위의 에러에 대한 해결방법은 아래와 같이 고치면 된다. /* The size of `long', as computed by sizeof. */ #ifdef __LP64__ #define CURL_SIZEOF_LONG 8 #else #define CURL_SIZEOF_LONG 4 #endif 더보기
error: unknown register name 'q0' in asm : "memory", "q0", "q1", "q2", "q3", "q8", "q9", "q10", "q11", "q12", "q13", "q14", "q15" //clobber ^ libs/kazmath/src/neon_matrix_impl.c:93:15: error: unknown register name 'q0' in asm : "memory", "q0", "q1", "q8.. Architectures를 Standard architectures로 바꾸면서 아래와 같은 에러가 발생하였다. error: unknown register name 'q0' in asm : "memory", "q0", "q1", "q2", "q3", "q8", "q9", "q10", "q11", "q12", "q13", "q14", "q15" //clobber ^ libs/kazmath/src/neon_matrix_impl.c:93:15: error: unknown register name 'q0' in asm : "memory", "q0", "q1", "q8", "q9", "q10", "q11" //clobber ^ 2 errors generated. 해결방법은 간단하다. I had to replace .. 더보기
is deprecated: first deprecated in iOS 7.0 Deprecate 된 함수에 대한 처리를 했음에도 불구하고 Warnning이 뜨는 경우가 많다. 아래와 같은 스타일로 코딩을 한 경우.. if ([test respondsToSelector:@selector(~~~~~~)]) { } else { }//end if 그렇다고 Xcode 자체에서 Warnning을 Off 하는 건 불안하고.. 가만히 두고 있으려고 하니 마음이 편하지 못하다..그럴 때는 아래와 같은 방법을 사용해 보자! 아래와 같이 정의를 하고...#define SILENCE_DEPRECATION(expr) \ do { \ _Pragma("clang diagnostic push") \ _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\.. 더보기
[Spring Framework] Injection of autowired dependencies failed 아래의 에러에서 주목해야되는 부분은 circular reference 이다. 즉... @Inject 애노테이션을 쓰면서 서로 서로 가지도록 설정을 해서 발생한 문제이다. 해결 방법은구조적으로 @Inject 하는 상황을 회피하도록 만들거나... http://java.dzone.com/articles/resolve-circular-dependency 여기를 참고해서 보자~! org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'userService': Bean with name 'userService' has been injected into other beans [matchingSer.. 더보기
[iOS] Status Bar를 눌러도 Scroll이 Top으로 이동하지 않을때... 기본적으로 UIScrollView의 scrollsToTop 속성이 YES로 설정이 되어 있다. 그래서 ScrollView와 TableView 등등 여러가지로 사용하는 있는 곳에서는 scrollsToTop 속성을 가진 UI가 많아서 동작을 하지 않는 것이다. 이럴 때는 하나만 YES로 설정하도록 해줘야 한다. 더보기