게임/마비노기2014. 5. 23. 10:22
일본 넥슨/ 마비노기에는 당연한 일 같긴한데..
한국서버에도 이런걸 적용할줄이야 ㄷㄷㄷ


[링크 : http://mabinogi.nexon.com/event/20140522_sao/event.asp?v2]
Posted by 구차니
xml을 통해 sql문들을 불러올 키인 'name' 이 중복될 경우 키가 중복된다고
Duplicate <sql>-include ... found 에러가 뜨게 된다.

com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/sql'.  Cause: com.ibatis.sqlmap.client.SqlMapException: Duplicate <sql>-include 'select-all' found.
com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53)
com.ibatis.sqlmap.engine.builder.xml.SqlMapParser.parse(SqlMapParser.java:40)
com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$10.process(SqlMapConfigParser.java:270)
com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:121)
com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:84)
com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:102)
com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:72)
com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:51)
com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:46)
com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:63)
account.joinAction.<init>(joinAction.java:45)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
java.lang.reflect.Constructor.newInstance(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:123)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:154)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:143)
com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:113)
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:275)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:365)
com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)
com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:83)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.<init>(DefaultActionInvocation.java:74)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422)
 

이런 문제는 namespace를 통해 해결할 수 있으나
namespace를 쓰기 위해서는 ibatis 설정에서 사용이 가능하도록 설정 해주어야 한다.
useStatementNamespaces 는 기본값이 false이다.
Example: useStatementNamespaces=”false”
Default: false (disabled)
 
[링크 : http://ibatis.apache.org/docs/dotnet/datamapper/ch04s03.html


/src/sqlMapConfig.xml

<sqlMapConfig>
<properties resource="/dbconnect.properties" />
<settings cacheModelsEnabled="true" enhancementEnabled="true"
lazyLoadingEnabled="true" maxRequests="1" maxSessions="1"
maxTransactions="1" useStatementNamespaces="true" />

<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}" />
<property name="JDBC.ConnectionURL" value="${url}" />
<property name="JDBC.Username" value="${username}" />
<property name="JDBC.Password" value="${password}" />
</dataSource>
</transactionManager>

<sqlMap resource="/sql/external.xml"/>
</sqlMapConfig> 

/src/sql/external.xml

<sqlMap namespace="user_namespace">
</sqlMap>

[링크 : http://www.okjsp.net/seq/89041]
Posted by 구차니
스트럿츠도 jsp니까.. 기본적으로 포함가능한 방법이 있지만..
<jsp:include
include는 소스가 아닌 결과를 삽입
일반적으로 flush=false로 작업함 

<%@ include
include directive는 소스를 불러옴(차이점 주의!) 

위의 두 가지 방법을 사용해도 action 페이지는 불러올 수 없다.
즉, jsp:include는 제어권을 넘겼다가 받아 오지만 실제 존재하는 경로상의 파일에 접근하는 것이기 때문인데..


아무튼.. s:action 태그를 이용하여 include 하 듯 불러올 수는 있다.

<s:action name="myAction"  ignoreContextParams="true" executeResult="true">
        <s:param name="foo" value="bar"/>
</s:action> 
[링크 : http://ssongka.egloos.com/2371453]
[링크 :
http://stackoverflow.com/questions/374099/struts2-parameters-between-actions

+
원래는 스트럿츠에서 타일스에 연동하는 경우
타일스 에서 스트럿츠 페이지를 다시 불러 끼워 넣으려고 한건데..
걍 타일스를 드러내는게 나을듯 해졌다 -_-a
느리기도 느리지만.. 제대로 안되는 것 봐서는 스트럿츠->타일스->스트럿츠 순으로 호출되는거라 정상적인 건 아닐듯.. 


---
2014.05.23 추가

<s:action name="myAction"  flush="true" ignoreContextParams="true" executeResult="true">
        <s:param name="foo" value="bar"/>
</s:action> 


flush를 안해줘서 안된듯 -_-
결론은 된다 
Posted by 구차니
스트럿츠에서 메소드를 통해 타일즈 레이아웃을 변경시킬수 있으나..
내가 의도했던 것과는 달라서 일단 봉인 -_-a

[링크 : http://syaku.tistory.com/174]
Posted by 구차니

'프로그램 사용 > struts2 tiles' 카테고리의 다른 글

struts2 페이지 포함하기  (0) 2014.05.22
스트럿츠 동적 레이아웃 구성하기  (0) 2014.05.22
struts2 result type input  (0) 2014.05.19
struts2 result type  (0) 2014.05.17
struts2 / tiles 연동시 에러  (0) 2014.05.16
Posted by 구차니
일반적인 상황에서는 ibatis2를 통해 인자를 하나만 넘겨줄수 있는데
2개 이상 필요할 경우에는 DAO를 통해 클래스로 넘기거나
Map 객체를 통해 여러개의 값을 넘겨줄 수 있다.

[링크 : http://okjsp.net/bbs?seq=206384]
[링크 : http://masachi.tistory.com/258]
Posted by 구차니
ibatis의 단점(?)아닌 단점으로는
실제로 값이 넘어가는지 알기가 어렵다는 점인데..
log4j를 이용하여 로그로 콘솔을 통해 디버깅이 용이하도록
SQL 문 자체를 출력할 수 있다.

DEBUG [http-8080-3] -Created connection 1249656.
DEBUG [http-8080-3] -{conn-100000} Connection
DEBUG [http-8080-3] -{conn-100000} Preparing Statement:       SELECT * FROM SBOARD2      WHERE boardId = ? ORDER BY ref DESC, re_step ASC  
DEBUG [http-8080-3] -{pstm-100001} Executing Statement:       SELECT * FROM SBOARD2      WHERE boardId = ? ORDER BY ref DESC, re_step ASC  
DEBUG [http-8080-3] -{pstm-100001} Parameters: [null]
DEBUG [http-8080-3] -{pstm-100001} Types: [null]
DEBUG [http-8080-3] -{rset-100002} ResultSet
DEBUG [http-8080-3] -Returned connection 1249656 to pool. 

 # Global logging configuration
log4j.rootLogger=ERROR, stdout

# SqlMap logging configuration
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.BasicDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG

log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG

# Console output
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] -%m%n

[링크 : http://northface.tistory.com/15]
[링크 : http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.zip]

'프로그램 사용 > ibatis & mybatis' 카테고리의 다른 글

ibatis 쿼리에 list 타입 인자로 넣기  (0) 2014.05.28
ibatis / mybatis 데이터가 비어있는 경우(null)  (0) 2014.05.23
ibatis namespace  (2) 2014.05.22
ibatis2 map  (0) 2014.05.21
ibatis - db framework  (0) 2014.05.14
Posted by 구차니
Programming/jsp2014. 5. 21. 17:43
페이지를 자동으로 넘겨주는 방식으로 두가지가 존재하는데 가장 큰 차이점은
forward - 세션 유지 (기본객체 4가지를 재사용 함으로서 전부 유지됨)
response.sendRedirect(); - 세션 유지하지 않음(response 에서 하기 때문에)

[링크 : http://blog.daum.net/nakspite/7305451] 


기본적으로 아래의 방식으로 사용을 하지만
<jsp:forward page="index.mu" />

<%response.sendRedirect("index.mu");%>

스트럿츠에서 이렇게 액션으로 넘겨줄 경우 연결되지 않고 객체를 재사용하게 되므로,
index.jsp에서 다음의 내용만으로 사용해서 넘겨줄 경우 넘겨주는 페이지가 euc-kr을 쓸경우 인코딩이 깨지게 된다.
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:action name="index" executeResult="true" />

그러므로 넘겨줄 페이지의 인코딩을 넣어서 주거나 reDirect를 쓰는게 옳을 것으로 생각된다.
<%@ page contentType="text/html; charset=euc-kr"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:action name="index" executeResult="true" />

[링크 : http://stackoverflow.com/questions/16056166/jspforward-tag-forwards-to-struts-2-action

Posted by 구차니
embeded/odroid2014. 5. 21. 16:59
라즈베리 파이보다 2배 정도 비싸지만 성능은 아마도.. 한 2~3배 이상 좋을거 같은 녀석..
하나 사고 싶네? ㅋㅋㅋㅋ

라즈베리파이
Ethernet/Internet Yes
Dual USB Connector Yes
512MB Memory Yes
Chip Broadcom BCM2835 SoC full HD multimedia applications processor
CPU 700 MHz Low Power ARM1176JZ-F Applications Processor
GPU Dual Core VideoCore IV® Multimedia Co-Processor
Memory 512MB SDRAM
Ethernet onboard 10/100 Ethernet RJ45 jack
USB 2.0 Dual USB Connector
Video Output HDMI (rev 1.3 & 1.4) Composite RCA (PAL and NTSC)
Audio Output 3.5mm jack, HDMI
Onboard Storage SD, MMC, SDIO card slot
Operating System Linux
Dimensions 8.6cm x 5.4cm x 1.7cm
[링크 : http://devicemart.co.kr/goods/view.php?seq=1077945]



SPECIFICATIONS
Processor Samsung Exynos4412 Prime Cortex-A9 Quad Core 1.7Ghz with 1MB L2 cache
Memory 2048MB(2GB) LP-DDR2 880Mega data rate
3D Accelerator Mali-400 Quad Core 440MHz
Video supports 1080p via HDMI cable(H.264+AAC based MP4 container format)
Video Out micro HDMI connector
Audio Standard 3.5mm headphone jack
HDMI Digital
LAN 10/100Mbps Ethernet with RJ-45 Jack ( Auto-MDIX support)
USB2.0 Host High speed standard A type connector x 3 ports
USB2.0 Device ADB/Mass storage(Micro USB)
Display HDMI monitor
Storage (Option) MicroSD Card Slot
eMMC module socket
Power (Option) 5V 2A Power
System Software Linux : Xubuntu 13.10 or latest version
Android : u-boot 2010.12, Kernel 3.0.x, Android 4.x
Full source code is available now.
PCB Size 83 x 48 mm
Weight 48g including the heat sink
[링크 : http://hardkernel.com/main/products/prdt_info.php]

'embeded > odroid' 카테고리의 다른 글

odroid u3 사용준비!  (0) 2016.09.02
odroid u3 지름!  (0) 2016.09.02
eMMC에 대한 환상은 깨도 되려나?  (0) 2015.11.11
odroid eMMC 관련  (0) 2015.11.03
또 다른 선택.. Odroid C1  (0) 2015.04.17
Posted by 구차니
파일방2014. 5. 21. 15:19
이런저런 상용/공개 디컴파일러가 있지만
아무래도 만족할 만큼의 성능은 내주지 못하는게 이쪽 리버스 엔지니어링의 한계라고 해야하려나..

[링크 : http://stackoverflow.com/questions/193896/whats-a-good-c-decompiler]

[링크 : http://derevenets.com] smartdec
[링크 : http://boomerang.sourceforge.net]
[링크 : https://www.hex-rays.com/products/decompiler/index.shtml]
Posted by 구차니