소프트웨어 개발/Scala - Functional 38

플레이 프레임워크 IDE에 에러가 날때.

굉장히 쉽게 처리하는 방법이다. I had the same issue, also with Scala IDE 4.0.0 . I followed mkurz instuctions and they worked like a charm. But instead of changing the .classpath file in the project folder manually I used Eclipse interface:In the top menu of the main window, click on Project and then on Properties.In the Properties window, click on Java Build Path option (options list is on the left)In the S..

cache

캐시 (Cache) 사용하기 캐시기능은 어느정도 트래픽을 줄이고 원할하고 빠르게 웹 서비스를 제공하는데 있어 굉장히 유용한 기능(최후의 수단)입니다. 캐시기능은 컴퓨터 어디에나 존재하고 있습니다. CPU도 캐시 메모리를 이용하고 있고, DB도 내부적으로 캐시기능을 이용하고 있고, 웹 브라우저도 자체적인 캐시기능이 있습니다. 캐시는 자주 쓰는 기능이나 데이터를 가까운곳에 가져다놓고 빠르게 접근하여 꺼내쓰는 유용한 기능입니다. 어차피 자주 바뀌지않고 반복적으로 사용하는 조회기능이라면 그냥 있던 걸 쓰는게 좋지 않을까요? 다만 캐시를 너무 남발하게 되면 여러가지 문제가 발생하게 됩니다. 동기화나 분산 캐싱의 구조상의 복잡함이 급격히 늘어날수 있기 때문에, 충분히 생각을 해보고 프로그램을 설계하여야 합니다. 캐..

coffee script

Coffee 스크립트 커피스크립트는 자바스크립트를 더 간단하고 편하게 쓸수있게 만들어주는 또 하나의 스크립트. 다만 커피스크립트 자체도 자바스크립트에 기반을 두고있기 때문에 자바스크립트로 컴파일 하는 과정을 거쳐야 함. 따라서 그 간편함에도 불구하고 접근성이 크게 좋다고 하기에는 무리가 있는데, 자바스크립트도 웹브라우저도 꾸준히 편의성있게 바뀌고있기 때문에 배우지 않을 이유가 없다. 게다가 플레이에서는 자동으로 assets에 넣어 놓으면, 알아서 컴파일을 해주기 때문에 플레이에서 coffee script는 필수다. 게다가 coffee script와 scala와의 문법은 어느정도 공통점이 있기 때문에, 하나 덤으로 가져가는 기분이다. 일단 어떤식으로 코드를 줄여주는지 보게되면 바로 알게될것이다. 간단한 코..

less

Play Framework에서는 CSS를 좀더 쉽고 간편하게 개발할수 있는 LESS를 지원합니다. 그냥 stylesheet에 CSS대신 LESS문법을 넣어놓는다면, 그대로 플레이 프레임워크는 컴파일을 자동적으로 해주게 됩니다. LESS를 이용하는 이유는 다음과 같습니다. - Variables And Calculation : @을 이용한 변수설정 및 사칙연산이 가능합니다. - Mix-In : 여러 속성을 하나로 묶어, 함수형식으로 다른 클래스에서 콜합니다. - Nested Rule : 태그안에 태그를 포함합니다. 첫번째 특성부터 봐볼까요? LESS에서는 @를 이용해 자신만의 변수를 설정할수있습니다. CSS LESS #header { color: #4f4f4f; } h1 { color: #4f4f4f; } ..

Label

인풋텍스트등을 사용할때는 여러 옵션을 사용할수 있습니다. 다음의 예제를 확인해봅시다. @helper.inputText(myForm("username"), ‘_label -> “name”, '_id -> "username", 'size -> 30) 위의 경우에서는 label의 경우 name이라는 값이 뜨게되며 또한 클래스나 id를 위와같이 ‘ 를 써서 여러 옵션을 줄수 있습니다. 또한 Username이 필수값으로 지정되어있을경우 자동적으로 Required 가 인풋박스 밑에 추가가 되며, 이는 개발자의 의도와 다를수가 있습니다. '_label -> "Custom label" //레이블을 출력합니다. '_id -> "idForTheTopDlElement" //id을 지정합니다. ‘_class -> "class..