한동안 잊고 있었는데..
민방위가 6월에 있었던거 같은데 갑자기 교육일정이랍시고 와서
까먹고 있다가 기억나서 접속을 해봤는데


http://www.eaf.kr/3MdWh0
하.. ㅋㅋㅋ
뒤질래요? 뒤질래요? ㅋㅋㅋㅋ


감히 군대를 가지고 장난치다니
저런넘들은 잡아서 군대 다시 보내버리라고!!! 
Posted by 구차니
Programming/jsp2014. 4. 13. 00:28
EL - EL은 ${} 를 변수로 사용한다. 기본적으로 스트링형태로 출력이 되어
jsp 에서 값을 계산후 출력하는 번거로움에서 한단계 해방된다
<%@ page contentType="text/html; charset=euc-kr"%>
<%@ page session="false"%>
<%@ taglib prefix="e" uri="/WEB-INF/el-functions.tld"%>
<%
java.util.Date today = new java.util.Date();
request.setAttribute("today", today);
%>
<html>
<head>
<title>EL 함수 호출</title>
</head>
<body>
오늘은
<b>${e:dateFormat(today) }</b> 입니다.
</body>
</html>  



JSTL - JSTL의 core는 기본적으로 prefix가 c이지만 
EL에서 처럼 사용자가 prefix를 지정해서 사용이 가능하기에 JSTL에서 prefix를 반드시 c로 설정할 필요는 없다.
JSTL은 tag library이기 때문에 EL에서 사용하던 ${} 에서 <>로 바뀌게 된다.
좋게 말하면.. 가독성이 올라가지만 나쁘게 말하면 태그로 바뀌었을뿐
코드인건 여전하기에 html으로 syntax highlight가 되지 않아 큰 장점으로 생각되진 않는다.
<%@ page contentType="text/html; charset=euc-kr"%>
<%@taglib prefix="e" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>if 태그</title>
</head>
<body>
<e:if test="true">무조건 수행<br>
</e:if>

<e:if test="${param.name== 'bk' }">
name 파라미터의 값이 ${param.name } 입니다.<br>
</e:if>

<e:if test="${18 < param.age }">
당신이 나이는 18세 이상입니다.
</e:if>
</body>
</html> 

'Programming > jsp' 카테고리의 다른 글

apache commons / beanutils , logging, digester  (0) 2014.04.18
maven  (0) 2014.04.18
jsp / el과 jstl  (0) 2014.04.13
jdbc는 DESCRIBE를 지원안해?  (0) 2014.04.11
웹개발언어 관련 생각꺼리..  (0) 2014.04.09
Posted by 구차니
Programming/jsp2014. 4. 13. 00:05
el과 jstl을 쓰니 엄청나게 jsp.java 파일이 지저분해진다 -_-a
JSTL은 EL을 확장해서 만든 Jsp Standard Tag Library이다 보니
기본적으로 EL에서 사용하는 기능에 tag library 관련하여 더많은 내용을 초기화 하게 된다.

el 사용시
public final class elEx1_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {

  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();

  private static java.util.List _jspx_dependants;

  private javax.el.ExpressionFactory _el_expressionfactory;
  private org.apache.AnnotationProcessor _jsp_annotationprocessor;

  public Object getDependants() {
    return _jspx_dependants;
  }

  public void _jspInit() {
    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
    _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
  }

  public void _jspDestroy() {
  }

  public void _jspService(HttpServletRequest request, HttpServletResponse response)
        throws java.io.IOException, ServletException {

    PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;
    PageContext _jspx_page_context = null; 
  }

EL 문법은 바로 처리되는게 아니라
Evaluate 되어서 String으로 변환되어 출력된다.
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${2 + 5}", java.lang.String.class, (PageContext)_jspx_page_context, null, false)); 


jstl 사용시
public final class use_005fforeach_005ftag_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {

  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();

  private static java.util.List _jspx_dependants;

  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fvalue_005fnobody;
  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fc_005fforEach_0026_005fvar_005fstep_005fend_005fbegin;
  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fc_005fforEach_0026_005fvar_005fend_005fbegin;
  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fc_005fforEach_0026_005fvarStatus_005fvar_005fitems_005fbegin;
  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fc_005fforEach_0026_005fvar_005fitems;

  private javax.el.ExpressionFactory _el_expressionfactory;
  private org.apache.AnnotationProcessor _jsp_annotationprocessor;

  public Object getDependants() {
    return _jspx_dependants;
  }

  public void _jspInit() {
    _005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _005fjspx_005ftagPool_005fc_005fforEach_0026_005fvar_005fstep_005fend_005fbegin = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _005fjspx_005ftagPool_005fc_005fforEach_0026_005fvar_005fend_005fbegin = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _005fjspx_005ftagPool_005fc_005fforEach_0026_005fvarStatus_005fvar_005fitems_005fbegin = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _005fjspx_005ftagPool_005fc_005fforEach_0026_005fvar_005fitems = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
    _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
  }

  public void _jspDestroy() {
    _005fjspx_005ftagPool_005fc_005fset_0026_005fvar_005fvalue_005fnobody.release();
    _005fjspx_005ftagPool_005fc_005fforEach_0026_005fvar_005fstep_005fend_005fbegin.release();
    _005fjspx_005ftagPool_005fc_005fforEach_0026_005fvar_005fend_005fbegin.release();
    _005fjspx_005ftagPool_005fc_005fforEach_0026_005fvarStatus_005fvar_005fitems_005fbegin.release();
    _005fjspx_005ftagPool_005fc_005fforEach_0026_005fvar_005fitems.release();
  }

  public void _jspService(HttpServletRequest request, HttpServletResponse response)
        throws java.io.IOException, ServletException {

    PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;
    PageContext _jspx_page_context = null;
  }
 

EL과는 인자가 하나 null 에서 변경된다.
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietarEvaluate("${e:dateFormat(today) }", java.lang.String.class, (PageContext)_jspx_page_context, _jspx_fnmap_0, false)); 

'Programming > jsp' 카테고리의 다른 글

maven  (0) 2014.04.18
jsp EL/JSTL 사용법  (0) 2014.04.13
jdbc는 DESCRIBE를 지원안해?  (0) 2014.04.11
웹개발언어 관련 생각꺼리..  (0) 2014.04.09
jsp model1, model2  (0) 2014.04.08
Posted by 구차니
개소리 왈왈/자전거2014. 4. 12. 23:03
가격이 싸서 질렀더니
망했어요 ㅋㅋㅋㅋ
이 망할넘의 솔레이어 2013년형 에어로 프레임 같으니라고 ㅋㅋ

게다가 휠에는 미묘하게 안 맞아서 타이로 묶기 전에는 바로 광탈할듯 ㅋㅋㅋㅋㅋ


Posted by 구차니
Programming/jsp2014. 4. 11. 01:39
DESCRIBE는 table의 구조를 알려주는 명령어인데
[링크 : http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12019.htm]


eclispe+ quantumDB에서 쌩쇼를 해도 안되길래


혹시나 하는 마음에 sqlplus에서 해봤더니.. 헐....
jdbc 특성(?) 상 데이터 빼오는데 특화가 되서 저런 관리용 명령어들은 다 빼버린건가?
$ sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Apr 11 01:33:07 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Enter user-name: system
Enter password:

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> desc USER_USERS;
 Name                                      Null?    Type
 ----------------------------------------- -------- ---------------------------- USERNAME                                  NOT NULL VARCHAR2(30)
 USER_ID                                   NOT NULL NUMBER
 ACCOUNT_STATUS                            NOT NULL VARCHAR2(32)
 LOCK_DATE                                          DATE
 EXPIRY_DATE                                        DATE
 DEFAULT_TABLESPACE                        NOT NULL VARCHAR2(30)
 TEMPORARY_TABLESPACE                      NOT NULL VARCHAR2(30)
 CREATED                                   NOT NULL DATE
 INITIAL_RSRC_CONSUMER_GROUP                        VARCHAR2(30)
 EXTERNAL_NAME                                      VARCHAR2(4000)




조금(?)오래된 글이지만 회피법은 있어도 정공법은 없는듯?
[링크 : http://www.coderanch.com/t/299298/JDBC/databases/Oracle-describe-table-jdbc ]

'Programming > jsp' 카테고리의 다른 글

jsp EL/JSTL 사용법  (0) 2014.04.13
jsp / el과 jstl  (0) 2014.04.13
웹개발언어 관련 생각꺼리..  (0) 2014.04.09
jsp model1, model2  (0) 2014.04.08
win7 에서 jsp 구동시 IPv6로 뜨는 문제  (0) 2014.04.08
Posted by 구차니
프로그램 사용/oracle2014. 4. 11. 00:36
귀찮으니 isqlplus까지 셋트로!

$ cat start.sh
#!/bin/sh
lsnrctl start
echo =====================================
isqlplusctl start
echo =====================================
sqlplus / as sysdba << EOF
startup
exit
EOF

$ cat stop.sh
#!/bin/sh
isqlplusctl stop
echo =============================
lsnrctl stop
echo ============================
sqlplus / as sysdba << EOF
shutdown immediate
exit
EOF

종료의 경우 normal이 정석이나
접속중인 클라이언트가 접속을 종료하지 않으면 서버가 종료되지 않으니
개인적으로 공부를 위해서 사용중에 끄려면 immediate로 끄는게 편하다.

[링크 : http://hanguy.egloos.com/1491184]
[링크 : http://originalchoi.tistory.com/7]
[링크 : http://www.gurubee.net/lecture/1087]

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

oracle sequence 명령어  (0) 2014.05.11
오라클 DDL 정리  (0) 2014.05.11
oracle backup  (0) 2014.04.10
oracle table list  (0) 2014.04.10
join  (0) 2014.04.08
Posted by 구차니
Linux2014. 4. 11. 00:33
오라클 시작/종료 스크립트 짜다 보니
<< EOF
EOF 
라는 좋은 문구발견!

아무튼.. 리다이렉트 비스므리하게 생겼는데
<< EOF를 하면
EOF가 나올때 까지의 명령어를
실행중인 프로그램에 입력해 줄 수 있다.

입력의 끝을 나타내는 EOF는 반드시
앞에 공백이나 탭이 있어서는 안된다.


[링크 : http://originalchoi.tistory.com/7]

'Linux' 카테고리의 다른 글

mount - relatime / noatime  (0) 2014.08.28
linux shared object(so) tutorial  (0) 2014.06.30
cron / crontab  (0) 2013.12.20
ltrace strace ldd readelf objdump 결과물  (0) 2013.11.26
Linux Router Project - Dead!!!  (2) 2013.11.26
Posted by 구차니
Programming/web 관련2014. 4. 10. 19:45
jsp 공부하다가 발견한 차이점..

<input type="password" name="password" />
<input type=password name=password />
<input type=password name=password/> 

input을 통해 값을 넘기는데
ie8은 name의 value를 "password/" 로 받아들여 값을 인식못하는 반면
 <input type=password name=password/>

크롬에서는 value를 "password"로 제대로 인식을 한다. 


아마도 IE8에서는 HTML 파싱시
변수값(?) 파싱에 변수이름 파싱용 함수를 쓰는게 아니라
URL 이나 path 파싱에 필요한 함수를 사용하는 것으로 추측된다.

'Programming > web 관련' 카테고리의 다른 글

sql designer(web)  (0) 2014.05.11
호스팅어 / 무료 웹 호스팅  (4) 2014.04.27
NoSQL  (0) 2014.04.09
w3c 규격 번역  (0) 2014.03.17
wan 에서 mac address 얻기  (0) 2013.07.09
Posted by 구차니
프로그램 사용/oracle2014. 4. 10. 13:48
전체백업은 DB 종료후 트랙잭션 처리 까지 하고
디비 파일 폴더를 복제하면 간단하게 끝날듯..

[링크 : http://radiocom.kunsan.ac.kr/lecture/oracle/backup_restore/what_is_backup.html]
[링크 : http://blog.daum.net/ohsh69/7716230]

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

오라클 DDL 정리  (0) 2014.05.11
오라클 10g용 시작/종료 스크립트  (0) 2014.04.11
oracle table list  (0) 2014.04.10
join  (0) 2014.04.08
oracle reserved keyword  (0) 2014.04.07
Posted by 구차니
프로그램 사용/oracle2014. 4. 10. 13:42
테이블 목록보기
select * from tab

---
2014.04.24 추가
어디서 찾은건지 까먹었는데.. tab은 테이블이 아니라 view라고 한다.
Try the below data dictionary views.
tabs
dba_tables
all_tables
user_tables
 
[링크 : http://stackoverflow.com/questions/205736/get-list-of-all-tables-in-oracle
---

[링크 : http://k.daum.net/qna/view.html?qid=00rqH]
[링크 : http://jbongsu.blogspot.kr/2012/10/dbms_6284.html]
[링크 : http://stackoverflow.com/questions/205736/get-list-of-all-tables-in-oracle]
[링크 : http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12019.htm]

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

오라클 10g용 시작/종료 스크립트  (0) 2014.04.11
oracle backup  (0) 2014.04.10
join  (0) 2014.04.08
oracle reserved keyword  (0) 2014.04.07
oracle alias, rownum  (0) 2014.04.07
Posted by 구차니