학습비용이 높은 편이라 팀에 하이버네이트 전문가가 없다면, 초기 도입비용이 높을수 있다.

  • 쿼리 힌트나 DB에 종속적인 쿼리에 대한 의존도가 높은 경우
  • 네이티브 쿼리(하이버네이트가 생성해주는 쿼리가 아니라 데이터베이스 벤더에 종속적으로 작성한 SQL을 사용하는) 비율이 높은 경우
  • 애플리케이션 개발이 객체지향적이지 않은 경우

Write Behind, Dirty Checking, Lazy Fetching 등의 장점을 살리기 어렵다.

참고로.

Write behind

Write-behind caching. 하이버네이트의 Session에서 기본으로 제공해주는 기능으로서, 정말로 쿼리를 실행해야 하는 순간까지 최대한 쓰기 작업을 미루는 기능.

Dirty Checking

하이버네이트를 사용해서 읽어온 객체는 항상 그 상패의 변화를 주시하고 있다. 그러다가 만약 트랜잭션이 커밋되면 , 하이버네이트가 알아서 테이터베이스에 해당 객체의 상태 변화를 적용시킨다.

Lazy Fetching

객체를 조회시 실제로는 비어있는 가짜객체(Proxy 객체)를 만들어 가짜객체의 데이터에 접근하면 하이버네이트가 그제서야 해당 객체를 채우는데 필요한 데이터를 가져다 준다.

Posted by 빨강토끼
,

한글로 주석을 작성하면 아래 와 같은 에러가 나올 수 있다.

File "/Users/red/pro/pydata/pydata-book-master/ch03/ipython_script_test2.py", line 3  
    # 한글
        ^
SyntaxError: Non-ASCII character '\xed' in file /Users/red/pro/pydata/pydata-book-master/ch03/ipython_script_test2.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details  

이럴땐 아래와 같은 2줄을 앞에 적어주면 된다.

# !/usr/bin/python
# -*- coding: utf-8

참조 
http://nbviewer.ipython.org/github/re4lfl0w/ipython/blob/master/books/pythondataanalysis/ch03_Introduction%20IPython.ipynb https://www.python.org/dev/peps/pep-0263/

Posted by 빨강토끼
,

2017.09 TIL

프로그래밍/기타 2017. 10. 8. 14:34

2017.09.03
개발블로그 모음 : https://github.com/sarojaba/awesome-devblog

2017.09.09
코딩 면접 준비 다이어그램

2017.09.10
영어학원 활용법

금융(카카오뱅크) 오픈소스 DBA 30일 생존기

2017.09.17
Google I/O 2017 참관기 - Kotlin
Google I/O 2017 참관기 - 머신 러닝과 AI
누구나 쉽게 할 수 있는 빅데이타와 머신러닝 아틀라시안에서 slack에 경쟁서비스를 오픈하였다. stride

2017.09.22

네이버에서 만든 오픈소스 가이드

패스트캠퍼스 딥러닝 강의 자료

Posted by 빨강토끼
,

2017.08 TIL

프로그래밍/기타 2017. 10. 8. 14:33

2017.08.24
winform vs WPF (WPF가 더 좋다는...)
http://demozip.tistory.com/entry/WinForm%EA%B3%BC-WPF%EC%9D%98-%EC%B0%A8%EC%9D%B4http://alleysark.tistory.com/91 http://hackersstudy.tistory.com/64 http://hoonsbara.tistory.com/83http://celdee.tistory.com/215 http://jooji815.tistory.com/35

not exists remind
http://blog.uphs.co.kr/72

참고 : http://naudhizb.tistory.com/804

파이썬 스케줄러
https://apscheduler.readthedocs.io/en/latest/index.html http://tomining.tistory.com/138

2017.08.25
http://click.pocoo.org : 파이썬 터미널 앱에서 사용할 수 있는 CLI 프래임워크 argparse 는 표준 라이브러리라고 하나 안좋다고 함.

http://urwid.org/ : Console user interface library for Python curses 는 표준 라이브러리라고 하나 안좋다고 함.

python 파일을 exe파일로 변환하기
http://blog.naver.com/PostView.nhn?blogId=neroororo&logNo=30183775300https://stackoverflow.com/questions/41570359/best-method-of-converting-py-to-exe-for-python-3-6http://infocentre.tistory.com/3 http://sh1n2.tistory.com/entry/Python3-%EC%9C%88%EB%8F%84%EC%9A%B0-%EC%8B%A4%ED%96%89%ED%8C%8C%EC%9D%BC-%EB%A7%8C%EB%93%A4%EA%B8%B0 http://tkqlzz.tk/9

http://hashcode.co.kr/questions/336/%EC%99%B8%EB%B6%80-%EB%AA%85%EB%A0%B9%EC%96%B4%EB%A5%BC-%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%9C%BC%EB%A1%9C-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0

2017.08.28
문자열 병합(concatenation)을 위해서는 + 연산자를 사용하지 말고, StringBuilder나 String.Format()을 사용한다.

2017.08.29
mssql 의 SP에서 임시테이블을 declare 하여 사용할 수 있다는 걸 알았다.
http://sonim1.tistory.com/166 http://lab.cliel.com/entry/SQL-%EC%9E%84%EC%8B%9C-Table%EA%B3%BC-%EB%B3%80%EC%88%98-Table http://firewind.tistory.com/entry/DB-MS-SQL-Procedure%EC%97%90%EC%84%9C-Table%EA%B5%AC%EC%A1%B0%EB%A5%BC-%EC%A0%80%EC%9E%A5%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

2017.08.30
조인방식 3가지. 기억이 새롭다.
http://sonim1.tistory.com/108

블록체인을 가장 쉽게 설명한 글이라고 한다. http://www.msip.go.kr/webzine/posts.do?postIdx=261

Posted by 빨강토끼
,

El Capitan 에서 rhc 를 설치하려면 아래와 같은 에러가 납니다.

$ sudo gem install rhc
ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/rhc


El Capitan 에서는 편집기(nano 나 vi)를 사용해서 ruby가 gem을 통하여 인스톨하는 경로를 바꿔줘야 한다.
$ nano ~/.gemrc 그리고 gem: -n/usr/local/bin을 추가하여 저장한다.

MacBook-Air:~ red$ sudo gem install rhc
===========================================================================

If this is your first time installing the RHC tools, please run 'rhc setup'

===========================================================================
Successfully installed rhc-1.37.1
Parsing documentation for rhc-1.37.1
Installing ri documentation for rhc-1.37.1
1 gem installed

/usr/local/bin/rhc 라는 경로에 rhc가 설치된다.

Posted by 빨강토끼
,

OS X 에서 OpenShift 사용하기 (Command Line)

https://developers.openshift.com/en/getting-started-osx.html#client-tools

OS X 에서 Command Line 기반으로 OpenShift 사용하기 위해서 OpenShift Client Tools (rhc) 를 사용한다.

rhc 설치하기

rhc는 Ruby 와 Git를 필요로 한다.

만일 OS X Lion 이나 Mountain 을 사용하고 있다면 Ruby 1.8.7이 기본적으로 설치되어있고, OS X Mavericks 나 Yosemite 는 Ruby 2.0.0 가 설치되어있다.

Ruby가 설치되어있는지 확인
$ ruby -e 'puts "Welcome to Ruby"'
Welcome to Ruby

Git 가 설치되어있는지 확인하고 만약에 설치되어있지 않다면 설치하는 방법이 인터넷검색을 통해 쉽게 얻을 수 있다.

Git가 설치되어 있는지 확인
$ git --version
git version 1.9.3 (Apple Git-50)

Ruby와 Git가 설치되어 있다면 RubyGems library 시스템으로 rhc 를 설치한다.

sudo gem install rhc

그리고 만일 dependency 문제가 발생하면 아래와 같이 업데이트를 해본다.

sudo gem update

rhc setup

$rhc setup --server <서버주소> -ㅣ <아이디>

그뒤로 물어보는 비밀번호를 입력하고 확인(yes)를 몇번해주면 됩니다.

Application 생성

생성가능한 어플리케이션 목록 확인

rhc app create

어플리케이션 생성

$rhc app-create <appname> <cartridge-name> 

ex) rhc app-create edudemo nodejs-0.10

rhc를 실행한 경로 밑으로 어플리케이션이 생성된다.

cd <appname>
ls -al

Application 삭제

어플리케이션 삭제

rhc app-delete <appname>


Posted by 빨강토끼
,

먼저 JBoss Tools (OpenShift)를 설치한다.

1. STS(이클립스)에 Help -> Marketplace -> JBoss Tools 검색 -> install


2. JBoss OpenShift Tools 관련 플러그인 설치


OpenShift(OpenPaas) 연결하기



3. Application 생성



나머지는 알아서 하실수있거라 판단됨.

Posted by 빨강토끼
,

이미 테이블이 생성된 테이블이 없을 경우에만 테이블이 생성되도록 하는 쿼리


CREATE TABLE IF NOT EXISTS customers (id INT PRIMARY KEY AUTO_INCREMENT, first_name VARCHAR(30), last_name VARCHAR(30));

Posted by 빨강토끼
,

- 기본 프로젝트 생성성

mvn -B archetype:generate -DgroupId=com.example -DartifactId=hajiboot -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart


- 프로젝트에 사용하는 라이브러리의 종속성 확인

mvn dependency:tree

Posted by 빨강토끼
,

an error has occurred see the log file.

configuration 폴더안의 [숫자].log 를 보라는 메시지가 뜨면서 실행이 안된다.


log 파일을 열어보면 맨 아래쯤에 아래와 같은 내용이 보인다.

!MESSAGE Application error

!STACK 1

java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:78)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)

at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)

at org.eclipse.equinox.launcher.Main.run(Main.java:1515)


이유는 간단하다.


혹시 여러분이 JDK6이하를 사용하고 있는 경우일 수 있다.


STS 3.7.0 부터는 JDK7 이상을 사용한다.


JDK7 이나 그 이상의 JDK 를 설치하고 다시 실행해 보기 바란다. 



Posted by 빨강토끼
,