소프트웨어 개발 165

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..

⑨ 디자인 패턴(Design Pattern) - Prototype

게임몬스터등을 만들때 쓴다. 왜냐고? 이름등이 바뀌어야되고 각각의 속성을 지니고 있어야 되기 때문에 참조형으로 데리고 있으면 안된다. 따라서, 계속 클론을 해서 넘겨주면, 리젠하는 각각의 객체를 만들수 있다. 출처 : http://alleysark.tistory.com/entry/Design-pattern-Prototype /* Prototype.java */ public interface Prototype { public Prototype Clone(); } /* Monster.java */ public class Monster implements Prototype { private int minDamage; private int maxDamage; private String nameColor; pub..

JSP 커스텀 태그 만들기

JSP에 커스텀태그는 JSTL등을 이용할때 많이 볼수 있다. 와 같은 함수들은 상당히 유용하게 JSP 태그를 써서 루프문을 돌리는 데에 있어 상당한 편의성을 제공한다고 할수 있다. 대체 이게 어떻게 작동하는가? 사실 아무 질문없이 '어 편하네?'라고 쓸수 있지만, 호기심많은 개발자라면 도대체 어떻게 커스텀 태그를 구현하는지 조금 더 파보고 싶기 마련이다. 이번 포스팅에서는 최소한의 설명과 효율성으로 자동으로 영어를 한국어로 번역해주는 커스텀 태그를 만들어보기로 한다. 일단 커스텀 태그는 생각해보면 굉장히 복잡한데, 필요한것은 단 세가지이다. 1) BodyTagSupport를 상속받은 클래스 (doAfterBody()와 같은 함수를 오버라이드하기 위해서이다.)2) taglib을 정의해놓은 *.tld 파일3..

⑩ 디자인 패턴(Design Pattern) - Builder

package builderpattern; package builderpattern; public class Gorakgarak { private boolean sexy; private boolean handsome; private String phoneNumber; public static class Builder { //클래스 안에 static으로 바로 사용할수 있게 위치시켜줌. private boolean sexy; private boolean handsome; private String phoneNumber; public Builder(){ System.out.println("test"); } public Builder sexy(boolean value){ sexy = value; return t..