Archive for March, 2009
To be developed with MVC design pattern
by admin on Mar.30, 2009, under 2009 Work
What is MVC?
MVC - Model-View-Controller - is a design pattern for the architecture of web applications. It is a widely adopted pattern, across many languages and implementation frameworks, whose purpose is to achieve a clean separation between three components of most any web application:
* Model: business logic & processing
* View: user interface (UI)
* Controller: navigation & input
What are the benefits of MVC?
MVC benefits fall into multiple categories:
* Separation of concerns in the codebase
* Developer specialization and focus
* Parallel development by separate teams
In looking at these in a little more detail, it will become clear that the second two bullet-points are corollaries of the first.
Separation of concerns
Separation of Model, View, and Controller:
* allows re-use of business-logic across applications
* allows development of multiple UIs without touching business logic codebase
* discourages “cut-&-paste” repetition of code, streamlining upgrade & maintenance tasks
Looking at the other side of the same coin, intermingling M, V, and C code makes for:
* bigger, knarlier, harder-to-maintain classes
* repetition of code in multiple classes (upgrade & maintenance issues)
Developer specialization and focus
* UI developers can focus exclusively on UI, without getting bogged down in business logic rules or code
* Business logic developers can focus on business logic implementation and changes, without having to slog through a sea of UI widgets
Parallel Development by Separate Teams
* Business logic developers can build “stub” classes that allow UI developers to forge ahead before business logic is fully implemented.
* UI can be reworked as much as the customer requires without slowing down the development of code that implements business rules.
* Business rule changes are less likely to require revision of the UI (because rule changes don’t always affect structure of data the user sees) .
Templating
In order to maintain a consistent look-and-feel on a site, pages are often templated.

The web page’s is where core business content of a page can be found. Using a template to render a consistent header, footer, and navigation UI around the core business content standardizes a site’s graphic presence, which tends very strongly toward making users’ experience smoother and less prone to error.
Styling Web Pages with CSS
Cascading Style Sheets are a critical component of rendering a consistent look and feel in a web site (cf. this CSS Tutorial for more on Cascading Style Sheets).
CSS is used to specify colors, backgrounds, fonts and font-size, block-element alignment, borders, margins, list-item markers, etc. By specifying the designer’s choices in a single file (or group of files), and simply referring to the style sheet(s) in each web page, changes in style can be accomplished without altering the pages themselves.
Skinning (or Decorating) a Web Page using Sitemesh
Templating and styling are aspects of an important “Gang of Four” design pattern, called the Decorator Pattern. Using the Decorator Pattern simply means wrapping some core object in something that gives it additional functionality. In the context of building a user interface for the web - the View layer of an MVC-architected application - this might mean wrapping:
* core business information in a
* template (e.g., header + footer + navigation), which includes (in the common HTML header) reference to a
* CSS stylesheet (where background, colors, fonts, etc. are specified)
In order to implement this design pattern in the view layer, page decorating frameworks, such as OpenSymphony’s SiteMesh can simplify the process. SiteMesh intercepts HTML pages produced statically and/or dynamically, and applies a uniform “skin” to them, as specified in configuration files.
Responsibilities of the Controller
The Controller will do the following:
* Parse a user request (i.e., “read” it)
* Validate the user request (i.e., assure it conforms to application’s requirements)
* Determine what the user is trying to do (based on URL, request parameters, and/or form elements)
* Obtain data from the Model (if necessary) to include in response to user
* Select the next View the client should see
The sequencing of calls to the Model (business-logic layer), and/or the sequencing of views and required input from the user defines the application’s workflow. Workflow is thus defined in the Controller layer of the application.
3D Motion Graphic
by admin on Mar.30, 2009, under 2009 Work
마이김치 new site에 3D motion graphic을 생각중이다.
sample로 만들어 봤는데 좀처럼 좋은 아이디어가 떠오르지 않는다…
좀 더 생각을 해 봐야겠다…
mykimchi website
by admin on Mar.20, 2009, under 2009 Work

마이김치 웹사이트를 다시 만드려고 한다.
내 개인 홈페이지로 만들 계휙이다.
마이김치 blog는 사이트가 새로이 만들어지면 link로 연결될 예정이다.
아직 구체적인 계휙은 없고 현재는 디자인 구상중이다.
진행되는 과정을 시간되는대로 blog에 올릴생각이다.
잘 되길 바라면서…
My golf swing… something’s missing… -_-;
by admin on Mar.16, 2009, under 2009 Fun Stuff, 2009 Life, 2009 Video, Golf
다리 수술하고 처음으로 연습장에 나갔다. 역시 생각대로 잘 맞지 않는다.
무릎이 아직도 불안해서 그런지 폼도 뭔가 이상하다.
항상 그렇듯 꾸준한 연습이 필요하것 같다.
무릎상태가 좀 더 좋아지면 연습을 꾼준히 해야겠다…
저칼로리 라면 만드는 방법
by admin on Mar.09, 2009, under 2009 Life
한끼 후딱 해치울때 많이 먹는 라면, 하지만 칼로리가 높아서 안드시는 분들도 계시잖아요.
그런분들을 위해 저칼로리 라면 만드는 방법 소개해드릴게요.

※ 재료 : 라면,물, 양파, 마늘, 소쿠리 한 개
※ 만드는 방법
우선 가스렌지에 물을 올립니다, 단 두 개의 냄비를 준비해 물을 끓이세요.
하나는 면을 삶기 위한 것이고, 하나는 국물을 만들기 위한 것이랍니다.
물의 양은 각 냄비마다 준비한 라면을 끓이는 양이면 됩니다.
그러니까 평소 라면을 끓여 드시는 만큼의 물을 각각의 냄비에 부어 끓이시면됩니다.(저는 500ml넣어요)
물이 끓기 시작하면 한 쪽에는 면만 넣고 한 쪽에는 스프만 넣으세요.
스프는 약불로 마늘과 함께 끓이시면 됩니다. 마늘을 넣으면 라면맛이 깔끔해지기 때문이죠..
그리고 면은 팔팔 끓이면 되는데요, 약간 덜 익을 정도로 합니다.
평소에 덜 익혀 드시는 것을 좋아하시는 분이라면 자신이 먹을 정도에서 약간 덜 익히시는 것이 좋죠.
면이 좀 덜익은 상태에서 소쿠리에 담아 물기를 뺍니다. 찬물로 헹굼 금지!
물기를 대충 뺀 후에 는 그 면을 스프를 끓인 냄비에 넣습니다. 적당히 익게 되면 마지막으로 양파를
썰어 넣고 조금 더 끓이신후 드시면 됩니다.
그리고 참고로 스프물을 끓일 때 에는 평소 라면을 끓이는 물 보다 약간 적게 하시는 것이
좋아요. 면을 따로 끓이기 때문에 면에 흡수되는 양을 빼라는 말이죠.
<펌> 다음 신지식
