if ($.trim(msg)) {
alert('message exist');
return;
}


객체지향적 사고와 설계를 해야하는 이유는 사용자(관리자)의 서술적인 니즈를 비즈니스에 맞는 모델링을 하기위한 최적의 방법이기 때문이다.


  1. 객체지향 사물의 분류
    1. 사물(Things)은 곧 객체이다.
    2. 사물에는 형태를 가진 것과 개념만 존재하는 것으로 분류할 수 있다.
    3. 소프트웨어 분석 설계 구현을 한다는 것은 실세계의 사물을 가상세계의 사물로 전환 하는 것이다.
    4. 객체 모델링, 데이터 모델링도 다 사물들을 관리하는 기준에 맞춰 분류하는 것이다.
    5. 타입, 클래스는 객체 즉 사물을 분류했을 때 정의하는 것에 지나지 않는다.
  2. 사물을 어떻게 분류할 것인가?
    1. 책을 예시로 보면 책은 객체이다. 책에 대한 정보만 관리하는 것은 개념 객체이고 책의 실물을 관리하는 사물을 관리하는 객체가 구별되어 관리되어야 한다. 
    2. 책이라는 객체가 책 정보에 대한 분류 기준으로 도서문헌상의 분류 규칙을 따르므로 다양한 분류체계를 관리하는 객체도 발생할 수 있다.
    3. 사물은 단순이 존재한다고 하나의 객체만은 아니다.
    4. 보는 관점, 각 비즈니스 도메인별로 차이가 발생하므로 사물의 분류 기준을 비즈니스 에 맞춰 모델링이 되어야 한다.

출처(http://www.slideshare.net/dahlmoon/20160131)

$('#form input').on("keypress", function (event) {
if (event.keyCode == 13) {
submit();
}
})
;

폼의 해당 포커스 (input)에 엔터 키 이벤트가 발생했을때

submit() 을 수행하는 기능

private Cache<String, Dto> cached = CacheBuilder.newBuilder().maximumSize(CACHE_SIZE).expireAfterAccess(
EXPIRE_IN_MINUTE, TimeUnit.MINUTES).build();

private Dto getDtoByCache(final String id) {
return cached.get(id, new Callable<Dto>() {
@Override public Dto call() throws Exception {
return target.getDtoById(id);
}
});
}


'java' 카테고리의 다른 글

Intellij Custom VM Option 넣기  (0) 2017.06.16
JUnit Test property 주입 하기  (0) 2017.04.26
Java 가 어려운 이유.  (0) 2015.10.01
Visual VM 메모. 모니터링  (0) 2015.09.24
객체지향 프로그래밍이란?  (0) 2015.07.04
function setCookie(name, value, expiredays) {
var todayDate = new Date();
todayDate.setDate(todayDate.getDate() + expiredays);
document.cookie = name + "=" + value + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

function getCookie(name) {
var start, end;
var i = 0;
while (i <= document.cookie.length) {
start = i;
end = start + name.length;
if (document.cookie.substring(start, end) == name) {
start = end + 1;
end = document.cookie.indexOf(";", start);
if (end < start)
end = document.cookie.length;
return document.cookie.substring(start, end)
}
i++
}
return ""
}

만료일을 지정하여 해당날짜까지 쿠키에 저장.

try {
BeanUtilsBean.getInstance().getConvertUtils().register(false, false, 0);
BeanUtils.copyProperties(target, source);
} catch (Exception e) {
log.error("Create exception. cause : ", e);
}


ALTER TABLE `content` CHANGE `createdAt` `createdAt` 

TIMESTAMP ON UPDATE CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; 


수정시마다 date time 수정, 쿼이 이름을 바꿔서 사용.

'DB > Mysql' 카테고리의 다른 글

Mysql 테이블 생성, 사용자 추가  (0) 2012.05.22
Mysql Error 2003, 10061문제  (1) 2012.05.17
Work bench 작성된 DB를 EER Diagram으로 변환  (0) 2012.03.28
sum = (sum + "").replace(/.(?=(?:.{3})+$)/g, '$&,');


1. OOP

Class를 통한 설계만이 가능하여 OOP가 강제된다.

기존 설계에 대한 지식이 없는 사람은 코딩에 난항을 겪는다.

2. 기본 API

MSDN, 파이썬과 비교하면 기본 API가 (많이) 부실하다. 

3. Primitive Type

컴파일러의 고도화가 이루어지지 않았다. 성능 때문에 타협한 원시타입이 API를 너무 복잡하게 만든다. 

int , Integer, long, Long 등 ..

4. import API진입 장벽

여러곳에서 주입하여 사용하는 API의 기술이 후지다. 적용하는데 많은 노력이 필요하다. 

5. 프레임워크

다각도에서 만들어진 프레임워크들은 자바를 자바가 아닌 방식으로 사용하게 만든다.

설계나 아키텍쳐를 획일화 하거나, 간접적이거나, 사용하는 진입장벽을 만든다. 

6. 버전 마다 다른 개발방식 요구

java 6과 7의 프로그래밍 방식은 완전히 다르다. 8또한 완전히 또 다르다.

VisualVM 은 자바 어플리케이션의 상태를 보여주는 내장 기본 기능이다.

visual 이라는 말에서도 볼수 있듯 자바 명령어로도 노출 되는 모든 정보는 조회 가능하다.

MBean 관련 라이브러리의 커맨드를 사용하면 된다.

ex) http://stackoverflow.com/questions/26130824/getting-java-visualvm-data-from-the-command-line

ObjectName jvmMemory = new ObjectName("java.lang", "type", "Memory");           
CompositeData heapUsage = (CompositeData) mbsc.getAttribute(jvmMemory, "HeapMemoryUsage");
printer.print(String.valueOf(heapUsage.get("used")));
printer.print(String.valueOf(heapUsage.get("committed")));
printer.print(String.valueOf(heapUsage.get("max")));

https://visualvm.java.net/ko_KR/gettingstarted.html


+ Recent posts