티스토리 뷰

<%@page language="java contentType="text/json; charset=utf-8%>
<%@page import="java.util.ArrayList%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="java.sql.*" %>

<%
ArrayList<String> colArr = new ArrayList<String>();

Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try{
	InitialContext ctxt = new InitialContext();
	String driver = "org.postgresql.Driver"; // 접속해야하는 DB의 Driver 명칭을 넣으면된다
	String url = "jdbc:postgresql://<url>:5432/<dbname>;
	Class.forName(driver).newInstance();
	conn = DriverManager.getConnection(url, <DB_USERNAME>, <DB_USERPASSWORD>);

	StringBuffer demQuery = new StringBuffer();
	demQuery.append("select <column> from <table>");
	pstmt = conn.prepareStatement(demQuery.toString());
	rs = pstmt.executeQuery();
	while(rs.next()){
		colArr.add(rs.getString(<column>));
	}
	int loopCnt = colArr.size();
%>
[
<%
	for(int i=0; i<loopCnt; i++){
		if(i<loopCnt-1) {
			%>
			{"<column>":"<%=colArr.get(i) %>"},
			<%
			continue;
		}
		%>
		{"<column>":"<%=colArr.get(i) %>"}
		<%
	}
%>
]
<%
	} catch(Exception e){
		e.printStackTrace();
	} finally{
		rs = null;
		pstmt = null;
		conn.close();
		conn = null;
	}
%>

 

 

웹개발의 백엔드는 기본적으로 간단한 CRUD 로직에서 마무리되는 경우가 많다.

일반적인 웹페이지에 복잡한 로직을 넣을 이유가 없기 때문이다.

 

하지만,

 

어려운 것을 쉽게 만드는 것은 어렵지만, 쉬운 것을 어렵게 만드는 건 엄청 쉬운 것이 문제다

 
 

10년전만해도 시중에 발매된 책들은 모두 Model1 방식의 예제를 채택했지만

지금은 국비속성과정에도 제대로 다루지 않는 이유도 신입 개발자들이 정리되지않은 코드를 작성하는 것을 원치 않기 때문 일 것이다.

 

최근 Model1을 사용하지 않는 이유는 아주 간단한데,

  • 보여주는 로직과 비즈니스 로직이 혼재 되어있는 JSP는 정말 끔찍하다.
  • 모처럼 인하우스로 들어온 디자이너가 열어보고 운다.
  • 만든 사람이 나가면 대체로 처음부터 다시 만들어진다.

Model1 방식의 장점은 개발이 빠르다.

 

 

하지만, 리팩토링 연구에 공을 들이고 한 줄을 못 줄 였냐느니, else를 쓰냐 마냐로 싸우는 하는 시대에 빠르기만 한 개발은 답이 아니다.

 

MVC 패턴을 주로 배우는 건 옳은 일이고, 언어를 불문하고 앞으로 나올 프레임워크들은 뷰와 컨트롤러, 모델을 다루는  로직 부분이 확실히 구분될 것이라고 장담 할 수 있다.

 

그러나.. 그와 별개로 뒤늦게 과거 솔루션을 유지보수 해야하는 개발자들이 이 글을 읽는다면..

 

 

화이팅입니다.. 힘내세요..

 
 
 
 
 
 
댓글