오라클과 씨름하다가 질려서 헉헉대다보니 어느덧 아침 7시 50분입니다.
디자인과 프로그래밍이 분리되어 있다 할 때 이걸 어떻게 지정해 넘겨야 다음 사람이 편할까, 어느 쪽을 먼저 작업하게 해야 하나를 고민하다가 보니 시간이 더 걸리는 듯합니다. 지금 작업이야 둘 다 제가 하니까 제 편한대로 가고 있습니다만, 문제는 이게 공동작업이 되었을 때엔 이리 편하게는 못 간다는 겁니다. 분명.
일례로, 현재는 한 화면마다 html을 담는 .jsp 파일과 자바스크립트를 담은 .js와 스타일시트를 담은 .css 파일 이렇게 세 파일을 생성하고 jsp 파일에서 각 파일명을 변수로 지정한 후 헤더파일을 인클루드할 때 표현식으로 붙여넣어 읽어오게끔 하고 있습니다. 최종 출력하는 HTML에서는 가능한 한 헤더 영역 바깥으로 CSS와 자바스크립트가 튀어나가지 않게 하기 위해서 읽어올 때 미리 자리를 잡게끔 하는 겁니다. 소스를 매우 깔끔하게 정리할 수 있어요.
근데 이런 방식을 미리 기획할 때 지정해주지 않으면, 프로그래밍을 거의 모르는 UI코더와 HTML을 전혀 모르는 디자이너와 CSS를 전혀 모르는 프로그래머가 모이는 일이 생각보다 잦은 이 바닥에선 그야말로 끔찍한 결과물이 나오고 맙니다. 아무리 잘 하려고 해도 결과물이…난감하죠. 네. 어떻게 분리해서 진행하자느니 하는 지정이 전혀 없는 상태에서 선수니까 알아서 하라는 식으로 나와서 그냥 했다가 피를 보는 결과를 겪고 나면 내가 지금 뭐하고 있는 건가 소리가 절로 나오죠. (…) 그래서 이번 새 일을 하면서 예행연습을 하고 있는 것 중 하나가 바로 이런 부분들을 어떻게 지정해야 작업물을 취합했을 때 결과물이 좀 깔끔할까입니다.
이를테면 흔히 디자이너가 먼저 시안을 보내오면 UI코더가 HTML로 만들고 프로그래머가 거기에 프로그래밍 작업을 하는 게 일반적인 과정이라 하죠. HTML은 말 그대로 아무런 기능이 없는 HTML입니다. 자바스크립트가 좀 들어가거나 할 수도 있겠지만 프로그래밍 파트에서 해야 할 영역이 더 많아요. 자주 연계를 해야 하니까. 근데 사실 지난 번 일에서 가장 난감했던 게 게시판 류의 프로그램에서 프로그램 코어도 없이 디자인부터 들어가는 과정이 과연 맞는가라는 거였습니다. 어찌 돌아갈지 어떻게 알고 디자인부터 만든 후 입히는 걸까, 게다가 디자이너분이 프로그램은 커녕 HTML의 H도 모르는 상황인데, 시각 효과를 절대적 가치로 여기고 매 페이지마다 리스트의 마진이나 위치나 버튼들이 다 제각각이고 이걸 맞추라고 요구를 한다면?
사실 게시판이란 게 말이 게시판이지 사실 DB입출력의 원형이자 기본 형태이자 관련 기술의 총집합이라 할 수 있습니다. 어떤 DB입출력이라도 사실 게시판의 응용이나 마찬가지에요. 지금 작업 중인 부분도 사실 게시판이나 다를 바 없는 목록-입력-수정-출력 과정을 지니고 있습니다. 그렇다고 한다면, 먼저 기획에서 뭐가 들어갈 것인지를 정확하게 지정하고 DB 컬럼 설계를 감수한 후엔 디자인과 프로그래밍이 같이 들어가야 합니다. 즉, 프로그래밍이 화면으로는 아무 꾸밈새가 없는 날것 그대로의 화면으로 입출력 과정을 만들면(그럼 진짜 헤더고 뭐고 없이 INPUT이랑 TEXTAREA밖에 없겠죠) 디자인이 나온 직후 UI 코더가 그 자리에 영역을 지정하고 CSS를 입히는 겁니다. 이렇게 하면 엉뚱한 반목은 피할 수 있겠죠. 단 관건이 있습니다. 프로그래머는 이 때 생성한 HTML에서 표현과 기능을 가능한 한 분리해야 하고, 디자이너는 반복이 필요한 부분에선 철저하게 사이즈를 통일해야 합니다. 당연한 이야기 같은데, 안 되더라고요 이거. 양쪽이 서로를 다 몰라서 더합니다.
결국 그 중간지점에서 처음에 기준을 잡는 게 기획의 역할이라고 생각합니다. 출력 메세지는 물론 파일명이나 영역명 지정하는 규칙부터 시작해 디렉토리 생성 기준 같은 것에서 들여쓰기 기준 등, 생각보다 공동작업에서 서로 영역을 해치지 않기 위해 지정해야 할 게 많습니다. 하다못해 표현 영역이 가변인가 고정인가라든지 등도 일일이 다 지정해야 하는 게 맞고, 색을 칠한 게 그 안에 데이터를 넣으란 건지 진짜 통으로 칠해놓으라는 건지 등도 지정해 놓아야 합니다. 아우, 하면서도 정말 머리가 아파 죽겠습니다. 스토리보드만으로도 머리가 깨질 것 같은데 말이에요.
말은 이렇데 해도 저도 지금 혼자 하다 보니까 너무 귀찮아서 프로그램 단계에서 CSS를 직접 지정해 모양을 적당히 내 놓고 작업을 한다든지 하고 있네요. 실은 이러면 안 됩니다. 영역침해거든요. 그러니 원래 이번 작업 예정대로라면, DB입출력에서만은 먼저 날것대로만 해 놓고 디자인할 때 시안부터 내놓고 몰아서 옷을 입혀야 했는데 종종 그 순서를 어기고 작업 영역을 이래저래 오가고 있습니다.
게다가 시간이 없다 보니, 뭔가 좀 더 시험해보고 싶은 부분이라든지 설명을 좀 더 붙여가면서 진행하고 싶은 부분들을 죄 놓치고 가는 부분도 있습니다. 안타깝지만 일이란 게 늘 시간도 감안해야 하니까요. 힘드네요.
일단 내일까지 중추를 끝내야 모레에 글 마감을 합니다. 주말엔 혼인식이 있고 월말엔 초대받은 전시회가 있어요. 테스트 기간을 감안하면 이번 주 안에 끝장을 내야 하는데 암초가 잔뜩입니다. 얼른 끝내고 싶어요.
............
그나저나 JSP와 JAVA로 작업하면서는 ASP를 하면서 더러웠던 기분을 솔솔 씻어내는 기분입니다. 물론 어렵긴 징하게 어려워서 그 옛날 터보 씨를 처음 배우던 시절로 돌아간 기분이긴 합니다만.
디자인과 프로그래밍이 분리되어 있다 할 때 이걸 어떻게 지정해 넘겨야 다음 사람이 편할까, 어느 쪽을 먼저 작업하게 해야 하나를 고민하다가 보니 시간이 더 걸리는 듯합니다. 지금 작업이야 둘 다 제가 하니까 제 편한대로 가고 있습니다만, 문제는 이게 공동작업이 되었을 때엔 이리 편하게는 못 간다는 겁니다. 분명.
일례로, 현재는 한 화면마다 html을 담는 .jsp 파일과 자바스크립트를 담은 .js와 스타일시트를 담은 .css 파일 이렇게 세 파일을 생성하고 jsp 파일에서 각 파일명을 변수로 지정한 후 헤더파일을 인클루드할 때 표현식으로 붙여넣어 읽어오게끔 하고 있습니다. 최종 출력하는 HTML에서는 가능한 한 헤더 영역 바깥으로 CSS와 자바스크립트가 튀어나가지 않게 하기 위해서 읽어올 때 미리 자리를 잡게끔 하는 겁니다. 소스를 매우 깔끔하게 정리할 수 있어요.
근데 이런 방식을 미리 기획할 때 지정해주지 않으면, 프로그래밍을 거의 모르는 UI코더와 HTML을 전혀 모르는 디자이너와 CSS를 전혀 모르는 프로그래머가 모이는 일이 생각보다 잦은 이 바닥에선 그야말로 끔찍한 결과물이 나오고 맙니다. 아무리 잘 하려고 해도 결과물이…난감하죠. 네. 어떻게 분리해서 진행하자느니 하는 지정이 전혀 없는 상태에서 선수니까 알아서 하라는 식으로 나와서 그냥 했다가 피를 보는 결과를 겪고 나면 내가 지금 뭐하고 있는 건가 소리가 절로 나오죠. (…) 그래서 이번 새 일을 하면서 예행연습을 하고 있는 것 중 하나가 바로 이런 부분들을 어떻게 지정해야 작업물을 취합했을 때 결과물이 좀 깔끔할까입니다.
이를테면 흔히 디자이너가 먼저 시안을 보내오면 UI코더가 HTML로 만들고 프로그래머가 거기에 프로그래밍 작업을 하는 게 일반적인 과정이라 하죠. HTML은 말 그대로 아무런 기능이 없는 HTML입니다. 자바스크립트가 좀 들어가거나 할 수도 있겠지만 프로그래밍 파트에서 해야 할 영역이 더 많아요. 자주 연계를 해야 하니까. 근데 사실 지난 번 일에서 가장 난감했던 게 게시판 류의 프로그램에서 프로그램 코어도 없이 디자인부터 들어가는 과정이 과연 맞는가라는 거였습니다. 어찌 돌아갈지 어떻게 알고 디자인부터 만든 후 입히는 걸까, 게다가 디자이너분이 프로그램은 커녕 HTML의 H도 모르는 상황인데, 시각 효과를 절대적 가치로 여기고 매 페이지마다 리스트의 마진이나 위치나 버튼들이 다 제각각이고 이걸 맞추라고 요구를 한다면?
사실 게시판이란 게 말이 게시판이지 사실 DB입출력의 원형이자 기본 형태이자 관련 기술의 총집합이라 할 수 있습니다. 어떤 DB입출력이라도 사실 게시판의 응용이나 마찬가지에요. 지금 작업 중인 부분도 사실 게시판이나 다를 바 없는 목록-입력-수정-출력 과정을 지니고 있습니다. 그렇다고 한다면, 먼저 기획에서 뭐가 들어갈 것인지를 정확하게 지정하고 DB 컬럼 설계를 감수한 후엔 디자인과 프로그래밍이 같이 들어가야 합니다. 즉, 프로그래밍이 화면으로는 아무 꾸밈새가 없는 날것 그대로의 화면으로 입출력 과정을 만들면(그럼 진짜 헤더고 뭐고 없이 INPUT이랑 TEXTAREA밖에 없겠죠) 디자인이 나온 직후 UI 코더가 그 자리에 영역을 지정하고 CSS를 입히는 겁니다. 이렇게 하면 엉뚱한 반목은 피할 수 있겠죠. 단 관건이 있습니다. 프로그래머는 이 때 생성한 HTML에서 표현과 기능을 가능한 한 분리해야 하고, 디자이너는 반복이 필요한 부분에선 철저하게 사이즈를 통일해야 합니다. 당연한 이야기 같은데, 안 되더라고요 이거. 양쪽이 서로를 다 몰라서 더합니다.
결국 그 중간지점에서 처음에 기준을 잡는 게 기획의 역할이라고 생각합니다. 출력 메세지는 물론 파일명이나 영역명 지정하는 규칙부터 시작해 디렉토리 생성 기준 같은 것에서 들여쓰기 기준 등, 생각보다 공동작업에서 서로 영역을 해치지 않기 위해 지정해야 할 게 많습니다. 하다못해 표현 영역이 가변인가 고정인가라든지 등도 일일이 다 지정해야 하는 게 맞고, 색을 칠한 게 그 안에 데이터를 넣으란 건지 진짜 통으로 칠해놓으라는 건지 등도 지정해 놓아야 합니다. 아우, 하면서도 정말 머리가 아파 죽겠습니다. 스토리보드만으로도 머리가 깨질 것 같은데 말이에요.
말은 이렇데 해도 저도 지금 혼자 하다 보니까 너무 귀찮아서 프로그램 단계에서 CSS를 직접 지정해 모양을 적당히 내 놓고 작업을 한다든지 하고 있네요. 실은 이러면 안 됩니다. 영역침해거든요. 그러니 원래 이번 작업 예정대로라면, DB입출력에서만은 먼저 날것대로만 해 놓고 디자인할 때 시안부터 내놓고 몰아서 옷을 입혀야 했는데 종종 그 순서를 어기고 작업 영역을 이래저래 오가고 있습니다.
게다가 시간이 없다 보니, 뭔가 좀 더 시험해보고 싶은 부분이라든지 설명을 좀 더 붙여가면서 진행하고 싶은 부분들을 죄 놓치고 가는 부분도 있습니다. 안타깝지만 일이란 게 늘 시간도 감안해야 하니까요. 힘드네요.
일단 내일까지 중추를 끝내야 모레에 글 마감을 합니다. 주말엔 혼인식이 있고 월말엔 초대받은 전시회가 있어요. 테스트 기간을 감안하면 이번 주 안에 끝장을 내야 하는데 암초가 잔뜩입니다. 얼른 끝내고 싶어요.
............
그나저나 JSP와 JAVA로 작업하면서는 ASP를 하면서 더러웠던 기분을 솔솔 씻어내는 기분입니다. 물론 어렵긴 징하게 어려워서 그 옛날 터보 씨를 처음 배우던 시절로 돌아간 기분이긴 합니다만.












덧글