본문 바로가기

play framework

[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.. 더보기
IOException: Cannot run program "javac": java.io.IOException: error=2, No such file or directory EC2에서 PlayFramework 2.3.8버전을 시험삼아 실행해보려고 시도를 하니 IOException: Cannot run program "javac": java.io.IOException: error=2, No such file or directory와 같은 오류가 발생하였다. 원인은 AWS에서 openJDK를 설치하였는데 javac를 지원하지 않는게 문제였다. 본인은 openjdk 1.8.0을 사용해서 yum을 통해 1.8.0-openjdk-devel 추가적으로 설치하니 정상적으로 작동이 되었다. 더보기
[Play Framework] 2.3버전 설치 및 프로젝트 생성 오랜만에 Play Framework를 한번 해보려고 공식 홈페이지에 들어갔다. https://www.playframework.com 확인해보니 2.3.8 버전까지 업데이트를 하였다.이제 설치할 준비를 하고..... 파일은 다운받으니.. 아래와 같이 3개의 파일만 있다. activactor를 실행시키니 알아서 뭔가를 많이 다운받는다.... 그리고 아래와 같이 Play Server가 실행이 되고........ 웹 페이지를 통해 activactor라는 사이트?? 에 접속하고 프로젝트 생성부터 다 해준다.!!! 간단하게 프로젝트를 생성하고 빨간색 부분을 클릭하면 아래와 같은 버튼을 볼 수 있게 되는데 IDE변환까지 알아서 다해준다..!!! 정말 개발하기 편해졌다. 더보기
[Android] GCM Server 구현하기 1. API키 값 받아오기 (여기를 누르면 이동~!)새롭게 Application을 등록하면서 Android GCM web Server를 만듭니다. 만들고 나면 여기에 API 키값이 생깁니다.~! 2. 라이브러리 추가 (Java) 안드로이드SDK/extras/google/gcm/gcm-server 이 경로로 이동하면 gcm-server.jar 파일을 가져옵니다. 소스를 그대로 가져가는 것도 가능~! 3. 추가 라이브러리 등록~!위의 라이브러리를 사용하려면 아래의 라이브러리가 필요합니다. com.googlecode.json-simplejson-simple1.1.1 4. 구현하기~! public static boolean sendGCM (String deviceId, String message) { try {.. 더보기
[AWS] S3 연동하기~! Java 사전 준비!! AWS 홈페이지에 접속하여 Security Credentials 항목으로 이동~! 여기서 Create New Access Key를 하면 Access Key와 Secret Key 발급 받을수 있다.~! 1. 라이브러리 준비~! com.amazonawsaws-java-sdk1.6.8 2. 파일 업로드 & URL & 권한 변경아래와 같이 static으로 S3 객체를 만들고 미리 버킷과 폴더를 aws사이트에서 만든다. private static final AmazonS3 sS3 = new AmazonS3Client(new BasicAWSCredentials(sAccessKey, sSecretKey));static {final Region usWest2 = Region.getRegion(Region.. 더보기
[Hibernate] C3P0 connection Pool 디비 연결시 Pool로 관리하면 좋다고 한다. 생성하는 비용과 캐싱기능으로 성능상 이점을 얻을수 있다고 하여 스프링에 적용해보았다. 1. pom.xml org.hibernatehibernate-c3p03.6.10.Final 2. Hibernate 설정 추가~!5 20 300 50 3000 더보기
[Play Framework] No EntityManager bound to this thread. Try wrapping this call in JPA.withTransaction, or ensure that the HTTP context is setup on this thread. 테스트를 하다가 JPA관련 테스트를 진행하면 다음과 같은 에러가 발생한다....이유는 Transaction과 관련이 있었다. 현재 테스트 하는 Thread가 binding?이 되지 못해서 생기는 오류인듯 하다. 해결방법은 간단하다. [error] Test ServiceTest.deviceServiceTest failed: java.lang.RuntimeException: No EntityManager bound to this thread. Try wrapping this call in JPA.withTransaction, or ensure that the HTTP context is setup on this thread.[error] at play.db.jpa.JPA.em(JPA.java:55)[erro.. 더보기
[Play Framework] Test 하기~! 아직 TTD에 대해 많이 알진 못하지만 주위에 주워들은 이야기로는.. TTD가 오히려 빠른 개발을 할수있다~! 뭐 이런씩의 이야기와 Test가 필요해져서..PlayFramework의 Test 방법을 살펴보았다. 엄청 간단하다~! Test 클래스를 생성한뒤~! Test하고 싶은 함수에 @Test를 붙인다. 그리고 test라고 입력만 하면 알아서 Test를 한다.~! 더보기