본문 바로가기

All

Duplicate files copied in APK META-INF/notice.txt 안드로이드 프로젝트에서 Spring framework를 사용하려고 실행하니 아래와 같은 오류가 발생하였다. 원인은 notice.txt 파일을 제외시키지 못해서 생기는 문제인 듯하고 이 파일외에도 여러개의 중복되는 파일이 존재하는 듯하다.duplicate files during packaging of APK /Users/myusername/Development/Appname/Appname/Appname/build/apk/Appname-debug-unaligned.apk Execution failed for task ':Appname:packageDebug'. > Duplicate files copied in APK META-INF/notice.txt File 1: /Users/myusername/.grad.. 더보기
인터페이스 빌드에서 커스텀 값 조정 가능하게 만들기 IB_DESIGNABLE@interface CustomButton : UIButton @property (nonatomic, strong) IBInspectable UIColor *buttonBackground; @property (nonatomic, assign) IBInspectable CGFloat cornerRadius; - (void) setButtonBackground:(UIColor *) color { _buttonBackground = color; [self setBackgroundColor:_buttonBackground]; } - (void) setCornerRadius:(CGFloat) cornerRadius { [self.layer setCornerRadius:cornerRadius.. 더보기
벤 실버먼: 'Pinteresting'한 이야기 더보기
[Play Framework2] Json polymorphism Scala에서는 동적으로 Json 으로 변환하기가 힘들다. 그래서 찾은 방법이 trait을 만들어서 상속을 통한 방법이다. trait Person object Person { implicit val shapeWrites = Writes[Person] { person => person match { case student: Student => Json.writes[Student].writes(student) case teacher: Teacher => Json.writes[Teacher].writes(teacher) case parent: Parent => Json.writes[Parent].writes(parent)}} } @Entity@Table (name = "teacher")case class Te.. 더보기
[Play Framework2] JPA & Json model Java는 POJO 객체로 JPA와 Json이 아주 자유로웠지만 Scala에서는 정말 헤매는 부분이 많았다. 그리고 본인이 가장 간편하다고 생각하는 방법을 설명하겠다. 특별히 Play Framework2 이외에 다른 라이브러리를 사용하지 않고 내부적인 라이브러리를 통해 쉬운 방법을 찾았다. (one to many 와 many to many 는 아직 방법을 찾지 못함..) import play.db.jpa._import javax.persistence._import play.api.libs.json._import play.api.libs.functional.syntax._import scala.annotation.meta.field @Entity@Table (name = "class")case class .. 더보기
[Play Framework2] Json Java에서는 Pojo 객체를 그대로 Json으로 출력하기 쉬웠지만... Scala에서는 그게 힘든것 같다 아무래도.. Java의 Reflection과 같은 기능이 없어서 그런 것 같다. 그래서 가장 간단하게 Json으로 출력하는 방법을 찾아봤다. @Entity@Table (name = "child")class Child { @Id @GeneratedValue var id : Long =_ @Column(name = "name") var name : String = _} object Child { implicit val childWriters = new Writes[Child] { def writes (child : Child) = Json.obj( "no" -> child.id, "name" -> ch.. 더보기
[Play Framework2] JPA Play Framework2 Scala 에서도 JPA를 지원한다. 설치부터 사용방법 까지 간단하게 설명하자면..(참고 URL =https://www.playframework.com/documentation/2.4.0/JavaJPA) 우선은 라이브러리를 설치한다.libraryDependencies ++= Seq( javaJpa, "org.hibernate" % "hibernate-entitymanager" % "4.3.9.Final" // replace by your jpa implementation ) 그리고 persistence.xml 파일은 생성하고 conf/MATA-INF 폴더에 넣자 없다면 생성해서 넣어두자그리고 파일내용은 아래와 같이 작성한다. org.hibernate.jpa.HibernateP.. 더보기
[Play Framework2] WebSockets Play에서는 Actor 이용한 방법과 iteratees를 이용하는 방법이 있다. Actor은 Akka에서 제공해주는 방식이고 iteratees는 Play에서 제공해주는 것 같다. 참고 사이트 : https://www.playframework.com/documentation/2.3.x/ScalaWebSockets import akka.actor._ object MyWebSocketActor { def props(out: ActorRef) = Props(new MyWebSocketActor(out)) } class MyWebSocketActor(out: ActorRef) extends Actor { def receive = { case msg: String => out ! ("I received your .. 더보기
[Play Framework2] Comet sockets Comet response 란 text/html 로 이루어지고 태그에 감싸여진 응답을 말한다고 한다.... 본인은 처음 알았음..그래서 이걸 쉽게 쓸 수 있는 방법을 소개한다. 참고 사이트 : https://www.playframework.com/documentation/2.3.x/ScalaComet def comet = Action { val events = Enumerator( """""", """""", """""" ) Ok.chunked(events).as(HTML) }위의 코드를 웹 브라우저에서 실행결과로 받아보면 콘솔창에 kiki, foo, bar가 출력되어지는 걸 확인 할 수 있다.이걸 이제 간편화 하는 단계를 살펴보자 import play.twirl.api.Html // Transform .. 더보기
[Play Framework2] Streaming HTTP responses Streaming 기능에 대해서 실제로 구현해서 만들어 본 적이 없는데 이번에 PlayFramework에서 아주 간단하게 제공하는 방법이 있다. 참고 사이트 : https://www.playframework.com/documentation/2.3.x/ScalaStream def index = Action { val file = new java.io.File("/tmp/fileToServe.pdf") val fileContent: Enumerator[Array[Byte]] = Enumerator.fromFile(file) Result( header = ResponseHeader(200), body = fileContent ) }위의 코드로 간단한 스트리밍 기능? 이 구현이 완료가 되었고 혹시나 Enumer.. 더보기